diff --git a/device/community/device-nokia-n900/i3wm/i3status.conf b/device/community/device-nokia-n900/i3wm/i3status.conf deleted file mode 100644 index a24d29807..000000000 --- a/device/community/device-nokia-n900/i3wm/i3status.conf +++ /dev/null @@ -1,38 +0,0 @@ -# i3status configuration file. -# see "man i3status" for documentation. - -# It is important that this file is edited as UTF-8. -# The following line should contain a sharp s: -# ß -# If the above line is not correctly displayed, fix your editor first! - -general { - colors = true - interval = 10 - color_good = "#009900" - color_bad = "#990000" - color_degraded = "#999900" - output_format = "i3bar" -} - -order += "disk /" -order += "wireless _first_" -order += "load" -order += "tztime local" - -wireless _first_ { - format_up = "W: (%quality at %essid) %ip" - format_down = "W: down" -} - -tztime local { - format = "%Y-%m-%d %H:%M" -} - -load { - format = "%1min" -} - -disk "/" { - format = "%avail" -} diff --git a/device/testing/device-acer-picasso/APKBUILD b/device/testing/device-acer-picasso/APKBUILD index 9370afb4d..c8158e297 100644 --- a/device/testing/device-acer-picasso/APKBUILD +++ b/device/testing/device-acer-picasso/APKBUILD @@ -25,7 +25,6 @@ package() { nonfree_firmware() { pkgdesc="Acer Iconia Tab A500 WiFi & BT firmware" depends="firmware-acer-picasso" - install="$pkgname-nonfree_firmware.post-install $pkgname-nonfree_firmware.pre-#deinstall" mkdir "$subpkgdir" } diff --git a/device/testing/device-asus-grouper/APKBUILD b/device/testing/device-asus-grouper/APKBUILD index b8efd8fa2..7d76d1162 100644 --- a/device/testing/device-asus-grouper/APKBUILD +++ b/device/testing/device-asus-grouper/APKBUILD @@ -45,7 +45,6 @@ kernel_pm269() { nonfree_firmware() { pkgdesc="Google Nexus 7 (2012) WiFi & BT firmware" depends="firmware-asus-grouper firmware-aosp-broadcom-wlan-mainline" - install="$pkgname-nonfree_firmware.post-install $pkgname-nonfree_firmware.pre-deinstall" mkdir "$subpkgdir" } diff --git a/device/testing/device-asus-grouper/device-asus-grouper-nonfree_firmware.post-install b/device/testing/device-asus-grouper/device-asus-grouper-nonfree_firmware.post-install deleted file mode 100644 index c4bfe8eaf..000000000 --- a/device/testing/device-asus-grouper/device-asus-grouper-nonfree_firmware.post-install +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -rc-update add bluetooth default diff --git a/device/testing/device-asus-grouper/device-asus-grouper-nonfree_firmware.pre-deinstall b/device/testing/device-asus-grouper/device-asus-grouper-nonfree_firmware.pre-deinstall deleted file mode 100644 index e5a9c6f56..000000000 --- a/device/testing/device-asus-grouper/device-asus-grouper-nonfree_firmware.pre-deinstall +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -rc-update del bluetooth default diff --git a/device/testing/device-asus-grouper/nvram.txt b/device/testing/device-asus-grouper/nvram.txt deleted file mode 100644 index 95557d462..000000000 --- a/device/testing/device-asus-grouper/nvram.txt +++ /dev/null @@ -1,47 +0,0 @@ -# Azurewave Release 2011/12/29 -# NH665 bgn+BT+FM -manfid=0x2d0 -prodid=0x0552 -vendid=0x14e4 -devid=0x4360 -boardtype=0x0552 -boardrev=0x11 -# this design has 2.4GHz SP3T switch -boardflags=0x00081200 -nocrc=1 -xtalfreq=37400 -boardnum=22 -#macaddr=00:11:22:33:44:55 -#nvram_override=1 -cckdigfilttype=20 #20~26 -ag0=255 -aa2g=3 -ccode=XY -regrev=4 -#pa0b0=0x13e1 -#pa0b1=0xfdab -#pa0b2=0xff66 -rssismf2g=0xa -rssismc2g=0x3 -rssisav2g=0x7 -maxp2ga0=0x46 -sromrev=3 -#il0macaddr=00:11:22:33:44:55 -wl0id=0x431b -cckPwrOffset=5 -#ofdmdigfilttype2g=4 -ofdm2gpo=0x44444444 -mcs2gpo0=0x6666 -mcs2gpo1=0x6666 -swctrlmap_2g=0x44844484,0x4a8a4282,0x42824282,0x818a82,0x1ff -rfreg033=0x19 -rfreg033_cck=0x1f -dacrate2g=160 -txalpfbyp2g=1 -bphyscale=17 -cckPwrIdxCorr=-15 -pacalidx2g=45 -txgaintbl=1 -muxenab=0x10 -#triso2g=9 - diff --git a/device/testing/device-asus-grouper/pointercal b/device/testing/device-asus-grouper/pointercal deleted file mode 100644 index 58d3a7fee..000000000 --- a/device/testing/device-asus-grouper/pointercal +++ /dev/null @@ -1 +0,0 @@ -40574 133 -243068 -264 39483 459840 65536 800 1280 diff --git a/device/testing/device-asus-tilapia/APKBUILD b/device/testing/device-asus-tilapia/APKBUILD index bde8af5e9..24805e306 100644 --- a/device/testing/device-asus-tilapia/APKBUILD +++ b/device/testing/device-asus-tilapia/APKBUILD @@ -31,7 +31,6 @@ phosh() { nonfree_firmware() { pkgdesc="Google Nexus 7 (2012) WiFi & BT firmware" depends="firmware-asus-grouper firmware-aosp-broadcom-wlan-mainline" - install="$pkgname-nonfree_firmware.post-install $pkgname-nonfree_firmware.pre-deinstall" mkdir "$subpkgdir" } diff --git a/device/testing/device-asus-tilapia/device-asus-grouper-nonfree_firmware.post-install b/device/testing/device-asus-tilapia/device-asus-grouper-nonfree_firmware.post-install deleted file mode 100644 index c4bfe8eaf..000000000 --- a/device/testing/device-asus-tilapia/device-asus-grouper-nonfree_firmware.post-install +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -rc-update add bluetooth default diff --git a/device/testing/device-asus-tilapia/device-asus-grouper-nonfree_firmware.pre-deinstall b/device/testing/device-asus-tilapia/device-asus-grouper-nonfree_firmware.pre-deinstall deleted file mode 100644 index e5a9c6f56..000000000 --- a/device/testing/device-asus-tilapia/device-asus-grouper-nonfree_firmware.pre-deinstall +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -rc-update del bluetooth default diff --git a/device/testing/device-pine64-a64lts/device-pine64-a64lts.post-install b/device/testing/device-pine64-a64lts/device-pine64-a64lts.post-install deleted file mode 100644 index 5d4aeb4f0..000000000 --- a/device/testing/device-pine64-a64lts/device-pine64-a64lts.post-install +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Run getty on serial port -sed -i -e "s/#ttyS0::respawn:\/sbin\/getty -L ttyS0 115200 vt100/ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100" /etc/inittab - diff --git a/device/testing/device-samsung-codina/device-samsung-codina.post-install b/device/testing/device-samsung-codina/device-samsung-codina.post-install deleted file mode 100644 index eae2394a6..000000000 --- a/device/testing/device-samsung-codina/device-samsung-codina.post-install +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -# Enable swclock OpenRC service -rc-update -q add swclock boot - -exit 0 diff --git a/device/testing/device-samsung-klte/device-samsung-klte-hybris.post-install b/device/testing/device-samsung-klte/device-samsung-klte-hybris.post-install deleted file mode 100644 index 33e55334c..000000000 --- a/device/testing/device-samsung-klte/device-samsung-klte-hybris.post-install +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -# Append Android mounts to Linux fstab -cat /etc/fstab.android >> /etc/fstab - -# Create android mount points -mkdir -p /data -mkdir -p /system -mkdir -p /cache -mkdir -p /efs -mkdir -p /firmware -mkdir -p /firmware-modem -mkdir -p /external_sd -mkdir -p /misc - -# /vendor symlink (points to nowhere until /system is mounted) -ln -s /system/vendor /vendor - -# disable msm-fb-refresher service on libhybris adaptation -rc-update del msm-fb-refresher boot - -# symlink system.img from userdata partition to a place -# where lxc-android expects to see it. -ln -s /data/system.img /var/lib/lxc/android/system.img diff --git a/device/testing/device-surftab-wintron7.0/grub_early.cfg b/device/testing/device-surftab-wintron7.0/grub_early.cfg deleted file mode 100644 index 995cea771..000000000 --- a/device/testing/device-surftab-wintron7.0/grub_early.cfg +++ /dev/null @@ -1,2 +0,0 @@ -search --no-floppy --set=root --label "pmOS_boot" -set prefix=($root)/grub diff --git a/device/testing/device-xiaomi-beryllium/weston.ini b/device/testing/device-xiaomi-beryllium/weston.ini deleted file mode 100644 index 72039ae30..000000000 --- a/device/testing/device-xiaomi-beryllium/weston.ini +++ /dev/null @@ -1,5 +0,0 @@ -[core] -xwayland=true -backend=drm-backend.so -[shell] -background-image=/usr/share/wallpapers/postmarketos.jpg diff --git a/device/testing/device-xiaomi-santoni/device-xiaomi-santoni-hybris.post-install b/device/testing/device-xiaomi-santoni/device-xiaomi-santoni-hybris.post-install deleted file mode 100644 index 08d7a5465..000000000 --- a/device/testing/device-xiaomi-santoni/device-xiaomi-santoni-hybris.post-install +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# We'll need to remove both services because someone might -# not know that the firmware doesn't need to be installed for Hybris -# to work. (these also contribute to the long boot times) -rc-update del adsp-audio default -rc-update del wcnss-wlan default - -# On this device, seems that refreshing the framebuffer creates artifacts -# in test_hwcomposer, so this had to be disabled. -rc-update del msm-fb-refresher boot - -# Append Android mounts to Linux fstab -cat /etc/fstab.android >> /etc/fstab - -# Create Android mount points -mkdir -p /data -mkdir -p /system -mkdir -p /cache -mkdir -p /persist -mkdir -p /dsp -mkdir -p /firmware - -# /vendor symlink (points to nowhere until /system is mounted) -ln -s /system/vendor /vendor diff --git a/device/testing/device-yu-tomato/initfs-hook.sh b/device/testing/device-yu-tomato/initfs-hook.sh deleted file mode 100644 index da4e7e6e3..000000000 --- a/device/testing/device-yu-tomato/initfs-hook.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo 0 > /sys/class/graphics/fb0/blank -echo 255 > /sys/class/leds/lcd-backlight/brightness diff --git a/device/testing/firmware-oppo-find-7a/oppo_checksums.txt b/device/testing/firmware-oppo-find-7a/oppo_checksums.txt deleted file mode 100644 index 5e0fb65ab..000000000 --- a/device/testing/firmware-oppo-find-7a/oppo_checksums.txt +++ /dev/null @@ -1,81 +0,0 @@ -dfed32a123df77d1dfbb7425742527af6490e9e986044ddc048a6fd3bef244d96e16e37d816ab784186cbe1b1ceb909c6230989b608a52bf8f434fc9d3c56d8c firmware-oppo-find-7a-adsp.b00 -7f0864a30efac5fdfe0802f0fa527f3878d13a8ed9502a2c37ba37554fdaa978acb9cdf82c394c8822ae70e9de5ff7e6a9a4813a30bba76d6de8c634a08a1dea firmware-oppo-find-7a-adsp.b01 -b8244d028981d693af7b456af8efa4cad63d282e19ff14942c246e50d9351d22704a802a71c3580b6370de4ceb293c324a8423342557d4e5c38438f0e36910ee firmware-oppo-find-7a-adsp.b02 -d41350fefe7a4a4eacf83fc8e61141c60d7f3d4a05103a5bb8bad709b4f6cbce4cbe339fead121fb8f6842fb01ed1b836f0fee0a9a7d8a64e44972cc6bc8a7c5 firmware-oppo-find-7a-adsp.b03 -8e5fe021730b22b1d72a4908ac8296209fda3ec04c46ce74c1c258c64992ef21dabeb41c65d29e803daba9ef3c8408d0f471ddf8e758614ab3c321fca120378b firmware-oppo-find-7a-adsp.b04 -7e18619bf5ae7529775eb6e81ca71286dea6051d276d23ba281c670f22de55398f27577bf24f5ed9d1f9d6cc0240008502274a85081b3d57011acf114ee6dbf2 firmware-oppo-find-7a-adsp.b05 -94eae81d79ba30f6a42231978e765a6e72eee4614894684616ed9a7de3914c5e5233cbed23191ae0d1491631bbfcfeae8affed1ea3cd9de91e378ba5df774d36 firmware-oppo-find-7a-adsp.b06 -6e705dbab01373ea562d446b7e99aa013df431db10cc29e506fae7a4c51e644fbf86e396d9dd43129d6a631b244518490af0b5140dac39a5d7603aff33e5025c firmware-oppo-find-7a-adsp.b07 -2965154868afe2d632e3e5ec9374797bdf6c973f8544b3b582aa033c721439b705ec6a8d9af857a4753fe99e2b123ad473e5d107f871497f1b101bd2748a40e4 firmware-oppo-find-7a-adsp.b08 -6c116df2ada05c169dd552b1a0c201b977cd94243b6e444b263f1e4d683f25569076665d37998aea807928ce69604cabbe896e5e15818ffc9b9e78ecda56212f firmware-oppo-find-7a-adsp.b09 -b3c99d4b883b828c65418684856f4fa1dd272c1beb06117d112d6967bf1a5bcc410dda7100bd6600bbd2c85e7bdc4bdbb4e2cee66174d7dd4eea7fc831318178 firmware-oppo-find-7a-adsp.b10 -c11ac508e39cbae0af1c41df559fd71c684a00543bacd655c0a6a31198d635f251ed5918f5b8743265dfe4264bfd7313c071d99f3b9bc0644de13dc6e4beeb49 firmware-oppo-find-7a-adsp.b11 -ab193c99d1e488da5c1998b06af17971d32961b621e706a218b2be1047c90c7538ae9385be2065f5bd7380c0a35167360009f42a3db0dd71a8c8d27cf5f45765 firmware-oppo-find-7a-adsp.b12 -879e3f11bfae9dd8808e71e19695e6d318bcbe3358953fbb3e16973493108d7c0b3d6c1fb1bb38f8c9980bf258039ad626de8bfe81b6ffea10ddcdda3f846a06 firmware-oppo-find-7a-adsp.mdt -57d2f63ef66fc74e67eba8f9e1264acda3105e658ec0545a30dd34006aedb8c8c9628ba677f8bd854fc799e99b5e00a00873054ea8d3d678addd60d9fef617ef firmware-oppo-find-7a-cmnlib.b00 -9984874e8a0771e9b37d28c7eaf839ef06d687a384352a6ddcbfd88ac09619e5368b9edf974e45e987b492b7c07340fbe8ea3988d34b16579b460bda87347e5b firmware-oppo-find-7a-cmnlib.b01 -3f0bb895ca5e46985a2d854f9c29345b35b13be16be6c2cec8b7096480ee45bd7ca8c80a26bb0b4852d33d093f7ad36f9c81a0794950a4a9c111890e30920453 firmware-oppo-find-7a-cmnlib.b02 -442b5953b600ab3fb3b2a058190067d27728c696deac7f2e70ee2eb3871ff79221a1d6b1e92fc346a4204830f55a4df3a91e4045a556444a5e7c525b98624584 firmware-oppo-find-7a-cmnlib.b03 -ed693d47006fb431c38aee6f2b0fdc4b84edc7988fc5e1fafc0c44c61098d05f0326669dfe19ce0fdb4b16065ebddbaa6eec1d1bac3d224ade2e862de5b76d2d firmware-oppo-find-7a-cmnlib.mdt -932bcaf103230e86dff74fb965fd81031b8ec66c784453169604df547fe094965f1a3cef8a99f12a8f549b1391c20763f3cd6dc49d046ad17580cb432868609f firmware-oppo-find-7a-isdbtmm.b00 -7bba32e32b0a4a99ad0b9b8e1d6a09f68256148cf9e630e5c315baafc69849ce4624804dabdf27d9d325d2e0b318b34b6b38c896d046f67187d7cae011e8197e firmware-oppo-find-7a-isdbtmm.b01 -5c5e3c7dba062a423be6fdabf5d564b362ae3229f5c352876ea3da909727066f9e38546cd63bf2a5dbe92ebe80bb8777f8373859b727e56c43e247af2d3c2344 firmware-oppo-find-7a-isdbtmm.b02 -949e63a1281723ce15fe03a548e9629c93e3eea817d51ad09a5842a7ddf92004d9143009cc03836d7245587faafc4195bf33107d1f6207898e6885aefe957011 firmware-oppo-find-7a-isdbtmm.b03 -74351b4cc250ffde66979e5e670a26eb5b1f57249706f5466176854f51101020b38925b0dabe81a147498788b8c89f7635648d127f38940c9a5a3827805a5ada firmware-oppo-find-7a-isdbtmm.mdt -506aa7c3b55ac764c645a85c15517bc9198f4e2c96addd557c97b56984d3fb8bbbe886fe8c9df004a3b2d3eeb0ca05a4c8c63022260f3c1c5677d421635a79d8 firmware-oppo-find-7a-keymaste.b00 -8a746bf963d8799e84dce57f0209d395dc5ad8dfe8f4fde4515be8b87fd739549fca938647be2631cf34b90e73c2fb4b56bad23b5d9d2a0d19c8fb540e192d33 firmware-oppo-find-7a-keymaste.b01 -dda792ecda601008cef91fd82743036ba4927b54b029a8bfede7f872edf76aa7a015871f67a0b5ab2f992ff4e4a5bbb1dc2d01eb86b6d85286cc948704564586 firmware-oppo-find-7a-keymaste.b02 -afa224891767e950fe4e55bdd333d9c5cb52d1f09d7f42cd9e08bf473f0a2c3fcfd7ea7c39405357beccbdf537abf859e5b9cf51c26c4fe99706cb40b85a77e7 firmware-oppo-find-7a-keymaste.b03 -888006f778f4d1de93d8b44b29f4f0bce370fccd4892d4aaa803b6d4d7dd81f432a50786f84bf156c2c31e5bf75e2cdbd81037de0637d614d0fbdac2ecee00de firmware-oppo-find-7a-keymaste.mdt -5ce6fe66f1f5a751cbf7b26686a4664c3a9769fb1655164e86118948aacaca9212b1427df2c36145d0b99eef5d580eaac9a59490d53b8d612889d82b9c5cfd1b firmware-oppo-find-7a-mba.b00 -c5d58079ed5d6a5b9998223995f6d3ab65f5a256264a9a386a986121071fe1adb55edf02afd1d440f406cca92c67a041448251aed9072de0c15e49df9576bc83 firmware-oppo-find-7a-mba.mdt -abd19cb249be05b6a1e53476599dade22040f1129afd30dc2b900074a45b164d2737d1616762ec566c281bef08b0070caab3978543f8e5878568966a295e7799 firmware-oppo-find-7a-mc_v2.b00 -5152bc6a6bd2a6158b56bd76da8a21c6a83be35fa905b3b53e7ae8d503efd2dcc75cecfe1d27e9a96a12ce3f92531615197c801cd1a98ed58ef062da259e2e17 firmware-oppo-find-7a-mc_v2.b01 -aa9aae1f8aa53a63a0e57708681c34cafa9211a7b5c0116bfbc622c13dc961f93ffdfea959895072c81b6553ed8101a35a945db2eddd002952aef82da6315b45 firmware-oppo-find-7a-mc_v2.b02 -3a596ebc5f7bbb8336a0e29273e059487bf14687e23cec293fca23e6d37dc83406de60d101f47f920d37bdcdc40148b8df76880ee1ed04e817c38f83ae22982b firmware-oppo-find-7a-mc_v2.b03 -78b5e38ddc41925de588cc53eadc503a6e5a160049f2977757f0a4ff6b5d622ab3f92cd0ecfac4423706e90a5ac0e067a3ed93d4a8f9541b2788ce773d84963d firmware-oppo-find-7a-mc_v2.mdt -cb7fe31dc954b60f23e505f29bdadcb7355fc602d8b44de5b2a4a1083927bb049a60ad06cfdfa94b88fb8ad8bb0246559ecdad62ef3385993d8a546c1165484a firmware-oppo-find-7a-modem.b00 -e6f178bb8fd3cc244ae0cc2b8001b6abad7e9ece718ddb48c5764c2fcdfd76aba460a787a9bb03868d707c468e3b2c75fdda644a1f64301b6278fa2c2b90e22e firmware-oppo-find-7a-modem.b01 -afbbace4374bc4476c412d88a96f884b7c0c75609698451bbf4bb4047595c25ddcd0e3c9aa62d455e8e3e5f48bd93c0eecd81bcd69d890e97bae714b6625ef1d firmware-oppo-find-7a-modem.b02 -68bcb7466add90d10fefe63861955422c6cdefda73581115599eb44e1bfac5c9653f4ebb564678e9ccd007b321fc772b2d4f43d182db092a7087ec31fe8faf29 firmware-oppo-find-7a-modem.b03 -c1fad834a1eed8c0bab4594719926f11054f222d4f251b6e674ae250330e4bf58d07141d88c8dad3a0974544cefcc7b779ed1b6349938d9951a1c0db8c86e1cb firmware-oppo-find-7a-modem.b06 -dd6483860845a1935a3ecea4ad7ca207aa38e90916fa68a90bf243205d758bcc6b86cf172d0cbb9ca65fc7da705b80b85f4479e52a9e72fcb1a1c9d566ad93a5 firmware-oppo-find-7a-modem.b08 -336d7e08392cc745c4031a67ae5b007eecf9bdef7cf1384d2640f768ccca69c87f00eb081267dce59026424a7af1c386bf99aaf7785c1477d5e7823f0f7f0d2c firmware-oppo-find-7a-modem.b09 -0dead2ad0ee21f39123d55e94fb80316b5a07efddf12a4dea448e5aee7768b2ecd563c6a0f6ffe0d94f5ca87b9789299af32e45059472b6ca6f51aa8d4db6a4f firmware-oppo-find-7a-modem.b11 -d578fc1f8a6cf3f4e68a614adf3c7e93cb99692e1aad6e94c5369826408c99a7d1a218d790aa0c3be66698316dadf335c8c1c2773074fca46a8af1ae2ae78681 firmware-oppo-find-7a-modem.b12 -add47ad6daad38515b495acbed14b41b4a0af3e33aeb1ccea41b3259440d9929ed521f2aae3ea75e07076c6396176bf7cec7749781036aaa8334f8b542cbb522 firmware-oppo-find-7a-modem.b13 -42b1cf89419be4d9f93656bc68bd8e5d076dbe0491107d87d5078539e42a0cbd20bbc8819261a38b17026e90d345c7eb2f3962b83b581715493fcedf7b56c685 firmware-oppo-find-7a-modem.b14 -8c21429fb4e5bf3e78dcfa2469ce74a6bc1c31a2d522f0014ff3847df886ceb1418ec35546121c5414ac6e3ac6fc26e2edeb41265fb480dd964be0f483656899 firmware-oppo-find-7a-modem.b15 -075f2cb4c86aa95338e9a8316867a8ae9bed3ed611ed175c540cdd609fa6e255d9c8a1de79590b6ec04a7a1716bf7cd3afcfdf5de5d3f6eec924040bb065e650 firmware-oppo-find-7a-modem.b16 -1de2d05ba49970fdbbbd426bd80c0ca90e5e7e6fbec7ae139146fbb309abf56cd30dfd15718bc7d6733f9f99aaead531eb414da81e1a2d93c45bd65666bee994 firmware-oppo-find-7a-modem.b17 -d13a8370f0f9af88bef1dfeb09916621c2d67cf194172b72fe4e86e280e99e11951e56fbbf148ccff4703f4cb7a80126779bd2f94101d11c41300685daa0383c firmware-oppo-find-7a-modem.b18 -4283a6faa7b350bc8e662d7ba96f540b3bcd7372a1507ee9b0e80fd1c3d42d2f84a9882899f1eb325fbf2243102580e67bedfec1c4a7b94fcdcd0e781ffca0a2 firmware-oppo-find-7a-modem.b19 -56e0a8fa0574130024dfcb29c0a55d96038b16517906c77e874c42bf414696eaeecb91a9da224a7b14b10b16333636f3258129c993b094db9b095a6028d16eca firmware-oppo-find-7a-modem.b22 -faac711b4bc5e0d720f8f350ce69b129f936b568954807e79a4017b63d92f1ea6d639de44da57052f32167dc1816a751602eedd2f2d44932e6913d9208837d40 firmware-oppo-find-7a-modem.b23 -f4ec7627bfaf2d787be7b9d844bbfd076f6b7f43fb6dd98bd9cf74a68fd0923032a84c5eff8e35760a54654158abfd8bac94e791cb69d8f17397273a78deb037 firmware-oppo-find-7a-modem.b24 -e00e7ad600381923330f5d66b5232efb89a3aa3954a02c677075a917df7e20d254751d3756b38b946ee041ad3c863923def14666ccc10ffc81eecd5b68acb154 firmware-oppo-find-7a-modem.b25 -cf3e253a97db23cf213d8f8dd1751555788be93c644f878c21fdce5e9e50d2ac7f8a17f6fedab07fab43658772ba8b10175e53046b096efc972e5f4867ee2913 firmware-oppo-find-7a-modem.mdt -7056d073d0b87fe2441acc59d4fca699598a40289ecf6eec70867f25a145660cdcf9267952f823ed3e63403610d6217cc7cc40f84942ff011b02cee04dcf2bc7 firmware-oppo-find-7a-playread.b00 -479976c4c951697cc1df2d99964681338bb71e05459a6fdfc7f6fdcc403fff146417f374fb480f1648c9a40223806debbc5b794056bfbbbfdc45c470ba8a884e firmware-oppo-find-7a-playread.b01 -dcc4f30b4ff3ed240cd0b42512bce9b080a72d214a84c904bd7d3aee7a380d60e4c90270de7b70519b36323a6fe93b59f1d37e50587284f705c0dc94562d3cf7 firmware-oppo-find-7a-playread.b02 -f5d28c7f659234281bbc6b4e68e89142f4b1ee37bd07dd5cdd6838dd069341619216a0936eb12ba66011a27d0e60538e8dc237694b25600f3963be13badde5f7 firmware-oppo-find-7a-playread.b03 -4dea6b107da799d71ace459e152146a6d6df22c25fd922a8548c9e58865576edd2eeeb7476cf18a6697c3e59f4a181e4356e6a828db6e165da8eb2edb80b46e8 firmware-oppo-find-7a-playread.mdt -70c02b39bd6294df6023535df49cc2552b84bac4d500803b93caef680918aac7f0ddfa4971c2fd98bcf48280a6918fb84c528f590561b0cbcbd42b3919e87646 firmware-oppo-find-7a-tqs.b00 -78c89916fe01dba8d217f9bb3adbd91f6ab7d0304be6bcde4e12a6f5e33377c2e914ba8668270d493e5b82a6d7cfc8da09547f0e27d2ae002d66590126dc43e1 firmware-oppo-find-7a-tqs.b01 -18c5cb35a0e41d646e64e2e36a83ad613a04ef253dbfee26f8e4ba74eb6acf70574d1affcdac5ea87aaa8bf7ac59056c79fa72121caa32f44e39e8f90042194c firmware-oppo-find-7a-tqs.b02 -38eebaa82328c7fd1f8235bdbfba8dfc5d65f682f6193ec37a62fb978da3fd722c95b701d168e9a0cd509b9ed7ea91fbd85164fa6e68e1ed61b4e085f534a236 firmware-oppo-find-7a-tqs.b03 -0dd32b84ac93646805e1ade3c81e53cd55b513542e5180b1e85ea08f9bd479967d505ba5d74d92d55b2feb6cfc81852ab768d56c55a7a4607b8031c64cbfbfbd firmware-oppo-find-7a-tqs.mdt -049071f1055de5f176ce14bfc034c291d1306b901a638a8df9d9827b4926c642c3ffeb3637c291bcbc2aa4b0b5d1c7536a0fa86e6762bde1ba185f3236154874 firmware-oppo-find-7a-wcnss.b00 -56446a9e57bef0a9d46fc439513bd6e07bb2b472814a887906e32a8d01a8f590ce8c0eb609c0c34e1016abaabab36bdd7946259f1ccfc13c37510bd0f64e4cd7 firmware-oppo-find-7a-wcnss.b01 -96dea88235bbecb9761643032bd83dd83ec9797e1732d8da06e43b53ac2599060d827635533cdf9ec64683fc9d8b2a4723f06a49625f22061cf95a9cfb669629 firmware-oppo-find-7a-wcnss.b02 -087fa7d699fa259caa58f5e8581a019c34198c587184a5847ab17170f7adb6762570e3746fe629e5d383e841c5f18a3d1ee7bfb73608351a85ba50dd550aa01f firmware-oppo-find-7a-wcnss.b04 -447e32edffcfcfc57e8b38f4d9dad6393eef3022afe24a04d515d074220e796360ec4f6566463e591ad8aa0bd274fc342e2da5abe0ddecc90c95a5ef2d35ac57 firmware-oppo-find-7a-wcnss.b06 -2146aa8ab60c48acff43ae8c33c5da4c2586f20a39f8f1308aefb6f833b758ad7158bd5e9a386e45feba446f33855d393857b557fe8ba6fe52364e7a7af3be9b firmware-oppo-find-7a-wcnss.b07 -6033893c75b32cc906bcabdff02fdbbbb75f0b4d568962b38ea023c00b2273f90bce4482358d4ecc64c22bceaa628d55d17877c8301a1406f67c55c86fc08723 firmware-oppo-find-7a-wcnss.b08 -f5e02d4f04a84086b429599c436966c568ff50aac6c33195c99fbc0aa85faf52442a2d739b479deff9e1225b9e115bf3308aebe157b14fbe40673fbacfa0cbae firmware-oppo-find-7a-wcnss.b09 -a62278baffa58e84b5aca9a6349834be9d2025dae3bb989ae4804a7d3b9331fb905fc3a31f77dc1d4deefbbcde2ee00b553d46f5854683753bb1fcb81b392c63 firmware-oppo-find-7a-wcnss.mdt -79bf13e961ff246bbc59afc499fc14412990fa0427ae0f5dd8d5c2fb86022eeaf26efaa79235ca3f7ee8eeffad4675b6559ffb144f007091c4ddc1f5ce645194 firmware-oppo-find-7a-widevine.b00 -3a6bbe7ce19bd9e50a636ae883476c148e97a999f42af39f9eb79a05f4d1e04acbf34673f8d4f61ae54b97ed661f05ce9a6abce1c737522dacccafaa0023adea firmware-oppo-find-7a-widevine.b01 -987aee79e677170cf3b1023506ca22d50629f1a5961d6f3b97215f6bbb58cbaa56029765bec1ff8a7392fb4575ee73e2a39b3963edba1b70cd71b729b0570cf4 firmware-oppo-find-7a-widevine.b02 -28b4c8e1953bbf0d89cab31b4b5836b91507cfdaf08daaa6fb4a788580ecad32aa63e41bc58ad182ed8151cd1c98ec3f45bbc8cb515ee2f7eb3fc51f08a5d54f firmware-oppo-find-7a-widevine.b03 -9e3315e53d3d38fcc35c78793bc217681791a0d415acf0affcee4a3379bf7d61c2969b3bd32673878de722e3c6d919d22660cccfc638b1926b5657821c5b0ee6 firmware-oppo-find-7a-widevine.mdt \ No newline at end of file diff --git a/device/testing/linux-fujitsu-m532/kernel-use-the-gnu89-standard-explicitly.patch b/device/testing/linux-fujitsu-m532/kernel-use-the-gnu89-standard-explicitly.patch deleted file mode 120000 index a5f4de276..000000000 --- a/device/testing/linux-fujitsu-m532/kernel-use-the-gnu89-standard-explicitly.patch +++ /dev/null @@ -1 +0,0 @@ -../../.shared-patches/linux/kernel-use-the-gnu89-standard-explicitly.patch \ No newline at end of file diff --git a/device/testing/linux-htc-k2ul/fix_kgsl.patch b/device/testing/linux-htc-k2ul/fix_kgsl.patch deleted file mode 100644 index 33ed0e9fe..000000000 --- a/device/testing/linux-htc-k2ul/fix_kgsl.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Naur a/drivers/gpu/msm/kgsl_iommu.c b/drivers/gpu/msm/kgsl_iommu.c ---- a/drivers/gpu/msm/kgsl_iommu.c 2013-11-29 03:09:34.000000000 +0100 -+++ b/drivers/gpu/msm/kgsl_iommu.c 2019-05-26 00:59:09.026481139 +0200 -@@ -520,7 +520,7 @@ - return status; - } - --inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, -+static inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, - unsigned int *cmds) - { - struct kgsl_device *device = mmu->device; -@@ -571,7 +571,7 @@ - return cmds - start; - } - --inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu, -+static inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu, - unsigned int *cmds) - { - struct kgsl_device *device = mmu->device; diff --git a/device/testing/linux-htc-ville/fix_return_address.patch b/device/testing/linux-htc-ville/fix_return_address.patch deleted file mode 100644 index 6dd2685d0..000000000 --- a/device/testing/linux-htc-ville/fix_return_address.patch +++ /dev/null @@ -1,70 +0,0 @@ -this fixes: - - CC arch/arm/mach-tegra/common.o -/home/user/build/src/android_kernel_boxer8_ouya-aec3c7f7900554ede9cb34559416e3ee74d0bf36/arch/arm/kernel/return_address.c:62:2: warning: #warning "TODO: return_address sh -ould use unwind tables" [-Wcpp] - #warning "TODO: return_address should use unwind tables" - ^~~~~~~ -/home/user/build/src/android_kernel_boxer8_ouya-aec3c7f7900554ede9cb34559416e3ee74d0bf36/arch/arm/kernel/return_address.c:65:7: error: redefinition of 'return_address' - void *return_address(unsigned int level) - ^~~~~~~~~~~~~~ -In file included from /home/user/build/src/android_kernel_boxer8_ouya-aec3c7f7900554ede9cb34559416e3ee74d0bf36/include/linux/ftrace.h:20:0, - from /home/user/build/src/android_kernel_boxer8_ouya-aec3c7f7900554ede9cb34559416e3ee74d0bf36/arch/arm/kernel/return_address.c:12: -/home/user/build/src/android_kernel_boxer8_ouya-aec3c7f7900554ede9cb34559416e3ee74d0bf36/arch/arm/include/asm/ftrace.h:48:21: note: previous definition of 'return_address' was here - extern inline void *return_address(unsigned int level) - ^~~~~~~~~~~~~~ -make[3]: *** [/home/user/build/src/android_kernel_boxer8_ouya-aec3c7f7900554ede9cb34559416e3ee74d0bf36/scripts/Makefile.build:305: arch/arm/kernel/return_address.o] Error 1 - - -original commit message: ---- -From aeea3592a13bf12861943e44fc48f1f270941f8d Mon Sep 17 00:00:00 2001 -From: Behan Webster -Date: Wed, 24 Sep 2014 01:06:46 +0100 -Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h - -With compilers which follow the C99 standard (like modern versions of gcc and -clang), "extern inline" does the wrong thing (emits code for an externally -linkable version of the inline function). In this case using static inline -and removing the NULL version of return_address in return_address.c does -the right thing. - -Signed-off-by: Behan Webster -Reviewed-by: Mark Charlebois -Acked-by: Steven Rostedt -Signed-off-by: Russell King ---- - arch/arm/include/asm/ftrace.h | 2 +- - arch/arm/kernel/return_address.c | 5 ----- - 2 files changed, 1 insertion(+), 6 deletions(-) - -diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h -index 39eb16b0066f2..bfe2a2f5a644e 100644 ---- a/arch/arm/include/asm/ftrace.h -+++ b/arch/arm/include/asm/ftrace.h -@@ -45,7 +45,7 @@ void *return_address(unsigned int); - - #else - --extern inline void *return_address(unsigned int level) -+static inline void *return_address(unsigned int level) - { - return NULL; - } -diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c -index fafedd86885dd..f6aa84d5b93c9 100644 ---- a/arch/arm/kernel/return_address.c -+++ b/arch/arm/kernel/return_address.c -@@ -63,11 +63,6 @@ void *return_address(unsigned int level) - #warning "TODO: return_address should use unwind tables" - #endif - --void *return_address(unsigned int level) --{ -- return NULL; --} -- - #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */ - - EXPORT_SYMBOL_GPL(return_address); - diff --git a/device/testing/linux-huawei-cameron/02_fix_undeclared_AID_INET.patch b/device/testing/linux-huawei-cameron/02_fix_undeclared_AID_INET.patch deleted file mode 100644 index e79ded64f..000000000 --- a/device/testing/linux-huawei-cameron/02_fix_undeclared_AID_INET.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/net/core/sock.c b/net/core/sock.c -index 98568723..bad3dac7 100644 ---- a/net/core/sock.c -+++ b/net/core/sock.c -@@ -141,9 +141,9 @@ - #include - #endif - --#ifdef CONFIG_ANDROID_PARANOID_NETWORK -+//#ifdef CONFIG_ANDROID_PARANOID_NETWORK - #include --#endif -+//#endif - - #include - diff --git a/device/testing/linux-motorola-ali/01_prima_gcc6.patch b/device/testing/linux-motorola-ali/01_prima_gcc6.patch deleted file mode 100644 index 80cd60bf4..000000000 --- a/device/testing/linux-motorola-ali/01_prima_gcc6.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c b/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c -@@ -582,8 +582,7 @@ - (char *)&nvDefaults.tables.hwCalValues.calData),"psSlpTimeOvrHdxLNA5G"}, - {"ed",_ID_U8,SINGULAR,0,0,0, - ((char *)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) - -- (char *)&nvDefaults.tables.hwCalValues.calData) + sizeof(uint16), -- "nv_TxBBFSel9MHz"}, -+ (char *)&nvDefaults.tables.hwCalValues.calData),"nv_TxBBFSel9MHz"}, - {"ee",_ID_U8,SINGULAR,0,0,0, - ((char *)&(nvDefaults.tables.hwCalValues.calData.hwParam2) - - (char *)&nvDefaults.tables.hwCalValues.calData),"hwParam2"}, -@@ -839,4 +838,4 @@ - int getTableNoOfFields(int tblIdx) - { - return tableNoOfFieldArray[tblIdx]; --} -+} diff --git a/device/testing/linux-motorola-nash/06_fix_usb_gadget_function.patch b/device/testing/linux-motorola-nash/06_fix_usb_gadget_function.patch deleted file mode 100644 index bf04fd8e7..000000000 --- a/device/testing/linux-motorola-nash/06_fix_usb_gadget_function.patch +++ /dev/null @@ -1,561 +0,0 @@ -diff --git a/drivers/usb/gadget/function/ci13xxx_udc.h b/drivers/usb/gadget/function/ci13xxx_udc.h -new file mode 100644 -index 0000000..7983bfd ---- /dev/null -+++ b/drivers/usb/gadget/function/ci13xxx_udc.h -@@ -0,0 +1,280 @@ -+/* -+ * ci13xxx_udc.h - structures, registers, and macros MIPS USB IP core -+ * -+ * Copyright (C) 2008 Chipidea - MIPS Technologies, Inc. All rights reserved. -+ * -+ * Author: David Lopo -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ * -+ * Description: MIPS USB IP core family device controller -+ * Structures, registers and logging macros -+ */ -+ -+#ifndef _CI13XXX_h_ -+#define _CI13XXX_h_ -+ -+/****************************************************************************** -+ * DEFINE -+ *****************************************************************************/ -+#define CI13XXX_PAGE_SIZE 4096ul /* page size for TD's */ -+#define ENDPT_MAX (32) -+#define CTRL_PAYLOAD_MAX (64) -+#define RX (0) /* similar to USB_DIR_OUT but can be used as an index */ -+#define TX (1) /* similar to USB_DIR_IN but can be used as an index */ -+ -+/* UDC private data: -+ * 16MSb - Vendor ID | 16 LSb Vendor private data -+ */ -+#define CI13XX_REQ_VENDOR_ID(id) (id & 0xFFFF0000UL) -+ -+#define MSM_ETD_TYPE BIT(1) -+#define MSM_EP_PIPE_ID_RESET_VAL 0x1F001F -+ -+/****************************************************************************** -+ * STRUCTURES -+ *****************************************************************************/ -+/* DMA layout of transfer descriptors */ -+struct ci13xxx_td { -+ /* 0 */ -+ u32 next; -+#define TD_TERMINATE BIT(0) -+#define TD_ADDR_MASK (0xFFFFFFEUL << 5) -+ /* 1 */ -+ u32 token; -+#define TD_STATUS (0x00FFUL << 0) -+#define TD_STATUS_TR_ERR BIT(3) -+#define TD_STATUS_DT_ERR BIT(5) -+#define TD_STATUS_HALTED BIT(6) -+#define TD_STATUS_ACTIVE BIT(7) -+#define TD_MULTO (0x0003UL << 10) -+#define TD_IOC BIT(15) -+#define TD_TOTAL_BYTES (0x7FFFUL << 16) -+ /* 2 */ -+ u32 page[5]; -+#define TD_CURR_OFFSET (0x0FFFUL << 0) -+#define TD_FRAME_NUM (0x07FFUL << 0) -+#define TD_RESERVED_MASK (0x0FFFUL << 0) -+} __attribute__ ((packed, aligned(4))); -+ -+/* DMA layout of queue heads */ -+struct ci13xxx_qh { -+ /* 0 */ -+ u32 cap; -+#define QH_IOS BIT(15) -+#define QH_MAX_PKT (0x07FFUL << 16) -+#define QH_ZLT BIT(29) -+#define QH_MULT (0x0003UL << 30) -+#define QH_MULT_SHIFT 11 -+ /* 1 */ -+ u32 curr; -+ /* 2 - 8 */ -+ struct ci13xxx_td td; -+ /* 9 */ -+ u32 RESERVED; -+ struct usb_ctrlrequest setup; -+} __attribute__ ((packed, aligned(4))); -+ -+/* cache of larger request's original attributes */ -+struct ci13xxx_multi_req { -+ unsigned len; -+ unsigned actual; -+ void *buf; -+}; -+ -+/* Extension of usb_request */ -+struct ci13xxx_req { -+ struct usb_request req; -+ unsigned map; -+ struct list_head queue; -+ struct ci13xxx_td *ptr; -+ dma_addr_t dma; -+ struct ci13xxx_td *zptr; -+ dma_addr_t zdma; -+ struct ci13xxx_multi_req multi; -+}; -+ -+/* Extension of usb_ep */ -+struct ci13xxx_ep { -+ struct usb_ep ep; -+ const struct usb_endpoint_descriptor *desc; -+ u8 dir; -+ u8 num; -+ u8 type; -+ char name[16]; -+ struct { -+ struct list_head queue; -+ struct ci13xxx_qh *ptr; -+ dma_addr_t dma; -+ } qh; -+ struct list_head rw_queue; -+ int wedge; -+ -+ /* global resources */ -+ spinlock_t *lock; -+ struct device *device; -+ struct dma_pool *td_pool; -+ struct ci13xxx_td *last_zptr; -+ dma_addr_t last_zdma; -+ unsigned long dTD_update_fail_count; -+ unsigned long dTD_active_re_q_count; -+ unsigned long prime_fail_count; -+ int prime_timer_count; -+ struct timer_list prime_timer; -+ -+ bool multi_req; -+}; -+ -+struct ci13xxx; -+struct ci13xxx_udc_driver { -+ const char *name; -+ unsigned long flags; -+ unsigned int nz_itc; -+#define CI13XXX_REGS_SHARED BIT(0) -+#define CI13XXX_REQUIRE_TRANSCEIVER BIT(1) -+#define CI13XXX_PULLUP_ON_VBUS BIT(2) -+#define CI13XXX_DISABLE_STREAMING BIT(3) -+#define CI13XXX_ZERO_ITC BIT(4) -+#define CI13XXX_ENABLE_AHB2AHB_BYPASS BIT(6) -+ -+#define CI13XXX_CONTROLLER_RESET_EVENT 0 -+#define CI13XXX_CONTROLLER_CONNECT_EVENT 1 -+#define CI13XXX_CONTROLLER_SUSPEND_EVENT 2 -+#define CI13XXX_CONTROLLER_REMOTE_WAKEUP_EVENT 3 -+#define CI13XXX_CONTROLLER_RESUME_EVENT 4 -+#define CI13XXX_CONTROLLER_DISCONNECT_EVENT 5 -+#define CI13XXX_CONTROLLER_UDC_STARTED_EVENT 6 -+#define CI13XXX_CONTROLLER_ERROR_EVENT 7 -+ -+ void (*notify_event)(struct ci13xxx *udc, unsigned event); -+ bool (*in_lpm)(struct ci13xxx *udc); -+}; -+ -+/* CI13XXX UDC descriptor & global resources */ -+struct ci13xxx { -+ spinlock_t *lock; /* ctrl register bank access */ -+ void __iomem *regs; /* registers address space */ -+ -+ struct dma_pool *qh_pool; /* DMA pool for queue heads */ -+ struct dma_pool *td_pool; /* DMA pool for transfer descs */ -+ struct usb_request *status; /* ep0 status request */ -+ void *status_buf;/* GET_STATUS buffer */ -+ -+ struct usb_gadget gadget; /* USB slave device */ -+ struct ci13xxx_ep ci13xxx_ep[ENDPT_MAX]; /* extended endpts */ -+ u32 ep0_dir; /* ep0 direction */ -+#define ep0out ci13xxx_ep[0] -+#define ep0in ci13xxx_ep[hw_ep_max / 2] -+ u8 suspended; /* suspended by the host */ -+ u8 configured; /* is device configured */ -+ u8 test_mode; /* the selected test mode */ -+ bool rw_pending; /* Remote wakeup pending flag */ -+ struct delayed_work rw_work; /* remote wakeup delayed work */ -+ struct usb_gadget_driver *driver; /* 3rd party gadget driver */ -+ struct ci13xxx_udc_driver *udc_driver; /* device controller driver */ -+ int vbus_active; /* is VBUS active */ -+ int softconnect; /* is pull-up enable allowed */ -+ unsigned long dTD_update_fail_count; -+ struct usb_phy *transceiver; /* Transceiver struct */ -+ bool skip_flush; /* skip flushing remaining EP -+ upon flush timeout for the -+ first EP. */ -+}; -+ -+/****************************************************************************** -+ * REGISTERS -+ *****************************************************************************/ -+/* register size */ -+#define REG_BITS (32) -+ -+/* HCCPARAMS */ -+#define HCCPARAMS_LEN BIT(17) -+ -+/* DCCPARAMS */ -+#define DCCPARAMS_DEN (0x1F << 0) -+#define DCCPARAMS_DC BIT(7) -+ -+/* TESTMODE */ -+#define TESTMODE_FORCE BIT(0) -+ -+/* AHB_MODE */ -+#define AHB2AHB_BYPASS BIT(31) -+ -+/* USBCMD */ -+#define USBCMD_RS BIT(0) -+#define USBCMD_RST BIT(1) -+#define USBCMD_SUTW BIT(13) -+#define USBCMD_ATDTW BIT(14) -+ -+/* USBSTS & USBINTR */ -+#define USBi_UI BIT(0) -+#define USBi_UEI BIT(1) -+#define USBi_PCI BIT(2) -+#define USBi_URI BIT(6) -+#define USBi_SLI BIT(8) -+ -+/* DEVICEADDR */ -+#define DEVICEADDR_USBADRA BIT(24) -+#define DEVICEADDR_USBADR (0x7FUL << 25) -+ -+/* PORTSC */ -+#define PORTSC_FPR BIT(6) -+#define PORTSC_SUSP BIT(7) -+#define PORTSC_PR BIT(8) -+#define PORTSC_HSP BIT(9) -+#define PORTSC_PTC (0x0FUL << 16) -+ -+/* DEVLC */ -+#define DEVLC_PSPD (0x03UL << 25) -+#define DEVLC_PSPD_HS (0x02UL << 25) -+ -+/* USBMODE */ -+#define USBMODE_CM (0x03UL << 0) -+#define USBMODE_CM_IDLE (0x00UL << 0) -+#define USBMODE_CM_DEVICE (0x02UL << 0) -+#define USBMODE_CM_HOST (0x03UL << 0) -+#define USBMODE_SLOM BIT(3) -+#define USBMODE_SDIS BIT(4) -+#define USBCMD_ITC(n) (n << 16) /* n = 0, 1, 2, 4, 8, 16, 32, 64 */ -+#define USBCMD_ITC_MASK (0xFF << 16) -+ -+/* ENDPTCTRL */ -+#define ENDPTCTRL_RXS BIT(0) -+#define ENDPTCTRL_RXT (0x03UL << 2) -+#define ENDPTCTRL_RXR BIT(6) /* reserved for port 0 */ -+#define ENDPTCTRL_RXE BIT(7) -+#define ENDPTCTRL_TXS BIT(16) -+#define ENDPTCTRL_TXT (0x03UL << 18) -+#define ENDPTCTRL_TXR BIT(22) /* reserved for port 0 */ -+#define ENDPTCTRL_TXE BIT(23) -+ -+/****************************************************************************** -+ * LOGGING -+ *****************************************************************************/ -+#define ci13xxx_printk(level, format, args...) \ -+do { \ -+ if (_udc == NULL) \ -+ printk(level "[%s] " format "\n", __func__, ## args); \ -+ else \ -+ dev_printk(level, _udc->gadget.dev.parent, \ -+ "[%s] " format "\n", __func__, ## args); \ -+} while (0) -+ -+#ifndef err -+#define err(format, args...) ci13xxx_printk(KERN_ERR, format, ## args) -+#endif -+ -+#define warn(format, args...) ci13xxx_printk(KERN_WARNING, format, ## args) -+#define info(format, args...) ci13xxx_printk(KERN_INFO, format, ## args) -+ -+#ifdef TRACE -+#define trace(format, args...) ci13xxx_printk(KERN_DEBUG, format, ## args) -+#define dbg_trace(format, args...) dev_dbg(dev, format, ##args) -+#else -+#define trace(format, args...) do {} while (0) -+#define dbg_trace(format, args...) do {} while (0) -+#endif -+ -+#endif /* _CI13XXX_h_ */ -diff --git a/drivers/usb/gadget/function/configfs.h b/drivers/usb/gadget/function/configfs.h -new file mode 100644 -index 0000000..36c468c ---- /dev/null -+++ b/drivers/usb/gadget/function/configfs.h -@@ -0,0 +1,19 @@ -+#ifndef USB__GADGET__CONFIGFS__H -+#define USB__GADGET__CONFIGFS__H -+ -+#include -+ -+void unregister_gadget_item(struct config_item *item); -+ -+int usb_os_desc_prepare_interf_dir(struct config_group *parent, -+ int n_interf, -+ struct usb_os_desc **desc, -+ char **names, -+ struct module *owner); -+ -+static inline struct usb_os_desc *to_usb_os_desc(struct config_item *item) -+{ -+ return container_of(to_config_group(item), struct usb_os_desc, group); -+} -+ -+#endif /* USB__GADGET__CONFIGFS__H */ -diff --git a/drivers/usb/gadget/function/debug.h b/drivers/usb/gadget/function/debug.h -new file mode 100644 -index 0000000..8729aca ---- /dev/null -+++ b/drivers/usb/gadget/function/debug.h -@@ -0,0 +1,55 @@ -+/* -+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 and -+ * only version 2 as published by the Free Software Foundation. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ */ -+ -+#ifndef __DEBUG_H_ -+#define __DEBUG_H_ -+ -+#define DBG_MAX_MSG 1024UL -+#define DBG_MSG_LEN 80UL -+#define TIME_BUF_LEN 17 -+#define DBG_EVENT_LEN (DBG_MSG_LEN - TIME_BUF_LEN) -+ -+extern unsigned int enable_event_log; -+extern void put_timestamp(char *tbuf); -+extern void add_event_to_buf(char *tbuf); -+extern int debug_debugfs_init(void); -+extern void debug_debugfs_exit(void); -+ -+#define LOGLEVEL_NONE 8 -+#define LOGLEVEL_DEBUG 7 -+#define LOGLEVEL_INFO 6 -+#define LOGLEVEL_ERR 3 -+ -+#define log_event(log_level, x...) \ -+do { \ -+ char buf[DBG_MSG_LEN]; \ -+ if (log_level == LOGLEVEL_DEBUG) \ -+ pr_debug(x); \ -+ else if (log_level == LOGLEVEL_ERR) \ -+ pr_err(x); \ -+ else if (log_level == LOGLEVEL_INFO) \ -+ pr_info(x); \ -+ if (enable_event_log) { \ -+ put_timestamp(buf); \ -+ snprintf(&buf[TIME_BUF_LEN - 1], DBG_EVENT_LEN, x); \ -+ add_event_to_buf(buf); \ -+ } \ -+} while (0) -+ -+#define log_event_none(x, ...) log_event(LOGLEVEL_NONE, x, ##__VA_ARGS__) -+#define log_event_dbg(x, ...) log_event(LOGLEVEL_DEBUG, x, ##__VA_ARGS__) -+#define log_event_err(x, ...) log_event(LOGLEVEL_ERR, x, ##__VA_ARGS__) -+#define log_event_info(x, ...) log_event(LOGLEVEL_INFO, x, ##__VA_ARGS__) -+ -+#endif /* __DEBUG_H_ */ -diff --git a/drivers/usb/gadget/function/f_ccid.h b/drivers/usb/gadget/function/f_ccid.h -index 935308cf..e74da305 100644 ---- a/drivers/usb/gadget/function/f_ccid.h -+++ b/drivers/usb/gadget/function/f_ccid.h -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2011, 2017 The Linux Foundation. All rights reserved. -+ * Copyright (c) 2011, The Linux Foundation. All rights reserved. - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 and -@@ -55,29 +55,29 @@ - #define CCID_READ_DTR _IOR('C', 3, int) - - struct usb_ccid_notification { -- __u8 buf[4]; -+ unsigned char buf[4]; - } __packed; - - struct ccid_bulk_in_header { -- __u8 bMessageType; -- __u32 wLength; -- __u8 bSlot; -- __u8 bSeq; -- __u8 bStatus; -- __u8 bError; -- __u8 bSpecific; -- __u8 abData[ABDATA_SIZE]; -- __u8 bSizeToSend; -+ unsigned char bMessageType; -+ unsigned long wLength; -+ unsigned char bSlot; -+ unsigned char bSeq; -+ unsigned char bStatus; -+ unsigned char bError; -+ unsigned char bSpecific; -+ unsigned char abData[ABDATA_SIZE]; -+ unsigned char bSizeToSend; - } __packed; - - struct ccid_bulk_out_header { -- __u8 bMessageType; -- __u32 wLength; -- __u8 bSlot; -- __u8 bSeq; -- __u8 bSpecific_0; -- __u8 bSpecific_1; -- __u8 bSpecific_2; -- __u8 APDU[ABDATA_SIZE]; -+ unsigned char bMessageType; -+ unsigned long wLength; -+ unsigned char bSlot; -+ unsigned char bSeq; -+ unsigned char bSpecific_0; -+ unsigned char bSpecific_1; -+ unsigned char bSpecific_2; -+ unsigned char APDU[ABDATA_SIZE]; - } __packed; --#endif -+#endif -diff --git a/drivers/usb/gadget/function/u_os_desc.h b/drivers/usb/gadget/function/u_os_desc.h -new file mode 100644 -index 0000000..947b7dd ---- /dev/null -+++ b/drivers/usb/gadget/function/u_os_desc.h -@@ -0,0 +1,123 @@ -+/* -+ * u_os_desc.h -+ * -+ * Utility definitions for "OS Descriptors" support -+ * -+ * Copyright (c) 2014 Samsung Electronics Co., Ltd. -+ * http://www.samsung.com -+ * -+ * Author: Andrzej Pietrasiewicz -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 as -+ * published by the Free Software Foundation. -+ */ -+ -+#ifndef __U_OS_DESC_H__ -+#define __U_OS_DESC_H__ -+ -+#include -+#include -+ -+#define USB_EXT_PROP_DW_SIZE 0 -+#define USB_EXT_PROP_DW_PROPERTY_DATA_TYPE 4 -+#define USB_EXT_PROP_W_PROPERTY_NAME_LENGTH 8 -+#define USB_EXT_PROP_B_PROPERTY_NAME 10 -+#define USB_EXT_PROP_DW_PROPERTY_DATA_LENGTH 10 -+#define USB_EXT_PROP_B_PROPERTY_DATA 14 -+ -+#define USB_EXT_PROP_RESERVED 0 -+#define USB_EXT_PROP_UNICODE 1 -+#define USB_EXT_PROP_UNICODE_ENV 2 -+#define USB_EXT_PROP_BINARY 3 -+#define USB_EXT_PROP_LE32 4 -+#define USB_EXT_PROP_BE32 5 -+#define USB_EXT_PROP_UNICODE_LINK 6 -+#define USB_EXT_PROP_UNICODE_MULTI 7 -+ -+static inline u8 *__usb_ext_prop_ptr(u8 *buf, size_t offset) -+{ -+ return buf + offset; -+} -+ -+static inline u8 *usb_ext_prop_size_ptr(u8 *buf) -+{ -+ return __usb_ext_prop_ptr(buf, USB_EXT_PROP_DW_SIZE); -+} -+ -+static inline u8 *usb_ext_prop_type_ptr(u8 *buf) -+{ -+ return __usb_ext_prop_ptr(buf, USB_EXT_PROP_DW_PROPERTY_DATA_TYPE); -+} -+ -+static inline u8 *usb_ext_prop_name_len_ptr(u8 *buf) -+{ -+ return __usb_ext_prop_ptr(buf, USB_EXT_PROP_W_PROPERTY_NAME_LENGTH); -+} -+ -+static inline u8 *usb_ext_prop_name_ptr(u8 *buf) -+{ -+ return __usb_ext_prop_ptr(buf, USB_EXT_PROP_B_PROPERTY_NAME); -+} -+ -+static inline u8 *usb_ext_prop_data_len_ptr(u8 *buf, size_t off) -+{ -+ return __usb_ext_prop_ptr(buf, -+ USB_EXT_PROP_DW_PROPERTY_DATA_LENGTH + off); -+} -+ -+static inline u8 *usb_ext_prop_data_ptr(u8 *buf, size_t off) -+{ -+ return __usb_ext_prop_ptr(buf, USB_EXT_PROP_B_PROPERTY_DATA + off); -+} -+ -+static inline void usb_ext_prop_put_size(u8 *buf, int dw_size) -+{ -+ put_unaligned_le32(dw_size, usb_ext_prop_size_ptr(buf)); -+} -+ -+static inline void usb_ext_prop_put_type(u8 *buf, int type) -+{ -+ put_unaligned_le32(type, usb_ext_prop_type_ptr(buf)); -+} -+ -+static inline int usb_ext_prop_put_name(u8 *buf, const char *name, int pnl) -+{ -+ int result; -+ -+ put_unaligned_le16(pnl, usb_ext_prop_name_len_ptr(buf)); -+ result = utf8s_to_utf16s(name, strlen(name), UTF16_LITTLE_ENDIAN, -+ (wchar_t *) usb_ext_prop_name_ptr(buf), pnl - 2); -+ if (result < 0) -+ return result; -+ -+ put_unaligned_le16(0, &buf[USB_EXT_PROP_B_PROPERTY_NAME + pnl - 2]); -+ -+ return pnl; -+} -+ -+static inline void usb_ext_prop_put_binary(u8 *buf, int pnl, const u8 *data, -+ int data_len) -+{ -+ put_unaligned_le32(data_len, usb_ext_prop_data_len_ptr(buf, pnl)); -+ memcpy(usb_ext_prop_data_ptr(buf, pnl), data, data_len); -+} -+ -+static inline int usb_ext_prop_put_unicode(u8 *buf, int pnl, const char *string, -+ int data_len) -+{ -+ int result; -+ put_unaligned_le32(data_len, usb_ext_prop_data_len_ptr(buf, pnl)); -+ result = utf8s_to_utf16s(string, data_len >> 1, UTF16_LITTLE_ENDIAN, -+ (wchar_t *) usb_ext_prop_data_ptr(buf, pnl), -+ data_len - 2); -+ if (result < 0) -+ return result; -+ -+ put_unaligned_le16(0, -+ &buf[USB_EXT_PROP_B_PROPERTY_DATA + pnl + data_len - 2]); -+ -+ return data_len; -+} -+ -+#endif /* __U_OS_DESC_H__ */ diff --git a/device/testing/linux-nokia-frt/04_rndis.patch b/device/testing/linux-nokia-frt/04_rndis.patch deleted file mode 100644 index 34d258795..000000000 --- a/device/testing/linux-nokia-frt/04_rndis.patch +++ /dev/null @@ -1,2028 +0,0 @@ -This patch fixes ethernet gadget/rndis support so the phone is detected as usb device -and can assign ip to the PC, as well as allow for ssh connections through usb ---- -diff --git a/drivers/usb/gadget/function/f_rndis.c b/drivers/usb/gadget/function/f_rndis.c -index 4b7e1593c787..f13fc6a58565 100644 ---- a/drivers/usb/gadget/function/f_rndis.c -+++ b/drivers/usb/gadget/function/f_rndis.c -@@ -70,22 +70,6 @@ - * - MS-Windows drivers sometimes emit undocumented requests. - */ - --static unsigned int rndis_dl_max_pkt_per_xfer = 10; --module_param(rndis_dl_max_pkt_per_xfer, uint, S_IRUGO | S_IWUSR); --MODULE_PARM_DESC(rndis_dl_max_pkt_per_xfer, -- "Maximum packets per transfer for DL aggregation"); -- --static unsigned int rndis_ul_max_pkt_per_xfer = 1; --module_param(rndis_ul_max_pkt_per_xfer, uint, S_IRUGO | S_IWUSR); --MODULE_PARM_DESC(rndis_ul_max_pkt_per_xfer, -- "Maximum packets per transfer for UL aggregation"); -- --static unsigned int f_rndis_debug; --module_param(f_rndis_debug, uint, S_IRUGO | S_IWUSR); --MODULE_PARM_DESC(f_rndis_debug, -- "f_rndis debug flag"); --#define F_RNDIS_DBG(fmt, args...) pr_debug("F_RNDIS,%s, " fmt, __func__, ## args) -- - struct f_rndis { - struct gether port; - u8 ctrl_id, data_id; -@@ -389,35 +373,13 @@ static struct sk_buff *rndis_add_header(struct gether *port, - struct sk_buff *skb) - { - struct sk_buff *skb2; -- struct rndis_packet_msg_type *header = NULL; -- struct f_rndis *rndis = func_to_rndis(&port->func); -- -- if (rndis->port.multi_pkt_xfer) { -- if (port->header) { -- header = port->header; -- memset(header, 0, sizeof(*header)); -- header->MessageType = cpu_to_le32(RNDIS_MSG_PACKET); -- header->MessageLength = cpu_to_le32(skb->len + -- sizeof(*header)); -- header->DataOffset = cpu_to_le32(36); -- header->DataLength = cpu_to_le32(skb->len); -- pr_debug("MessageLength:%d DataLength:%d\n", -- header->MessageLength, -- header->DataLength); -- return skb; -- } -- pr_err("RNDIS header is NULL.\n"); -- return NULL; - -- } else { -- skb2 = skb_realloc_headroom(skb, -- sizeof(struct rndis_packet_msg_type)); -- if (skb2) -- rndis_add_hdr(skb2); -+ skb2 = skb_realloc_headroom(skb, sizeof(struct rndis_packet_msg_type)); -+ if (skb2) -+ rndis_add_hdr(skb2); - -- dev_kfree_skb(skb); -- return skb2; -- } -+ dev_kfree_skb(skb); -+ return skb2; - } - - static void rndis_response_available(void *_rndis) -@@ -449,14 +411,9 @@ static void rndis_response_available(void *_rndis) - static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req) - { - struct f_rndis *rndis = req->context; -- struct usb_composite_dev *cdev; -+ struct usb_composite_dev *cdev = rndis->port.func.config->cdev; - int status = req->status; - -- if (!rndis->port.func.config || !rndis->port.func.config->cdev) -- return; -- -- cdev = rndis->port.func.config->cdev; -- - /* after TX: - * - USB_CDC_GET_ENCAPSULATED_RESPONSE (ep0/control) - * - RNDIS_RESPONSE_AVAILABLE (status/irq) -@@ -493,14 +450,7 @@ static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req) - static void rndis_command_complete(struct usb_ep *ep, struct usb_request *req) - { - struct f_rndis *rndis = req->context; -- struct usb_composite_dev *cdev; - int status; -- rndis_init_msg_type *buf; -- -- if (!rndis->port.func.config || !rndis->port.func.config->cdev) -- return; -- -- cdev = rndis->port.func.config->cdev; - - /* received RNDIS command from USB_CDC_SEND_ENCAPSULATED_COMMAND */ - // spin_lock(&dev->lock); -@@ -508,24 +458,6 @@ static void rndis_command_complete(struct usb_ep *ep, struct usb_request *req) - if (status < 0) - pr_err("RNDIS command error %d, %d/%d\n", - status, req->actual, req->length); -- -- buf = (rndis_init_msg_type *)req->buf; -- -- if (buf->MessageType == RNDIS_MSG_INIT) { -- if (buf->MaxTransferSize > 2048) { -- rndis->port.multi_pkt_xfer = 1; -- rndis->port.dl_max_transfer_len = buf->MaxTransferSize; -- gether_update_dl_max_xfer_size(&rndis->port, -- rndis->port.dl_max_transfer_len); -- } else -- rndis->port.multi_pkt_xfer = 0; -- pr_info("%s: MaxTransferSize: %d : Multi_pkt_txr: %s\n", -- __func__, buf->MaxTransferSize, -- rndis->port.multi_pkt_xfer ? "enabled" : -- "disabled"); -- if (rndis_dl_max_pkt_per_xfer <= 1) -- rndis->port.multi_pkt_xfer = 0; -- } - // spin_unlock(&dev->lock); - } - -@@ -543,9 +475,6 @@ rndis_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl) - /* composite driver infrastructure handles everything except - * CDC class messages; interface activation uses set_alt(). - */ -- if (f_rndis_debug) -- F_RNDIS_DBG("ctrl->bRequestType:0x%x, ctrl->bRequest:0x%x, w_index:0x%x, w_value:0x%x\n", -- ctrl->bRequestType , ctrl->bRequest, w_index, w_value); - switch ((ctrl->bRequestType << 8) | ctrl->bRequest) { - - /* RNDIS uses the CDC command encapsulation mechanism to implement -@@ -569,8 +498,6 @@ rndis_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl) - else { - u8 *buf; - u32 n; -- u32 MsgType, MsgLength, MsgID; -- __le32 *tmp; - - /* return the result */ - buf = rndis_get_next_response(rndis->config, &n); -@@ -578,19 +505,8 @@ rndis_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl) - memcpy(req->buf, buf, n); - req->complete = rndis_response_complete; - req->context = rndis; -- -- tmp = (__le32 *)buf; -- MsgType = get_unaligned_le32(tmp++); -- MsgLength = get_unaligned_le32(tmp++); -- MsgID = get_unaligned_le32(tmp++); -- - rndis_free_response(rndis->config, buf); - value = n; -- -- if (f_rndis_debug) -- F_RNDIS_DBG("response MsgLength %d, msg type:0x%x, RequestID:0x%x\n", -- MsgLength, MsgType, MsgID); -- rndis_test_last_resp_id = MsgID; - } - /* else stalls ... spec says to avoid that */ - } -@@ -598,10 +514,6 @@ rndis_setup(struct usb_function *f, const struct usb_ctrlrequest *ctrl) - - default: - invalid: -- F_RNDIS_DBG("invalid control req%02x.%02x v%04x i%04x l%d\n", -- ctrl->bRequestType, ctrl->bRequest, -- w_value, w_index, w_length); -- - VDBG(cdev, "invalid control req%02x.%02x v%04x i%04x l%d\n", - ctrl->bRequestType, ctrl->bRequest, - w_value, w_index, w_length); -@@ -630,18 +542,13 @@ static int rndis_set_alt(struct usb_function *f, unsigned intf, unsigned alt) - struct usb_composite_dev *cdev = f->config->cdev; - - /* we know alt == 0 */ -- F_RNDIS_DBG("interface :%d, rndis ctrl id :%d, rndis data id :%d\n" , -- intf, rndis->ctrl_id, rndis->data_id); -- - - if (intf == rndis->ctrl_id) { - if (rndis->notify->driver_data) { -- F_RNDIS_DBG("reset rndis control %d\n", intf); - VDBG(cdev, "reset rndis control %d\n", intf); - usb_ep_disable(rndis->notify); - } - if (!rndis->notify->desc) { -- F_RNDIS_DBG("init rndis ctrl %d\n", intf); - VDBG(cdev, "init rndis ctrl %d\n", intf); - if (config_ep_by_speed(cdev->gadget, f, rndis->notify)) - goto fail; -@@ -653,13 +560,11 @@ static int rndis_set_alt(struct usb_function *f, unsigned intf, unsigned alt) - struct net_device *net; - - if (rndis->port.in_ep->driver_data) { -- F_RNDIS_DBG("reset rndis\n"); - DBG(cdev, "reset rndis\n"); - gether_disconnect(&rndis->port); - } - - if (!rndis->port.in_ep->desc || !rndis->port.out_ep->desc) { -- F_RNDIS_DBG("init rndis\n"); - DBG(cdev, "init rndis\n"); - if (config_ep_by_speed(cdev->gadget, f, - rndis->port.in_ep) || -@@ -688,7 +593,7 @@ static int rndis_set_alt(struct usb_function *f, unsigned intf, unsigned alt) - */ - rndis->port.cdc_filter = 0; - -- DBG(cdev, "RNDIS RX/TX early activation ...\n"); -+ DBG(cdev, "RNDIS RX/TX early activation ... \n"); - net = gether_connect(&rndis->port); - if (IS_ERR(net)) - return PTR_ERR(net); -@@ -711,7 +616,6 @@ static void rndis_disable(struct usb_function *f) - if (!rndis->notify->driver_data) - return; - -- F_RNDIS_DBG("\n"); - DBG(cdev, "rndis deactivated\n"); - - rndis_uninit(rndis->config); -@@ -735,7 +639,6 @@ static void rndis_open(struct gether *geth) - struct f_rndis *rndis = func_to_rndis(&geth->func); - struct usb_composite_dev *cdev = geth->func.config->cdev; - -- F_RNDIS_DBG("\n"); - DBG(cdev, "%s\n", __func__); - - rndis_set_param_medium(rndis->config, RNDIS_MEDIUM_802_3, -@@ -747,7 +650,6 @@ static void rndis_close(struct gether *geth) - { - struct f_rndis *rndis = func_to_rndis(&geth->func); - -- F_RNDIS_DBG("\n"); - DBG(geth->func.config->cdev, "%s\n", __func__); - - rndis_set_param_medium(rndis->config, RNDIS_MEDIUM_802_3, 0); -@@ -776,8 +678,6 @@ rndis_bind(struct usb_configuration *c, struct usb_function *f) - - struct f_rndis_opts *rndis_opts; - -- F_RNDIS_DBG("\n"); -- - if (!can_support_rndis(c)) - return -EINVAL; - -@@ -799,9 +699,7 @@ rndis_bind(struct usb_configuration *c, struct usb_function *f) - * with list_for_each_entry, so we assume no race condition - * with regard to rndis_opts->bound access - */ -- -- /* if (!rndis_opts->bound) { */ -- if (rndis_opts && !rndis_opts->bound) { -+ if (!rndis_opts->bound) { - gether_set_gadget(rndis_opts->net, cdev->gadget); - status = gether_register_netdev(rndis_opts->net); - if (status) -@@ -872,11 +770,7 @@ rndis_bind(struct usb_configuration *c, struct usb_function *f) - rndis->notify_req = usb_ep_alloc_request(ep, GFP_KERNEL); - if (!rndis->notify_req) - goto fail; --#if defined(CONFIG_64BIT) && defined(CONFIG_MTK_LM_MODE) -- rndis->notify_req->buf = kmalloc(STATUS_BYTECOUNT, GFP_KERNEL | GFP_DMA); --#else - rndis->notify_req->buf = kmalloc(STATUS_BYTECOUNT, GFP_KERNEL); --#endif - if (!rndis->notify_req->buf) - goto fail; - rndis->notify_req->length = STATUS_BYTECOUNT; -@@ -905,7 +799,6 @@ rndis_bind(struct usb_configuration *c, struct usb_function *f) - - rndis_set_param_medium(rndis->config, RNDIS_MEDIUM_802_3, 0); - rndis_set_host_mac(rndis->config, rndis->ethaddr); -- rndis_set_max_pkt_xfer(rndis->config, rndis_ul_max_pkt_per_xfer); - - if (rndis->manufacturer && rndis->vendorID && - rndis_set_param_vendor(rndis->config, rndis->vendorID, -@@ -919,11 +812,6 @@ rndis_bind(struct usb_configuration *c, struct usb_function *f) - * until we're activated via set_alt(). - */ - -- F_RNDIS_DBG("RNDIS: %s speed IN/%s OUT/%s NOTIFY/%s\n", -- gadget_is_superspeed(c->cdev->gadget) ? "super" : -- gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full", -- rndis->port.in_ep->name, rndis->port.out_ep->name, -- rndis->notify->name); - DBG(cdev, "RNDIS: %s speed IN/%s OUT/%s NOTIFY/%s\n", - gadget_is_superspeed(c->cdev->gadget) ? "super" : - gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full", -@@ -955,76 +843,6 @@ fail: - return status; - } - --static void --rndis_old_unbind(struct usb_configuration *c, struct usb_function *f) --{ -- struct f_rndis *rndis = func_to_rndis(f); -- -- F_RNDIS_DBG("\n"); -- -- rndis_deregister(rndis->config); -- -- usb_free_all_descriptors(f); -- -- kfree(rndis->notify_req->buf); -- usb_ep_free_request(rndis->notify, rndis->notify_req); -- -- kfree(rndis); --} -- --int --rndis_bind_config_vendor(struct usb_configuration *c, u8 ethaddr[ETH_ALEN], -- u32 vendorID, const char *manufacturer, struct eth_dev *dev) --{ -- struct f_rndis *rndis; -- int status; -- -- /* allocate and initialize one new instance */ -- status = -ENOMEM; -- rndis = kzalloc(sizeof(*rndis), GFP_KERNEL); -- if (!rndis) -- goto fail; -- -- ether_addr_copy(rndis->ethaddr, ethaddr); -- rndis->vendorID = vendorID; -- rndis->manufacturer = manufacturer; -- -- rndis->port.ioport = dev; -- /* RNDIS activates when the host changes this filter */ -- rndis->port.cdc_filter = 0; -- -- /* RNDIS has special (and complex) framing */ -- rndis->port.header_len = sizeof(struct rndis_packet_msg_type); -- rndis->port.wrap = rndis_add_header; -- rndis->port.unwrap = rndis_rm_hdr; -- rndis->port.ul_max_pkts_per_xfer = rndis_ul_max_pkt_per_xfer; -- rndis->port.dl_max_pkts_per_xfer = rndis_dl_max_pkt_per_xfer; -- -- rndis->port.func.name = "rndis"; -- /* descriptors are per-instance copies */ -- rndis->port.func.bind = rndis_bind; -- /* note here use rndis_old_unbind */ -- rndis->port.func.unbind = rndis_old_unbind; -- rndis->port.func.set_alt = rndis_set_alt; -- rndis->port.func.setup = rndis_setup; -- rndis->port.func.disable = rndis_disable; -- -- status = rndis_register(rndis_response_available, rndis); -- if (status < 0) { -- kfree(rndis); -- return status; -- } -- rndis->config = status; -- -- status = usb_add_function(c, &rndis->port.func); -- if (status) -- kfree(rndis); --fail: -- -- F_RNDIS_DBG("done, status %d\n", status); -- return status; --} -- - void rndis_borrow_net(struct usb_function_instance *f, struct net_device *net) - { - struct f_rndis_opts *opts; -@@ -1139,7 +957,6 @@ static void rndis_unbind(struct usb_configuration *c, struct usb_function *f) - { - struct f_rndis *rndis = func_to_rndis(f); - -- F_RNDIS_DBG("\n"); - kfree(f->os_desc_table); - f->os_desc_n = 0; - usb_free_all_descriptors(f); -@@ -1176,8 +993,6 @@ static struct usb_function *rndis_alloc(struct usb_function_instance *fi) - rndis->port.header_len = sizeof(struct rndis_packet_msg_type); - rndis->port.wrap = rndis_add_header; - rndis->port.unwrap = rndis_rm_hdr; -- rndis->port.ul_max_pkts_per_xfer = rndis_ul_max_pkt_per_xfer; -- rndis->port.dl_max_pkts_per_xfer = rndis_dl_max_pkt_per_xfer; - - rndis->port.func.name = "rndis"; - /* descriptors are per-instance copies */ -diff --git a/drivers/usb/gadget/function/rndis.c b/drivers/usb/gadget/function/rndis.c -index 411ba6f934ad..95d2324f6977 100644 ---- a/drivers/usb/gadget/function/rndis.c -+++ b/drivers/usb/gadget/function/rndis.c -@@ -49,7 +49,7 @@ - * and will be happier if you provide the host_addr module parameter. - */ - --#if 1 -+#if 0 - static int rndis_debug = 0; - module_param (rndis_debug, int, 0); - MODULE_PARM_DESC (rndis_debug, "enable debugging"); -@@ -59,16 +59,6 @@ MODULE_PARM_DESC (rndis_debug, "enable debugging"); - - #define RNDIS_MAX_CONFIGS 1 - --int rndis_ul_max_pkt_per_xfer_rcvd; --module_param(rndis_ul_max_pkt_per_xfer_rcvd, int, S_IRUGO); --MODULE_PARM_DESC(rndis_ul_max_pkt_per_xfer_rcvd, -- "Max num of REMOTE_NDIS_PACKET_MSGs received in a single transfer"); -- --int rndis_ul_max_xfer_size_rcvd; --module_param(rndis_ul_max_xfer_size_rcvd, int, S_IRUGO); --MODULE_PARM_DESC(rndis_ul_max_xfer_size_rcvd, -- "Max size of bus transfer received"); -- - - static rndis_params rndis_per_dev_params[RNDIS_MAX_CONFIGS]; - -@@ -168,7 +158,6 @@ static const u32 oid_supported_list[] = - #endif /* RNDIS_PM */ - }; - --#define RNDIS_DBG(fmt, args...) pr_debug("RNDIS,%s, " fmt, __func__, ## args) - - /* NDIS Functions */ - static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, -@@ -206,9 +195,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - net = rndis_per_dev_params[configNr].dev; - stats = dev_get_stats(net, &temp); - -- if (rndis_debug) -- RNDIS_DBG("OID is 0x%x, configNr is %d\n", OID, configNr); -- - switch (OID) { - - /* general oids (table 4-1) */ -@@ -271,17 +257,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - else - *outbuf = cpu_to_le32( - rndis_per_dev_params[configNr].speed); -- if (rndis_debug) -- RNDIS_DBG("OID_GEN_LINK_SPEED, speed %d, data: rx_in %lu\n" -- "rx_out %lu, rx_nomem %lu, rx_error %lu, tx_in %lu\n" -- "tx_out %lu, tx_busy %lu, tx_complete %lu, last_msg_id: 0x%x\n" -- "last_resp_id: 0x%x, RNDIS reset cnt: 0x%lu, queue stopped? %d\n", -- rndis_per_dev_params[configNr].speed, rndis_test_rx_usb_in, -- rndis_test_rx_net_out, rndis_test_rx_nomem, rndis_test_rx_error, -- rndis_test_tx_net_in, rndis_test_tx_usb_out, rndis_test_tx_busy, -- rndis_test_tx_complete, rndis_test_last_msg_id, -- rndis_test_last_resp_id, rndis_test_reset_msg_cnt, -- netif_queue_stopped(rndis_per_dev_params[configNr].dev)); - retval = 0; - break; - -@@ -355,9 +330,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - pr_debug("%s: RNDIS_OID_GEN_MEDIA_CONNECT_STATUS\n", __func__); - *outbuf = cpu_to_le32(rndis_per_dev_params[configNr] - .media_state); -- if (rndis_debug) -- RNDIS_DBG("OID_GEN_MEDIA_CONNECT_STATUS, media_state %d\n", -- rndis_per_dev_params[configNr].media_state); - retval = 0; - break; - -@@ -409,8 +381,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - pr_debug("%s: RNDIS_OID_GEN_XMIT_ERROR\n", __func__); - if (stats) { - *outbuf = cpu_to_le32(stats->tx_errors); -- if (rndis_debug) -- RNDIS_DBG("OID_GEN_XMIT_ERROR, stats->tx_errors %llu\n", stats->tx_errors); - retval = 0; - } - break; -@@ -421,8 +391,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - pr_debug("%s: RNDIS_OID_GEN_RCV_ERROR\n", __func__); - if (stats) { - *outbuf = cpu_to_le32(stats->rx_errors); -- if (rndis_debug) -- RNDIS_DBG("OID_GEN_RCV_ERROR, stats->rx_errors %llu\n", stats->rx_errors); - retval = 0; - } - break; -@@ -432,8 +400,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - pr_debug("%s: RNDIS_OID_GEN_RCV_NO_BUFFER\n", __func__); - if (stats) { - *outbuf = cpu_to_le32(stats->rx_dropped); -- if (rndis_debug) -- RNDIS_DBG("OID_GEN_RCV_NO_BUFFER, stats->rx_dropped %llu\n", stats->rx_dropped); - retval = 0; - } - break; -@@ -449,10 +415,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - rndis_per_dev_params[configNr].host_mac, - length); - retval = 0; -- if (rndis_debug) -- RNDIS_DBG("OID_802_3_PERMANENT_ADDRESS, host_mac is %x %x ....\n", -- rndis_per_dev_params[configNr].host_mac[0], -- rndis_per_dev_params[configNr].host_mac[1]); - } - break; - -@@ -464,10 +426,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - memcpy(outbuf, - rndis_per_dev_params [configNr].host_mac, - length); -- if (rndis_debug) -- RNDIS_DBG("OID_802_3_CURRENT_ADDRESS, host_mac is %x %x ....\n", -- rndis_per_dev_params[configNr].host_mac[0], -- rndis_per_dev_params[configNr].host_mac[1]); - retval = 0; - } - break; -@@ -500,9 +458,6 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - case RNDIS_OID_802_3_RCV_ERROR_ALIGNMENT: - pr_debug("%s: RNDIS_OID_802_3_RCV_ERROR_ALIGNMENT\n", __func__); - if (stats) { -- if (rndis_debug) -- RNDIS_DBG("OID_802_3_RCV_ERROR_ALIGNMENT, stats->rx_frame_errors is %llu\n", -- stats->rx_frame_errors); - *outbuf = cpu_to_le32(stats->rx_frame_errors); - retval = 0; - } -@@ -526,10 +481,8 @@ static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf, - pr_warning("%s: query unknown OID 0x%08X\n", - __func__, OID); - } -- if (retval < 0) { -+ if (retval < 0) - length = 0; -- RNDIS_DBG("bad gen_ndis_query_resp, retval is 0x%d\n", retval); -- } - - resp->InformationBufferLength = cpu_to_le32(length); - r->length = length + sizeof(*resp); -@@ -561,9 +514,6 @@ static int gen_ndis_set_resp(u8 configNr, u32 OID, u8 *buf, u32 buf_len, - } - } - -- if (rndis_debug) -- RNDIS_DBG("OID is 0x%x\n", OID); -- - params = &rndis_per_dev_params[configNr]; - switch (OID) { - case RNDIS_OID_GEN_CURRENT_PACKET_FILTER: -@@ -606,8 +556,6 @@ static int gen_ndis_set_resp(u8 configNr, u32 OID, u8 *buf, u32 buf_len, - __func__, OID, buf_len); - } - -- if (retval) -- RNDIS_DBG("retval is 0x%d\n", retval); - return retval; - } - -@@ -637,12 +585,12 @@ static int rndis_init_response(int configNr, rndis_init_msg_type *buf) - resp->MinorVersion = cpu_to_le32(RNDIS_MINOR_VERSION); - resp->DeviceFlags = cpu_to_le32(RNDIS_DF_CONNECTIONLESS); - resp->Medium = cpu_to_le32(RNDIS_MEDIUM_802_3); -- resp->MaxPacketsPerTransfer = cpu_to_le32(params->max_pkt_per_xfer); -- resp->MaxTransferSize = cpu_to_le32(params->max_pkt_per_xfer * -- (params->dev->mtu -+ resp->MaxPacketsPerTransfer = cpu_to_le32(1); -+ resp->MaxTransferSize = cpu_to_le32( -+ params->dev->mtu - + sizeof(struct ethhdr) - + sizeof(struct rndis_packet_msg_type) -- + 22)); -+ + 22); - resp->PacketAlignmentFactor = cpu_to_le32(0); - resp->AFListOffset = cpu_to_le32(0); - resp->AFListSize = cpu_to_le32(0); -@@ -669,10 +617,8 @@ static int rndis_query_response(int configNr, rndis_query_msg_type *buf) - */ - r = rndis_add_response(configNr, - sizeof(oid_supported_list) + sizeof(rndis_query_cmplt_type)); -- if (!r) { -- RNDIS_DBG("rndis_add_response return NULL\n"); -+ if (!r) - return -ENOMEM; -- } - resp = (rndis_query_cmplt_type *)r->buf; - - resp->MessageType = cpu_to_le32(RNDIS_MSG_QUERY_C); -@@ -703,10 +649,8 @@ static int rndis_set_response(int configNr, rndis_set_msg_type *buf) - struct rndis_params *params = rndis_per_dev_params + configNr; - - r = rndis_add_response(configNr, sizeof(rndis_set_cmplt_type)); -- if (!r) { -- RNDIS_DBG("rndis_add_response return NULL\n"); -+ if (!r) - return -ENOMEM; -- } - resp = (rndis_set_cmplt_type *)r->buf; - - BufLength = le32_to_cpu(buf->InformationBufferLength); -@@ -742,15 +686,6 @@ static int rndis_reset_response(int configNr, rndis_reset_msg_type *buf) - rndis_reset_cmplt_type *resp; - rndis_resp_t *r; - struct rndis_params *params = rndis_per_dev_params + configNr; -- u32 length; -- u8 *xbuf; -- -- RNDIS_DBG("reset, clean old response\n"); -- /* drain the response queue */ -- while ((xbuf = rndis_get_next_response(configNr, &length))) -- rndis_free_response(configNr, xbuf); -- -- rndis_test_reset_msg_cnt++; - - r = rndis_add_response(configNr, sizeof(rndis_reset_cmplt_type)); - if (!r) -@@ -777,10 +712,8 @@ static int rndis_keepalive_response(int configNr, - /* host "should" check only in RNDIS_DATA_INITIALIZED state */ - - r = rndis_add_response(configNr, sizeof(rndis_keepalive_cmplt_type)); -- if (!r) { -- RNDIS_DBG("rndis_add_response return NULL\n"); -+ if (!r) - return -ENOMEM; -- } - resp = (rndis_keepalive_cmplt_type *)r->buf; - - resp->MessageType = cpu_to_le32(RNDIS_MSG_KEEPALIVE_C); -@@ -789,17 +722,6 @@ static int rndis_keepalive_response(int configNr, - resp->Status = cpu_to_le32(RNDIS_STATUS_SUCCESS); - - params->resp_avail(params->v); -- -- if (rndis_debug) -- RNDIS_DBG("data: rx_in %lu\n" -- "rx_out %lu, rx_nomem %lu, rx_error %lu, tx_in %lu\n" -- "tx_out %lu, tx_busy %lu, tx_complete %lu, last_msg_id: 0x%x\n" -- "last_resp_id: 0x%x, RNDIS reset cnt: 0x%lu, queue stopped? %d\n", -- rndis_test_rx_usb_in, rndis_test_rx_net_out, rndis_test_rx_nomem, rndis_test_rx_error, -- rndis_test_tx_net_in, rndis_test_tx_usb_out, rndis_test_tx_busy, -- rndis_test_tx_complete, rndis_test_last_msg_id, -- rndis_test_last_resp_id, -- rndis_test_reset_msg_cnt, netif_queue_stopped(params->dev)); - return 0; - } - -@@ -876,7 +798,7 @@ EXPORT_SYMBOL_GPL(rndis_set_host_mac); - */ - int rndis_msg_parser(u8 configNr, u8 *buf) - { -- u32 MsgType, MsgLength, MsgID; -+ u32 MsgType, MsgLength; - __le32 *tmp; - struct rndis_params *params; - -@@ -886,10 +808,6 @@ int rndis_msg_parser(u8 configNr, u8 *buf) - tmp = (__le32 *)buf; - MsgType = get_unaligned_le32(tmp++); - MsgLength = get_unaligned_le32(tmp++); -- MsgID = get_unaligned_le32(tmp++); -- if (rndis_debug) -- RNDIS_DBG("MsgType is %d,configNr is %d, RequestID is 0x%x\n", MsgType, configNr, MsgID); -- rndis_test_last_msg_id = MsgID; - - if (configNr >= RNDIS_MAX_CONFIGS) - return -ENOTSUPP; -@@ -949,27 +867,8 @@ int rndis_msg_parser(u8 configNr, u8 *buf) - */ - pr_warning("%s: unknown RNDIS message 0x%08X len %d\n", - __func__, MsgType, MsgLength); -- { -- unsigned i; -- -- for (i = 0; i < MsgLength; i += 16) { -- pr_debug("%03d\n" -- "%02x %02x %02x %02x\n" -- "%02x %02x %02x %02x\n" -- "%02x %02x %02x %02x\n" -- "%02x %02x %02x %02x\n", -- i, buf[i], buf[i+1], -- buf[i+2], buf[i+3], -- buf[i+4], buf[i+5], -- buf[i+6], buf[i+7], -- buf[i+8], buf[i+9], -- buf[i+10], buf[i+11], -- buf[i+12], buf[i+13], -- buf[i+14], buf[i+15]); -- } -- } -- /* print_hex_dump_bytes(__func__, DUMP_PREFIX_OFFSET, -- buf, MsgLength); */ -+ print_hex_dump_bytes(__func__, DUMP_PREFIX_OFFSET, -+ buf, MsgLength); - break; - } - -@@ -989,7 +888,6 @@ int rndis_register(void (*resp_avail)(void *v), void *v) - rndis_per_dev_params[i].used = 1; - rndis_per_dev_params[i].resp_avail = resp_avail; - rndis_per_dev_params[i].v = v; -- rndis_per_dev_params[i].max_pkt_per_xfer = 1; - pr_debug("%s: configNr = %d\n", __func__, i); - return i; - } -@@ -1019,8 +917,6 @@ int rndis_set_param_dev(u8 configNr, struct net_device *dev, u16 *cdc_filter) - rndis_per_dev_params[configNr].dev = dev; - rndis_per_dev_params[configNr].filter = cdc_filter; - -- rndis_ul_max_xfer_size_rcvd = 0; -- rndis_ul_max_pkt_per_xfer_rcvd = 0; - return 0; - } - EXPORT_SYMBOL_GPL(rndis_set_param_dev); -@@ -1050,13 +946,6 @@ int rndis_set_param_medium(u8 configNr, u32 medium, u32 speed) - } - EXPORT_SYMBOL_GPL(rndis_set_param_medium); - --void rndis_set_max_pkt_xfer(u8 configNr, u8 max_pkt_per_xfer) --{ -- pr_debug("%s:\n", __func__); -- -- rndis_per_dev_params[configNr].max_pkt_per_xfer = max_pkt_per_xfer; --} -- - void rndis_add_hdr(struct sk_buff *skb) - { - struct rndis_packet_msg_type *header; -@@ -1080,9 +969,6 @@ void rndis_free_response(int configNr, u8 *buf) - list_for_each_safe(act, tmp, - &(rndis_per_dev_params[configNr].resp_queue)) - { -- if (!act) -- continue; -- - r = list_entry(act, rndis_resp_t, list); - if (r && r->buf == buf) { - list_del(&r->list); -@@ -1135,73 +1021,23 @@ int rndis_rm_hdr(struct gether *port, - struct sk_buff *skb, - struct sk_buff_head *list) - { -- int num_pkts = 1; -- -- if (skb->len > rndis_ul_max_xfer_size_rcvd) -- rndis_ul_max_xfer_size_rcvd = skb->len; -- -- while (skb->len) { -- struct rndis_packet_msg_type *hdr; -- struct sk_buff *skb2; -- u32 msg_len, data_offset, data_len; -- -- /* some rndis hosts send extra byte to avoid zlp, ignore it */ -- if (skb->len == 1) { -- dev_kfree_skb_any(skb); -- return 0; -- } -- -- if (skb->len < sizeof *hdr) { -- pr_err("invalid rndis pkt: skblen:%u hdr_len:%u", -- (unsigned int)(skb->len), (unsigned int)sizeof(*hdr)); -- dev_kfree_skb_any(skb); -- return -EINVAL; -- } -- -- hdr = (void *)skb->data; -- msg_len = le32_to_cpu(hdr->MessageLength); -- data_offset = le32_to_cpu(hdr->DataOffset); -- data_len = le32_to_cpu(hdr->DataLength); -- -- if (skb->len < msg_len || -- ((data_offset + data_len + 8) > msg_len)) { -- pr_err("invalid rndis message: %d/%d/%d/%d, len:%d\n", -- le32_to_cpu(hdr->MessageType), -- msg_len, data_offset, data_len, skb->len); -- dev_kfree_skb_any(skb); -- return -EOVERFLOW; -- } -- if (le32_to_cpu(hdr->MessageType) != RNDIS_MSG_PACKET) { -- pr_err("invalid rndis message: %d/%d/%d/%d, len:%d\n", -- le32_to_cpu(hdr->MessageType), -- msg_len, data_offset, data_len, skb->len); -- dev_kfree_skb_any(skb); -- return -EINVAL; -- } -+ /* tmp points to a struct rndis_packet_msg_type */ -+ __le32 *tmp = (void *)skb->data; - -- skb_pull(skb, data_offset + 8); -- -- if (msg_len == skb->len) { -- skb_trim(skb, data_len); -- break; -- } -- -- skb2 = skb_clone(skb, GFP_ATOMIC); -- if (!skb2) { -- pr_err("%s:skb clone failed\n", __func__); -- dev_kfree_skb_any(skb); -- return -ENOMEM; -- } -- -- skb_pull(skb, msg_len - sizeof *hdr); -- skb_trim(skb2, data_len); -- skb_queue_tail(list, skb2); -- -- num_pkts++; -+ /* MessageType, MessageLength */ -+ if (cpu_to_le32(RNDIS_MSG_PACKET) -+ != get_unaligned(tmp++)) { -+ dev_kfree_skb_any(skb); -+ return -EINVAL; - } -+ tmp++; - -- if (num_pkts > rndis_ul_max_pkt_per_xfer_rcvd) -- rndis_ul_max_pkt_per_xfer_rcvd = num_pkts; -+ /* DataOffset, DataLength */ -+ if (!skb_pull(skb, get_unaligned_le32(tmp++) + 8)) { -+ dev_kfree_skb_any(skb); -+ return -EOVERFLOW; -+ } -+ skb_trim(skb, get_unaligned_le32(tmp++)); - - skb_queue_tail(list, skb); - return 0; -@@ -1222,9 +1058,7 @@ static int rndis_proc_show(struct seq_file *m, void *v) - "speed : %d\n" - "cable : %s\n" - "vendor ID : 0x%08X\n" -- "vendor : %s\n" -- "ul-max-xfer-size:%d max-xfer-size-rcvd: %d\n" -- "ul-max-pkts-per-xfer:%d max-pkts-per-xfer-rcvd:%d\n", -+ "vendor : %s\n", - param->confignr, (param->used) ? "y" : "n", - ({ char *s = "?"; - switch (param->state) { -@@ -1238,13 +1072,7 @@ static int rndis_proc_show(struct seq_file *m, void *v) - param->medium, - (param->media_state) ? 0 : param->speed*100, - (param->media_state) ? "disconnected" : "connected", -- param->vendorID, param->vendorDescr, -- param->max_pkt_per_xfer * -- (param->dev->mtu + sizeof(struct ethhdr) + -- sizeof(struct rndis_packet_msg_type) + 22), -- rndis_ul_max_xfer_size_rcvd, -- param->max_pkt_per_xfer, -- rndis_ul_max_pkt_per_xfer_rcvd); -+ param->vendorID, param->vendorDescr); - return 0; - } - -@@ -1307,12 +1135,13 @@ static const struct file_operations rndis_proc_fops = { - .write = rndis_proc_write, - }; - --define NAME_TEMPLATE "driver/rndis-%03d" -+#define NAME_TEMPLATE "driver/rndis-%03d" - - static struct proc_dir_entry *rndis_connect_state [RNDIS_MAX_CONFIGS]; - - #endif /* CONFIG_USB_GADGET_DEBUG_FILES */ - -+ - int rndis_init(void) - { - u8 i; -diff --git a/drivers/usb/gadget/function/rndis.h b/drivers/usb/gadget/function/rndis.h -index 145f01b18190..0f4abb4c3775 100644 ---- a/drivers/usb/gadget/function/rndis.h -+++ b/drivers/usb/gadget/function/rndis.h -@@ -190,7 +190,6 @@ typedef struct rndis_params - struct net_device *dev; - - u32 vendorID; -- u8 max_pkt_per_xfer; - const char *vendorDescr; - void (*resp_avail)(void *v); - void *v; -@@ -206,7 +205,6 @@ int rndis_set_param_dev (u8 configNr, struct net_device *dev, - int rndis_set_param_vendor (u8 configNr, u32 vendorID, - const char *vendorDescr); - int rndis_set_param_medium (u8 configNr, u32 medium, u32 speed); --void rndis_set_max_pkt_xfer(u8 configNr, u8 max_pkt_per_xfer); - void rndis_add_hdr (struct sk_buff *skb); - int rndis_rm_hdr(struct gether *port, struct sk_buff *skb, - struct sk_buff_head *list); -diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c -index 05cef7e1b718..33011f8ee865 100644 ---- a/drivers/usb/gadget/function/u_ether.c -+++ b/drivers/usb/gadget/function/u_ether.c -@@ -23,8 +23,7 @@ - #include - - #include "u_ether.h" --#include "usb_boost.h" --#include "rndis.h" -+ - - /* - * This component encapsulates the Ethernet link glue needed to provide -@@ -49,9 +48,6 @@ - - #define UETH__VERSION "29-May-2008" - --static struct workqueue_struct *uether_wq; --static struct workqueue_struct *uether_wq1; -- - struct eth_dev { - /* lock is held while accessing port_usb - */ -@@ -61,32 +57,21 @@ struct eth_dev { - struct net_device *net; - struct usb_gadget *gadget; - -- spinlock_t req_lock; /* guard {tx}_reqs */ -- spinlock_t reqrx_lock; /* guard {rx}_reqs */ -+ spinlock_t req_lock; /* guard {rx,tx}_reqs */ - struct list_head tx_reqs, rx_reqs; -- unsigned tx_qlen; --/* Minimum number of TX USB request queued to UDC */ --#define TX_REQ_THRESHOLD 5 -- int no_tx_req_used; -- int tx_skb_hold_count; -- u32 tx_req_bufsize; -+ atomic_t tx_qlen; - - struct sk_buff_head rx_frames; - - unsigned qmult; - - unsigned header_len; -- unsigned ul_max_pkts_per_xfer; -- unsigned dl_max_pkts_per_xfer; -- uint32_t dl_max_xfer_size; - struct sk_buff *(*wrap)(struct gether *, struct sk_buff *skb); - int (*unwrap)(struct gether *, - struct sk_buff *skb, - struct sk_buff_head *list); - - struct work_struct work; -- struct work_struct rx_work; -- struct work_struct rx_work1; - - unsigned long todo; - #define WORK_RX_MEMORY 0 -@@ -102,14 +87,6 @@ struct eth_dev { - - #define DEFAULT_QLEN 2 /* double buffering by default */ - --static unsigned tx_wakeup_threshold = 13; --module_param(tx_wakeup_threshold, uint, S_IRUGO|S_IWUSR); --MODULE_PARM_DESC(tx_wakeup_threshold, "tx wakeup threshold value"); -- --#define U_ETHER_RX_PENDING_TSHOLD 100 --static unsigned int u_ether_rx_pending_thld = U_ETHER_RX_PENDING_TSHOLD; --module_param(u_ether_rx_pending_thld, uint, S_IRUGO | S_IWUSR); -- - /* for dual-speed hardware, use deeper queues at high/super speed */ - static inline int qlen(struct usb_gadget *gadget, unsigned qmult) - { -@@ -156,23 +133,6 @@ static inline int qlen(struct usb_gadget *gadget, unsigned qmult) - xprintk(dev , KERN_INFO , fmt , ## args) - - /*-------------------------------------------------------------------------*/ --unsigned int rndis_test_last_resp_id; --unsigned int rndis_test_last_msg_id; -- --unsigned long rndis_test_reset_msg_cnt; -- --unsigned long rndis_test_rx_usb_in; --unsigned long rndis_test_rx_net_out; --unsigned long rndis_test_rx_nomem; --unsigned long rndis_test_rx_error; -- --unsigned long rndis_test_tx_net_in; --unsigned long rndis_test_tx_busy; --unsigned long rndis_test_tx_stop; -- --unsigned long rndis_test_tx_usb_out; --unsigned long rndis_test_tx_complete; --#define U_ETHER_DBG(fmt, args...) pr_debug("U_ETHER,%s, " fmt, __func__, ## args) - - /* NETWORK DRIVER HOOKUP (to the layer above this driver) */ - -@@ -191,7 +151,6 @@ static int ueth_change_mtu(struct net_device *net, int new_mtu) - else - net->mtu = new_mtu; - spin_unlock_irqrestore(&dev->lock, flags); -- U_ETHER_DBG("mtu to %d, status is %d\n", new_mtu , status); - - return status; - } -@@ -228,7 +187,6 @@ static void defer_kevent(struct eth_dev *dev, int flag) - } - - static void rx_complete(struct usb_ep *ep, struct usb_request *req); --static void tx_complete(struct usb_ep *ep, struct usb_request *req); - - static int - rx_submit(struct eth_dev *dev, struct usb_request *req, gfp_t gfp_flags) -@@ -267,18 +225,12 @@ rx_submit(struct eth_dev *dev, struct usb_request *req, gfp_t gfp_flags) - size += out->maxpacket - 1; - size -= size % out->maxpacket; - -- if (dev->ul_max_pkts_per_xfer) -- size *= dev->ul_max_pkts_per_xfer; -- - if (dev->port_usb->is_fixed) - size = max_t(size_t, size, dev->port_usb->fixed_out_len); - -- U_ETHER_DBG("size:%d, mtu:%d, hdr_len:%d, maxpacket:%d, ul_max_pkts_per_xfer:%d", -- (int)size, dev->net->mtu, dev->port_usb->header_len, out->maxpacket, dev->ul_max_pkts_per_xfer); - skb = alloc_skb(size + NET_IP_ALIGN, gfp_flags); - if (skb == NULL) { -- U_ETHER_DBG("no rx skb\n"); -- rndis_test_rx_nomem++; -+ DBG(dev, "no rx skb\n"); - goto enomem; - } - -@@ -290,6 +242,7 @@ rx_submit(struct eth_dev *dev, struct usb_request *req, gfp_t gfp_flags) - - req->buf = skb->data; - req->length = size; -+ req->complete = rx_complete; - req->context = skb; - - retval = usb_ep_queue(out, req, gfp_flags); -@@ -300,22 +253,23 @@ enomem: - DBG(dev, "rx submit --> %d\n", retval); - if (skb) - dev_kfree_skb_any(skb); -+ spin_lock_irqsave(&dev->req_lock, flags); -+ list_add(&req->list, &dev->rx_reqs); -+ spin_unlock_irqrestore(&dev->req_lock, flags); - } - return retval; - } - - static void rx_complete(struct usb_ep *ep, struct usb_request *req) - { -- struct sk_buff *skb = req->context; -+ struct sk_buff *skb = req->context, *skb2; - struct eth_dev *dev = ep->driver_data; - int status = req->status; -- bool queue = 0; - - switch (status) { - - /* normal completion */ - case 0: -- U_ETHER_DBG("len(%d)\n", req->actual); - skb_put(skb, req->actual); - - if (dev->unwrap) { -@@ -326,10 +280,6 @@ static void rx_complete(struct usb_ep *ep, struct usb_request *req) - status = dev->unwrap(dev->port_usb, - skb, - &dev->rx_frames); -- if (status == -EINVAL) -- dev->net->stats.rx_errors++; -- else if (status == -EOVERFLOW) -- dev->net->stats.rx_over_errors++; - } else { - dev_kfree_skb_any(skb); - status = -ENOTCONN; -@@ -338,10 +288,30 @@ static void rx_complete(struct usb_ep *ep, struct usb_request *req) - } else { - skb_queue_tail(&dev->rx_frames, skb); - } -+ skb = NULL; -+ -+ skb2 = skb_dequeue(&dev->rx_frames); -+ while (skb2) { -+ if (status < 0 -+ || ETH_HLEN > skb2->len -+ || skb2->len > VLAN_ETH_FRAME_LEN) { -+ dev->net->stats.rx_errors++; -+ dev->net->stats.rx_length_errors++; -+ DBG(dev, "rx length %d\n", skb2->len); -+ dev_kfree_skb_any(skb2); -+ goto next_frame; -+ } -+ skb2->protocol = eth_type_trans(skb2, dev->net); -+ dev->net->stats.rx_packets++; -+ dev->net->stats.rx_bytes += skb2->len; - -- if (!status) -- queue = 1; -- rndis_test_rx_usb_in++; -+ /* no buffer copies needed, unless hardware can't -+ * use skb buffers. -+ */ -+ status = netif_rx(skb2); -+next_frame: -+ skb2 = skb_dequeue(&dev->rx_frames); -+ } - break; - - /* software-driven interface shutdown */ -@@ -364,37 +334,28 @@ quiesce: - /* FALLTHROUGH */ - - default: -- queue = 1; -- dev_kfree_skb_any(skb); - dev->net->stats.rx_errors++; - DBG(dev, "rx status %d\n", status); - break; - } - -+ if (skb) -+ dev_kfree_skb_any(skb); -+ if (!netif_running(dev->net)) { - clean: -- if (queue && dev->rx_frames.qlen <= u_ether_rx_pending_thld) { -- if (rx_submit(dev, req, GFP_ATOMIC) < 0) { -- spin_lock(&dev->reqrx_lock); -- list_add(&req->list, &dev->rx_reqs); -- spin_unlock(&dev->reqrx_lock); -- } -- } else { -- spin_lock(&dev->reqrx_lock); -+ spin_lock(&dev->req_lock); - list_add(&req->list, &dev->rx_reqs); -- spin_unlock(&dev->reqrx_lock); -- } -- -- if (queue) { -- queue_work(uether_wq, &dev->rx_work); -- queue_work(uether_wq1, &dev->rx_work1); -+ spin_unlock(&dev->req_lock); -+ req = NULL; - } -+ if (req) -+ rx_submit(dev, req, GFP_ATOMIC); - } - - static int prealloc(struct list_head *list, struct usb_ep *ep, unsigned n) - { - unsigned i; - struct usb_request *req; -- bool usb_in; - - if (!n) - return -ENOMEM; -@@ -405,21 +366,10 @@ static int prealloc(struct list_head *list, struct usb_ep *ep, unsigned n) - if (i-- == 0) - goto extra; - } -- -- if (ep->desc->bEndpointAddress & USB_DIR_IN) -- usb_in = true; -- else -- usb_in = false; -- - while (i--) { - req = usb_ep_alloc_request(ep, GFP_ATOMIC); - if (!req) - return list_empty(list) ? -ENOMEM : 0; -- /* update completion handler */ -- if (usb_in) -- req->complete = tx_complete; -- else -- req->complete = rx_complete; - list_add(&req->list, list); - } - return 0; -@@ -447,22 +397,16 @@ static int alloc_requests(struct eth_dev *dev, struct gether *link, unsigned n) - - spin_lock(&dev->req_lock); - status = prealloc(&dev->tx_reqs, link->in_ep, n); -- if (status < 0) { -- spin_unlock(&dev->req_lock); -- U_ETHER_DBG("can't alloc tx requests\n"); -- return status; -- } -- spin_unlock(&dev->req_lock); -- -- spin_lock(&dev->reqrx_lock); -+ if (status < 0) -+ goto fail; - status = prealloc(&dev->rx_reqs, link->out_ep, n); -- if (status < 0) { -- spin_unlock(&dev->reqrx_lock); -- U_ETHER_DBG("can't alloc rx requests\n"); -- return status; -- } -- spin_unlock(&dev->reqrx_lock); -- -+ if (status < 0) -+ goto fail; -+ goto done; -+fail: -+ DBG(dev, "can't alloc requests\n"); -+done: -+ spin_unlock(&dev->req_lock); - return status; - } - -@@ -470,69 +414,23 @@ static void rx_fill(struct eth_dev *dev, gfp_t gfp_flags) - { - struct usb_request *req; - unsigned long flags; -- int req_cnt = 0; - - /* fill unused rxq slots with some skb */ -- spin_lock_irqsave(&dev->reqrx_lock, flags); -+ spin_lock_irqsave(&dev->req_lock, flags); - while (!list_empty(&dev->rx_reqs)) { -- /* break the nexus of continuous completion and re-submission*/ -- if (++req_cnt > qlen(dev->gadget, dev->qmult)) -- break; -- - req = container_of(dev->rx_reqs.next, - struct usb_request, list); - list_del_init(&req->list); -- spin_unlock_irqrestore(&dev->reqrx_lock, flags); -+ spin_unlock_irqrestore(&dev->req_lock, flags); - - if (rx_submit(dev, req, gfp_flags) < 0) { -- spin_lock_irqsave(&dev->reqrx_lock, flags); -- list_add(&req->list, &dev->rx_reqs); -- spin_unlock_irqrestore(&dev->reqrx_lock, flags); - defer_kevent(dev, WORK_RX_MEMORY); - return; - } - -- spin_lock_irqsave(&dev->reqrx_lock, flags); -- } -- spin_unlock_irqrestore(&dev->reqrx_lock, flags); --} -- --static void process_rx_w(struct work_struct *work) --{ -- struct eth_dev *dev = container_of(work, struct eth_dev, rx_work); -- struct sk_buff *skb; -- int status = 0; -- -- if (!dev->port_usb) -- return; -- -- while ((skb = skb_dequeue(&dev->rx_frames))) { -- if (status < 0 -- || ETH_HLEN > skb->len -- || skb->len > ETH_FRAME_LEN) { -- dev->net->stats.rx_errors++; -- dev->net->stats.rx_length_errors++; -- rndis_test_rx_error++; -- DBG(dev, "rx length %d\n", skb->len); -- dev_kfree_skb_any(skb); -- continue; -- } -- skb->protocol = eth_type_trans(skb, dev->net); -- dev->net->stats.rx_packets++; -- dev->net->stats.rx_bytes += skb->len; --#if defined(NETDEV_TRACE) && defined(NETDEV_UL_TRACE) -- skb->dbg_flag = 0x4; --#endif -- -- rndis_test_rx_net_out++; -- status = netif_rx_ni(skb); -+ spin_lock_irqsave(&dev->req_lock, flags); - } -- --/* move to another workthread */ --#if 0 -- if (netif_running(dev->net)) -- rx_fill(dev, GFP_KERNEL); --#endif -+ spin_unlock_irqrestore(&dev->req_lock, flags); - } - - static void eth_work(struct work_struct *work) -@@ -548,39 +446,10 @@ static void eth_work(struct work_struct *work) - DBG(dev, "work done, flags = 0x%lx\n", dev->todo); - } - --static void process_rx_w1(struct work_struct *work) --{ -- struct eth_dev *dev = container_of(work, struct eth_dev, rx_work1); -- -- if (!dev->port_usb) -- return; -- -- if (netif_running(dev->net)) -- rx_fill(dev, GFP_KERNEL); --} -- - static void tx_complete(struct usb_ep *ep, struct usb_request *req) - { -- struct sk_buff *skb; -- struct eth_dev *dev; -- struct net_device *net; -- struct usb_request *new_req; -- struct usb_ep *in; -- int length; -- int retval; -- -- if (!ep->driver_data) { -- usb_ep_free_request(ep, req); -- return; -- } -- -- dev = ep->driver_data; -- net = dev->net; -- -- if (!dev->port_usb) { -- usb_ep_free_request(ep, req); -- return; -- } -+ struct sk_buff *skb = req->context; -+ struct eth_dev *dev = ep->driver_data; - - switch (req->status) { - default: -@@ -591,104 +460,18 @@ static void tx_complete(struct usb_ep *ep, struct usb_request *req) - case -ESHUTDOWN: /* disconnect etc */ - break; - case 0: -- if (!req->zero) -- dev->net->stats.tx_bytes += req->length-1; -- else -- dev->net->stats.tx_bytes += req->length; -+ dev->net->stats.tx_bytes += skb->len; - } - dev->net->stats.tx_packets++; -- rndis_test_tx_complete++; - - spin_lock(&dev->req_lock); -- list_add_tail(&req->list, &dev->tx_reqs); -- -- if (dev->port_usb->multi_pkt_xfer && !req->context) { -- dev->no_tx_req_used--; -- req->length = 0; -- in = dev->port_usb->in_ep; -- -- if (!list_empty(&dev->tx_reqs)) { -- new_req = container_of(dev->tx_reqs.next, -- struct usb_request, list); -- list_del(&new_req->list); -- spin_unlock(&dev->req_lock); -- if (new_req->length > 0) { -- length = new_req->length; -- -- /* NCM requires no zlp if transfer is -- * dwNtbInMaxSize */ -- if (dev->port_usb->is_fixed && -- length == dev->port_usb->fixed_in_len && -- (length % in->maxpacket) == 0) -- new_req->zero = 0; -- else -- new_req->zero = 1; -- -- /* use zlp framing on tx for strict CDC-Ether -- * conformance, though any robust network rx -- * path ignores extra padding. and some hardware -- * doesn't like to write zlps. -- */ -- if (new_req->zero && !dev->zlp && -- (length % in->maxpacket) == 0) { -- new_req->zero = 0; -- length++; -- } -- -- new_req->length = length; -- retval = usb_ep_queue(in, new_req, GFP_ATOMIC); -- switch (retval) { -- default: -- DBG(dev, "tx queue err %d\n", retval); -- new_req->length = 0; -- spin_lock(&dev->req_lock); -- list_add_tail(&new_req->list, &dev->tx_reqs); -- spin_unlock(&dev->req_lock); -- break; -- case 0: -- spin_lock(&dev->req_lock); -- dev->no_tx_req_used++; -- spin_unlock(&dev->req_lock); -- net->trans_start = jiffies; -- } -- } else { -- spin_lock(&dev->req_lock); -- /* -- * Put the idle request at the back of the -- * queue. The xmit function will put the -- * unfinished request at the beginning of the -- * queue. -- */ -- list_add_tail(&new_req->list, &dev->tx_reqs); -- spin_unlock(&dev->req_lock); -- } -- } else { -- spin_unlock(&dev->req_lock); -- } -- } else { -- skb = req->context; -- /* Is aggregation already enabled and buffers allocated ? */ -- if (dev->port_usb->multi_pkt_xfer && dev->tx_req_bufsize) { --#if defined(CONFIG_64BIT) && defined(CONFIG_MTK_LM_MODE) -- req->buf = kzalloc(dev->tx_req_bufsize, GFP_ATOMIC | GFP_DMA); --#else -- req->buf = kzalloc(dev->tx_req_bufsize, GFP_ATOMIC); --#endif -- req->context = NULL; -- } else { -- req->buf = NULL; -- } -- -- spin_unlock(&dev->req_lock); -- dev_kfree_skb_any(skb); -- } -+ list_add(&req->list, &dev->tx_reqs); -+ spin_unlock(&dev->req_lock); -+ dev_kfree_skb_any(skb); - -- if (netif_carrier_ok(dev->net)) { -- spin_lock(&dev->req_lock); -- if (dev->no_tx_req_used < tx_wakeup_threshold) -- netif_wake_queue(dev->net); -- spin_unlock(&dev->req_lock); -- } -+ atomic_dec(&dev->tx_qlen); -+ if (netif_carrier_ok(dev->net)) -+ netif_wake_queue(dev->net); - } - - static inline int is_promisc(u16 cdc_filter) -@@ -696,47 +479,6 @@ static inline int is_promisc(u16 cdc_filter) - return cdc_filter & USB_CDC_PACKET_TYPE_PROMISCUOUS; - } - --static int alloc_tx_buffer(struct eth_dev *dev) --{ -- struct list_head *act; -- struct usb_request *req; -- -- dev->tx_req_bufsize = (dev->dl_max_pkts_per_xfer * -- (dev->net->mtu -- + sizeof(struct ethhdr) -- /* size of rndis_packet_msg_type */ -- + 44 -- + 22)); -- -- list_for_each(act, &dev->tx_reqs) { -- req = container_of(act, struct usb_request, list); -- if (!req->buf) { --#if defined(CONFIG_64BIT) && defined(CONFIG_MTK_LM_MODE) -- req->buf = kzalloc(dev->tx_req_bufsize, -- GFP_ATOMIC | GFP_DMA); --#else -- req->buf = kzalloc(dev->tx_req_bufsize, -- GFP_ATOMIC); --#endif -- if (!req->buf) -- goto free_buf; -- } -- /* req->context is not used for multi_pkt_xfers */ -- req->context = NULL; -- } -- return 0; -- --free_buf: -- /* tx_req_bufsize = 0 retries mem alloc on next eth_start_xmit */ -- dev->tx_req_bufsize = 0; -- list_for_each(act, &dev->tx_reqs) { -- req = container_of(act, struct usb_request, list); -- kfree(req->buf); -- req->buf = NULL; -- } -- return -ENOMEM; --} -- - static netdev_tx_t eth_start_xmit(struct sk_buff *skb, - struct net_device *net) - { -@@ -745,20 +487,16 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb, - int retval; - struct usb_request *req = NULL; - unsigned long flags; -- struct usb_ep *in = NULL; -- u16 cdc_filter = 0; -- bool multi_pkt_xfer = false; -- uint32_t max_size = 0; -- static unsigned int okCnt, busyCnt; -- static DEFINE_RATELIMIT_STATE(ratelimit1, 1 * HZ, 2); -- static DEFINE_RATELIMIT_STATE(ratelimit2, 1 * HZ, 2); -+ struct usb_ep *in; -+ u16 cdc_filter; - - spin_lock_irqsave(&dev->lock, flags); - if (dev->port_usb) { - in = dev->port_usb->in_ep; - cdc_filter = dev->port_usb->cdc_filter; -- multi_pkt_xfer = dev->port_usb->multi_pkt_xfer; -- max_size = dev->dl_max_xfer_size; -+ } else { -+ in = NULL; -+ cdc_filter = 0; - } - spin_unlock_irqrestore(&dev->lock, flags); - -@@ -767,7 +505,6 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb, - return NETDEV_TX_OK; - } - -- - /* apply outgoing CDC or RNDIS filters */ - if (skb && !is_promisc(cdc_filter)) { - u8 *dest = skb->data; -@@ -784,122 +521,57 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb, - type = USB_CDC_PACKET_TYPE_ALL_MULTICAST; - if (!(cdc_filter & type)) { - dev_kfree_skb_any(skb); -- U_ETHER_DBG("cdc_filter error, cdc_filter is 0x%x , type is 0x%x\n", -- cdc_filter , type); - return NETDEV_TX_OK; - } - } - /* ignores USB_CDC_PACKET_TYPE_DIRECTED */ - } -- /* -- * No buffer copies needed, unless the network stack did it -- * or the hardware can't use skb buffers or there's not enough -- * enough space for extra headers we need. -- */ -- spin_lock_irqsave(&dev->lock, flags); -- if (dev->wrap && dev->port_usb) -- skb = dev->wrap(dev->port_usb, skb); -- spin_unlock_irqrestore(&dev->lock, flags); -- -- if (!skb) { -- if (!dev->port_usb->supports_multi_frame) -- dev->net->stats.tx_dropped++; -- /* no error code for dropped packets */ -- return NETDEV_TX_OK; -- } - - spin_lock_irqsave(&dev->req_lock, flags); -- /* Allocate memory for tx_reqs to support multi packet transfer */ -- if (multi_pkt_xfer && !dev->tx_req_bufsize) { -- retval = alloc_tx_buffer(dev); -- if (retval < 0) { -- spin_unlock_irqrestore(&dev->req_lock, flags); -- return -ENOMEM; -- } -- } -- if (__ratelimit(&ratelimit1)) { -- usb_boost(); -- U_ETHER_DBG("spd %d,ms %d,rin %lu,rout %lu,rxmem %lu,rxerr %lu\n" -- "tin %lu,tout %lu,tb %lu,ts %lu,tx_com %lu,lmsg: 0x%x,lrsp:0x%x,rst:%lu\n", -- dev->gadget->speed, max_size, rndis_test_rx_usb_in, rndis_test_rx_net_out, -- rndis_test_rx_nomem, rndis_test_rx_error, rndis_test_tx_net_in, -- rndis_test_tx_usb_out, rndis_test_tx_busy, rndis_test_tx_stop, -- rndis_test_tx_complete, rndis_test_last_msg_id, rndis_test_last_resp_id, -- rndis_test_reset_msg_cnt); -- } -- rndis_test_tx_net_in++; - /* - * this freelist can be empty if an interrupt triggered disconnect() - * and reconfigured the gadget (shutting down this queue) after the - * network stack decided to xmit but before we got the spinlock. - */ - if (list_empty(&dev->tx_reqs)) { -- busyCnt++; -- if (__ratelimit(&ratelimit2)) -- U_ETHER_DBG("okCnt : %u, busyCnt : %u\n", -- okCnt, busyCnt); - spin_unlock_irqrestore(&dev->req_lock, flags); -- rndis_test_tx_busy++; - return NETDEV_TX_BUSY; - } -- okCnt++; - - req = container_of(dev->tx_reqs.next, struct usb_request, list); - list_del(&req->list); - - /* temporarily stop TX queue when the freelist empties */ -- if (list_empty(&dev->tx_reqs)) { -- rndis_test_tx_stop++; -+ if (list_empty(&dev->tx_reqs)) - netif_stop_queue(net); -- } - spin_unlock_irqrestore(&dev->req_lock, flags); - -- if (dev->port_usb == NULL) { -- dev_kfree_skb_any(skb); -- U_ETHER_DBG("port_usb NULL\n"); -- return NETDEV_TX_OK; -- } -- -- if (multi_pkt_xfer) { -- pr_debug("req->length:%d header_len:%u\n" -- "skb->len:%d skb->data_len:%d\n", -- req->length, dev->header_len, -- skb->len, skb->data_len); -- /* Add RNDIS Header */ -- memcpy(req->buf + req->length, dev->port_usb->header, -- dev->header_len); -- /* Increment req length by header size */ -- req->length += dev->header_len; -- /* Copy received IP data from SKB */ -- memcpy(req->buf + req->length, skb->data, skb->len); -- /* Increment req length by skb data length */ -- req->length += skb->len; -- length = req->length; -- dev_kfree_skb_any(skb); -- -- spin_lock_irqsave(&dev->req_lock, flags); -- dev->tx_skb_hold_count++; -- /* if (dev->tx_skb_hold_count < dev->dl_max_pkts_per_xfer) { */ -- if ((dev->tx_skb_hold_count < dev->dl_max_pkts_per_xfer) -- && (length < (max_size - dev->net->mtu))) { -- -- if (dev->no_tx_req_used > TX_REQ_THRESHOLD) { -- list_add(&req->list, &dev->tx_reqs); -- spin_unlock_irqrestore(&dev->req_lock, flags); -- goto success; -- } -+ /* no buffer copies needed, unless the network stack did it -+ * or the hardware can't use skb buffers. -+ * or there's not enough space for extra headers we need -+ */ -+ if (dev->wrap) { -+ unsigned long flags; -+ -+ spin_lock_irqsave(&dev->lock, flags); -+ if (dev->port_usb) -+ skb = dev->wrap(dev->port_usb, skb); -+ spin_unlock_irqrestore(&dev->lock, flags); -+ if (!skb) { -+ /* Multi frame CDC protocols may store the frame for -+ * later which is not a dropped frame. -+ */ -+ if (dev->port_usb->supports_multi_frame) -+ goto multiframe; -+ goto drop; - } -- -- dev->no_tx_req_used++; -- dev->tx_skb_hold_count = 0; -- spin_unlock_irqrestore(&dev->req_lock, flags); -- -- } else { -- length = skb->len; -- req->buf = skb->data; -- req->context = skb; - } - -+ length = skb->len; -+ req->buf = skb->data; -+ req->context = skb; -+ req->complete = tx_complete; -+ - /* NCM requires no zlp if transfer is dwNtbInMaxSize */ - if (dev->port_usb->is_fixed && - length == dev->port_usb->fixed_in_len && -@@ -912,36 +584,32 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb, - * though any robust network rx path ignores extra padding. - * and some hardware doesn't like to write zlps. - */ -- if (req->zero && !dev->zlp && (length % in->maxpacket) == 0) { -- req->zero = 0; -+ if (req->zero && !dev->zlp && (length % in->maxpacket) == 0) - length++; -- } - - req->length = length; - - retval = usb_ep_queue(in, req, GFP_ATOMIC); - switch (retval) { - default: -- U_ETHER_DBG("tx queue err %d\n", retval); -+ DBG(dev, "tx queue err %d\n", retval); - break; - case 0: -- rndis_test_tx_usb_out++; - net->trans_start = jiffies; -+ atomic_inc(&dev->tx_qlen); - } - - if (retval) { -- if (!multi_pkt_xfer) -- dev_kfree_skb_any(skb); -- else -- req->length = 0; -+ dev_kfree_skb_any(skb); -+drop: - dev->net->stats.tx_dropped++; -+multiframe: - spin_lock_irqsave(&dev->req_lock, flags); - if (list_empty(&dev->tx_reqs)) - netif_start_queue(net); -- list_add_tail(&req->list, &dev->tx_reqs); -+ list_add(&req->list, &dev->tx_reqs); - spin_unlock_irqrestore(&dev->req_lock, flags); - } --success: - return NETDEV_TX_OK; - } - -@@ -949,13 +617,13 @@ success: - - static void eth_start(struct eth_dev *dev, gfp_t gfp_flags) - { -- U_ETHER_DBG("\n"); -+ DBG(dev, "%s\n", __func__); - - /* fill the rx queue */ - rx_fill(dev, gfp_flags); - - /* and open the tx floodgates */ -- dev->tx_qlen = 0; -+ atomic_set(&dev->tx_qlen, 0); - netif_wake_queue(dev->net); - } - -@@ -964,7 +632,7 @@ static int eth_open(struct net_device *net) - struct eth_dev *dev = netdev_priv(net); - struct gether *link; - -- U_ETHER_DBG("\n"); -+ DBG(dev, "%s\n", __func__); - if (netif_carrier_ok(dev->net)) - eth_start(dev, GFP_KERNEL); - -@@ -982,7 +650,7 @@ static int eth_stop(struct net_device *net) - struct eth_dev *dev = netdev_priv(net); - unsigned long flags; - -- U_ETHER_DBG("\n"); -+ VDBG(dev, "%s\n", __func__); - netif_stop_queue(net); - - DBG(dev, "stop stats: rx/tx %ld/%ld, errs %ld/%ld\n", -@@ -1028,7 +696,6 @@ static int eth_stop(struct net_device *net) - - /*-------------------------------------------------------------------------*/ - -- - static int get_ether_addr(const char *str, u8 *dev_addr) - { - if (str) { -@@ -1060,20 +727,6 @@ static int get_ether_addr_str(u8 dev_addr[ETH_ALEN], char *str, int len) - dev_addr[3], dev_addr[4], dev_addr[5]); - return 18; - } --/* defined but not used due to MAC customization */ --#if 0 --static u8 host_ethaddr[ETH_ALEN]; --static int get_host_ether_addr(u8 *str, u8 *dev_addr) --{ -- memcpy(dev_addr, str, ETH_ALEN); -- if (is_valid_ether_addr(dev_addr)) -- return 0; -- -- random_ether_addr(dev_addr); -- memcpy(str, dev_addr, ETH_ALEN); -- return 1; --} --#endif - - static const struct net_device_ops eth_netdev_ops = { - .ndo_open = eth_open, -@@ -1117,10 +770,7 @@ struct eth_dev *gether_setup_name(struct usb_gadget *g, - dev = netdev_priv(net); - spin_lock_init(&dev->lock); - spin_lock_init(&dev->req_lock); -- spin_lock_init(&dev->reqrx_lock); - INIT_WORK(&dev->work, eth_work); -- INIT_WORK(&dev->rx_work, process_rx_w); -- INIT_WORK(&dev->rx_work1, process_rx_w1); - INIT_LIST_HEAD(&dev->tx_reqs); - INIT_LIST_HEAD(&dev->rx_reqs); - -@@ -1134,7 +784,6 @@ struct eth_dev *gether_setup_name(struct usb_gadget *g, - if (get_ether_addr(dev_addr, net->dev_addr)) - dev_warn(&g->dev, - "using random %s ethernet address\n", "self"); -- - if (get_ether_addr(host_addr, dev->host_mac)) - dev_warn(&g->dev, - "using random %s ethernet address\n", "host"); -@@ -1184,8 +833,6 @@ struct net_device *gether_setup_name_default(const char *netname) - spin_lock_init(&dev->lock); - spin_lock_init(&dev->req_lock); - INIT_WORK(&dev->work, eth_work); -- INIT_WORK(&dev->rx_work, process_rx_w); -- INIT_WORK(&dev->rx_work1, process_rx_w1); - INIT_LIST_HEAD(&dev->tx_reqs); - INIT_LIST_HEAD(&dev->rx_reqs); - -@@ -1352,16 +999,6 @@ int gether_get_ifname(struct net_device *net, char *name, int len) - } - EXPORT_SYMBOL_GPL(gether_get_ifname); - --void gether_update_dl_max_xfer_size(struct gether *link, uint32_t s) --{ -- struct eth_dev *dev = link->ioport; -- unsigned long flags; -- -- spin_lock_irqsave(&dev->lock, flags); -- dev->dl_max_xfer_size = s; -- spin_unlock_irqrestore(&dev->lock, flags); --} -- - /** - * gether_cleanup - remove Ethernet-over-USB device - * Context: may sleep -@@ -1402,13 +1039,6 @@ struct net_device *gether_connect(struct gether *link) - - if (!dev) - return ERR_PTR(-EINVAL); -- link->header = kzalloc(sizeof(struct rndis_packet_msg_type), -- GFP_ATOMIC); -- if (!link->header) { -- result = -ENOMEM; -- goto fail; -- } -- U_ETHER_DBG("\n"); - - link->in_ep->driver_data = dev; - result = usb_ep_enable(link->in_ep); -@@ -1437,14 +1067,8 @@ struct net_device *gether_connect(struct gether *link) - dev->header_len = link->header_len; - dev->unwrap = link->unwrap; - dev->wrap = link->wrap; -- dev->ul_max_pkts_per_xfer = link->ul_max_pkts_per_xfer; -- dev->dl_max_pkts_per_xfer = link->dl_max_pkts_per_xfer; -- dev->dl_max_xfer_size = link->dl_max_transfer_len; - - spin_lock(&dev->lock); -- dev->tx_skb_hold_count = 0; -- dev->no_tx_req_used = 0; -- dev->tx_req_bufsize = 0; - dev->port_usb = link; - if (netif_running(dev->net)) { - if (link->open) -@@ -1465,13 +1089,10 @@ struct net_device *gether_connect(struct gether *link) - fail1: - (void) usb_ep_disable(link->in_ep); - } -- /* caller is responsible for cleanup on error */ -- if (result < 0) { - fail0: -- kfree(link->header); --fail: -+ /* caller is responsible for cleanup on error */ -+ if (result < 0) - return ERR_PTR(result); -- } - return dev->net; - } - EXPORT_SYMBOL_GPL(gether_connect); -@@ -1492,25 +1113,12 @@ void gether_disconnect(struct gether *link) - { - struct eth_dev *dev = link->ioport; - struct usb_request *req; -- struct sk_buff *skb; - - WARN_ON(!dev); - if (!dev) - return; - -- U_ETHER_DBG("\n"); -- -- rndis_test_rx_usb_in = 0; -- rndis_test_rx_net_out = 0; -- rndis_test_rx_nomem = 0; -- rndis_test_rx_error = 0; -- -- rndis_test_tx_net_in = 0; -- rndis_test_tx_busy = 0; -- rndis_test_tx_stop = 0; -- -- rndis_test_tx_usb_out = 0; -- rndis_test_tx_complete = 0; -+ DBG(dev, "%s\n", __func__); - - netif_stop_queue(dev->net); - netif_carrier_off(dev->net); -@@ -1527,37 +1135,25 @@ void gether_disconnect(struct gether *link) - list_del(&req->list); - - spin_unlock(&dev->req_lock); -- if (link->multi_pkt_xfer) { -- kfree(req->buf); -- req->buf = NULL; -- } - usb_ep_free_request(link->in_ep, req); - spin_lock(&dev->req_lock); - } -- kfree(link->header); -- link->header = NULL; - spin_unlock(&dev->req_lock); - link->in_ep->driver_data = NULL; - link->in_ep->desc = NULL; - - usb_ep_disable(link->out_ep); -- spin_lock(&dev->reqrx_lock); -+ spin_lock(&dev->req_lock); - while (!list_empty(&dev->rx_reqs)) { - req = container_of(dev->rx_reqs.next, - struct usb_request, list); - list_del(&req->list); - -- spin_unlock(&dev->reqrx_lock); -+ spin_unlock(&dev->req_lock); - usb_ep_free_request(link->out_ep, req); -- spin_lock(&dev->reqrx_lock); -+ spin_lock(&dev->req_lock); - } -- spin_unlock(&dev->reqrx_lock); -- -- spin_lock(&dev->rx_frames.lock); -- while ((skb = __skb_dequeue(&dev->rx_frames))) -- dev_kfree_skb_any(skb); -- spin_unlock(&dev->rx_frames.lock); -- -+ spin_unlock(&dev->req_lock); - link->out_ep->driver_data = NULL; - link->out_ep->desc = NULL; - -@@ -1572,30 +1168,5 @@ void gether_disconnect(struct gether *link) - } - EXPORT_SYMBOL_GPL(gether_disconnect); - --static int __init gether_init(void) --{ -- uether_wq = create_singlethread_workqueue("uether"); -- if (!uether_wq) { -- pr_err("%s: Unable to create workqueue: uether\n", __func__); -- return -ENOMEM; -- } -- uether_wq1 = create_singlethread_workqueue("uether_rx1"); -- if (!uether_wq1) { -- destroy_workqueue(uether_wq); -- pr_err("%s: Unable to create workqueue: uether\n", __func__); -- return -ENOMEM; -- } -- return 0; --} --module_init(gether_init); -- --static void __exit gether_exit(void) --{ -- destroy_workqueue(uether_wq); -- destroy_workqueue(uether_wq1); -- --} --module_exit(gether_exit); -+MODULE_LICENSE("GPL"); - MODULE_AUTHOR("David Brownell"); --MODULE_DESCRIPTION("ethernet over USB driver"); --MODULE_LICENSE("GPL v2"); -diff --git a/drivers/usb/gadget/function/u_ether.h b/drivers/usb/gadget/function/u_ether.h -index 22d82976ed8a..334b38947916 100644 ---- a/drivers/usb/gadget/function/u_ether.h -+++ b/drivers/usb/gadget/function/u_ether.h -@@ -22,7 +22,7 @@ - - #include "gadget_chips.h" - --#define QMULT_DEFAULT 10 -+#define QMULT_DEFAULT 5 - - /* - * dev_addr: initial value -@@ -35,11 +35,11 @@ - MODULE_PARM_DESC(qmult, "queue length multiplier at high/super speed");\ - \ - static char *dev_addr; \ -- module_param(dev_addr, charp, S_IRUGO|S_IWUSR); \ -+ module_param(dev_addr, charp, S_IRUGO); \ - MODULE_PARM_DESC(dev_addr, "Device Ethernet Address"); \ - \ - static char *host_addr; \ -- module_param(host_addr, charp, S_IRUGO|S_IWUSR); \ -+ module_param(host_addr, charp, S_IRUGO); \ - MODULE_PARM_DESC(host_addr, "Host Ethernet Address") - - struct eth_dev; -@@ -75,10 +75,6 @@ struct gether { - bool is_fixed; - u32 fixed_out_len; - u32 fixed_in_len; -- unsigned ul_max_pkts_per_xfer; -- unsigned dl_max_pkts_per_xfer; -- unsigned dl_max_transfer_len; -- bool multi_pkt_xfer; - bool supports_multi_frame; - struct sk_buff *(*wrap)(struct gether *port, - struct sk_buff *skb); -@@ -89,7 +85,6 @@ struct gether { - /* called on network open/close */ - void (*open)(struct gether *); - void (*close)(struct gether *); -- struct rndis_packet_msg_type *header; - }; - - #define DEFAULT_FILTER (USB_CDC_PACKET_TYPE_BROADCAST \ -@@ -260,7 +255,6 @@ void gether_cleanup(struct eth_dev *dev); - /* connect/disconnect is handled by individual functions */ - struct net_device *gether_connect(struct gether *); - void gether_disconnect(struct gether *); --void gether_update_dl_max_xfer_size(struct gether *link, uint32_t s); - - /* Some controllers can't support CDC Ethernet (ECM) ... */ - static inline bool can_support_ecm(struct usb_gadget *gadget) -@@ -275,21 +269,4 @@ static inline bool can_support_ecm(struct usb_gadget *gadget) - return true; - } - --extern unsigned int rndis_test_last_resp_id; --extern unsigned int rndis_test_last_msg_id; -- --extern unsigned long rndis_test_reset_msg_cnt; -- --extern unsigned long rndis_test_rx_usb_in; --extern unsigned long rndis_test_rx_net_out; --extern unsigned long rndis_test_rx_nomem; --extern unsigned long rndis_test_rx_error; -- --extern unsigned long rndis_test_tx_net_in; --extern unsigned long rndis_test_tx_busy; --extern unsigned long rndis_test_tx_stop; -- --extern unsigned long rndis_test_tx_usb_out; --extern unsigned long rndis_test_tx_complete; -- - #endif /* __U_ETHER_H */ - \ No newline at end of file diff --git a/device/testing/linux-samsung-i747m/01_msm-fix-perf_trace_counters.patch b/device/testing/linux-samsung-i747m/01_msm-fix-perf_trace_counters.patch deleted file mode 100644 index 97812bf4e..000000000 --- a/device/testing/linux-samsung-i747m/01_msm-fix-perf_trace_counters.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e41494c15d4df342854ac3d2940f5d6ac3158212 Mon Sep 17 00:00:00 2001 -From: Bryan Huntsman -Date: Mon, 3 Jun 2013 18:48:08 -0700 -Subject: [PATCH] msm: fix in-tree compilation for perf_trace_counters - -In-tree compilation for arch/arm/mach-msm/perf_trace_counters.c was -hitting this error: - - In file included from arch/arm/mach-msm/perf_trace_counters.h:127:0, - from arch/arm/mach-msm/perf_trace_counters.c:14: - include/trace/define_trace.h:79:43: fatal error: ./perf_trace_counters.h: No such file or directory - -Instructions for TRACE_INCLUDE_FILE in include/trace/define_trace.h say -"the path is relative to define_trace.h, not the file including it". -Fix in-tree compilation by making the path relative to define_trace.h. - -Signed-off-by: Bryan Huntsman ---- - arch/arm/mach-msm/perf_trace_counters.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/arch/arm/mach-msm/perf_trace_counters.h b/arch/arm/mach-msm/perf_trace_counters.h -index ce7e336aa40d..8f77badf42ac 100644 ---- a/arch/arm/mach-msm/perf_trace_counters.h -+++ b/arch/arm/mach-msm/perf_trace_counters.h -@@ -121,7 +121,6 @@ TRACE_EVENT(sched_switch_with_ctrs, - - #endif - #undef TRACE_INCLUDE_PATH --#define TRACE_INCLUDE_PATH . -+#define TRACE_INCLUDE_PATH ../../arch/arm/mach-msm - #define TRACE_INCLUDE_FILE perf_trace_counters - #include -- diff --git a/device/testing/linux-samsung-klte/compiler-gcc6.h b/device/testing/linux-samsung-klte/compiler-gcc6.h deleted file mode 100644 index 844706318..000000000 --- a/device/testing/linux-samsung-klte/compiler-gcc6.h +++ /dev/null @@ -1,69 +0,0 @@ -// SOURCE: -// https://github.com/NextThingCo/CHIP-u-boot/issues/10#issuecomment-287515505 - -#ifndef __LINUX_COMPILER_H -#error "Please don't include directly, include instead." -#endif - -#define __used __attribute__((__used__)) -#define __must_check __attribute__((warn_unused_result)) -#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) - -/* Mark functions as cold. gcc will assume any path leading to a call - to them will be unlikely. This means a lot of manual unlikely()s - are unnecessary now for any paths leading to the usual suspects - like BUG(), printk(), panic() etc. [but let's keep them for now for - older compilers] - - Early snapshots of gcc 4.3 don't support this and we can't detect this - in the preprocessor, but we can live with this because they're unreleased. - Maketime probing would be overkill here. - - gcc also has a __attribute__((__hot__)) to move hot functions into - a special section, but I don't see any sense in this right now in - the kernel context */ -#define __cold __attribute__((__cold__)) - -#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) - -#ifndef __CHECKER__ -# define __compiletime_warning(message) __attribute__((warning(message))) -# define __compiletime_error(message) __attribute__((error(message))) -#endif /* __CHECKER__ */ - -/* - * Mark a position in code as unreachable. This can be used to - * suppress control flow warnings after asm blocks that transfer - * control elsewhere. - * - * Early snapshots of gcc 4.5 don't support this and we can't detect - * this in the preprocessor, but we can live with this because they're - * unreleased. Really, we need to have autoconf for the kernel. - */ -#define unreachable() __builtin_unreachable() - -/* Mark a function definition as prohibited from being cloned. */ -#define __noclone __attribute__((__noclone__)) - -/* - * Tell the optimizer that something else uses this function or variable. - */ -#define __visible __attribute__((externally_visible)) - -/* - * GCC 'asm goto' miscompiles certain code sequences: - * - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 - * - * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. - * - * (asm goto is automatically volatile - the naming reflects this.) - */ -#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) - -#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -#define __HAVE_BUILTIN_BSWAP32__ -#define __HAVE_BUILTIN_BSWAP64__ -#define __HAVE_BUILTIN_BSWAP16__ -#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ - diff --git a/device/testing/linux-samsung-kylessopen/01_msm-fix-perf_trace_counters.patch b/device/testing/linux-samsung-kylessopen/01_msm-fix-perf_trace_counters.patch deleted file mode 100644 index 97812bf4e..000000000 --- a/device/testing/linux-samsung-kylessopen/01_msm-fix-perf_trace_counters.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e41494c15d4df342854ac3d2940f5d6ac3158212 Mon Sep 17 00:00:00 2001 -From: Bryan Huntsman -Date: Mon, 3 Jun 2013 18:48:08 -0700 -Subject: [PATCH] msm: fix in-tree compilation for perf_trace_counters - -In-tree compilation for arch/arm/mach-msm/perf_trace_counters.c was -hitting this error: - - In file included from arch/arm/mach-msm/perf_trace_counters.h:127:0, - from arch/arm/mach-msm/perf_trace_counters.c:14: - include/trace/define_trace.h:79:43: fatal error: ./perf_trace_counters.h: No such file or directory - -Instructions for TRACE_INCLUDE_FILE in include/trace/define_trace.h say -"the path is relative to define_trace.h, not the file including it". -Fix in-tree compilation by making the path relative to define_trace.h. - -Signed-off-by: Bryan Huntsman ---- - arch/arm/mach-msm/perf_trace_counters.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/arch/arm/mach-msm/perf_trace_counters.h b/arch/arm/mach-msm/perf_trace_counters.h -index ce7e336aa40d..8f77badf42ac 100644 ---- a/arch/arm/mach-msm/perf_trace_counters.h -+++ b/arch/arm/mach-msm/perf_trace_counters.h -@@ -121,7 +121,6 @@ TRACE_EVENT(sched_switch_with_ctrs, - - #endif - #undef TRACE_INCLUDE_PATH --#define TRACE_INCLUDE_PATH . -+#define TRACE_INCLUDE_PATH ../../arch/arm/mach-msm - #define TRACE_INCLUDE_FILE perf_trace_counters - #include -- diff --git a/device/testing/linux-samsung-kylessopen/02_gpu-msm-fix-gcc5-compile.patch b/device/testing/linux-samsung-kylessopen/02_gpu-msm-fix-gcc5-compile.patch deleted file mode 100644 index 91b17cd76..000000000 --- a/device/testing/linux-samsung-kylessopen/02_gpu-msm-fix-gcc5-compile.patch +++ /dev/null @@ -1,33 +0,0 @@ -source: -https://github.com/ShinySide/HispAsian_Lollipop_G6/commit/b7756b6fc4bb728722b14d2dfdbaf1dc843812e9 - -* These need to be static to avoid these errors: - -drivers/built-in.o: In function `.LANCHOR1': -msm_iommu_sec.c:(.data+0x9298): undefined reference to `kgsl_iommu_sync_lock' -msm_iommu_sec.c:(.data+0x929c): undefined reference to `kgsl_iommu_sync_unlock' -Makefile:877: recipe for target '.tmp_vmlinux1' failed -make: *** [.tmp_vmlinux1] Error 1 - -Signed-off-by: Chet Kener - ---- a/drivers/gpu/msm/kgsl_iommu.c -+++ b/drivers/gpu/msm/kgsl_iommu.c -@@ -1010,7 +1010,7 @@ static int kgsl_iommu_init_sync_lock(struct kgsl_mmu *mmu) - * - * Return - int - number of commands. - */ --inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, -+static inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, - unsigned int *cmds) - { - struct kgsl_device *device = mmu->device; -@@ -1080,7 +1080,7 @@ inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, - * - * Return - int - number of commands. - */ --inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu, -+static inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu, - unsigned int *cmds) - { - struct kgsl_device *device = mmu->device; diff --git a/device/testing/linux-samsung-kylessopen/compiler-gcc6.h b/device/testing/linux-samsung-kylessopen/compiler-gcc6.h deleted file mode 100644 index 844706318..000000000 --- a/device/testing/linux-samsung-kylessopen/compiler-gcc6.h +++ /dev/null @@ -1,69 +0,0 @@ -// SOURCE: -// https://github.com/NextThingCo/CHIP-u-boot/issues/10#issuecomment-287515505 - -#ifndef __LINUX_COMPILER_H -#error "Please don't include directly, include instead." -#endif - -#define __used __attribute__((__used__)) -#define __must_check __attribute__((warn_unused_result)) -#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) - -/* Mark functions as cold. gcc will assume any path leading to a call - to them will be unlikely. This means a lot of manual unlikely()s - are unnecessary now for any paths leading to the usual suspects - like BUG(), printk(), panic() etc. [but let's keep them for now for - older compilers] - - Early snapshots of gcc 4.3 don't support this and we can't detect this - in the preprocessor, but we can live with this because they're unreleased. - Maketime probing would be overkill here. - - gcc also has a __attribute__((__hot__)) to move hot functions into - a special section, but I don't see any sense in this right now in - the kernel context */ -#define __cold __attribute__((__cold__)) - -#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) - -#ifndef __CHECKER__ -# define __compiletime_warning(message) __attribute__((warning(message))) -# define __compiletime_error(message) __attribute__((error(message))) -#endif /* __CHECKER__ */ - -/* - * Mark a position in code as unreachable. This can be used to - * suppress control flow warnings after asm blocks that transfer - * control elsewhere. - * - * Early snapshots of gcc 4.5 don't support this and we can't detect - * this in the preprocessor, but we can live with this because they're - * unreleased. Really, we need to have autoconf for the kernel. - */ -#define unreachable() __builtin_unreachable() - -/* Mark a function definition as prohibited from being cloned. */ -#define __noclone __attribute__((__noclone__)) - -/* - * Tell the optimizer that something else uses this function or variable. - */ -#define __visible __attribute__((externally_visible)) - -/* - * GCC 'asm goto' miscompiles certain code sequences: - * - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 - * - * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. - * - * (asm goto is automatically volatile - the naming reflects this.) - */ -#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) - -#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -#define __HAVE_BUILTIN_BSWAP32__ -#define __HAVE_BUILTIN_BSWAP64__ -#define __HAVE_BUILTIN_BSWAP16__ -#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ - diff --git a/device/testing/linux-semc-smultron/compiler-gcc6.h b/device/testing/linux-semc-smultron/compiler-gcc6.h deleted file mode 100644 index 844706318..000000000 --- a/device/testing/linux-semc-smultron/compiler-gcc6.h +++ /dev/null @@ -1,69 +0,0 @@ -// SOURCE: -// https://github.com/NextThingCo/CHIP-u-boot/issues/10#issuecomment-287515505 - -#ifndef __LINUX_COMPILER_H -#error "Please don't include directly, include instead." -#endif - -#define __used __attribute__((__used__)) -#define __must_check __attribute__((warn_unused_result)) -#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) - -/* Mark functions as cold. gcc will assume any path leading to a call - to them will be unlikely. This means a lot of manual unlikely()s - are unnecessary now for any paths leading to the usual suspects - like BUG(), printk(), panic() etc. [but let's keep them for now for - older compilers] - - Early snapshots of gcc 4.3 don't support this and we can't detect this - in the preprocessor, but we can live with this because they're unreleased. - Maketime probing would be overkill here. - - gcc also has a __attribute__((__hot__)) to move hot functions into - a special section, but I don't see any sense in this right now in - the kernel context */ -#define __cold __attribute__((__cold__)) - -#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) - -#ifndef __CHECKER__ -# define __compiletime_warning(message) __attribute__((warning(message))) -# define __compiletime_error(message) __attribute__((error(message))) -#endif /* __CHECKER__ */ - -/* - * Mark a position in code as unreachable. This can be used to - * suppress control flow warnings after asm blocks that transfer - * control elsewhere. - * - * Early snapshots of gcc 4.5 don't support this and we can't detect - * this in the preprocessor, but we can live with this because they're - * unreleased. Really, we need to have autoconf for the kernel. - */ -#define unreachable() __builtin_unreachable() - -/* Mark a function definition as prohibited from being cloned. */ -#define __noclone __attribute__((__noclone__)) - -/* - * Tell the optimizer that something else uses this function or variable. - */ -#define __visible __attribute__((externally_visible)) - -/* - * GCC 'asm goto' miscompiles certain code sequences: - * - * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 - * - * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. - * - * (asm goto is automatically volatile - the naming reflects this.) - */ -#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) - -#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -#define __HAVE_BUILTIN_BSWAP32__ -#define __HAVE_BUILTIN_BSWAP64__ -#define __HAVE_BUILTIN_BSWAP16__ -#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ - diff --git a/device/testing/linux-sony-scorpion/02_gpu-msm-fix-gcc5-compile.patch b/device/testing/linux-sony-scorpion/02_gpu-msm-fix-gcc5-compile.patch deleted file mode 100644 index 91b17cd76..000000000 --- a/device/testing/linux-sony-scorpion/02_gpu-msm-fix-gcc5-compile.patch +++ /dev/null @@ -1,33 +0,0 @@ -source: -https://github.com/ShinySide/HispAsian_Lollipop_G6/commit/b7756b6fc4bb728722b14d2dfdbaf1dc843812e9 - -* These need to be static to avoid these errors: - -drivers/built-in.o: In function `.LANCHOR1': -msm_iommu_sec.c:(.data+0x9298): undefined reference to `kgsl_iommu_sync_lock' -msm_iommu_sec.c:(.data+0x929c): undefined reference to `kgsl_iommu_sync_unlock' -Makefile:877: recipe for target '.tmp_vmlinux1' failed -make: *** [.tmp_vmlinux1] Error 1 - -Signed-off-by: Chet Kener - ---- a/drivers/gpu/msm/kgsl_iommu.c -+++ b/drivers/gpu/msm/kgsl_iommu.c -@@ -1010,7 +1010,7 @@ static int kgsl_iommu_init_sync_lock(struct kgsl_mmu *mmu) - * - * Return - int - number of commands. - */ --inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, -+static inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, - unsigned int *cmds) - { - struct kgsl_device *device = mmu->device; -@@ -1080,7 +1080,7 @@ inline unsigned int kgsl_iommu_sync_lock(struct kgsl_mmu *mmu, - * - * Return - int - number of commands. - */ --inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu, -+static inline unsigned int kgsl_iommu_sync_unlock(struct kgsl_mmu *mmu, - unsigned int *cmds) - { - struct kgsl_device *device = mmu->device; diff --git a/device/testing/linux-xiaomi-armani/01_msm-fix-perf_trace_counters.patch b/device/testing/linux-xiaomi-armani/01_msm-fix-perf_trace_counters.patch deleted file mode 100644 index 97812bf4e..000000000 --- a/device/testing/linux-xiaomi-armani/01_msm-fix-perf_trace_counters.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e41494c15d4df342854ac3d2940f5d6ac3158212 Mon Sep 17 00:00:00 2001 -From: Bryan Huntsman -Date: Mon, 3 Jun 2013 18:48:08 -0700 -Subject: [PATCH] msm: fix in-tree compilation for perf_trace_counters - -In-tree compilation for arch/arm/mach-msm/perf_trace_counters.c was -hitting this error: - - In file included from arch/arm/mach-msm/perf_trace_counters.h:127:0, - from arch/arm/mach-msm/perf_trace_counters.c:14: - include/trace/define_trace.h:79:43: fatal error: ./perf_trace_counters.h: No such file or directory - -Instructions for TRACE_INCLUDE_FILE in include/trace/define_trace.h say -"the path is relative to define_trace.h, not the file including it". -Fix in-tree compilation by making the path relative to define_trace.h. - -Signed-off-by: Bryan Huntsman ---- - arch/arm/mach-msm/perf_trace_counters.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/arch/arm/mach-msm/perf_trace_counters.h b/arch/arm/mach-msm/perf_trace_counters.h -index ce7e336aa40d..8f77badf42ac 100644 ---- a/arch/arm/mach-msm/perf_trace_counters.h -+++ b/arch/arm/mach-msm/perf_trace_counters.h -@@ -121,7 +121,6 @@ TRACE_EVENT(sched_switch_with_ctrs, - - #endif - #undef TRACE_INCLUDE_PATH --#define TRACE_INCLUDE_PATH . -+#define TRACE_INCLUDE_PATH ../../arch/arm/mach-msm - #define TRACE_INCLUDE_FILE perf_trace_counters - #include -- diff --git a/device/testing/linux-xiaomi-whyred/export-debugfs-debug-funcs.patch b/device/testing/linux-xiaomi-whyred/export-debugfs-debug-funcs.patch deleted file mode 100644 index be1597812..000000000 --- a/device/testing/linux-xiaomi-whyred/export-debugfs-debug-funcs.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/drivers/usb/gadget/debug.c b/drivers/usb/gadget/debug.c -index 32a53299..fa5ff4ff 100644 ---- a/drivers/usb/gadget/debug.c -+++ b/drivers/usb/gadget/debug.c -@@ -126,8 +126,12 @@ err0: - return ret; - } - -+EXPORT_SYMBOL(debug_debugfs_init); -+ - void debug_debugfs_exit(void) - { - debugfs_remove_recursive(dbg_buffer.root); - dbg_buffer.root = NULL; - } -+ -+EXPORT_SYMBOL(debug_debugfs_exit); diff --git a/device/testing/linux-xiaomi-whyred/gcc7-give-up-on-ilog2-const-optimizations.patch b/device/testing/linux-xiaomi-whyred/gcc7-give-up-on-ilog2-const-optimizations.patch deleted file mode 120000 index da3d1ed41..000000000 --- a/device/testing/linux-xiaomi-whyred/gcc7-give-up-on-ilog2-const-optimizations.patch +++ /dev/null @@ -1 +0,0 @@ -../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch \ No newline at end of file diff --git a/device/testing/linux-xiaomi-whyred/kernel-use-the-gnu89-standard-explicitly.patch b/device/testing/linux-xiaomi-whyred/kernel-use-the-gnu89-standard-explicitly.patch deleted file mode 120000 index a5f4de276..000000000 --- a/device/testing/linux-xiaomi-whyred/kernel-use-the-gnu89-standard-explicitly.patch +++ /dev/null @@ -1 +0,0 @@ -../../.shared-patches/linux/kernel-use-the-gnu89-standard-explicitly.patch \ No newline at end of file diff --git a/kde/plasma-bigscreen/plasma-bigscreen.desktop b/kde/plasma-bigscreen/plasma-bigscreen.desktop deleted file mode 100644 index 585fae840..000000000 --- a/kde/plasma-bigscreen/plasma-bigscreen.desktop +++ /dev/null @@ -1,2 +0,0 @@ -[Desktop Entry] -Exec=/usr/bin/plasma-bigscreen diff --git a/kde/plasma-bigscreen/plasma-bigscreen.sh b/kde/plasma-bigscreen/plasma-bigscreen.sh deleted file mode 100644 index 28aabd0c3..000000000 --- a/kde/plasma-bigscreen/plasma-bigscreen.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -[ -f /etc/profile ] && . /etc/profile - -export QT_QPA_PLATFORM=wayland -export QT_QPA_PLATFORMTHEME=KDE -export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 -export EGL_PLATFORM=wayland - -export QT_QUICK_CONTROLS_STYLE=Plasma -export QT_ENABLE_GLYPH_CACHE_WORKAROUND=1 -export QT_QUICK_CONTROLS_MOBILE=true -export PLASMA_PLATFORM=phone:handset -export QT_VIRTUALKEYBOARD_STYLE=Plasma - -export GRID_UNIT_PX=25 -export FORCE_RIL_NUM_MODEMS=1 -export PLASMA_DEFAULT_SHELL=org.kde.plasma.mycroft.bigscreen - -touch /tmp/simplelogin_starting -dbus-run-session startplasma-wayland --xwayland --libinput --inputmethod maliit-server --exit-with-session=/usr/lib/libexec/startplasma-waylandsession diff --git a/kde/trainer/install-executable.patch b/kde/trainer/install-executable.patch deleted file mode 100644 index fb8bfdd07..000000000 --- a/kde/trainer/install-executable.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 921f876..0a2c668 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,6 +73,11 @@ if (BUILD_TESTING) - add_subdirectory(autotests) - endif() - -+install( -+ TARGETS trainer -+ ${INSTALL_TARGETS_DEFAULT_ARGS} -+) -+ - install( - PROGRAMS org.kde.trainer.desktop - DESTINATION ${XDG_APPS_INSTALL_DIR} diff --git a/temp/u-boot-librem5/0001-remove-dependency-on-git.patch b/temp/u-boot-librem5/0001-remove-dependency-on-git.patch deleted file mode 100644 index 71ce3e11c..000000000 --- a/temp/u-boot-librem5/0001-remove-dependency-on-git.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5697e58578f1af224d13fc40638a210f2da659d3 Mon Sep 17 00:00:00 2001 -From: root -Date: Wed, 9 Jan 2019 00:02:17 +0000 -Subject: [PATCH] remove dependency on git - ---- - Makefile | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 4b449ad..36a9ffd 100644 ---- a/Makefile -+++ b/Makefile -@@ -33,8 +33,7 @@ $(MKIMG): buildinfo $(SRCS) - bin: $(MKIMG) - - buildinfo: -- @echo -n '#define MKIMAGE_COMMIT 0x' > src/build_info.h -- @git rev-parse --short=8 HEAD >> src/build_info.h -+ @echo -n '#define MKIMAGE_COMMIT 0x7bb91090' > src/build_info.h - @echo '' >> src/build_info.h - - help: --- -2.20.1 -