aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/kernel-build.mk2
-rw-r--r--include/quilt.mk8
-rw-r--r--include/target.mk4
-rw-r--r--target/linux/generic/backport-4.9/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch (renamed from target/linux/generic/patches-4.9/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch)11
-rw-r--r--target/linux/generic/backport-4.9/011-kbuild-export-SUBARCH.patch (renamed from target/linux/generic/patches-4.9/011-kbuild-export-SUBARCH.patch)17
-rw-r--r--target/linux/generic/backport-4.9/020-backport_netfilter_rtcache.patch (renamed from target/linux/generic/patches-4.9/020-backport_netfilter_rtcache.patch)31
-rw-r--r--target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch (renamed from target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch)2
-rw-r--r--target/linux/generic/backport-4.9/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch (renamed from target/linux/generic/patches-4.9/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch)0
-rw-r--r--target/linux/generic/backport-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/backport-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/backport-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch (renamed from target/linux/generic/patches-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch)0
-rw-r--r--target/linux/generic/backport-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/backport-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/backport-4.9/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.9/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/backport-4.9/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.9/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch (renamed from target/linux/generic/patches-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch)0
-rw-r--r--target/linux/generic/backport-4.9/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch (renamed from target/linux/generic/patches-4.9/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch)0
-rw-r--r--target/linux/generic/backport-4.9/050-usb-dwc2-Remove-unnecessary-kfree.patch (renamed from target/linux/generic/patches-4.9/050-usb-dwc2-Remove-unnecessary-kfree.patch)0
-rw-r--r--target/linux/generic/backport-4.9/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch (renamed from target/linux/generic/patches-4.9/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch)0
-rw-r--r--target/linux/generic/backport-4.9/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch (renamed from target/linux/generic/patches-4.9/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch)0
-rw-r--r--target/linux/generic/backport-4.9/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch (renamed from target/linux/generic/patches-4.9/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch)0
-rw-r--r--target/linux/generic/backport-4.9/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch (renamed from target/linux/generic/patches-4.9/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch)0
-rw-r--r--target/linux/generic/backport-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch (renamed from target/linux/generic/patches-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch)0
-rw-r--r--target/linux/generic/backport-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch (renamed from target/linux/generic/patches-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch)4
-rw-r--r--target/linux/generic/backport-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch (renamed from target/linux/generic/patches-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch)0
-rw-r--r--target/linux/generic/backport-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch (renamed from target/linux/generic/patches-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch)0
-rw-r--r--target/linux/generic/backport-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch (renamed from target/linux/generic/patches-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch)0
-rw-r--r--target/linux/generic/backport-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch (renamed from target/linux/generic/patches-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch)0
-rw-r--r--target/linux/generic/backport-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch (renamed from target/linux/generic/patches-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch)0
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch)6
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch)0
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch)0
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch)2
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch)2
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch)0
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch)0
-rw-r--r--target/linux/generic/backport-4.9/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch (renamed from target/linux/generic/patches-4.9/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch)0
-rw-r--r--target/linux/generic/backport-4.9/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch (renamed from target/linux/generic/patches-4.9/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch)0
-rw-r--r--target/linux/generic/backport-4.9/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch (renamed from target/linux/generic/patches-4.9/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch)0
-rw-r--r--target/linux/generic/backport-4.9/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch (renamed from target/linux/generic/patches-4.9/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch)0
-rw-r--r--target/linux/generic/backport-4.9/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch (renamed from target/linux/generic/patches-4.9/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch)0
-rw-r--r--target/linux/generic/backport-4.9/070-bcma-from-4.11.patch (renamed from target/linux/generic/patches-4.9/070-bcma-from-4.11.patch)0
-rw-r--r--target/linux/generic/backport-4.9/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch (renamed from target/linux/generic/patches-4.9/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch)0
-rw-r--r--target/linux/generic/backport-4.9/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch (renamed from target/linux/generic/patches-4.9/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch)0
-rw-r--r--target/linux/generic/backport-4.9/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch (renamed from target/linux/generic/patches-4.9/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch)0
-rw-r--r--target/linux/generic/backport-4.9/072-bcma-from-4.12.patch (renamed from target/linux/generic/patches-4.9/072-bcma-from-4.12.patch)0
-rw-r--r--target/linux/generic/backport-4.9/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch (renamed from target/linux/generic/patches-4.9/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch)0
-rw-r--r--target/linux/generic/backport-4.9/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch (renamed from target/linux/generic/patches-4.9/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch)0
-rw-r--r--target/linux/generic/backport-4.9/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch (renamed from target/linux/generic/patches-4.9/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch)0
-rw-r--r--target/linux/generic/backport-4.9/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch (renamed from target/linux/generic/patches-4.9/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch)0
-rw-r--r--target/linux/generic/backport-4.9/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch (renamed from target/linux/generic/patches-4.9/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch)0
-rw-r--r--target/linux/generic/backport-4.9/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch (renamed from target/linux/generic/patches-4.9/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch)0
-rw-r--r--target/linux/generic/backport-4.9/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch (renamed from target/linux/generic/patches-4.9/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch)0
-rw-r--r--target/linux/generic/backport-4.9/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch (renamed from target/linux/generic/patches-4.9/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch)0
-rw-r--r--target/linux/generic/backport-4.9/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch (renamed from target/linux/generic/patches-4.9/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch)0
-rw-r--r--target/linux/generic/backport-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch (renamed from target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch)0
-rw-r--r--target/linux/generic/backport-4.9/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch (renamed from target/linux/generic/patches-4.9/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch)0
-rw-r--r--target/linux/generic/backport-4.9/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch (renamed from target/linux/generic/patches-4.9/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch)0
-rw-r--r--target/linux/generic/backport-4.9/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch (renamed from target/linux/generic/patches-4.9/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch)0
-rw-r--r--target/linux/generic/backport-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch (renamed from target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch)0
-rw-r--r--target/linux/generic/backport-4.9/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch (renamed from target/linux/generic/patches-4.9/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch)0
-rw-r--r--target/linux/generic/backport-4.9/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch (renamed from target/linux/generic/patches-4.9/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch)0
-rw-r--r--target/linux/generic/backport-4.9/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch (renamed from target/linux/generic/patches-4.9/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch)0
-rw-r--r--target/linux/generic/backport-4.9/087-regmap-make-LZO-cache-optional.patch (renamed from target/linux/generic/patches-4.4/087-regmap-make-LZO-cache-optional.patch)0
-rw-r--r--target/linux/generic/hack-4.9/202-reduce_module_size.patch29
-rw-r--r--target/linux/generic/hack-4.9/204-module_strip.patch (renamed from target/linux/generic/patches-4.9/204-module_strip.patch)44
-rw-r--r--target/linux/generic/hack-4.9/207-disable-modorder.patch (renamed from target/linux/generic/patches-4.9/207-disable-modorder.patch)25
-rw-r--r--target/linux/generic/hack-4.9/210-darwin_scripts_include.patch (renamed from target/linux/generic/patches-4.9/210-darwin_scripts_include.patch)85
-rw-r--r--target/linux/generic/hack-4.9/211-host_tools_portability.patch49
-rw-r--r--target/linux/generic/hack-4.9/212-byteshift_portability.patch (renamed from target/linux/generic/patches-4.9/212-byteshift_portability.patch)24
-rw-r--r--target/linux/generic/hack-4.9/214-spidev_h_portability.patch29
-rw-r--r--target/linux/generic/hack-4.9/220-gc_sections.patch (renamed from target/linux/generic/patches-4.9/220-gc_sections.patch)350
-rw-r--r--target/linux/generic/hack-4.9/221-module_exports.patch (renamed from target/linux/generic/patches-4.9/221-module_exports.patch)44
-rw-r--r--target/linux/generic/hack-4.9/230-openwrt_lzma_options.patch (renamed from target/linux/generic/patches-4.9/230-openwrt_lzma_options.patch)44
-rw-r--r--target/linux/generic/hack-4.9/250-netfilter_depends.patch (renamed from target/linux/generic/patches-4.9/250-netfilter_depends.patch)14
-rw-r--r--target/linux/generic/hack-4.9/251-sound_kconfig.patch212
-rw-r--r--target/linux/generic/hack-4.9/259-regmap_dynamic.patch (renamed from target/linux/generic/patches-4.9/259-regmap_dynamic.patch)47
-rw-r--r--target/linux/generic/hack-4.9/260-crypto_test_dependencies.patch (renamed from target/linux/generic/patches-4.9/260-crypto_test_dependencies.patch)23
-rw-r--r--target/linux/generic/hack-4.9/280-rfkill-stubs.patch (renamed from target/linux/generic/patches-4.9/280-rfkill-stubs.patch)70
-rw-r--r--target/linux/generic/hack-4.9/301-mips_image_cmdline_hack.patch45
-rw-r--r--target/linux/generic/hack-4.9/321-powerpc_crtsavres_prereq.patch31
-rw-r--r--target/linux/generic/hack-4.9/531-debloat_lzma.patch (renamed from target/linux/generic/patches-4.9/531-debloat_lzma.patch)984
-rw-r--r--target/linux/generic/hack-4.9/640-bridge-only-accept-EAP-locally.patch (renamed from target/linux/generic/patches-4.9/640-bridge-only-accept-EAP-locally.patch)14
-rw-r--r--target/linux/generic/hack-4.9/641-bridge_port_isolate.patch (renamed from target/linux/generic/patches-4.9/641-bridge_port_isolate.patch)68
-rw-r--r--target/linux/generic/hack-4.9/651-wireless_mesh_header.patch29
-rw-r--r--target/linux/generic/hack-4.9/660-fq_codel_defaults.patch26
-rw-r--r--target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch (renamed from target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch)89
-rw-r--r--target/linux/generic/hack-4.9/662-remove_pfifo_fast.patch (renamed from target/linux/generic/patches-4.9/662-remove_pfifo_fast.patch)17
-rw-r--r--target/linux/generic/hack-4.9/700-swconfig_switch_drivers.patch (renamed from target/linux/generic/patches-4.9/700-swconfig_switch_drivers.patch)21
-rw-r--r--target/linux/generic/hack-4.9/710-phy-add-mdio_register_board_info.patch (renamed from target/linux/generic/patches-4.9/710-phy-add-mdio_register_board_info.patch)0
-rw-r--r--target/linux/generic/hack-4.9/721-phy_packets.patch (renamed from target/linux/generic/patches-4.9/721-phy_packets.patch)53
-rw-r--r--target/linux/generic/hack-4.9/773-bgmac-add-srab-switch.patch (renamed from target/linux/generic/patches-4.9/773-bgmac-add-srab-switch.patch)46
-rw-r--r--target/linux/generic/hack-4.9/835-misc-owl_loader.patch59
-rw-r--r--target/linux/generic/hack-4.9/901-debloat_sock_diag.patch (renamed from target/linux/generic/patches-4.9/901-debloat_sock_diag.patch)55
-rw-r--r--target/linux/generic/hack-4.9/902-debloat_proc.patch (renamed from target/linux/generic/patches-4.9/902-debloat_proc.patch)377
-rw-r--r--target/linux/generic/hack-4.9/904-debloat_dma_buf.patch (renamed from target/linux/generic/patches-4.9/904-debloat_dma_buf.patch)26
-rw-r--r--target/linux/generic/hack-4.9/910-kobject_uevent.patch36
-rw-r--r--target/linux/generic/hack-4.9/911-kobject_add_broadcast_uevent.patch (renamed from target/linux/generic/patches-4.9/911-kobject_add_broadcast_uevent.patch)34
-rw-r--r--target/linux/generic/hack-4.9/921-always-create-console-node-in-initramfs.patch (renamed from target/linux/generic/patches-4.9/921-always-create-console-node-in-initramfs.patch)15
-rw-r--r--target/linux/generic/hack-4.9/930-crashlog.patch (renamed from target/linux/generic/patches-4.9/930-crashlog.patch)84
-rw-r--r--target/linux/generic/patches-4.9/200-fix_localversion.patch11
-rw-r--r--target/linux/generic/patches-4.9/201-extra_optimization.patch18
-rw-r--r--target/linux/generic/patches-4.9/202-reduce_module_size.patch11
-rw-r--r--target/linux/generic/patches-4.9/211-host_tools_portability.patch28
-rw-r--r--target/linux/generic/patches-4.9/214-spidev_h_portability.patch11
-rw-r--r--target/linux/generic/patches-4.9/222-arm_zimage_none.patch124
-rw-r--r--target/linux/generic/patches-4.9/251-sound_kconfig.patch18
-rw-r--r--target/linux/generic/patches-4.9/252-mv_cesa_depends.patch10
-rw-r--r--target/linux/generic/patches-4.9/253-ssb_b43_default_on.patch29
-rw-r--r--target/linux/generic/patches-4.9/254-textsearch_kconfig_hacks.patch23
-rw-r--r--target/linux/generic/patches-4.9/255-lib80211_kconfig_hacks.patch31
-rw-r--r--target/linux/generic/patches-4.9/256-crypto_add_kconfig_prompts.patch47
-rw-r--r--target/linux/generic/patches-4.9/257-wireless_ext_kconfig_hack.patch22
-rw-r--r--target/linux/generic/patches-4.9/258-netfilter_netlink_kconfig_hack.patch11
-rw-r--r--target/linux/generic/patches-4.9/261-enable_wilink_platform_without_drivers.patch15
-rw-r--r--target/linux/generic/patches-4.9/301-mips_image_cmdline_hack.patch28
-rw-r--r--target/linux/generic/patches-4.9/302-mips_no_branch_likely.patch11
-rw-r--r--target/linux/generic/patches-4.9/307-mips_highmem_offset.patch17
-rw-r--r--target/linux/generic/patches-4.9/310-arm_module_unresolved_weak_sym.patch13
-rw-r--r--target/linux/generic/patches-4.9/321-powerpc_crtsavres_prereq.patch10
-rw-r--r--target/linux/generic/patches-4.9/410-mtd-move-forward-declaration-of-struct-mtd_info.patch18
-rw-r--r--target/linux/generic/patches-4.9/412-mtd-partial_eraseblock_unlock.patch20
-rw-r--r--target/linux/generic/patches-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch11
-rw-r--r--target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch14
-rw-r--r--target/linux/generic/patches-4.9/616-net_optimize_xfrm_calls.patch12
-rw-r--r--target/linux/generic/patches-4.9/650-pppoe_header_pad.patch20
-rw-r--r--target/linux/generic/patches-4.9/651-wireless_mesh_header.patch13
-rw-r--r--target/linux/generic/patches-4.9/655-increase_skb_pad.patch11
-rw-r--r--target/linux/generic/patches-4.9/660-fq_codel_defaults.patch11
-rw-r--r--target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch27
-rw-r--r--target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch27
-rw-r--r--target/linux/generic/patches-4.9/831-ledtrig_netdev.patch21
-rw-r--r--target/linux/generic/patches-4.9/835-misc-owl_loader.patch31
-rw-r--r--target/linux/generic/patches-4.9/840-rtc7301.patch250
-rw-r--r--target/linux/generic/patches-4.9/841-rtc_pt7c4338.patch247
-rw-r--r--target/linux/generic/patches-4.9/890-uart_optional_sysrq.patch25
-rw-r--r--target/linux/generic/patches-4.9/910-kobject_uevent.patch21
-rw-r--r--target/linux/generic/pending-3.18/001-mtdsplit_backport.patch (renamed from target/linux/generic/patches-3.18/001-mtdsplit_backport.patch)0
-rw-r--r--target/linux/generic/pending-3.18/002-phy_drivers_backport.patch (renamed from target/linux/generic/patches-3.18/002-phy_drivers_backport.patch)0
-rw-r--r--target/linux/generic/pending-3.18/003-myloader_backport.patch (renamed from target/linux/generic/patches-3.18/003-myloader_backport.patch)0
-rw-r--r--target/linux/generic/pending-3.18/020-ssb_update.patch (renamed from target/linux/generic/patches-3.18/020-ssb_update.patch)0
-rw-r--r--target/linux/generic/pending-3.18/021-ssb_sprom.patch (renamed from target/linux/generic/patches-3.18/021-ssb_sprom.patch)0
-rw-r--r--target/linux/generic/pending-3.18/025-bcma_backport.patch (renamed from target/linux/generic/patches-3.18/025-bcma_backport.patch)0
-rw-r--r--target/linux/generic/pending-3.18/026-bcma-from-3.20.patch (renamed from target/linux/generic/patches-3.18/026-bcma-from-3.20.patch)0
-rw-r--r--target/linux/generic/pending-3.18/027-bcma-from-4.1.patch (renamed from target/linux/generic/patches-3.18/027-bcma-from-4.1.patch)0
-rw-r--r--target/linux/generic/pending-3.18/028-bcma-from-4.2.patch (renamed from target/linux/generic/patches-3.18/028-bcma-from-4.2.patch)0
-rw-r--r--target/linux/generic/pending-3.18/029-bcma-from-4.4.patch (renamed from target/linux/generic/patches-3.18/029-bcma-from-4.4.patch)0
-rw-r--r--target/linux/generic/pending-3.18/030-backport_bcm47xx_nvram.patch (renamed from target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch)0
-rw-r--r--target/linux/generic/pending-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch (renamed from target/linux/generic/patches-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch)0
-rw-r--r--target/linux/generic/pending-3.18/031-bcma-from-4.5.patch (renamed from target/linux/generic/patches-3.18/031-bcma-from-4.5.patch)0
-rw-r--r--target/linux/generic/pending-3.18/032-bcma-from-4.6.patch (renamed from target/linux/generic/patches-3.18/032-bcma-from-4.6.patch)0
-rw-r--r--target/linux/generic/pending-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch (renamed from target/linux/generic/patches-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch)0
-rw-r--r--target/linux/generic/pending-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch (renamed from target/linux/generic/patches-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch)0
-rw-r--r--target/linux/generic/pending-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch (renamed from target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch)0
-rw-r--r--target/linux/generic/pending-3.18/044-backport-m25p80-jedec-probe.patch (renamed from target/linux/generic/patches-3.18/044-backport-m25p80-jedec-probe.patch)0
-rw-r--r--target/linux/generic/pending-3.18/050-backport_netfilter_rtcache.patch (renamed from target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch)0
-rw-r--r--target/linux/generic/pending-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch (renamed from target/linux/generic/patches-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch)0
-rw-r--r--target/linux/generic/pending-3.18/060-mips_decompressor_memmove.patch (renamed from target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch)0
-rw-r--r--target/linux/generic/pending-3.18/070-bgmac-register-napi-before-the-device.patch (renamed from target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch)0
-rw-r--r--target/linux/generic/pending-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch (renamed from target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch)0
-rw-r--r--target/linux/generic/pending-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch (renamed from target/linux/generic/patches-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch)0
-rw-r--r--target/linux/generic/pending-3.18/073-bgmac-Clean-warning-messages.patch (renamed from target/linux/generic/patches-3.18/073-bgmac-Clean-warning-messages.patch)0
-rw-r--r--target/linux/generic/pending-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch (renamed from target/linux/generic/patches-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch)0
-rw-r--r--target/linux/generic/pending-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch (renamed from target/linux/generic/patches-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch)0
-rw-r--r--target/linux/generic/pending-3.18/076-net-phy-export-fixed_phy_register.patch (renamed from target/linux/generic/patches-3.18/076-net-phy-export-fixed_phy_register.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch (renamed from target/linux/generic/patches-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch (renamed from target/linux/generic/patches-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-03-bgmac-implement-scatter-gather-support.patch (renamed from target/linux/generic/patches-3.18/077-03-bgmac-implement-scatter-gather-support.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch (renamed from target/linux/generic/patches-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch (renamed from target/linux/generic/patches-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch (renamed from target/linux/generic/patches-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch (renamed from target/linux/generic/patches-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-08-bgmac-add-check-for-oversized-packets.patch (renamed from target/linux/generic/patches-3.18/077-08-bgmac-add-check-for-oversized-packets.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch (renamed from target/linux/generic/patches-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch (renamed from target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch (renamed from target/linux/generic/patches-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch)0
-rw-r--r--target/linux/generic/pending-3.18/077-12-bgmac-drop-ring-num_slots.patch (renamed from target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch)0
-rw-r--r--target/linux/generic/pending-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch (renamed from target/linux/generic/patches-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch)0
-rw-r--r--target/linux/generic/pending-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch (renamed from target/linux/generic/patches-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch (renamed from target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch (renamed from target/linux/generic/patches-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch (renamed from target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch (renamed from target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch (renamed from target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch (renamed from target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch (renamed from target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch (renamed from target/linux/generic/patches-3.18/080-07-fib_trie-Optimize-fib_find_node.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch (renamed from target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch (renamed from target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch (renamed from target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch (renamed from target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch (renamed from target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch (renamed from target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch (renamed from target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch (renamed from target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch (renamed from target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch (renamed from target/linux/generic/patches-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch (renamed from target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch (renamed from target/linux/generic/patches-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch (renamed from target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch (renamed from target/linux/generic/patches-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch (renamed from target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch (renamed from target/linux/generic/patches-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch (renamed from target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch)0
-rw-r--r--target/linux/generic/pending-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch (renamed from target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch)0
-rw-r--r--target/linux/generic/pending-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch (renamed from target/linux/generic/patches-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch)0
-rw-r--r--target/linux/generic/pending-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch (renamed from target/linux/generic/patches-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch)0
-rw-r--r--target/linux/generic/pending-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch (renamed from target/linux/generic/patches-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch)0
-rw-r--r--target/linux/generic/pending-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch (renamed from target/linux/generic/patches-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch)0
-rw-r--r--target/linux/generic/pending-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch (renamed from target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch)0
-rw-r--r--target/linux/generic/pending-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch (renamed from target/linux/generic/patches-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch)0
-rw-r--r--target/linux/generic/pending-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch (renamed from target/linux/generic/patches-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch)0
-rw-r--r--target/linux/generic/pending-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch (renamed from target/linux/generic/patches-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch)0
-rw-r--r--target/linux/generic/pending-3.18/087-regmap-make-LZO-cache-optional.patch (renamed from target/linux/generic/patches-3.18/087-regmap-make-LZO-cache-optional.patch)0
-rw-r--r--target/linux/generic/pending-3.18/090-overlayfs-fallback-to-readonly-when-full.patch (renamed from target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch)0
-rw-r--r--target/linux/generic/pending-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch (renamed from target/linux/generic/patches-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch)0
-rw-r--r--target/linux/generic/pending-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch (renamed from target/linux/generic/patches-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch)0
-rw-r--r--target/linux/generic/pending-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch (renamed from target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch)0
-rw-r--r--target/linux/generic/pending-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch (renamed from target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch)0
-rw-r--r--target/linux/generic/pending-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch (renamed from target/linux/generic/patches-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch)0
-rw-r--r--target/linux/generic/pending-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch (renamed from target/linux/generic/patches-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch)0
-rw-r--r--target/linux/generic/pending-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch (renamed from target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch)0
-rw-r--r--target/linux/generic/pending-3.18/102-ehci_hcd_ignore_oc.patch (renamed from target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch)0
-rw-r--r--target/linux/generic/pending-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch (renamed from target/linux/generic/patches-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch)0
-rw-r--r--target/linux/generic/pending-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch (renamed from target/linux/generic/patches-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch)0
-rw-r--r--target/linux/generic/pending-3.18/120-bridge_allow_receiption_on_disabled_port.patch (renamed from target/linux/generic/patches-3.18/120-bridge_allow_receiption_on_disabled_port.patch)0
-rw-r--r--target/linux/generic/pending-3.18/132-mips_inline_dma_ops.patch (renamed from target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch)0
-rw-r--r--target/linux/generic/pending-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch (renamed from target/linux/generic/patches-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch)0
-rw-r--r--target/linux/generic/pending-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch (renamed from target/linux/generic/patches-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch)0
-rw-r--r--target/linux/generic/pending-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch (renamed from target/linux/generic/patches-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch)0
-rw-r--r--target/linux/generic/pending-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch (renamed from target/linux/generic/patches-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch)0
-rw-r--r--target/linux/generic/pending-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch (renamed from target/linux/generic/patches-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch)0
-rw-r--r--target/linux/generic/pending-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch (renamed from target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch)0
-rw-r--r--target/linux/generic/pending-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch (renamed from target/linux/generic/patches-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch)0
-rw-r--r--target/linux/generic/pending-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch (renamed from target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch)0
-rw-r--r--target/linux/generic/pending-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch (renamed from target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch)0
-rw-r--r--target/linux/generic/pending-3.18/200-fix_localversion.patch (renamed from target/linux/generic/patches-3.18/200-fix_localversion.patch)0
-rw-r--r--target/linux/generic/pending-3.18/201-extra_optimization.patch (renamed from target/linux/generic/patches-3.18/201-extra_optimization.patch)0
-rw-r--r--target/linux/generic/pending-3.18/202-reduce_module_size.patch (renamed from target/linux/generic/patches-3.18/202-reduce_module_size.patch)0
-rw-r--r--target/linux/generic/pending-3.18/203-kallsyms_uncompressed.patch (renamed from target/linux/generic/patches-3.18/203-kallsyms_uncompressed.patch)0
-rw-r--r--target/linux/generic/pending-3.18/204-module_strip.patch (renamed from target/linux/generic/patches-3.18/204-module_strip.patch)0
-rw-r--r--target/linux/generic/pending-3.18/205-backtrace_module_info.patch (renamed from target/linux/generic/patches-3.18/205-backtrace_module_info.patch)0
-rw-r--r--target/linux/generic/pending-3.18/210-darwin_scripts_include.patch (renamed from target/linux/generic/patches-3.18/210-darwin_scripts_include.patch)0
-rw-r--r--target/linux/generic/pending-3.18/212-byteshift_portability.patch (renamed from target/linux/generic/patches-3.18/212-byteshift_portability.patch)0
-rw-r--r--target/linux/generic/pending-3.18/213-x86_vdso_portability.patch (renamed from target/linux/generic/patches-3.18/213-x86_vdso_portability.patch)0
-rw-r--r--target/linux/generic/pending-3.18/214-spidev_h_portability.patch (renamed from target/linux/generic/patches-3.18/214-spidev_h_portability.patch)0
-rw-r--r--target/linux/generic/pending-3.18/220-gc_sections.patch (renamed from target/linux/generic/patches-3.18/220-gc_sections.patch)0
-rw-r--r--target/linux/generic/pending-3.18/221-module_exports.patch (renamed from target/linux/generic/patches-3.18/221-module_exports.patch)0
-rw-r--r--target/linux/generic/pending-3.18/230-openwrt_lzma_options.patch (renamed from target/linux/generic/patches-3.18/230-openwrt_lzma_options.patch)0
-rw-r--r--target/linux/generic/pending-3.18/250-netfilter_depends.patch (renamed from target/linux/generic/patches-3.18/250-netfilter_depends.patch)0
-rw-r--r--target/linux/generic/pending-3.18/251-sound_kconfig.patch (renamed from target/linux/generic/patches-3.18/251-sound_kconfig.patch)0
-rw-r--r--target/linux/generic/pending-3.18/252-mv_cesa_depends.patch (renamed from target/linux/generic/patches-3.18/252-mv_cesa_depends.patch)0
-rw-r--r--target/linux/generic/pending-3.18/253-ssb_b43_default_on.patch (renamed from target/linux/generic/patches-3.18/253-ssb_b43_default_on.patch)0
-rw-r--r--target/linux/generic/pending-3.18/254-textsearch_kconfig_hacks.patch (renamed from target/linux/generic/patches-3.18/254-textsearch_kconfig_hacks.patch)0
-rw-r--r--target/linux/generic/pending-3.18/255-lib80211_kconfig_hacks.patch (renamed from target/linux/generic/patches-3.18/255-lib80211_kconfig_hacks.patch)0
-rw-r--r--target/linux/generic/pending-3.18/256-crypto_add_kconfig_prompts.patch (renamed from target/linux/generic/patches-3.18/256-crypto_add_kconfig_prompts.patch)0
-rw-r--r--target/linux/generic/pending-3.18/257-wireless_ext_kconfig_hack.patch (renamed from target/linux/generic/patches-3.18/257-wireless_ext_kconfig_hack.patch)0
-rw-r--r--target/linux/generic/pending-3.18/258-netfilter_netlink_kconfig_hack.patch (renamed from target/linux/generic/patches-3.18/258-netfilter_netlink_kconfig_hack.patch)0
-rw-r--r--target/linux/generic/pending-3.18/259-regmap_dynamic.patch (renamed from target/linux/generic/patches-3.18/259-regmap_dynamic.patch)0
-rw-r--r--target/linux/generic/pending-3.18/260-crypto_test_dependencies.patch (renamed from target/linux/generic/patches-3.18/260-crypto_test_dependencies.patch)0
-rw-r--r--target/linux/generic/pending-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch (renamed from target/linux/generic/patches-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch)0
-rw-r--r--target/linux/generic/pending-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch (renamed from target/linux/generic/patches-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch)0
-rw-r--r--target/linux/generic/pending-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch (renamed from target/linux/generic/patches-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch)0
-rw-r--r--target/linux/generic/pending-3.18/300-mips_expose_boot_raw.patch (renamed from target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch)0
-rw-r--r--target/linux/generic/pending-3.18/301-mips_image_cmdline_hack.patch (renamed from target/linux/generic/patches-3.18/301-mips_image_cmdline_hack.patch)0
-rw-r--r--target/linux/generic/pending-3.18/302-mips_no_branch_likely.patch (renamed from target/linux/generic/patches-3.18/302-mips_no_branch_likely.patch)0
-rw-r--r--target/linux/generic/pending-3.18/304-mips_disable_fpu.patch (renamed from target/linux/generic/patches-3.18/304-mips_disable_fpu.patch)0
-rw-r--r--target/linux/generic/pending-3.18/305-mips_module_reloc.patch (renamed from target/linux/generic/patches-3.18/305-mips_module_reloc.patch)0
-rw-r--r--target/linux/generic/pending-3.18/306-mips_mem_functions_performance.patch (renamed from target/linux/generic/patches-3.18/306-mips_mem_functions_performance.patch)0
-rw-r--r--target/linux/generic/pending-3.18/307-mips_highmem_offset.patch (renamed from target/linux/generic/patches-3.18/307-mips_highmem_offset.patch)0
-rw-r--r--target/linux/generic/pending-3.18/310-arm_module_unresolved_weak_sym.patch (renamed from target/linux/generic/patches-3.18/310-arm_module_unresolved_weak_sym.patch)0
-rw-r--r--target/linux/generic/pending-3.18/320-ppc4xx_optimization.patch (renamed from target/linux/generic/patches-3.18/320-ppc4xx_optimization.patch)0
-rw-r--r--target/linux/generic/pending-3.18/321-powerpc_crtsavres_prereq.patch (renamed from target/linux/generic/patches-3.18/321-powerpc_crtsavres_prereq.patch)0
-rw-r--r--target/linux/generic/pending-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch (renamed from target/linux/generic/patches-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch)0
-rw-r--r--target/linux/generic/pending-3.18/400-mtd-add-rootfs-split-support.patch (renamed from target/linux/generic/patches-3.18/400-mtd-add-rootfs-split-support.patch)0
-rw-r--r--target/linux/generic/pending-3.18/401-mtd-add-support-for-different-partition-parser-types.patch (renamed from target/linux/generic/patches-3.18/401-mtd-add-support-for-different-partition-parser-types.patch)0
-rw-r--r--target/linux/generic/pending-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch (renamed from target/linux/generic/patches-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch)0
-rw-r--r--target/linux/generic/pending-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch (renamed from target/linux/generic/patches-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch)0
-rw-r--r--target/linux/generic/pending-3.18/404-mtd-add-more-helper-functions.patch (renamed from target/linux/generic/patches-3.18/404-mtd-add-more-helper-functions.patch)0
-rw-r--r--target/linux/generic/pending-3.18/405-mtd-old-firmware-uimage-splitter.patch (renamed from target/linux/generic/patches-3.18/405-mtd-old-firmware-uimage-splitter.patch)0
-rw-r--r--target/linux/generic/pending-3.18/406-mtd-old-rootfs-squashfs-splitter.patch (renamed from target/linux/generic/patches-3.18/406-mtd-old-rootfs-squashfs-splitter.patch)0
-rw-r--r--target/linux/generic/pending-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch (renamed from target/linux/generic/patches-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch)0
-rw-r--r--target/linux/generic/pending-3.18/411-mtd-partial_eraseblock_write.patch (renamed from target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch)0
-rw-r--r--target/linux/generic/pending-3.18/412-mtd-partial_eraseblock_unlock.patch (renamed from target/linux/generic/patches-3.18/412-mtd-partial_eraseblock_unlock.patch)0
-rw-r--r--target/linux/generic/pending-3.18/420-mtd-redboot_space.patch (renamed from target/linux/generic/patches-3.18/420-mtd-redboot_space.patch)0
-rw-r--r--target/linux/generic/pending-3.18/430-mtd-add-myloader-partition-parser.patch (renamed from target/linux/generic/patches-3.18/430-mtd-add-myloader-partition-parser.patch)0
-rw-r--r--target/linux/generic/pending-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch (renamed from target/linux/generic/patches-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch)0
-rw-r--r--target/linux/generic/pending-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch (renamed from target/linux/generic/patches-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch)0
-rw-r--r--target/linux/generic/pending-3.18/440-block2mtd_init.patch (renamed from target/linux/generic/patches-3.18/440-block2mtd_init.patch)0
-rw-r--r--target/linux/generic/pending-3.18/441-block2mtd_probe.patch (renamed from target/linux/generic/patches-3.18/441-block2mtd_probe.patch)0
-rw-r--r--target/linux/generic/pending-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch (renamed from target/linux/generic/patches-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch)0
-rw-r--r--target/linux/generic/pending-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch (renamed from target/linux/generic/patches-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch)0
-rw-r--r--target/linux/generic/pending-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch (renamed from target/linux/generic/patches-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch)0
-rw-r--r--target/linux/generic/pending-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch (renamed from target/linux/generic/patches-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch)0
-rw-r--r--target/linux/generic/pending-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch (renamed from target/linux/generic/patches-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch)0
-rw-r--r--target/linux/generic/pending-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch (renamed from target/linux/generic/patches-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch)0
-rw-r--r--target/linux/generic/pending-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch (renamed from target/linux/generic/patches-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch)0
-rw-r--r--target/linux/generic/pending-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch (renamed from target/linux/generic/patches-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch)0
-rw-r--r--target/linux/generic/pending-3.18/480-mtd-set-rootfs-to-be-root-dev.patch (renamed from target/linux/generic/patches-3.18/480-mtd-set-rootfs-to-be-root-dev.patch)0
-rw-r--r--target/linux/generic/pending-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch (renamed from target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch)0
-rw-r--r--target/linux/generic/pending-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch (renamed from target/linux/generic/patches-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch)0
-rw-r--r--target/linux/generic/pending-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch (renamed from target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch)0
-rw-r--r--target/linux/generic/pending-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch (renamed from target/linux/generic/patches-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch)0
-rw-r--r--target/linux/generic/pending-3.18/494-mtd-ubi-add-EOF-marker-support.patch (renamed from target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch)0
-rw-r--r--target/linux/generic/pending-3.18/530-jffs2_make_lzma_available.patch (renamed from target/linux/generic/patches-3.18/530-jffs2_make_lzma_available.patch)0
-rw-r--r--target/linux/generic/pending-3.18/531-debloat_lzma.patch (renamed from target/linux/generic/patches-3.18/531-debloat_lzma.patch)0
-rw-r--r--target/linux/generic/pending-3.18/532-jffs2_eofdetect.patch (renamed from target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch)0
-rw-r--r--target/linux/generic/pending-3.18/550-ubifs-symlink-xattr-support.patch (renamed from target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch)0
-rw-r--r--target/linux/generic/pending-3.18/551-ubifs-fix-default-compression-selection.patch (renamed from target/linux/generic/patches-3.18/551-ubifs-fix-default-compression-selection.patch)0
-rw-r--r--target/linux/generic/pending-3.18/600-netfilter_conntrack_flush.patch (renamed from target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch)0
-rw-r--r--target/linux/generic/pending-3.18/610-netfilter_match_bypass_default_checks.patch (renamed from target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch)0
-rw-r--r--target/linux/generic/pending-3.18/611-netfilter_match_bypass_default_table.patch (renamed from target/linux/generic/patches-3.18/611-netfilter_match_bypass_default_table.patch)0
-rw-r--r--target/linux/generic/pending-3.18/612-netfilter_match_reduce_memory_access.patch (renamed from target/linux/generic/patches-3.18/612-netfilter_match_reduce_memory_access.patch)0
-rw-r--r--target/linux/generic/pending-3.18/613-netfilter_optional_tcp_window_check.patch (renamed from target/linux/generic/patches-3.18/613-netfilter_optional_tcp_window_check.patch)0
-rw-r--r--target/linux/generic/pending-3.18/616-net_optimize_xfrm_calls.patch (renamed from target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch)0
-rw-r--r--target/linux/generic/pending-3.18/621-sched_act_connmark.patch (renamed from target/linux/generic/patches-3.18/621-sched_act_connmark.patch)0
-rw-r--r--target/linux/generic/pending-3.18/630-packet_socket_type.patch (renamed from target/linux/generic/patches-3.18/630-packet_socket_type.patch)0
-rw-r--r--target/linux/generic/pending-3.18/640-bridge_no_eap_forward.patch (renamed from target/linux/generic/patches-3.18/640-bridge_no_eap_forward.patch)0
-rw-r--r--target/linux/generic/pending-3.18/641-bridge_always_accept_eap.patch (renamed from target/linux/generic/patches-3.18/641-bridge_always_accept_eap.patch)0
-rw-r--r--target/linux/generic/pending-3.18/642-bridge_port_isolate.patch (renamed from target/linux/generic/patches-3.18/642-bridge_port_isolate.patch)0
-rw-r--r--target/linux/generic/pending-3.18/645-bridge_multicast_to_unicast.patch (renamed from target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch)0
-rw-r--r--target/linux/generic/pending-3.18/650-pppoe_header_pad.patch (renamed from target/linux/generic/patches-3.18/650-pppoe_header_pad.patch)0
-rw-r--r--target/linux/generic/pending-3.18/651-wireless_mesh_header.patch (renamed from target/linux/generic/patches-3.18/651-wireless_mesh_header.patch)0
-rw-r--r--target/linux/generic/pending-3.18/653-disable_netlink_trim.patch (renamed from target/linux/generic/patches-3.18/653-disable_netlink_trim.patch)0
-rw-r--r--target/linux/generic/pending-3.18/655-increase_skb_pad.patch (renamed from target/linux/generic/patches-3.18/655-increase_skb_pad.patch)0
-rw-r--r--target/linux/generic/pending-3.18/656-skb_reduce_truesize-helper.patch (renamed from target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch)0
-rw-r--r--target/linux/generic/pending-3.18/657-qdisc_reduce_truesize.patch (renamed from target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch)0
-rw-r--r--target/linux/generic/pending-3.18/660-fq_codel_defaults.patch (renamed from target/linux/generic/patches-3.18/660-fq_codel_defaults.patch)0
-rw-r--r--target/linux/generic/pending-3.18/661-fq_codel_keep_dropped_stats.patch (renamed from target/linux/generic/patches-3.18/661-fq_codel_keep_dropped_stats.patch)0
-rw-r--r--target/linux/generic/pending-3.18/662-use_fq_codel_by_default.patch (renamed from target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch)0
-rw-r--r--target/linux/generic/pending-3.18/663-remove_pfifo_fast.patch (renamed from target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch)0
-rw-r--r--target/linux/generic/pending-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch (renamed from target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch)0
-rw-r--r--target/linux/generic/pending-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch (renamed from target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch)0
-rw-r--r--target/linux/generic/pending-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch (renamed from target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch)0
-rw-r--r--target/linux/generic/pending-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch (renamed from target/linux/generic/patches-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch)0
-rw-r--r--target/linux/generic/pending-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch (renamed from target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch)0
-rw-r--r--target/linux/generic/pending-3.18/681-NET-add-of_get_mac_address_mtd.patch (renamed from target/linux/generic/patches-3.18/681-NET-add-of_get_mac_address_mtd.patch)0
-rw-r--r--target/linux/generic/pending-3.18/700-swconfig.patch (renamed from target/linux/generic/patches-3.18/700-swconfig.patch)0
-rw-r--r--target/linux/generic/pending-3.18/701-phy_extension.patch (renamed from target/linux/generic/patches-3.18/701-phy_extension.patch)0
-rw-r--r--target/linux/generic/pending-3.18/702-phy_add_aneg_done_function.patch (renamed from target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch)0
-rw-r--r--target/linux/generic/pending-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch (renamed from target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch)0
-rw-r--r--target/linux/generic/pending-3.18/704-phy-no-genphy-soft-reset.patch (renamed from target/linux/generic/patches-3.18/704-phy-no-genphy-soft-reset.patch)0
-rw-r--r--target/linux/generic/pending-3.18/710-phy-add-mdio_register_board_info.patch (renamed from target/linux/generic/patches-3.18/710-phy-add-mdio_register_board_info.patch)0
-rw-r--r--target/linux/generic/pending-3.18/720-phy_adm6996.patch (renamed from target/linux/generic/patches-3.18/720-phy_adm6996.patch)0
-rw-r--r--target/linux/generic/pending-3.18/721-phy_packets.patch (renamed from target/linux/generic/patches-3.18/721-phy_packets.patch)0
-rw-r--r--target/linux/generic/pending-3.18/722-phy_mvswitch.patch (renamed from target/linux/generic/patches-3.18/722-phy_mvswitch.patch)0
-rw-r--r--target/linux/generic/pending-3.18/723-phy_ip175c.patch (renamed from target/linux/generic/patches-3.18/723-phy_ip175c.patch)0
-rw-r--r--target/linux/generic/pending-3.18/724-phy_ar8216.patch (renamed from target/linux/generic/patches-3.18/724-phy_ar8216.patch)0
-rw-r--r--target/linux/generic/pending-3.18/725-phy_rtl8306.patch (renamed from target/linux/generic/patches-3.18/725-phy_rtl8306.patch)0
-rw-r--r--target/linux/generic/pending-3.18/726-phy_rtl8366.patch (renamed from target/linux/generic/patches-3.18/726-phy_rtl8366.patch)0
-rw-r--r--target/linux/generic/pending-3.18/727-phy-rtl8367.patch (renamed from target/linux/generic/patches-3.18/727-phy-rtl8367.patch)0
-rw-r--r--target/linux/generic/pending-3.18/728-phy-rtl8367b.patch (renamed from target/linux/generic/patches-3.18/728-phy-rtl8367b.patch)0
-rw-r--r--target/linux/generic/pending-3.18/729-phy-tantos.patch (renamed from target/linux/generic/patches-3.18/729-phy-tantos.patch)0
-rw-r--r--target/linux/generic/pending-3.18/730-phy_b53.patch (renamed from target/linux/generic/patches-3.18/730-phy_b53.patch)0
-rw-r--r--target/linux/generic/pending-3.18/732-phy-ar8216-led-support.patch (renamed from target/linux/generic/patches-3.18/732-phy-ar8216-led-support.patch)0
-rw-r--r--target/linux/generic/pending-3.18/733-phy_mvsw61xx.patch (renamed from target/linux/generic/patches-3.18/733-phy_mvsw61xx.patch)0
-rw-r--r--target/linux/generic/pending-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch (renamed from target/linux/generic/patches-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch)0
-rw-r--r--target/linux/generic/pending-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch (renamed from target/linux/generic/patches-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch)0
-rw-r--r--target/linux/generic/pending-3.18/760-8139cp-fixes-from-4.3.patch (renamed from target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch)0
-rw-r--r--target/linux/generic/pending-3.18/773-bgmac-add-srab-switch.patch (renamed from target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch)0
-rw-r--r--target/linux/generic/pending-3.18/785-hso-support-0af0-9300.patch (renamed from target/linux/generic/patches-3.18/785-hso-support-0af0-9300.patch)0
-rw-r--r--target/linux/generic/pending-3.18/810-pci_disable_common_quirks.patch (renamed from target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch)0
-rw-r--r--target/linux/generic/pending-3.18/811-pci_disable_usb_common_quirks.patch (renamed from target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch)0
-rw-r--r--target/linux/generic/pending-3.18/821-usb-dwc2-dualrole.patch (renamed from target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch)0
-rw-r--r--target/linux/generic/pending-3.18/831-ledtrig_netdev.patch (renamed from target/linux/generic/patches-3.18/831-ledtrig_netdev.patch)0
-rw-r--r--target/linux/generic/pending-3.18/834-ledtrig-libata.patch (renamed from target/linux/generic/patches-3.18/834-ledtrig-libata.patch)0
-rw-r--r--target/linux/generic/pending-3.18/840-rtc7301.patch (renamed from target/linux/generic/patches-3.18/840-rtc7301.patch)0
-rw-r--r--target/linux/generic/pending-3.18/841-rtc_pt7c4338.patch (renamed from target/linux/generic/patches-3.18/841-rtc_pt7c4338.patch)0
-rw-r--r--target/linux/generic/pending-3.18/861-04_spi_gpio_implement_spi_delay.patch (renamed from target/linux/generic/patches-3.18/861-04_spi_gpio_implement_spi_delay.patch)0
-rw-r--r--target/linux/generic/pending-3.18/862-gpio_spi_driver.patch (renamed from target/linux/generic/patches-3.18/862-gpio_spi_driver.patch)0
-rw-r--r--target/linux/generic/pending-3.18/870-hifn795x_byteswap.patch (renamed from target/linux/generic/patches-3.18/870-hifn795x_byteswap.patch)0
-rw-r--r--target/linux/generic/pending-3.18/890-8250_optional_sysrq.patch (renamed from target/linux/generic/patches-3.18/890-8250_optional_sysrq.patch)0
-rw-r--r--target/linux/generic/pending-3.18/901-debloat_sock_diag.patch (renamed from target/linux/generic/patches-3.18/901-debloat_sock_diag.patch)0
-rw-r--r--target/linux/generic/pending-3.18/902-debloat_proc.patch (renamed from target/linux/generic/patches-3.18/902-debloat_proc.patch)0
-rw-r--r--target/linux/generic/pending-3.18/904-debloat_dma_buf.patch (renamed from target/linux/generic/patches-3.18/904-debloat_dma_buf.patch)0
-rw-r--r--target/linux/generic/pending-3.18/910-kobject_uevent.patch (renamed from target/linux/generic/patches-3.18/910-kobject_uevent.patch)0
-rw-r--r--target/linux/generic/pending-3.18/911-kobject_add_broadcast_uevent.patch (renamed from target/linux/generic/patches-3.18/911-kobject_add_broadcast_uevent.patch)0
-rw-r--r--target/linux/generic/pending-3.18/921-use_preinit_as_init.patch (renamed from target/linux/generic/patches-3.18/921-use_preinit_as_init.patch)0
-rw-r--r--target/linux/generic/pending-3.18/922-always-create-console-node-in-initramfs.patch (renamed from target/linux/generic/patches-3.18/922-always-create-console-node-in-initramfs.patch)0
-rw-r--r--target/linux/generic/pending-3.18/930-crashlog.patch (renamed from target/linux/generic/patches-3.18/930-crashlog.patch)0
-rw-r--r--target/linux/generic/pending-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch (renamed from target/linux/generic/patches-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch)0
-rw-r--r--target/linux/generic/pending-3.18/980-arm_openwrt_machtypes.patch (renamed from target/linux/generic/patches-3.18/980-arm_openwrt_machtypes.patch)0
-rw-r--r--target/linux/generic/pending-3.18/990-gpio_wdt.patch (renamed from target/linux/generic/patches-3.18/990-gpio_wdt.patch)0
-rw-r--r--target/linux/generic/pending-3.18/995-mangle_bootargs.patch (renamed from target/linux/generic/patches-3.18/995-mangle_bootargs.patch)0
-rw-r--r--target/linux/generic/pending-3.18/997-device_tree_cmdline.patch (renamed from target/linux/generic/patches-3.18/997-device_tree_cmdline.patch)0
-rw-r--r--target/linux/generic/pending-3.18/998-enable_wilink_platform_without_drivers.patch (renamed from target/linux/generic/patches-3.18/998-enable_wilink_platform_without_drivers.patch)0
-rw-r--r--target/linux/generic/pending-3.18/999-seccomp_log.patch (renamed from target/linux/generic/patches-3.18/999-seccomp_log.patch)0
-rw-r--r--target/linux/generic/pending-4.4/001-mtdsplit_backport.patch (renamed from target/linux/generic/patches-4.4/001-mtdsplit_backport.patch)0
-rw-r--r--target/linux/generic/pending-4.4/002-phy_drivers_backport.patch (renamed from target/linux/generic/patches-4.4/002-phy_drivers_backport.patch)0
-rw-r--r--target/linux/generic/pending-4.4/003-myloader_backport.patch (renamed from target/linux/generic/patches-4.4/003-myloader_backport.patch)0
-rw-r--r--target/linux/generic/pending-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch (renamed from target/linux/generic/patches-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch)0
-rw-r--r--target/linux/generic/pending-4.4/020-bcma-from-4.5.patch (renamed from target/linux/generic/patches-4.4/020-bcma-from-4.5.patch)0
-rw-r--r--target/linux/generic/pending-4.4/021-bcma-from-4.6.patch (renamed from target/linux/generic/patches-4.4/021-bcma-from-4.6.patch)0
-rw-r--r--target/linux/generic/pending-4.4/022-bcma-from-4.8.patch (renamed from target/linux/generic/patches-4.4/022-bcma-from-4.8.patch)0
-rw-r--r--target/linux/generic/pending-4.4/023-bcma-from-4.9.patch (renamed from target/linux/generic/patches-4.4/023-bcma-from-4.9.patch)0
-rw-r--r--target/linux/generic/pending-4.4/025-bcma-from-4.11.patch (renamed from target/linux/generic/patches-4.4/025-bcma-from-4.11.patch)0
-rw-r--r--target/linux/generic/pending-4.4/026-bcma-from-4.12.patch (renamed from target/linux/generic/patches-4.4/026-bcma-from-4.12.patch)0
-rw-r--r--target/linux/generic/pending-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch (renamed from target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch)0
-rw-r--r--target/linux/generic/pending-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch (renamed from target/linux/generic/patches-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch (renamed from target/linux/generic/patches-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch)0
-rw-r--r--target/linux/generic/pending-4.4/033-fq_codel-add-memory-limitation-per-queue.patch (renamed from target/linux/generic/patches-4.4/033-fq_codel-add-memory-limitation-per-queue.patch)0
-rw-r--r--target/linux/generic/pending-4.4/034-fq_codel-fix-memory-limitation-drift.patch (renamed from target/linux/generic/patches-4.4/034-fq_codel-fix-memory-limitation-drift.patch)0
-rw-r--r--target/linux/generic/pending-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch (renamed from target/linux/generic/patches-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch)0
-rw-r--r--target/linux/generic/pending-4.4/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch (renamed from target/linux/generic/patches-4.4/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch)0
-rw-r--r--target/linux/generic/pending-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch (renamed from target/linux/generic/patches-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch)0
-rw-r--r--target/linux/generic/pending-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch (renamed from target/linux/generic/patches-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch)0
-rw-r--r--target/linux/generic/pending-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch (renamed from target/linux/generic/patches-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch)0
-rw-r--r--target/linux/generic/pending-4.4/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch (renamed from target/linux/generic/patches-4.4/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch)0
-rw-r--r--target/linux/generic/pending-4.4/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch (renamed from target/linux/generic/patches-4.4/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch)0
-rw-r--r--target/linux/generic/pending-4.4/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch (renamed from target/linux/generic/patches-4.4/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch)0
-rw-r--r--target/linux/generic/pending-4.4/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch (renamed from target/linux/generic/patches-4.4/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch)0
-rw-r--r--target/linux/generic/pending-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch (renamed from target/linux/generic/patches-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch)0
-rw-r--r--target/linux/generic/pending-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch (renamed from target/linux/generic/patches-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch)0
-rw-r--r--target/linux/generic/pending-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch (renamed from target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch)0
-rw-r--r--target/linux/generic/pending-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch (renamed from target/linux/generic/patches-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch)0
-rw-r--r--target/linux/generic/pending-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch (renamed from target/linux/generic/patches-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch)0
-rw-r--r--target/linux/generic/pending-4.4/050-backport_netfilter_rtcache.patch (renamed from target/linux/generic/patches-4.4/050-backport_netfilter_rtcache.patch)0
-rw-r--r--target/linux/generic/pending-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch (renamed from target/linux/generic/patches-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch)0
-rw-r--r--target/linux/generic/pending-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch (renamed from target/linux/generic/patches-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch)0
-rw-r--r--target/linux/generic/pending-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch (renamed from target/linux/generic/patches-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch)0
-rw-r--r--target/linux/generic/pending-4.4/052-01-ubifs-Implement-O_TMPFILE.patch (renamed from target/linux/generic/patches-4.4/052-01-ubifs-Implement-O_TMPFILE.patch)0
-rw-r--r--target/linux/generic/pending-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch (renamed from target/linux/generic/patches-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch)0
-rw-r--r--target/linux/generic/pending-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch (renamed from target/linux/generic/patches-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch)0
-rw-r--r--target/linux/generic/pending-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch (renamed from target/linux/generic/patches-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch)0
-rw-r--r--target/linux/generic/pending-4.4/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch (renamed from target/linux/generic/patches-4.4/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch)0
-rw-r--r--target/linux/generic/pending-4.4/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch (renamed from target/linux/generic/patches-4.4/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch)0
-rw-r--r--target/linux/generic/pending-4.4/060-mips_decompressor_memmove.patch (renamed from target/linux/generic/patches-4.4/060-mips_decompressor_memmove.patch)0
-rw-r--r--target/linux/generic/pending-4.4/061-softirq-let-ksoftirqd-do-its-job.patch (renamed from target/linux/generic/patches-4.4/061-softirq-let-ksoftirqd-do-its-job.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch (renamed from target/linux/generic/patches-4.4/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch (renamed from target/linux/generic/patches-4.4/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch (renamed from target/linux/generic/patches-4.4/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch (renamed from target/linux/generic/patches-4.4/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch (renamed from target/linux/generic/patches-4.4/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch (renamed from target/linux/generic/patches-4.4/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch (renamed from target/linux/generic/patches-4.4/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch)0
-rw-r--r--target/linux/generic/pending-4.4/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch (renamed from target/linux/generic/patches-4.4/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch (renamed from target/linux/generic/patches-4.4/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch (renamed from target/linux/generic/patches-4.4/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch (renamed from target/linux/generic/patches-4.4/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch (renamed from target/linux/generic/patches-4.4/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch (renamed from target/linux/generic/patches-4.4/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch)0
-rw-r--r--target/linux/generic/pending-4.4/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch (renamed from target/linux/generic/patches-4.4/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch)0
-rw-r--r--target/linux/generic/pending-4.4/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch (renamed from target/linux/generic/patches-4.4/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch)0
-rw-r--r--target/linux/generic/pending-4.4/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch (renamed from target/linux/generic/patches-4.4/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch)0
-rw-r--r--target/linux/generic/pending-4.4/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch (renamed from target/linux/generic/patches-4.4/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch)0
-rw-r--r--target/linux/generic/pending-4.4/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch (renamed from target/linux/generic/patches-4.4/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch)0
-rw-r--r--target/linux/generic/pending-4.4/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch (renamed from target/linux/generic/patches-4.4/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch)0
-rw-r--r--target/linux/generic/pending-4.4/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch (renamed from target/linux/generic/patches-4.4/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch)0
-rw-r--r--target/linux/generic/pending-4.4/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch (renamed from target/linux/generic/patches-4.4/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch)0
-rw-r--r--target/linux/generic/pending-4.4/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch (renamed from target/linux/generic/patches-4.4/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch)0
-rw-r--r--target/linux/generic/pending-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch (renamed from target/linux/generic/patches-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch)0
-rw-r--r--target/linux/generic/pending-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch (renamed from target/linux/generic/patches-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch)0
-rw-r--r--target/linux/generic/pending-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch (renamed from target/linux/generic/patches-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch)0
-rw-r--r--target/linux/generic/pending-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch (renamed from target/linux/generic/patches-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch)0
-rw-r--r--target/linux/generic/pending-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch (renamed from target/linux/generic/patches-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch)0
-rw-r--r--target/linux/generic/pending-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch (renamed from target/linux/generic/patches-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch (renamed from target/linux/generic/patches-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch)0
-rw-r--r--target/linux/generic/pending-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch (renamed from target/linux/generic/patches-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch)0
-rw-r--r--target/linux/generic/pending-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch (renamed from target/linux/generic/patches-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch)0
-rw-r--r--target/linux/generic/pending-4.4/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch (renamed from target/linux/generic/patches-4.4/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch)0
-rw-r--r--target/linux/generic/pending-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch (renamed from target/linux/generic/patches-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch)0
-rw-r--r--target/linux/generic/pending-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch (renamed from target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch)0
-rw-r--r--target/linux/generic/pending-4.4/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch (renamed from target/linux/generic/patches-4.4/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch)0
-rw-r--r--target/linux/generic/pending-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch (renamed from target/linux/generic/patches-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch)0
-rw-r--r--target/linux/generic/pending-4.4/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch (renamed from target/linux/generic/patches-4.4/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch)0
-rw-r--r--target/linux/generic/pending-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch (renamed from target/linux/generic/patches-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch)0
-rw-r--r--target/linux/generic/pending-4.4/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch (renamed from target/linux/generic/patches-4.4/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch)0
-rw-r--r--target/linux/generic/pending-4.4/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch (renamed from target/linux/generic/patches-4.4/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch)0
-rw-r--r--target/linux/generic/pending-4.4/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch (renamed from target/linux/generic/patches-4.4/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch)0
-rw-r--r--target/linux/generic/pending-4.4/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch (renamed from target/linux/generic/patches-4.4/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch)0
-rw-r--r--target/linux/generic/pending-4.4/087-regmap-make-LZO-cache-optional.patch (renamed from target/linux/generic/patches-4.9/087-regmap-make-LZO-cache-optional.patch)0
-rw-r--r--target/linux/generic/pending-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch (renamed from target/linux/generic/patches-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch)0
-rw-r--r--target/linux/generic/pending-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch (renamed from target/linux/generic/patches-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch)0
-rw-r--r--target/linux/generic/pending-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch (renamed from target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch)0
-rw-r--r--target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch (renamed from target/linux/generic/patches-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch)0
-rw-r--r--target/linux/generic/pending-4.4/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch (renamed from target/linux/generic/patches-4.4/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch)0
-rw-r--r--target/linux/generic/pending-4.4/096-arc-add-model-property-in-dts.patch (renamed from target/linux/generic/patches-4.4/096-arc-add-model-property-in-dts.patch)0
-rw-r--r--target/linux/generic/pending-4.4/097-MIPS-io.h-Define-ioremap_cache.patch (renamed from target/linux/generic/patches-4.4/097-MIPS-io.h-Define-ioremap_cache.patch)0
-rw-r--r--target/linux/generic/pending-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch (renamed from target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch)0
-rw-r--r--target/linux/generic/pending-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch (renamed from target/linux/generic/patches-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch)0
-rw-r--r--target/linux/generic/pending-4.4/102-ehci_hcd_ignore_oc.patch (renamed from target/linux/generic/patches-4.4/102-ehci_hcd_ignore_oc.patch)0
-rw-r--r--target/linux/generic/pending-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch (renamed from target/linux/generic/patches-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch)0
-rw-r--r--target/linux/generic/pending-4.4/105-add-linux-spidev-compatible.patch (renamed from target/linux/generic/patches-4.4/105-add-linux-spidev-compatible.patch)0
-rw-r--r--target/linux/generic/pending-4.4/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch (renamed from target/linux/generic/patches-4.4/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch)0
-rw-r--r--target/linux/generic/pending-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch (renamed from target/linux/generic/patches-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch)0
-rw-r--r--target/linux/generic/pending-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch (renamed from target/linux/generic/patches-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch)0
-rw-r--r--target/linux/generic/pending-4.4/120-bridge_allow_receiption_on_disabled_port.patch (renamed from target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch)0
-rw-r--r--target/linux/generic/pending-4.4/132-mips_inline_dma_ops.patch (renamed from target/linux/generic/patches-4.4/132-mips_inline_dma_ops.patch)0
-rw-r--r--target/linux/generic/pending-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch (renamed from target/linux/generic/patches-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch)0
-rw-r--r--target/linux/generic/pending-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch (renamed from target/linux/generic/patches-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch)0
-rw-r--r--target/linux/generic/pending-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch (renamed from target/linux/generic/patches-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch)0
-rw-r--r--target/linux/generic/pending-4.4/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch (renamed from target/linux/generic/patches-4.4/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch)0
-rw-r--r--target/linux/generic/pending-4.4/200-fix_localversion.patch (renamed from target/linux/generic/patches-4.4/200-fix_localversion.patch)0
-rw-r--r--target/linux/generic/pending-4.4/201-extra_optimization.patch (renamed from target/linux/generic/patches-4.4/201-extra_optimization.patch)0
-rw-r--r--target/linux/generic/pending-4.4/202-reduce_module_size.patch (renamed from target/linux/generic/patches-4.4/202-reduce_module_size.patch)0
-rw-r--r--target/linux/generic/pending-4.4/203-kallsyms_uncompressed.patch (renamed from target/linux/generic/patches-4.4/203-kallsyms_uncompressed.patch)0
-rw-r--r--target/linux/generic/pending-4.4/204-module_strip.patch (renamed from target/linux/generic/patches-4.4/204-module_strip.patch)0
-rw-r--r--target/linux/generic/pending-4.4/205-backtrace_module_info.patch (renamed from target/linux/generic/patches-4.4/205-backtrace_module_info.patch)0
-rw-r--r--target/linux/generic/pending-4.4/206-mips-disable-vdso.patch (renamed from target/linux/generic/patches-4.4/206-mips-disable-vdso.patch)0
-rw-r--r--target/linux/generic/pending-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch (renamed from target/linux/generic/patches-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch)0
-rw-r--r--target/linux/generic/pending-4.4/208-disable-modorder.patch (renamed from target/linux/generic/patches-4.4/208-disable-modorder.patch)0
-rw-r--r--target/linux/generic/pending-4.4/210-darwin_scripts_include.patch (renamed from target/linux/generic/patches-4.4/210-darwin_scripts_include.patch)0
-rw-r--r--target/linux/generic/pending-4.4/211-sign-file-libressl.patch (renamed from target/linux/generic/patches-4.4/211-sign-file-libressl.patch)0
-rw-r--r--target/linux/generic/pending-4.4/212-byteshift_portability.patch (renamed from target/linux/generic/patches-4.4/212-byteshift_portability.patch)0
-rw-r--r--target/linux/generic/pending-4.4/214-spidev_h_portability.patch (renamed from target/linux/generic/patches-4.4/214-spidev_h_portability.patch)0
-rw-r--r--target/linux/generic/pending-4.4/220-gc_sections.patch (renamed from target/linux/generic/patches-4.4/220-gc_sections.patch)0
-rw-r--r--target/linux/generic/pending-4.4/221-module_exports.patch (renamed from target/linux/generic/patches-4.4/221-module_exports.patch)0
-rw-r--r--target/linux/generic/pending-4.4/222-arm_zimage_none.patch (renamed from target/linux/generic/patches-4.4/222-arm_zimage_none.patch)0
-rw-r--r--target/linux/generic/pending-4.4/230-openwrt_lzma_options.patch (renamed from target/linux/generic/patches-4.4/230-openwrt_lzma_options.patch)0
-rw-r--r--target/linux/generic/pending-4.4/250-netfilter_depends.patch (renamed from target/linux/generic/patches-4.4/250-netfilter_depends.patch)0
-rw-r--r--target/linux/generic/pending-4.4/251-sound_kconfig.patch (renamed from target/linux/generic/patches-4.4/251-sound_kconfig.patch)0
-rw-r--r--target/linux/generic/pending-4.4/252-mv_cesa_depends.patch (renamed from target/linux/generic/patches-4.4/252-mv_cesa_depends.patch)0
-rw-r--r--target/linux/generic/pending-4.4/253-ssb_b43_default_on.patch (renamed from target/linux/generic/patches-4.4/253-ssb_b43_default_on.patch)0
-rw-r--r--target/linux/generic/pending-4.4/254-textsearch_kconfig_hacks.patch (renamed from target/linux/generic/patches-4.4/254-textsearch_kconfig_hacks.patch)0
-rw-r--r--target/linux/generic/pending-4.4/255-lib80211_kconfig_hacks.patch (renamed from target/linux/generic/patches-4.4/255-lib80211_kconfig_hacks.patch)0
-rw-r--r--target/linux/generic/pending-4.4/256-crypto_add_kconfig_prompts.patch (renamed from target/linux/generic/patches-4.4/256-crypto_add_kconfig_prompts.patch)0
-rw-r--r--target/linux/generic/pending-4.4/257-wireless_ext_kconfig_hack.patch (renamed from target/linux/generic/patches-4.4/257-wireless_ext_kconfig_hack.patch)0
-rw-r--r--target/linux/generic/pending-4.4/258-netfilter_netlink_kconfig_hack.patch (renamed from target/linux/generic/patches-4.4/258-netfilter_netlink_kconfig_hack.patch)0
-rw-r--r--target/linux/generic/pending-4.4/259-regmap_dynamic.patch (renamed from target/linux/generic/patches-4.4/259-regmap_dynamic.patch)0
-rw-r--r--target/linux/generic/pending-4.4/260-crypto_test_dependencies.patch (renamed from target/linux/generic/patches-4.4/260-crypto_test_dependencies.patch)0
-rw-r--r--target/linux/generic/pending-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch (renamed from target/linux/generic/patches-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch)0
-rw-r--r--target/linux/generic/pending-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch (renamed from target/linux/generic/patches-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch)0
-rw-r--r--target/linux/generic/pending-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch (renamed from target/linux/generic/patches-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch)0
-rw-r--r--target/linux/generic/pending-4.4/280-rfkill-stubs.patch (renamed from target/linux/generic/patches-4.4/280-rfkill-stubs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/300-mips_expose_boot_raw.patch (renamed from target/linux/generic/patches-4.4/300-mips_expose_boot_raw.patch)0
-rw-r--r--target/linux/generic/pending-4.4/301-mips_image_cmdline_hack.patch (renamed from target/linux/generic/patches-4.4/301-mips_image_cmdline_hack.patch)0
-rw-r--r--target/linux/generic/pending-4.4/302-mips_no_branch_likely.patch (renamed from target/linux/generic/patches-4.4/302-mips_no_branch_likely.patch)0
-rw-r--r--target/linux/generic/pending-4.4/304-mips_disable_fpu.patch (renamed from target/linux/generic/patches-4.4/304-mips_disable_fpu.patch)0
-rw-r--r--target/linux/generic/pending-4.4/305-mips_module_reloc.patch (renamed from target/linux/generic/patches-4.4/305-mips_module_reloc.patch)0
-rw-r--r--target/linux/generic/pending-4.4/306-mips_mem_functions_performance.patch (renamed from target/linux/generic/patches-4.4/306-mips_mem_functions_performance.patch)0
-rw-r--r--target/linux/generic/pending-4.4/307-mips_highmem_offset.patch (renamed from target/linux/generic/patches-4.4/307-mips_highmem_offset.patch)0
-rw-r--r--target/linux/generic/pending-4.4/308-mips32r2_tune.patch (renamed from target/linux/generic/patches-4.4/308-mips32r2_tune.patch)0
-rw-r--r--target/linux/generic/pending-4.4/310-arm_module_unresolved_weak_sym.patch (renamed from target/linux/generic/patches-4.4/310-arm_module_unresolved_weak_sym.patch)0
-rw-r--r--target/linux/generic/pending-4.4/320-ppc4xx_optimization.patch (renamed from target/linux/generic/patches-4.4/320-ppc4xx_optimization.patch)0
-rw-r--r--target/linux/generic/pending-4.4/321-powerpc_crtsavres_prereq.patch (renamed from target/linux/generic/patches-4.4/321-powerpc_crtsavres_prereq.patch)0
-rw-r--r--target/linux/generic/pending-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch (renamed from target/linux/generic/patches-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch)0
-rw-r--r--target/linux/generic/pending-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch (renamed from target/linux/generic/patches-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch)0
-rw-r--r--target/linux/generic/pending-4.4/332-arc-add-OWRTDTB-section.patch (renamed from target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch)0
-rw-r--r--target/linux/generic/pending-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch (renamed from target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch)0
-rw-r--r--target/linux/generic/pending-4.4/400-mtd-add-rootfs-split-support.patch (renamed from target/linux/generic/patches-4.4/400-mtd-add-rootfs-split-support.patch)0
-rw-r--r--target/linux/generic/pending-4.4/401-mtd-add-support-for-different-partition-parser-types.patch (renamed from target/linux/generic/patches-4.4/401-mtd-add-support-for-different-partition-parser-types.patch)0
-rw-r--r--target/linux/generic/pending-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch (renamed from target/linux/generic/patches-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch)0
-rw-r--r--target/linux/generic/pending-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch (renamed from target/linux/generic/patches-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch)0
-rw-r--r--target/linux/generic/pending-4.4/404-mtd-add-more-helper-functions.patch (renamed from target/linux/generic/patches-4.4/404-mtd-add-more-helper-functions.patch)0
-rw-r--r--target/linux/generic/pending-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch (renamed from target/linux/generic/patches-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch)0
-rw-r--r--target/linux/generic/pending-4.4/411-mtd-partial_eraseblock_write.patch (renamed from target/linux/generic/patches-4.4/411-mtd-partial_eraseblock_write.patch)0
-rw-r--r--target/linux/generic/pending-4.4/412-mtd-partial_eraseblock_unlock.patch (renamed from target/linux/generic/patches-4.4/412-mtd-partial_eraseblock_unlock.patch)0
-rw-r--r--target/linux/generic/pending-4.4/420-mtd-redboot_space.patch (renamed from target/linux/generic/patches-4.4/420-mtd-redboot_space.patch)0
-rw-r--r--target/linux/generic/pending-4.4/430-mtd-add-myloader-partition-parser.patch (renamed from target/linux/generic/patches-4.4/430-mtd-add-myloader-partition-parser.patch)0
-rw-r--r--target/linux/generic/pending-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch (renamed from target/linux/generic/patches-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch)0
-rw-r--r--target/linux/generic/pending-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch (renamed from target/linux/generic/patches-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch)0
-rw-r--r--target/linux/generic/pending-4.4/440-block2mtd_init.patch (renamed from target/linux/generic/patches-4.4/440-block2mtd_init.patch)0
-rw-r--r--target/linux/generic/pending-4.4/441-block2mtd_probe.patch (renamed from target/linux/generic/patches-4.4/441-block2mtd_probe.patch)0
-rw-r--r--target/linux/generic/pending-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch (renamed from target/linux/generic/patches-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch)0
-rw-r--r--target/linux/generic/pending-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch (renamed from target/linux/generic/patches-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch)0
-rw-r--r--target/linux/generic/pending-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch (renamed from target/linux/generic/patches-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch)0
-rw-r--r--target/linux/generic/pending-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch (renamed from target/linux/generic/patches-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch)0
-rw-r--r--target/linux/generic/pending-4.4/465-m25p80-mx-disable-software-protection.patch (renamed from target/linux/generic/patches-4.4/465-m25p80-mx-disable-software-protection.patch)0
-rw-r--r--target/linux/generic/pending-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch (renamed from target/linux/generic/patches-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch)0
-rw-r--r--target/linux/generic/pending-4.4/476-mtd-spi-nor-add-eon-en25q128.patch (renamed from target/linux/generic/patches-4.4/476-mtd-spi-nor-add-eon-en25q128.patch)0
-rw-r--r--target/linux/generic/pending-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch (renamed from target/linux/generic/patches-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch)0
-rw-r--r--target/linux/generic/pending-4.4/479-enable_mtd_has_lock_for_f25l32pa.patch (renamed from target/linux/generic/patches-4.4/479-enable_mtd_has_lock_for_f25l32pa.patch)0
-rw-r--r--target/linux/generic/pending-4.4/480-mtd-set-rootfs-to-be-root-dev.patch (renamed from target/linux/generic/patches-4.4/480-mtd-set-rootfs-to-be-root-dev.patch)0
-rw-r--r--target/linux/generic/pending-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch (renamed from target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch)0
-rw-r--r--target/linux/generic/pending-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch (renamed from target/linux/generic/patches-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch (renamed from target/linux/generic/patches-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch)0
-rw-r--r--target/linux/generic/pending-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch (renamed from target/linux/generic/patches-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch)0
-rw-r--r--target/linux/generic/pending-4.4/494-mtd-ubi-add-EOF-marker-support.patch (renamed from target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch)0
-rw-r--r--target/linux/generic/pending-4.4/530-jffs2_make_lzma_available.patch (renamed from target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch)0
-rw-r--r--target/linux/generic/pending-4.4/531-debloat_lzma.patch (renamed from target/linux/generic/patches-4.4/531-debloat_lzma.patch)0
-rw-r--r--target/linux/generic/pending-4.4/532-jffs2_eofdetect.patch (renamed from target/linux/generic/patches-4.4/532-jffs2_eofdetect.patch)0
-rw-r--r--target/linux/generic/pending-4.4/551-ubifs-fix-default-compression-selection.patch (renamed from target/linux/generic/patches-4.4/551-ubifs-fix-default-compression-selection.patch)0
-rw-r--r--target/linux/generic/pending-4.4/600-netfilter_conntrack_flush.patch (renamed from target/linux/generic/patches-4.4/600-netfilter_conntrack_flush.patch)0
-rw-r--r--target/linux/generic/pending-4.4/610-netfilter_match_bypass_default_checks.patch (renamed from target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch)0
-rw-r--r--target/linux/generic/pending-4.4/611-netfilter_match_bypass_default_table.patch (renamed from target/linux/generic/patches-4.4/611-netfilter_match_bypass_default_table.patch)0
-rw-r--r--target/linux/generic/pending-4.4/612-netfilter_match_reduce_memory_access.patch (renamed from target/linux/generic/patches-4.4/612-netfilter_match_reduce_memory_access.patch)0
-rw-r--r--target/linux/generic/pending-4.4/613-netfilter_optional_tcp_window_check.patch (renamed from target/linux/generic/patches-4.4/613-netfilter_optional_tcp_window_check.patch)0
-rw-r--r--target/linux/generic/pending-4.4/616-net_optimize_xfrm_calls.patch (renamed from target/linux/generic/patches-4.4/616-net_optimize_xfrm_calls.patch)0
-rw-r--r--target/linux/generic/pending-4.4/630-packet_socket_type.patch (renamed from target/linux/generic/patches-4.4/630-packet_socket_type.patch)0
-rw-r--r--target/linux/generic/pending-4.4/640-bridge_no_eap_forward.patch (renamed from target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch)0
-rw-r--r--target/linux/generic/pending-4.4/641-bridge_always_accept_eap.patch (renamed from target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch)0
-rw-r--r--target/linux/generic/pending-4.4/642-bridge_port_isolate.patch (renamed from target/linux/generic/patches-4.4/642-bridge_port_isolate.patch)0
-rw-r--r--target/linux/generic/pending-4.4/645-bridge_multicast_to_unicast.patch (renamed from target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch)0
-rw-r--r--target/linux/generic/pending-4.4/650-pppoe_header_pad.patch (renamed from target/linux/generic/patches-4.4/650-pppoe_header_pad.patch)0
-rw-r--r--target/linux/generic/pending-4.4/651-wireless_mesh_header.patch (renamed from target/linux/generic/patches-4.4/651-wireless_mesh_header.patch)0
-rw-r--r--target/linux/generic/pending-4.4/653-disable_netlink_trim.patch (renamed from target/linux/generic/patches-4.4/653-disable_netlink_trim.patch)0
-rw-r--r--target/linux/generic/pending-4.4/655-increase_skb_pad.patch (renamed from target/linux/generic/patches-4.4/655-increase_skb_pad.patch)0
-rw-r--r--target/linux/generic/pending-4.4/660-fq_codel_defaults.patch (renamed from target/linux/generic/patches-4.4/660-fq_codel_defaults.patch)0
-rw-r--r--target/linux/generic/pending-4.4/661-fq_codel_keep_dropped_stats.patch (renamed from target/linux/generic/patches-4.4/661-fq_codel_keep_dropped_stats.patch)0
-rw-r--r--target/linux/generic/pending-4.4/662-use_fq_codel_by_default.patch (renamed from target/linux/generic/patches-4.4/662-use_fq_codel_by_default.patch)0
-rw-r--r--target/linux/generic/pending-4.4/663-remove_pfifo_fast.patch (renamed from target/linux/generic/patches-4.4/663-remove_pfifo_fast.patch)0
-rw-r--r--target/linux/generic/pending-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch (renamed from target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch)0
-rw-r--r--target/linux/generic/pending-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch (renamed from target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch)0
-rw-r--r--target/linux/generic/pending-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch (renamed from target/linux/generic/patches-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch)0
-rw-r--r--target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch (renamed from target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch)0
-rw-r--r--target/linux/generic/pending-4.4/681-NET-add-of_get_mac_address_mtd.patch (renamed from target/linux/generic/patches-4.4/681-NET-add-of_get_mac_address_mtd.patch)0
-rw-r--r--target/linux/generic/pending-4.4/700-swconfig.patch (renamed from target/linux/generic/patches-4.4/700-swconfig.patch)0
-rw-r--r--target/linux/generic/pending-4.4/701-phy_extension.patch (renamed from target/linux/generic/patches-4.4/701-phy_extension.patch)0
-rw-r--r--target/linux/generic/pending-4.4/702-phy_add_aneg_done_function.patch (renamed from target/linux/generic/patches-4.4/702-phy_add_aneg_done_function.patch)0
-rw-r--r--target/linux/generic/pending-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch (renamed from target/linux/generic/patches-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch)0
-rw-r--r--target/linux/generic/pending-4.4/704-phy-no-genphy-soft-reset.patch (renamed from target/linux/generic/patches-4.4/704-phy-no-genphy-soft-reset.patch)0
-rw-r--r--target/linux/generic/pending-4.4/710-phy-add-mdio_register_board_info.patch (renamed from target/linux/generic/patches-4.4/710-phy-add-mdio_register_board_info.patch)0
-rw-r--r--target/linux/generic/pending-4.4/720-phy_adm6996.patch (renamed from target/linux/generic/patches-4.4/720-phy_adm6996.patch)0
-rw-r--r--target/linux/generic/pending-4.4/721-phy_packets.patch (renamed from target/linux/generic/patches-4.4/721-phy_packets.patch)0
-rw-r--r--target/linux/generic/pending-4.4/722-phy_mvswitch.patch (renamed from target/linux/generic/patches-4.4/722-phy_mvswitch.patch)0
-rw-r--r--target/linux/generic/pending-4.4/723-phy_ip175c.patch (renamed from target/linux/generic/patches-4.4/723-phy_ip175c.patch)0
-rw-r--r--target/linux/generic/pending-4.4/724-phy_ar8216.patch (renamed from target/linux/generic/patches-4.4/724-phy_ar8216.patch)0
-rw-r--r--target/linux/generic/pending-4.4/725-phy_rtl8306.patch (renamed from target/linux/generic/patches-4.4/725-phy_rtl8306.patch)0
-rw-r--r--target/linux/generic/pending-4.4/726-phy_rtl8366.patch (renamed from target/linux/generic/patches-4.4/726-phy_rtl8366.patch)0
-rw-r--r--target/linux/generic/pending-4.4/727-phy-rtl8367.patch (renamed from target/linux/generic/patches-4.4/727-phy-rtl8367.patch)0
-rw-r--r--target/linux/generic/pending-4.4/728-phy-rtl8367b.patch (renamed from target/linux/generic/patches-4.4/728-phy-rtl8367b.patch)0
-rw-r--r--target/linux/generic/pending-4.4/729-phy-tantos.patch (renamed from target/linux/generic/patches-4.4/729-phy-tantos.patch)0
-rw-r--r--target/linux/generic/pending-4.4/730-phy_b53.patch (renamed from target/linux/generic/patches-4.4/730-phy_b53.patch)0
-rw-r--r--target/linux/generic/pending-4.4/732-phy-ar8216-led-support.patch (renamed from target/linux/generic/patches-4.4/732-phy-ar8216-led-support.patch)0
-rw-r--r--target/linux/generic/pending-4.4/733-phy_mvsw61xx.patch (renamed from target/linux/generic/patches-4.4/733-phy_mvsw61xx.patch)0
-rw-r--r--target/linux/generic/pending-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch (renamed from target/linux/generic/patches-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch)0
-rw-r--r--target/linux/generic/pending-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch (renamed from target/linux/generic/patches-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch)0
-rw-r--r--target/linux/generic/pending-4.4/736-at803x-fix-reset-handling.patch (renamed from target/linux/generic/patches-4.4/736-at803x-fix-reset-handling.patch)0
-rw-r--r--target/linux/generic/pending-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch (renamed from target/linux/generic/patches-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch)0
-rw-r--r--target/linux/generic/pending-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch (renamed from target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch)0
-rw-r--r--target/linux/generic/pending-4.4/739-net-phy-at803x-add-support-for-AT8032.patch (renamed from target/linux/generic/patches-4.4/739-net-phy-at803x-add-support-for-AT8032.patch)0
-rw-r--r--target/linux/generic/pending-4.4/773-bgmac-add-srab-switch.patch (renamed from target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch)0
-rw-r--r--target/linux/generic/pending-4.4/810-pci_disable_common_quirks.patch (renamed from target/linux/generic/patches-4.4/810-pci_disable_common_quirks.patch)0
-rw-r--r--target/linux/generic/pending-4.4/811-pci_disable_usb_common_quirks.patch (renamed from target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch)0
-rw-r--r--target/linux/generic/pending-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch (renamed from target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch)0
-rw-r--r--target/linux/generic/pending-4.4/831-ledtrig_netdev.patch (renamed from target/linux/generic/patches-4.4/831-ledtrig_netdev.patch)0
-rw-r--r--target/linux/generic/pending-4.4/834-ledtrig-libata.patch (renamed from target/linux/generic/patches-4.4/834-ledtrig-libata.patch)0
-rw-r--r--target/linux/generic/pending-4.4/835-misc-owl_loader.patch (renamed from target/linux/generic/patches-4.4/835-misc-owl_loader.patch)0
-rw-r--r--target/linux/generic/pending-4.4/840-rtc7301.patch (renamed from target/linux/generic/patches-4.4/840-rtc7301.patch)0
-rw-r--r--target/linux/generic/pending-4.4/841-rtc_pt7c4338.patch (renamed from target/linux/generic/patches-4.4/841-rtc_pt7c4338.patch)0
-rw-r--r--target/linux/generic/pending-4.4/861-04_spi_gpio_implement_spi_delay.patch (renamed from target/linux/generic/patches-4.4/861-04_spi_gpio_implement_spi_delay.patch)0
-rw-r--r--target/linux/generic/pending-4.4/862-gpio_spi_driver.patch (renamed from target/linux/generic/patches-4.4/862-gpio_spi_driver.patch)0
-rw-r--r--target/linux/generic/pending-4.4/890-uart_optional_sysrq.patch (renamed from target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch)0
-rw-r--r--target/linux/generic/pending-4.4/901-debloat_sock_diag.patch (renamed from target/linux/generic/patches-4.4/901-debloat_sock_diag.patch)0
-rw-r--r--target/linux/generic/pending-4.4/902-debloat_proc.patch (renamed from target/linux/generic/patches-4.4/902-debloat_proc.patch)0
-rw-r--r--target/linux/generic/pending-4.4/904-debloat_dma_buf.patch (renamed from target/linux/generic/patches-4.4/904-debloat_dma_buf.patch)0
-rw-r--r--target/linux/generic/pending-4.4/910-kobject_uevent.patch (renamed from target/linux/generic/patches-4.4/910-kobject_uevent.patch)0
-rw-r--r--target/linux/generic/pending-4.4/911-kobject_add_broadcast_uevent.patch (renamed from target/linux/generic/patches-4.4/911-kobject_add_broadcast_uevent.patch)0
-rw-r--r--target/linux/generic/pending-4.4/921-use_preinit_as_init.patch (renamed from target/linux/generic/patches-4.4/921-use_preinit_as_init.patch)0
-rw-r--r--target/linux/generic/pending-4.4/922-always-create-console-node-in-initramfs.patch (renamed from target/linux/generic/patches-4.4/922-always-create-console-node-in-initramfs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/930-crashlog.patch (renamed from target/linux/generic/patches-4.4/930-crashlog.patch)0
-rw-r--r--target/linux/generic/pending-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch (renamed from target/linux/generic/patches-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch)0
-rw-r--r--target/linux/generic/pending-4.4/995-mangle_bootargs.patch (renamed from target/linux/generic/patches-4.4/995-mangle_bootargs.patch)0
-rw-r--r--target/linux/generic/pending-4.4/998-enable_wilink_platform_without_drivers.patch (renamed from target/linux/generic/patches-4.4/998-enable_wilink_platform_without_drivers.patch)0
-rw-r--r--target/linux/generic/pending-4.9/100-MIPS-fix-cache-flushing-for-highmem-pages.patch (renamed from target/linux/generic/patches-4.9/100-MIPS-fix-cache-flushing-for-highmem-pages.patch)3
-rw-r--r--target/linux/generic/pending-4.9/110-ehci_hcd_ignore_oc.patch (renamed from target/linux/generic/patches-4.9/110-ehci_hcd_ignore_oc.patch)5
-rw-r--r--target/linux/generic/pending-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch (renamed from target/linux/generic/patches-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch)6
-rw-r--r--target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch (renamed from target/linux/generic/patches-4.9/130-add-linux-spidev-compatible-si3210.patch)12
-rw-r--r--target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch (renamed from target/linux/generic/patches-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch)5
-rw-r--r--target/linux/generic/pending-4.9/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch (renamed from target/linux/generic/patches-4.9/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch)3
-rw-r--r--target/linux/generic/pending-4.9/141-jffs2-add-RENAME_EXCHANGE-support.patch (renamed from target/linux/generic/patches-4.9/141-jffs2-add-RENAME_EXCHANGE-support.patch)3
-rw-r--r--target/linux/generic/pending-4.9/150-bridge_allow_receiption_on_disabled_port.patch (renamed from target/linux/generic/patches-4.9/150-bridge_allow_receiption_on_disabled_port.patch)0
-rw-r--r--target/linux/generic/pending-4.9/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch (renamed from target/linux/generic/patches-4.9/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch)4
-rw-r--r--target/linux/generic/pending-4.9/170-MIPS-PCI-add-controllers-before-the-specified-head.patch (renamed from target/linux/generic/patches-4.9/170-MIPS-PCI-add-controllers-before-the-specified-head.patch)1
-rw-r--r--target/linux/generic/pending-4.9/180-net-phy-at803x-add-support-for-AT8032.patch (renamed from target/linux/generic/patches-4.9/180-net-phy-at803x-add-support-for-AT8032.patch)3
-rw-r--r--target/linux/generic/pending-4.9/201-extra_optimization.patch37
-rw-r--r--target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch (renamed from target/linux/generic/patches-4.9/203-kallsyms_uncompressed.patch)116
-rw-r--r--target/linux/generic/pending-4.9/205-backtrace_module_info.patch (renamed from target/linux/generic/patches-4.9/205-backtrace_module_info.patch)20
-rw-r--r--target/linux/generic/pending-4.9/206-mips-disable-vdso.patch (renamed from target/linux/generic/patches-4.9/206-mips-disable-vdso.patch)12
-rw-r--r--target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch (renamed from target/linux/generic/patches-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch)27
-rw-r--r--target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch25
-rw-r--r--target/linux/generic/pending-4.9/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch (renamed from target/linux/generic/patches-4.9/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch)4
-rw-r--r--target/linux/generic/pending-4.9/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch (renamed from target/linux/generic/patches-4.9/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch)4
-rw-r--r--target/linux/generic/pending-4.9/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch (renamed from target/linux/generic/patches-4.9/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch)4
-rw-r--r--target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch (renamed from target/linux/generic/patches-4.9/300-mips_expose_boot_raw.patch)1
-rw-r--r--target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch27
-rw-r--r--target/linux/generic/pending-4.9/304-mips_disable_fpu.patch (renamed from target/linux/generic/patches-4.9/304-mips_disable_fpu.patch)2
-rw-r--r--target/linux/generic/pending-4.9/305-mips_module_reloc.patch (renamed from target/linux/generic/patches-4.9/305-mips_module_reloc.patch)26
-rw-r--r--target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch (renamed from target/linux/generic/patches-4.9/306-mips_mem_functions_performance.patch)51
-rw-r--r--target/linux/generic/pending-4.9/307-mips_highmem_offset.patch24
-rw-r--r--target/linux/generic/pending-4.9/308-mips32r2_tune.patch (renamed from target/linux/generic/patches-4.9/308-mips32r2_tune.patch)14
-rw-r--r--target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch27
-rw-r--r--target/linux/generic/pending-4.9/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch (renamed from target/linux/generic/patches-4.9/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch)5
-rw-r--r--target/linux/generic/pending-4.9/332-arc-add-OWRTDTB-section.patch (renamed from target/linux/generic/patches-4.9/332-arc-add-OWRTDTB-section.patch)4
-rw-r--r--target/linux/generic/pending-4.9/333-arc-enable-unaligned-access-in-kernel-mode.patch (renamed from target/linux/generic/patches-4.9/333-arc-enable-unaligned-access-in-kernel-mode.patch)4
-rw-r--r--target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch (renamed from target/linux/generic/patches-4.9/400-mtd-add-rootfs-split-support.patch)28
-rw-r--r--target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch (renamed from target/linux/generic/patches-4.9/401-mtd-add-support-for-different-partition-parser-types.patch)4
-rw-r--r--target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch (renamed from target/linux/generic/patches-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch)21
-rw-r--r--target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch (renamed from target/linux/generic/patches-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch)17
-rw-r--r--target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch (renamed from target/linux/generic/patches-4.9/404-mtd-add-more-helper-functions.patch)48
-rw-r--r--target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch (renamed from target/linux/generic/patches-4.9/411-mtd-partial_eraseblock_write.patch)23
-rw-r--r--target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch45
-rw-r--r--target/linux/generic/pending-4.9/420-mtd-redboot_space.patch (renamed from target/linux/generic/patches-4.9/420-mtd-redboot_space.patch)18
-rw-r--r--target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch (renamed from target/linux/generic/patches-4.9/430-mtd-add-myloader-partition-parser.patch)19
-rw-r--r--target/linux/generic/pending-4.9/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch (renamed from target/linux/generic/patches-4.9/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch)7
-rw-r--r--target/linux/generic/pending-4.9/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch (renamed from target/linux/generic/patches-4.9/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch)7
-rw-r--r--target/linux/generic/pending-4.9/440-block2mtd_init.patch (renamed from target/linux/generic/patches-4.9/440-block2mtd_init.patch)31
-rw-r--r--target/linux/generic/pending-4.9/441-block2mtd_probe.patch (renamed from target/linux/generic/patches-4.9/441-block2mtd_probe.patch)21
-rw-r--r--target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch30
-rw-r--r--target/linux/generic/pending-4.9/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch (renamed from target/linux/generic/patches-4.9/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch)3
-rw-r--r--target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch23
-rw-r--r--target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch (renamed from target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch)15
-rw-r--r--target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch (renamed from target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch)15
-rw-r--r--target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch (renamed from target/linux/generic/patches-4.9/480-mtd-set-rootfs-to-be-root-dev.patch)17
-rw-r--r--target/linux/generic/pending-4.9/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch (renamed from target/linux/generic/patches-4.9/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch)5
-rw-r--r--target/linux/generic/pending-4.9/491-ubi-auto-create-ubiblock-device-for-rootfs.patch (renamed from target/linux/generic/patches-4.9/491-ubi-auto-create-ubiblock-device-for-rootfs.patch)5
-rw-r--r--target/linux/generic/pending-4.9/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch (renamed from target/linux/generic/patches-4.9/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch)5
-rw-r--r--target/linux/generic/pending-4.9/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch (renamed from target/linux/generic/patches-4.9/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch)5
-rw-r--r--target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch (renamed from target/linux/generic/patches-4.9/494-mtd-ubi-add-EOF-marker-support.patch)18
-rw-r--r--target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch (renamed from target/linux/generic/patches-4.9/530-jffs2_make_lzma_available.patch)112
-rw-r--r--target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch (renamed from target/linux/generic/patches-4.9/532-jffs2_eofdetect.patch)22
-rw-r--r--target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch (renamed from target/linux/generic/patches-4.9/551-ubifs-fix-default-compression-selection.patch)15
-rw-r--r--target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch (renamed from target/linux/generic/patches-4.9/600-netfilter_conntrack_flush.patch)18
-rw-r--r--target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch (renamed from target/linux/generic/patches-4.9/610-netfilter_match_bypass_default_checks.patch)28
-rw-r--r--target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch (renamed from target/linux/generic/patches-4.9/611-netfilter_match_bypass_default_table.patch)15
-rw-r--r--target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch (renamed from target/linux/generic/patches-4.9/612-netfilter_match_reduce_memory_access.patch)13
-rw-r--r--target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch (renamed from target/linux/generic/patches-4.9/613-netfilter_optional_tcp_window_check.patch)17
-rw-r--r--target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch25
-rw-r--r--target/linux/generic/pending-4.9/630-packet_socket_type.patch (renamed from target/linux/generic/patches-4.9/630-packet_socket_type.patch)37
-rw-r--r--target/linux/generic/pending-4.9/650-pppoe_header_pad.patch34
-rw-r--r--target/linux/generic/pending-4.9/655-increase_skb_pad.patch25
-rw-r--r--target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch (renamed from target/linux/generic/patches-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch)26
-rw-r--r--target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch (renamed from target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch)18
-rw-r--r--target/linux/generic/pending-4.9/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch (renamed from target/linux/generic/patches-4.9/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch)5
-rw-r--r--target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch (renamed from target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch)91
-rw-r--r--target/linux/generic/pending-4.9/681-NET-add-of_get_mac_address_mtd.patch (renamed from target/linux/generic/patches-4.9/681-NET-add-of_get_mac_address_mtd.patch)1
-rw-r--r--target/linux/generic/pending-4.9/701-phy_extension.patch (renamed from target/linux/generic/patches-4.9/701-phy_extension.patch)20
-rw-r--r--target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch45
-rw-r--r--target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch (renamed from target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch)19
-rw-r--r--target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch (renamed from target/linux/generic/patches-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch)29
-rw-r--r--target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch (renamed from target/linux/generic/patches-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch)20
-rw-r--r--target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch (renamed from target/linux/generic/patches-4.9/810-pci_disable_common_quirks.patch)24
-rw-r--r--target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch (renamed from target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch)30
-rw-r--r--target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch (renamed from target/linux/generic/patches-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch)4
-rw-r--r--target/linux/generic/pending-4.9/831-ledtrig_netdev.patch81
-rw-r--r--target/linux/generic/pending-4.9/834-ledtrig-libata.patch (renamed from target/linux/generic/patches-4.9/834-ledtrig-libata.patch)6
-rw-r--r--target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch47
-rw-r--r--target/linux/generic/pending-4.9/920-mangle_bootargs.patch (renamed from target/linux/generic/patches-4.9/920-mangle_bootargs.patch)60
747 files changed, 3697 insertions, 2653 deletions
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index e45b43f00a..5c58e443df 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -11,7 +11,7 @@ ifneq ($(DUMP),1)
all: compile
endif
-KERNEL_FILE_DEPENDS=$(GENERIC_PATCH_DIR) $(PATCH_DIR) $(GENERIC_FILES_DIR) $(FILES_DIR)
+KERNEL_FILE_DEPENDS=$(BACKPORT_PATCH_DIR) $(GENERIC_PATCH_DIR) $(GENERIC_HACK_DIR) $(PATCH_DIR) $(GENERIC_FILES_DIR) $(FILES_DIR)
STAMP_PREPARED=$(LINUX_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call find_md5,$(KERNEL_FILE_DEPENDS),)))
STAMP_CONFIGURED:=$(LINUX_DIR)/.configured
include $(INCLUDE_DIR)/download.mk
diff --git a/include/quilt.mk b/include/quilt.mk
index 7f525e2e93..61dcc7964c 100644
--- a/include/quilt.mk
+++ b/include/quilt.mk
@@ -97,7 +97,13 @@ define Kernel/Patch/Default
$(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches)
$(if $(kernel_files),$(CP) $(kernel_files) $(LINUX_DIR)/)
find $(LINUX_DIR)/ -name \*.rej -or -name \*.orig | $(XARGS) rm -f
+ if [ -d $(GENERIC_PLATFORM_DIR)/patches$(if $(wildcard $(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) ]; then \
+ echo "generic patches directory is present. please move your patches to the pending directory" ; \
+ exit 1; \
+ fi
+ $(call PatchDir,$(PKG_BUILD_DIR),$(GENERIC_BACKPORT_DIR),generic-backport/)
$(call PatchDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/)
+ $(call PatchDir,$(PKG_BUILD_DIR),$(GENERIC_HACK_DIR),generic-hack/)
$(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/)
endef
@@ -124,7 +130,9 @@ define Quilt/Refresh/Kernel
echo "All kernel patches must start with either generic/ or platform/"; \
false; \
}
+ $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_BACKPORT_DIR),generic-backport/)
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/)
+ $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_HACK_DIR),generic-hack/)
$(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/)
endef
diff --git a/include/target.mk b/include/target.mk
index 646057ca06..c5f6e8bede 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -104,7 +104,9 @@ ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),)
endif
GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic
-GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(if $(wildcard $(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
+GENERIC_BACKPORT_DIR := $(GENERIC_PLATFORM_DIR)/backport$(if $(wildcard $(GENERIC_PLATFORM_DIR)/backport-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
+GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/pending$(if $(wildcard $(GENERIC_PLATFORM_DIR)/pending-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
+GENERIC_HACK_DIR := $(GENERIC_PLATFORM_DIR)/hack$(if $(wildcard $(GENERIC_PLATFORM_DIR)/hack-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GENERIC_PLATFORM_DIR)/files-$(KERNEL_PATCHVER)),"$(dir)")
__config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default
diff --git a/target/linux/generic/patches-4.9/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch b/target/linux/generic/backport-4.9/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch
index 5465c3bd03..966095ed60 100644
--- a/target/linux/generic/patches-4.9/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch
+++ b/target/linux/generic/backport-4.9/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch
@@ -1,13 +1,19 @@
+From 13b1ecc3401653a355798eb1dee10cc1608202f4 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Mon, 18 Jan 2016 12:27:49 +0100
-Subject: [PATCH] Kbuild: don't hardcode path to awk in scripts/ld-version.sh
+Subject: [PATCH 33/34] Kbuild: don't hardcode path to awk in
+ scripts/ld-version.sh
On some systems /usr/bin/awk does not exist, or is broken. Find it via
$PATH instead.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
+ scripts/ld-version.sh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+diff --git a/scripts/ld-version.sh b/scripts/ld-version.sh
+index d135882e2c40..66e6e5ed1b7b 100755
--- a/scripts/ld-version.sh
+++ b/scripts/ld-version.sh
@@ -1,5 +1,6 @@
@@ -23,3 +29,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
exit
}
+'
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/011-kbuild-export-SUBARCH.patch b/target/linux/generic/backport-4.9/011-kbuild-export-SUBARCH.patch
index 8a5af8872d..6cc473d703 100644
--- a/target/linux/generic/patches-4.9/011-kbuild-export-SUBARCH.patch
+++ b/target/linux/generic/backport-4.9/011-kbuild-export-SUBARCH.patch
@@ -1,6 +1,18 @@
+From 173019b66dcc9d68ad9333aa744dad1e369b5aa8 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sun, 9 Jul 2017 00:26:53 +0200
+Subject: [PATCH 34/34] kernel: add compile fix for linux 4.9 on x86
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index dd0a67d6e392..6e37f6bb669a 100644
--- a/Makefile
+++ b/Makefile
-@@ -414,8 +414,8 @@ KERNELRELEASE = $(shell cat include/conf
+@@ -420,8 +420,8 @@ KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
@@ -11,3 +23,6 @@
export MAKE AWK GENKSYMS INSTALLKERNEL PERL PYTHON UTS_MACHINE
export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/020-backport_netfilter_rtcache.patch b/target/linux/generic/backport-4.9/020-backport_netfilter_rtcache.patch
index 268708b993..5e4c844bf8 100644
--- a/target/linux/generic/patches-4.9/020-backport_netfilter_rtcache.patch
+++ b/target/linux/generic/backport-4.9/020-backport_netfilter_rtcache.patch
@@ -1,4 +1,7 @@
-Subject: netfilter: conntrack: cache route for forwarded connections
+From c4d66e57455f5384128753674cc0f9e02db5e1f6 Mon Sep 17 00:00:00 2001
+From: Florian Westphal <fw@strlen.de>
+Date: Sun, 9 Jul 2017 08:58:30 +0200
+Subject: [PATCH] netfilter: conntrack: cache route for forwarded connections
... to avoid per-packet FIB lookup if possible.
@@ -22,7 +25,18 @@ Julian Anastasov suggested to add NETDEV_UNREGISTER handler to
avoid holding on to dsts of 'frozen' conntracks.
Signed-off-by: Florian Westphal <fw@strlen.de>
+---
+ include/net/netfilter/nf_conntrack_extend.h | 4 +
+ include/net/netfilter/nf_conntrack_rtcache.h | 34 +++
+ net/netfilter/Kconfig | 12 +
+ net/netfilter/Makefile | 3 +
+ net/netfilter/nf_conntrack_rtcache.c | 413 +++++++++++++++++++++++++++
+ 5 files changed, 466 insertions(+)
+ create mode 100644 include/net/netfilter/nf_conntrack_rtcache.h
+ create mode 100644 net/netfilter/nf_conntrack_rtcache.c
+diff --git a/include/net/netfilter/nf_conntrack_extend.h b/include/net/netfilter/nf_conntrack_extend.h
+index 1c3035dda31f..0988c7dfa604 100644
--- a/include/net/netfilter/nf_conntrack_extend.h
+++ b/include/net/netfilter/nf_conntrack_extend.h
@@ -27,6 +27,9 @@ enum nf_ct_ext_id {
@@ -43,6 +57,9 @@ Signed-off-by: Florian Westphal <fw@strlen.de>
/* Extensions: optional stuff which isn't permanently in struct. */
struct nf_ct_ext {
+diff --git a/include/net/netfilter/nf_conntrack_rtcache.h b/include/net/netfilter/nf_conntrack_rtcache.h
+new file mode 100644
+index 000000000000..e2fb30243354
--- /dev/null
+++ b/include/net/netfilter/nf_conntrack_rtcache.h
@@ -0,0 +1,34 @@
@@ -80,6 +97,8 @@ Signed-off-by: Florian Westphal <fw@strlen.de>
+{
+ return rtc->cached_dst[dir].iif;
+}
+diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
+index e8d56d9a4df2..82af5ba64088 100644
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -114,6 +114,18 @@ config NF_CONNTRACK_EVENTS
@@ -101,9 +120,11 @@ Signed-off-by: Florian Westphal <fw@strlen.de>
config NF_CONNTRACK_TIMEOUT
bool 'Connection tracking timeout'
depends on NETFILTER_ADVANCED
+diff --git a/net/netfilter/Makefile b/net/netfilter/Makefile
+index c23c3c84416f..8adef51367f9 100644
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -16,6 +16,9 @@ obj-$(CONFIG_NETFILTER_NETLINK_LOG) += n
+@@ -16,6 +16,9 @@ obj-$(CONFIG_NETFILTER_NETLINK_LOG) += nfnetlink_log.o
# connection tracking
obj-$(CONFIG_NF_CONNTRACK) += nf_conntrack.o
@@ -113,6 +134,9 @@ Signed-off-by: Florian Westphal <fw@strlen.de>
# SCTP protocol connection tracking
obj-$(CONFIG_NF_CT_PROTO_DCCP) += nf_conntrack_proto_dccp.o
obj-$(CONFIG_NF_CT_PROTO_GRE) += nf_conntrack_proto_gre.o
+diff --git a/net/netfilter/nf_conntrack_rtcache.c b/net/netfilter/nf_conntrack_rtcache.c
+new file mode 100644
+index 000000000000..fb073d01960d
--- /dev/null
+++ b/net/netfilter/nf_conntrack_rtcache.c
@@ -0,0 +1,413 @@
@@ -529,3 +553,6 @@ Signed-off-by: Florian Westphal <fw@strlen.de>
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Florian Westphal <fw@strlen.de>");
+MODULE_DESCRIPTION("Conntrack route cache extension");
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch b/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch
index 1886b01cf1..d3b4a62361 100644
--- a/target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch
+++ b/target/linux/generic/backport-4.9/021-bridge-multicast-to-unicast.patch
@@ -106,7 +106,7 @@ Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
if (prev == port)
--- a/net/bridge/br_mdb.c
+++ b/net/bridge/br_mdb.c
-@@ -532,7 +532,7 @@ static int br_mdb_add_group(struct net_b
+@@ -531,7 +531,7 @@ static int br_mdb_add_group(struct net_b
break;
}
diff --git a/target/linux/generic/patches-4.9/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch b/target/linux/generic/backport-4.9/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch
index c5d65b7105..c5d65b7105 100644
--- a/target/linux/generic/patches-4.9/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch
+++ b/target/linux/generic/backport-4.9/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch
diff --git a/target/linux/generic/patches-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/backport-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
index cfc9abb3b7..cfc9abb3b7 100644
--- a/target/linux/generic/patches-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/backport-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/backport-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 99d98e101c..99d98e101c 100644
--- a/target/linux/generic/patches-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/backport-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch b/target/linux/generic/backport-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
index aee8aa9805..aee8aa9805 100644
--- a/target/linux/generic/patches-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
+++ b/target/linux/generic/backport-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
diff --git a/target/linux/generic/patches-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/backport-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 4d0fcf6fc2..4d0fcf6fc2 100644
--- a/target/linux/generic/patches-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/backport-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/backport-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index ea8279940b..ea8279940b 100644
--- a/target/linux/generic/patches-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/backport-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.9/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/backport-4.9/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 83de38bf8a..83de38bf8a 100644
--- a/target/linux/generic/patches-4.9/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/backport-4.9/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.9/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/backport-4.9/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 597f25b21d..597f25b21d 100644
--- a/target/linux/generic/patches-4.9/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/backport-4.9/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch b/target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch
index 8e1f312a0b..8e1f312a0b 100644
--- a/target/linux/generic/patches-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch
+++ b/target/linux/generic/backport-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch
diff --git a/target/linux/generic/patches-4.9/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch b/target/linux/generic/backport-4.9/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch
index 96fa441132..96fa441132 100644
--- a/target/linux/generic/patches-4.9/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch
+++ b/target/linux/generic/backport-4.9/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch
diff --git a/target/linux/generic/patches-4.9/050-usb-dwc2-Remove-unnecessary-kfree.patch b/target/linux/generic/backport-4.9/050-usb-dwc2-Remove-unnecessary-kfree.patch
index df3656dd55..df3656dd55 100644
--- a/target/linux/generic/patches-4.9/050-usb-dwc2-Remove-unnecessary-kfree.patch
+++ b/target/linux/generic/backport-4.9/050-usb-dwc2-Remove-unnecessary-kfree.patch
diff --git a/target/linux/generic/patches-4.9/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch b/target/linux/generic/backport-4.9/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch
index d975a26202..d975a26202 100644
--- a/target/linux/generic/patches-4.9/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch
+++ b/target/linux/generic/backport-4.9/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch
diff --git a/target/linux/generic/patches-4.9/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch b/target/linux/generic/backport-4.9/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch
index ecdae2a871..ecdae2a871 100644
--- a/target/linux/generic/patches-4.9/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch
+++ b/target/linux/generic/backport-4.9/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch
diff --git a/target/linux/generic/patches-4.9/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch b/target/linux/generic/backport-4.9/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch
index 999f544d3b..999f544d3b 100644
--- a/target/linux/generic/patches-4.9/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch
+++ b/target/linux/generic/backport-4.9/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch
diff --git a/target/linux/generic/patches-4.9/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch b/target/linux/generic/backport-4.9/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch
index bcefee8e87..bcefee8e87 100644
--- a/target/linux/generic/patches-4.9/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch
+++ b/target/linux/generic/backport-4.9/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch
diff --git a/target/linux/generic/patches-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch b/target/linux/generic/backport-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch
index 54f950036b..54f950036b 100644
--- a/target/linux/generic/patches-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch
+++ b/target/linux/generic/backport-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch
diff --git a/target/linux/generic/patches-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch b/target/linux/generic/backport-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch
index c5e29c7c1f..cd0aa4660a 100644
--- a/target/linux/generic/patches-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch
+++ b/target/linux/generic/backport-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch
@@ -26,8 +26,8 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1263,6 +1263,13 @@ static int spansion_quad_enable(struct s
- return ret;
+@@ -1256,6 +1256,13 @@ static int spansion_quad_enable(struct s
+ return -EINVAL;
}
+ ret = spi_nor_wait_till_ready(nor);
diff --git a/target/linux/generic/patches-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch b/target/linux/generic/backport-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch
index 9c4e10d022..9c4e10d022 100644
--- a/target/linux/generic/patches-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch
+++ b/target/linux/generic/backport-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch
diff --git a/target/linux/generic/patches-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch b/target/linux/generic/backport-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch
index 955e5bb2d4..955e5bb2d4 100644
--- a/target/linux/generic/patches-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch
+++ b/target/linux/generic/backport-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch
diff --git a/target/linux/generic/patches-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch b/target/linux/generic/backport-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch
index b97d8c7857..b97d8c7857 100644
--- a/target/linux/generic/patches-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch
+++ b/target/linux/generic/backport-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch
diff --git a/target/linux/generic/patches-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch b/target/linux/generic/backport-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch
index b4e94543e5..b4e94543e5 100644
--- a/target/linux/generic/patches-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch
+++ b/target/linux/generic/backport-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch
diff --git a/target/linux/generic/patches-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch b/target/linux/generic/backport-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch
index 3bae77db7c..3bae77db7c 100644
--- a/target/linux/generic/patches-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch
+++ b/target/linux/generic/backport-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch b/target/linux/generic/backport-4.9/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch
index 87b83cc5dd..df36f6b036 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch
@@ -206,7 +206,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
if (ret < 0)
goto write_err;
written = ret;
-@@ -1319,6 +1408,47 @@ static int spi_nor_check(struct spi_nor
+@@ -1312,6 +1401,47 @@ static int spi_nor_check(struct spi_nor
return 0;
}
@@ -254,7 +254,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
{
const struct flash_info *info = NULL;
-@@ -1367,6 +1497,14 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -1360,6 +1490,14 @@ int spi_nor_scan(struct spi_nor *nor, co
mutex_init(&nor->lock);
/*
@@ -269,7 +269,7 @@ Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
* Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
* with the software protection bits set
*/
-@@ -1524,6 +1662,12 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -1517,6 +1655,12 @@ int spi_nor_scan(struct spi_nor *nor, co
nor->read_dummy = spi_nor_read_dummy_cycles(nor);
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch b/target/linux/generic/backport-4.9/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch
index bdd5e344d7..bdd5e344d7 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch b/target/linux/generic/backport-4.9/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch
index 731ef21bb8..731ef21bb8 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch b/target/linux/generic/backport-4.9/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch
index d436789eb0..9bdce0493e 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch
@@ -95,7 +95,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
static struct seq_rw_config stfsm_s25fl_write4_configs[] = {
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1632,16 +1632,16 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -1625,16 +1625,16 @@ int spi_nor_scan(struct spi_nor *nor, co
/* Dedicated 4-byte command set */
switch (nor->flash_read) {
case SPI_NOR_QUAD:
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch b/target/linux/generic/backport-4.9/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch
index dc05fe31bb..8e994e61be 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch
@@ -116,7 +116,7 @@ Acked-by: Marek Vasut <marek.vasut@gmail.com>
/* Enable/disable 4-byte addressing mode. */
static inline int set_4byte(struct spi_nor *nor, const struct flash_info *info,
int enable)
-@@ -1628,27 +1704,10 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -1621,27 +1697,10 @@ int spi_nor_scan(struct spi_nor *nor, co
else if (mtd->size > 0x1000000) {
/* enable 4-byte addressing if the device exceeds 16MiB */
nor->addr_width = 4;
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch b/target/linux/generic/backport-4.9/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch
index be78682193..be78682193 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch b/target/linux/generic/backport-4.9/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch
index f8d0541428..f8d0541428 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch
diff --git a/target/linux/generic/patches-4.9/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch b/target/linux/generic/backport-4.9/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch
index 5253957286..5253957286 100644
--- a/target/linux/generic/patches-4.9/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch
+++ b/target/linux/generic/backport-4.9/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch
diff --git a/target/linux/generic/patches-4.9/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch b/target/linux/generic/backport-4.9/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch
index 339591500f..339591500f 100644
--- a/target/linux/generic/patches-4.9/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch
+++ b/target/linux/generic/backport-4.9/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch
diff --git a/target/linux/generic/patches-4.9/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch b/target/linux/generic/backport-4.9/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch
index d2e582ef5b..d2e582ef5b 100644
--- a/target/linux/generic/patches-4.9/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch
+++ b/target/linux/generic/backport-4.9/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch
diff --git a/target/linux/generic/patches-4.9/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch b/target/linux/generic/backport-4.9/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch
index ea68fc474f..ea68fc474f 100644
--- a/target/linux/generic/patches-4.9/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch
+++ b/target/linux/generic/backport-4.9/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch b/target/linux/generic/backport-4.9/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch
index d912811850..d912811850 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch b/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch
index d312e081a9..d312e081a9 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch b/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch
index d93f4ba4b5..d93f4ba4b5 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch
index 0f1b502b70..0f1b502b70 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch b/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch
index 7951227654..7951227654 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch b/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch
index 0d3e10ac20..0d3e10ac20 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch b/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch
index a28ee316fa..a28ee316fa 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch
diff --git a/target/linux/generic/patches-4.9/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch b/target/linux/generic/backport-4.9/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch
index 3761a46610..3761a46610 100644
--- a/target/linux/generic/patches-4.9/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch
+++ b/target/linux/generic/backport-4.9/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch
diff --git a/target/linux/generic/patches-4.9/070-bcma-from-4.11.patch b/target/linux/generic/backport-4.9/070-bcma-from-4.11.patch
index a3b0321986..a3b0321986 100644
--- a/target/linux/generic/patches-4.9/070-bcma-from-4.11.patch
+++ b/target/linux/generic/backport-4.9/070-bcma-from-4.11.patch
diff --git a/target/linux/generic/patches-4.9/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch b/target/linux/generic/backport-4.9/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch
index 37639faf17..37639faf17 100644
--- a/target/linux/generic/patches-4.9/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch
+++ b/target/linux/generic/backport-4.9/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch
diff --git a/target/linux/generic/patches-4.9/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch b/target/linux/generic/backport-4.9/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch
index 7a6f3454d1..7a6f3454d1 100644
--- a/target/linux/generic/patches-4.9/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch
+++ b/target/linux/generic/backport-4.9/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch
diff --git a/target/linux/generic/patches-4.9/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch b/target/linux/generic/backport-4.9/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch
index d1be3e3f4c..d1be3e3f4c 100644
--- a/target/linux/generic/patches-4.9/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch
+++ b/target/linux/generic/backport-4.9/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch
diff --git a/target/linux/generic/patches-4.9/072-bcma-from-4.12.patch b/target/linux/generic/backport-4.9/072-bcma-from-4.12.patch
index 23f2656ab5..23f2656ab5 100644
--- a/target/linux/generic/patches-4.9/072-bcma-from-4.12.patch
+++ b/target/linux/generic/backport-4.9/072-bcma-from-4.12.patch
diff --git a/target/linux/generic/patches-4.9/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch b/target/linux/generic/backport-4.9/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch
index 9279a7c84c..9279a7c84c 100644
--- a/target/linux/generic/patches-4.9/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch
+++ b/target/linux/generic/backport-4.9/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch
diff --git a/target/linux/generic/patches-4.9/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch b/target/linux/generic/backport-4.9/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch
index 4caa7b193d..4caa7b193d 100644
--- a/target/linux/generic/patches-4.9/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch
+++ b/target/linux/generic/backport-4.9/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch
diff --git a/target/linux/generic/patches-4.9/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch b/target/linux/generic/backport-4.9/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch
index c9b3b5911e..c9b3b5911e 100644
--- a/target/linux/generic/patches-4.9/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch
+++ b/target/linux/generic/backport-4.9/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch
diff --git a/target/linux/generic/patches-4.9/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch b/target/linux/generic/backport-4.9/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch
index 3d61ec6369..3d61ec6369 100644
--- a/target/linux/generic/patches-4.9/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch
+++ b/target/linux/generic/backport-4.9/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch
diff --git a/target/linux/generic/patches-4.9/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch b/target/linux/generic/backport-4.9/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch
index 03013a0197..03013a0197 100644
--- a/target/linux/generic/patches-4.9/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch
+++ b/target/linux/generic/backport-4.9/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch b/target/linux/generic/backport-4.9/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch
index 96fb3da5b0..96fb3da5b0 100644
--- a/target/linux/generic/patches-4.9/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch
+++ b/target/linux/generic/backport-4.9/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch b/target/linux/generic/backport-4.9/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch
index 1bdecf5729..1bdecf5729 100644
--- a/target/linux/generic/patches-4.9/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch
+++ b/target/linux/generic/backport-4.9/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch b/target/linux/generic/backport-4.9/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch
index 8034f4b217..8034f4b217 100644
--- a/target/linux/generic/patches-4.9/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch
+++ b/target/linux/generic/backport-4.9/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch b/target/linux/generic/backport-4.9/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch
index 7aa4ee2c79..7aa4ee2c79 100644
--- a/target/linux/generic/patches-4.9/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch
+++ b/target/linux/generic/backport-4.9/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch b/target/linux/generic/backport-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch
index 554e3117d8..554e3117d8 100644
--- a/target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch
+++ b/target/linux/generic/backport-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch b/target/linux/generic/backport-4.9/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch
index 5fa7e88c53..5fa7e88c53 100644
--- a/target/linux/generic/patches-4.9/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch
+++ b/target/linux/generic/backport-4.9/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch b/target/linux/generic/backport-4.9/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch
index b7326c3df4..b7326c3df4 100644
--- a/target/linux/generic/patches-4.9/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch
+++ b/target/linux/generic/backport-4.9/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch
diff --git a/target/linux/generic/patches-4.9/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch b/target/linux/generic/backport-4.9/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch
index 5b1b307aec..5b1b307aec 100644
--- a/target/linux/generic/patches-4.9/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch
+++ b/target/linux/generic/backport-4.9/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch
diff --git a/target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch b/target/linux/generic/backport-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch
index 0247fffb2a..0247fffb2a 100644
--- a/target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch
+++ b/target/linux/generic/backport-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch
diff --git a/target/linux/generic/patches-4.9/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch b/target/linux/generic/backport-4.9/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch
index d1ef21ed0a..d1ef21ed0a 100644
--- a/target/linux/generic/patches-4.9/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch
+++ b/target/linux/generic/backport-4.9/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch
diff --git a/target/linux/generic/patches-4.9/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch b/target/linux/generic/backport-4.9/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch
index 8ba8cb57eb..8ba8cb57eb 100644
--- a/target/linux/generic/patches-4.9/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch
+++ b/target/linux/generic/backport-4.9/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch
diff --git a/target/linux/generic/patches-4.9/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch b/target/linux/generic/backport-4.9/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch
index 65d17c8a9e..65d17c8a9e 100644
--- a/target/linux/generic/patches-4.9/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch
+++ b/target/linux/generic/backport-4.9/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch
diff --git a/target/linux/generic/patches-4.4/087-regmap-make-LZO-cache-optional.patch b/target/linux/generic/backport-4.9/087-regmap-make-LZO-cache-optional.patch
index c26994ee35..c26994ee35 100644
--- a/target/linux/generic/patches-4.4/087-regmap-make-LZO-cache-optional.patch
+++ b/target/linux/generic/backport-4.9/087-regmap-make-LZO-cache-optional.patch
diff --git a/target/linux/generic/hack-4.9/202-reduce_module_size.patch b/target/linux/generic/hack-4.9/202-reduce_module_size.patch
new file mode 100644
index 0000000000..1ec8997fab
--- /dev/null
+++ b/target/linux/generic/hack-4.9/202-reduce_module_size.patch
@@ -0,0 +1,29 @@
+From fd66884da2f96d2a7ea73f58b1b86251b959a913 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 16:56:19 +0200
+Subject: kernel: strip unnecessary symbol table information from kernel modules
+
+reduces default squashfs size on ar71xx by about 4k
+
+lede-commit: 058d331a39077f159ca8922f1f422a1346d6aa67
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index a40b373eba3a..984eb5907d00 100644
+--- a/Makefile
++++ b/Makefile
+@@ -407,7 +407,7 @@ KBUILD_CFLAGS_KERNEL :=
+ KBUILD_AFLAGS := -D__ASSEMBLY__ $(call cc-option,-fno-PIE)
+ KBUILD_AFLAGS_MODULE := -DMODULE
+ KBUILD_CFLAGS_MODULE := -DMODULE
+-KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
++KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
+
+ # Read KERNELRELEASE from include/config/kernel.release (if it exists)
+ KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/204-module_strip.patch b/target/linux/generic/hack-4.9/204-module_strip.patch
index 8860ec332e..5827c138e5 100644
--- a/target/linux/generic/patches-4.9/204-module_strip.patch
+++ b/target/linux/generic/hack-4.9/204-module_strip.patch
@@ -1,8 +1,19 @@
+From a779a482fb9b9f8fcdf8b2519c789b4b9bb5dd05 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
-Subject: [PATCH] build: add a hack for removing non-essential module info
+Date: Fri, 7 Jul 2017 16:56:48 +0200
+Subject: build: add a hack for removing non-essential module info
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
+ include/linux/module.h | 13 ++++++++-----
+ include/linux/moduleparam.h | 15 ++++++++++++---
+ init/Kconfig | 7 +++++++
+ kernel/module.c | 5 ++++-
+ scripts/mod/modpost.c | 12 ++++++++++++
+ 5 files changed, 43 insertions(+), 9 deletions(-)
+
+diff --git a/include/linux/module.h b/include/linux/module.h
+index 0c3207d26ac0..08b58474bfd2 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -159,6 +159,7 @@ extern void cleanup_module(void);
@@ -29,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Creates an alias so file2alias.c can find device table. */
#define MODULE_DEVICE_TABLE(type, name) \
extern const typeof(name) __mod_##type##__##name##_device_table \
-@@ -234,7 +235,9 @@ extern const typeof(name) __mod_##type##
+@@ -234,7 +235,9 @@ extern const typeof(name) __mod_##type##__##name##_device_table \
*/
#if defined(MODULE) || !defined(CONFIG_SYSFS)
@@ -40,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#else
#define MODULE_VERSION(_version) \
static struct module_version_attribute ___modver_attr = { \
-@@ -256,7 +259,7 @@ extern const typeof(name) __mod_##type##
+@@ -256,7 +259,7 @@ extern const typeof(name) __mod_##type##__##name##_device_table \
/* Optional firmware file (or files) needed by the module
* format is simply firmware file name. Multiple firmware
* files require multiple MODULE_FIRMWARE() specifiers */
@@ -49,6 +60,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct notifier_block;
+diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
+index 52666d90ca94..f0db3592906a 100644
--- a/include/linux/moduleparam.h
+++ b/include/linux/moduleparam.h
@@ -16,6 +16,16 @@
@@ -68,7 +81,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#ifdef MODULE
#define __MODULE_INFO(tag, name, info) \
static const char __UNIQUE_ID(name)[] \
-@@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[]
+@@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[] \
= __stringify(tag) "=" info
#else /* !MODULE */
/* This struct is here for syntactic coherency, it is not used */
@@ -78,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#endif
#define __MODULE_PARM_TYPE(name, _type) \
__MODULE_INFO(parmtype, name##type, #name ":" _type)
-@@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[]
+@@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[] \
/* One for each parameter, describing how to use it. Some files do
multiple of these per line, so can't just use MODULE_INFO. */
#define MODULE_PARM_DESC(_parm, desc) \
@@ -87,9 +100,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct kernel_param;
+diff --git a/init/Kconfig b/init/Kconfig
+index 34407f15e6d3..9f2c0cabbc97 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -2106,6 +2106,13 @@ config TRIM_UNUSED_KSYMS
+@@ -2095,6 +2095,13 @@ config TRIM_UNUSED_KSYMS
If unsure, or if you need to build out-of-tree modules, say N.
@@ -103,9 +118,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
endif # MODULES
config MODULES_TREE_LOOKUP
+diff --git a/kernel/module.c b/kernel/module.c
+index 0e54d5bf0097..80b5ac4181c6 100644
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -2945,9 +2945,11 @@ static struct module *setup_load_info(st
+@@ -2945,9 +2945,11 @@ static struct module *setup_load_info(struct load_info *info, int flags)
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{
@@ -118,7 +135,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL;
-@@ -2968,6 +2970,7 @@ static int check_modinfo(struct module *
+@@ -2968,6 +2970,7 @@ static int check_modinfo(struct module *mod, struct load_info *info, int flags)
mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
}
@@ -126,6 +143,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (get_modinfo(info, "staging")) {
add_taint_module(mod, TAINT_CRAP, LOCKDEP_STILL_OK);
+diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
+index bd8349759095..80f214adbe44 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1964,7 +1964,9 @@ static void read_symbols(char *modname)
@@ -138,7 +157,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
if (!is_vmlinux(modname) ||
(is_vmlinux(modname) && vmlinux_section_warnings))
-@@ -2108,7 +2110,9 @@ static void add_header(struct buffer *b,
+@@ -2108,7 +2110,9 @@ static void add_header(struct buffer *b, struct module *mod)
buf_printf(b, "#include <linux/vermagic.h>\n");
buf_printf(b, "#include <linux/compiler.h>\n");
buf_printf(b, "\n");
@@ -148,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
buf_printf(b, "\n");
buf_printf(b, "__visible struct module __this_module\n");
buf_printf(b, "__attribute__((section(\".gnu.linkonce.this_module\"))) = {\n");
-@@ -2125,16 +2129,20 @@ static void add_header(struct buffer *b,
+@@ -2125,16 +2129,20 @@ static void add_header(struct buffer *b, struct module *mod)
static void add_intree_flag(struct buffer *b, int is_intree)
{
@@ -169,7 +188,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
/* In kernel, this size is defined in linux/module.h;
-@@ -2238,11 +2246,13 @@ static void add_depends(struct buffer *b
+@@ -2238,11 +2246,13 @@ static void add_depends(struct buffer *b, struct module *mod,
static void add_srcversion(struct buffer *b, struct module *mod)
{
@@ -193,3 +212,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
add_srcversion(&buf, mod);
sprintf(fname, "%s.mod.c", mod->name);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/207-disable-modorder.patch b/target/linux/generic/hack-4.9/207-disable-modorder.patch
index ad24a8026e..d8ab95532d 100644
--- a/target/linux/generic/patches-4.9/207-disable-modorder.patch
+++ b/target/linux/generic/hack-4.9/207-disable-modorder.patch
@@ -1,11 +1,23 @@
-Disable modules.order to improve build performance.
-This file is not needed for anything in LEDE
+From c9ef4ab0f54356ee9f91d9676ea0ec123840ddc7 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 16:57:33 +0200
+Subject: kernel: do not build modules.order
+It is not needed for anything on the system and skipping this saves some
+build time, especially in cases where there is nothing to do.
+
+lede-commit: afc1675833a7bf5df094f59f7250369520646d04
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
+ Makefile | 2 --
+ scripts/Makefile.build | 2 +-
+ 2 files changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 984eb5907d00..cce1c68e48ae 100644
--- a/Makefile
+++ b/Makefile
-@@ -1196,7 +1196,6 @@ all: modules
+@@ -1193,7 +1193,6 @@ all: modules
PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
@@ -13,7 +25,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
@$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild
-@@ -1226,7 +1225,6 @@ _modinst_:
+@@ -1223,7 +1222,6 @@ _modinst_:
rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
@@ -21,6 +33,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
@cp -f $(objtree)/modules.builtin $(MODLIB)/
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
+diff --git a/scripts/Makefile.build b/scripts/Makefile.build
+index 7675d11ee65e..108d73273788 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -93,7 +93,7 @@ modorder-target := $(obj)/modules.order
@@ -32,3 +46,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
$(subdir-ym) $(always)
@:
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/210-darwin_scripts_include.patch b/target/linux/generic/hack-4.9/210-darwin_scripts_include.patch
index 7e0fb8067a..ac6e12f1a8 100644
--- a/target/linux/generic/patches-4.9/210-darwin_scripts_include.patch
+++ b/target/linux/generic/hack-4.9/210-darwin_scripts_include.patch
@@ -1,6 +1,23 @@
+From db7c30dcd9a0391bf13b62c9f91e144d762ef43a Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Fri, 7 Jul 2017 17:00:49 +0200
+Subject: Add an OSX specific patch to make the kernel be compiled
+
+lede-commit: 3fc2a24f0422b2f55f9ed43f116db3111f700526
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ scripts/kconfig/Makefile | 3 +
+ scripts/mod/elf.h | 3007 ++++++++++++++++++++++++++++++++++++++++++++
+ scripts/mod/mk_elfconfig.c | 4 +
+ scripts/mod/modpost.h | 4 +
+ 4 files changed, 3018 insertions(+)
+ create mode 100644 scripts/mod/elf.h
+
+diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
+index 90a091b6ae4d..f9620652e70a 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
-@@ -163,6 +163,9 @@ check-lxdialog := $(srctree)/$(src)/lxd
+@@ -163,6 +163,9 @@ check-lxdialog := $(srctree)/$(src)/lxdialog/check-lxdialog.sh
# we really need to do so. (Do not call gcc as part of make mrproper)
HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
-DLOCALE
@@ -10,34 +27,9 @@
# ===========================================================================
# Shared Makefile for the various kconfig executables:
---- a/scripts/mod/mk_elfconfig.c
-+++ b/scripts/mod/mk_elfconfig.c
-@@ -1,7 +1,11 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#ifndef __APPLE__
- #include <elf.h>
-+#else
-+#include "elf.h"
-+#endif
-
- int
- main(int argc, char **argv)
---- a/scripts/mod/modpost.h
-+++ b/scripts/mod/modpost.h
-@@ -7,7 +7,11 @@
- #include <sys/mman.h>
- #include <fcntl.h>
- #include <unistd.h>
-+#if !(defined(__APPLE__) || defined(__CYGWIN__))
- #include <elf.h>
-+#else
-+#include "elf.h"
-+#endif
-
- #include "elfconfig.h"
-
+diff --git a/scripts/mod/elf.h b/scripts/mod/elf.h
+new file mode 100644
+index 000000000000..036a176345eb
--- /dev/null
+++ b/scripts/mod/elf.h
@@ -0,0 +1,3007 @@
@@ -3048,3 +3040,38 @@
+#define R_TILEGX_NUM 130
+
+#endif /* elf.h */
+diff --git a/scripts/mod/mk_elfconfig.c b/scripts/mod/mk_elfconfig.c
+index a4fd71d71d65..5ec3740ebb3c 100644
+--- a/scripts/mod/mk_elfconfig.c
++++ b/scripts/mod/mk_elfconfig.c
+@@ -1,7 +1,11 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#ifndef __APPLE__
+ #include <elf.h>
++#else
++#include "elf.h"
++#endif
+
+ int
+ main(int argc, char **argv)
+diff --git a/scripts/mod/modpost.h b/scripts/mod/modpost.h
+index 6a5e1515123b..237c50d2ec6c 100644
+--- a/scripts/mod/modpost.h
++++ b/scripts/mod/modpost.h
+@@ -7,7 +7,11 @@
+ #include <sys/mman.h>
+ #include <fcntl.h>
+ #include <unistd.h>
++#if !(defined(__APPLE__) || defined(__CYGWIN__))
+ #include <elf.h>
++#else
++#include "elf.h"
++#endif
+
+ #include "elfconfig.h"
+
+--
+2.11.0
+
diff --git a/target/linux/generic/hack-4.9/211-host_tools_portability.patch b/target/linux/generic/hack-4.9/211-host_tools_portability.patch
new file mode 100644
index 0000000000..bb71a293c4
--- /dev/null
+++ b/target/linux/generic/hack-4.9/211-host_tools_portability.patch
@@ -0,0 +1,49 @@
+From 7f698012384ccb1ed10cc758acfd085096fdb307 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:02:03 +0200
+Subject: kernel: fix linux 4.9 host tools portability issues
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ tools/build/Build.include | 2 +-
+ tools/perf/pmu-events/jevents.c | 1 +
+ tools/perf/pmu-events/json.c | 1 -
+ 3 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tools/build/Build.include b/tools/build/Build.include
+index 1dcb95e76f70..9d6f97a7c1aa 100644
+--- a/tools/build/Build.include
++++ b/tools/build/Build.include
+@@ -95,4 +95,4 @@ cxx_flags = -Wp,-MD,$(depfile),-MT,$@ $(CXXFLAGS) -D"BUILD_STR(s)=\#s" $(CXXFLAG
+ ###
+ ## HOSTCC C flags
+
+-host_c_flags = -Wp,-MD,$(depfile),-MT,$@ $(CHOSTFLAGS) -D"BUILD_STR(s)=\#s" $(CHOSTFLAGS_$(basetarget).o) $(CHOSTFLAGS_$(obj))
++host_c_flags = -MD -MF $(depfile) -MT $@ $(CHOSTFLAGS) -D"BUILD_STR(s)=\#s" $(CHOSTFLAGS_$(basetarget).o) $(CHOSTFLAGS_$(obj))
+diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
+index 41611d7f9873..51333bee190c 100644
+--- a/tools/perf/pmu-events/jevents.c
++++ b/tools/perf/pmu-events/jevents.c
+@@ -35,6 +35,7 @@
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
++#include <strings.h>
+ #include <ctype.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+diff --git a/tools/perf/pmu-events/json.c b/tools/perf/pmu-events/json.c
+index f67bbb0aa36e..a72c70a97fab 100644
+--- a/tools/perf/pmu-events/json.c
++++ b/tools/perf/pmu-events/json.c
+@@ -38,7 +38,6 @@
+ #include <unistd.h>
+ #include "jsmn.h"
+ #include "json.h"
+-#include <linux/kernel.h>
+
+
+ static char *mapfile(const char *fn, size_t *size)
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/212-byteshift_portability.patch b/target/linux/generic/hack-4.9/212-byteshift_portability.patch
index 0f23ba9be9..ccecd5745a 100644
--- a/target/linux/generic/patches-4.9/212-byteshift_portability.patch
+++ b/target/linux/generic/hack-4.9/212-byteshift_portability.patch
@@ -1,3 +1,19 @@
+From 48232d3d931c95953ce2ddfe7da7bb164aef6a73 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:03:16 +0200
+Subject: linux-3.6: fix portability of some includes files in tools/ used on the host
+
+lede-commit: 6040b1d29ab1f047c5e49b748abcb6a3196add28
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ tools/include/tools/be_byteshift.h | 4 ++++
+ tools/include/tools/le_byteshift.h | 4 ++++
+ tools/include/tools/linux_types.h | 22 ++++++++++++++++++++++
+ 3 files changed, 30 insertions(+)
+ create mode 100644 tools/include/tools/linux_types.h
+
+diff --git a/tools/include/tools/be_byteshift.h b/tools/include/tools/be_byteshift.h
+index 84c17d836578..ed9932e97bd4 100644
--- a/tools/include/tools/be_byteshift.h
+++ b/tools/include/tools/be_byteshift.h
@@ -1,6 +1,10 @@
@@ -11,6 +27,8 @@
#include <stdint.h>
static inline uint16_t __get_unaligned_be16(const uint8_t *p)
+diff --git a/tools/include/tools/le_byteshift.h b/tools/include/tools/le_byteshift.h
+index 8fe9f2488ec7..2e387b5226d9 100644
--- a/tools/include/tools/le_byteshift.h
+++ b/tools/include/tools/le_byteshift.h
@@ -1,6 +1,10 @@
@@ -24,6 +42,9 @@
#include <stdint.h>
static inline uint16_t __get_unaligned_le16(const uint8_t *p)
+diff --git a/tools/include/tools/linux_types.h b/tools/include/tools/linux_types.h
+new file mode 100644
+index 000000000000..f07ef8293ebc
--- /dev/null
+++ b/tools/include/tools/linux_types.h
@@ -0,0 +1,22 @@
@@ -49,3 +70,6 @@
+typedef uint64_t __le64;
+
+#endif
+--
+2.11.0
+
diff --git a/target/linux/generic/hack-4.9/214-spidev_h_portability.patch b/target/linux/generic/hack-4.9/214-spidev_h_portability.patch
new file mode 100644
index 0000000000..e1467b915b
--- /dev/null
+++ b/target/linux/generic/hack-4.9/214-spidev_h_portability.patch
@@ -0,0 +1,29 @@
+From be9be95ff10e16a5b4ad36f903978d0cc5747024 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:04:08 +0200
+Subject: kernel: fix linux/spi/spidev.h portability issues with musl
+
+Felix will try to get this define included into musl
+
+lede-commit: 795e7cf60de19e7a076a46874fab7bb88b43bbff
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/uapi/linux/spi/spidev.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/uapi/linux/spi/spidev.h b/include/uapi/linux/spi/spidev.h
+index dd5f21e75805..e5e8fea8b068 100644
+--- a/include/uapi/linux/spi/spidev.h
++++ b/include/uapi/linux/spi/spidev.h
+@@ -111,7 +111,7 @@ struct spi_ioc_transfer {
+
+ /* not all platforms use <asm-generic/ioctl.h> or _IOC_TYPECHECK() ... */
+ #define SPI_MSGSIZE(N) \
+- ((((N)*(sizeof (struct spi_ioc_transfer))) < (1 << _IOC_SIZEBITS)) \
++ ((((N)*(sizeof (struct spi_ioc_transfer))) < (1 << 13)) \
+ ? ((N)*(sizeof (struct spi_ioc_transfer))) : 0)
+ #define SPI_IOC_MESSAGE(N) _IOW(SPI_IOC_MAGIC, 0, char[SPI_MSGSIZE(N)])
+
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/220-gc_sections.patch b/target/linux/generic/hack-4.9/220-gc_sections.patch
index 96622f5ef4..d6f7da0e72 100644
--- a/target/linux/generic/patches-4.9/220-gc_sections.patch
+++ b/target/linux/generic/hack-4.9/220-gc_sections.patch
@@ -1,6 +1,7 @@
+From e3d8676f5722b7622685581e06e8f53e6138e3ab Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
-
-use -ffunction-sections, -fdata-sections and --gc-sections
+Date: Sat, 15 Jul 2017 23:42:36 +0200
+Subject: use -ffunction-sections, -fdata-sections and --gc-sections
In combination with kernel symbol export stripping this significantly reduces
the kernel image size. Used on both ARM and MIPS architectures.
@@ -9,7 +10,187 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
---
+ Makefile | 10 +++----
+ arch/arm/Kconfig | 1 +
+ arch/arm/boot/compressed/Makefile | 1 +
+ arch/arm/kernel/vmlinux.lds.S | 26 ++++++++--------
+ arch/mips/Kconfig | 1 +
+ arch/mips/kernel/vmlinux.lds.S | 4 +--
+ include/asm-generic/vmlinux.lds.h | 63 ++++++++++++++++++++-------------------
+ 7 files changed, 55 insertions(+), 51 deletions(-)
+diff --git a/Makefile b/Makefile
+index 42435dfa5fc3..66cdf6a59b53 100644
+--- a/Makefile
++++ b/Makefile
+@@ -410,6 +410,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
+ KBUILD_CFLAGS_MODULE := -DMODULE
+ KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
+
++ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
++KBUILD_CFLAGS_KERNEL += $(call cc-option,-ffunction-sections,)
++KBUILD_CFLAGS_KERNEL += $(call cc-option,-fdata-sections,)
++endif
++
+ # Read KERNELRELEASE from include/config/kernel.release (if it exists)
+ KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
+ KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
+@@ -631,11 +636,6 @@ include arch/$(SRCARCH)/Makefile
+ KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
+ KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
+
+-ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
+-KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
+-KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
+-endif
+-
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
+ else
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index b5d529fdffab..7f69418bf02c 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -81,6 +81,7 @@ config ARM
+ select HAVE_UID16
+ select HAVE_VIRT_CPU_ACCOUNTING_GEN
+ select IRQ_FORCED_THREADING
++ select LD_DEAD_CODE_DATA_ELIMINATION
+ select MODULES_USE_ELF_REL
+ select NO_BOOTMEM
+ select OF_EARLY_FLATTREE if OF
+diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
+index d50430c40045..6bdeb009a46d 100644
+--- a/arch/arm/boot/compressed/Makefile
++++ b/arch/arm/boot/compressed/Makefile
+@@ -102,6 +102,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
+ ORIG_CFLAGS := $(KBUILD_CFLAGS)
+ KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
+ endif
++KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL))
+
+ # -fstack-protector-strong triggers protection checks in this code,
+ # but it is being used too early to link to meaningful stack_chk logic.
+diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
+index f7f55df0bf7b..e9d70c92d99f 100644
+--- a/arch/arm/kernel/vmlinux.lds.S
++++ b/arch/arm/kernel/vmlinux.lds.S
+@@ -17,7 +17,7 @@
+ #define PROC_INFO \
+ . = ALIGN(4); \
+ VMLINUX_SYMBOL(__proc_info_begin) = .; \
+- *(.proc.info.init) \
++ KEEP(*(.proc.info.init)) \
+ VMLINUX_SYMBOL(__proc_info_end) = .;
+
+ #define HYPERVISOR_TEXT \
+@@ -28,11 +28,11 @@
+ #define IDMAP_TEXT \
+ ALIGN_FUNCTION(); \
+ VMLINUX_SYMBOL(__idmap_text_start) = .; \
+- *(.idmap.text) \
++ KEEP(*(.idmap.text)) \
+ VMLINUX_SYMBOL(__idmap_text_end) = .; \
+ . = ALIGN(PAGE_SIZE); \
+ VMLINUX_SYMBOL(__hyp_idmap_text_start) = .; \
+- *(.hyp.idmap.text) \
++ KEEP(*(.hyp.idmap.text)) \
+ VMLINUX_SYMBOL(__hyp_idmap_text_end) = .;
+
+ #ifdef CONFIG_HOTPLUG_CPU
+@@ -105,7 +105,7 @@ SECTIONS
+ _stext = .; /* Text and read-only data */
+ IDMAP_TEXT
+ __exception_text_start = .;
+- *(.exception.text)
++ KEEP(*(.exception.text))
+ __exception_text_end = .;
+ IRQENTRY_TEXT
+ SOFTIRQENTRY_TEXT
+@@ -134,7 +134,7 @@ SECTIONS
+ __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
+ __start___ex_table = .;
+ #ifdef CONFIG_MMU
+- *(__ex_table)
++ KEEP(*(__ex_table))
+ #endif
+ __stop___ex_table = .;
+ }
+@@ -146,12 +146,12 @@ SECTIONS
+ . = ALIGN(8);
+ .ARM.unwind_idx : {
+ __start_unwind_idx = .;
+- *(.ARM.exidx*)
++ KEEP(*(.ARM.exidx*))
+ __stop_unwind_idx = .;
+ }
+ .ARM.unwind_tab : {
+ __start_unwind_tab = .;
+- *(.ARM.extab*)
++ KEEP(*(.ARM.extab*))
+ __stop_unwind_tab = .;
+ }
+ #endif
+@@ -171,14 +171,14 @@ SECTIONS
+ */
+ __vectors_start = .;
+ .vectors 0xffff0000 : AT(__vectors_start) {
+- *(.vectors)
++ KEEP(*(.vectors))
+ }
+ . = __vectors_start + SIZEOF(.vectors);
+ __vectors_end = .;
+
+ __stubs_start = .;
+ .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) {
+- *(.stubs)
++ KEEP(*(.stubs))
+ }
+ . = __stubs_start + SIZEOF(.stubs);
+ __stubs_end = .;
+@@ -194,24 +194,24 @@ SECTIONS
+ }
+ .init.arch.info : {
+ __arch_info_begin = .;
+- *(.arch.info.init)
++ KEEP(*(.arch.info.init))
+ __arch_info_end = .;
+ }
+ .init.tagtable : {
+ __tagtable_begin = .;
+- *(.taglist.init)
++ KEEP(*(.taglist.init))
+ __tagtable_end = .;
+ }
+ #ifdef CONFIG_SMP_ON_UP
+ .init.smpalt : {
+ __smpalt_begin = .;
+- *(.alt.smp.init)
++ KEEP(*(.alt.smp.init))
+ __smpalt_end = .;
+ }
+ #endif
+ .init.pv_table : {
+ __pv_table_begin = .;
+- *(.pv_table)
++ KEEP(*(.pv_table))
+ __pv_table_end = .;
+ }
+ .init.data : {
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 3a97487b8b81..05e7bfeab2f9 100644
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -55,6 +55,7 @@ config MIPS
+ select CLONE_BACKWARDS
+ select HAVE_DEBUG_STACKOVERFLOW
+ select HAVE_CC_STACKPROTECTOR
++ select LD_DEAD_CODE_DATA_ELIMINATION
+ select CPU_PM if CPU_IDLE
+ select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
+ select ARCH_BINFMT_ELF_STATE
+diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
+index d5de67591735..de5f682b5597 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -71,7 +71,7 @@ SECTIONS
@@ -30,6 +211,8 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
__mips_machines_end = .;
}
+diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
+index 31e1d639abed..83784d9492b1 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -114,7 +114,7 @@
@@ -250,163 +433,6 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
VMLINUX_SYMBOL(__setup_end) = .;
#define INIT_CALLS_LEVEL(level) \
---- a/arch/arm/kernel/vmlinux.lds.S
-+++ b/arch/arm/kernel/vmlinux.lds.S
-@@ -17,7 +17,7 @@
- #define PROC_INFO \
- . = ALIGN(4); \
- VMLINUX_SYMBOL(__proc_info_begin) = .; \
-- *(.proc.info.init) \
-+ KEEP(*(.proc.info.init)) \
- VMLINUX_SYMBOL(__proc_info_end) = .;
-
- #define HYPERVISOR_TEXT \
-@@ -28,11 +28,11 @@
- #define IDMAP_TEXT \
- ALIGN_FUNCTION(); \
- VMLINUX_SYMBOL(__idmap_text_start) = .; \
-- *(.idmap.text) \
-+ KEEP(*(.idmap.text)) \
- VMLINUX_SYMBOL(__idmap_text_end) = .; \
- . = ALIGN(PAGE_SIZE); \
- VMLINUX_SYMBOL(__hyp_idmap_text_start) = .; \
-- *(.hyp.idmap.text) \
-+ KEEP(*(.hyp.idmap.text)) \
- VMLINUX_SYMBOL(__hyp_idmap_text_end) = .;
-
- #ifdef CONFIG_HOTPLUG_CPU
-@@ -105,7 +105,7 @@ SECTIONS
- _stext = .; /* Text and read-only data */
- IDMAP_TEXT
- __exception_text_start = .;
-- *(.exception.text)
-+ KEEP(*(.exception.text))
- __exception_text_end = .;
- IRQENTRY_TEXT
- SOFTIRQENTRY_TEXT
-@@ -134,7 +134,7 @@ SECTIONS
- __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
- __start___ex_table = .;
- #ifdef CONFIG_MMU
-- *(__ex_table)
-+ KEEP(*(__ex_table))
- #endif
- __stop___ex_table = .;
- }
-@@ -146,12 +146,12 @@ SECTIONS
- . = ALIGN(8);
- .ARM.unwind_idx : {
- __start_unwind_idx = .;
-- *(.ARM.exidx*)
-+ KEEP(*(.ARM.exidx*))
- __stop_unwind_idx = .;
- }
- .ARM.unwind_tab : {
- __start_unwind_tab = .;
-- *(.ARM.extab*)
-+ KEEP(*(.ARM.extab*))
- __stop_unwind_tab = .;
- }
- #endif
-@@ -171,14 +171,14 @@ SECTIONS
- */
- __vectors_start = .;
- .vectors 0xffff0000 : AT(__vectors_start) {
-- *(.vectors)
-+ KEEP(*(.vectors))
- }
- . = __vectors_start + SIZEOF(.vectors);
- __vectors_end = .;
-
- __stubs_start = .;
- .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) {
-- *(.stubs)
-+ KEEP(*(.stubs))
- }
- . = __stubs_start + SIZEOF(.stubs);
- __stubs_end = .;
-@@ -194,24 +194,24 @@ SECTIONS
- }
- .init.arch.info : {
- __arch_info_begin = .;
-- *(.arch.info.init)
-+ KEEP(*(.arch.info.init))
- __arch_info_end = .;
- }
- .init.tagtable : {
- __tagtable_begin = .;
-- *(.taglist.init)
-+ KEEP(*(.taglist.init))
- __tagtable_end = .;
- }
- #ifdef CONFIG_SMP_ON_UP
- .init.smpalt : {
- __smpalt_begin = .;
-- *(.alt.smp.init)
-+ KEEP(*(.alt.smp.init))
- __smpalt_end = .;
- }
- #endif
- .init.pv_table : {
- __pv_table_begin = .;
-- *(.pv_table)
-+ KEEP(*(.pv_table))
- __pv_table_end = .;
- }
- .init.data : {
---- a/arch/arm/boot/compressed/Makefile
-+++ b/arch/arm/boot/compressed/Makefile
-@@ -102,6 +102,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
- ORIG_CFLAGS := $(KBUILD_CFLAGS)
- KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
- endif
-+KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL))
-
- # -fstack-protector-strong triggers protection checks in this code,
- # but it is being used too early to link to meaningful stack_chk logic.
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -81,6 +81,7 @@ config ARM
- select HAVE_UID16
- select HAVE_VIRT_CPU_ACCOUNTING_GEN
- select IRQ_FORCED_THREADING
-+ select LD_DEAD_CODE_DATA_ELIMINATION
- select MODULES_USE_ELF_REL
- select NO_BOOTMEM
- select OF_EARLY_FLATTREE if OF
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -55,6 +55,7 @@ config MIPS
- select CLONE_BACKWARDS
- select HAVE_DEBUG_STACKOVERFLOW
- select HAVE_CC_STACKPROTECTOR
-+ select LD_DEAD_CODE_DATA_ELIMINATION
- select CPU_PM if CPU_IDLE
- select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
- select ARCH_BINFMT_ELF_STATE
---- a/Makefile
-+++ b/Makefile
-@@ -409,6 +409,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
- KBUILD_CFLAGS_MODULE := -DMODULE
- KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
-
-+ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
-+KBUILD_CFLAGS_KERNEL += $(call cc-option,-ffunction-sections,)
-+KBUILD_CFLAGS_KERNEL += $(call cc-option,-fdata-sections,)
-+endif
-+
- # Read KERNELRELEASE from include/config/kernel.release (if it exists)
- KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
- KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
-@@ -633,11 +638,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni
- KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
- KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
-
--ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
--KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
--KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
--endif
--
- ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
- KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
- else
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/221-module_exports.patch b/target/linux/generic/hack-4.9/221-module_exports.patch
index 85d09741e1..301eb3b2b4 100644
--- a/target/linux/generic/patches-4.9/221-module_exports.patch
+++ b/target/linux/generic/hack-4.9/221-module_exports.patch
@@ -1,3 +1,18 @@
+From b14784e7883390c20ed3ff904892255404a5914b Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:05:53 +0200
+Subject: add an optional config option for stripping all unnecessary symbol exports from the kernel image
+
+lede-commit: bb5a40c64b7c4f4848509fa0a6625055fc9e66cc
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/asm-generic/vmlinux.lds.h | 18 +++++++++++++++---
+ include/linux/export.h | 9 ++++++++-
+ scripts/Makefile.build | 2 +-
+ 3 files changed, 24 insertions(+), 5 deletions(-)
+
+diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
+index 83784d9492b1..189b5c7a0758 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -54,6 +54,16 @@
@@ -52,17 +67,8 @@
*(.discard) \
*(.discard.*) \
}
---- a/scripts/Makefile.build
-+++ b/scripts/Makefile.build
-@@ -398,7 +398,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
- # Linker scripts preprocessor (.lds.S -> .lds)
- # ---------------------------------------------------------------------------
- quiet_cmd_cpp_lds_S = LDS $@
-- cmd_cpp_lds_S = $(CPP) $(cpp_flags) -P -C -U$(ARCH) \
-+ cmd_cpp_lds_S = $(CPP) $(EXTRA_LDSFLAGS) $(cpp_flags) -P -C -U$(ARCH) \
- -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
-
- $(obj)/%.lds: $(src)/%.lds.S FORCE
+diff --git a/include/linux/export.h b/include/linux/export.h
+index 2a0f61fbc731..889331d9643d 100644
--- a/include/linux/export.h
+++ b/include/linux/export.h
@@ -53,12 +53,19 @@ extern struct module __this_module;
@@ -86,3 +92,19 @@
= VMLINUX_SYMBOL_STR(sym); \
static const struct kernel_symbol __ksymtab_##sym \
__used \
+diff --git a/scripts/Makefile.build b/scripts/Makefile.build
+index 108d73273788..76a0e450123c 100644
+--- a/scripts/Makefile.build
++++ b/scripts/Makefile.build
+@@ -398,7 +398,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(always)
+ # Linker scripts preprocessor (.lds.S -> .lds)
+ # ---------------------------------------------------------------------------
+ quiet_cmd_cpp_lds_S = LDS $@
+- cmd_cpp_lds_S = $(CPP) $(cpp_flags) -P -C -U$(ARCH) \
++ cmd_cpp_lds_S = $(CPP) $(EXTRA_LDSFLAGS) $(cpp_flags) -P -C -U$(ARCH) \
+ -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
+
+ $(obj)/%.lds: $(src)/%.lds.S FORCE
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/230-openwrt_lzma_options.patch b/target/linux/generic/hack-4.9/230-openwrt_lzma_options.patch
index 3d495a13b6..d20f3aa693 100644
--- a/target/linux/generic/patches-4.9/230-openwrt_lzma_options.patch
+++ b/target/linux/generic/hack-4.9/230-openwrt_lzma_options.patch
@@ -1,6 +1,33 @@
+From b3d00b452467f621317953d9e4c6f9ae8dcfd271 Mon Sep 17 00:00:00 2001
+From: Imre Kaloz <kaloz@openwrt.org>
+Date: Fri, 7 Jul 2017 17:06:55 +0200
+Subject: use the openwrt lzma options for now
+
+lede-commit: 548de949f392049420a6a1feeef118b30ab8ea8c
+Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
+---
+ lib/decompress.c | 1 +
+ scripts/Makefile.lib | 2 +-
+ scripts/gen_initramfs_list.sh | 10 +++++-----
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/lib/decompress.c b/lib/decompress.c
+index 62696dff5730..d91a26e1a1b2 100644
+--- a/lib/decompress.c
++++ b/lib/decompress.c
+@@ -48,6 +48,7 @@ static const struct compress_format compressed_formats[] __initconst = {
+ { {0x1f, 0x9e}, "gzip", gunzip },
+ { {0x42, 0x5a}, "bzip2", bunzip2 },
+ { {0x5d, 0x00}, "lzma", unlzma },
++ { {0x6d, 0x00}, "lzma-openwrt", unlzma },
+ { {0xfd, 0x37}, "xz", unxz },
+ { {0x89, 0x4c}, "lzo", unlzo },
+ { {0x02, 0x21}, "lz4", unlz4 },
+diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
+index 0a07f9014944..5324c072c598 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
-@@ -344,7 +344,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
+@@ -344,7 +344,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^) | \
quiet_cmd_lzma = LZMA $@
cmd_lzma = (cat $(filter-out FORCE,$^) | \
@@ -9,6 +36,8 @@
(rm -f $@ ; false)
quiet_cmd_lzo = LZO $@
+diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
+index 0055b07b03b6..7710113e6a72 100755
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -229,7 +229,7 @@ cpio_list=
@@ -46,13 +75,6 @@
|| (rm -f ${output_file} ; false)
fi
[ -z ${cpio_file} ] && rm ${cpio_tfile}
---- a/lib/decompress.c
-+++ b/lib/decompress.c
-@@ -48,6 +48,7 @@ static const struct compress_format comp
- { {0x1f, 0x9e}, "gzip", gunzip },
- { {0x42, 0x5a}, "bzip2", bunzip2 },
- { {0x5d, 0x00}, "lzma", unlzma },
-+ { {0x6d, 0x00}, "lzma-openwrt", unlzma },
- { {0xfd, 0x37}, "xz", unxz },
- { {0x89, 0x4c}, "lzo", unlzo },
- { {0x02, 0x21}, "lz4", unlz4 },
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/250-netfilter_depends.patch b/target/linux/generic/hack-4.9/250-netfilter_depends.patch
index 9557e90d5a..108cf2ca86 100644
--- a/target/linux/generic/patches-4.9/250-netfilter_depends.patch
+++ b/target/linux/generic/hack-4.9/250-netfilter_depends.patch
@@ -1,3 +1,14 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: hack: net: remove bogus netfilter dependencies
+
+lede-commit: 589d2a377dee27d206fc3725325309cf649e4df6
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/netfilter/Kconfig | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
+index 82af5ba64088..65fe84db77ec 100644
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -218,7 +218,6 @@ config NF_CONNTRACK_FTP
@@ -16,3 +27,6 @@
default m if NETFILTER_ADVANCED=n
---help---
This option adds a `TCPMSS' target, which allows you to alter the
+--
+2.11.0
+
diff --git a/target/linux/generic/hack-4.9/251-sound_kconfig.patch b/target/linux/generic/hack-4.9/251-sound_kconfig.patch
new file mode 100644
index 0000000000..010af75244
--- /dev/null
+++ b/target/linux/generic/hack-4.9/251-sound_kconfig.patch
@@ -0,0 +1,212 @@
+From da3c50704f14132f4adf80d48e9a4cd5d46e54c9 Mon Sep 17 00:00:00 2001
+From: John Crispin <john@phrozen.org>
+Date: Fri, 7 Jul 2017 17:09:21 +0200
+Subject: kconfig: owrt specifc dependencies
+
+Signed-off-by: John Crispin <john@phrozen.org>
+---
+ crypto/Kconfig | 10 +++++-----
+ drivers/bcma/Kconfig | 1 +
+ drivers/ssb/Kconfig | 3 ++-
+ lib/Kconfig | 8 ++++----
+ net/netfilter/Kconfig | 2 +-
+ net/wireless/Kconfig | 17 ++++++++++-------
+ sound/core/Kconfig | 4 ++--
+ 7 files changed, 25 insertions(+), 20 deletions(-)
+
+diff --git a/crypto/Kconfig b/crypto/Kconfig
+index 84d71482bf08..e3552d1c1b84 100644
+--- a/crypto/Kconfig
++++ b/crypto/Kconfig
+@@ -32,7 +32,7 @@ config CRYPTO_FIPS
+ this is.
+
+ config CRYPTO_ALGAPI
+- tristate
++ tristate "ALGAPI"
+ select CRYPTO_ALGAPI2
+ help
+ This option provides the API for cryptographic algorithms.
+@@ -41,7 +41,7 @@ config CRYPTO_ALGAPI2
+ tristate
+
+ config CRYPTO_AEAD
+- tristate
++ tristate "AEAD"
+ select CRYPTO_AEAD2
+ select CRYPTO_ALGAPI
+
+@@ -52,7 +52,7 @@ config CRYPTO_AEAD2
+ select CRYPTO_RNG2
+
+ config CRYPTO_BLKCIPHER
+- tristate
++ tristate "BLKCIPHER"
+ select CRYPTO_BLKCIPHER2
+ select CRYPTO_ALGAPI
+
+@@ -63,7 +63,7 @@ config CRYPTO_BLKCIPHER2
+ select CRYPTO_WORKQUEUE
+
+ config CRYPTO_HASH
+- tristate
++ tristate "HASH"
+ select CRYPTO_HASH2
+ select CRYPTO_ALGAPI
+
+@@ -72,7 +72,7 @@ config CRYPTO_HASH2
+ select CRYPTO_ALGAPI2
+
+ config CRYPTO_RNG
+- tristate
++ tristate "RNG"
+ select CRYPTO_RNG2
+ select CRYPTO_ALGAPI
+
+diff --git a/drivers/bcma/Kconfig b/drivers/bcma/Kconfig
+index b5c48a8d485f..6cb52081b9ef 100644
+--- a/drivers/bcma/Kconfig
++++ b/drivers/bcma/Kconfig
+@@ -17,6 +17,7 @@ config BCMA
+ config BCMA_BLOCKIO
+ bool
+ depends on BCMA
++ default y
+
+ config BCMA_HOST_PCI_POSSIBLE
+ bool
+diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig
+index d8e4219c2324..a20c168cb7c2 100644
+--- a/drivers/ssb/Kconfig
++++ b/drivers/ssb/Kconfig
+@@ -29,6 +29,7 @@ config SSB_SPROM
+ config SSB_BLOCKIO
+ bool
+ depends on SSB
++ default y
+
+ config SSB_PCIHOST_POSSIBLE
+ bool
+@@ -49,7 +50,7 @@ config SSB_PCIHOST
+ config SSB_B43_PCI_BRIDGE
+ bool
+ depends on SSB_PCIHOST
+- default n
++ default y
+
+ config SSB_PCMCIAHOST_POSSIBLE
+ bool
+diff --git a/lib/Kconfig b/lib/Kconfig
+index 260a80e313b9..d1b788fff727 100644
+--- a/lib/Kconfig
++++ b/lib/Kconfig
+@@ -334,16 +334,16 @@ config BCH_CONST_T
+ # Textsearch support is select'ed if needed
+ #
+ config TEXTSEARCH
+- bool
++ boolean "Textsearch support"
+
+ config TEXTSEARCH_KMP
+- tristate
++ tristate "Textsearch KMP"
+
+ config TEXTSEARCH_BM
+- tristate
++ tristate "Textsearch BM"
+
+ config TEXTSEARCH_FSM
+- tristate
++ tristate "Textsearch FSM"
+
+ config BTREE
+ bool
+diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
+index e8d56d9a4df2..0fb924661988 100644
+--- a/net/netfilter/Kconfig
++++ b/net/netfilter/Kconfig
+@@ -10,7 +10,7 @@ config NETFILTER_INGRESS
+ infrastructure.
+
+ config NETFILTER_NETLINK
+- tristate
++ tristate "Netfilter NFNETLINK interface"
+
+ config NETFILTER_NETLINK_ACCT
+ tristate "Netfilter NFACCT over NFNETLINK interface"
+diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
+index 6c606120abfe..bd299de9440c 100644
+--- a/net/wireless/Kconfig
++++ b/net/wireless/Kconfig
+@@ -1,5 +1,5 @@
+ config WIRELESS_EXT
+- bool
++ bool "Wireless extensions"
+
+ config WEXT_CORE
+ def_bool y
+@@ -11,10 +11,10 @@ config WEXT_PROC
+ depends on WEXT_CORE
+
+ config WEXT_SPY
+- bool
++ bool "WEXT_SPY"
+
+ config WEXT_PRIV
+- bool
++ bool "WEXT_PRIV"
+
+ config CFG80211
+ tristate "cfg80211 - wireless configuration API"
+@@ -188,7 +188,7 @@ config CFG80211_WEXT_EXPORT
+ wext compatibility symbols to be exported.
+
+ config LIB80211
+- tristate
++ tristate "LIB80211"
+ default n
+ help
+ This options enables a library of common routines used
+@@ -197,13 +197,16 @@ config LIB80211
+ Drivers should select this themselves if needed.
+
+ config LIB80211_CRYPT_WEP
+- tristate
++ tristate "LIB80211_CRYPT_WEP"
++ select LIB80211
+
+ config LIB80211_CRYPT_CCMP
+- tristate
++ tristate "LIB80211_CRYPT_CCMP"
++ select LIB80211
+
+ config LIB80211_CRYPT_TKIP
+- tristate
++ tristate "LIB80211_CRYPT_TKIP"
++ select LIB80211
+
+ config LIB80211_DEBUG
+ bool "lib80211 debugging messages"
+diff --git a/sound/core/Kconfig b/sound/core/Kconfig
+index 9749f9e8b45c..9639a67e7e9b 100644
+--- a/sound/core/Kconfig
++++ b/sound/core/Kconfig
+@@ -16,13 +16,13 @@ config SND_DMAENGINE_PCM
+ tristate
+
+ config SND_HWDEP
+- tristate
++ tristate "Sound hardware support"
+
+ config SND_RAWMIDI
+ tristate
+
+ config SND_COMPRESS_OFFLOAD
+- tristate
++ tristate "Compression offloading support"
+
+ config SND_JACK
+ bool
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/259-regmap_dynamic.patch b/target/linux/generic/hack-4.9/259-regmap_dynamic.patch
index 8cc2361c0b..a6801125b4 100644
--- a/target/linux/generic/patches-4.9/259-regmap_dynamic.patch
+++ b/target/linux/generic/hack-4.9/259-regmap_dynamic.patch
@@ -1,3 +1,19 @@
+From 811d9e2268a62b830cfe93cd8bc929afcb8b198b Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 15 Jul 2017 21:12:38 +0200
+Subject: kernel: move regmap bloat out of the kernel image if it is only being used in modules
+
+lede-commit: 96f39119815028073583e4fca3a9c5fe9141e998
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/base/regmap/Kconfig | 15 ++++++++++-----
+ drivers/base/regmap/Makefile | 12 ++++++++----
+ drivers/base/regmap/regmap.c | 3 +++
+ include/linux/regmap.h | 2 +-
+ 4 files changed, 22 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/base/regmap/Kconfig b/drivers/base/regmap/Kconfig
+index 48b3fc1ee514..c4cb7592392b 100644
--- a/drivers/base/regmap/Kconfig
+++ b/drivers/base/regmap/Kconfig
@@ -3,9 +3,8 @@
@@ -40,17 +56,8 @@
config REGMAP_IRQ
+ select REGMAP
bool
---- a/include/linux/regmap.h
-+++ b/include/linux/regmap.h
-@@ -135,7 +135,7 @@ struct reg_sequence {
- pollret ?: ((cond) ? 0 : -ETIMEDOUT); \
- })
-
--#ifdef CONFIG_REGMAP
-+#if IS_ENABLED(CONFIG_REGMAP)
-
- enum regmap_endian {
- /* Unspecified -> 0 -> Backwards compatible default */
+diff --git a/drivers/base/regmap/Makefile b/drivers/base/regmap/Makefile
+index 6271ea9b758a..f23c58a050aa 100644
--- a/drivers/base/regmap/Makefile
+++ b/drivers/base/regmap/Makefile
@@ -1,10 +1,14 @@
@@ -72,6 +79,8 @@
obj-$(CONFIG_REGMAP_AC97) += regmap-ac97.o
obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o
obj-$(CONFIG_REGMAP_SPI) += regmap-spi.o
+diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
+index ae63bb0875ea..2ac56b4f525e 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -13,6 +13,7 @@
@@ -88,3 +97,19 @@
postcore_initcall(regmap_initcall);
+
+MODULE_LICENSE("GPL");
+diff --git a/include/linux/regmap.h b/include/linux/regmap.h
+index f6673132431d..95c7db29448b 100644
+--- a/include/linux/regmap.h
++++ b/include/linux/regmap.h
+@@ -135,7 +135,7 @@ struct reg_sequence {
+ pollret ?: ((cond) ? 0 : -ETIMEDOUT); \
+ })
+
+-#ifdef CONFIG_REGMAP
++#if IS_ENABLED(CONFIG_REGMAP)
+
+ enum regmap_endian {
+ /* Unspecified -> 0 -> Backwards compatible default */
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/260-crypto_test_dependencies.patch b/target/linux/generic/hack-4.9/260-crypto_test_dependencies.patch
index 948a5c5365..756cb885d3 100644
--- a/target/linux/generic/patches-4.9/260-crypto_test_dependencies.patch
+++ b/target/linux/generic/hack-4.9/260-crypto_test_dependencies.patch
@@ -1,3 +1,19 @@
+From fd1799b0bf5efa46dd3e6dfbbf3955564807e508 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:12:51 +0200
+Subject: kernel: prevent cryptomgr from pulling in useless extra dependencies for tests that are not run
+
+Reduces kernel size after LZMA by about 5k on MIPS
+
+lede-commit: 044c316167e076479a344c59905e5b435b84a77f
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ crypto/Kconfig | 13 ++++++-------
+ crypto/algboss.c | 4 ++++
+ 2 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/crypto/Kconfig b/crypto/Kconfig
+index e3552d1c1b84..17be110ad162 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -132,12 +132,12 @@ config CRYPTO_MANAGER
@@ -27,9 +43,11 @@
help
Disable run-time self tests that normally take place at
algorithm registration.
+diff --git a/crypto/algboss.c b/crypto/algboss.c
+index 6e39d9c05b98..4bde25d62ec7 100644
--- a/crypto/algboss.c
+++ b/crypto/algboss.c
-@@ -248,12 +248,16 @@ static int cryptomgr_schedule_test(struc
+@@ -248,12 +248,16 @@ static int cryptomgr_schedule_test(struct crypto_alg *alg)
type = alg->cra_flags;
/* This piece of crap needs to disappear into per-type test hooks. */
@@ -46,3 +64,6 @@
param->type = type;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/280-rfkill-stubs.patch b/target/linux/generic/hack-4.9/280-rfkill-stubs.patch
index a1841b009d..29f3463f0b 100644
--- a/target/linux/generic/patches-4.9/280-rfkill-stubs.patch
+++ b/target/linux/generic/hack-4.9/280-rfkill-stubs.patch
@@ -1,3 +1,46 @@
+From 236c1acdfef5958010ac9814a9872e0a46fd78ee Mon Sep 17 00:00:00 2001
+From: John Crispin <john@phrozen.org>
+Date: Fri, 7 Jul 2017 17:13:44 +0200
+Subject: rfkill: add fake rfkill support
+
+allow building of modules depending on RFKILL even if RFKILL is not enabled.
+
+Signed-off-by: John Crispin <john@phrozen.org>
+---
+ include/linux/rfkill.h | 2 +-
+ net/Makefile | 2 +-
+ net/rfkill/Kconfig | 14 +++++++++-----
+ net/rfkill/Makefile | 2 +-
+ 4 files changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h
+index e6a0031d1b1f..21cf4dab0b9a 100644
+--- a/include/linux/rfkill.h
++++ b/include/linux/rfkill.h
+@@ -64,7 +64,7 @@ struct rfkill_ops {
+ int (*set_block)(void *data, bool blocked);
+ };
+
+-#if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE)
++#if defined(CONFIG_RFKILL_FULL) || defined(CONFIG_RFKILL_FULL_MODULE)
+ /**
+ * rfkill_alloc - allocate rfkill structure
+ * @name: name of the struct -- the string is not copied internally
+diff --git a/net/Makefile b/net/Makefile
+index 4cafaa2b4667..6566175e6c0a 100644
+--- a/net/Makefile
++++ b/net/Makefile
+@@ -51,7 +51,7 @@ obj-$(CONFIG_MAC80211) += mac80211/
+ obj-$(CONFIG_TIPC) += tipc/
+ obj-$(CONFIG_NETLABEL) += netlabel/
+ obj-$(CONFIG_IUCV) += iucv/
+-obj-$(CONFIG_RFKILL) += rfkill/
++obj-$(CONFIG_RFKILL_FULL) += rfkill/
+ obj-$(CONFIG_NET_9P) += 9p/
+ obj-$(CONFIG_CAIF) += caif/
+ ifneq ($(CONFIG_DCB),)
+diff --git a/net/rfkill/Kconfig b/net/rfkill/Kconfig
+index 868f1ad0415a..159b6ebeacd8 100644
--- a/net/rfkill/Kconfig
+++ b/net/rfkill/Kconfig
@@ -1,7 +1,11 @@
@@ -45,6 +88,8 @@
depends on GPIOLIB || COMPILE_TEST
default n
help
+diff --git a/net/rfkill/Makefile b/net/rfkill/Makefile
+index 311768783f4a..dbb01a8645af 100644
--- a/net/rfkill/Makefile
+++ b/net/rfkill/Makefile
@@ -4,6 +4,6 @@
@@ -55,25 +100,6 @@
+obj-$(CONFIG_RFKILL_FULL) += rfkill.o
obj-$(CONFIG_RFKILL_REGULATOR) += rfkill-regulator.o
obj-$(CONFIG_RFKILL_GPIO) += rfkill-gpio.o
---- a/net/Makefile
-+++ b/net/Makefile
-@@ -51,7 +51,7 @@ obj-$(CONFIG_MAC80211) += mac80211/
- obj-$(CONFIG_TIPC) += tipc/
- obj-$(CONFIG_NETLABEL) += netlabel/
- obj-$(CONFIG_IUCV) += iucv/
--obj-$(CONFIG_RFKILL) += rfkill/
-+obj-$(CONFIG_RFKILL_FULL) += rfkill/
- obj-$(CONFIG_NET_9P) += 9p/
- obj-$(CONFIG_CAIF) += caif/
- ifneq ($(CONFIG_DCB),)
---- a/include/linux/rfkill.h
-+++ b/include/linux/rfkill.h
-@@ -64,7 +64,7 @@ struct rfkill_ops {
- int (*set_block)(void *data, bool blocked);
- };
-
--#if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE)
-+#if defined(CONFIG_RFKILL_FULL) || defined(CONFIG_RFKILL_FULL_MODULE)
- /**
- * rfkill_alloc - allocate rfkill structure
- * @name: name of the struct -- the string is not copied internally
+--
+2.11.0
+
diff --git a/target/linux/generic/hack-4.9/301-mips_image_cmdline_hack.patch b/target/linux/generic/hack-4.9/301-mips_image_cmdline_hack.patch
new file mode 100644
index 0000000000..0c1e30287b
--- /dev/null
+++ b/target/linux/generic/hack-4.9/301-mips_image_cmdline_hack.patch
@@ -0,0 +1,45 @@
+From: John Crispin <john@phrozen.org>
+Subject: hack: kernel: add generic image_cmdline hack to MIPS targets
+
+lede-commit: d59f5b3a987a48508257a0ddbaeadc7909f9f976
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ arch/mips/Kconfig | 4 ++++
+ arch/mips/kernel/head.S | 6 ++++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 6a56d75f7e8b..03fbb7b46e7f 100644
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -1149,6 +1149,10 @@ config SYNC_R4K
+ config MIPS_MACHINE
+ def_bool n
+
++config IMAGE_CMDLINE_HACK
++ bool "OpenWrt specific image command line hack"
++ default n
++
+ config NO_IOPORT_MAP
+ def_bool n
+
+diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
+index cf052204eb0a..f7327fae5473 100644
+--- a/arch/mips/kernel/head.S
++++ b/arch/mips/kernel/head.S
+@@ -79,6 +79,12 @@ FEXPORT(__kernel_entry)
+ j kernel_entry
+ #endif
+
++#ifdef CONFIG_IMAGE_CMDLINE_HACK
++ .ascii "CMDLINE:"
++EXPORT(__image_cmdline)
++ .fill 0x400
++#endif /* CONFIG_IMAGE_CMDLINE_HACK */
++
+ __REF
+
+ NESTED(kernel_entry, 16, sp) # kernel entry point
+--
+2.11.0
+
diff --git a/target/linux/generic/hack-4.9/321-powerpc_crtsavres_prereq.patch b/target/linux/generic/hack-4.9/321-powerpc_crtsavres_prereq.patch
new file mode 100644
index 0000000000..4fe69361b9
--- /dev/null
+++ b/target/linux/generic/hack-4.9/321-powerpc_crtsavres_prereq.patch
@@ -0,0 +1,31 @@
+From 107c0964cb8db7ca28ac5199426414fdab3c274d Mon Sep 17 00:00:00 2001
+From: "Alexandros C. Couloumbis" <alex@ozo.com>
+Date: Fri, 7 Jul 2017 17:14:51 +0200
+Subject: hack: arch: powerpc: drop register save/restore library from modules
+
+Upstream GCC uses a libgcc function for saving/restoring registers. This
+makes the code bigger, and upstream kernels need to carry that function
+for every single kernel module. Our GCC is patched to avoid those
+references, so we can drop the extra bloat for modules.
+
+lede-commit: e8e1084654f50904e6bf77b70b2de3f137d7b3ec
+Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
+---
+ arch/powerpc/Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
+index 617dece67924..1146daa8e4c2 100644
+--- a/arch/powerpc/Makefile
++++ b/arch/powerpc/Makefile
+@@ -179,7 +179,6 @@ else
+ CHECKFLAGS += -D__LITTLE_ENDIAN__
+ endif
+
+-KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
+
+ ifeq ($(CONFIG_476FPE_ERR46),y)
+ KBUILD_LDFLAGS_MODULE += --ppc476-workaround \
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/531-debloat_lzma.patch b/target/linux/generic/hack-4.9/531-debloat_lzma.patch
index aa3c498016..f8d9d15de5 100644
--- a/target/linux/generic/patches-4.9/531-debloat_lzma.patch
+++ b/target/linux/generic/hack-4.9/531-debloat_lzma.patch
@@ -1,3 +1,63 @@
+From 3fd297761ac246c54d7723c57fca95c112b99465 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 15 Jul 2017 21:15:44 +0200
+Subject: lzma: de-bloat the lzma library used by jffs2
+
+lede-commit: 3fd1dd08fbcbb78b34efefd32c3032e5c99108d6
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/lzma/LzFind.h | 17 ---
+ include/linux/lzma/LzmaDec.h | 101 ---------------
+ include/linux/lzma/LzmaEnc.h | 20 ---
+ lib/lzma/LzFind.c | 287 ++++---------------------------------------
+ lib/lzma/LzmaDec.c | 86 +------------
+ lib/lzma/LzmaEnc.c | 172 ++------------------------
+ 6 files changed, 42 insertions(+), 641 deletions(-)
+
+diff --git a/include/linux/lzma/LzFind.h b/include/linux/lzma/LzFind.h
+index 010c4b92ba33..6d4f8e239028 100644
+--- a/include/linux/lzma/LzFind.h
++++ b/include/linux/lzma/LzFind.h
+@@ -55,11 +55,6 @@ typedef struct _CMatchFinder
+
+ #define Inline_MatchFinder_GetNumAvailableBytes(p) ((p)->streamPos - (p)->pos)
+
+-int MatchFinder_NeedMove(CMatchFinder *p);
+-Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p);
+-void MatchFinder_MoveBlock(CMatchFinder *p);
+-void MatchFinder_ReadIfRequired(CMatchFinder *p);
+-
+ void MatchFinder_Construct(CMatchFinder *p);
+
+ /* Conditions:
+@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p, UInt32 historySize,
+ UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
+ ISzAlloc *alloc);
+ void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);
+-void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems);
+-void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue);
+-
+-UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *buffer, CLzRef *son,
+- UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 _cutValue,
+- UInt32 *distances, UInt32 maxLen);
+
+ /*
+ Conditions:
+@@ -102,12 +91,6 @@ typedef struct _IMatchFinder
+
+ void MatchFinder_CreateVTable(CMatchFinder *p, IMatchFinder *vTable);
+
+-void MatchFinder_Init(CMatchFinder *p);
+-UInt32 Bt3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances);
+-UInt32 Hc3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances);
+-void Bt3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num);
+-void Hc3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num);
+-
+ #ifdef __cplusplus
+ }
+ #endif
+diff --git a/include/linux/lzma/LzmaDec.h b/include/linux/lzma/LzmaDec.h
+index bf7f084ba3dd..c90f95e9fbaf 100644
--- a/include/linux/lzma/LzmaDec.h
+++ b/include/linux/lzma/LzmaDec.h
@@ -31,14 +31,6 @@ typedef struct _CLzmaProps
@@ -122,141 +182,8 @@
/* ---------- One Call Interface ---------- */
/* LzmaDecode
---- a/lib/lzma/LzmaDec.c
-+++ b/lib/lzma/LzmaDec.c
-@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p,
- p->needFlush = 0;
- }
-
--void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState)
-+static void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState)
- {
- p->needFlush = 1;
- p->remainLen = 0;
-@@ -698,7 +698,7 @@ void LzmaDec_InitDicAndState(CLzmaDec *p
- p->needInitState = 1;
- }
-
--void LzmaDec_Init(CLzmaDec *p)
-+static void LzmaDec_Init(CLzmaDec *p)
- {
- p->dicPos = 0;
- LzmaDec_InitDicAndState(p, True, True);
-@@ -716,7 +716,7 @@ static void LzmaDec_InitStateReal(CLzmaD
- p->needInitState = 0;
- }
-
--SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
-+static SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
- ELzmaFinishMode finishMode, ELzmaStatus *status)
- {
- SizeT inSize = *srcLen;
-@@ -837,65 +837,13 @@ SRes LzmaDec_DecodeToDic(CLzmaDec *p, Si
- return (p->code == 0) ? SZ_OK : SZ_ERROR_DATA;
- }
-
--SRes LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status)
--{
-- SizeT outSize = *destLen;
-- SizeT inSize = *srcLen;
-- *srcLen = *destLen = 0;
-- for (;;)
-- {
-- SizeT inSizeCur = inSize, outSizeCur, dicPos;
-- ELzmaFinishMode curFinishMode;
-- SRes res;
-- if (p->dicPos == p->dicBufSize)
-- p->dicPos = 0;
-- dicPos = p->dicPos;
-- if (outSize > p->dicBufSize - dicPos)
-- {
-- outSizeCur = p->dicBufSize;
-- curFinishMode = LZMA_FINISH_ANY;
-- }
-- else
-- {
-- outSizeCur = dicPos + outSize;
-- curFinishMode = finishMode;
-- }
--
-- res = LzmaDec_DecodeToDic(p, outSizeCur, src, &inSizeCur, curFinishMode, status);
-- src += inSizeCur;
-- inSize -= inSizeCur;
-- *srcLen += inSizeCur;
-- outSizeCur = p->dicPos - dicPos;
-- memcpy(dest, p->dic + dicPos, outSizeCur);
-- dest += outSizeCur;
-- outSize -= outSizeCur;
-- *destLen += outSizeCur;
-- if (res != 0)
-- return res;
-- if (outSizeCur == 0 || outSize == 0)
-- return SZ_OK;
-- }
--}
--
--void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
-+static void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
- {
- alloc->Free(alloc, p->probs);
- p->probs = 0;
- }
-
--static void LzmaDec_FreeDict(CLzmaDec *p, ISzAlloc *alloc)
--{
-- alloc->Free(alloc, p->dic);
-- p->dic = 0;
--}
--
--void LzmaDec_Free(CLzmaDec *p, ISzAlloc *alloc)
--{
-- LzmaDec_FreeProbs(p, alloc);
-- LzmaDec_FreeDict(p, alloc);
--}
--
--SRes LzmaProps_Decode(CLzmaProps *p, const Byte *data, unsigned size)
-+static SRes LzmaProps_Decode(CLzmaProps *p, const Byte *data, unsigned size)
- {
- UInt32 dicSize;
- Byte d;
-@@ -935,7 +883,7 @@ static SRes LzmaDec_AllocateProbs2(CLzma
- return SZ_OK;
- }
-
--SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
-+static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
- {
- CLzmaProps propNew;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
-@@ -943,28 +891,6 @@ SRes LzmaDec_AllocateProbs(CLzmaDec *p,
- p->prop = propNew;
- return SZ_OK;
- }
--
--SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
--{
-- CLzmaProps propNew;
-- SizeT dicBufSize;
-- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
-- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
-- dicBufSize = propNew.dicSize;
-- if (p->dic == 0 || dicBufSize != p->dicBufSize)
-- {
-- LzmaDec_FreeDict(p, alloc);
-- p->dic = (Byte *)alloc->Alloc(alloc, dicBufSize);
-- if (p->dic == 0)
-- {
-- LzmaDec_FreeProbs(p, alloc);
-- return SZ_ERROR_MEM;
-- }
-- }
-- p->dicBufSize = dicBufSize;
-- p->prop = propNew;
-- return SZ_OK;
--}
-
- SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
- const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode,
+diff --git a/include/linux/lzma/LzmaEnc.h b/include/linux/lzma/LzmaEnc.h
+index 200d60eb83cd..2986c0460be4 100644
--- a/include/linux/lzma/LzmaEnc.h
+++ b/include/linux/lzma/LzmaEnc.h
@@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps
@@ -269,7 +196,7 @@
/* ---------- CLzmaEncHandle Interface ---------- */
-@@ -53,26 +50,9 @@ CLzmaEncHandle LzmaEnc_Create(ISzAlloc *
+@@ -53,26 +50,9 @@ CLzmaEncHandle LzmaEnc_Create(ISzAlloc *alloc);
void LzmaEnc_Destroy(CLzmaEncHandle p, ISzAlloc *alloc, ISzAlloc *allocBig);
SRes LzmaEnc_SetProps(CLzmaEncHandle p, const CLzmaEncProps *props);
SRes LzmaEnc_WriteProperties(CLzmaEncHandle p, Byte *properties, SizeT *size);
@@ -296,336 +223,8 @@
#ifdef __cplusplus
}
#endif
---- a/lib/lzma/LzmaEnc.c
-+++ b/lib/lzma/LzmaEnc.c
-@@ -53,7 +53,7 @@ void LzmaEncProps_Init(CLzmaEncProps *p)
- p->writeEndMark = 0;
- }
-
--void LzmaEncProps_Normalize(CLzmaEncProps *p)
-+static void LzmaEncProps_Normalize(CLzmaEncProps *p)
- {
- int level = p->level;
- if (level < 0) level = 5;
-@@ -76,7 +76,7 @@ void LzmaEncProps_Normalize(CLzmaEncProp
- #endif
- }
-
--UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2)
-+static UInt32 __maybe_unused LzmaEncProps_GetDictSize(const CLzmaEncProps *props2)
- {
- CLzmaEncProps props = *props2;
- LzmaEncProps_Normalize(&props);
-@@ -93,7 +93,7 @@ UInt32 LzmaEncProps_GetDictSize(const CL
-
- #define BSR2_RET(pos, res) { unsigned long i; _BitScanReverse(&i, (pos)); res = (i + i) + ((pos >> (i - 1)) & 1); }
-
--UInt32 GetPosSlot1(UInt32 pos)
-+static UInt32 GetPosSlot1(UInt32 pos)
- {
- UInt32 res;
- BSR2_RET(pos, res);
-@@ -107,7 +107,7 @@ UInt32 GetPosSlot1(UInt32 pos)
- #define kNumLogBits (9 + (int)sizeof(size_t) / 2)
- #define kDicLogSizeMaxCompress ((kNumLogBits - 1) * 2 + 7)
-
--void LzmaEnc_FastPosInit(Byte *g_FastPos)
-+static void LzmaEnc_FastPosInit(Byte *g_FastPos)
- {
- int c = 2, slotFast;
- g_FastPos[0] = 0;
-@@ -339,58 +339,6 @@ typedef struct
- CSaveState saveState;
- } CLzmaEnc;
-
--void LzmaEnc_SaveState(CLzmaEncHandle pp)
--{
-- CLzmaEnc *p = (CLzmaEnc *)pp;
-- CSaveState *dest = &p->saveState;
-- int i;
-- dest->lenEnc = p->lenEnc;
-- dest->repLenEnc = p->repLenEnc;
-- dest->state = p->state;
--
-- for (i = 0; i < kNumStates; i++)
-- {
-- memcpy(dest->isMatch[i], p->isMatch[i], sizeof(p->isMatch[i]));
-- memcpy(dest->isRep0Long[i], p->isRep0Long[i], sizeof(p->isRep0Long[i]));
-- }
-- for (i = 0; i < kNumLenToPosStates; i++)
-- memcpy(dest->posSlotEncoder[i], p->posSlotEncoder[i], sizeof(p->posSlotEncoder[i]));
-- memcpy(dest->isRep, p->isRep, sizeof(p->isRep));
-- memcpy(dest->isRepG0, p->isRepG0, sizeof(p->isRepG0));
-- memcpy(dest->isRepG1, p->isRepG1, sizeof(p->isRepG1));
-- memcpy(dest->isRepG2, p->isRepG2, sizeof(p->isRepG2));
-- memcpy(dest->posEncoders, p->posEncoders, sizeof(p->posEncoders));
-- memcpy(dest->posAlignEncoder, p->posAlignEncoder, sizeof(p->posAlignEncoder));
-- memcpy(dest->reps, p->reps, sizeof(p->reps));
-- memcpy(dest->litProbs, p->litProbs, (0x300 << p->lclp) * sizeof(CLzmaProb));
--}
--
--void LzmaEnc_RestoreState(CLzmaEncHandle pp)
--{
-- CLzmaEnc *dest = (CLzmaEnc *)pp;
-- const CSaveState *p = &dest->saveState;
-- int i;
-- dest->lenEnc = p->lenEnc;
-- dest->repLenEnc = p->repLenEnc;
-- dest->state = p->state;
--
-- for (i = 0; i < kNumStates; i++)
-- {
-- memcpy(dest->isMatch[i], p->isMatch[i], sizeof(p->isMatch[i]));
-- memcpy(dest->isRep0Long[i], p->isRep0Long[i], sizeof(p->isRep0Long[i]));
-- }
-- for (i = 0; i < kNumLenToPosStates; i++)
-- memcpy(dest->posSlotEncoder[i], p->posSlotEncoder[i], sizeof(p->posSlotEncoder[i]));
-- memcpy(dest->isRep, p->isRep, sizeof(p->isRep));
-- memcpy(dest->isRepG0, p->isRepG0, sizeof(p->isRepG0));
-- memcpy(dest->isRepG1, p->isRepG1, sizeof(p->isRepG1));
-- memcpy(dest->isRepG2, p->isRepG2, sizeof(p->isRepG2));
-- memcpy(dest->posEncoders, p->posEncoders, sizeof(p->posEncoders));
-- memcpy(dest->posAlignEncoder, p->posAlignEncoder, sizeof(p->posAlignEncoder));
-- memcpy(dest->reps, p->reps, sizeof(p->reps));
-- memcpy(dest->litProbs, p->litProbs, (0x300 << dest->lclp) * sizeof(CLzmaProb));
--}
--
- SRes LzmaEnc_SetProps(CLzmaEncHandle pp, const CLzmaEncProps *props2)
- {
- CLzmaEnc *p = (CLzmaEnc *)pp;
-@@ -600,7 +548,7 @@ static void LitEnc_EncodeMatched(CRangeE
- while (symbol < 0x10000);
- }
-
--void LzmaEnc_InitPriceTables(UInt32 *ProbPrices)
-+static void LzmaEnc_InitPriceTables(UInt32 *ProbPrices)
- {
- UInt32 i;
- for (i = (1 << kNumMoveReducingBits) / 2; i < kBitModelTotal; i += (1 << kNumMoveReducingBits))
-@@ -1676,7 +1624,7 @@ static void FillDistancesPrices(CLzmaEnc
- p->matchPriceCount = 0;
- }
-
--void LzmaEnc_Construct(CLzmaEnc *p)
-+static void LzmaEnc_Construct(CLzmaEnc *p)
- {
- RangeEnc_Construct(&p->rc);
- MatchFinder_Construct(&p->matchFinderBase);
-@@ -1709,7 +1657,7 @@ CLzmaEncHandle LzmaEnc_Create(ISzAlloc *
- return p;
- }
-
--void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc)
-+static void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc)
- {
- alloc->Free(alloc, p->litProbs);
- alloc->Free(alloc, p->saveState.litProbs);
-@@ -1717,7 +1665,7 @@ void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAl
- p->saveState.litProbs = 0;
- }
-
--void LzmaEnc_Destruct(CLzmaEnc *p, ISzAlloc *alloc, ISzAlloc *allocBig)
-+static void LzmaEnc_Destruct(CLzmaEnc *p, ISzAlloc *alloc, ISzAlloc *allocBig)
- {
- #ifndef _7ZIP_ST
- MatchFinderMt_Destruct(&p->matchFinderMt, allocBig);
-@@ -1947,7 +1895,7 @@ static SRes LzmaEnc_Alloc(CLzmaEnc *p, U
- return SZ_OK;
- }
-
--void LzmaEnc_Init(CLzmaEnc *p)
-+static void LzmaEnc_Init(CLzmaEnc *p)
- {
- UInt32 i;
- p->state = 0;
-@@ -2005,7 +1953,7 @@ void LzmaEnc_Init(CLzmaEnc *p)
- p->lpMask = (1 << p->lp) - 1;
- }
-
--void LzmaEnc_InitPrices(CLzmaEnc *p)
-+static void LzmaEnc_InitPrices(CLzmaEnc *p)
- {
- if (!p->fastMode)
- {
-@@ -2037,26 +1985,6 @@ static SRes LzmaEnc_AllocAndInit(CLzmaEn
- return SZ_OK;
- }
-
--static SRes LzmaEnc_Prepare(CLzmaEncHandle pp, ISeqOutStream *outStream, ISeqInStream *inStream,
-- ISzAlloc *alloc, ISzAlloc *allocBig)
--{
-- CLzmaEnc *p = (CLzmaEnc *)pp;
-- p->matchFinderBase.stream = inStream;
-- p->needInit = 1;
-- p->rc.outStream = outStream;
-- return LzmaEnc_AllocAndInit(p, 0, alloc, allocBig);
--}
--
--SRes LzmaEnc_PrepareForLzma2(CLzmaEncHandle pp,
-- ISeqInStream *inStream, UInt32 keepWindowSize,
-- ISzAlloc *alloc, ISzAlloc *allocBig)
--{
-- CLzmaEnc *p = (CLzmaEnc *)pp;
-- p->matchFinderBase.stream = inStream;
-- p->needInit = 1;
-- return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig);
--}
--
- static void LzmaEnc_SetInputBuf(CLzmaEnc *p, const Byte *src, SizeT srcLen)
- {
- p->matchFinderBase.directInput = 1;
-@@ -2064,7 +1992,7 @@ static void LzmaEnc_SetInputBuf(CLzmaEnc
- p->matchFinderBase.directInputRem = srcLen;
- }
-
--SRes LzmaEnc_MemPrepare(CLzmaEncHandle pp, const Byte *src, SizeT srcLen,
-+static SRes LzmaEnc_MemPrepare(CLzmaEncHandle pp, const Byte *src, SizeT srcLen,
- UInt32 keepWindowSize, ISzAlloc *alloc, ISzAlloc *allocBig)
- {
- CLzmaEnc *p = (CLzmaEnc *)pp;
-@@ -2074,7 +2002,7 @@ SRes LzmaEnc_MemPrepare(CLzmaEncHandle p
- return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig);
- }
-
--void LzmaEnc_Finish(CLzmaEncHandle pp)
-+static void LzmaEnc_Finish(CLzmaEncHandle pp)
- {
- #ifndef _7ZIP_ST
- CLzmaEnc *p = (CLzmaEnc *)pp;
-@@ -2107,53 +2035,6 @@ static size_t MyWrite(void *pp, const vo
- return size;
- }
-
--
--UInt32 LzmaEnc_GetNumAvailableBytes(CLzmaEncHandle pp)
--{
-- const CLzmaEnc *p = (CLzmaEnc *)pp;
-- return p->matchFinder.GetNumAvailableBytes(p->matchFinderObj);
--}
--
--const Byte *LzmaEnc_GetCurBuf(CLzmaEncHandle pp)
--{
-- const CLzmaEnc *p = (CLzmaEnc *)pp;
-- return p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - p->additionalOffset;
--}
--
--SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, Bool reInit,
-- Byte *dest, size_t *destLen, UInt32 desiredPackSize, UInt32 *unpackSize)
--{
-- CLzmaEnc *p = (CLzmaEnc *)pp;
-- UInt64 nowPos64;
-- SRes res;
-- CSeqOutStreamBuf outStream;
--
-- outStream.funcTable.Write = MyWrite;
-- outStream.data = dest;
-- outStream.rem = *destLen;
-- outStream.overflow = False;
--
-- p->writeEndMark = False;
-- p->finished = False;
-- p->result = SZ_OK;
--
-- if (reInit)
-- LzmaEnc_Init(p);
-- LzmaEnc_InitPrices(p);
-- nowPos64 = p->nowPos64;
-- RangeEnc_Init(&p->rc);
-- p->rc.outStream = &outStream.funcTable;
--
-- res = LzmaEnc_CodeOneBlock(p, True, desiredPackSize, *unpackSize);
--
-- *unpackSize = (UInt32)(p->nowPos64 - nowPos64);
-- *destLen -= outStream.rem;
-- if (outStream.overflow)
-- return SZ_ERROR_OUTPUT_EOF;
--
-- return res;
--}
--
- static SRes LzmaEnc_Encode2(CLzmaEnc *p, ICompressProgress *progress)
- {
- SRes res = SZ_OK;
-@@ -2184,13 +2065,6 @@ static SRes LzmaEnc_Encode2(CLzmaEnc *p,
- return res;
- }
-
--SRes LzmaEnc_Encode(CLzmaEncHandle pp, ISeqOutStream *outStream, ISeqInStream *inStream, ICompressProgress *progress,
-- ISzAlloc *alloc, ISzAlloc *allocBig)
--{
-- RINOK(LzmaEnc_Prepare(pp, outStream, inStream, alloc, allocBig));
-- return LzmaEnc_Encode2((CLzmaEnc *)pp, progress);
--}
--
- SRes LzmaEnc_WriteProperties(CLzmaEncHandle pp, Byte *props, SizeT *size)
- {
- CLzmaEnc *p = (CLzmaEnc *)pp;
-@@ -2247,25 +2121,3 @@ SRes LzmaEnc_MemEncode(CLzmaEncHandle pp
- return SZ_ERROR_OUTPUT_EOF;
- return res;
- }
--
--SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
-- const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark,
-- ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig)
--{
-- CLzmaEnc *p = (CLzmaEnc *)LzmaEnc_Create(alloc);
-- SRes res;
-- if (p == 0)
-- return SZ_ERROR_MEM;
--
-- res = LzmaEnc_SetProps(p, props);
-- if (res == SZ_OK)
-- {
-- res = LzmaEnc_WriteProperties(p, propsEncoded, propsSize);
-- if (res == SZ_OK)
-- res = LzmaEnc_MemEncode(p, dest, destLen, src, srcLen,
-- writeEndMark, progress, alloc, allocBig);
-- }
--
-- LzmaEnc_Destroy(p, alloc, allocBig);
-- return res;
--}
---- a/include/linux/lzma/LzFind.h
-+++ b/include/linux/lzma/LzFind.h
-@@ -55,11 +55,6 @@ typedef struct _CMatchFinder
-
- #define Inline_MatchFinder_GetNumAvailableBytes(p) ((p)->streamPos - (p)->pos)
-
--int MatchFinder_NeedMove(CMatchFinder *p);
--Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p);
--void MatchFinder_MoveBlock(CMatchFinder *p);
--void MatchFinder_ReadIfRequired(CMatchFinder *p);
--
- void MatchFinder_Construct(CMatchFinder *p);
-
- /* Conditions:
-@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p,
- UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
- ISzAlloc *alloc);
- void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);
--void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems);
--void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue);
--
--UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *buffer, CLzRef *son,
-- UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 _cutValue,
-- UInt32 *distances, UInt32 maxLen);
-
- /*
- Conditions:
-@@ -102,12 +91,6 @@ typedef struct _IMatchFinder
-
- void MatchFinder_CreateVTable(CMatchFinder *p, IMatchFinder *vTable);
-
--void MatchFinder_Init(CMatchFinder *p);
--UInt32 Bt3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances);
--UInt32 Hc3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances);
--void Bt3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num);
--void Hc3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num);
--
- #ifdef __cplusplus
- }
- #endif
+diff --git a/lib/lzma/LzFind.c b/lib/lzma/LzFind.c
+index e3ecb05420eb..86251ccedfda 100644
--- a/lib/lzma/LzFind.c
+++ b/lib/lzma/LzFind.c
@@ -14,9 +14,15 @@
@@ -645,7 +244,7 @@
{
alloc->Free(alloc, p->bufferBase);
p->bufferBase = 0;
-@@ -28,7 +34,7 @@ static void LzInWindow_Free(CMatchFinder
+@@ -28,7 +34,7 @@ static void LzInWindow_Free(CMatchFinder *p, ISzAlloc *alloc)
static int LzInWindow_Create(CMatchFinder *p, UInt32 keepSizeReserv, ISzAlloc *alloc)
{
UInt32 blockSize = p->keepSizeBefore + p->keepSizeAfter + keepSizeReserv;
@@ -654,7 +253,7 @@
{
p->blockSize = blockSize;
return 1;
-@@ -42,12 +48,12 @@ static int LzInWindow_Create(CMatchFinde
+@@ -42,12 +48,12 @@ static int LzInWindow_Create(CMatchFinder *p, UInt32 keepSizeReserv, ISzAlloc *a
return (p->bufferBase != 0);
}
@@ -671,7 +270,7 @@
{
p->posLimit -= subValue;
p->pos -= subValue;
-@@ -58,7 +64,7 @@ static void MatchFinder_ReadBlock(CMatch
+@@ -58,7 +64,7 @@ static void MatchFinder_ReadBlock(CMatchFinder *p)
{
if (p->streamEndWasReached || p->result != SZ_OK)
return;
@@ -680,7 +279,7 @@
{
UInt32 curSize = 0xFFFFFFFF - p->streamPos;
if (curSize > p->directInputRem)
-@@ -89,7 +95,7 @@ static void MatchFinder_ReadBlock(CMatch
+@@ -89,7 +95,7 @@ static void MatchFinder_ReadBlock(CMatchFinder *p)
}
}
@@ -689,7 +288,7 @@
{
memmove(p->bufferBase,
p->buffer - p->keepSizeBefore,
-@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder
+@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder *p)
p->buffer = p->bufferBase + p->keepSizeBefore;
}
@@ -714,7 +313,7 @@
static void MatchFinder_CheckAndMoveAndRead(CMatchFinder *p)
{
if (MatchFinder_NeedMove(p))
-@@ -268,7 +266,7 @@ static void MatchFinder_SetLimits(CMatch
+@@ -268,7 +266,7 @@ static void MatchFinder_SetLimits(CMatchFinder *p)
p->posLimit = p->pos + limit;
}
@@ -723,7 +322,7 @@
{
UInt32 i;
for (i = 0; i < p->hashSizeSum; i++)
-@@ -287,7 +285,7 @@ static UInt32 MatchFinder_GetSubValue(CM
+@@ -287,7 +285,7 @@ static UInt32 MatchFinder_GetSubValue(CMatchFinder *p)
return (p->pos - p->historySize - 1) & kNormalizeMask;
}
@@ -732,7 +331,7 @@
{
UInt32 i;
for (i = 0; i < numItems; i++)
-@@ -319,38 +317,7 @@ static void MatchFinder_CheckLimits(CMat
+@@ -319,38 +317,7 @@ static void MatchFinder_CheckLimits(CMatchFinder *p)
MatchFinder_SetLimits(p);
}
@@ -772,7 +371,7 @@
UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue,
UInt32 *distances, UInt32 maxLen)
{
-@@ -460,10 +427,10 @@ static void SkipMatchesSpec(UInt32 lenLi
+@@ -460,10 +427,10 @@ static void SkipMatchesSpec(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const
p->buffer++; \
if (++p->pos == p->posLimit) MatchFinder_CheckLimits(p);
@@ -785,7 +384,7 @@
#define GET_MATCHES_HEADER2(minLen, ret_op) \
UInt32 lenLimit; UInt32 hashValue; const Byte *cur; UInt32 curMatch; \
lenLimit = p->lenLimit; { if (lenLimit < minLen) { MatchFinder_MovePos(p); ret_op; }} \
-@@ -479,62 +446,7 @@ static void MatchFinder_MovePos(CMatchFi
+@@ -479,62 +446,7 @@ static void MatchFinder_MovePos(CMatchFinder *p) { MOVE_POS; }
distances + offset, maxLen) - distances); MOVE_POS_RET;
#define SKIP_FOOTER \
@@ -849,7 +448,7 @@
static UInt32 Bt4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances)
{
-@@ -583,108 +495,6 @@ static UInt32 Bt4_MatchFinder_GetMatches
+@@ -583,108 +495,6 @@ static UInt32 Bt4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances)
GET_MATCHES_FOOTER(offset, maxLen)
}
@@ -958,7 +557,7 @@
static void Bt4_MatchFinder_Skip(CMatchFinder *p, UInt32 num)
{
do
-@@ -701,61 +511,12 @@ static void Bt4_MatchFinder_Skip(CMatchF
+@@ -701,61 +511,12 @@ static void Bt4_MatchFinder_Skip(CMatchFinder *p, UInt32 num)
while (--num != 0);
}
@@ -1022,3 +621,432 @@
+ vTable->GetMatches = (Mf_GetMatches_Func)Bt4_MatchFinder_GetMatches;
+ vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip;
}
+diff --git a/lib/lzma/LzmaDec.c b/lib/lzma/LzmaDec.c
+index 2036761bf146..7666e3f82067 100644
+--- a/lib/lzma/LzmaDec.c
++++ b/lib/lzma/LzmaDec.c
+@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p, const Byte *data)
+ p->needFlush = 0;
+ }
+
+-void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState)
++static void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState)
+ {
+ p->needFlush = 1;
+ p->remainLen = 0;
+@@ -698,7 +698,7 @@ void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState)
+ p->needInitState = 1;
+ }
+
+-void LzmaDec_Init(CLzmaDec *p)
++static void LzmaDec_Init(CLzmaDec *p)
+ {
+ p->dicPos = 0;
+ LzmaDec_InitDicAndState(p, True, True);
+@@ -716,7 +716,7 @@ static void LzmaDec_InitStateReal(CLzmaDec *p)
+ p->needInitState = 0;
+ }
+
+-SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
++static SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
+ ELzmaFinishMode finishMode, ELzmaStatus *status)
+ {
+ SizeT inSize = *srcLen;
+@@ -837,65 +837,13 @@ SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *sr
+ return (p->code == 0) ? SZ_OK : SZ_ERROR_DATA;
+ }
+
+-SRes LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status)
+-{
+- SizeT outSize = *destLen;
+- SizeT inSize = *srcLen;
+- *srcLen = *destLen = 0;
+- for (;;)
+- {
+- SizeT inSizeCur = inSize, outSizeCur, dicPos;
+- ELzmaFinishMode curFinishMode;
+- SRes res;
+- if (p->dicPos == p->dicBufSize)
+- p->dicPos = 0;
+- dicPos = p->dicPos;
+- if (outSize > p->dicBufSize - dicPos)
+- {
+- outSizeCur = p->dicBufSize;
+- curFinishMode = LZMA_FINISH_ANY;
+- }
+- else
+- {
+- outSizeCur = dicPos + outSize;
+- curFinishMode = finishMode;
+- }
+-
+- res = LzmaDec_DecodeToDic(p, outSizeCur, src, &inSizeCur, curFinishMode, status);
+- src += inSizeCur;
+- inSize -= inSizeCur;
+- *srcLen += inSizeCur;
+- outSizeCur = p->dicPos - dicPos;
+- memcpy(dest, p->dic + dicPos, outSizeCur);
+- dest += outSizeCur;
+- outSize -= outSizeCur;
+- *destLen += outSizeCur;
+- if (res != 0)
+- return res;
+- if (outSizeCur == 0 || outSize == 0)
+- return SZ_OK;
+- }
+-}
+-
+-void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
++static void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
+ {
+ alloc->Free(alloc, p->probs);
+ p->probs = 0;
+ }
+
+-static void LzmaDec_FreeDict(CLzmaDec *p, ISzAlloc *alloc)
+-{
+- alloc->Free(alloc, p->dic);
+- p->dic = 0;
+-}
+-
+-void LzmaDec_Free(CLzmaDec *p, ISzAlloc *alloc)
+-{
+- LzmaDec_FreeProbs(p, alloc);
+- LzmaDec_FreeDict(p, alloc);
+-}
+-
+-SRes LzmaProps_Decode(CLzmaProps *p, const Byte *data, unsigned size)
++static SRes LzmaProps_Decode(CLzmaProps *p, const Byte *data, unsigned size)
+ {
+ UInt32 dicSize;
+ Byte d;
+@@ -935,33 +883,11 @@ static SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAl
+ return SZ_OK;
+ }
+
+-SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
+-{
+- CLzmaProps propNew;
+- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
+- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
+- p->prop = propNew;
+- return SZ_OK;
+-}
+-
+-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
++static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
+ {
+ CLzmaProps propNew;
+- SizeT dicBufSize;
+ RINOK(LzmaProps_Decode(&propNew, props, propsSize));
+ RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
+- dicBufSize = propNew.dicSize;
+- if (p->dic == 0 || dicBufSize != p->dicBufSize)
+- {
+- LzmaDec_FreeDict(p, alloc);
+- p->dic = (Byte *)alloc->Alloc(alloc, dicBufSize);
+- if (p->dic == 0)
+- {
+- LzmaDec_FreeProbs(p, alloc);
+- return SZ_ERROR_MEM;
+- }
+- }
+- p->dicBufSize = dicBufSize;
+ p->prop = propNew;
+ return SZ_OK;
+ }
+diff --git a/lib/lzma/LzmaEnc.c b/lib/lzma/LzmaEnc.c
+index 6dadf00dfab2..943965647bad 100644
+--- a/lib/lzma/LzmaEnc.c
++++ b/lib/lzma/LzmaEnc.c
+@@ -53,7 +53,7 @@ void LzmaEncProps_Init(CLzmaEncProps *p)
+ p->writeEndMark = 0;
+ }
+
+-void LzmaEncProps_Normalize(CLzmaEncProps *p)
++static void LzmaEncProps_Normalize(CLzmaEncProps *p)
+ {
+ int level = p->level;
+ if (level < 0) level = 5;
+@@ -76,7 +76,7 @@ void LzmaEncProps_Normalize(CLzmaEncProps *p)
+ #endif
+ }
+
+-UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2)
++static UInt32 __maybe_unused LzmaEncProps_GetDictSize(const CLzmaEncProps *props2)
+ {
+ CLzmaEncProps props = *props2;
+ LzmaEncProps_Normalize(&props);
+@@ -93,7 +93,7 @@ UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2)
+
+ #define BSR2_RET(pos, res) { unsigned long i; _BitScanReverse(&i, (pos)); res = (i + i) + ((pos >> (i - 1)) & 1); }
+
+-UInt32 GetPosSlot1(UInt32 pos)
++static UInt32 GetPosSlot1(UInt32 pos)
+ {
+ UInt32 res;
+ BSR2_RET(pos, res);
+@@ -107,7 +107,7 @@ UInt32 GetPosSlot1(UInt32 pos)
+ #define kNumLogBits (9 + (int)sizeof(size_t) / 2)
+ #define kDicLogSizeMaxCompress ((kNumLogBits - 1) * 2 + 7)
+
+-void LzmaEnc_FastPosInit(Byte *g_FastPos)
++static void LzmaEnc_FastPosInit(Byte *g_FastPos)
+ {
+ int c = 2, slotFast;
+ g_FastPos[0] = 0;
+@@ -339,58 +339,6 @@ typedef struct
+ CSaveState saveState;
+ } CLzmaEnc;
+
+-void LzmaEnc_SaveState(CLzmaEncHandle pp)
+-{
+- CLzmaEnc *p = (CLzmaEnc *)pp;
+- CSaveState *dest = &p->saveState;
+- int i;
+- dest->lenEnc = p->lenEnc;
+- dest->repLenEnc = p->repLenEnc;
+- dest->state = p->state;
+-
+- for (i = 0; i < kNumStates; i++)
+- {
+- memcpy(dest->isMatch[i], p->isMatch[i], sizeof(p->isMatch[i]));
+- memcpy(dest->isRep0Long[i], p->isRep0Long[i], sizeof(p->isRep0Long[i]));
+- }
+- for (i = 0; i < kNumLenToPosStates; i++)
+- memcpy(dest->posSlotEncoder[i], p->posSlotEncoder[i], sizeof(p->posSlotEncoder[i]));
+- memcpy(dest->isRep, p->isRep, sizeof(p->isRep));
+- memcpy(dest->isRepG0, p->isRepG0, sizeof(p->isRepG0));
+- memcpy(dest->isRepG1, p->isRepG1, sizeof(p->isRepG1));
+- memcpy(dest->isRepG2, p->isRepG2, sizeof(p->isRepG2));
+- memcpy(dest->posEncoders, p->posEncoders, sizeof(p->posEncoders));
+- memcpy(dest->posAlignEncoder, p->posAlignEncoder, sizeof(p->posAlignEncoder));
+- memcpy(dest->reps, p->reps, sizeof(p->reps));
+- memcpy(dest->litProbs, p->litProbs, (0x300 << p->lclp) * sizeof(CLzmaProb));
+-}
+-
+-void LzmaEnc_RestoreState(CLzmaEncHandle pp)
+-{
+- CLzmaEnc *dest = (CLzmaEnc *)pp;
+- const CSaveState *p = &dest->saveState;
+- int i;
+- dest->lenEnc = p->lenEnc;
+- dest->repLenEnc = p->repLenEnc;
+- dest->state = p->state;
+-
+- for (i = 0; i < kNumStates; i++)
+- {
+- memcpy(dest->isMatch[i], p->isMatch[i], sizeof(p->isMatch[i]));
+- memcpy(dest->isRep0Long[i], p->isRep0Long[i], sizeof(p->isRep0Long[i]));
+- }
+- for (i = 0; i < kNumLenToPosStates; i++)
+- memcpy(dest->posSlotEncoder[i], p->posSlotEncoder[i], sizeof(p->posSlotEncoder[i]));
+- memcpy(dest->isRep, p->isRep, sizeof(p->isRep));
+- memcpy(dest->isRepG0, p->isRepG0, sizeof(p->isRepG0));
+- memcpy(dest->isRepG1, p->isRepG1, sizeof(p->isRepG1));
+- memcpy(dest->isRepG2, p->isRepG2, sizeof(p->isRepG2));
+- memcpy(dest->posEncoders, p->posEncoders, sizeof(p->posEncoders));
+- memcpy(dest->posAlignEncoder, p->posAlignEncoder, sizeof(p->posAlignEncoder));
+- memcpy(dest->reps, p->reps, sizeof(p->reps));
+- memcpy(dest->litProbs, p->litProbs, (0x300 << dest->lclp) * sizeof(CLzmaProb));
+-}
+-
+ SRes LzmaEnc_SetProps(CLzmaEncHandle pp, const CLzmaEncProps *props2)
+ {
+ CLzmaEnc *p = (CLzmaEnc *)pp;
+@@ -600,7 +548,7 @@ static void LitEnc_EncodeMatched(CRangeEnc *p, CLzmaProb *probs, UInt32 symbol,
+ while (symbol < 0x10000);
+ }
+
+-void LzmaEnc_InitPriceTables(UInt32 *ProbPrices)
++static void LzmaEnc_InitPriceTables(UInt32 *ProbPrices)
+ {
+ UInt32 i;
+ for (i = (1 << kNumMoveReducingBits) / 2; i < kBitModelTotal; i += (1 << kNumMoveReducingBits))
+@@ -1676,7 +1624,7 @@ static void FillDistancesPrices(CLzmaEnc *p)
+ p->matchPriceCount = 0;
+ }
+
+-void LzmaEnc_Construct(CLzmaEnc *p)
++static void LzmaEnc_Construct(CLzmaEnc *p)
+ {
+ RangeEnc_Construct(&p->rc);
+ MatchFinder_Construct(&p->matchFinderBase);
+@@ -1709,7 +1657,7 @@ CLzmaEncHandle LzmaEnc_Create(ISzAlloc *alloc)
+ return p;
+ }
+
+-void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc)
++static void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc)
+ {
+ alloc->Free(alloc, p->litProbs);
+ alloc->Free(alloc, p->saveState.litProbs);
+@@ -1717,7 +1665,7 @@ void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc)
+ p->saveState.litProbs = 0;
+ }
+
+-void LzmaEnc_Destruct(CLzmaEnc *p, ISzAlloc *alloc, ISzAlloc *allocBig)
++static void LzmaEnc_Destruct(CLzmaEnc *p, ISzAlloc *alloc, ISzAlloc *allocBig)
+ {
+ #ifndef _7ZIP_ST
+ MatchFinderMt_Destruct(&p->matchFinderMt, allocBig);
+@@ -1947,7 +1895,7 @@ static SRes LzmaEnc_Alloc(CLzmaEnc *p, UInt32 keepWindowSize, ISzAlloc *alloc, I
+ return SZ_OK;
+ }
+
+-void LzmaEnc_Init(CLzmaEnc *p)
++static void LzmaEnc_Init(CLzmaEnc *p)
+ {
+ UInt32 i;
+ p->state = 0;
+@@ -2005,7 +1953,7 @@ void LzmaEnc_Init(CLzmaEnc *p)
+ p->lpMask = (1 << p->lp) - 1;
+ }
+
+-void LzmaEnc_InitPrices(CLzmaEnc *p)
++static void LzmaEnc_InitPrices(CLzmaEnc *p)
+ {
+ if (!p->fastMode)
+ {
+@@ -2037,26 +1985,6 @@ static SRes LzmaEnc_AllocAndInit(CLzmaEnc *p, UInt32 keepWindowSize, ISzAlloc *a
+ return SZ_OK;
+ }
+
+-static SRes LzmaEnc_Prepare(CLzmaEncHandle pp, ISeqOutStream *outStream, ISeqInStream *inStream,
+- ISzAlloc *alloc, ISzAlloc *allocBig)
+-{
+- CLzmaEnc *p = (CLzmaEnc *)pp;
+- p->matchFinderBase.stream = inStream;
+- p->needInit = 1;
+- p->rc.outStream = outStream;
+- return LzmaEnc_AllocAndInit(p, 0, alloc, allocBig);
+-}
+-
+-SRes LzmaEnc_PrepareForLzma2(CLzmaEncHandle pp,
+- ISeqInStream *inStream, UInt32 keepWindowSize,
+- ISzAlloc *alloc, ISzAlloc *allocBig)
+-{
+- CLzmaEnc *p = (CLzmaEnc *)pp;
+- p->matchFinderBase.stream = inStream;
+- p->needInit = 1;
+- return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig);
+-}
+-
+ static void LzmaEnc_SetInputBuf(CLzmaEnc *p, const Byte *src, SizeT srcLen)
+ {
+ p->matchFinderBase.directInput = 1;
+@@ -2064,7 +1992,7 @@ static void LzmaEnc_SetInputBuf(CLzmaEnc *p, const Byte *src, SizeT srcLen)
+ p->matchFinderBase.directInputRem = srcLen;
+ }
+
+-SRes LzmaEnc_MemPrepare(CLzmaEncHandle pp, const Byte *src, SizeT srcLen,
++static SRes LzmaEnc_MemPrepare(CLzmaEncHandle pp, const Byte *src, SizeT srcLen,
+ UInt32 keepWindowSize, ISzAlloc *alloc, ISzAlloc *allocBig)
+ {
+ CLzmaEnc *p = (CLzmaEnc *)pp;
+@@ -2074,7 +2002,7 @@ SRes LzmaEnc_MemPrepare(CLzmaEncHandle pp, const Byte *src, SizeT srcLen,
+ return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig);
+ }
+
+-void LzmaEnc_Finish(CLzmaEncHandle pp)
++static void LzmaEnc_Finish(CLzmaEncHandle pp)
+ {
+ #ifndef _7ZIP_ST
+ CLzmaEnc *p = (CLzmaEnc *)pp;
+@@ -2107,53 +2035,6 @@ static size_t MyWrite(void *pp, const void *data, size_t size)
+ return size;
+ }
+
+-
+-UInt32 LzmaEnc_GetNumAvailableBytes(CLzmaEncHandle pp)
+-{
+- const CLzmaEnc *p = (CLzmaEnc *)pp;
+- return p->matchFinder.GetNumAvailableBytes(p->matchFinderObj);
+-}
+-
+-const Byte *LzmaEnc_GetCurBuf(CLzmaEncHandle pp)
+-{
+- const CLzmaEnc *p = (CLzmaEnc *)pp;
+- return p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - p->additionalOffset;
+-}
+-
+-SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, Bool reInit,
+- Byte *dest, size_t *destLen, UInt32 desiredPackSize, UInt32 *unpackSize)
+-{
+- CLzmaEnc *p = (CLzmaEnc *)pp;
+- UInt64 nowPos64;
+- SRes res;
+- CSeqOutStreamBuf outStream;
+-
+- outStream.funcTable.Write = MyWrite;
+- outStream.data = dest;
+- outStream.rem = *destLen;
+- outStream.overflow = False;
+-
+- p->writeEndMark = False;
+- p->finished = False;
+- p->result = SZ_OK;
+-
+- if (reInit)
+- LzmaEnc_Init(p);
+- LzmaEnc_InitPrices(p);
+- nowPos64 = p->nowPos64;
+- RangeEnc_Init(&p->rc);
+- p->rc.outStream = &outStream.funcTable;
+-
+- res = LzmaEnc_CodeOneBlock(p, True, desiredPackSize, *unpackSize);
+-
+- *unpackSize = (UInt32)(p->nowPos64 - nowPos64);
+- *destLen -= outStream.rem;
+- if (outStream.overflow)
+- return SZ_ERROR_OUTPUT_EOF;
+-
+- return res;
+-}
+-
+ static SRes LzmaEnc_Encode2(CLzmaEnc *p, ICompressProgress *progress)
+ {
+ SRes res = SZ_OK;
+@@ -2184,13 +2065,6 @@ static SRes LzmaEnc_Encode2(CLzmaEnc *p, ICompressProgress *progress)
+ return res;
+ }
+
+-SRes LzmaEnc_Encode(CLzmaEncHandle pp, ISeqOutStream *outStream, ISeqInStream *inStream, ICompressProgress *progress,
+- ISzAlloc *alloc, ISzAlloc *allocBig)
+-{
+- RINOK(LzmaEnc_Prepare(pp, outStream, inStream, alloc, allocBig));
+- return LzmaEnc_Encode2((CLzmaEnc *)pp, progress);
+-}
+-
+ SRes LzmaEnc_WriteProperties(CLzmaEncHandle pp, Byte *props, SizeT *size)
+ {
+ CLzmaEnc *p = (CLzmaEnc *)pp;
+@@ -2247,25 +2121,3 @@ SRes LzmaEnc_MemEncode(CLzmaEncHandle pp, Byte *dest, SizeT *destLen, const Byte
+ return SZ_ERROR_OUTPUT_EOF;
+ return res;
+ }
+-
+-SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
+- const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark,
+- ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig)
+-{
+- CLzmaEnc *p = (CLzmaEnc *)LzmaEnc_Create(alloc);
+- SRes res;
+- if (p == 0)
+- return SZ_ERROR_MEM;
+-
+- res = LzmaEnc_SetProps(p, props);
+- if (res == SZ_OK)
+- {
+- res = LzmaEnc_WriteProperties(p, propsEncoded, propsSize);
+- if (res == SZ_OK)
+- res = LzmaEnc_MemEncode(p, dest, destLen, src, srcLen,
+- writeEndMark, progress, alloc, allocBig);
+- }
+-
+- LzmaEnc_Destroy(p, alloc, allocBig);
+- return res;
+-}
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/640-bridge-only-accept-EAP-locally.patch b/target/linux/generic/hack-4.9/640-bridge-only-accept-EAP-locally.patch
index 5fd0e56ce0..758b465def 100644
--- a/target/linux/generic/patches-4.9/640-bridge-only-accept-EAP-locally.patch
+++ b/target/linux/generic/hack-4.9/640-bridge-only-accept-EAP-locally.patch
@@ -1,14 +1,21 @@
+From c6905cfdeb31a5c049db3da434b10fa0d3e83569 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
-Subject: [PATCH] bridge: only accept EAP locally
+Date: Fri, 7 Jul 2017 17:18:54 +0200
+Subject: bridge: only accept EAP locally
When bridging, do not forward EAP frames to other ports, only deliver
them locally, regardless of the state.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
+ net/bridge/br_input.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
+index 267b46af407f..48fa08f32c2a 100644
--- a/net/bridge/br_input.c
+++ b/net/bridge/br_input.c
-@@ -164,11 +164,14 @@ int br_handle_frame_finish(struct net *n
+@@ -164,11 +164,14 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb
}
}
@@ -25,3 +32,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (IS_ENABLED(CONFIG_INET) && skb->protocol == htons(ETH_P_ARP))
br_do_proxy_arp(skb, br, vid, p);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/641-bridge_port_isolate.patch b/target/linux/generic/hack-4.9/641-bridge_port_isolate.patch
index db9527d068..637550fa28 100644
--- a/target/linux/generic/patches-4.9/641-bridge_port_isolate.patch
+++ b/target/linux/generic/hack-4.9/641-bridge_port_isolate.patch
@@ -1,10 +1,22 @@
+From e988390850731aa1697ed09d47b0932fac1af175 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
-Subject: [PATCH] bridge: port isolate
+Date: Fri, 7 Jul 2017 17:20:03 +0200
+Subject: bridge: port isolate
Isolating individual bridge ports
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
---- a/include/linux/if_bridge.h
-+++ b/include/linux/if_bridge.h
+ include/linux/if_bridge.h | 1 +
+ net/bridge/br_forward.c | 5 +++++
+ net/bridge/br_input.c | 3 +++
+ net/bridge/br_sysfs_if.c | 2 ++
+ 4 files changed, 11 insertions(+)
+
+Index: linux-4.9.34/include/linux/if_bridge.h
+===================================================================
+--- linux-4.9.34.orig/include/linux/if_bridge.h
++++ linux-4.9.34/include/linux/if_bridge.h
@@ -47,6 +47,7 @@ struct br_ip_list {
#define BR_PROXYARP_WIFI BIT(10)
#define BR_MCAST_FLOOD BIT(11)
@@ -13,26 +25,10 @@ Isolating individual bridge ports
#define BR_DEFAULT_AGEING_TIME (300 * HZ)
---- a/net/bridge/br_sysfs_if.c
-+++ b/net/bridge/br_sysfs_if.c
-@@ -172,6 +172,7 @@ BRPORT_ATTR_FLAG(unicast_flood, BR_FLOOD
- BRPORT_ATTR_FLAG(proxyarp, BR_PROXYARP);
- BRPORT_ATTR_FLAG(proxyarp_wifi, BR_PROXYARP_WIFI);
- BRPORT_ATTR_FLAG(multicast_flood, BR_MCAST_FLOOD);
-+BRPORT_ATTR_FLAG(isolate_mode, BR_ISOLATE_MODE);
-
- #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
- static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
-@@ -220,6 +221,7 @@ static const struct brport_attribute *br
- &brport_attr_proxyarp,
- &brport_attr_proxyarp_wifi,
- &brport_attr_multicast_flood,
-+ &brport_attr_isolate_mode,
- NULL
- };
-
---- a/net/bridge/br_forward.c
-+++ b/net/bridge/br_forward.c
+Index: linux-4.9.34/net/bridge/br_forward.c
+===================================================================
+--- linux-4.9.34.orig/net/bridge/br_forward.c
++++ linux-4.9.34/net/bridge/br_forward.c
@@ -141,6 +141,9 @@ static int deliver_clone(const struct ne
void br_forward(const struct net_bridge_port *to,
struct sk_buff *skb, bool local_rcv, bool local_orig)
@@ -52,8 +48,10 @@ Isolating individual bridge ports
/* Do not flood unicast traffic to ports that turn it off */
if (pkt_type == BR_PKT_UNICAST && !(p->flags & BR_FLOOD))
continue;
---- a/net/bridge/br_input.c
-+++ b/net/bridge/br_input.c
+Index: linux-4.9.34/net/bridge/br_input.c
+===================================================================
+--- linux-4.9.34.orig/net/bridge/br_input.c
++++ linux-4.9.34/net/bridge/br_input.c
@@ -175,6 +175,9 @@ int br_handle_frame_finish(struct net *n
if (IS_ENABLED(CONFIG_INET) && skb->protocol == htons(ETH_P_ARP))
br_do_proxy_arp(skb, br, vid, p);
@@ -64,3 +62,23 @@ Isolating individual bridge ports
switch (pkt_type) {
case BR_PKT_MULTICAST:
mdst = br_mdb_get(br, skb, vid);
+Index: linux-4.9.34/net/bridge/br_sysfs_if.c
+===================================================================
+--- linux-4.9.34.orig/net/bridge/br_sysfs_if.c
++++ linux-4.9.34/net/bridge/br_sysfs_if.c
+@@ -172,6 +172,7 @@ BRPORT_ATTR_FLAG(unicast_flood, BR_FLOOD
+ BRPORT_ATTR_FLAG(proxyarp, BR_PROXYARP);
+ BRPORT_ATTR_FLAG(proxyarp_wifi, BR_PROXYARP_WIFI);
+ BRPORT_ATTR_FLAG(multicast_flood, BR_MCAST_FLOOD);
++BRPORT_ATTR_FLAG(isolate_mode, BR_ISOLATE_MODE);
+
+ #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
+ static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
+@@ -220,6 +221,7 @@ static const struct brport_attribute *br
+ &brport_attr_proxyarp,
+ &brport_attr_proxyarp_wifi,
+ &brport_attr_multicast_flood,
++ &brport_attr_isolate_mode,
+ NULL
+ };
+
diff --git a/target/linux/generic/hack-4.9/651-wireless_mesh_header.patch b/target/linux/generic/hack-4.9/651-wireless_mesh_header.patch
new file mode 100644
index 0000000000..67aa5e7ec7
--- /dev/null
+++ b/target/linux/generic/hack-4.9/651-wireless_mesh_header.patch
@@ -0,0 +1,29 @@
+From 6d3bc769657b0ee7c7506dad9911111c4226a7ea Mon Sep 17 00:00:00 2001
+From: Imre Kaloz <kaloz@openwrt.org>
+Date: Fri, 7 Jul 2017 17:21:05 +0200
+Subject: mac80211: increase wireless mesh header size
+
+lede-commit 3d4466cfd8f75f717efdb1f96fdde3c70d865fc1
+Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
+---
+ include/linux/netdevice.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
+index 780e7171f548..6e0f2c79f79a 100644
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -137,8 +137,8 @@ static inline bool dev_xmit_complete(int rc)
+
+ #if defined(CONFIG_HYPERV_NET)
+ # define LL_MAX_HEADER 128
+-#elif defined(CONFIG_WLAN) || IS_ENABLED(CONFIG_AX25)
+-# if defined(CONFIG_MAC80211_MESH)
++#elif defined(CONFIG_WLAN) || IS_ENABLED(CONFIG_AX25) || 1
++# if defined(CONFIG_MAC80211_MESH) || 1
+ # define LL_MAX_HEADER 128
+ # else
+ # define LL_MAX_HEADER 96
+--
+2.11.0
+
diff --git a/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch b/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch
new file mode 100644
index 0000000000..3bac10f6eb
--- /dev/null
+++ b/target/linux/generic/hack-4.9/660-fq_codel_defaults.patch
@@ -0,0 +1,26 @@
+From a6ccb238939b25851474a279b20367fd24a0e816 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:21:53 +0200
+Subject: hack: net: fq_codel: tune defaults for small devices
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/sched/sch_fq_codel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/net/sched/sch_fq_codel.c b/net/sched/sch_fq_codel.c
+index a5ea0e9b6be4..4467b95795bf 100644
+--- a/net/sched/sch_fq_codel.c
++++ b/net/sched/sch_fq_codel.c
+@@ -479,7 +479,7 @@ static int fq_codel_init(struct Qdisc *sch, struct nlattr *opt)
+
+ sch->limit = 10*1024;
+ q->flows_cnt = 1024;
+- q->memory_limit = 32 << 20; /* 32 MBytes */
++ q->memory_limit = 4 << 20; /* 4 MBytes */
+ q->drop_batch_size = 64;
+ q->quantum = psched_mtu(qdisc_dev(sch));
+ q->perturbation = prandom_u32();
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch
index f94cca0d4f..2d34cded01 100644
--- a/target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch
+++ b/target/linux/generic/hack-4.9/661-use_fq_codel_by_default.patch
@@ -1,3 +1,38 @@
+From 1d418f7e88035ed7a94073f6354246c66e9193e9 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:22:58 +0200
+Subject: fq_codel: switch default qdisc from pfifo_fast to fq_codel and remove pfifo_fast
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/net/sch_generic.h | 3 ++-
+ net/sched/Kconfig | 3 ++-
+ net/sched/sch_api.c | 2 +-
+ net/sched/sch_fq_codel.c | 3 ++-
+ net/sched/sch_generic.c | 4 ++--
+ 5 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
+index e6aa0a249672..9eeb368d7eea 100644
+--- a/include/net/sch_generic.h
++++ b/include/net/sch_generic.h
+@@ -339,12 +339,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
+ extern struct Qdisc_ops pfifo_fast_ops;
+ extern struct Qdisc_ops mq_qdisc_ops;
+ extern struct Qdisc_ops noqueue_qdisc_ops;
++extern struct Qdisc_ops fq_codel_qdisc_ops;
+ extern const struct Qdisc_ops *default_qdisc_ops;
+ static inline const struct Qdisc_ops *
+ get_default_qdisc_ops(const struct net_device *dev, int ntx)
+ {
+ return ntx < dev->real_num_tx_queues ?
+- default_qdisc_ops : &pfifo_fast_ops;
++ default_qdisc_ops : &fq_codel_qdisc_ops;
+ }
+
+ struct Qdisc_class_common {
+diff --git a/net/sched/Kconfig b/net/sched/Kconfig
+index 87956a768d1b..89c6db93cb63 100644
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
@@ -3,8 +3,9 @@
@@ -11,9 +46,24 @@
---help---
When the kernel has several packets to send out over a network
device, it has to decide which ones to send first, which ones to
+diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
+index 206dc24add3a..9b5cfb6ac64b 100644
+--- a/net/sched/sch_api.c
++++ b/net/sched/sch_api.c
+@@ -1976,7 +1976,7 @@ static int __init pktsched_init(void)
+ return err;
+ }
+
+- register_qdisc(&pfifo_fast_ops);
++ register_qdisc(&fq_codel_qdisc_ops);
+ register_qdisc(&pfifo_qdisc_ops);
+ register_qdisc(&bfifo_qdisc_ops);
+ register_qdisc(&pfifo_head_drop_qdisc_ops);
+diff --git a/net/sched/sch_fq_codel.c b/net/sched/sch_fq_codel.c
+index 4467b95795bf..2ebbf50658e5 100644
--- a/net/sched/sch_fq_codel.c
+++ b/net/sched/sch_fq_codel.c
-@@ -705,7 +705,7 @@ static const struct Qdisc_class_ops fq_c
+@@ -705,7 +705,7 @@ static const struct Qdisc_class_ops fq_codel_class_ops = {
.walk = fq_codel_walk,
};
@@ -22,7 +72,7 @@
.cl_ops = &fq_codel_class_ops,
.id = "fq_codel",
.priv_size = sizeof(struct fq_codel_sched_data),
-@@ -720,6 +720,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
+@@ -720,6 +720,7 @@ static struct Qdisc_ops fq_codel_qdisc_ops __read_mostly = {
.dump_stats = fq_codel_dump_stats,
.owner = THIS_MODULE,
};
@@ -30,23 +80,8 @@
static int __init fq_codel_module_init(void)
{
---- a/include/net/sch_generic.h
-+++ b/include/net/sch_generic.h
-@@ -339,12 +339,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
- extern struct Qdisc_ops pfifo_fast_ops;
- extern struct Qdisc_ops mq_qdisc_ops;
- extern struct Qdisc_ops noqueue_qdisc_ops;
-+extern struct Qdisc_ops fq_codel_qdisc_ops;
- extern const struct Qdisc_ops *default_qdisc_ops;
- static inline const struct Qdisc_ops *
- get_default_qdisc_ops(const struct net_device *dev, int ntx)
- {
- return ntx < dev->real_num_tx_queues ?
-- default_qdisc_ops : &pfifo_fast_ops;
-+ default_qdisc_ops : &fq_codel_qdisc_ops;
- }
-
- struct Qdisc_class_common {
+diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
+index 6cfb6e9038c2..97de97e3c5e2 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -31,7 +31,7 @@
@@ -58,7 +93,7 @@
EXPORT_SYMBOL(default_qdisc_ops);
/* Main transmission queue. */
-@@ -759,7 +759,7 @@ static void attach_one_default_qdisc(str
+@@ -759,7 +759,7 @@ static void attach_one_default_qdisc(struct net_device *dev,
void *_unused)
{
struct Qdisc *qdisc;
@@ -67,14 +102,6 @@
if (dev->priv_flags & IFF_NO_QUEUE)
ops = &noqueue_qdisc_ops;
---- a/net/sched/sch_api.c
-+++ b/net/sched/sch_api.c
-@@ -1979,7 +1979,7 @@ static int __init pktsched_init(void)
- return err;
- }
-
-- register_qdisc(&pfifo_fast_ops);
-+ register_qdisc(&fq_codel_qdisc_ops);
- register_qdisc(&pfifo_qdisc_ops);
- register_qdisc(&bfifo_qdisc_ops);
- register_qdisc(&pfifo_head_drop_qdisc_ops);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/662-remove_pfifo_fast.patch b/target/linux/generic/hack-4.9/662-remove_pfifo_fast.patch
index 60ad1ea836..aaa0d76843 100644
--- a/target/linux/generic/patches-4.9/662-remove_pfifo_fast.patch
+++ b/target/linux/generic/hack-4.9/662-remove_pfifo_fast.patch
@@ -1,6 +1,18 @@
+From b531d492d5ef1cf9dba0f4888eb5fd8624a6d762 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:23:42 +0200
+Subject: net: sched: switch default qdisc from pfifo_fast to fq_codel and remove pfifo_fast
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/sched/sch_generic.c | 140 ------------------------------------------------
+ 1 file changed, 140 deletions(-)
+
+diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
+index 97de97e3c5e2..a62de9e4e897 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
-@@ -449,146 +449,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
+@@ -449,146 +449,6 @@ struct Qdisc_ops noqueue_qdisc_ops __read_mostly = {
.owner = THIS_MODULE,
};
@@ -147,3 +159,6 @@
static struct lock_class_key qdisc_tx_busylock;
static struct lock_class_key qdisc_running_key;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/700-swconfig_switch_drivers.patch b/target/linux/generic/hack-4.9/700-swconfig_switch_drivers.patch
index 8b3fbccc17..47715dcc28 100644
--- a/target/linux/generic/patches-4.9/700-swconfig_switch_drivers.patch
+++ b/target/linux/generic/hack-4.9/700-swconfig_switch_drivers.patch
@@ -1,3 +1,17 @@
+From 36e516290611e613aa92996cb4339561452695b4 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:24:23 +0200
+Subject: net: swconfig: adds openwrt switch layer
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/net/phy/Kconfig | 83 +++++++++++++++++++++++++++++++++++++++++++++++
+ drivers/net/phy/Makefile | 15 +++++++++
+ include/uapi/linux/Kbuild | 1 +
+ 3 files changed, 99 insertions(+)
+
+diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
+index 2651c8d8de2f..a920adb78fea 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -147,6 +147,89 @@ config MDIO_XGENE
@@ -90,6 +104,8 @@
comment "MII PHY device drivers"
config AMD_PHY
+diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
+index e58667d111e7..542b6be8953a 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -5,6 +5,21 @@ libphy-$(CONFIG_SWPHY) += swphy.o
@@ -114,6 +130,8 @@
obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o
obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
+diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
+index cd2be1c8e9fb..ccdd8d586ab8 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -399,6 +399,7 @@ header-y += stddef.h
@@ -124,3 +142,6 @@
header-y += synclink.h
header-y += sync_file.h
header-y += sysctl.h
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/710-phy-add-mdio_register_board_info.patch b/target/linux/generic/hack-4.9/710-phy-add-mdio_register_board_info.patch
index 55607bc6ea..55607bc6ea 100644
--- a/target/linux/generic/patches-4.9/710-phy-add-mdio_register_board_info.patch
+++ b/target/linux/generic/hack-4.9/710-phy-add-mdio_register_board_info.patch
diff --git a/target/linux/generic/patches-4.9/721-phy_packets.patch b/target/linux/generic/hack-4.9/721-phy_packets.patch
index 2123f01cb2..3cb44235c9 100644
--- a/target/linux/generic/patches-4.9/721-phy_packets.patch
+++ b/target/linux/generic/hack-4.9/721-phy_packets.patch
@@ -1,5 +1,22 @@
---- a/include/linux/netdevice.h
-+++ b/include/linux/netdevice.h
+From ffe387740bbe88dd88bbe04d6375902708003d6e Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 7 Jul 2017 17:25:00 +0200
+Subject: net: add packet mangeling patch
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/netdevice.h | 11 +++++++++++
+ include/linux/skbuff.h | 14 ++++----------
+ net/Kconfig | 6 ++++++
+ net/core/dev.c | 18 ++++++++++++++----
+ net/core/skbuff.c | 17 +++++++++++++++++
+ net/ethernet/eth.c | 6 ++++++
+ 6 files changed, 58 insertions(+), 14 deletions(-)
+
+Index: linux-4.9.34/include/linux/netdevice.h
+===================================================================
+--- linux-4.9.34.orig/include/linux/netdevice.h
++++ linux-4.9.34/include/linux/netdevice.h
@@ -1398,6 +1398,7 @@ enum netdev_priv_flags {
IFF_RXFH_CONFIGURED = 1<<25,
IFF_PHONY_HEADROOM = 1<<26,
@@ -39,8 +56,10 @@
/*
* Cache lines mostly used on receive path (including eth_type_trans())
*/
---- a/include/linux/skbuff.h
-+++ b/include/linux/skbuff.h
+Index: linux-4.9.34/include/linux/skbuff.h
+===================================================================
+--- linux-4.9.34.orig/include/linux/skbuff.h
++++ linux-4.9.34/include/linux/skbuff.h
@@ -2334,6 +2334,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
@@ -69,8 +88,10 @@
static inline struct sk_buff *netdev_alloc_skb_ip_align(struct net_device *dev,
unsigned int length)
{
---- a/net/Kconfig
-+++ b/net/Kconfig
+Index: linux-4.9.34/net/Kconfig
+===================================================================
+--- linux-4.9.34.orig/net/Kconfig
++++ linux-4.9.34/net/Kconfig
@@ -25,6 +25,12 @@ menuconfig NET
if NET
@@ -84,9 +105,11 @@
config WANT_COMPAT_NETLINK_MESSAGES
bool
help
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -2932,10 +2932,20 @@ static int xmit_one(struct sk_buff *skb,
+Index: linux-4.9.34/net/core/dev.c
+===================================================================
+--- linux-4.9.34.orig/net/core/dev.c
++++ linux-4.9.34/net/core/dev.c
+@@ -2931,10 +2931,20 @@ static int xmit_one(struct sk_buff *skb,
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
dev_queue_xmit_nit(skb, dev);
@@ -111,8 +134,10 @@
return rc;
}
---- a/net/core/skbuff.c
-+++ b/net/core/skbuff.c
+Index: linux-4.9.34/net/core/skbuff.c
+===================================================================
+--- linux-4.9.34.orig/net/core/skbuff.c
++++ linux-4.9.34/net/core/skbuff.c
@@ -64,6 +64,7 @@
#include <linux/errqueue.h>
#include <linux/prefetch.h>
@@ -144,8 +169,10 @@
void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off,
int size, unsigned int truesize)
{
---- a/net/ethernet/eth.c
-+++ b/net/ethernet/eth.c
+Index: linux-4.9.34/net/ethernet/eth.c
+===================================================================
+--- linux-4.9.34.orig/net/ethernet/eth.c
++++ linux-4.9.34/net/ethernet/eth.c
@@ -171,6 +171,12 @@ __be16 eth_type_trans(struct sk_buff *sk
const struct ethhdr *eth;
diff --git a/target/linux/generic/patches-4.9/773-bgmac-add-srab-switch.patch b/target/linux/generic/hack-4.9/773-bgmac-add-srab-switch.patch
index 81055fa558..8e353a2f6d 100644
--- a/target/linux/generic/patches-4.9/773-bgmac-add-srab-switch.patch
+++ b/target/linux/generic/hack-4.9/773-bgmac-add-srab-switch.patch
@@ -1,9 +1,33 @@
-Register switch connected to srab
+From 3cb240533ab787899dc7f17aa7d6c5b4810e2e58 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Fri, 7 Jul 2017 17:26:01 +0200
+Subject: bcm53xx: bgmac: use srab switch driver
+
+use the srab switch driver on these SoCs.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/net/ethernet/broadcom/bgmac-bcma.c | 1 +
+ drivers/net/ethernet/broadcom/bgmac.c | 24 ++++++++++++++++++++++++
+ drivers/net/ethernet/broadcom/bgmac.h | 4 ++++
+ 3 files changed, 29 insertions(+)
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
+Index: linux-4.9.34/drivers/net/ethernet/broadcom/bgmac-bcma.c
+===================================================================
+--- linux-4.9.34.orig/drivers/net/ethernet/broadcom/bgmac-bcma.c
++++ linux-4.9.34/drivers/net/ethernet/broadcom/bgmac-bcma.c
+@@ -230,6 +230,7 @@ static int bgmac_probe(struct bcma_devic
+ bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
+ bgmac->feature_flags |= BGMAC_FEAT_NO_RESET;
+ bgmac->feature_flags |= BGMAC_FEAT_FORCE_SPEED_2500;
++ bgmac->feature_flags |= BGMAC_FEAT_SRAB;
+ break;
+ case BCMA_CHIP_ID_BCM53573:
+ bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
+Index: linux-4.9.34/drivers/net/ethernet/broadcom/bgmac.c
+===================================================================
+--- linux-4.9.34.orig/drivers/net/ethernet/broadcom/bgmac.c
++++ linux-4.9.34/drivers/net/ethernet/broadcom/bgmac.c
@@ -11,6 +11,7 @@
#include <linux/bcma/bcma.h>
@@ -56,8 +80,10 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
unregister_netdev(bgmac->net_dev);
phy_disconnect(bgmac->net_dev->phydev);
netif_napi_del(&bgmac->napi);
---- a/drivers/net/ethernet/broadcom/bgmac.h
-+++ b/drivers/net/ethernet/broadcom/bgmac.h
+Index: linux-4.9.34/drivers/net/ethernet/broadcom/bgmac.h
+===================================================================
+--- linux-4.9.34.orig/drivers/net/ethernet/broadcom/bgmac.h
++++ linux-4.9.34/drivers/net/ethernet/broadcom/bgmac.h
@@ -409,6 +409,7 @@
#define BGMAC_FEAT_CC4_IF_SW_TYPE BIT(17)
#define BGMAC_FEAT_CC4_IF_SW_TYPE_RGMII BIT(18)
@@ -76,13 +102,3 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
};
struct bgmac *bgmac_alloc(struct device *dev);
---- a/drivers/net/ethernet/broadcom/bgmac-bcma.c
-+++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c
-@@ -230,6 +230,7 @@ static int bgmac_probe(struct bcma_devic
- bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
- bgmac->feature_flags |= BGMAC_FEAT_NO_RESET;
- bgmac->feature_flags |= BGMAC_FEAT_FORCE_SPEED_2500;
-+ bgmac->feature_flags |= BGMAC_FEAT_SRAB;
- break;
- case BCMA_CHIP_ID_BCM53573:
- bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
diff --git a/target/linux/generic/hack-4.9/835-misc-owl_loader.patch b/target/linux/generic/hack-4.9/835-misc-owl_loader.patch
new file mode 100644
index 0000000000..1c7a28a735
--- /dev/null
+++ b/target/linux/generic/hack-4.9/835-misc-owl_loader.patch
@@ -0,0 +1,59 @@
+From dd36f935973d91644449bd9749f6062a2bed821b Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@googlemail.com>
+Date: Fri, 7 Jul 2017 17:26:46 +0200
+Subject: misc: owl-loader for delayed Atheros ath9k fixup
+
+Some devices (like the Cisco Meraki Z1 Cloud Managed Teleworker Gateway)
+need to be able to initialize the PCIe wifi device. Normally, this is done
+during the early stages of booting linux, because the necessary init code
+is read from the memory mapped SPI and passed to pci_enable_ath9k_fixup.
+However,this isn't possible for devices which have the init code for the
+Atheros chip stored on NAND in an UBI volume. Hence, this module can be
+used to initialze the chip when the user-space is ready to extract the
+init code.
+
+Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
+Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
+---
+ drivers/misc/Kconfig | 12 ++++++++++++
+ drivers/misc/Makefile | 1 +
+ 2 files changed, 13 insertions(+)
+
+diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
+index 64971baf11fa..50d2eaa75d41 100644
+--- a/drivers/misc/Kconfig
++++ b/drivers/misc/Kconfig
+@@ -151,6 +151,18 @@ config SGI_IOC4
+ If you have an SGI Altix with an IOC4-based card say Y.
+ Otherwise say N.
+
++config OWL_LOADER
++ tristate "Owl loader for initializing Atheros PCI(e) Wifi chips"
++ depends on PCI
++ ---help---
++ This kernel module helps to initialize certain Qualcomm
++ Atheros' PCI(e) Wifi chips, which have the init data
++ (which contains the PCI device ID for example) stored
++ together with the calibration data in the file system.
++
++ This is necessary for devices like the Cisco Meraki Z1, say M.
++ Otherwise say N.
++
+ config TIFM_CORE
+ tristate "TI Flash Media interface support"
+ depends on PCI
+diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
+index 31983366090a..48c7e74a6e5a 100644
+--- a/drivers/misc/Makefile
++++ b/drivers/misc/Makefile
+@@ -12,6 +12,7 @@ obj-$(CONFIG_ATMEL_TCLIB) += atmel_tclib.o
+ obj-$(CONFIG_DUMMY_IRQ) += dummy-irq.o
+ obj-$(CONFIG_ICS932S401) += ics932s401.o
+ obj-$(CONFIG_LKDTM) += lkdtm.o
++obj-$(CONFIG_OWL_LOADER) += owl-loader.o
+ obj-$(CONFIG_TIFM_CORE) += tifm_core.o
+ obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
+ obj-$(CONFIG_PHANTOM) += phantom.o
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/901-debloat_sock_diag.patch b/target/linux/generic/hack-4.9/901-debloat_sock_diag.patch
index 2fc52c8ab0..d46e2ca1e7 100644
--- a/target/linux/generic/patches-4.9/901-debloat_sock_diag.patch
+++ b/target/linux/generic/hack-4.9/901-debloat_sock_diag.patch
@@ -1,3 +1,21 @@
+From 3b6115d6b57a263bdc8c9b1df273bd4a7955eead Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 8 Jul 2017 08:16:31 +0200
+Subject: debloat: add some debloat patches, strip down procfs and make O_DIRECT support optional, saves ~15K after lzma on MIPS
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/Kconfig | 3 +++
+ net/core/Makefile | 3 ++-
+ net/core/sock.c | 2 ++
+ net/ipv4/Kconfig | 1 +
+ net/netlink/Kconfig | 1 +
+ net/packet/Kconfig | 1 +
+ net/unix/Kconfig | 1 +
+ 7 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/net/Kconfig b/net/Kconfig
+index 38a0c857eb52..b4621e1f3470 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -95,6 +95,9 @@ source "net/netlabel/Kconfig"
@@ -10,9 +28,11 @@
config NETWORK_SECMARK
bool "Security Marking"
help
+diff --git a/net/core/Makefile b/net/core/Makefile
+index d6508c2ddca5..bee4adde14d8 100644
--- a/net/core/Makefile
+++ b/net/core/Makefile
-@@ -9,8 +9,9 @@ obj-$(CONFIG_SYSCTL) += sysctl_net_core.
+@@ -9,8 +9,9 @@ obj-$(CONFIG_SYSCTL) += sysctl_net_core.o
obj-y += dev.o ethtool.o dev_addr_lists.o dst.o netevent.o \
neighbour.o rtnetlink.o utils.o link_watch.o filter.o \
@@ -23,6 +43,8 @@
obj-$(CONFIG_XFRM) += flow.o
obj-y += net-sysfs.o
obj-$(CONFIG_PROC_FS) += net-procfs.o
+diff --git a/net/core/sock.c b/net/core/sock.c
+index 1989b3dd6d17..d4ca8db4166a 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1457,9 +1457,11 @@ void sk_destruct(struct sock *sk)
@@ -37,6 +59,8 @@
sk_destruct(sk);
}
+diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig
+index b54b3ca939db..74ecf598622c 100644
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
@@ -408,6 +408,7 @@ config INET_XFRM_MODE_BEET
@@ -47,16 +71,8 @@
default y
---help---
Support for INET (TCP, DCCP, etc) socket monitoring interface used by
---- a/net/unix/Kconfig
-+++ b/net/unix/Kconfig
-@@ -22,6 +22,7 @@ config UNIX
- config UNIX_DIAG
- tristate "UNIX: socket monitoring interface"
- depends on UNIX
-+ select SOCK_DIAG
- default n
- ---help---
- Support for UNIX socket monitoring interface used by the ss tool.
+diff --git a/net/netlink/Kconfig b/net/netlink/Kconfig
+index 5d6e8c05b3d4..8a2696d66c20 100644
--- a/net/netlink/Kconfig
+++ b/net/netlink/Kconfig
@@ -4,6 +4,7 @@
@@ -67,6 +83,8 @@
default n
---help---
Support for NETLINK socket monitoring interface used by the ss tool.
+diff --git a/net/packet/Kconfig b/net/packet/Kconfig
+index cc55b35f80e5..9a83c86f5480 100644
--- a/net/packet/Kconfig
+++ b/net/packet/Kconfig
@@ -18,6 +18,7 @@ config PACKET
@@ -77,3 +95,18 @@
default n
---help---
Support for PF_PACKET sockets monitoring interface used by the ss tool.
+diff --git a/net/unix/Kconfig b/net/unix/Kconfig
+index 8b31ab85d050..6548cf3ea7f1 100644
+--- a/net/unix/Kconfig
++++ b/net/unix/Kconfig
+@@ -22,6 +22,7 @@ config UNIX
+ config UNIX_DIAG
+ tristate "UNIX: socket monitoring interface"
+ depends on UNIX
++ select SOCK_DIAG
+ default n
+ ---help---
+ Support for UNIX socket monitoring interface used by the ss tool.
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/902-debloat_proc.patch b/target/linux/generic/hack-4.9/902-debloat_proc.patch
index 1894757f22..5a2eb2bcf0 100644
--- a/target/linux/generic/patches-4.9/902-debloat_proc.patch
+++ b/target/linux/generic/hack-4.9/902-debloat_proc.patch
@@ -1,5 +1,36 @@
---- a/fs/locks.c
-+++ b/fs/locks.c
+From 9e3f1d0805b2d919904dd9a4ff0d956314cc3cba Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 8 Jul 2017 08:20:09 +0200
+Subject: debloat: procfs
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ fs/locks.c | 2 ++
+ fs/proc/Kconfig | 5 +++++
+ fs/proc/consoles.c | 3 +++
+ fs/proc/proc_tty.c | 11 ++++++++++-
+ include/net/snmp.h | 18 +++++++++++++++++-
+ ipc/msg.c | 3 +++
+ ipc/sem.c | 2 ++
+ ipc/shm.c | 2 ++
+ ipc/util.c | 3 +++
+ kernel/exec_domain.c | 2 ++
+ kernel/irq/proc.c | 9 +++++++++
+ kernel/time/timer_list.c | 2 ++
+ mm/vmalloc.c | 2 ++
+ mm/vmstat.c | 8 +++++---
+ net/8021q/vlanproc.c | 6 ++++++
+ net/core/net-procfs.c | 18 ++++++++++++------
+ net/core/sock.c | 2 ++
+ net/ipv4/fib_trie.c | 18 ++++++++++++------
+ net/ipv4/proc.c | 3 +++
+ net/ipv4/route.c | 3 +++
+ 20 files changed, 105 insertions(+), 17 deletions(-)
+
+Index: linux-4.9.34/fs/locks.c
+===================================================================
+--- linux-4.9.34.orig/fs/locks.c
++++ linux-4.9.34/fs/locks.c
@@ -2802,6 +2802,8 @@ static const struct file_operations proc
static int __init proc_locks_init(void)
@@ -9,8 +40,10 @@
proc_create("locks", 0, NULL, &proc_locks_operations);
return 0;
}
---- a/fs/proc/Kconfig
-+++ b/fs/proc/Kconfig
+Index: linux-4.9.34/fs/proc/Kconfig
+===================================================================
+--- linux-4.9.34.orig/fs/proc/Kconfig
++++ linux-4.9.34/fs/proc/Kconfig
@@ -81,3 +81,8 @@ config PROC_CHILDREN
Say Y if you are running any user-space software which takes benefit from
@@ -20,8 +53,10 @@
+ default n
+ depends on EXPERT
+ bool "Strip non-essential /proc functionality to reduce code size"
---- a/fs/proc/consoles.c
-+++ b/fs/proc/consoles.c
+Index: linux-4.9.34/fs/proc/consoles.c
+===================================================================
+--- linux-4.9.34.orig/fs/proc/consoles.c
++++ linux-4.9.34/fs/proc/consoles.c
@@ -106,6 +106,9 @@ static const struct file_operations proc
static int __init proc_consoles_init(void)
@@ -32,8 +67,10 @@
proc_create("consoles", 0, NULL, &proc_consoles_operations);
return 0;
}
---- a/fs/proc/proc_tty.c
-+++ b/fs/proc/proc_tty.c
+Index: linux-4.9.34/fs/proc/proc_tty.c
+===================================================================
+--- linux-4.9.34.orig/fs/proc/proc_tty.c
++++ linux-4.9.34/fs/proc/proc_tty.c
@@ -143,7 +143,10 @@ static const struct file_operations proc
void proc_tty_register_driver(struct tty_driver *driver)
{
@@ -66,8 +103,101 @@
if (!proc_mkdir("tty", NULL))
return;
proc_mkdir("tty/ldisc", NULL); /* Preserved: it's userspace visible */
---- a/kernel/exec_domain.c
-+++ b/kernel/exec_domain.c
+Index: linux-4.9.34/include/net/snmp.h
+===================================================================
+--- linux-4.9.34.orig/include/net/snmp.h
++++ linux-4.9.34/include/net/snmp.h
+@@ -123,6 +123,21 @@ struct linux_xfrm_mib {
+ #define DECLARE_SNMP_STAT(type, name) \
+ extern __typeof__(type) __percpu *name
+
++#ifdef CONFIG_PROC_STRIPPED
++#define __SNMP_STATS_DUMMY(mib) \
++ do { (void) mib->mibs[0]; } while(0)
++
++#define __SNMP_INC_STATS(mib, field) __SNMP_STATS_DUMMY(mib)
++#define SNMP_INC_STATS_ATOMIC_LONG(mib, field) __SNMP_STATS_DUMMY(mib)
++#define SNMP_INC_STATS(mib, field) __SNMP_STATS_DUMMY(mib)
++#define SNMP_DEC_STATS(mib, field) __SNMP_STATS_DUMMY(mib)
++#define __SNMP_ADD_STATS(mib, field, addend) __SNMP_STATS_DUMMY(mib)
++#define SNMP_ADD_STATS(mib, field, addend) __SNMP_STATS_DUMMY(mib)
++#define SNMP_UPD_PO_STATS(mib, basefield, addend) __SNMP_STATS_DUMMY(mib)
++#define __SNMP_UPD_PO_STATS(mib, basefield, addend) __SNMP_STATS_DUMMY(mib)
++
++#else
++
+ #define __SNMP_INC_STATS(mib, field) \
+ __this_cpu_inc(mib->mibs[field])
+
+@@ -153,8 +168,9 @@ struct linux_xfrm_mib {
+ __this_cpu_add(ptr[basefield##OCTETS], addend); \
+ } while (0)
+
++#endif
+
+-#if BITS_PER_LONG==32
++#if (BITS_PER_LONG==32) && !defined(CONFIG_PROC_STRIPPED)
+
+ #define __SNMP_ADD_STATS64(mib, field, addend) \
+ do { \
+Index: linux-4.9.34/ipc/msg.c
+===================================================================
+--- linux-4.9.34.orig/ipc/msg.c
++++ linux-4.9.34/ipc/msg.c
+@@ -1058,6 +1058,9 @@ void __init msg_init(void)
+ {
+ msg_init_ns(&init_ipc_ns);
+
++ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
++ return;
++
+ ipc_init_proc_interface("sysvipc/msg",
+ " key msqid perms cbytes qnum lspid lrpid uid gid cuid cgid stime rtime ctime\n",
+ IPC_MSG_IDS, sysvipc_msg_proc_show);
+Index: linux-4.9.34/ipc/sem.c
+===================================================================
+--- linux-4.9.34.orig/ipc/sem.c
++++ linux-4.9.34/ipc/sem.c
+@@ -205,6 +205,8 @@ void sem_exit_ns(struct ipc_namespace *n
+ void __init sem_init(void)
+ {
+ sem_init_ns(&init_ipc_ns);
++ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
++ return;
+ ipc_init_proc_interface("sysvipc/sem",
+ " key semid perms nsems uid gid cuid cgid otime ctime\n",
+ IPC_SEM_IDS, sysvipc_sem_proc_show);
+Index: linux-4.9.34/ipc/shm.c
+===================================================================
+--- linux-4.9.34.orig/ipc/shm.c
++++ linux-4.9.34/ipc/shm.c
+@@ -118,6 +118,8 @@ pure_initcall(ipc_ns_init);
+
+ void __init shm_init(void)
+ {
++ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
++ return;
+ ipc_init_proc_interface("sysvipc/shm",
+ #if BITS_PER_LONG <= 32
+ " key shmid perms size cpid lpid nattch uid gid cuid cgid atime dtime ctime rss swap\n",
+Index: linux-4.9.34/ipc/util.c
+===================================================================
+--- linux-4.9.34.orig/ipc/util.c
++++ linux-4.9.34/ipc/util.c
+@@ -121,6 +121,9 @@ void __init ipc_init_proc_interface(cons
+ struct proc_dir_entry *pde;
+ struct ipc_proc_iface *iface;
+
++ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
++ return;
++
+ iface = kmalloc(sizeof(*iface), GFP_KERNEL);
+ if (!iface)
+ return;
+Index: linux-4.9.34/kernel/exec_domain.c
+===================================================================
+--- linux-4.9.34.orig/kernel/exec_domain.c
++++ linux-4.9.34/kernel/exec_domain.c
@@ -41,6 +41,8 @@ static const struct file_operations exec
static int __init proc_execdomains_init(void)
@@ -77,8 +207,10 @@
proc_create("execdomains", 0, NULL, &execdomains_proc_fops);
return 0;
}
---- a/kernel/irq/proc.c
-+++ b/kernel/irq/proc.c
+Index: linux-4.9.34/kernel/irq/proc.c
+===================================================================
+--- linux-4.9.34.orig/kernel/irq/proc.c
++++ linux-4.9.34/kernel/irq/proc.c
@@ -326,6 +326,9 @@ void register_irq_proc(unsigned int irq,
static DEFINE_MUTEX(register_lock);
char name [MAX_NAMELEN];
@@ -109,8 +241,10 @@
/* create /proc/irq */
root_irq_dir = proc_mkdir("irq", NULL);
if (!root_irq_dir)
---- a/kernel/time/timer_list.c
-+++ b/kernel/time/timer_list.c
+Index: linux-4.9.34/kernel/time/timer_list.c
+===================================================================
+--- linux-4.9.34.orig/kernel/time/timer_list.c
++++ linux-4.9.34/kernel/time/timer_list.c
@@ -393,6 +393,8 @@ static int __init init_timer_list_procfs
{
struct proc_dir_entry *pe;
@@ -120,9 +254,11 @@
pe = proc_create("timer_list", 0444, NULL, &timer_list_fops);
if (!pe)
return -ENOMEM;
---- a/mm/vmalloc.c
-+++ b/mm/vmalloc.c
-@@ -2713,6 +2713,8 @@ static const struct file_operations proc
+Index: linux-4.9.34/mm/vmalloc.c
+===================================================================
+--- linux-4.9.34.orig/mm/vmalloc.c
++++ linux-4.9.34/mm/vmalloc.c
+@@ -2703,6 +2703,8 @@ static const struct file_operations proc
static int __init proc_vmalloc_init(void)
{
@@ -131,8 +267,10 @@
proc_create("vmallocinfo", S_IRUSR, NULL, &proc_vmalloc_operations);
return 0;
}
---- a/mm/vmstat.c
-+++ b/mm/vmstat.c
+Index: linux-4.9.34/mm/vmstat.c
+===================================================================
+--- linux-4.9.34.orig/mm/vmstat.c
++++ linux-4.9.34/mm/vmstat.c
@@ -1791,10 +1791,12 @@ static int __init setup_vmstat(void)
cpu_notifier_register_done();
#endif
@@ -149,8 +287,10 @@
#endif
return 0;
}
---- a/net/8021q/vlanproc.c
-+++ b/net/8021q/vlanproc.c
+Index: linux-4.9.34/net/8021q/vlanproc.c
+===================================================================
+--- linux-4.9.34.orig/net/8021q/vlanproc.c
++++ linux-4.9.34/net/8021q/vlanproc.c
@@ -127,6 +127,9 @@ void vlan_proc_cleanup(struct net *net)
{
struct vlan_net *vn = net_generic(net, vlan_net_id);
@@ -171,8 +311,56 @@
vn->proc_vlan_dir = proc_net_mkdir(net, name_root, net->proc_net);
if (!vn->proc_vlan_dir)
goto err;
---- a/net/core/sock.c
-+++ b/net/core/sock.c
+Index: linux-4.9.34/net/core/net-procfs.c
+===================================================================
+--- linux-4.9.34.orig/net/core/net-procfs.c
++++ linux-4.9.34/net/core/net-procfs.c
+@@ -319,10 +319,12 @@ static int __net_init dev_proc_net_init(
+
+ if (!proc_create("dev", S_IRUGO, net->proc_net, &dev_seq_fops))
+ goto out;
+- if (!proc_create("softnet_stat", S_IRUGO, net->proc_net,
++ if (!IS_ENABLED(CONFIG_PROC_STRIPPED) &&
++ !proc_create("softnet_stat", S_IRUGO, net->proc_net,
+ &softnet_seq_fops))
+ goto out_dev;
+- if (!proc_create("ptype", S_IRUGO, net->proc_net, &ptype_seq_fops))
++ if (!IS_ENABLED(CONFIG_PROC_STRIPPED) &&
++ !proc_create("ptype", S_IRUGO, net->proc_net, &ptype_seq_fops))
+ goto out_softnet;
+
+ if (wext_proc_init(net))
+@@ -331,9 +333,11 @@ static int __net_init dev_proc_net_init(
+ out:
+ return rc;
+ out_ptype:
+- remove_proc_entry("ptype", net->proc_net);
++ if (!IS_ENABLED(CONFIG_PROC_STRIPPED))
++ remove_proc_entry("ptype", net->proc_net);
+ out_softnet:
+- remove_proc_entry("softnet_stat", net->proc_net);
++ if (!IS_ENABLED(CONFIG_PROC_STRIPPED))
++ remove_proc_entry("softnet_stat", net->proc_net);
+ out_dev:
+ remove_proc_entry("dev", net->proc_net);
+ goto out;
+@@ -343,8 +347,10 @@ static void __net_exit dev_proc_net_exit
+ {
+ wext_proc_exit(net);
+
+- remove_proc_entry("ptype", net->proc_net);
+- remove_proc_entry("softnet_stat", net->proc_net);
++ if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) {
++ remove_proc_entry("ptype", net->proc_net);
++ remove_proc_entry("softnet_stat", net->proc_net);
++ }
+ remove_proc_entry("dev", net->proc_net);
+ }
+
+Index: linux-4.9.34/net/core/sock.c
+===================================================================
+--- linux-4.9.34.orig/net/core/sock.c
++++ linux-4.9.34/net/core/sock.c
@@ -3082,6 +3082,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
@@ -182,8 +370,10 @@
return register_pernet_subsys(&proto_net_ops);
}
---- a/net/ipv4/fib_trie.c
-+++ b/net/ipv4/fib_trie.c
+Index: linux-4.9.34/net/ipv4/fib_trie.c
+===================================================================
+--- linux-4.9.34.orig/net/ipv4/fib_trie.c
++++ linux-4.9.34/net/ipv4/fib_trie.c
@@ -2667,10 +2667,12 @@ static const struct file_operations fib_
int __net_init fib_proc_init(struct net *net)
@@ -225,8 +415,10 @@
remove_proc_entry("route", net->proc_net);
}
---- a/net/ipv4/proc.c
-+++ b/net/ipv4/proc.c
+Index: linux-4.9.34/net/ipv4/proc.c
+===================================================================
+--- linux-4.9.34.orig/net/ipv4/proc.c
++++ linux-4.9.34/net/ipv4/proc.c
@@ -564,6 +564,9 @@ static __net_initdata struct pernet_oper
int __init ip_misc_proc_init(void)
@@ -237,8 +429,10 @@
return register_pernet_subsys(&ip_proc_ops);
}
---- a/net/ipv4/route.c
-+++ b/net/ipv4/route.c
+Index: linux-4.9.34/net/ipv4/route.c
+===================================================================
+--- linux-4.9.34.orig/net/ipv4/route.c
++++ linux-4.9.34/net/ipv4/route.c
@@ -420,6 +420,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void)
@@ -249,128 +443,3 @@
return register_pernet_subsys(&ip_rt_proc_ops);
}
---- a/ipc/msg.c
-+++ b/ipc/msg.c
-@@ -1058,6 +1058,9 @@ void __init msg_init(void)
- {
- msg_init_ns(&init_ipc_ns);
-
-+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
-+ return;
-+
- ipc_init_proc_interface("sysvipc/msg",
- " key msqid perms cbytes qnum lspid lrpid uid gid cuid cgid stime rtime ctime\n",
- IPC_MSG_IDS, sysvipc_msg_proc_show);
---- a/ipc/sem.c
-+++ b/ipc/sem.c
-@@ -205,6 +205,8 @@ void sem_exit_ns(struct ipc_namespace *n
- void __init sem_init(void)
- {
- sem_init_ns(&init_ipc_ns);
-+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
-+ return;
- ipc_init_proc_interface("sysvipc/sem",
- " key semid perms nsems uid gid cuid cgid otime ctime\n",
- IPC_SEM_IDS, sysvipc_sem_proc_show);
---- a/ipc/shm.c
-+++ b/ipc/shm.c
-@@ -118,6 +118,8 @@ pure_initcall(ipc_ns_init);
-
- void __init shm_init(void)
- {
-+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
-+ return;
- ipc_init_proc_interface("sysvipc/shm",
- #if BITS_PER_LONG <= 32
- " key shmid perms size cpid lpid nattch uid gid cuid cgid atime dtime ctime rss swap\n",
---- a/ipc/util.c
-+++ b/ipc/util.c
-@@ -121,6 +121,9 @@ void __init ipc_init_proc_interface(cons
- struct proc_dir_entry *pde;
- struct ipc_proc_iface *iface;
-
-+ if (IS_ENABLED(CONFIG_PROC_STRIPPED))
-+ return;
-+
- iface = kmalloc(sizeof(*iface), GFP_KERNEL);
- if (!iface)
- return;
---- a/net/core/net-procfs.c
-+++ b/net/core/net-procfs.c
-@@ -319,10 +319,12 @@ static int __net_init dev_proc_net_init(
-
- if (!proc_create("dev", S_IRUGO, net->proc_net, &dev_seq_fops))
- goto out;
-- if (!proc_create("softnet_stat", S_IRUGO, net->proc_net,
-+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED) &&
-+ !proc_create("softnet_stat", S_IRUGO, net->proc_net,
- &softnet_seq_fops))
- goto out_dev;
-- if (!proc_create("ptype", S_IRUGO, net->proc_net, &ptype_seq_fops))
-+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED) &&
-+ !proc_create("ptype", S_IRUGO, net->proc_net, &ptype_seq_fops))
- goto out_softnet;
-
- if (wext_proc_init(net))
-@@ -331,9 +333,11 @@ static int __net_init dev_proc_net_init(
- out:
- return rc;
- out_ptype:
-- remove_proc_entry("ptype", net->proc_net);
-+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED))
-+ remove_proc_entry("ptype", net->proc_net);
- out_softnet:
-- remove_proc_entry("softnet_stat", net->proc_net);
-+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED))
-+ remove_proc_entry("softnet_stat", net->proc_net);
- out_dev:
- remove_proc_entry("dev", net->proc_net);
- goto out;
-@@ -343,8 +347,10 @@ static void __net_exit dev_proc_net_exit
- {
- wext_proc_exit(net);
-
-- remove_proc_entry("ptype", net->proc_net);
-- remove_proc_entry("softnet_stat", net->proc_net);
-+ if (!IS_ENABLED(CONFIG_PROC_STRIPPED)) {
-+ remove_proc_entry("ptype", net->proc_net);
-+ remove_proc_entry("softnet_stat", net->proc_net);
-+ }
- remove_proc_entry("dev", net->proc_net);
- }
-
---- a/include/net/snmp.h
-+++ b/include/net/snmp.h
-@@ -123,6 +123,21 @@ struct linux_xfrm_mib {
- #define DECLARE_SNMP_STAT(type, name) \
- extern __typeof__(type) __percpu *name
-
-+#ifdef CONFIG_PROC_STRIPPED
-+#define __SNMP_STATS_DUMMY(mib) \
-+ do { (void) mib->mibs[0]; } while(0)
-+
-+#define __SNMP_INC_STATS(mib, field) __SNMP_STATS_DUMMY(mib)
-+#define SNMP_INC_STATS_ATOMIC_LONG(mib, field) __SNMP_STATS_DUMMY(mib)
-+#define SNMP_INC_STATS(mib, field) __SNMP_STATS_DUMMY(mib)
-+#define SNMP_DEC_STATS(mib, field) __SNMP_STATS_DUMMY(mib)
-+#define __SNMP_ADD_STATS(mib, field, addend) __SNMP_STATS_DUMMY(mib)
-+#define SNMP_ADD_STATS(mib, field, addend) __SNMP_STATS_DUMMY(mib)
-+#define SNMP_UPD_PO_STATS(mib, basefield, addend) __SNMP_STATS_DUMMY(mib)
-+#define __SNMP_UPD_PO_STATS(mib, basefield, addend) __SNMP_STATS_DUMMY(mib)
-+
-+#else
-+
- #define __SNMP_INC_STATS(mib, field) \
- __this_cpu_inc(mib->mibs[field])
-
-@@ -153,8 +168,9 @@ struct linux_xfrm_mib {
- __this_cpu_add(ptr[basefield##OCTETS], addend); \
- } while (0)
-
-+#endif
-
--#if BITS_PER_LONG==32
-+#if (BITS_PER_LONG==32) && !defined(CONFIG_PROC_STRIPPED)
-
- #define __SNMP_ADD_STATS64(mib, field, addend) \
- do { \
diff --git a/target/linux/generic/patches-4.9/904-debloat_dma_buf.patch b/target/linux/generic/hack-4.9/904-debloat_dma_buf.patch
index 25c9851c5b..947471ae78 100644
--- a/target/linux/generic/patches-4.9/904-debloat_dma_buf.patch
+++ b/target/linux/generic/hack-4.9/904-debloat_dma_buf.patch
@@ -1,3 +1,18 @@
+From e3692cb2fcd5ba1244512a0f43b8118f65f1c375 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 8 Jul 2017 08:20:43 +0200
+Subject: debloat: dmabuf
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/base/Kconfig | 2 +-
+ drivers/dma-buf/Makefile | 10 +++++++---
+ drivers/dma-buf/dma-buf.c | 4 +++-
+ kernel/sched/core.c | 1 +
+ 4 files changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
+index d02e7c0f5bfd..e1c0e2e0d3a8 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -241,7 +241,7 @@ config SOC_BUS
@@ -9,6 +24,8 @@
default n
select ANON_INODES
help
+diff --git a/drivers/dma-buf/Makefile b/drivers/dma-buf/Makefile
+index 210a10bfad2b..36ee68dcdffe 100644
--- a/drivers/dma-buf/Makefile
+++ b/drivers/dma-buf/Makefile
@@ -1,3 +1,7 @@
@@ -22,6 +39,8 @@
+dma-buf-objs-$(CONFIG_SW_SYNC) += sw_sync.o sync_debug.o
+
+dma-shared-buffer-objs := $(dma-buf-objs-y)
+diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
+index 6b54e02da10c..24e69ef1f243 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -34,6 +34,7 @@
@@ -39,9 +58,11 @@
-__exitcall(dma_buf_deinit);
+module_exit(dma_buf_deinit);
+MODULE_LICENSE("GPL");
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index 692c948ae333..eaf379285cca 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -2170,6 +2170,7 @@ int wake_up_state(struct task_struct *p,
+@@ -2170,6 +2170,7 @@ int wake_up_state(struct task_struct *p, unsigned int state)
{
return try_to_wake_up(p, state, 0);
}
@@ -49,3 +70,6 @@
/*
* This function clears the sched_dl_entity static params.
+--
+2.11.0
+
diff --git a/target/linux/generic/hack-4.9/910-kobject_uevent.patch b/target/linux/generic/hack-4.9/910-kobject_uevent.patch
new file mode 100644
index 0000000000..e0befdf171
--- /dev/null
+++ b/target/linux/generic/hack-4.9/910-kobject_uevent.patch
@@ -0,0 +1,36 @@
+From 0d37e6edc09c99e683dd91ca0e83bbc0df8477b3 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sun, 16 Jul 2017 16:56:10 +0200
+Subject: lib: add uevent_next_seqnum()
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/kobject.h | 5 +++++
+ lib/kobject_uevent.c | 37 +++++++++++++++++++++++++++++++++++++
+ 2 files changed, 42 insertions(+)
+
+diff --git a/include/linux/kobject.h b/include/linux/kobject.h
+--- a/lib/kobject_uevent.c
++++ b/lib/kobject_uevent.c
+@@ -52,6 +52,18 @@ static const char *kobject_actions[] = {
+ [KOBJ_OFFLINE] = "offline",
+ };
+
++u64 uevent_next_seqnum(void)
++{
++ u64 seq;
++
++ mutex_lock(&uevent_sock_mutex);
++ seq = ++uevent_seqnum;
++ mutex_unlock(&uevent_sock_mutex);
++
++ return seq;
++}
++EXPORT_SYMBOL_GPL(uevent_next_seqnum);
++
+ /**
+ * kobject_action_type - translate action string to numeric type
+ *--- a/include/linux/kobject.h
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/hack-4.9/911-kobject_add_broadcast_uevent.patch
index a3401ff4b3..e794be52bc 100644
--- a/target/linux/generic/patches-4.9/911-kobject_add_broadcast_uevent.patch
+++ b/target/linux/generic/hack-4.9/911-kobject_add_broadcast_uevent.patch
@@ -1,26 +1,41 @@
+From 0d37e6edc09c99e683dd91ca0e83bbc0df8477b3 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sun, 16 Jul 2017 16:56:10 +0200
+Subject: lib: add uevent_next_seqnum()
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/kobject.h | 5 +++++
+ lib/kobject_uevent.c | 37 +++++++++++++++++++++++++++++++++++++
+ 2 files changed, 42 insertions(+)
+
+diff --git a/include/linux/kobject.h b/include/linux/kobject.h
+index a7dc9e61f433..3d6950c957cd 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
-@@ -32,6 +32,8 @@
- #define UEVENT_NUM_ENVP 32 /* number of env pointers */
- #define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */
+@@ -34,6 +34,8 @@
+
+ struct sk_buff;
+struct sk_buff;
+
#ifdef CONFIG_UEVENT_HELPER
/* path to the userspace helper executed on an event */
extern char uevent_helper[];
-@@ -222,4 +224,7 @@ int add_uevent_var(struct kobj_uevent_en
- int kobject_action_type(const char *buf, size_t count,
- enum kobject_action *type);
+@@ -227,4 +229,7 @@ int kobject_action_type(const char *buf, size_t count,
+ int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group,
+ gfp_t allocation);
+int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group,
+ gfp_t allocation);
+
#endif /* _KOBJECT_H_ */
+diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
+index ac0c7cfa7292..bd13381a410f 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
-@@ -423,6 +423,43 @@ int add_uevent_var(struct kobj_uevent_en
- EXPORT_SYMBOL_GPL(add_uevent_var);
+@@ -460,6 +460,43 @@ int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group,
+ EXPORT_SYMBOL_GPL(broadcast_uevent);
#if defined(CONFIG_NET)
+int broadcast_uevent(struct sk_buff *skb, __u32 pid, __u32 group,
@@ -63,3 +78,6 @@
static int uevent_net_init(struct net *net)
{
struct uevent_sock *ue_sk;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/921-always-create-console-node-in-initramfs.patch b/target/linux/generic/hack-4.9/921-always-create-console-node-in-initramfs.patch
index 56f3fef902..7c306bf4ca 100644
--- a/target/linux/generic/patches-4.9/921-always-create-console-node-in-initramfs.patch
+++ b/target/linux/generic/hack-4.9/921-always-create-console-node-in-initramfs.patch
@@ -1,3 +1,15 @@
+From 5d301596fdc72f6cb672f72eb3c66e7cddefb103 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 8 Jul 2017 08:26:02 +0200
+Subject: initramfs: always create console node
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ scripts/gen_initramfs_list.sh | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
+index 7710113e6a72..b8d6cb30e054 100755
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -59,6 +59,18 @@ default_initramfs() {
@@ -28,3 +40,6 @@
echo "${dirlist}" | \
while read x; do
${dep_list}parse ${x}
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/930-crashlog.patch b/target/linux/generic/hack-4.9/930-crashlog.patch
index e904138435..dfff4c78e8 100644
--- a/target/linux/generic/patches-4.9/930-crashlog.patch
+++ b/target/linux/generic/hack-4.9/930-crashlog.patch
@@ -1,3 +1,27 @@
+From 6b1ab74a9917012d0c559edc4ed299d9228ac89f Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Sat, 8 Jul 2017 08:26:47 +0200
+Subject: kernel: add the new 'crashlog' feature
+
+this tries to store kernel oops/panic logs in a fixed location in RAM to
+recover them available to user space using debugfs
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/crashlog.h | 17 ++++
+ init/Kconfig | 4 +
+ kernel/Makefile | 1 +
+ kernel/crashlog.c | 213 +++++++++++++++++++++++++++++++++++++++++++++++
+ kernel/module.c | 3 +
+ mm/bootmem.c | 2 +
+ mm/memblock.c | 5 ++
+ 7 files changed, 245 insertions(+)
+ create mode 100644 include/linux/crashlog.h
+ create mode 100644 kernel/crashlog.c
+
+diff --git a/include/linux/crashlog.h b/include/linux/crashlog.h
+new file mode 100644
+index 000000000000..7a9ee6138cc4
--- /dev/null
+++ b/include/linux/crashlog.h
@@ -0,0 +1,17 @@
@@ -18,9 +42,11 @@
+#endif
+
+#endif
+diff --git a/init/Kconfig b/init/Kconfig
+index 9f2c0cabbc97..6d8f388fb9b3 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1308,6 +1308,10 @@ config RELAY
+@@ -1298,6 +1298,10 @@ config RELAY
If unsure, say N.
@@ -31,6 +57,8 @@
config BLK_DEV_INITRD
bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
depends on BROKEN || !FRV
+diff --git a/kernel/Makefile b/kernel/Makefile
+index 314e7d62f5f0..5fe0d8c3cb35 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -113,6 +113,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o
@@ -41,6 +69,9 @@
$(obj)/configs.o: $(obj)/config_data.h
+diff --git a/kernel/crashlog.c b/kernel/crashlog.c
+new file mode 100644
+index 000000000000..11894b276e54
--- /dev/null
+++ b/kernel/crashlog.c
@@ -0,0 +1,213 @@
@@ -257,9 +288,11 @@
+ return 0;
+}
+module_init(crashlog_init_fs);
+diff --git a/kernel/module.c b/kernel/module.c
+index 80b5ac4181c6..51d6e4e6f436 100644
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -253,6 +253,9 @@ static void mod_update_bounds(struct mod
+@@ -253,6 +253,9 @@ static void mod_update_bounds(struct module *mod)
#ifdef CONFIG_KGDB_KDB
struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */
#endif /* CONFIG_KGDB_KDB */
@@ -269,6 +302,28 @@
static void module_assert_mutex(void)
{
+diff --git a/mm/bootmem.c b/mm/bootmem.c
+index e8a55a3c9feb..e0f3c0bf2709 100644
+--- a/mm/bootmem.c
++++ b/mm/bootmem.c
+@@ -14,6 +14,7 @@
+ #include <linux/export.h>
+ #include <linux/kmemleak.h>
+ #include <linux/range.h>
++#include <linux/crashlog.h>
+ #include <linux/bug.h>
+ #include <linux/io.h>
+ #include <linux/bootmem.h>
+@@ -174,6 +175,7 @@ static unsigned long __init free_all_bootmem_core(bootmem_data_t *bdata)
+ if (!bdata->node_bootmem_map)
+ return 0;
+
++ crashlog_init_bootmem(bdata);
+ map = bdata->node_bootmem_map;
+ start = bdata->node_min_pfn;
+ end = bdata->node_low_pfn;
+diff --git a/mm/memblock.c b/mm/memblock.c
+index 68849d0ead09..aef9ca5e7f52 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -19,6 +19,7 @@
@@ -279,7 +334,7 @@
#include <asm/sections.h>
#include <linux/io.h>
-@@ -499,6 +500,8 @@ static void __init_memblock memblock_ins
+@@ -499,6 +500,8 @@ static void __init_memblock memblock_insert_region(struct memblock_type *type,
memblock_set_region_node(rgn, nid);
type->cnt++;
type->total_size += size;
@@ -288,7 +343,7 @@
}
/**
-@@ -538,6 +541,8 @@ int __init_memblock memblock_add_range(s
+@@ -538,6 +541,8 @@ int __init_memblock memblock_add_range(struct memblock_type *type,
type->regions[0].flags = flags;
memblock_set_region_node(&type->regions[0], nid);
type->total_size = size;
@@ -297,21 +352,6 @@
return 0;
}
repeat:
---- a/mm/bootmem.c
-+++ b/mm/bootmem.c
-@@ -14,6 +14,7 @@
- #include <linux/export.h>
- #include <linux/kmemleak.h>
- #include <linux/range.h>
-+#include <linux/crashlog.h>
- #include <linux/bug.h>
- #include <linux/io.h>
- #include <linux/bootmem.h>
-@@ -174,6 +175,7 @@ static unsigned long __init free_all_boo
- if (!bdata->node_bootmem_map)
- return 0;
-
-+ crashlog_init_bootmem(bdata);
- map = bdata->node_bootmem_map;
- start = bdata->node_min_pfn;
- end = bdata->node_low_pfn;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/200-fix_localversion.patch b/target/linux/generic/patches-4.9/200-fix_localversion.patch
deleted file mode 100644
index 70228bb5f4..0000000000
--- a/target/linux/generic/patches-4.9/200-fix_localversion.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/scripts/setlocalversion
-+++ b/scripts/setlocalversion
-@@ -165,7 +165,7 @@ else
- # annotated or signed tagged state (as git describe only
- # looks at signed or annotated tags - git tag -a/-s) and
- # LOCALVERSION= is not specified
-- if test "${LOCALVERSION+set}" != "set"; then
-+ if test "${CONFIG_LOCALVERSION+set}" != "set"; then
- scm=$(scm_version --short)
- res="$res${scm:++}"
- fi
diff --git a/target/linux/generic/patches-4.9/201-extra_optimization.patch b/target/linux/generic/patches-4.9/201-extra_optimization.patch
deleted file mode 100644
index d26461746b..0000000000
--- a/target/linux/generic/patches-4.9/201-extra_optimization.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -639,12 +639,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata
- endif
-
- ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
--KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
-+KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
- else
- ifdef CONFIG_PROFILE_ALL_BRANCHES
--KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,)
-+KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
- else
--KBUILD_CFLAGS += -O2
-+KBUILD_CFLAGS += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
- endif
- endif
-
diff --git a/target/linux/generic/patches-4.9/202-reduce_module_size.patch b/target/linux/generic/patches-4.9/202-reduce_module_size.patch
deleted file mode 100644
index 7ea3558297..0000000000
--- a/target/linux/generic/patches-4.9/202-reduce_module_size.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -407,7 +407,7 @@ KBUILD_CFLAGS_KERNEL :=
- KBUILD_AFLAGS := -D__ASSEMBLY__ $(call cc-option,-fno-PIE)
- KBUILD_AFLAGS_MODULE := -DMODULE
- KBUILD_CFLAGS_MODULE := -DMODULE
--KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
-+KBUILD_LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds $(if $(CONFIG_PROFILING),,-s)
-
- # Read KERNELRELEASE from include/config/kernel.release (if it exists)
- KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
diff --git a/target/linux/generic/patches-4.9/211-host_tools_portability.patch b/target/linux/generic/patches-4.9/211-host_tools_portability.patch
deleted file mode 100644
index 73fd50d6f4..0000000000
--- a/target/linux/generic/patches-4.9/211-host_tools_portability.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/tools/perf/pmu-events/jevents.c
-+++ b/tools/perf/pmu-events/jevents.c
-@@ -35,6 +35,7 @@
- #include <stdlib.h>
- #include <errno.h>
- #include <string.h>
-+#include <strings.h>
- #include <ctype.h>
- #include <unistd.h>
- #include <stdarg.h>
---- a/tools/perf/pmu-events/json.c
-+++ b/tools/perf/pmu-events/json.c
-@@ -38,7 +38,6 @@
- #include <unistd.h>
- #include "jsmn.h"
- #include "json.h"
--#include <linux/kernel.h>
-
-
- static char *mapfile(const char *fn, size_t *size)
---- a/tools/build/Build.include
-+++ b/tools/build/Build.include
-@@ -95,4 +95,4 @@ cxx_flags = -Wp,-MD,$(depfile),-MT,$@ $(
- ###
- ## HOSTCC C flags
-
--host_c_flags = -Wp,-MD,$(depfile),-MT,$@ $(CHOSTFLAGS) -D"BUILD_STR(s)=\#s" $(CHOSTFLAGS_$(basetarget).o) $(CHOSTFLAGS_$(obj))
-+host_c_flags = -MD -MF $(depfile) -MT $@ $(CHOSTFLAGS) -D"BUILD_STR(s)=\#s" $(CHOSTFLAGS_$(basetarget).o) $(CHOSTFLAGS_$(obj))
diff --git a/target/linux/generic/patches-4.9/214-spidev_h_portability.patch b/target/linux/generic/patches-4.9/214-spidev_h_portability.patch
deleted file mode 100644
index dbee090547..0000000000
--- a/target/linux/generic/patches-4.9/214-spidev_h_portability.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/include/uapi/linux/spi/spidev.h
-+++ b/include/uapi/linux/spi/spidev.h
-@@ -111,7 +111,7 @@ struct spi_ioc_transfer {
-
- /* not all platforms use <asm-generic/ioctl.h> or _IOC_TYPECHECK() ... */
- #define SPI_MSGSIZE(N) \
-- ((((N)*(sizeof (struct spi_ioc_transfer))) < (1 << _IOC_SIZEBITS)) \
-+ ((((N)*(sizeof (struct spi_ioc_transfer))) < (1 << 13)) \
- ? ((N)*(sizeof (struct spi_ioc_transfer))) : 0)
- #define SPI_IOC_MESSAGE(N) _IOW(SPI_IOC_MAGIC, 0, char[SPI_MSGSIZE(N)])
-
diff --git a/target/linux/generic/patches-4.9/222-arm_zimage_none.patch b/target/linux/generic/patches-4.9/222-arm_zimage_none.patch
deleted file mode 100644
index 8de9851e09..0000000000
--- a/target/linux/generic/patches-4.9/222-arm_zimage_none.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-ARM: implement "uncompressed zImage"
-
-Based on RFC patch by Uwe Kleine-König
-http://www.spinics.net/lists/arm-kernel/msg230153.html
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
---- a/arch/arm/boot/compressed/Makefile
-+++ b/arch/arm/boot/compressed/Makefile
-@@ -71,6 +71,7 @@ compress-$(CONFIG_KERNEL_LZO) = lzo
- compress-$(CONFIG_KERNEL_LZMA) = lzma
- compress-$(CONFIG_KERNEL_XZ) = xzkern
- compress-$(CONFIG_KERNEL_LZ4) = lz4
-+compress-$(CONFIG_KERNEL_CAT) = cat
-
- # Borrowed libfdt files for the ATAG compatibility mode
-
---- a/arch/arm/boot/compressed/decompress.c
-+++ b/arch/arm/boot/compressed/decompress.c
-@@ -55,6 +55,10 @@ extern char * strstr(const char * s1, co
- #include "../../../../lib/decompress_unlz4.c"
- #endif
-
-+#ifdef CONFIG_KERNEL_CAT
-+#include "../../../../lib/decompress_uncat.c"
-+#endif
-+
- int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x))
- {
- return __decompress(input, len, NULL, NULL, output, 0, NULL, error);
---- /dev/null
-+++ b/arch/arm/boot/compressed/piggy.cat.S
-@@ -0,0 +1,6 @@
-+ .section .piggydata,#alloc
-+ .globl input_data
-+input_data:
-+ .incbin "arch/arm/boot/compressed/piggy.cat"
-+ .globl input_data_end
-+input_data_end:
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -127,6 +127,9 @@ config HAVE_KERNEL_LZO
- config HAVE_KERNEL_LZ4
- bool
-
-+config HAVE_KERNEL_CAT
-+ bool
-+
- choice
- prompt "Kernel compression mode"
- default KERNEL_GZIP
-@@ -193,9 +196,10 @@ config KERNEL_LZO
- bool "LZO"
- depends on HAVE_KERNEL_LZO
- help
-- Its compression ratio is the poorest among the choices. The kernel
-- size is about 10% bigger than gzip; however its speed
-- (both compression and decompression) is the fastest.
-+ Its compression ratio is the poorest among the choices (apart from
-+ uncompressed below). The kernel size is about 10% bigger than gzip;
-+ however its speed (both compression and decompression) is the
-+ fastest.
-
- config KERNEL_LZ4
- bool "LZ4"
-@@ -209,6 +213,12 @@ config KERNEL_LZ4
- is about 8% bigger than LZO. But the decompression speed is
- faster than LZO.
-
-+config KERNEL_CAT
-+ bool "uncompressed"
-+ depends on HAVE_KERNEL_CAT
-+ help
-+ Don't use compression at all.
-+
- endchoice
-
- config DEFAULT_HOSTNAME
---- /dev/null
-+++ b/lib/decompress_uncat.c
-@@ -0,0 +1,17 @@
-+#include <linux/types.h>
-+#include <linux/compiler.h>
-+
-+#ifdef STATIC
-+
-+STATIC int __decompress(unsigned char *buf, long in_len,
-+ long (*fill)(void*, unsigned long),
-+ long (*flush)(void*, unsigned long),
-+ unsigned char *output, long out_len,
-+ long *posp,
-+ void (*error)(char *x))
-+{
-+ memmove(output, buf, in_len);
-+ return 0;
-+}
-+
-+#endif
---- a/scripts/Makefile.lib
-+++ b/scripts/Makefile.lib
-@@ -357,6 +357,13 @@ cmd_lz4 = (cat $(filter-out FORCE,$^) |
- lz4c -l -c1 stdin stdout && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
- (rm -f $@ ; false)
-
-+# uncompressed
-+# ---------------------------------------------------------------------------
-+quiet_cmd_cat = CAT $@
-+cmd_cat = (cat $(filter-out FORCE,$^) \
-+ && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
-+ (rm -f $@ ; false)
-+
- # U-Boot mkimage
- # ---------------------------------------------------------------------------
-
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -65,6 +65,7 @@ config ARM
- select HAVE_KERNEL_LZMA
- select HAVE_KERNEL_LZO
- select HAVE_KERNEL_XZ
-+ select HAVE_KERNEL_CAT
- select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
- select HAVE_KRETPROBES if (HAVE_KPROBES)
- select HAVE_MEMBLOCK
diff --git a/target/linux/generic/patches-4.9/251-sound_kconfig.patch b/target/linux/generic/patches-4.9/251-sound_kconfig.patch
deleted file mode 100644
index e8f6c02035..0000000000
--- a/target/linux/generic/patches-4.9/251-sound_kconfig.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/sound/core/Kconfig
-+++ b/sound/core/Kconfig
-@@ -16,13 +16,13 @@ config SND_DMAENGINE_PCM
- tristate
-
- config SND_HWDEP
-- tristate
-+ tristate "Sound hardware support"
-
- config SND_RAWMIDI
- tristate
-
- config SND_COMPRESS_OFFLOAD
-- tristate
-+ tristate "Compression offloading support"
-
- config SND_JACK
- bool
diff --git a/target/linux/generic/patches-4.9/252-mv_cesa_depends.patch b/target/linux/generic/patches-4.9/252-mv_cesa_depends.patch
deleted file mode 100644
index 1b261e4f82..0000000000
--- a/target/linux/generic/patches-4.9/252-mv_cesa_depends.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/drivers/crypto/Kconfig
-+++ b/drivers/crypto/Kconfig
-@@ -176,6 +176,7 @@ config CRYPTO_DEV_MV_CESA
- tristate "Marvell's Cryptographic Engine"
- depends on PLAT_ORION
- select CRYPTO_AES
-+ select CRYPTO_HASH2
- select CRYPTO_BLKCIPHER
- select CRYPTO_HASH
- select SRAM
diff --git a/target/linux/generic/patches-4.9/253-ssb_b43_default_on.patch b/target/linux/generic/patches-4.9/253-ssb_b43_default_on.patch
deleted file mode 100644
index 29d2a41a3b..0000000000
--- a/target/linux/generic/patches-4.9/253-ssb_b43_default_on.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/drivers/ssb/Kconfig
-+++ b/drivers/ssb/Kconfig
-@@ -29,6 +29,7 @@ config SSB_SPROM
- config SSB_BLOCKIO
- bool
- depends on SSB
-+ default y
-
- config SSB_PCIHOST_POSSIBLE
- bool
-@@ -49,7 +50,7 @@ config SSB_PCIHOST
- config SSB_B43_PCI_BRIDGE
- bool
- depends on SSB_PCIHOST
-- default n
-+ default y
-
- config SSB_PCMCIAHOST_POSSIBLE
- bool
---- a/drivers/bcma/Kconfig
-+++ b/drivers/bcma/Kconfig
-@@ -17,6 +17,7 @@ config BCMA
- config BCMA_BLOCKIO
- bool
- depends on BCMA
-+ default y
-
- config BCMA_HOST_PCI_POSSIBLE
- bool
diff --git a/target/linux/generic/patches-4.9/254-textsearch_kconfig_hacks.patch b/target/linux/generic/patches-4.9/254-textsearch_kconfig_hacks.patch
deleted file mode 100644
index 12cedbed15..0000000000
--- a/target/linux/generic/patches-4.9/254-textsearch_kconfig_hacks.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/lib/Kconfig
-+++ b/lib/Kconfig
-@@ -334,16 +334,16 @@ config BCH_CONST_T
- # Textsearch support is select'ed if needed
- #
- config TEXTSEARCH
-- bool
-+ boolean "Textsearch support"
-
- config TEXTSEARCH_KMP
-- tristate
-+ tristate "Textsearch KMP"
-
- config TEXTSEARCH_BM
-- tristate
-+ tristate "Textsearch BM"
-
- config TEXTSEARCH_FSM
-- tristate
-+ tristate "Textsearch FSM"
-
- config BTREE
- bool
diff --git a/target/linux/generic/patches-4.9/255-lib80211_kconfig_hacks.patch b/target/linux/generic/patches-4.9/255-lib80211_kconfig_hacks.patch
deleted file mode 100644
index 07b185ed68..0000000000
--- a/target/linux/generic/patches-4.9/255-lib80211_kconfig_hacks.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/net/wireless/Kconfig
-+++ b/net/wireless/Kconfig
-@@ -188,7 +188,7 @@ config CFG80211_WEXT_EXPORT
- wext compatibility symbols to be exported.
-
- config LIB80211
-- tristate
-+ tristate "LIB80211"
- default n
- help
- This options enables a library of common routines used
-@@ -197,13 +197,16 @@ config LIB80211
- Drivers should select this themselves if needed.
-
- config LIB80211_CRYPT_WEP
-- tristate
-+ tristate "LIB80211_CRYPT_WEP"
-+ select LIB80211
-
- config LIB80211_CRYPT_CCMP
-- tristate
-+ tristate "LIB80211_CRYPT_CCMP"
-+ select LIB80211
-
- config LIB80211_CRYPT_TKIP
-- tristate
-+ tristate "LIB80211_CRYPT_TKIP"
-+ select LIB80211
-
- config LIB80211_DEBUG
- bool "lib80211 debugging messages"
diff --git a/target/linux/generic/patches-4.9/256-crypto_add_kconfig_prompts.patch b/target/linux/generic/patches-4.9/256-crypto_add_kconfig_prompts.patch
deleted file mode 100644
index fb5d5dc4b4..0000000000
--- a/target/linux/generic/patches-4.9/256-crypto_add_kconfig_prompts.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- a/crypto/Kconfig
-+++ b/crypto/Kconfig
-@@ -32,7 +32,7 @@ config CRYPTO_FIPS
- this is.
-
- config CRYPTO_ALGAPI
-- tristate
-+ tristate "ALGAPI"
- select CRYPTO_ALGAPI2
- help
- This option provides the API for cryptographic algorithms.
-@@ -41,7 +41,7 @@ config CRYPTO_ALGAPI2
- tristate
-
- config CRYPTO_AEAD
-- tristate
-+ tristate "AEAD"
- select CRYPTO_AEAD2
- select CRYPTO_ALGAPI
-
-@@ -52,7 +52,7 @@ config CRYPTO_AEAD2
- select CRYPTO_RNG2
-
- config CRYPTO_BLKCIPHER
-- tristate
-+ tristate "BLKCIPHER"
- select CRYPTO_BLKCIPHER2
- select CRYPTO_ALGAPI
-
-@@ -63,7 +63,7 @@ config CRYPTO_BLKCIPHER2
- select CRYPTO_WORKQUEUE
-
- config CRYPTO_HASH
-- tristate
-+ tristate "HASH"
- select CRYPTO_HASH2
- select CRYPTO_ALGAPI
-
-@@ -72,7 +72,7 @@ config CRYPTO_HASH2
- select CRYPTO_ALGAPI2
-
- config CRYPTO_RNG
-- tristate
-+ tristate "RNG"
- select CRYPTO_RNG2
- select CRYPTO_ALGAPI
-
diff --git a/target/linux/generic/patches-4.9/257-wireless_ext_kconfig_hack.patch b/target/linux/generic/patches-4.9/257-wireless_ext_kconfig_hack.patch
deleted file mode 100644
index daac5898ae..0000000000
--- a/target/linux/generic/patches-4.9/257-wireless_ext_kconfig_hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/net/wireless/Kconfig
-+++ b/net/wireless/Kconfig
-@@ -1,5 +1,5 @@
- config WIRELESS_EXT
-- bool
-+ bool "Wireless extensions"
-
- config WEXT_CORE
- def_bool y
-@@ -11,10 +11,10 @@ config WEXT_PROC
- depends on WEXT_CORE
-
- config WEXT_SPY
-- bool
-+ bool "WEXT_SPY"
-
- config WEXT_PRIV
-- bool
-+ bool "WEXT_PRIV"
-
- config CFG80211
- tristate "cfg80211 - wireless configuration API"
diff --git a/target/linux/generic/patches-4.9/258-netfilter_netlink_kconfig_hack.patch b/target/linux/generic/patches-4.9/258-netfilter_netlink_kconfig_hack.patch
deleted file mode 100644
index 4206c9a74a..0000000000
--- a/target/linux/generic/patches-4.9/258-netfilter_netlink_kconfig_hack.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/net/netfilter/Kconfig
-+++ b/net/netfilter/Kconfig
-@@ -10,7 +10,7 @@ config NETFILTER_INGRESS
- infrastructure.
-
- config NETFILTER_NETLINK
-- tristate
-+ tristate "Netfilter NFNETLINK interface"
-
- config NETFILTER_NETLINK_ACCT
- tristate "Netfilter NFACCT over NFNETLINK interface"
diff --git a/target/linux/generic/patches-4.9/261-enable_wilink_platform_without_drivers.patch b/target/linux/generic/patches-4.9/261-enable_wilink_platform_without_drivers.patch
deleted file mode 100644
index 597e324d1c..0000000000
--- a/target/linux/generic/patches-4.9/261-enable_wilink_platform_without_drivers.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-We use backports for driver updates - make sure we can compile in the glue code regardless
-
-Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
-
---- a/drivers/net/wireless/ti/Kconfig
-+++ b/drivers/net/wireless/ti/Kconfig
-@@ -19,7 +19,7 @@ source "drivers/net/wireless/ti/wlcore/K
-
- config WILINK_PLATFORM_DATA
- bool "TI WiLink platform data"
-- depends on WLCORE_SDIO || WL1251_SDIO
-+ depends on WLCORE_SDIO || WL1251_SDIO || ARCH_OMAP2PLUS
- default y
- ---help---
- Small platform data bit needed to pass data to the sdio modules.
diff --git a/target/linux/generic/patches-4.9/301-mips_image_cmdline_hack.patch b/target/linux/generic/patches-4.9/301-mips_image_cmdline_hack.patch
deleted file mode 100644
index c2927f0aff..0000000000
--- a/target/linux/generic/patches-4.9/301-mips_image_cmdline_hack.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -1150,6 +1150,10 @@ config SYNC_R4K
- config MIPS_MACHINE
- def_bool n
-
-+config IMAGE_CMDLINE_HACK
-+ bool "OpenWrt specific image command line hack"
-+ default n
-+
- config NO_IOPORT_MAP
- def_bool n
-
---- a/arch/mips/kernel/head.S
-+++ b/arch/mips/kernel/head.S
-@@ -79,6 +79,12 @@ FEXPORT(__kernel_entry)
- j kernel_entry
- #endif
-
-+#ifdef CONFIG_IMAGE_CMDLINE_HACK
-+ .ascii "CMDLINE:"
-+EXPORT(__image_cmdline)
-+ .fill 0x400
-+#endif /* CONFIG_IMAGE_CMDLINE_HACK */
-+
- __REF
-
- NESTED(kernel_entry, 16, sp) # kernel entry point
diff --git a/target/linux/generic/patches-4.9/302-mips_no_branch_likely.patch b/target/linux/generic/patches-4.9/302-mips_no_branch_likely.patch
deleted file mode 100644
index 82b75adc3f..0000000000
--- a/target/linux/generic/patches-4.9/302-mips_no_branch_likely.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/arch/mips/Makefile
-+++ b/arch/mips/Makefile
-@@ -90,7 +90,7 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
- # machines may also. Since BFD is incredibly buggy with respect to
- # crossformat linking we rely on the elf2ecoff tool for format conversion.
- #
--cflags-y += -G 0 -mno-abicalls -fno-pic -pipe
-+cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
- cflags-y += -msoft-float
- LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
- KBUILD_AFLAGS_MODULE += -mlong-calls
diff --git a/target/linux/generic/patches-4.9/307-mips_highmem_offset.patch b/target/linux/generic/patches-4.9/307-mips_highmem_offset.patch
deleted file mode 100644
index d3425d6b2d..0000000000
--- a/target/linux/generic/patches-4.9/307-mips_highmem_offset.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Adjust highmem offset to 0x10000000 to ensure that all kmalloc allocations
-stay within the same 256M boundary. This ensures that -mlong-calls is not
-needed on systems with more than 256M RAM.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
---- a/arch/mips/include/asm/mach-generic/spaces.h
-+++ b/arch/mips/include/asm/mach-generic/spaces.h
-@@ -46,7 +46,7 @@
- * Memory above this physical address will be considered highmem.
- */
- #ifndef HIGHMEM_START
--#define HIGHMEM_START _AC(0x20000000, UL)
-+#define HIGHMEM_START _AC(0x10000000, UL)
- #endif
-
- #endif /* CONFIG_32BIT */
diff --git a/target/linux/generic/patches-4.9/310-arm_module_unresolved_weak_sym.patch b/target/linux/generic/patches-4.9/310-arm_module_unresolved_weak_sym.patch
deleted file mode 100644
index 327a475208..0000000000
--- a/target/linux/generic/patches-4.9/310-arm_module_unresolved_weak_sym.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/arch/arm/kernel/module.c
-+++ b/arch/arm/kernel/module.c
-@@ -88,6 +88,10 @@ apply_relocate(Elf32_Shdr *sechdrs, cons
- return -ENOEXEC;
- }
-
-+ if ((IS_ERR_VALUE(sym->st_value) || !sym->st_value) &&
-+ ELF_ST_BIND(sym->st_info) == STB_WEAK)
-+ continue;
-+
- loc = dstsec->sh_addr + rel->r_offset;
-
- switch (ELF32_R_TYPE(rel->r_info)) {
diff --git a/target/linux/generic/patches-4.9/321-powerpc_crtsavres_prereq.patch b/target/linux/generic/patches-4.9/321-powerpc_crtsavres_prereq.patch
deleted file mode 100644
index d25c695994..0000000000
--- a/target/linux/generic/patches-4.9/321-powerpc_crtsavres_prereq.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/arch/powerpc/Makefile
-+++ b/arch/powerpc/Makefile
-@@ -179,7 +179,6 @@ else
- CHECKFLAGS += -D__LITTLE_ENDIAN__
- endif
-
--KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
-
- ifeq ($(CONFIG_476FPE_ERR46),y)
- KBUILD_LDFLAGS_MODULE += --ppc476-workaround \
diff --git a/target/linux/generic/patches-4.9/410-mtd-move-forward-declaration-of-struct-mtd_info.patch b/target/linux/generic/patches-4.9/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
deleted file mode 100644
index 7c927359cf..0000000000
--- a/target/linux/generic/patches-4.9/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/include/linux/mtd/partitions.h
-+++ b/include/linux/mtd/partitions.h
-@@ -41,6 +41,7 @@
- * Note: writeable partitions require their size and offset be
- * erasesize aligned (e.g. use MTDPART_OFS_NEXTBLK).
- */
-+struct mtd_info;
-
- struct mtd_partition {
- const char *name; /* identifier string */
-@@ -57,7 +58,6 @@ struct mtd_partition {
- #define MTDPART_SIZ_FULL (0)
-
-
--struct mtd_info;
- struct device_node;
-
- /**
diff --git a/target/linux/generic/patches-4.9/412-mtd-partial_eraseblock_unlock.patch b/target/linux/generic/patches-4.9/412-mtd-partial_eraseblock_unlock.patch
deleted file mode 100644
index da4a902ffa..0000000000
--- a/target/linux/generic/patches-4.9/412-mtd-partial_eraseblock_unlock.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/drivers/mtd/mtdpart.c
-+++ b/drivers/mtd/mtdpart.c
-@@ -343,7 +343,16 @@ static int part_lock(struct mtd_info *mt
- static int part_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
- {
- struct mtd_part *part = mtd_to_part(mtd);
-- return part->parent->_unlock(part->parent, ofs + part->offset, len);
-+
-+ ofs += part->offset;
-+
-+ if (mtd->flags & MTD_ERASE_PARTIAL) {
-+ /* round up len to next erasesize and round down offset to prev block */
-+ len = (mtd_div_by_eb(len, part->parent) + 1) * part->parent->erasesize;
-+ ofs &= ~(part->parent->erasesize - 1);
-+ }
-+
-+ return part->parent->_unlock(part->parent, ofs, len);
- }
-
- static int part_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
diff --git a/target/linux/generic/patches-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/patches-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
deleted file mode 100644
index b87ae909cb..0000000000
--- a/target/linux/generic/patches-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -807,7 +807,7 @@ static int get_chip(struct map_info *map
- return 0;
-
- case FL_ERASING:
-- if (!cfip || !(cfip->EraseSuspend & (0x1|0x2)) ||
-+ if (1 /* no suspend */ || !cfip || !(cfip->EraseSuspend & (0x1|0x2)) ||
- !(mode == FL_READY || mode == FL_POINT ||
- (mode == FL_WRITING && (cfip->EraseSuspend & 0x2))))
- goto sleep;
diff --git a/target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch
deleted file mode 100644
index 16bdfb30fd..0000000000
--- a/target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Disable software protection bits for Macronix flashes.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
---- a/drivers/mtd/spi-nor/spi-nor.c
-+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1595,6 +1595,7 @@ int spi_nor_scan(struct spi_nor *nor, co
-
- if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
- JEDEC_MFR(info) == SNOR_MFR_INTEL ||
-+ JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
- JEDEC_MFR(info) == SNOR_MFR_SST ||
- info->flags & SPI_NOR_HAS_LOCK) {
- write_enable(nor);
diff --git a/target/linux/generic/patches-4.9/616-net_optimize_xfrm_calls.patch b/target/linux/generic/patches-4.9/616-net_optimize_xfrm_calls.patch
deleted file mode 100644
index adef94f86f..0000000000
--- a/target/linux/generic/patches-4.9/616-net_optimize_xfrm_calls.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/net/netfilter/nf_nat_core.c
-+++ b/net/netfilter/nf_nat_core.c
-@@ -95,6 +95,9 @@ int nf_xfrm_me_harder(struct net *net, s
- struct dst_entry *dst;
- int err;
-
-+ if (skb->dev && !dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT])
-+ return 0;
-+
- err = xfrm_decode_session(skb, &fl, family);
- if (err < 0)
- return err;
diff --git a/target/linux/generic/patches-4.9/650-pppoe_header_pad.patch b/target/linux/generic/patches-4.9/650-pppoe_header_pad.patch
deleted file mode 100644
index ea717dacb7..0000000000
--- a/target/linux/generic/patches-4.9/650-pppoe_header_pad.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/drivers/net/ppp/pppoe.c
-+++ b/drivers/net/ppp/pppoe.c
-@@ -861,7 +861,7 @@ static int pppoe_sendmsg(struct socket *
- goto end;
-
-
-- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
-+ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
- 0, GFP_KERNEL);
- if (!skb) {
- error = -ENOMEM;
-@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct socket *
- }
-
- /* Reserve space for headers. */
-- skb_reserve(skb, dev->hard_header_len);
-+ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
- skb_reset_network_header(skb);
-
- skb->dev = dev;
diff --git a/target/linux/generic/patches-4.9/651-wireless_mesh_header.patch b/target/linux/generic/patches-4.9/651-wireless_mesh_header.patch
deleted file mode 100644
index 1f3aead97c..0000000000
--- a/target/linux/generic/patches-4.9/651-wireless_mesh_header.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/include/linux/netdevice.h
-+++ b/include/linux/netdevice.h
-@@ -137,8 +137,8 @@ static inline bool dev_xmit_complete(int
-
- #if defined(CONFIG_HYPERV_NET)
- # define LL_MAX_HEADER 128
--#elif defined(CONFIG_WLAN) || IS_ENABLED(CONFIG_AX25)
--# if defined(CONFIG_MAC80211_MESH)
-+#elif defined(CONFIG_WLAN) || IS_ENABLED(CONFIG_AX25) || 1
-+# if defined(CONFIG_MAC80211_MESH) || 1
- # define LL_MAX_HEADER 128
- # else
- # define LL_MAX_HEADER 96
diff --git a/target/linux/generic/patches-4.9/655-increase_skb_pad.patch b/target/linux/generic/patches-4.9/655-increase_skb_pad.patch
deleted file mode 100644
index bad824c486..0000000000
--- a/target/linux/generic/patches-4.9/655-increase_skb_pad.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/include/linux/skbuff.h
-+++ b/include/linux/skbuff.h
-@@ -2298,7 +2298,7 @@ static inline int pskb_network_may_pull(
- * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
- */
- #ifndef NET_SKB_PAD
--#define NET_SKB_PAD max(32, L1_CACHE_BYTES)
-+#define NET_SKB_PAD max(64, L1_CACHE_BYTES)
- #endif
-
- int ___pskb_trim(struct sk_buff *skb, unsigned int len);
diff --git a/target/linux/generic/patches-4.9/660-fq_codel_defaults.patch b/target/linux/generic/patches-4.9/660-fq_codel_defaults.patch
deleted file mode 100644
index b5b7562d8c..0000000000
--- a/target/linux/generic/patches-4.9/660-fq_codel_defaults.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/net/sched/sch_fq_codel.c
-+++ b/net/sched/sch_fq_codel.c
-@@ -479,7 +479,7 @@ static int fq_codel_init(struct Qdisc *s
-
- sch->limit = 10*1024;
- q->flows_cnt = 1024;
-- q->memory_limit = 32 << 20; /* 32 MBytes */
-+ q->memory_limit = 4 << 20; /* 4 MBytes */
- q->drop_batch_size = 64;
- q->quantum = psched_mtu(qdisc_dev(sch));
- q->perturbation = prandom_u32();
diff --git a/target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch b/target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch
deleted file mode 100644
index 5c0c22e253..0000000000
--- a/target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/include/linux/phy.h
-+++ b/include/linux/phy.h
-@@ -499,6 +499,12 @@ struct phy_driver {
- /* Determines the negotiated speed and duplex */
- int (*read_status)(struct phy_device *phydev);
-
-+ /*
-+ * Update the value in phydev->link to reflect the
-+ * current link value
-+ */
-+ int (*update_link)(struct phy_device *phydev);
-+
- /* Clears any pending interrupts */
- int (*ack_interrupt)(struct phy_device *phydev);
-
---- a/drivers/net/phy/phy_device.c
-+++ b/drivers/net/phy/phy_device.c
-@@ -1309,6 +1309,9 @@ int genphy_update_link(struct phy_device
- {
- int status;
-
-+ if (phydev->drv && phydev->drv->update_link)
-+ return phydev->drv->update_link(phydev);
-+
- /* Do a fake read */
- status = phy_read(phydev, MII_BMSR);
- if (status < 0)
diff --git a/target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch
deleted file mode 100644
index c85937d21a..0000000000
--- a/target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/drivers/net/phy/phy_device.c
-+++ b/drivers/net/phy/phy_device.c
-@@ -1001,6 +1001,9 @@ void phy_detach(struct phy_device *phyde
- struct mii_bus *bus;
- int i;
-
-+ if (phydev->drv && phydev->drv->detach)
-+ phydev->drv->detach(phydev);
-+
- phydev->attached_dev->phydev = NULL;
- phydev->attached_dev = NULL;
- phy_suspend(phydev);
---- a/include/linux/phy.h
-+++ b/include/linux/phy.h
-@@ -517,6 +517,12 @@ struct phy_driver {
- */
- int (*did_interrupt)(struct phy_device *phydev);
-
-+ /*
-+ * Called before an ethernet device is detached
-+ * from the PHY.
-+ */
-+ void (*detach)(struct phy_device *phydev);
-+
- /* Clears up any memory if needed */
- void (*remove)(struct phy_device *phydev);
-
diff --git a/target/linux/generic/patches-4.9/831-ledtrig_netdev.patch b/target/linux/generic/patches-4.9/831-ledtrig_netdev.patch
deleted file mode 100644
index 8422aa3716..0000000000
--- a/target/linux/generic/patches-4.9/831-ledtrig_netdev.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/drivers/leds/trigger/Kconfig
-+++ b/drivers/leds/trigger/Kconfig
-@@ -126,4 +126,11 @@ config LEDS_TRIGGER_PANIC
- a different trigger.
- If unsure, say Y.
-
-+config LEDS_TRIGGER_NETDEV
-+ tristate "LED Netdev Trigger"
-+ depends on NET && LEDS_TRIGGERS
-+ help
-+ This allows LEDs to be controlled by network device activity.
-+ If unsure, say Y.
-+
- endif # LEDS_TRIGGERS
---- a/drivers/leds/Makefile
-+++ b/drivers/leds/Makefile
-@@ -77,3 +77,4 @@ obj-$(CONFIG_LEDS_DAC124S085) += leds-d
-
- # LED Triggers
- obj-$(CONFIG_LEDS_TRIGGERS) += trigger/
-+obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o
diff --git a/target/linux/generic/patches-4.9/835-misc-owl_loader.patch b/target/linux/generic/patches-4.9/835-misc-owl_loader.patch
deleted file mode 100644
index 4f26ae5cca..0000000000
--- a/target/linux/generic/patches-4.9/835-misc-owl_loader.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/drivers/misc/Kconfig
-+++ b/drivers/misc/Kconfig
-@@ -151,6 +151,18 @@ config SGI_IOC4
- If you have an SGI Altix with an IOC4-based card say Y.
- Otherwise say N.
-
-+config OWL_LOADER
-+ tristate "Owl loader for initializing Atheros PCI(e) Wifi chips"
-+ depends on PCI
-+ ---help---
-+ This kernel module helps to initialize certain Qualcomm
-+ Atheros' PCI(e) Wifi chips, which have the init data
-+ (which contains the PCI device ID for example) stored
-+ together with the calibration data in the file system.
-+
-+ This is necessary for devices like the Cisco Meraki Z1, say M.
-+ Otherwise say N.
-+
- config TIFM_CORE
- tristate "TI Flash Media interface support"
- depends on PCI
---- a/drivers/misc/Makefile
-+++ b/drivers/misc/Makefile
-@@ -12,6 +12,7 @@ obj-$(CONFIG_ATMEL_TCLIB) += atmel_tclib
- obj-$(CONFIG_DUMMY_IRQ) += dummy-irq.o
- obj-$(CONFIG_ICS932S401) += ics932s401.o
- obj-$(CONFIG_LKDTM) += lkdtm.o
-+obj-$(CONFIG_OWL_LOADER) += owl-loader.o
- obj-$(CONFIG_TIFM_CORE) += tifm_core.o
- obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
- obj-$(CONFIG_PHANTOM) += phantom.o
diff --git a/target/linux/generic/patches-4.9/840-rtc7301.patch b/target/linux/generic/patches-4.9/840-rtc7301.patch
deleted file mode 100644
index 4122048428..0000000000
--- a/target/linux/generic/patches-4.9/840-rtc7301.patch
+++ /dev/null
@@ -1,250 +0,0 @@
---- a/drivers/rtc/Kconfig
-+++ b/drivers/rtc/Kconfig
-@@ -1202,6 +1202,15 @@ config RTC_DRV_ZYNQMP
- If you say yes here you get support for the RTC controller found on
- Xilinx Zynq Ultrascale+ MPSoC.
-
-+config RTC_DRV_RTC7301
-+ tristate "Epson RTC-7301 SF/DG"
-+ help
-+ If you say Y here you will get support for the
-+ Epson RTC-7301 SF/DG RTC chips.
-+
-+ This driver can also be built as a module. If so, the module
-+ will be called rtc-7301.
-+
- comment "on-CPU RTC drivers"
-
- config RTC_DRV_ASM9260
---- a/drivers/rtc/Makefile
-+++ b/drivers/rtc/Makefile
-@@ -127,6 +127,7 @@ obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c
- obj-$(CONFIG_RTC_DRV_RS5C313) += rtc-rs5c313.o
- obj-$(CONFIG_RTC_DRV_RS5C348) += rtc-rs5c348.o
- obj-$(CONFIG_RTC_DRV_RS5C372) += rtc-rs5c372.o
-+obj-$(CONFIG_RTC_DRV_RTC7301) += rtc-rtc7301.o
- obj-$(CONFIG_RTC_DRV_RV3029C2) += rtc-rv3029c2.o
- obj-$(CONFIG_RTC_DRV_RV8803) += rtc-rv8803.o
- obj-$(CONFIG_RTC_DRV_RX4581) += rtc-rx4581.o
---- /dev/null
-+++ b/drivers/rtc/rtc-rtc7301.c
-@@ -0,0 +1,219 @@
-+/*
-+ * Driver for Epson RTC-7301SF/DG
-+ *
-+ * Copyright (C) 2009 Jose Vasconcellos
-+ *
-+ * 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.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/rtc.h>
-+#include <linux/platform_device.h>
-+#include <linux/io.h>
-+#include <linux/delay.h>
-+#include <linux/bcd.h>
-+
-+#define RTC_NAME "rtc7301"
-+#define RTC_VERSION "0.1"
-+
-+/* Epson RTC-7301 register addresses */
-+#define RTC7301_SEC 0x00
-+#define RTC7301_SEC10 0x01
-+#define RTC7301_MIN 0x02
-+#define RTC7301_MIN10 0x03
-+#define RTC7301_HOUR 0x04
-+#define RTC7301_HOUR10 0x05
-+#define RTC7301_WEEKDAY 0x06
-+#define RTC7301_DAY 0x07
-+#define RTC7301_DAY10 0x08
-+#define RTC7301_MON 0x09
-+#define RTC7301_MON10 0x0A
-+#define RTC7301_YEAR 0x0B
-+#define RTC7301_YEAR10 0x0C
-+#define RTC7301_YEAR100 0x0D
-+#define RTC7301_YEAR1000 0x0E
-+#define RTC7301_CTRLREG 0x0F
-+
-+static uint8_t __iomem *rtc7301_base;
-+
-+#define read_reg(offset) (readb(rtc7301_base + offset) & 0xf)
-+#define write_reg(offset, data) writeb(data, rtc7301_base + (offset))
-+
-+#define rtc7301_isbusy() (read_reg(RTC7301_CTRLREG) & 1)
-+
-+static void rtc7301_init_settings(void)
-+{
-+ int i;
-+
-+ write_reg(RTC7301_CTRLREG, 2);
-+ write_reg(RTC7301_YEAR1000, 2);
-+ udelay(122);
-+
-+ /* bank 1 */
-+ write_reg(RTC7301_CTRLREG, 6);
-+ for (i=0; i<15; i++)
-+ write_reg(i, 0);
-+
-+ /* bank 2 */
-+ write_reg(RTC7301_CTRLREG, 14);
-+ for (i=0; i<15; i++)
-+ write_reg(i, 0);
-+ write_reg(RTC7301_CTRLREG, 0);
-+}
-+
-+static int rtc7301_get_datetime(struct device *dev, struct rtc_time *dt)
-+{
-+ int cnt;
-+ uint8_t buf[16];
-+
-+ cnt = 0;
-+ while (rtc7301_isbusy()) {
-+ udelay(244);
-+ if (cnt++ > 100) {
-+ dev_err(dev, "%s: timeout error %x\n", __func__, rtc7301_base[RTC7301_CTRLREG]);
-+ return -EIO;
-+ }
-+ }
-+
-+ for (cnt=0; cnt<16; cnt++)
-+ buf[cnt] = read_reg(cnt);
-+
-+ if (buf[RTC7301_SEC10] & 8) {
-+ dev_err(dev, "%s: RTC not set\n", __func__);
-+ return -EINVAL;
-+ }
-+
-+ memset(dt, 0, sizeof(*dt));
-+
-+ dt->tm_sec = buf[RTC7301_SEC] + buf[RTC7301_SEC10]*10;
-+ dt->tm_min = buf[RTC7301_MIN] + buf[RTC7301_MIN10]*10;
-+ dt->tm_hour = buf[RTC7301_HOUR] + buf[RTC7301_HOUR10]*10;
-+
-+ dt->tm_mday = buf[RTC7301_DAY] + buf[RTC7301_DAY10]*10;
-+ dt->tm_mon = buf[RTC7301_MON] + buf[RTC7301_MON10]*10 - 1;
-+ dt->tm_year = buf[RTC7301_YEAR] + buf[RTC7301_YEAR10]*10 +
-+ buf[RTC7301_YEAR100]*100 +
-+ ((buf[RTC7301_YEAR1000] & 3)*1000) - 1900;
-+
-+ /* the rtc device may contain illegal values on power up
-+ * according to the data sheet. make sure they are valid.
-+ */
-+
-+ return rtc_valid_tm(dt);
-+}
-+
-+static int rtc7301_set_datetime(struct device *dev, struct rtc_time *dt)
-+{
-+ int data;
-+
-+ data = dt->tm_year + 1900;
-+ if (data >= 2100 || data < 1900)
-+ return -EINVAL;
-+
-+ write_reg(RTC7301_CTRLREG, 2);
-+ udelay(122);
-+
-+ data = bin2bcd(dt->tm_sec);
-+ write_reg(RTC7301_SEC, data);
-+ write_reg(RTC7301_SEC10, (data >> 4));
-+
-+ data = bin2bcd(dt->tm_min);
-+ write_reg(RTC7301_MIN, data );
-+ write_reg(RTC7301_MIN10, (data >> 4));
-+
-+ data = bin2bcd(dt->tm_hour);
-+ write_reg(RTC7301_HOUR, data);
-+ write_reg(RTC7301_HOUR10, (data >> 4));
-+
-+ data = bin2bcd(dt->tm_mday);
-+ write_reg(RTC7301_DAY, data);
-+ write_reg(RTC7301_DAY10, (data>> 4));
-+
-+ data = bin2bcd(dt->tm_mon + 1);
-+ write_reg(RTC7301_MON, data);
-+ write_reg(RTC7301_MON10, (data >> 4));
-+
-+ data = bin2bcd(dt->tm_year % 100);
-+ write_reg(RTC7301_YEAR, data);
-+ write_reg(RTC7301_YEAR10, (data >> 4));
-+ data = bin2bcd((1900 + dt->tm_year) / 100);
-+ write_reg(RTC7301_YEAR100, data);
-+
-+ data = bin2bcd(dt->tm_wday);
-+ write_reg(RTC7301_WEEKDAY, data);
-+
-+ write_reg(RTC7301_CTRLREG, 0);
-+
-+ return 0;
-+}
-+
-+static const struct rtc_class_ops rtc7301_rtc_ops = {
-+ .read_time = rtc7301_get_datetime,
-+ .set_time = rtc7301_set_datetime,
-+};
-+
-+static int rtc7301_probe(struct platform_device *pdev)
-+{
-+ struct rtc_device *rtc;
-+ struct resource *res;
-+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ if (!res)
-+ return -ENOENT;
-+
-+ rtc7301_base = ioremap_nocache(res->start, 0x1000 /*res->end - res->start + 1*/);
-+ if (!rtc7301_base)
-+ return -EINVAL;
-+
-+ rtc = rtc_device_register(RTC_NAME, &pdev->dev,
-+ &rtc7301_rtc_ops, THIS_MODULE);
-+ if (IS_ERR(rtc)) {
-+ iounmap(rtc7301_base);
-+ return PTR_ERR(rtc);
-+ }
-+
-+ platform_set_drvdata(pdev, rtc);
-+
-+ rtc7301_init_settings();
-+ return 0;
-+}
-+
-+static int rtc7301_remove(struct platform_device *pdev)
-+{
-+ struct rtc_device *rtc = platform_get_drvdata(pdev);
-+
-+ if (rtc)
-+ rtc_device_unregister(rtc);
-+ if (rtc7301_base)
-+ iounmap(rtc7301_base);
-+ return 0;
-+}
-+
-+static struct platform_driver rtc7301_driver = {
-+ .driver = {
-+ .name = RTC_NAME,
-+ .owner = THIS_MODULE,
-+ },
-+ .probe = rtc7301_probe,
-+ .remove = rtc7301_remove,
-+};
-+
-+static __init int rtc7301_init(void)
-+{
-+ return platform_driver_register(&rtc7301_driver);
-+}
-+module_init(rtc7301_init);
-+
-+static __exit void rtc7301_exit(void)
-+{
-+ platform_driver_unregister(&rtc7301_driver);
-+}
-+module_exit(rtc7301_exit);
-+
-+MODULE_DESCRIPTION("Epson 7301 RTC driver");
-+MODULE_AUTHOR("Jose Vasconcellos <jvasco@verizon.net>");
-+MODULE_LICENSE("GPL");
-+MODULE_ALIAS("platform:" RTC_NAME);
-+MODULE_VERSION(RTC_VERSION);
diff --git a/target/linux/generic/patches-4.9/841-rtc_pt7c4338.patch b/target/linux/generic/patches-4.9/841-rtc_pt7c4338.patch
deleted file mode 100644
index 083f1f18ce..0000000000
--- a/target/linux/generic/patches-4.9/841-rtc_pt7c4338.patch
+++ /dev/null
@@ -1,247 +0,0 @@
---- a/drivers/rtc/Kconfig
-+++ b/drivers/rtc/Kconfig
-@@ -610,6 +610,15 @@ config RTC_DRV_S5M
- This driver can also be built as a module. If so, the module
- will be called rtc-s5m.
-
-+config RTC_DRV_PT7C4338
-+ tristate "Pericom Technology Inc. PT7C4338 RTC"
-+ help
-+ If you say yes here you get support for the Pericom Technology
-+ Inc. PT7C4338 RTC chip.
-+
-+ This driver can also be built as a module. If so, the module
-+ will be called rtc-pt7c4338.
-+
- endif # I2C
-
- comment "SPI RTC drivers"
---- a/drivers/rtc/Makefile
-+++ b/drivers/rtc/Makefile
-@@ -118,6 +118,7 @@ obj-$(CONFIG_RTC_DRV_PL030) += rtc-pl030
- obj-$(CONFIG_RTC_DRV_PL031) += rtc-pl031.o
- obj-$(CONFIG_RTC_DRV_PM8XXX) += rtc-pm8xxx.o
- obj-$(CONFIG_RTC_DRV_PS3) += rtc-ps3.o
-+obj-$(CONFIG_RTC_DRV_PT7C4338) += rtc-pt7c4338.o
- obj-$(CONFIG_RTC_DRV_PUV3) += rtc-puv3.o
- obj-$(CONFIG_RTC_DRV_PXA) += rtc-pxa.o
- obj-$(CONFIG_RTC_DRV_R9701) += rtc-r9701.o
---- /dev/null
-+++ b/drivers/rtc/rtc-pt7c4338.c
-@@ -0,0 +1,216 @@
-+/*
-+ * Copyright 2010 Freescale Semiconductor, Inc.
-+ *
-+ * Author: Priyanka Jain <Priyanka.Jain@freescale.com>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * 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.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+/*
-+ * This file provides Date & Time support (no alarms) for PT7C4338 chip.
-+ *
-+ * This file is based on drivers/rtc/rtc-ds1307.c
-+ *
-+ * PT7C4338 chip is manufactured by Pericom Technology Inc.
-+ * It is a serial real-time clock which provides
-+ * 1)Low-power clock/calendar.
-+ * 2)Programmable square-wave output.
-+ * It has 56 bytes of nonvolatile RAM.
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/slab.h>
-+#include <linux/i2c.h>
-+#include <linux/rtc.h>
-+#include <linux/bcd.h>
-+
-+/* RTC register addresses */
-+#define PT7C4338_REG_SECONDS 0x00
-+#define PT7C4338_REG_MINUTES 0x01
-+#define PT7C4338_REG_HOURS 0x02
-+#define PT7C4338_REG_AMPM 0x02
-+#define PT7C4338_REG_DAY 0x03
-+#define PT7C4338_REG_DATE 0x04
-+#define PT7C4338_REG_MONTH 0x05
-+#define PT7C4338_REG_YEAR 0x06
-+#define PT7C4338_REG_CTRL_STAT 0x07
-+
-+/* RTC second register address bit */
-+#define PT7C4338_SEC_BIT_CH 0x80 /*Clock Halt (in Register 0)*/
-+
-+/* RTC control and status register bits */
-+#define PT7C4338_CTRL_STAT_BIT_RS0 0x1 /*Rate select 0*/
-+#define PT7C4338_CTRL_STAT_BIT_RS1 0x2 /*Rate select 1*/
-+#define PT7C4338_CTRL_STAT_BIT_SQWE 0x10 /*Square Wave Enable*/
-+#define PT7C4338_CTRL_STAT_BIT_OSF 0x20 /*Oscillator Stop Flag*/
-+#define PT7C4338_CTRL_STAT_BIT_OUT 0x80 /*Output Level Control*/
-+
-+static const struct i2c_device_id pt7c4338_id[] = {
-+ { "pt7c4338", 0 },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(i2c, pt7c4338_id);
-+
-+struct pt7c4338{
-+ struct i2c_client *client;
-+ struct rtc_device *rtc;
-+};
-+
-+static int pt7c4338_read_time(struct device *dev, struct rtc_time *time)
-+{
-+ struct i2c_client *client = to_i2c_client(dev);
-+ int ret;
-+ u8 buf[7];
-+ u8 year, month, day, hour, minute, second;
-+ u8 week, twelve_hr, am_pm;
-+
-+ ret = i2c_smbus_read_i2c_block_data(client,
-+ PT7C4338_REG_SECONDS, 7, buf);
-+ if (ret < 0)
-+ return ret;
-+ if (ret < 7)
-+ return -EIO;
-+
-+ second = buf[0];
-+ minute = buf[1];
-+ hour = buf[2];
-+ week = buf[3];
-+ day = buf[4];
-+ month = buf[5];
-+ year = buf[6];
-+
-+ /* Extract additional information for AM/PM */
-+ twelve_hr = hour & 0x40;
-+ am_pm = hour & 0x20;
-+
-+ /* Write to rtc_time structure */
-+ time->tm_sec = bcd2bin(second & 0x7f);
-+ time->tm_min = bcd2bin(minute & 0x7f);
-+ if (twelve_hr) {
-+ /* Convert to 24 hr */
-+ if (am_pm)
-+ time->tm_hour = bcd2bin(hour & 0x10) + 12;
-+ else
-+ time->tm_hour = bcd2bin(hour & 0xBF);
-+ } else {
-+ time->tm_hour = bcd2bin(hour);
-+ }
-+
-+ time->tm_wday = bcd2bin(week & 0x07) - 1;
-+ time->tm_mday = bcd2bin(day & 0x3f);
-+ time->tm_mon = bcd2bin(month & 0x1F) - 1;
-+ /* assume 20YY not 19YY */
-+ time->tm_year = bcd2bin(year) + 100;
-+
-+ return 0;
-+}
-+
-+static int pt7c4338_set_time(struct device *dev, struct rtc_time *time)
-+{
-+ struct i2c_client *client = to_i2c_client(dev);
-+ u8 buf[7];
-+
-+ /* Extract time from rtc_time and load into pt7c4338*/
-+ buf[0] = bin2bcd(time->tm_sec);
-+ buf[1] = bin2bcd(time->tm_min);
-+ buf[2] = bin2bcd(time->tm_hour);
-+ buf[3] = bin2bcd(time->tm_wday + 1); /* Day of the week */
-+ buf[4] = bin2bcd(time->tm_mday); /* Date */
-+ buf[5] = bin2bcd(time->tm_mon + 1);
-+
-+ /* assume 20YY not 19YY */
-+ if (time->tm_year >= 100)
-+ buf[6] = bin2bcd(time->tm_year - 100);
-+ else
-+ buf[6] = bin2bcd(time->tm_year);
-+
-+ return i2c_smbus_write_i2c_block_data(client,
-+ PT7C4338_REG_SECONDS, 7, buf);
-+}
-+
-+static const struct rtc_class_ops pt7c4338_rtc_ops = {
-+ .read_time = pt7c4338_read_time,
-+ .set_time = pt7c4338_set_time,
-+};
-+
-+static int pt7c4338_probe(struct i2c_client *client,
-+ const struct i2c_device_id *id)
-+{
-+ struct pt7c4338 *pt7c4338;
-+ struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
-+ int ret;
-+
-+ pt7c4338 = kzalloc(sizeof(struct pt7c4338), GFP_KERNEL);
-+ if (!pt7c4338)
-+ return -ENOMEM;
-+
-+ pt7c4338->client = client;
-+ i2c_set_clientdata(client, pt7c4338);
-+ pt7c4338->rtc = rtc_device_register(client->name, &client->dev,
-+ &pt7c4338_rtc_ops, THIS_MODULE);
-+ if (IS_ERR(pt7c4338->rtc)) {
-+ ret = PTR_ERR(pt7c4338->rtc);
-+ dev_err(&client->dev, "unable to register the class device\n");
-+ goto out_free;
-+ }
-+
-+ return 0;
-+out_free:
-+ i2c_set_clientdata(client, NULL);
-+ kfree(pt7c4338);
-+ return ret;
-+}
-+
-+static int pt7c4338_remove(struct i2c_client *client)
-+{
-+ struct pt7c4338 *pt7c4338 = i2c_get_clientdata(client);
-+
-+ rtc_device_unregister(pt7c4338->rtc);
-+ i2c_set_clientdata(client, NULL);
-+ kfree(pt7c4338);
-+ return 0;
-+}
-+
-+static struct i2c_driver pt7c4338_driver = {
-+ .driver = {
-+ .name = "rtc-pt7c4338",
-+ .owner = THIS_MODULE,
-+ },
-+ .probe = pt7c4338_probe,
-+ .remove = pt7c4338_remove,
-+ .id_table = pt7c4338_id,
-+};
-+
-+static int __init pt7c4338_init(void)
-+{
-+ return i2c_add_driver(&pt7c4338_driver);
-+}
-+
-+static void __exit pt7c4338_exit(void)
-+{
-+ i2c_del_driver(&pt7c4338_driver);
-+}
-+
-+module_init(pt7c4338_init);
-+module_exit(pt7c4338_exit);
-+
-+MODULE_AUTHOR("Priyanka Jain <Priyanka.Jain@freescale.com>");
-+MODULE_DESCRIPTION("pericom Technology Inc. PT7C4338 RTC Driver");
-+MODULE_LICENSE("GPL");
diff --git a/target/linux/generic/patches-4.9/890-uart_optional_sysrq.patch b/target/linux/generic/patches-4.9/890-uart_optional_sysrq.patch
deleted file mode 100644
index 5f7de2bb0a..0000000000
--- a/target/linux/generic/patches-4.9/890-uart_optional_sysrq.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/lib/Kconfig.debug
-+++ b/lib/Kconfig.debug
-@@ -397,6 +397,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE
- This may be set to 1 or 0 to enable or disable them all, or
- to a bitmask as described in Documentation/sysrq.txt.
-
-+config MAGIC_SYSRQ_SERIAL
-+ bool "Enable magic SysRq key over serial"
-+ depends on MAGIC_SYSRQ
-+ default y
-+
- config DEBUG_KERNEL
- bool "Kernel debugging"
- help
---- a/include/linux/serial_core.h
-+++ b/include/linux/serial_core.h
-@@ -448,7 +448,7 @@ extern void uart_handle_cts_change(struc
- extern void uart_insert_char(struct uart_port *port, unsigned int status,
- unsigned int overrun, unsigned int ch, unsigned int flag);
-
--#ifdef SUPPORT_SYSRQ
-+#if defined(SUPPORT_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ_SERIAL)
- static inline int
- uart_handle_sysrq_char(struct uart_port *port, unsigned int ch)
- {
diff --git a/target/linux/generic/patches-4.9/910-kobject_uevent.patch b/target/linux/generic/patches-4.9/910-kobject_uevent.patch
deleted file mode 100644
index a2c935f26b..0000000000
--- a/target/linux/generic/patches-4.9/910-kobject_uevent.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/lib/kobject_uevent.c
-+++ b/lib/kobject_uevent.c
-@@ -52,6 +52,18 @@ static const char *kobject_actions[] = {
- [KOBJ_OFFLINE] = "offline",
- };
-
-+u64 uevent_next_seqnum(void)
-+{
-+ u64 seq;
-+
-+ mutex_lock(&uevent_sock_mutex);
-+ seq = ++uevent_seqnum;
-+ mutex_unlock(&uevent_sock_mutex);
-+
-+ return seq;
-+}
-+EXPORT_SYMBOL_GPL(uevent_next_seqnum);
-+
- /**
- * kobject_action_type - translate action string to numeric type
- *
diff --git a/target/linux/generic/patches-3.18/001-mtdsplit_backport.patch b/target/linux/generic/pending-3.18/001-mtdsplit_backport.patch
index 97cd62d75c..97cd62d75c 100644
--- a/target/linux/generic/patches-3.18/001-mtdsplit_backport.patch
+++ b/target/linux/generic/pending-3.18/001-mtdsplit_backport.patch
diff --git a/target/linux/generic/patches-3.18/002-phy_drivers_backport.patch b/target/linux/generic/pending-3.18/002-phy_drivers_backport.patch
index c97c759e7e..c97c759e7e 100644
--- a/target/linux/generic/patches-3.18/002-phy_drivers_backport.patch
+++ b/target/linux/generic/pending-3.18/002-phy_drivers_backport.patch
diff --git a/target/linux/generic/patches-3.18/003-myloader_backport.patch b/target/linux/generic/pending-3.18/003-myloader_backport.patch
index 846b25dc04..846b25dc04 100644
--- a/target/linux/generic/patches-3.18/003-myloader_backport.patch
+++ b/target/linux/generic/pending-3.18/003-myloader_backport.patch
diff --git a/target/linux/generic/patches-3.18/020-ssb_update.patch b/target/linux/generic/pending-3.18/020-ssb_update.patch
index f94d160fc6..f94d160fc6 100644
--- a/target/linux/generic/patches-3.18/020-ssb_update.patch
+++ b/target/linux/generic/pending-3.18/020-ssb_update.patch
diff --git a/target/linux/generic/patches-3.18/021-ssb_sprom.patch b/target/linux/generic/pending-3.18/021-ssb_sprom.patch
index 52d8080dfe..52d8080dfe 100644
--- a/target/linux/generic/patches-3.18/021-ssb_sprom.patch
+++ b/target/linux/generic/pending-3.18/021-ssb_sprom.patch
diff --git a/target/linux/generic/patches-3.18/025-bcma_backport.patch b/target/linux/generic/pending-3.18/025-bcma_backport.patch
index ec1cb004b7..ec1cb004b7 100644
--- a/target/linux/generic/patches-3.18/025-bcma_backport.patch
+++ b/target/linux/generic/pending-3.18/025-bcma_backport.patch
diff --git a/target/linux/generic/patches-3.18/026-bcma-from-3.20.patch b/target/linux/generic/pending-3.18/026-bcma-from-3.20.patch
index 628b0bd389..628b0bd389 100644
--- a/target/linux/generic/patches-3.18/026-bcma-from-3.20.patch
+++ b/target/linux/generic/pending-3.18/026-bcma-from-3.20.patch
diff --git a/target/linux/generic/patches-3.18/027-bcma-from-4.1.patch b/target/linux/generic/pending-3.18/027-bcma-from-4.1.patch
index c88a816fef..c88a816fef 100644
--- a/target/linux/generic/patches-3.18/027-bcma-from-4.1.patch
+++ b/target/linux/generic/pending-3.18/027-bcma-from-4.1.patch
diff --git a/target/linux/generic/patches-3.18/028-bcma-from-4.2.patch b/target/linux/generic/pending-3.18/028-bcma-from-4.2.patch
index ba3df18bdd..ba3df18bdd 100644
--- a/target/linux/generic/patches-3.18/028-bcma-from-4.2.patch
+++ b/target/linux/generic/pending-3.18/028-bcma-from-4.2.patch
diff --git a/target/linux/generic/patches-3.18/029-bcma-from-4.4.patch b/target/linux/generic/pending-3.18/029-bcma-from-4.4.patch
index 5704081ee4..5704081ee4 100644
--- a/target/linux/generic/patches-3.18/029-bcma-from-4.4.patch
+++ b/target/linux/generic/pending-3.18/029-bcma-from-4.4.patch
diff --git a/target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch b/target/linux/generic/pending-3.18/030-backport_bcm47xx_nvram.patch
index 7ae8b1db6c..7ae8b1db6c 100644
--- a/target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch
+++ b/target/linux/generic/pending-3.18/030-backport_bcm47xx_nvram.patch
diff --git a/target/linux/generic/patches-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch b/target/linux/generic/pending-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch
index 52a2391ccd..52a2391ccd 100644
--- a/target/linux/generic/patches-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch
+++ b/target/linux/generic/pending-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch
diff --git a/target/linux/generic/patches-3.18/031-bcma-from-4.5.patch b/target/linux/generic/pending-3.18/031-bcma-from-4.5.patch
index 171395dcec..171395dcec 100644
--- a/target/linux/generic/patches-3.18/031-bcma-from-4.5.patch
+++ b/target/linux/generic/pending-3.18/031-bcma-from-4.5.patch
diff --git a/target/linux/generic/patches-3.18/032-bcma-from-4.6.patch b/target/linux/generic/pending-3.18/032-bcma-from-4.6.patch
index 85eeaad4d3..85eeaad4d3 100644
--- a/target/linux/generic/patches-3.18/032-bcma-from-4.6.patch
+++ b/target/linux/generic/pending-3.18/032-bcma-from-4.6.patch
diff --git a/target/linux/generic/patches-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch b/target/linux/generic/pending-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch
index b2d53f9f8a..b2d53f9f8a 100644
--- a/target/linux/generic/patches-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch
+++ b/target/linux/generic/pending-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch
diff --git a/target/linux/generic/patches-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch b/target/linux/generic/pending-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch
index 59180c2084..59180c2084 100644
--- a/target/linux/generic/patches-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch
+++ b/target/linux/generic/pending-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch
diff --git a/target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch b/target/linux/generic/pending-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch
index b7bae34aa7..b7bae34aa7 100644
--- a/target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch
+++ b/target/linux/generic/pending-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch
diff --git a/target/linux/generic/patches-3.18/044-backport-m25p80-jedec-probe.patch b/target/linux/generic/pending-3.18/044-backport-m25p80-jedec-probe.patch
index 41b912d5d4..41b912d5d4 100644
--- a/target/linux/generic/patches-3.18/044-backport-m25p80-jedec-probe.patch
+++ b/target/linux/generic/pending-3.18/044-backport-m25p80-jedec-probe.patch
diff --git a/target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch b/target/linux/generic/pending-3.18/050-backport_netfilter_rtcache.patch
index 9f23db6a79..9f23db6a79 100644
--- a/target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch
+++ b/target/linux/generic/pending-3.18/050-backport_netfilter_rtcache.patch
diff --git a/target/linux/generic/patches-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch b/target/linux/generic/pending-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch
index f7f88f8134..f7f88f8134 100644
--- a/target/linux/generic/patches-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch
+++ b/target/linux/generic/pending-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch
diff --git a/target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch b/target/linux/generic/pending-3.18/060-mips_decompressor_memmove.patch
index d215b80ab2..d215b80ab2 100644
--- a/target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch
+++ b/target/linux/generic/pending-3.18/060-mips_decompressor_memmove.patch
diff --git a/target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch b/target/linux/generic/pending-3.18/070-bgmac-register-napi-before-the-device.patch
index aa45860e93..aa45860e93 100644
--- a/target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch
+++ b/target/linux/generic/pending-3.18/070-bgmac-register-napi-before-the-device.patch
diff --git a/target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch b/target/linux/generic/pending-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
index cc43d367cc..cc43d367cc 100644
--- a/target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
+++ b/target/linux/generic/pending-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch
diff --git a/target/linux/generic/patches-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch b/target/linux/generic/pending-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch
index 121d2f4122..121d2f4122 100644
--- a/target/linux/generic/patches-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch
+++ b/target/linux/generic/pending-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch
diff --git a/target/linux/generic/patches-3.18/073-bgmac-Clean-warning-messages.patch b/target/linux/generic/pending-3.18/073-bgmac-Clean-warning-messages.patch
index 17fe5dff5e..17fe5dff5e 100644
--- a/target/linux/generic/patches-3.18/073-bgmac-Clean-warning-messages.patch
+++ b/target/linux/generic/pending-3.18/073-bgmac-Clean-warning-messages.patch
diff --git a/target/linux/generic/patches-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch b/target/linux/generic/pending-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch
index 9f0baff0ee..9f0baff0ee 100644
--- a/target/linux/generic/patches-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch
+++ b/target/linux/generic/pending-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch
diff --git a/target/linux/generic/patches-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch b/target/linux/generic/pending-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch
index 4513667e3a..4513667e3a 100644
--- a/target/linux/generic/patches-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch
+++ b/target/linux/generic/pending-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch
diff --git a/target/linux/generic/patches-3.18/076-net-phy-export-fixed_phy_register.patch b/target/linux/generic/pending-3.18/076-net-phy-export-fixed_phy_register.patch
index 939016c2e8..939016c2e8 100644
--- a/target/linux/generic/patches-3.18/076-net-phy-export-fixed_phy_register.patch
+++ b/target/linux/generic/pending-3.18/076-net-phy-export-fixed_phy_register.patch
diff --git a/target/linux/generic/patches-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch b/target/linux/generic/pending-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch
index fe8a602160..fe8a602160 100644
--- a/target/linux/generic/patches-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch
+++ b/target/linux/generic/pending-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch
diff --git a/target/linux/generic/patches-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch b/target/linux/generic/pending-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch
index 8dc5242b5a..8dc5242b5a 100644
--- a/target/linux/generic/patches-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch
+++ b/target/linux/generic/pending-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch
diff --git a/target/linux/generic/patches-3.18/077-03-bgmac-implement-scatter-gather-support.patch b/target/linux/generic/pending-3.18/077-03-bgmac-implement-scatter-gather-support.patch
index ceb25e85ad..ceb25e85ad 100644
--- a/target/linux/generic/patches-3.18/077-03-bgmac-implement-scatter-gather-support.patch
+++ b/target/linux/generic/pending-3.18/077-03-bgmac-implement-scatter-gather-support.patch
diff --git a/target/linux/generic/patches-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch b/target/linux/generic/pending-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch
index bf4a22dbea..bf4a22dbea 100644
--- a/target/linux/generic/patches-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch
+++ b/target/linux/generic/pending-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch
diff --git a/target/linux/generic/patches-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch b/target/linux/generic/pending-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch
index 4e5e2e720a..4e5e2e720a 100644
--- a/target/linux/generic/patches-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch
+++ b/target/linux/generic/pending-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch
diff --git a/target/linux/generic/patches-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch b/target/linux/generic/pending-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch
index 1b0742cd3a..1b0742cd3a 100644
--- a/target/linux/generic/patches-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch
+++ b/target/linux/generic/pending-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch
diff --git a/target/linux/generic/patches-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch b/target/linux/generic/pending-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch
index 2be65b4544..2be65b4544 100644
--- a/target/linux/generic/patches-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch
+++ b/target/linux/generic/pending-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch
diff --git a/target/linux/generic/patches-3.18/077-08-bgmac-add-check-for-oversized-packets.patch b/target/linux/generic/pending-3.18/077-08-bgmac-add-check-for-oversized-packets.patch
index 6bb4747686..6bb4747686 100644
--- a/target/linux/generic/patches-3.18/077-08-bgmac-add-check-for-oversized-packets.patch
+++ b/target/linux/generic/pending-3.18/077-08-bgmac-add-check-for-oversized-packets.patch
diff --git a/target/linux/generic/patches-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch b/target/linux/generic/pending-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch
index 1fc4ed03f1..1fc4ed03f1 100644
--- a/target/linux/generic/patches-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch
+++ b/target/linux/generic/pending-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch
diff --git a/target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch b/target/linux/generic/pending-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch
index a49bd5f5e7..a49bd5f5e7 100644
--- a/target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch
+++ b/target/linux/generic/pending-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch
diff --git a/target/linux/generic/patches-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch b/target/linux/generic/pending-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch
index e7a7987f43..e7a7987f43 100644
--- a/target/linux/generic/patches-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch
+++ b/target/linux/generic/pending-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch
diff --git a/target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch b/target/linux/generic/pending-3.18/077-12-bgmac-drop-ring-num_slots.patch
index 4dbb6f48de..4dbb6f48de 100644
--- a/target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch
+++ b/target/linux/generic/pending-3.18/077-12-bgmac-drop-ring-num_slots.patch
diff --git a/target/linux/generic/patches-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch b/target/linux/generic/pending-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch
index ca061a50d1..ca061a50d1 100644
--- a/target/linux/generic/patches-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch
+++ b/target/linux/generic/pending-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch
diff --git a/target/linux/generic/patches-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch b/target/linux/generic/pending-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
index f8d0a58769..f8d0a58769 100644
--- a/target/linux/generic/patches-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
+++ b/target/linux/generic/pending-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
diff --git a/target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch b/target/linux/generic/pending-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch
index 5d99367ad4..5d99367ad4 100644
--- a/target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch
+++ b/target/linux/generic/pending-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch
diff --git a/target/linux/generic/patches-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch b/target/linux/generic/pending-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch
index 4e09f8a189..4e09f8a189 100644
--- a/target/linux/generic/patches-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch
+++ b/target/linux/generic/pending-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch
diff --git a/target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch b/target/linux/generic/pending-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch
index 2e6deb5bbc..2e6deb5bbc 100644
--- a/target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch
+++ b/target/linux/generic/pending-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch
diff --git a/target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch b/target/linux/generic/pending-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch
index 4c727cdfce..4c727cdfce 100644
--- a/target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch
+++ b/target/linux/generic/pending-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch
diff --git a/target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch b/target/linux/generic/pending-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch
index 3f8d03067d..3f8d03067d 100644
--- a/target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch
+++ b/target/linux/generic/pending-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch
diff --git a/target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch b/target/linux/generic/pending-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch
index a3393bf93f..a3393bf93f 100644
--- a/target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch
+++ b/target/linux/generic/pending-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch
diff --git a/target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch b/target/linux/generic/pending-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch
index e84412687d..e84412687d 100644
--- a/target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch
+++ b/target/linux/generic/pending-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch
diff --git a/target/linux/generic/patches-3.18/080-07-fib_trie-Optimize-fib_find_node.patch b/target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch
index 0193f758f6..0193f758f6 100644
--- a/target/linux/generic/patches-3.18/080-07-fib_trie-Optimize-fib_find_node.patch
+++ b/target/linux/generic/pending-3.18/080-07-fib_trie-Optimize-fib_find_node.patch
diff --git a/target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch b/target/linux/generic/pending-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch
index b328d2c5d2..b328d2c5d2 100644
--- a/target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch
+++ b/target/linux/generic/pending-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch
diff --git a/target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch b/target/linux/generic/pending-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch
index a0d34762b8..a0d34762b8 100644
--- a/target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch
+++ b/target/linux/generic/pending-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch
diff --git a/target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch b/target/linux/generic/pending-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch
index 487a25f0d9..487a25f0d9 100644
--- a/target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch
+++ b/target/linux/generic/pending-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch
diff --git a/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch b/target/linux/generic/pending-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
index fe55323a50..fe55323a50 100644
--- a/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
+++ b/target/linux/generic/pending-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
diff --git a/target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch b/target/linux/generic/pending-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch
index a373add1d2..a373add1d2 100644
--- a/target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch
+++ b/target/linux/generic/pending-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch
diff --git a/target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch b/target/linux/generic/pending-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch
index c01d57af0f..c01d57af0f 100644
--- a/target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch
+++ b/target/linux/generic/pending-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch
diff --git a/target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch b/target/linux/generic/pending-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch
index 8f26e32d3d..8f26e32d3d 100644
--- a/target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch
+++ b/target/linux/generic/pending-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch
diff --git a/target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch b/target/linux/generic/pending-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch
index 51178a0f14..51178a0f14 100644
--- a/target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch
+++ b/target/linux/generic/pending-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch
diff --git a/target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch b/target/linux/generic/pending-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch
index d6b600c5dd..d6b600c5dd 100644
--- a/target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch
+++ b/target/linux/generic/pending-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch
diff --git a/target/linux/generic/patches-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch b/target/linux/generic/pending-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch
index 8f7c671ac6..8f7c671ac6 100644
--- a/target/linux/generic/patches-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch
+++ b/target/linux/generic/pending-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch
diff --git a/target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch b/target/linux/generic/pending-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch
index 6a4a45e952..6a4a45e952 100644
--- a/target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch
+++ b/target/linux/generic/pending-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch
diff --git a/target/linux/generic/patches-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch b/target/linux/generic/pending-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch
index d5fc112563..d5fc112563 100644
--- a/target/linux/generic/patches-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch
+++ b/target/linux/generic/pending-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch
diff --git a/target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch b/target/linux/generic/pending-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch
index 7e26127084..7e26127084 100644
--- a/target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch
+++ b/target/linux/generic/pending-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch
diff --git a/target/linux/generic/patches-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch b/target/linux/generic/pending-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch
index 058b33bf9d..058b33bf9d 100644
--- a/target/linux/generic/patches-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch
+++ b/target/linux/generic/pending-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch
diff --git a/target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch b/target/linux/generic/pending-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch
index 19b7db7f94..19b7db7f94 100644
--- a/target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch
+++ b/target/linux/generic/pending-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch
diff --git a/target/linux/generic/patches-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch b/target/linux/generic/pending-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch
index 160fbe1f3e..160fbe1f3e 100644
--- a/target/linux/generic/patches-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch
+++ b/target/linux/generic/pending-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch
diff --git a/target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch b/target/linux/generic/pending-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch
index 5eba700caa..5eba700caa 100644
--- a/target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch
+++ b/target/linux/generic/pending-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch
diff --git a/target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch b/target/linux/generic/pending-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch
index c7739d0323..c7739d0323 100644
--- a/target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch
+++ b/target/linux/generic/pending-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch
diff --git a/target/linux/generic/patches-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch b/target/linux/generic/pending-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch
index 347049a924..347049a924 100644
--- a/target/linux/generic/patches-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch
+++ b/target/linux/generic/pending-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch
diff --git a/target/linux/generic/patches-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch b/target/linux/generic/pending-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch
index f592929b3e..f592929b3e 100644
--- a/target/linux/generic/patches-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch
+++ b/target/linux/generic/pending-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch
diff --git a/target/linux/generic/patches-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch b/target/linux/generic/pending-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch
index 07d64359ce..07d64359ce 100644
--- a/target/linux/generic/patches-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch
+++ b/target/linux/generic/pending-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch
diff --git a/target/linux/generic/patches-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch b/target/linux/generic/pending-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch
index 8d155eba1d..8d155eba1d 100644
--- a/target/linux/generic/patches-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch
+++ b/target/linux/generic/pending-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch
diff --git a/target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch b/target/linux/generic/pending-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch
index ffdba4d923..ffdba4d923 100644
--- a/target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch
+++ b/target/linux/generic/pending-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch
diff --git a/target/linux/generic/patches-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch b/target/linux/generic/pending-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch
index 147e9712db..147e9712db 100644
--- a/target/linux/generic/patches-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch
+++ b/target/linux/generic/pending-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch
diff --git a/target/linux/generic/patches-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch b/target/linux/generic/pending-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch
index d3da41e918..d3da41e918 100644
--- a/target/linux/generic/patches-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch
+++ b/target/linux/generic/pending-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch
diff --git a/target/linux/generic/patches-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch b/target/linux/generic/pending-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch
index 7f9f9266c6..7f9f9266c6 100644
--- a/target/linux/generic/patches-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch
+++ b/target/linux/generic/pending-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch
diff --git a/target/linux/generic/patches-3.18/087-regmap-make-LZO-cache-optional.patch b/target/linux/generic/pending-3.18/087-regmap-make-LZO-cache-optional.patch
index 94b61fdab4..94b61fdab4 100644
--- a/target/linux/generic/patches-3.18/087-regmap-make-LZO-cache-optional.patch
+++ b/target/linux/generic/pending-3.18/087-regmap-make-LZO-cache-optional.patch
diff --git a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch b/target/linux/generic/pending-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
index c75af99c60..c75af99c60 100644
--- a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
+++ b/target/linux/generic/pending-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
diff --git a/target/linux/generic/patches-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch b/target/linux/generic/pending-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch
index 24aa0752d8..24aa0752d8 100644
--- a/target/linux/generic/patches-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch
+++ b/target/linux/generic/pending-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch
diff --git a/target/linux/generic/patches-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch b/target/linux/generic/pending-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch
index fa3ab6a638..fa3ab6a638 100644
--- a/target/linux/generic/patches-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch
+++ b/target/linux/generic/pending-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch
diff --git a/target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch b/target/linux/generic/pending-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch
index b74b4cb93b..b74b4cb93b 100644
--- a/target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch
+++ b/target/linux/generic/pending-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch
diff --git a/target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch b/target/linux/generic/pending-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch
index a5d85be2b4..a5d85be2b4 100644
--- a/target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch
+++ b/target/linux/generic/pending-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch
diff --git a/target/linux/generic/patches-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch b/target/linux/generic/pending-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch
index 4c5cd596f7..4c5cd596f7 100644
--- a/target/linux/generic/patches-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch
+++ b/target/linux/generic/pending-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch
diff --git a/target/linux/generic/patches-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch b/target/linux/generic/pending-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch
index 213f85b0a9..213f85b0a9 100644
--- a/target/linux/generic/patches-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch
+++ b/target/linux/generic/pending-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch
diff --git a/target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch b/target/linux/generic/pending-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch
index 352bf6de15..352bf6de15 100644
--- a/target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch
+++ b/target/linux/generic/pending-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch
diff --git a/target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/pending-3.18/102-ehci_hcd_ignore_oc.patch
index a5645596f9..a5645596f9 100644
--- a/target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch
+++ b/target/linux/generic/pending-3.18/102-ehci_hcd_ignore_oc.patch
diff --git a/target/linux/generic/patches-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch b/target/linux/generic/pending-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
index f671db6e94..f671db6e94 100644
--- a/target/linux/generic/patches-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
+++ b/target/linux/generic/pending-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
diff --git a/target/linux/generic/patches-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch b/target/linux/generic/pending-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch
index be87c3507e..be87c3507e 100644
--- a/target/linux/generic/patches-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch
+++ b/target/linux/generic/pending-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch
diff --git a/target/linux/generic/patches-3.18/120-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/pending-3.18/120-bridge_allow_receiption_on_disabled_port.patch
index 909611403c..909611403c 100644
--- a/target/linux/generic/patches-3.18/120-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/pending-3.18/120-bridge_allow_receiption_on_disabled_port.patch
diff --git a/target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch b/target/linux/generic/pending-3.18/132-mips_inline_dma_ops.patch
index c008aea41d..c008aea41d 100644
--- a/target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch
+++ b/target/linux/generic/pending-3.18/132-mips_inline_dma_ops.patch
diff --git a/target/linux/generic/patches-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch b/target/linux/generic/pending-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch
index ebbe1bbaee..ebbe1bbaee 100644
--- a/target/linux/generic/patches-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch
+++ b/target/linux/generic/pending-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch
diff --git a/target/linux/generic/patches-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch b/target/linux/generic/pending-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch
index bd34f9698a..bd34f9698a 100644
--- a/target/linux/generic/patches-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch
+++ b/target/linux/generic/pending-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch
diff --git a/target/linux/generic/patches-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch b/target/linux/generic/pending-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch
index 761cff316d..761cff316d 100644
--- a/target/linux/generic/patches-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch
+++ b/target/linux/generic/pending-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch
diff --git a/target/linux/generic/patches-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch b/target/linux/generic/pending-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch
index 9073f795e2..9073f795e2 100644
--- a/target/linux/generic/patches-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch
+++ b/target/linux/generic/pending-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch
diff --git a/target/linux/generic/patches-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch b/target/linux/generic/pending-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch
index a17e39800c..a17e39800c 100644
--- a/target/linux/generic/patches-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch
+++ b/target/linux/generic/pending-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch
diff --git a/target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch b/target/linux/generic/pending-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
index 0b03963f0a..0b03963f0a 100644
--- a/target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
+++ b/target/linux/generic/pending-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
diff --git a/target/linux/generic/patches-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch b/target/linux/generic/pending-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
index 5a3dc06c14..5a3dc06c14 100644
--- a/target/linux/generic/patches-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
+++ b/target/linux/generic/pending-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
diff --git a/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch b/target/linux/generic/pending-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
index 7c49a6f111..7c49a6f111 100644
--- a/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
+++ b/target/linux/generic/pending-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
diff --git a/target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch b/target/linux/generic/pending-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
index 1b1afd5d31..1b1afd5d31 100644
--- a/target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
+++ b/target/linux/generic/pending-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
diff --git a/target/linux/generic/patches-3.18/200-fix_localversion.patch b/target/linux/generic/pending-3.18/200-fix_localversion.patch
index 70228bb5f4..70228bb5f4 100644
--- a/target/linux/generic/patches-3.18/200-fix_localversion.patch
+++ b/target/linux/generic/pending-3.18/200-fix_localversion.patch
diff --git a/target/linux/generic/patches-3.18/201-extra_optimization.patch b/target/linux/generic/pending-3.18/201-extra_optimization.patch
index 7ec93a47f4..7ec93a47f4 100644
--- a/target/linux/generic/patches-3.18/201-extra_optimization.patch
+++ b/target/linux/generic/pending-3.18/201-extra_optimization.patch
diff --git a/target/linux/generic/patches-3.18/202-reduce_module_size.patch b/target/linux/generic/pending-3.18/202-reduce_module_size.patch
index b98ea4e9d8..b98ea4e9d8 100644
--- a/target/linux/generic/patches-3.18/202-reduce_module_size.patch
+++ b/target/linux/generic/pending-3.18/202-reduce_module_size.patch
diff --git a/target/linux/generic/patches-3.18/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-3.18/203-kallsyms_uncompressed.patch
index b9d82207a0..b9d82207a0 100644
--- a/target/linux/generic/patches-3.18/203-kallsyms_uncompressed.patch
+++ b/target/linux/generic/pending-3.18/203-kallsyms_uncompressed.patch
diff --git a/target/linux/generic/patches-3.18/204-module_strip.patch b/target/linux/generic/pending-3.18/204-module_strip.patch
index 844c3b550e..844c3b550e 100644
--- a/target/linux/generic/patches-3.18/204-module_strip.patch
+++ b/target/linux/generic/pending-3.18/204-module_strip.patch
diff --git a/target/linux/generic/patches-3.18/205-backtrace_module_info.patch b/target/linux/generic/pending-3.18/205-backtrace_module_info.patch
index f83b21ebc8..f83b21ebc8 100644
--- a/target/linux/generic/patches-3.18/205-backtrace_module_info.patch
+++ b/target/linux/generic/pending-3.18/205-backtrace_module_info.patch
diff --git a/target/linux/generic/patches-3.18/210-darwin_scripts_include.patch b/target/linux/generic/pending-3.18/210-darwin_scripts_include.patch
index dc554de247..dc554de247 100644
--- a/target/linux/generic/patches-3.18/210-darwin_scripts_include.patch
+++ b/target/linux/generic/pending-3.18/210-darwin_scripts_include.patch
diff --git a/target/linux/generic/patches-3.18/212-byteshift_portability.patch b/target/linux/generic/pending-3.18/212-byteshift_portability.patch
index 0f23ba9be9..0f23ba9be9 100644
--- a/target/linux/generic/patches-3.18/212-byteshift_portability.patch
+++ b/target/linux/generic/pending-3.18/212-byteshift_portability.patch
diff --git a/target/linux/generic/patches-3.18/213-x86_vdso_portability.patch b/target/linux/generic/pending-3.18/213-x86_vdso_portability.patch
index 937ab9054d..937ab9054d 100644
--- a/target/linux/generic/patches-3.18/213-x86_vdso_portability.patch
+++ b/target/linux/generic/pending-3.18/213-x86_vdso_portability.patch
diff --git a/target/linux/generic/patches-3.18/214-spidev_h_portability.patch b/target/linux/generic/pending-3.18/214-spidev_h_portability.patch
index dbee090547..dbee090547 100644
--- a/target/linux/generic/patches-3.18/214-spidev_h_portability.patch
+++ b/target/linux/generic/pending-3.18/214-spidev_h_portability.patch
diff --git a/target/linux/generic/patches-3.18/220-gc_sections.patch b/target/linux/generic/pending-3.18/220-gc_sections.patch
index d872949f8d..d872949f8d 100644
--- a/target/linux/generic/patches-3.18/220-gc_sections.patch
+++ b/target/linux/generic/pending-3.18/220-gc_sections.patch
diff --git a/target/linux/generic/patches-3.18/221-module_exports.patch b/target/linux/generic/pending-3.18/221-module_exports.patch
index f2cad7a028..f2cad7a028 100644
--- a/target/linux/generic/patches-3.18/221-module_exports.patch
+++ b/target/linux/generic/pending-3.18/221-module_exports.patch
diff --git a/target/linux/generic/patches-3.18/230-openwrt_lzma_options.patch b/target/linux/generic/pending-3.18/230-openwrt_lzma_options.patch
index e59fdcd2e0..e59fdcd2e0 100644
--- a/target/linux/generic/patches-3.18/230-openwrt_lzma_options.patch
+++ b/target/linux/generic/pending-3.18/230-openwrt_lzma_options.patch
diff --git a/target/linux/generic/patches-3.18/250-netfilter_depends.patch b/target/linux/generic/pending-3.18/250-netfilter_depends.patch
index 47be4a0197..47be4a0197 100644
--- a/target/linux/generic/patches-3.18/250-netfilter_depends.patch
+++ b/target/linux/generic/pending-3.18/250-netfilter_depends.patch
diff --git a/target/linux/generic/patches-3.18/251-sound_kconfig.patch b/target/linux/generic/pending-3.18/251-sound_kconfig.patch
index c2ebacecd1..c2ebacecd1 100644
--- a/target/linux/generic/patches-3.18/251-sound_kconfig.patch
+++ b/target/linux/generic/pending-3.18/251-sound_kconfig.patch
diff --git a/target/linux/generic/patches-3.18/252-mv_cesa_depends.patch b/target/linux/generic/pending-3.18/252-mv_cesa_depends.patch
index fee28db120..fee28db120 100644
--- a/target/linux/generic/patches-3.18/252-mv_cesa_depends.patch
+++ b/target/linux/generic/pending-3.18/252-mv_cesa_depends.patch
diff --git a/target/linux/generic/patches-3.18/253-ssb_b43_default_on.patch b/target/linux/generic/pending-3.18/253-ssb_b43_default_on.patch
index 29d2a41a3b..29d2a41a3b 100644
--- a/target/linux/generic/patches-3.18/253-ssb_b43_default_on.patch
+++ b/target/linux/generic/pending-3.18/253-ssb_b43_default_on.patch
diff --git a/target/linux/generic/patches-3.18/254-textsearch_kconfig_hacks.patch b/target/linux/generic/pending-3.18/254-textsearch_kconfig_hacks.patch
index 3c3b1e1b53..3c3b1e1b53 100644
--- a/target/linux/generic/patches-3.18/254-textsearch_kconfig_hacks.patch
+++ b/target/linux/generic/pending-3.18/254-textsearch_kconfig_hacks.patch
diff --git a/target/linux/generic/patches-3.18/255-lib80211_kconfig_hacks.patch b/target/linux/generic/pending-3.18/255-lib80211_kconfig_hacks.patch
index d8752359c7..d8752359c7 100644
--- a/target/linux/generic/patches-3.18/255-lib80211_kconfig_hacks.patch
+++ b/target/linux/generic/pending-3.18/255-lib80211_kconfig_hacks.patch
diff --git a/target/linux/generic/patches-3.18/256-crypto_add_kconfig_prompts.patch b/target/linux/generic/pending-3.18/256-crypto_add_kconfig_prompts.patch
index f9f6c0ea7b..f9f6c0ea7b 100644
--- a/target/linux/generic/patches-3.18/256-crypto_add_kconfig_prompts.patch
+++ b/target/linux/generic/pending-3.18/256-crypto_add_kconfig_prompts.patch
diff --git a/target/linux/generic/patches-3.18/257-wireless_ext_kconfig_hack.patch b/target/linux/generic/pending-3.18/257-wireless_ext_kconfig_hack.patch
index daac5898ae..daac5898ae 100644
--- a/target/linux/generic/patches-3.18/257-wireless_ext_kconfig_hack.patch
+++ b/target/linux/generic/pending-3.18/257-wireless_ext_kconfig_hack.patch
diff --git a/target/linux/generic/patches-3.18/258-netfilter_netlink_kconfig_hack.patch b/target/linux/generic/pending-3.18/258-netfilter_netlink_kconfig_hack.patch
index 9d827c253b..9d827c253b 100644
--- a/target/linux/generic/patches-3.18/258-netfilter_netlink_kconfig_hack.patch
+++ b/target/linux/generic/pending-3.18/258-netfilter_netlink_kconfig_hack.patch
diff --git a/target/linux/generic/patches-3.18/259-regmap_dynamic.patch b/target/linux/generic/pending-3.18/259-regmap_dynamic.patch
index 5e422ebd48..5e422ebd48 100644
--- a/target/linux/generic/patches-3.18/259-regmap_dynamic.patch
+++ b/target/linux/generic/pending-3.18/259-regmap_dynamic.patch
diff --git a/target/linux/generic/patches-3.18/260-crypto_test_dependencies.patch b/target/linux/generic/pending-3.18/260-crypto_test_dependencies.patch
index 8a96fd9da7..8a96fd9da7 100644
--- a/target/linux/generic/patches-3.18/260-crypto_test_dependencies.patch
+++ b/target/linux/generic/pending-3.18/260-crypto_test_dependencies.patch
diff --git a/target/linux/generic/patches-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch b/target/linux/generic/pending-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
index 762f4989b6..762f4989b6 100644
--- a/target/linux/generic/patches-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
+++ b/target/linux/generic/pending-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
diff --git a/target/linux/generic/patches-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch b/target/linux/generic/pending-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
index 891299ead1..891299ead1 100644
--- a/target/linux/generic/patches-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
+++ b/target/linux/generic/pending-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
diff --git a/target/linux/generic/patches-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch b/target/linux/generic/pending-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
index feea4c31c6..feea4c31c6 100644
--- a/target/linux/generic/patches-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
+++ b/target/linux/generic/pending-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
diff --git a/target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch b/target/linux/generic/pending-3.18/300-mips_expose_boot_raw.patch
index 69d61f20a9..69d61f20a9 100644
--- a/target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch
+++ b/target/linux/generic/pending-3.18/300-mips_expose_boot_raw.patch
diff --git a/target/linux/generic/patches-3.18/301-mips_image_cmdline_hack.patch b/target/linux/generic/pending-3.18/301-mips_image_cmdline_hack.patch
index c87d4480ce..c87d4480ce 100644
--- a/target/linux/generic/patches-3.18/301-mips_image_cmdline_hack.patch
+++ b/target/linux/generic/pending-3.18/301-mips_image_cmdline_hack.patch
diff --git a/target/linux/generic/patches-3.18/302-mips_no_branch_likely.patch b/target/linux/generic/pending-3.18/302-mips_no_branch_likely.patch
index 44c6b04fcf..44c6b04fcf 100644
--- a/target/linux/generic/patches-3.18/302-mips_no_branch_likely.patch
+++ b/target/linux/generic/pending-3.18/302-mips_no_branch_likely.patch
diff --git a/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch b/target/linux/generic/pending-3.18/304-mips_disable_fpu.patch
index 37ec9934ff..37ec9934ff 100644
--- a/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
+++ b/target/linux/generic/pending-3.18/304-mips_disable_fpu.patch
diff --git a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch b/target/linux/generic/pending-3.18/305-mips_module_reloc.patch
index fae7e70f0e..fae7e70f0e 100644
--- a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
+++ b/target/linux/generic/pending-3.18/305-mips_module_reloc.patch
diff --git a/target/linux/generic/patches-3.18/306-mips_mem_functions_performance.patch b/target/linux/generic/pending-3.18/306-mips_mem_functions_performance.patch
index 9818677425..9818677425 100644
--- a/target/linux/generic/patches-3.18/306-mips_mem_functions_performance.patch
+++ b/target/linux/generic/pending-3.18/306-mips_mem_functions_performance.patch
diff --git a/target/linux/generic/patches-3.18/307-mips_highmem_offset.patch b/target/linux/generic/pending-3.18/307-mips_highmem_offset.patch
index 5a7dc9cee9..5a7dc9cee9 100644
--- a/target/linux/generic/patches-3.18/307-mips_highmem_offset.patch
+++ b/target/linux/generic/pending-3.18/307-mips_highmem_offset.patch
diff --git a/target/linux/generic/patches-3.18/310-arm_module_unresolved_weak_sym.patch b/target/linux/generic/pending-3.18/310-arm_module_unresolved_weak_sym.patch
index 9210c1d2d3..9210c1d2d3 100644
--- a/target/linux/generic/patches-3.18/310-arm_module_unresolved_weak_sym.patch
+++ b/target/linux/generic/pending-3.18/310-arm_module_unresolved_weak_sym.patch
diff --git a/target/linux/generic/patches-3.18/320-ppc4xx_optimization.patch b/target/linux/generic/pending-3.18/320-ppc4xx_optimization.patch
index 8673de4df2..8673de4df2 100644
--- a/target/linux/generic/patches-3.18/320-ppc4xx_optimization.patch
+++ b/target/linux/generic/pending-3.18/320-ppc4xx_optimization.patch
diff --git a/target/linux/generic/patches-3.18/321-powerpc_crtsavres_prereq.patch b/target/linux/generic/pending-3.18/321-powerpc_crtsavres_prereq.patch
index ab6ea7beb2..ab6ea7beb2 100644
--- a/target/linux/generic/patches-3.18/321-powerpc_crtsavres_prereq.patch
+++ b/target/linux/generic/pending-3.18/321-powerpc_crtsavres_prereq.patch
diff --git a/target/linux/generic/patches-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch b/target/linux/generic/pending-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
index a69d197e62..a69d197e62 100644
--- a/target/linux/generic/patches-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
+++ b/target/linux/generic/pending-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
diff --git a/target/linux/generic/patches-3.18/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-3.18/400-mtd-add-rootfs-split-support.patch
index 0a6e134ed5..0a6e134ed5 100644
--- a/target/linux/generic/patches-3.18/400-mtd-add-rootfs-split-support.patch
+++ b/target/linux/generic/pending-3.18/400-mtd-add-rootfs-split-support.patch
diff --git a/target/linux/generic/patches-3.18/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-3.18/401-mtd-add-support-for-different-partition-parser-types.patch
index 684234161a..684234161a 100644
--- a/target/linux/generic/patches-3.18/401-mtd-add-support-for-different-partition-parser-types.patch
+++ b/target/linux/generic/pending-3.18/401-mtd-add-support-for-different-partition-parser-types.patch
diff --git a/target/linux/generic/patches-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
index dead0fbf5f..dead0fbf5f 100644
--- a/target/linux/generic/patches-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
+++ b/target/linux/generic/pending-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
diff --git a/target/linux/generic/patches-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch b/target/linux/generic/pending-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch
index 0cf1c38555..0cf1c38555 100644
--- a/target/linux/generic/patches-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch
+++ b/target/linux/generic/pending-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch
diff --git a/target/linux/generic/patches-3.18/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-3.18/404-mtd-add-more-helper-functions.patch
index b2f62c115d..b2f62c115d 100644
--- a/target/linux/generic/patches-3.18/404-mtd-add-more-helper-functions.patch
+++ b/target/linux/generic/pending-3.18/404-mtd-add-more-helper-functions.patch
diff --git a/target/linux/generic/patches-3.18/405-mtd-old-firmware-uimage-splitter.patch b/target/linux/generic/pending-3.18/405-mtd-old-firmware-uimage-splitter.patch
index 7e74c4e538..7e74c4e538 100644
--- a/target/linux/generic/patches-3.18/405-mtd-old-firmware-uimage-splitter.patch
+++ b/target/linux/generic/pending-3.18/405-mtd-old-firmware-uimage-splitter.patch
diff --git a/target/linux/generic/patches-3.18/406-mtd-old-rootfs-squashfs-splitter.patch b/target/linux/generic/pending-3.18/406-mtd-old-rootfs-squashfs-splitter.patch
index cc548efb60..cc548efb60 100644
--- a/target/linux/generic/patches-3.18/406-mtd-old-rootfs-squashfs-splitter.patch
+++ b/target/linux/generic/pending-3.18/406-mtd-old-rootfs-squashfs-splitter.patch
diff --git a/target/linux/generic/patches-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch b/target/linux/generic/pending-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
index 78ebbf88ca..78ebbf88ca 100644
--- a/target/linux/generic/patches-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
+++ b/target/linux/generic/pending-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
diff --git a/target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch b/target/linux/generic/pending-3.18/411-mtd-partial_eraseblock_write.patch
index 5d5c6ed5d3..5d5c6ed5d3 100644
--- a/target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch
+++ b/target/linux/generic/pending-3.18/411-mtd-partial_eraseblock_write.patch
diff --git a/target/linux/generic/patches-3.18/412-mtd-partial_eraseblock_unlock.patch b/target/linux/generic/pending-3.18/412-mtd-partial_eraseblock_unlock.patch
index 62f9d5bad0..62f9d5bad0 100644
--- a/target/linux/generic/patches-3.18/412-mtd-partial_eraseblock_unlock.patch
+++ b/target/linux/generic/pending-3.18/412-mtd-partial_eraseblock_unlock.patch
diff --git a/target/linux/generic/patches-3.18/420-mtd-redboot_space.patch b/target/linux/generic/pending-3.18/420-mtd-redboot_space.patch
index f74affcef7..f74affcef7 100644
--- a/target/linux/generic/patches-3.18/420-mtd-redboot_space.patch
+++ b/target/linux/generic/pending-3.18/420-mtd-redboot_space.patch
diff --git a/target/linux/generic/patches-3.18/430-mtd-add-myloader-partition-parser.patch b/target/linux/generic/pending-3.18/430-mtd-add-myloader-partition-parser.patch
index 25e0ecd048..25e0ecd048 100644
--- a/target/linux/generic/patches-3.18/430-mtd-add-myloader-partition-parser.patch
+++ b/target/linux/generic/pending-3.18/430-mtd-add-myloader-partition-parser.patch
diff --git a/target/linux/generic/patches-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch b/target/linux/generic/pending-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
index 5ad82f1f51..5ad82f1f51 100644
--- a/target/linux/generic/patches-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
+++ b/target/linux/generic/pending-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
diff --git a/target/linux/generic/patches-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch b/target/linux/generic/pending-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
index 9e5ca91e55..9e5ca91e55 100644
--- a/target/linux/generic/patches-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
+++ b/target/linux/generic/pending-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
diff --git a/target/linux/generic/patches-3.18/440-block2mtd_init.patch b/target/linux/generic/pending-3.18/440-block2mtd_init.patch
index 5ab60265a3..5ab60265a3 100644
--- a/target/linux/generic/patches-3.18/440-block2mtd_init.patch
+++ b/target/linux/generic/pending-3.18/440-block2mtd_init.patch
diff --git a/target/linux/generic/patches-3.18/441-block2mtd_probe.patch b/target/linux/generic/pending-3.18/441-block2mtd_probe.patch
index 6836a48e39..6836a48e39 100644
--- a/target/linux/generic/patches-3.18/441-block2mtd_probe.patch
+++ b/target/linux/generic/pending-3.18/441-block2mtd_probe.patch
diff --git a/target/linux/generic/patches-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch b/target/linux/generic/pending-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch
index 0f5abaa723..0f5abaa723 100644
--- a/target/linux/generic/patches-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch
+++ b/target/linux/generic/pending-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch
diff --git a/target/linux/generic/patches-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch b/target/linux/generic/pending-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch
index 6a2092ce20..6a2092ce20 100644
--- a/target/linux/generic/patches-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch
+++ b/target/linux/generic/pending-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch
diff --git a/target/linux/generic/patches-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/pending-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
index 68fbd12466..68fbd12466 100644
--- a/target/linux/generic/patches-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
+++ b/target/linux/generic/pending-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
diff --git a/target/linux/generic/patches-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
index c437a140f0..c437a140f0 100644
--- a/target/linux/generic/patches-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
+++ b/target/linux/generic/pending-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
diff --git a/target/linux/generic/patches-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch b/target/linux/generic/pending-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch
index f059aa777e..f059aa777e 100644
--- a/target/linux/generic/patches-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch
+++ b/target/linux/generic/pending-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch
diff --git a/target/linux/generic/patches-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch b/target/linux/generic/pending-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch
index 9ba7a4ab2f..9ba7a4ab2f 100644
--- a/target/linux/generic/patches-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch
+++ b/target/linux/generic/pending-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch
diff --git a/target/linux/generic/patches-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch b/target/linux/generic/pending-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch
index b06ac73fae..b06ac73fae 100644
--- a/target/linux/generic/patches-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch
+++ b/target/linux/generic/pending-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch
diff --git a/target/linux/generic/patches-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch b/target/linux/generic/pending-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch
index 72c083232e..72c083232e 100644
--- a/target/linux/generic/patches-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch
+++ b/target/linux/generic/pending-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch
diff --git a/target/linux/generic/patches-3.18/480-mtd-set-rootfs-to-be-root-dev.patch b/target/linux/generic/pending-3.18/480-mtd-set-rootfs-to-be-root-dev.patch
index 8fc3578a66..8fc3578a66 100644
--- a/target/linux/generic/patches-3.18/480-mtd-set-rootfs-to-be-root-dev.patch
+++ b/target/linux/generic/pending-3.18/480-mtd-set-rootfs-to-be-root-dev.patch
diff --git a/target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/pending-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
index bca3487d18..bca3487d18 100644
--- a/target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
+++ b/target/linux/generic/pending-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
diff --git a/target/linux/generic/patches-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch b/target/linux/generic/pending-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
index b152fba1b3..b152fba1b3 100644
--- a/target/linux/generic/patches-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
+++ b/target/linux/generic/pending-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
diff --git a/target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch b/target/linux/generic/pending-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
index 54a2f8259c..54a2f8259c 100644
--- a/target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
+++ b/target/linux/generic/pending-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
diff --git a/target/linux/generic/patches-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/target/linux/generic/pending-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
index 46917d12d2..46917d12d2 100644
--- a/target/linux/generic/patches-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
+++ b/target/linux/generic/pending-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
diff --git a/target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/pending-3.18/494-mtd-ubi-add-EOF-marker-support.patch
index 4b5eb4568d..4b5eb4568d 100644
--- a/target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch
+++ b/target/linux/generic/pending-3.18/494-mtd-ubi-add-EOF-marker-support.patch
diff --git a/target/linux/generic/patches-3.18/530-jffs2_make_lzma_available.patch b/target/linux/generic/pending-3.18/530-jffs2_make_lzma_available.patch
index c92209a72c..c92209a72c 100644
--- a/target/linux/generic/patches-3.18/530-jffs2_make_lzma_available.patch
+++ b/target/linux/generic/pending-3.18/530-jffs2_make_lzma_available.patch
diff --git a/target/linux/generic/patches-3.18/531-debloat_lzma.patch b/target/linux/generic/pending-3.18/531-debloat_lzma.patch
index aa3c498016..aa3c498016 100644
--- a/target/linux/generic/patches-3.18/531-debloat_lzma.patch
+++ b/target/linux/generic/pending-3.18/531-debloat_lzma.patch
diff --git a/target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch b/target/linux/generic/pending-3.18/532-jffs2_eofdetect.patch
index 8ce53d8bed..8ce53d8bed 100644
--- a/target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch
+++ b/target/linux/generic/pending-3.18/532-jffs2_eofdetect.patch
diff --git a/target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch b/target/linux/generic/pending-3.18/550-ubifs-symlink-xattr-support.patch
index 42ae9cb84a..42ae9cb84a 100644
--- a/target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch
+++ b/target/linux/generic/pending-3.18/550-ubifs-symlink-xattr-support.patch
diff --git a/target/linux/generic/patches-3.18/551-ubifs-fix-default-compression-selection.patch b/target/linux/generic/pending-3.18/551-ubifs-fix-default-compression-selection.patch
index 1b0f30718c..1b0f30718c 100644
--- a/target/linux/generic/patches-3.18/551-ubifs-fix-default-compression-selection.patch
+++ b/target/linux/generic/pending-3.18/551-ubifs-fix-default-compression-selection.patch
diff --git a/target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch b/target/linux/generic/pending-3.18/600-netfilter_conntrack_flush.patch
index bc6ed3e5d7..bc6ed3e5d7 100644
--- a/target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch
+++ b/target/linux/generic/pending-3.18/600-netfilter_conntrack_flush.patch
diff --git a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-3.18/610-netfilter_match_bypass_default_checks.patch
index 74be425049..74be425049 100644
--- a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/pending-3.18/610-netfilter_match_bypass_default_checks.patch
diff --git a/target/linux/generic/patches-3.18/611-netfilter_match_bypass_default_table.patch b/target/linux/generic/pending-3.18/611-netfilter_match_bypass_default_table.patch
index ef993c864b..ef993c864b 100644
--- a/target/linux/generic/patches-3.18/611-netfilter_match_bypass_default_table.patch
+++ b/target/linux/generic/pending-3.18/611-netfilter_match_bypass_default_table.patch
diff --git a/target/linux/generic/patches-3.18/612-netfilter_match_reduce_memory_access.patch b/target/linux/generic/pending-3.18/612-netfilter_match_reduce_memory_access.patch
index 72172d8bb4..72172d8bb4 100644
--- a/target/linux/generic/patches-3.18/612-netfilter_match_reduce_memory_access.patch
+++ b/target/linux/generic/pending-3.18/612-netfilter_match_reduce_memory_access.patch
diff --git a/target/linux/generic/patches-3.18/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-3.18/613-netfilter_optional_tcp_window_check.patch
index 1d3b37cc10..1d3b37cc10 100644
--- a/target/linux/generic/patches-3.18/613-netfilter_optional_tcp_window_check.patch
+++ b/target/linux/generic/pending-3.18/613-netfilter_optional_tcp_window_check.patch
diff --git a/target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch b/target/linux/generic/pending-3.18/616-net_optimize_xfrm_calls.patch
index 2a64d5420a..2a64d5420a 100644
--- a/target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch
+++ b/target/linux/generic/pending-3.18/616-net_optimize_xfrm_calls.patch
diff --git a/target/linux/generic/patches-3.18/621-sched_act_connmark.patch b/target/linux/generic/pending-3.18/621-sched_act_connmark.patch
index 72d8e53433..72d8e53433 100644
--- a/target/linux/generic/patches-3.18/621-sched_act_connmark.patch
+++ b/target/linux/generic/pending-3.18/621-sched_act_connmark.patch
diff --git a/target/linux/generic/patches-3.18/630-packet_socket_type.patch b/target/linux/generic/pending-3.18/630-packet_socket_type.patch
index 61ddea84c6..61ddea84c6 100644
--- a/target/linux/generic/patches-3.18/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-3.18/630-packet_socket_type.patch
diff --git a/target/linux/generic/patches-3.18/640-bridge_no_eap_forward.patch b/target/linux/generic/pending-3.18/640-bridge_no_eap_forward.patch
index 35802d63dc..35802d63dc 100644
--- a/target/linux/generic/patches-3.18/640-bridge_no_eap_forward.patch
+++ b/target/linux/generic/pending-3.18/640-bridge_no_eap_forward.patch
diff --git a/target/linux/generic/patches-3.18/641-bridge_always_accept_eap.patch b/target/linux/generic/pending-3.18/641-bridge_always_accept_eap.patch
index a822fb0dc9..a822fb0dc9 100644
--- a/target/linux/generic/patches-3.18/641-bridge_always_accept_eap.patch
+++ b/target/linux/generic/pending-3.18/641-bridge_always_accept_eap.patch
diff --git a/target/linux/generic/patches-3.18/642-bridge_port_isolate.patch b/target/linux/generic/pending-3.18/642-bridge_port_isolate.patch
index d231f881b9..d231f881b9 100644
--- a/target/linux/generic/patches-3.18/642-bridge_port_isolate.patch
+++ b/target/linux/generic/pending-3.18/642-bridge_port_isolate.patch
diff --git a/target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch b/target/linux/generic/pending-3.18/645-bridge_multicast_to_unicast.patch
index 1226770a3b..1226770a3b 100644
--- a/target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch
+++ b/target/linux/generic/pending-3.18/645-bridge_multicast_to_unicast.patch
diff --git a/target/linux/generic/patches-3.18/650-pppoe_header_pad.patch b/target/linux/generic/pending-3.18/650-pppoe_header_pad.patch
index eb9b4bfd15..eb9b4bfd15 100644
--- a/target/linux/generic/patches-3.18/650-pppoe_header_pad.patch
+++ b/target/linux/generic/pending-3.18/650-pppoe_header_pad.patch
diff --git a/target/linux/generic/patches-3.18/651-wireless_mesh_header.patch b/target/linux/generic/pending-3.18/651-wireless_mesh_header.patch
index 16da5cd66f..16da5cd66f 100644
--- a/target/linux/generic/patches-3.18/651-wireless_mesh_header.patch
+++ b/target/linux/generic/pending-3.18/651-wireless_mesh_header.patch
diff --git a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch b/target/linux/generic/pending-3.18/653-disable_netlink_trim.patch
index b38b87b48f..b38b87b48f 100644
--- a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
+++ b/target/linux/generic/pending-3.18/653-disable_netlink_trim.patch
diff --git a/target/linux/generic/patches-3.18/655-increase_skb_pad.patch b/target/linux/generic/pending-3.18/655-increase_skb_pad.patch
index 19344cca3f..19344cca3f 100644
--- a/target/linux/generic/patches-3.18/655-increase_skb_pad.patch
+++ b/target/linux/generic/pending-3.18/655-increase_skb_pad.patch
diff --git a/target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch b/target/linux/generic/pending-3.18/656-skb_reduce_truesize-helper.patch
index b326a8b727..b326a8b727 100644
--- a/target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch
+++ b/target/linux/generic/pending-3.18/656-skb_reduce_truesize-helper.patch
diff --git a/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch b/target/linux/generic/pending-3.18/657-qdisc_reduce_truesize.patch
index 410e0b763d..410e0b763d 100644
--- a/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch
+++ b/target/linux/generic/pending-3.18/657-qdisc_reduce_truesize.patch
diff --git a/target/linux/generic/patches-3.18/660-fq_codel_defaults.patch b/target/linux/generic/pending-3.18/660-fq_codel_defaults.patch
index 8a870cccc1..8a870cccc1 100644
--- a/target/linux/generic/patches-3.18/660-fq_codel_defaults.patch
+++ b/target/linux/generic/pending-3.18/660-fq_codel_defaults.patch
diff --git a/target/linux/generic/patches-3.18/661-fq_codel_keep_dropped_stats.patch b/target/linux/generic/pending-3.18/661-fq_codel_keep_dropped_stats.patch
index 45a8d68367..45a8d68367 100644
--- a/target/linux/generic/patches-3.18/661-fq_codel_keep_dropped_stats.patch
+++ b/target/linux/generic/pending-3.18/661-fq_codel_keep_dropped_stats.patch
diff --git a/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch b/target/linux/generic/pending-3.18/662-use_fq_codel_by_default.patch
index 39abfaabea..39abfaabea 100644
--- a/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
+++ b/target/linux/generic/pending-3.18/662-use_fq_codel_by_default.patch
diff --git a/target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch b/target/linux/generic/pending-3.18/663-remove_pfifo_fast.patch
index 50b90b375f..50b90b375f 100644
--- a/target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch
+++ b/target/linux/generic/pending-3.18/663-remove_pfifo_fast.patch
diff --git a/target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
index 000665f047..000665f047 100644
--- a/target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
+++ b/target/linux/generic/pending-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
diff --git a/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch b/target/linux/generic/pending-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch
index 0c951069c2..0c951069c2 100644
--- a/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch
+++ b/target/linux/generic/pending-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch
diff --git a/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 1bf9dc99dc..1bf9dc99dc 100644
--- a/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
diff --git a/target/linux/generic/patches-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch b/target/linux/generic/pending-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
index 25a8639397..25a8639397 100644
--- a/target/linux/generic/patches-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
+++ b/target/linux/generic/pending-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
diff --git a/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 714097bca0..714097bca0 100644
--- a/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
diff --git a/target/linux/generic/patches-3.18/681-NET-add-of_get_mac_address_mtd.patch b/target/linux/generic/pending-3.18/681-NET-add-of_get_mac_address_mtd.patch
index a836eed867..a836eed867 100644
--- a/target/linux/generic/patches-3.18/681-NET-add-of_get_mac_address_mtd.patch
+++ b/target/linux/generic/pending-3.18/681-NET-add-of_get_mac_address_mtd.patch
diff --git a/target/linux/generic/patches-3.18/700-swconfig.patch b/target/linux/generic/pending-3.18/700-swconfig.patch
index 7cf525a509..7cf525a509 100644
--- a/target/linux/generic/patches-3.18/700-swconfig.patch
+++ b/target/linux/generic/pending-3.18/700-swconfig.patch
diff --git a/target/linux/generic/patches-3.18/701-phy_extension.patch b/target/linux/generic/pending-3.18/701-phy_extension.patch
index 5c63dbec62..5c63dbec62 100644
--- a/target/linux/generic/patches-3.18/701-phy_extension.patch
+++ b/target/linux/generic/pending-3.18/701-phy_extension.patch
diff --git a/target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch b/target/linux/generic/pending-3.18/702-phy_add_aneg_done_function.patch
index bc9515217a..bc9515217a 100644
--- a/target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch
+++ b/target/linux/generic/pending-3.18/702-phy_add_aneg_done_function.patch
diff --git a/target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch
index 061e40fb49..061e40fb49 100644
--- a/target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch
+++ b/target/linux/generic/pending-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch
diff --git a/target/linux/generic/patches-3.18/704-phy-no-genphy-soft-reset.patch b/target/linux/generic/pending-3.18/704-phy-no-genphy-soft-reset.patch
index 0350f9efe4..0350f9efe4 100644
--- a/target/linux/generic/patches-3.18/704-phy-no-genphy-soft-reset.patch
+++ b/target/linux/generic/pending-3.18/704-phy-no-genphy-soft-reset.patch
diff --git a/target/linux/generic/patches-3.18/710-phy-add-mdio_register_board_info.patch b/target/linux/generic/pending-3.18/710-phy-add-mdio_register_board_info.patch
index cc3cb2445d..cc3cb2445d 100644
--- a/target/linux/generic/patches-3.18/710-phy-add-mdio_register_board_info.patch
+++ b/target/linux/generic/pending-3.18/710-phy-add-mdio_register_board_info.patch
diff --git a/target/linux/generic/patches-3.18/720-phy_adm6996.patch b/target/linux/generic/pending-3.18/720-phy_adm6996.patch
index b0b8db4e5d..b0b8db4e5d 100644
--- a/target/linux/generic/patches-3.18/720-phy_adm6996.patch
+++ b/target/linux/generic/pending-3.18/720-phy_adm6996.patch
diff --git a/target/linux/generic/patches-3.18/721-phy_packets.patch b/target/linux/generic/pending-3.18/721-phy_packets.patch
index 99811c6242..99811c6242 100644
--- a/target/linux/generic/patches-3.18/721-phy_packets.patch
+++ b/target/linux/generic/pending-3.18/721-phy_packets.patch
diff --git a/target/linux/generic/patches-3.18/722-phy_mvswitch.patch b/target/linux/generic/pending-3.18/722-phy_mvswitch.patch
index f577a9f684..f577a9f684 100644
--- a/target/linux/generic/patches-3.18/722-phy_mvswitch.patch
+++ b/target/linux/generic/pending-3.18/722-phy_mvswitch.patch
diff --git a/target/linux/generic/patches-3.18/723-phy_ip175c.patch b/target/linux/generic/pending-3.18/723-phy_ip175c.patch
index c7c4f99eec..c7c4f99eec 100644
--- a/target/linux/generic/patches-3.18/723-phy_ip175c.patch
+++ b/target/linux/generic/pending-3.18/723-phy_ip175c.patch
diff --git a/target/linux/generic/patches-3.18/724-phy_ar8216.patch b/target/linux/generic/pending-3.18/724-phy_ar8216.patch
index acb2df8f83..acb2df8f83 100644
--- a/target/linux/generic/patches-3.18/724-phy_ar8216.patch
+++ b/target/linux/generic/pending-3.18/724-phy_ar8216.patch
diff --git a/target/linux/generic/patches-3.18/725-phy_rtl8306.patch b/target/linux/generic/pending-3.18/725-phy_rtl8306.patch
index 78ac6ce98a..78ac6ce98a 100644
--- a/target/linux/generic/patches-3.18/725-phy_rtl8306.patch
+++ b/target/linux/generic/pending-3.18/725-phy_rtl8306.patch
diff --git a/target/linux/generic/patches-3.18/726-phy_rtl8366.patch b/target/linux/generic/pending-3.18/726-phy_rtl8366.patch
index 4a4a4acee0..4a4a4acee0 100644
--- a/target/linux/generic/patches-3.18/726-phy_rtl8366.patch
+++ b/target/linux/generic/pending-3.18/726-phy_rtl8366.patch
diff --git a/target/linux/generic/patches-3.18/727-phy-rtl8367.patch b/target/linux/generic/pending-3.18/727-phy-rtl8367.patch
index 8481b589d9..8481b589d9 100644
--- a/target/linux/generic/patches-3.18/727-phy-rtl8367.patch
+++ b/target/linux/generic/pending-3.18/727-phy-rtl8367.patch
diff --git a/target/linux/generic/patches-3.18/728-phy-rtl8367b.patch b/target/linux/generic/pending-3.18/728-phy-rtl8367b.patch
index 958ff58907..958ff58907 100644
--- a/target/linux/generic/patches-3.18/728-phy-rtl8367b.patch
+++ b/target/linux/generic/pending-3.18/728-phy-rtl8367b.patch
diff --git a/target/linux/generic/patches-3.18/729-phy-tantos.patch b/target/linux/generic/pending-3.18/729-phy-tantos.patch
index 019f919492..019f919492 100644
--- a/target/linux/generic/patches-3.18/729-phy-tantos.patch
+++ b/target/linux/generic/pending-3.18/729-phy-tantos.patch
diff --git a/target/linux/generic/patches-3.18/730-phy_b53.patch b/target/linux/generic/pending-3.18/730-phy_b53.patch
index 03fc369c9d..03fc369c9d 100644
--- a/target/linux/generic/patches-3.18/730-phy_b53.patch
+++ b/target/linux/generic/pending-3.18/730-phy_b53.patch
diff --git a/target/linux/generic/patches-3.18/732-phy-ar8216-led-support.patch b/target/linux/generic/pending-3.18/732-phy-ar8216-led-support.patch
index c753967572..c753967572 100644
--- a/target/linux/generic/patches-3.18/732-phy-ar8216-led-support.patch
+++ b/target/linux/generic/pending-3.18/732-phy-ar8216-led-support.patch
diff --git a/target/linux/generic/patches-3.18/733-phy_mvsw61xx.patch b/target/linux/generic/pending-3.18/733-phy_mvsw61xx.patch
index 041d168b65..041d168b65 100644
--- a/target/linux/generic/patches-3.18/733-phy_mvsw61xx.patch
+++ b/target/linux/generic/pending-3.18/733-phy_mvsw61xx.patch
diff --git a/target/linux/generic/patches-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch b/target/linux/generic/pending-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch
index 0d021ac7bd..0d021ac7bd 100644
--- a/target/linux/generic/patches-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch
+++ b/target/linux/generic/pending-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch
diff --git a/target/linux/generic/patches-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch b/target/linux/generic/pending-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
index 4a8f532aa3..4a8f532aa3 100644
--- a/target/linux/generic/patches-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
+++ b/target/linux/generic/pending-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
diff --git a/target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch b/target/linux/generic/pending-3.18/760-8139cp-fixes-from-4.3.patch
index 7051843b74..7051843b74 100644
--- a/target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch
+++ b/target/linux/generic/pending-3.18/760-8139cp-fixes-from-4.3.patch
diff --git a/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch b/target/linux/generic/pending-3.18/773-bgmac-add-srab-switch.patch
index 52fc252447..52fc252447 100644
--- a/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
+++ b/target/linux/generic/pending-3.18/773-bgmac-add-srab-switch.patch
diff --git a/target/linux/generic/patches-3.18/785-hso-support-0af0-9300.patch b/target/linux/generic/pending-3.18/785-hso-support-0af0-9300.patch
index 50bccc4df5..50bccc4df5 100644
--- a/target/linux/generic/patches-3.18/785-hso-support-0af0-9300.patch
+++ b/target/linux/generic/pending-3.18/785-hso-support-0af0-9300.patch
diff --git a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-3.18/810-pci_disable_common_quirks.patch
index 5155bcdadf..5155bcdadf 100644
--- a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/pending-3.18/810-pci_disable_common_quirks.patch
diff --git a/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-3.18/811-pci_disable_usb_common_quirks.patch
index a7bf0bb9fa..a7bf0bb9fa 100644
--- a/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/pending-3.18/811-pci_disable_usb_common_quirks.patch
diff --git a/target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch b/target/linux/generic/pending-3.18/821-usb-dwc2-dualrole.patch
index 9e841cb642..9e841cb642 100644
--- a/target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch
+++ b/target/linux/generic/pending-3.18/821-usb-dwc2-dualrole.patch
diff --git a/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch b/target/linux/generic/pending-3.18/831-ledtrig_netdev.patch
index 3b46b4a9f4..3b46b4a9f4 100644
--- a/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
+++ b/target/linux/generic/pending-3.18/831-ledtrig_netdev.patch
diff --git a/target/linux/generic/patches-3.18/834-ledtrig-libata.patch b/target/linux/generic/pending-3.18/834-ledtrig-libata.patch
index d0aee1c2d0..d0aee1c2d0 100644
--- a/target/linux/generic/patches-3.18/834-ledtrig-libata.patch
+++ b/target/linux/generic/pending-3.18/834-ledtrig-libata.patch
diff --git a/target/linux/generic/patches-3.18/840-rtc7301.patch b/target/linux/generic/pending-3.18/840-rtc7301.patch
index 2134d87476..2134d87476 100644
--- a/target/linux/generic/patches-3.18/840-rtc7301.patch
+++ b/target/linux/generic/pending-3.18/840-rtc7301.patch
diff --git a/target/linux/generic/patches-3.18/841-rtc_pt7c4338.patch b/target/linux/generic/pending-3.18/841-rtc_pt7c4338.patch
index 83b0232e13..83b0232e13 100644
--- a/target/linux/generic/patches-3.18/841-rtc_pt7c4338.patch
+++ b/target/linux/generic/pending-3.18/841-rtc_pt7c4338.patch
diff --git a/target/linux/generic/patches-3.18/861-04_spi_gpio_implement_spi_delay.patch b/target/linux/generic/pending-3.18/861-04_spi_gpio_implement_spi_delay.patch
index e7b32a50bc..e7b32a50bc 100644
--- a/target/linux/generic/patches-3.18/861-04_spi_gpio_implement_spi_delay.patch
+++ b/target/linux/generic/pending-3.18/861-04_spi_gpio_implement_spi_delay.patch
diff --git a/target/linux/generic/patches-3.18/862-gpio_spi_driver.patch b/target/linux/generic/pending-3.18/862-gpio_spi_driver.patch
index 70bf11f8f5..70bf11f8f5 100644
--- a/target/linux/generic/patches-3.18/862-gpio_spi_driver.patch
+++ b/target/linux/generic/pending-3.18/862-gpio_spi_driver.patch
diff --git a/target/linux/generic/patches-3.18/870-hifn795x_byteswap.patch b/target/linux/generic/pending-3.18/870-hifn795x_byteswap.patch
index 3a37c951ec..3a37c951ec 100644
--- a/target/linux/generic/patches-3.18/870-hifn795x_byteswap.patch
+++ b/target/linux/generic/pending-3.18/870-hifn795x_byteswap.patch
diff --git a/target/linux/generic/patches-3.18/890-8250_optional_sysrq.patch b/target/linux/generic/pending-3.18/890-8250_optional_sysrq.patch
index 8815e4c644..8815e4c644 100644
--- a/target/linux/generic/patches-3.18/890-8250_optional_sysrq.patch
+++ b/target/linux/generic/pending-3.18/890-8250_optional_sysrq.patch
diff --git a/target/linux/generic/patches-3.18/901-debloat_sock_diag.patch b/target/linux/generic/pending-3.18/901-debloat_sock_diag.patch
index 99f23a027e..99f23a027e 100644
--- a/target/linux/generic/patches-3.18/901-debloat_sock_diag.patch
+++ b/target/linux/generic/pending-3.18/901-debloat_sock_diag.patch
diff --git a/target/linux/generic/patches-3.18/902-debloat_proc.patch b/target/linux/generic/pending-3.18/902-debloat_proc.patch
index 79cecf90d4..79cecf90d4 100644
--- a/target/linux/generic/patches-3.18/902-debloat_proc.patch
+++ b/target/linux/generic/pending-3.18/902-debloat_proc.patch
diff --git a/target/linux/generic/patches-3.18/904-debloat_dma_buf.patch b/target/linux/generic/pending-3.18/904-debloat_dma_buf.patch
index a5e0be2496..a5e0be2496 100644
--- a/target/linux/generic/patches-3.18/904-debloat_dma_buf.patch
+++ b/target/linux/generic/pending-3.18/904-debloat_dma_buf.patch
diff --git a/target/linux/generic/patches-3.18/910-kobject_uevent.patch b/target/linux/generic/pending-3.18/910-kobject_uevent.patch
index f69294b4fe..f69294b4fe 100644
--- a/target/linux/generic/patches-3.18/910-kobject_uevent.patch
+++ b/target/linux/generic/pending-3.18/910-kobject_uevent.patch
diff --git a/target/linux/generic/patches-3.18/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/pending-3.18/911-kobject_add_broadcast_uevent.patch
index 6e4c140291..6e4c140291 100644
--- a/target/linux/generic/patches-3.18/911-kobject_add_broadcast_uevent.patch
+++ b/target/linux/generic/pending-3.18/911-kobject_add_broadcast_uevent.patch
diff --git a/target/linux/generic/patches-3.18/921-use_preinit_as_init.patch b/target/linux/generic/pending-3.18/921-use_preinit_as_init.patch
index 57c2fe27be..57c2fe27be 100644
--- a/target/linux/generic/patches-3.18/921-use_preinit_as_init.patch
+++ b/target/linux/generic/pending-3.18/921-use_preinit_as_init.patch
diff --git a/target/linux/generic/patches-3.18/922-always-create-console-node-in-initramfs.patch b/target/linux/generic/pending-3.18/922-always-create-console-node-in-initramfs.patch
index 988de35ce0..988de35ce0 100644
--- a/target/linux/generic/patches-3.18/922-always-create-console-node-in-initramfs.patch
+++ b/target/linux/generic/pending-3.18/922-always-create-console-node-in-initramfs.patch
diff --git a/target/linux/generic/patches-3.18/930-crashlog.patch b/target/linux/generic/pending-3.18/930-crashlog.patch
index 9b0eb732df..9b0eb732df 100644
--- a/target/linux/generic/patches-3.18/930-crashlog.patch
+++ b/target/linux/generic/pending-3.18/930-crashlog.patch
diff --git a/target/linux/generic/patches-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch b/target/linux/generic/pending-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch
index ac13c9e673..ac13c9e673 100644
--- a/target/linux/generic/patches-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch
+++ b/target/linux/generic/pending-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch
diff --git a/target/linux/generic/patches-3.18/980-arm_openwrt_machtypes.patch b/target/linux/generic/pending-3.18/980-arm_openwrt_machtypes.patch
index 5e9718b61d..5e9718b61d 100644
--- a/target/linux/generic/patches-3.18/980-arm_openwrt_machtypes.patch
+++ b/target/linux/generic/pending-3.18/980-arm_openwrt_machtypes.patch
diff --git a/target/linux/generic/patches-3.18/990-gpio_wdt.patch b/target/linux/generic/pending-3.18/990-gpio_wdt.patch
index 47422734f3..47422734f3 100644
--- a/target/linux/generic/patches-3.18/990-gpio_wdt.patch
+++ b/target/linux/generic/pending-3.18/990-gpio_wdt.patch
diff --git a/target/linux/generic/patches-3.18/995-mangle_bootargs.patch b/target/linux/generic/pending-3.18/995-mangle_bootargs.patch
index 0029e90822..0029e90822 100644
--- a/target/linux/generic/patches-3.18/995-mangle_bootargs.patch
+++ b/target/linux/generic/pending-3.18/995-mangle_bootargs.patch
diff --git a/target/linux/generic/patches-3.18/997-device_tree_cmdline.patch b/target/linux/generic/pending-3.18/997-device_tree_cmdline.patch
index dd725b01b1..dd725b01b1 100644
--- a/target/linux/generic/patches-3.18/997-device_tree_cmdline.patch
+++ b/target/linux/generic/pending-3.18/997-device_tree_cmdline.patch
diff --git a/target/linux/generic/patches-3.18/998-enable_wilink_platform_without_drivers.patch b/target/linux/generic/pending-3.18/998-enable_wilink_platform_without_drivers.patch
index d317de1102..d317de1102 100644
--- a/target/linux/generic/patches-3.18/998-enable_wilink_platform_without_drivers.patch
+++ b/target/linux/generic/pending-3.18/998-enable_wilink_platform_without_drivers.patch
diff --git a/target/linux/generic/patches-3.18/999-seccomp_log.patch b/target/linux/generic/pending-3.18/999-seccomp_log.patch
index 1db6b18d4e..1db6b18d4e 100644
--- a/target/linux/generic/patches-3.18/999-seccomp_log.patch
+++ b/target/linux/generic/pending-3.18/999-seccomp_log.patch
diff --git a/target/linux/generic/patches-4.4/001-mtdsplit_backport.patch b/target/linux/generic/pending-4.4/001-mtdsplit_backport.patch
index 97cd62d75c..97cd62d75c 100644
--- a/target/linux/generic/patches-4.4/001-mtdsplit_backport.patch
+++ b/target/linux/generic/pending-4.4/001-mtdsplit_backport.patch
diff --git a/target/linux/generic/patches-4.4/002-phy_drivers_backport.patch b/target/linux/generic/pending-4.4/002-phy_drivers_backport.patch
index fe0c059371..fe0c059371 100644
--- a/target/linux/generic/patches-4.4/002-phy_drivers_backport.patch
+++ b/target/linux/generic/pending-4.4/002-phy_drivers_backport.patch
diff --git a/target/linux/generic/patches-4.4/003-myloader_backport.patch b/target/linux/generic/pending-4.4/003-myloader_backport.patch
index 846b25dc04..846b25dc04 100644
--- a/target/linux/generic/patches-4.4/003-myloader_backport.patch
+++ b/target/linux/generic/pending-4.4/003-myloader_backport.patch
diff --git a/target/linux/generic/patches-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch b/target/linux/generic/pending-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch
index f6c9d1edad..f6c9d1edad 100644
--- a/target/linux/generic/patches-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch
+++ b/target/linux/generic/pending-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch
diff --git a/target/linux/generic/patches-4.4/020-bcma-from-4.5.patch b/target/linux/generic/pending-4.4/020-bcma-from-4.5.patch
index c5d7bc7e5e..c5d7bc7e5e 100644
--- a/target/linux/generic/patches-4.4/020-bcma-from-4.5.patch
+++ b/target/linux/generic/pending-4.4/020-bcma-from-4.5.patch
diff --git a/target/linux/generic/patches-4.4/021-bcma-from-4.6.patch b/target/linux/generic/pending-4.4/021-bcma-from-4.6.patch
index dede2f1f23..dede2f1f23 100644
--- a/target/linux/generic/patches-4.4/021-bcma-from-4.6.patch
+++ b/target/linux/generic/pending-4.4/021-bcma-from-4.6.patch
diff --git a/target/linux/generic/patches-4.4/022-bcma-from-4.8.patch b/target/linux/generic/pending-4.4/022-bcma-from-4.8.patch
index 3ff4e94967..3ff4e94967 100644
--- a/target/linux/generic/patches-4.4/022-bcma-from-4.8.patch
+++ b/target/linux/generic/pending-4.4/022-bcma-from-4.8.patch
diff --git a/target/linux/generic/patches-4.4/023-bcma-from-4.9.patch b/target/linux/generic/pending-4.4/023-bcma-from-4.9.patch
index 027054c162..027054c162 100644
--- a/target/linux/generic/patches-4.4/023-bcma-from-4.9.patch
+++ b/target/linux/generic/pending-4.4/023-bcma-from-4.9.patch
diff --git a/target/linux/generic/patches-4.4/025-bcma-from-4.11.patch b/target/linux/generic/pending-4.4/025-bcma-from-4.11.patch
index a3b0321986..a3b0321986 100644
--- a/target/linux/generic/patches-4.4/025-bcma-from-4.11.patch
+++ b/target/linux/generic/pending-4.4/025-bcma-from-4.11.patch
diff --git a/target/linux/generic/patches-4.4/026-bcma-from-4.12.patch b/target/linux/generic/pending-4.4/026-bcma-from-4.12.patch
index bd7d643cbb..bd7d643cbb 100644
--- a/target/linux/generic/patches-4.4/026-bcma-from-4.12.patch
+++ b/target/linux/generic/pending-4.4/026-bcma-from-4.12.patch
diff --git a/target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/pending-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 36fb936e32..36fb936e32 100644
--- a/target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/pending-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/pending-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 6312f0f731..6312f0f731 100644
--- a/target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/pending-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch b/target/linux/generic/pending-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
index aee8aa9805..aee8aa9805 100644
--- a/target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
+++ b/target/linux/generic/pending-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
diff --git a/target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/pending-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 4d0fcf6fc2..4d0fcf6fc2 100644
--- a/target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/pending-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/pending-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 4f96041648..4f96041648 100644
--- a/target/linux/generic/patches-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/pending-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/pending-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 2e8bba57e0..2e8bba57e0 100644
--- a/target/linux/generic/patches-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/pending-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/pending-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch
index 541c694bec..541c694bec 100644
--- a/target/linux/generic/patches-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch
+++ b/target/linux/generic/pending-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch
diff --git a/target/linux/generic/patches-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch b/target/linux/generic/pending-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch
index d1390348cb..d1390348cb 100644
--- a/target/linux/generic/patches-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch
+++ b/target/linux/generic/pending-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch
diff --git a/target/linux/generic/patches-4.4/033-fq_codel-add-memory-limitation-per-queue.patch b/target/linux/generic/pending-4.4/033-fq_codel-add-memory-limitation-per-queue.patch
index 455add9eae..455add9eae 100644
--- a/target/linux/generic/patches-4.4/033-fq_codel-add-memory-limitation-per-queue.patch
+++ b/target/linux/generic/pending-4.4/033-fq_codel-add-memory-limitation-per-queue.patch
diff --git a/target/linux/generic/patches-4.4/034-fq_codel-fix-memory-limitation-drift.patch b/target/linux/generic/pending-4.4/034-fq_codel-fix-memory-limitation-drift.patch
index 45fff7bae9..45fff7bae9 100644
--- a/target/linux/generic/patches-4.4/034-fq_codel-fix-memory-limitation-drift.patch
+++ b/target/linux/generic/pending-4.4/034-fq_codel-fix-memory-limitation-drift.patch
diff --git a/target/linux/generic/patches-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch b/target/linux/generic/pending-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch
index a1902fea07..a1902fea07 100644
--- a/target/linux/generic/patches-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch
+++ b/target/linux/generic/pending-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch
diff --git a/target/linux/generic/patches-4.4/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch b/target/linux/generic/pending-4.4/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch
index 8214013c56..8214013c56 100644
--- a/target/linux/generic/patches-4.4/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch
+++ b/target/linux/generic/pending-4.4/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch
diff --git a/target/linux/generic/patches-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch b/target/linux/generic/pending-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch
index 89f1e5eccf..89f1e5eccf 100644
--- a/target/linux/generic/patches-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch
+++ b/target/linux/generic/pending-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch
diff --git a/target/linux/generic/patches-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch b/target/linux/generic/pending-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch
index b7ff055ab1..b7ff055ab1 100644
--- a/target/linux/generic/patches-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch
+++ b/target/linux/generic/pending-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch
diff --git a/target/linux/generic/patches-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch b/target/linux/generic/pending-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch
index c2f2d21d03..c2f2d21d03 100644
--- a/target/linux/generic/patches-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch
+++ b/target/linux/generic/pending-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch
diff --git a/target/linux/generic/patches-4.4/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch b/target/linux/generic/pending-4.4/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch
index a68eaa4594..a68eaa4594 100644
--- a/target/linux/generic/patches-4.4/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch
+++ b/target/linux/generic/pending-4.4/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch
diff --git a/target/linux/generic/patches-4.4/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch b/target/linux/generic/pending-4.4/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch
index ecdae2a871..ecdae2a871 100644
--- a/target/linux/generic/patches-4.4/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch
+++ b/target/linux/generic/pending-4.4/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch
diff --git a/target/linux/generic/patches-4.4/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch b/target/linux/generic/pending-4.4/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch
index 4ef7e7f5d8..4ef7e7f5d8 100644
--- a/target/linux/generic/patches-4.4/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch
+++ b/target/linux/generic/pending-4.4/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch
diff --git a/target/linux/generic/patches-4.4/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch b/target/linux/generic/pending-4.4/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch
index 6c6c8397df..6c6c8397df 100644
--- a/target/linux/generic/patches-4.4/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch
+++ b/target/linux/generic/pending-4.4/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch
diff --git a/target/linux/generic/patches-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch b/target/linux/generic/pending-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch
index b7fd046a23..b7fd046a23 100644
--- a/target/linux/generic/patches-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch
+++ b/target/linux/generic/pending-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch
diff --git a/target/linux/generic/patches-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch b/target/linux/generic/pending-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch
index c4c7e6e01d..c4c7e6e01d 100644
--- a/target/linux/generic/patches-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch
+++ b/target/linux/generic/pending-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch
diff --git a/target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch b/target/linux/generic/pending-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch
index 95de680989..95de680989 100644
--- a/target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch
+++ b/target/linux/generic/pending-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch
diff --git a/target/linux/generic/patches-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch b/target/linux/generic/pending-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch
index 189b96c41c..189b96c41c 100644
--- a/target/linux/generic/patches-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch
+++ b/target/linux/generic/pending-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch
diff --git a/target/linux/generic/patches-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch b/target/linux/generic/pending-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch
index 69a5432fa7..69a5432fa7 100644
--- a/target/linux/generic/patches-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch
+++ b/target/linux/generic/pending-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch
diff --git a/target/linux/generic/patches-4.4/050-backport_netfilter_rtcache.patch b/target/linux/generic/pending-4.4/050-backport_netfilter_rtcache.patch
index ddf5ba96b6..ddf5ba96b6 100644
--- a/target/linux/generic/patches-4.4/050-backport_netfilter_rtcache.patch
+++ b/target/linux/generic/pending-4.4/050-backport_netfilter_rtcache.patch
diff --git a/target/linux/generic/patches-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch b/target/linux/generic/pending-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch
index 79140b9008..79140b9008 100644
--- a/target/linux/generic/patches-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch
+++ b/target/linux/generic/pending-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch
diff --git a/target/linux/generic/patches-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch b/target/linux/generic/pending-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch
index 208bc61ec5..208bc61ec5 100644
--- a/target/linux/generic/patches-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch
+++ b/target/linux/generic/pending-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch
diff --git a/target/linux/generic/patches-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch b/target/linux/generic/pending-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch
index eb095b7a2e..eb095b7a2e 100644
--- a/target/linux/generic/patches-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch
+++ b/target/linux/generic/pending-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch
diff --git a/target/linux/generic/patches-4.4/052-01-ubifs-Implement-O_TMPFILE.patch b/target/linux/generic/pending-4.4/052-01-ubifs-Implement-O_TMPFILE.patch
index 1c55a89acf..1c55a89acf 100644
--- a/target/linux/generic/patches-4.4/052-01-ubifs-Implement-O_TMPFILE.patch
+++ b/target/linux/generic/pending-4.4/052-01-ubifs-Implement-O_TMPFILE.patch
diff --git a/target/linux/generic/patches-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch b/target/linux/generic/pending-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch
index c2ec904939..c2ec904939 100644
--- a/target/linux/generic/patches-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch
+++ b/target/linux/generic/pending-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch
diff --git a/target/linux/generic/patches-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch b/target/linux/generic/pending-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch
index 1830cd0eeb..1830cd0eeb 100644
--- a/target/linux/generic/patches-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch
+++ b/target/linux/generic/pending-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch
diff --git a/target/linux/generic/patches-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch b/target/linux/generic/pending-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch
index 81129359d3..81129359d3 100644
--- a/target/linux/generic/patches-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch
+++ b/target/linux/generic/pending-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch
diff --git a/target/linux/generic/patches-4.4/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch b/target/linux/generic/pending-4.4/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch
index 662584ca61..662584ca61 100644
--- a/target/linux/generic/patches-4.4/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch
+++ b/target/linux/generic/pending-4.4/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch
diff --git a/target/linux/generic/patches-4.4/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch b/target/linux/generic/pending-4.4/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch
index 9313cd557e..9313cd557e 100644
--- a/target/linux/generic/patches-4.4/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch
+++ b/target/linux/generic/pending-4.4/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch
diff --git a/target/linux/generic/patches-4.4/060-mips_decompressor_memmove.patch b/target/linux/generic/pending-4.4/060-mips_decompressor_memmove.patch
index d215b80ab2..d215b80ab2 100644
--- a/target/linux/generic/patches-4.4/060-mips_decompressor_memmove.patch
+++ b/target/linux/generic/pending-4.4/060-mips_decompressor_memmove.patch
diff --git a/target/linux/generic/patches-4.4/061-softirq-let-ksoftirqd-do-its-job.patch b/target/linux/generic/pending-4.4/061-softirq-let-ksoftirqd-do-its-job.patch
index a2de48093c..a2de48093c 100644
--- a/target/linux/generic/patches-4.4/061-softirq-let-ksoftirqd-do-its-job.patch
+++ b/target/linux/generic/pending-4.4/061-softirq-let-ksoftirqd-do-its-job.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch b/target/linux/generic/pending-4.4/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch
index cd0d09887f..cd0d09887f 100644
--- a/target/linux/generic/patches-4.4/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch
+++ b/target/linux/generic/pending-4.4/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch b/target/linux/generic/pending-4.4/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch
index 94a37d4437..94a37d4437 100644
--- a/target/linux/generic/patches-4.4/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch
+++ b/target/linux/generic/pending-4.4/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch b/target/linux/generic/pending-4.4/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch
index 41e470b314..41e470b314 100644
--- a/target/linux/generic/patches-4.4/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch
+++ b/target/linux/generic/pending-4.4/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch b/target/linux/generic/pending-4.4/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
index a5fcaab51c..a5fcaab51c 100644
--- a/target/linux/generic/patches-4.4/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
+++ b/target/linux/generic/pending-4.4/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch b/target/linux/generic/pending-4.4/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch
index 8f6d9a9ee7..8f6d9a9ee7 100644
--- a/target/linux/generic/patches-4.4/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch
+++ b/target/linux/generic/pending-4.4/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch b/target/linux/generic/pending-4.4/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch
index 585282b0aa..585282b0aa 100644
--- a/target/linux/generic/patches-4.4/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch
+++ b/target/linux/generic/pending-4.4/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch b/target/linux/generic/pending-4.4/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch
index 1dbe1743df..1dbe1743df 100644
--- a/target/linux/generic/patches-4.4/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch
+++ b/target/linux/generic/pending-4.4/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch
diff --git a/target/linux/generic/patches-4.4/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch b/target/linux/generic/pending-4.4/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch
index 7ce6a09ec3..7ce6a09ec3 100644
--- a/target/linux/generic/patches-4.4/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch
+++ b/target/linux/generic/pending-4.4/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch b/target/linux/generic/pending-4.4/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch
index 3837b60943..3837b60943 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch b/target/linux/generic/pending-4.4/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch
index dd5b8772e3..dd5b8772e3 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch b/target/linux/generic/pending-4.4/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch
index bc7b246cc1..bc7b246cc1 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch b/target/linux/generic/pending-4.4/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch
index 0f627919d0..0f627919d0 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch b/target/linux/generic/pending-4.4/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch
index 5755184949..5755184949 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch b/target/linux/generic/pending-4.4/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch
index e0431c1235..e0431c1235 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch b/target/linux/generic/pending-4.4/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch
index 479094830e..479094830e 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch b/target/linux/generic/pending-4.4/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch
index 945546d6df..945546d6df 100644
--- a/target/linux/generic/patches-4.4/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch
+++ b/target/linux/generic/pending-4.4/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch b/target/linux/generic/pending-4.4/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch
index 82d3fe4d6d..82d3fe4d6d 100644
--- a/target/linux/generic/patches-4.4/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch
+++ b/target/linux/generic/pending-4.4/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch b/target/linux/generic/pending-4.4/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch
index 272ec5c3f3..272ec5c3f3 100644
--- a/target/linux/generic/patches-4.4/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch
+++ b/target/linux/generic/pending-4.4/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch b/target/linux/generic/pending-4.4/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch
index 830d8ccde4..830d8ccde4 100644
--- a/target/linux/generic/patches-4.4/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch
+++ b/target/linux/generic/pending-4.4/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch b/target/linux/generic/pending-4.4/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch
index 5721abcf95..5721abcf95 100644
--- a/target/linux/generic/patches-4.4/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch
+++ b/target/linux/generic/pending-4.4/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch
diff --git a/target/linux/generic/patches-4.4/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch b/target/linux/generic/pending-4.4/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch
index e9bf06c870..e9bf06c870 100644
--- a/target/linux/generic/patches-4.4/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch
+++ b/target/linux/generic/pending-4.4/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch
diff --git a/target/linux/generic/patches-4.4/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch b/target/linux/generic/pending-4.4/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch
index be03cca9ee..be03cca9ee 100644
--- a/target/linux/generic/patches-4.4/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch
+++ b/target/linux/generic/pending-4.4/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch
diff --git a/target/linux/generic/patches-4.4/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch b/target/linux/generic/pending-4.4/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch
index 544a074a78..544a074a78 100644
--- a/target/linux/generic/patches-4.4/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch
+++ b/target/linux/generic/pending-4.4/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch
diff --git a/target/linux/generic/patches-4.4/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch b/target/linux/generic/pending-4.4/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch
index 8848f619ea..8848f619ea 100644
--- a/target/linux/generic/patches-4.4/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch
+++ b/target/linux/generic/pending-4.4/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch
diff --git a/target/linux/generic/patches-4.4/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch b/target/linux/generic/pending-4.4/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch
index d1be3e3f4c..d1be3e3f4c 100644
--- a/target/linux/generic/patches-4.4/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch
+++ b/target/linux/generic/pending-4.4/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch
diff --git a/target/linux/generic/patches-4.4/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch b/target/linux/generic/pending-4.4/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch
index e24099ef45..e24099ef45 100644
--- a/target/linux/generic/patches-4.4/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch
+++ b/target/linux/generic/pending-4.4/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch
diff --git a/target/linux/generic/patches-4.4/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch b/target/linux/generic/pending-4.4/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch
index 222d126f69..222d126f69 100644
--- a/target/linux/generic/patches-4.4/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch
+++ b/target/linux/generic/pending-4.4/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch
diff --git a/target/linux/generic/patches-4.4/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch b/target/linux/generic/pending-4.4/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch
index 4be229b8fa..4be229b8fa 100644
--- a/target/linux/generic/patches-4.4/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch
+++ b/target/linux/generic/pending-4.4/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch
diff --git a/target/linux/generic/patches-4.4/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch b/target/linux/generic/pending-4.4/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch
index bf8818976f..bf8818976f 100644
--- a/target/linux/generic/patches-4.4/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch
+++ b/target/linux/generic/pending-4.4/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch
diff --git a/target/linux/generic/patches-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch b/target/linux/generic/pending-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch
index 794753ffa3..794753ffa3 100644
--- a/target/linux/generic/patches-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch
+++ b/target/linux/generic/pending-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch
diff --git a/target/linux/generic/patches-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch b/target/linux/generic/pending-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch
index 5e116b0bbf..5e116b0bbf 100644
--- a/target/linux/generic/patches-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch
+++ b/target/linux/generic/pending-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch
diff --git a/target/linux/generic/patches-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch b/target/linux/generic/pending-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch
index 730f41e4a5..730f41e4a5 100644
--- a/target/linux/generic/patches-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch
+++ b/target/linux/generic/pending-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch
diff --git a/target/linux/generic/patches-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch b/target/linux/generic/pending-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch
index 901cdf7e83..901cdf7e83 100644
--- a/target/linux/generic/patches-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch
+++ b/target/linux/generic/pending-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch
diff --git a/target/linux/generic/patches-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch b/target/linux/generic/pending-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch
index 15cf4cae56..15cf4cae56 100644
--- a/target/linux/generic/patches-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch
+++ b/target/linux/generic/pending-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch
diff --git a/target/linux/generic/patches-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch b/target/linux/generic/pending-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch
index 0408353138..0408353138 100644
--- a/target/linux/generic/patches-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch
+++ b/target/linux/generic/pending-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch
diff --git a/target/linux/generic/patches-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch b/target/linux/generic/pending-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch
index 0bcb5bb805..0bcb5bb805 100644
--- a/target/linux/generic/patches-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch
+++ b/target/linux/generic/pending-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch
diff --git a/target/linux/generic/patches-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch b/target/linux/generic/pending-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch
index 68039f67bb..68039f67bb 100644
--- a/target/linux/generic/patches-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch
+++ b/target/linux/generic/pending-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch
diff --git a/target/linux/generic/patches-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch b/target/linux/generic/pending-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch
index ec41a2dc21..ec41a2dc21 100644
--- a/target/linux/generic/patches-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch
+++ b/target/linux/generic/pending-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch
diff --git a/target/linux/generic/patches-4.4/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch b/target/linux/generic/pending-4.4/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch
index 65d17c8a9e..65d17c8a9e 100644
--- a/target/linux/generic/patches-4.4/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch
+++ b/target/linux/generic/pending-4.4/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch
diff --git a/target/linux/generic/patches-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch b/target/linux/generic/pending-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch
index f60b1fc16b..f60b1fc16b 100644
--- a/target/linux/generic/patches-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch
+++ b/target/linux/generic/pending-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch
diff --git a/target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch b/target/linux/generic/pending-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch
index 670d4ba91f..670d4ba91f 100644
--- a/target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch
+++ b/target/linux/generic/pending-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch
diff --git a/target/linux/generic/patches-4.4/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch b/target/linux/generic/pending-4.4/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch
index 7aa865aa83..7aa865aa83 100644
--- a/target/linux/generic/patches-4.4/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch
+++ b/target/linux/generic/pending-4.4/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch
diff --git a/target/linux/generic/patches-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch b/target/linux/generic/pending-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch
index e02984041a..e02984041a 100644
--- a/target/linux/generic/patches-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch
+++ b/target/linux/generic/pending-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch
diff --git a/target/linux/generic/patches-4.4/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch b/target/linux/generic/pending-4.4/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch
index 159fae84f4..159fae84f4 100644
--- a/target/linux/generic/patches-4.4/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch
+++ b/target/linux/generic/pending-4.4/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch
diff --git a/target/linux/generic/patches-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch b/target/linux/generic/pending-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch
index b551bac69d..b551bac69d 100644
--- a/target/linux/generic/patches-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch
+++ b/target/linux/generic/pending-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch
diff --git a/target/linux/generic/patches-4.4/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch b/target/linux/generic/pending-4.4/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch
index 3fbe5f521a..3fbe5f521a 100644
--- a/target/linux/generic/patches-4.4/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch
+++ b/target/linux/generic/pending-4.4/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch
diff --git a/target/linux/generic/patches-4.4/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch b/target/linux/generic/pending-4.4/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch
index d606804de6..d606804de6 100644
--- a/target/linux/generic/patches-4.4/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch
+++ b/target/linux/generic/pending-4.4/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch
diff --git a/target/linux/generic/patches-4.4/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch b/target/linux/generic/pending-4.4/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch
index 182109632f..182109632f 100644
--- a/target/linux/generic/patches-4.4/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch
+++ b/target/linux/generic/pending-4.4/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch
diff --git a/target/linux/generic/patches-4.4/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch b/target/linux/generic/pending-4.4/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch
index 62bfffefbe..62bfffefbe 100644
--- a/target/linux/generic/patches-4.4/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch
+++ b/target/linux/generic/pending-4.4/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch
diff --git a/target/linux/generic/patches-4.9/087-regmap-make-LZO-cache-optional.patch b/target/linux/generic/pending-4.4/087-regmap-make-LZO-cache-optional.patch
index c26994ee35..c26994ee35 100644
--- a/target/linux/generic/patches-4.9/087-regmap-make-LZO-cache-optional.patch
+++ b/target/linux/generic/pending-4.4/087-regmap-make-LZO-cache-optional.patch
diff --git a/target/linux/generic/patches-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch b/target/linux/generic/pending-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch
index 0c1c0a4509..0c1c0a4509 100644
--- a/target/linux/generic/patches-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch
+++ b/target/linux/generic/pending-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch
diff --git a/target/linux/generic/patches-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch b/target/linux/generic/pending-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch
index 8d5030c84b..8d5030c84b 100644
--- a/target/linux/generic/patches-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch
+++ b/target/linux/generic/pending-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch
diff --git a/target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch b/target/linux/generic/pending-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch
index 78188dd298..78188dd298 100644
--- a/target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch
+++ b/target/linux/generic/pending-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch
diff --git a/target/linux/generic/patches-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch b/target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch
index 764c1cb830..764c1cb830 100644
--- a/target/linux/generic/patches-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch
+++ b/target/linux/generic/pending-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch
diff --git a/target/linux/generic/patches-4.4/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch b/target/linux/generic/pending-4.4/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch
index 733d9c77b3..733d9c77b3 100644
--- a/target/linux/generic/patches-4.4/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch
+++ b/target/linux/generic/pending-4.4/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch
diff --git a/target/linux/generic/patches-4.4/096-arc-add-model-property-in-dts.patch b/target/linux/generic/pending-4.4/096-arc-add-model-property-in-dts.patch
index 85019ed008..85019ed008 100644
--- a/target/linux/generic/patches-4.4/096-arc-add-model-property-in-dts.patch
+++ b/target/linux/generic/pending-4.4/096-arc-add-model-property-in-dts.patch
diff --git a/target/linux/generic/patches-4.4/097-MIPS-io.h-Define-ioremap_cache.patch b/target/linux/generic/pending-4.4/097-MIPS-io.h-Define-ioremap_cache.patch
index e048410e42..e048410e42 100644
--- a/target/linux/generic/patches-4.4/097-MIPS-io.h-Define-ioremap_cache.patch
+++ b/target/linux/generic/pending-4.4/097-MIPS-io.h-Define-ioremap_cache.patch
diff --git a/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch b/target/linux/generic/pending-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch
index 3a27feac8f..3a27feac8f 100644
--- a/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch
+++ b/target/linux/generic/pending-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch
diff --git a/target/linux/generic/patches-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch b/target/linux/generic/pending-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch
index e4ac2cd583..e4ac2cd583 100644
--- a/target/linux/generic/patches-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch
+++ b/target/linux/generic/pending-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch
diff --git a/target/linux/generic/patches-4.4/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/pending-4.4/102-ehci_hcd_ignore_oc.patch
index 71e3a74ad5..71e3a74ad5 100644
--- a/target/linux/generic/patches-4.4/102-ehci_hcd_ignore_oc.patch
+++ b/target/linux/generic/pending-4.4/102-ehci_hcd_ignore_oc.patch
diff --git a/target/linux/generic/patches-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
index 304cb874b5..304cb874b5 100644
--- a/target/linux/generic/patches-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
+++ b/target/linux/generic/pending-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
diff --git a/target/linux/generic/patches-4.4/105-add-linux-spidev-compatible.patch b/target/linux/generic/pending-4.4/105-add-linux-spidev-compatible.patch
index cae20a532a..cae20a532a 100644
--- a/target/linux/generic/patches-4.4/105-add-linux-spidev-compatible.patch
+++ b/target/linux/generic/pending-4.4/105-add-linux-spidev-compatible.patch
diff --git a/target/linux/generic/patches-4.4/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch b/target/linux/generic/pending-4.4/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch
index 57c9475359..57c9475359 100644
--- a/target/linux/generic/patches-4.4/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch
+++ b/target/linux/generic/pending-4.4/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch
diff --git a/target/linux/generic/patches-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch b/target/linux/generic/pending-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
index b7ff845343..b7ff845343 100644
--- a/target/linux/generic/patches-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
+++ b/target/linux/generic/pending-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
diff --git a/target/linux/generic/patches-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch b/target/linux/generic/pending-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch
index 37eb073df9..37eb073df9 100644
--- a/target/linux/generic/patches-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch
+++ b/target/linux/generic/pending-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch
diff --git a/target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/pending-4.4/120-bridge_allow_receiption_on_disabled_port.patch
index bba6074982..bba6074982 100644
--- a/target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/pending-4.4/120-bridge_allow_receiption_on_disabled_port.patch
diff --git a/target/linux/generic/patches-4.4/132-mips_inline_dma_ops.patch b/target/linux/generic/pending-4.4/132-mips_inline_dma_ops.patch
index 143b0bb3ff..143b0bb3ff 100644
--- a/target/linux/generic/patches-4.4/132-mips_inline_dma_ops.patch
+++ b/target/linux/generic/pending-4.4/132-mips_inline_dma_ops.patch
diff --git a/target/linux/generic/patches-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch b/target/linux/generic/pending-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch
index e1b84ae52c..e1b84ae52c 100644
--- a/target/linux/generic/patches-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch
+++ b/target/linux/generic/pending-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch
diff --git a/target/linux/generic/patches-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch b/target/linux/generic/pending-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch
index d6e577be8c..d6e577be8c 100644
--- a/target/linux/generic/patches-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch
+++ b/target/linux/generic/pending-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch
diff --git a/target/linux/generic/patches-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch b/target/linux/generic/pending-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch
index 94f78102b7..94f78102b7 100644
--- a/target/linux/generic/patches-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch
+++ b/target/linux/generic/pending-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch
diff --git a/target/linux/generic/patches-4.4/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch b/target/linux/generic/pending-4.4/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch
index affe090457..affe090457 100644
--- a/target/linux/generic/patches-4.4/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch
+++ b/target/linux/generic/pending-4.4/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch
diff --git a/target/linux/generic/patches-4.4/200-fix_localversion.patch b/target/linux/generic/pending-4.4/200-fix_localversion.patch
index 70228bb5f4..70228bb5f4 100644
--- a/target/linux/generic/patches-4.4/200-fix_localversion.patch
+++ b/target/linux/generic/pending-4.4/200-fix_localversion.patch
diff --git a/target/linux/generic/patches-4.4/201-extra_optimization.patch b/target/linux/generic/pending-4.4/201-extra_optimization.patch
index 2f834422cb..2f834422cb 100644
--- a/target/linux/generic/patches-4.4/201-extra_optimization.patch
+++ b/target/linux/generic/pending-4.4/201-extra_optimization.patch
diff --git a/target/linux/generic/patches-4.4/202-reduce_module_size.patch b/target/linux/generic/pending-4.4/202-reduce_module_size.patch
index d68c463648..d68c463648 100644
--- a/target/linux/generic/patches-4.4/202-reduce_module_size.patch
+++ b/target/linux/generic/pending-4.4/202-reduce_module_size.patch
diff --git a/target/linux/generic/patches-4.4/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.4/203-kallsyms_uncompressed.patch
index cf8a447bbc..cf8a447bbc 100644
--- a/target/linux/generic/patches-4.4/203-kallsyms_uncompressed.patch
+++ b/target/linux/generic/pending-4.4/203-kallsyms_uncompressed.patch
diff --git a/target/linux/generic/patches-4.4/204-module_strip.patch b/target/linux/generic/pending-4.4/204-module_strip.patch
index 85805b3ea1..85805b3ea1 100644
--- a/target/linux/generic/patches-4.4/204-module_strip.patch
+++ b/target/linux/generic/pending-4.4/204-module_strip.patch
diff --git a/target/linux/generic/patches-4.4/205-backtrace_module_info.patch b/target/linux/generic/pending-4.4/205-backtrace_module_info.patch
index 0550ec4399..0550ec4399 100644
--- a/target/linux/generic/patches-4.4/205-backtrace_module_info.patch
+++ b/target/linux/generic/pending-4.4/205-backtrace_module_info.patch
diff --git a/target/linux/generic/patches-4.4/206-mips-disable-vdso.patch b/target/linux/generic/pending-4.4/206-mips-disable-vdso.patch
index 51b1d041bf..51b1d041bf 100644
--- a/target/linux/generic/patches-4.4/206-mips-disable-vdso.patch
+++ b/target/linux/generic/pending-4.4/206-mips-disable-vdso.patch
diff --git a/target/linux/generic/patches-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch b/target/linux/generic/pending-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch
index cfcd0b33a0..cfcd0b33a0 100644
--- a/target/linux/generic/patches-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch
+++ b/target/linux/generic/pending-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch
diff --git a/target/linux/generic/patches-4.4/208-disable-modorder.patch b/target/linux/generic/pending-4.4/208-disable-modorder.patch
index 7ea91f2951..7ea91f2951 100644
--- a/target/linux/generic/patches-4.4/208-disable-modorder.patch
+++ b/target/linux/generic/pending-4.4/208-disable-modorder.patch
diff --git a/target/linux/generic/patches-4.4/210-darwin_scripts_include.patch b/target/linux/generic/pending-4.4/210-darwin_scripts_include.patch
index 2afeb23b52..2afeb23b52 100644
--- a/target/linux/generic/patches-4.4/210-darwin_scripts_include.patch
+++ b/target/linux/generic/pending-4.4/210-darwin_scripts_include.patch
diff --git a/target/linux/generic/patches-4.4/211-sign-file-libressl.patch b/target/linux/generic/pending-4.4/211-sign-file-libressl.patch
index c174087f10..c174087f10 100644
--- a/target/linux/generic/patches-4.4/211-sign-file-libressl.patch
+++ b/target/linux/generic/pending-4.4/211-sign-file-libressl.patch
diff --git a/target/linux/generic/patches-4.4/212-byteshift_portability.patch b/target/linux/generic/pending-4.4/212-byteshift_portability.patch
index 0f23ba9be9..0f23ba9be9 100644
--- a/target/linux/generic/patches-4.4/212-byteshift_portability.patch
+++ b/target/linux/generic/pending-4.4/212-byteshift_portability.patch
diff --git a/target/linux/generic/patches-4.4/214-spidev_h_portability.patch b/target/linux/generic/pending-4.4/214-spidev_h_portability.patch
index dbee090547..dbee090547 100644
--- a/target/linux/generic/patches-4.4/214-spidev_h_portability.patch
+++ b/target/linux/generic/pending-4.4/214-spidev_h_portability.patch
diff --git a/target/linux/generic/patches-4.4/220-gc_sections.patch b/target/linux/generic/pending-4.4/220-gc_sections.patch
index cbe03d5c5e..cbe03d5c5e 100644
--- a/target/linux/generic/patches-4.4/220-gc_sections.patch
+++ b/target/linux/generic/pending-4.4/220-gc_sections.patch
diff --git a/target/linux/generic/patches-4.4/221-module_exports.patch b/target/linux/generic/pending-4.4/221-module_exports.patch
index 510a86c468..510a86c468 100644
--- a/target/linux/generic/patches-4.4/221-module_exports.patch
+++ b/target/linux/generic/pending-4.4/221-module_exports.patch
diff --git a/target/linux/generic/patches-4.4/222-arm_zimage_none.patch b/target/linux/generic/pending-4.4/222-arm_zimage_none.patch
index 47fa6c928d..47fa6c928d 100644
--- a/target/linux/generic/patches-4.4/222-arm_zimage_none.patch
+++ b/target/linux/generic/pending-4.4/222-arm_zimage_none.patch
diff --git a/target/linux/generic/patches-4.4/230-openwrt_lzma_options.patch b/target/linux/generic/pending-4.4/230-openwrt_lzma_options.patch
index d5bbb19cfe..d5bbb19cfe 100644
--- a/target/linux/generic/patches-4.4/230-openwrt_lzma_options.patch
+++ b/target/linux/generic/pending-4.4/230-openwrt_lzma_options.patch
diff --git a/target/linux/generic/patches-4.4/250-netfilter_depends.patch b/target/linux/generic/pending-4.4/250-netfilter_depends.patch
index b39d971a76..b39d971a76 100644
--- a/target/linux/generic/patches-4.4/250-netfilter_depends.patch
+++ b/target/linux/generic/pending-4.4/250-netfilter_depends.patch
diff --git a/target/linux/generic/patches-4.4/251-sound_kconfig.patch b/target/linux/generic/pending-4.4/251-sound_kconfig.patch
index 4cb67adc70..4cb67adc70 100644
--- a/target/linux/generic/patches-4.4/251-sound_kconfig.patch
+++ b/target/linux/generic/pending-4.4/251-sound_kconfig.patch
diff --git a/target/linux/generic/patches-4.4/252-mv_cesa_depends.patch b/target/linux/generic/pending-4.4/252-mv_cesa_depends.patch
index f54f3c7fcc..f54f3c7fcc 100644
--- a/target/linux/generic/patches-4.4/252-mv_cesa_depends.patch
+++ b/target/linux/generic/pending-4.4/252-mv_cesa_depends.patch
diff --git a/target/linux/generic/patches-4.4/253-ssb_b43_default_on.patch b/target/linux/generic/pending-4.4/253-ssb_b43_default_on.patch
index 29d2a41a3b..29d2a41a3b 100644
--- a/target/linux/generic/patches-4.4/253-ssb_b43_default_on.patch
+++ b/target/linux/generic/pending-4.4/253-ssb_b43_default_on.patch
diff --git a/target/linux/generic/patches-4.4/254-textsearch_kconfig_hacks.patch b/target/linux/generic/pending-4.4/254-textsearch_kconfig_hacks.patch
index 12cedbed15..12cedbed15 100644
--- a/target/linux/generic/patches-4.4/254-textsearch_kconfig_hacks.patch
+++ b/target/linux/generic/pending-4.4/254-textsearch_kconfig_hacks.patch
diff --git a/target/linux/generic/patches-4.4/255-lib80211_kconfig_hacks.patch b/target/linux/generic/pending-4.4/255-lib80211_kconfig_hacks.patch
index be75806e6b..be75806e6b 100644
--- a/target/linux/generic/patches-4.4/255-lib80211_kconfig_hacks.patch
+++ b/target/linux/generic/pending-4.4/255-lib80211_kconfig_hacks.patch
diff --git a/target/linux/generic/patches-4.4/256-crypto_add_kconfig_prompts.patch b/target/linux/generic/pending-4.4/256-crypto_add_kconfig_prompts.patch
index fb5d5dc4b4..fb5d5dc4b4 100644
--- a/target/linux/generic/patches-4.4/256-crypto_add_kconfig_prompts.patch
+++ b/target/linux/generic/pending-4.4/256-crypto_add_kconfig_prompts.patch
diff --git a/target/linux/generic/patches-4.4/257-wireless_ext_kconfig_hack.patch b/target/linux/generic/pending-4.4/257-wireless_ext_kconfig_hack.patch
index daac5898ae..daac5898ae 100644
--- a/target/linux/generic/patches-4.4/257-wireless_ext_kconfig_hack.patch
+++ b/target/linux/generic/pending-4.4/257-wireless_ext_kconfig_hack.patch
diff --git a/target/linux/generic/patches-4.4/258-netfilter_netlink_kconfig_hack.patch b/target/linux/generic/pending-4.4/258-netfilter_netlink_kconfig_hack.patch
index 4206c9a74a..4206c9a74a 100644
--- a/target/linux/generic/patches-4.4/258-netfilter_netlink_kconfig_hack.patch
+++ b/target/linux/generic/pending-4.4/258-netfilter_netlink_kconfig_hack.patch
diff --git a/target/linux/generic/patches-4.4/259-regmap_dynamic.patch b/target/linux/generic/pending-4.4/259-regmap_dynamic.patch
index 42a9728567..42a9728567 100644
--- a/target/linux/generic/patches-4.4/259-regmap_dynamic.patch
+++ b/target/linux/generic/pending-4.4/259-regmap_dynamic.patch
diff --git a/target/linux/generic/patches-4.4/260-crypto_test_dependencies.patch b/target/linux/generic/pending-4.4/260-crypto_test_dependencies.patch
index 54b8730a93..54b8730a93 100644
--- a/target/linux/generic/patches-4.4/260-crypto_test_dependencies.patch
+++ b/target/linux/generic/pending-4.4/260-crypto_test_dependencies.patch
diff --git a/target/linux/generic/patches-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch b/target/linux/generic/pending-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
index 762f4989b6..762f4989b6 100644
--- a/target/linux/generic/patches-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
+++ b/target/linux/generic/pending-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
diff --git a/target/linux/generic/patches-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch b/target/linux/generic/pending-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
index 2a29535eed..2a29535eed 100644
--- a/target/linux/generic/patches-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
+++ b/target/linux/generic/pending-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
diff --git a/target/linux/generic/patches-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch b/target/linux/generic/pending-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
index 9065369040..9065369040 100644
--- a/target/linux/generic/patches-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
+++ b/target/linux/generic/pending-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
diff --git a/target/linux/generic/patches-4.4/280-rfkill-stubs.patch b/target/linux/generic/pending-4.4/280-rfkill-stubs.patch
index 96a98e219a..96a98e219a 100644
--- a/target/linux/generic/patches-4.4/280-rfkill-stubs.patch
+++ b/target/linux/generic/pending-4.4/280-rfkill-stubs.patch
diff --git a/target/linux/generic/patches-4.4/300-mips_expose_boot_raw.patch b/target/linux/generic/pending-4.4/300-mips_expose_boot_raw.patch
index 0980c26d50..0980c26d50 100644
--- a/target/linux/generic/patches-4.4/300-mips_expose_boot_raw.patch
+++ b/target/linux/generic/pending-4.4/300-mips_expose_boot_raw.patch
diff --git a/target/linux/generic/patches-4.4/301-mips_image_cmdline_hack.patch b/target/linux/generic/pending-4.4/301-mips_image_cmdline_hack.patch
index 625a84c814..625a84c814 100644
--- a/target/linux/generic/patches-4.4/301-mips_image_cmdline_hack.patch
+++ b/target/linux/generic/pending-4.4/301-mips_image_cmdline_hack.patch
diff --git a/target/linux/generic/patches-4.4/302-mips_no_branch_likely.patch b/target/linux/generic/pending-4.4/302-mips_no_branch_likely.patch
index 44c6b04fcf..44c6b04fcf 100644
--- a/target/linux/generic/patches-4.4/302-mips_no_branch_likely.patch
+++ b/target/linux/generic/pending-4.4/302-mips_no_branch_likely.patch
diff --git a/target/linux/generic/patches-4.4/304-mips_disable_fpu.patch b/target/linux/generic/pending-4.4/304-mips_disable_fpu.patch
index a08564dcea..a08564dcea 100644
--- a/target/linux/generic/patches-4.4/304-mips_disable_fpu.patch
+++ b/target/linux/generic/pending-4.4/304-mips_disable_fpu.patch
diff --git a/target/linux/generic/patches-4.4/305-mips_module_reloc.patch b/target/linux/generic/pending-4.4/305-mips_module_reloc.patch
index 944921fff7..944921fff7 100644
--- a/target/linux/generic/patches-4.4/305-mips_module_reloc.patch
+++ b/target/linux/generic/pending-4.4/305-mips_module_reloc.patch
diff --git a/target/linux/generic/patches-4.4/306-mips_mem_functions_performance.patch b/target/linux/generic/pending-4.4/306-mips_mem_functions_performance.patch
index 9818677425..9818677425 100644
--- a/target/linux/generic/patches-4.4/306-mips_mem_functions_performance.patch
+++ b/target/linux/generic/pending-4.4/306-mips_mem_functions_performance.patch
diff --git a/target/linux/generic/patches-4.4/307-mips_highmem_offset.patch b/target/linux/generic/pending-4.4/307-mips_highmem_offset.patch
index 5a7dc9cee9..5a7dc9cee9 100644
--- a/target/linux/generic/patches-4.4/307-mips_highmem_offset.patch
+++ b/target/linux/generic/pending-4.4/307-mips_highmem_offset.patch
diff --git a/target/linux/generic/patches-4.4/308-mips32r2_tune.patch b/target/linux/generic/pending-4.4/308-mips32r2_tune.patch
index f4ab89ef28..f4ab89ef28 100644
--- a/target/linux/generic/patches-4.4/308-mips32r2_tune.patch
+++ b/target/linux/generic/pending-4.4/308-mips32r2_tune.patch
diff --git a/target/linux/generic/patches-4.4/310-arm_module_unresolved_weak_sym.patch b/target/linux/generic/pending-4.4/310-arm_module_unresolved_weak_sym.patch
index 327a475208..327a475208 100644
--- a/target/linux/generic/patches-4.4/310-arm_module_unresolved_weak_sym.patch
+++ b/target/linux/generic/pending-4.4/310-arm_module_unresolved_weak_sym.patch
diff --git a/target/linux/generic/patches-4.4/320-ppc4xx_optimization.patch b/target/linux/generic/pending-4.4/320-ppc4xx_optimization.patch
index c1ce37da2f..c1ce37da2f 100644
--- a/target/linux/generic/patches-4.4/320-ppc4xx_optimization.patch
+++ b/target/linux/generic/pending-4.4/320-ppc4xx_optimization.patch
diff --git a/target/linux/generic/patches-4.4/321-powerpc_crtsavres_prereq.patch b/target/linux/generic/pending-4.4/321-powerpc_crtsavres_prereq.patch
index a1773feb39..a1773feb39 100644
--- a/target/linux/generic/patches-4.4/321-powerpc_crtsavres_prereq.patch
+++ b/target/linux/generic/pending-4.4/321-powerpc_crtsavres_prereq.patch
diff --git a/target/linux/generic/patches-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch b/target/linux/generic/pending-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
index a69d197e62..a69d197e62 100644
--- a/target/linux/generic/patches-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
+++ b/target/linux/generic/pending-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
diff --git a/target/linux/generic/patches-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch b/target/linux/generic/pending-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch
index 48b3f9b428..48b3f9b428 100644
--- a/target/linux/generic/patches-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch
+++ b/target/linux/generic/pending-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch
diff --git a/target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-4.4/332-arc-add-OWRTDTB-section.patch
index 5a2b67cfcd..5a2b67cfcd 100644
--- a/target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch
+++ b/target/linux/generic/pending-4.4/332-arc-add-OWRTDTB-section.patch
diff --git a/target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch b/target/linux/generic/pending-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch
index 082f525f1b..082f525f1b 100644
--- a/target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch
+++ b/target/linux/generic/pending-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch
diff --git a/target/linux/generic/patches-4.4/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.4/400-mtd-add-rootfs-split-support.patch
index 7925caf97c..7925caf97c 100644
--- a/target/linux/generic/patches-4.4/400-mtd-add-rootfs-split-support.patch
+++ b/target/linux/generic/pending-4.4/400-mtd-add-rootfs-split-support.patch
diff --git a/target/linux/generic/patches-4.4/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.4/401-mtd-add-support-for-different-partition-parser-types.patch
index 7695d56de9..7695d56de9 100644
--- a/target/linux/generic/patches-4.4/401-mtd-add-support-for-different-partition-parser-types.patch
+++ b/target/linux/generic/pending-4.4/401-mtd-add-support-for-different-partition-parser-types.patch
diff --git a/target/linux/generic/patches-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
index 2ea2056ba2..2ea2056ba2 100644
--- a/target/linux/generic/patches-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
+++ b/target/linux/generic/pending-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
diff --git a/target/linux/generic/patches-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch b/target/linux/generic/pending-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch
index 0cf1c38555..0cf1c38555 100644
--- a/target/linux/generic/patches-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch
+++ b/target/linux/generic/pending-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch
diff --git a/target/linux/generic/patches-4.4/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.4/404-mtd-add-more-helper-functions.patch
index 3773e1f195..3773e1f195 100644
--- a/target/linux/generic/patches-4.4/404-mtd-add-more-helper-functions.patch
+++ b/target/linux/generic/pending-4.4/404-mtd-add-more-helper-functions.patch
diff --git a/target/linux/generic/patches-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch b/target/linux/generic/pending-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
index 78ebbf88ca..78ebbf88ca 100644
--- a/target/linux/generic/patches-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
+++ b/target/linux/generic/pending-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch
diff --git a/target/linux/generic/patches-4.4/411-mtd-partial_eraseblock_write.patch b/target/linux/generic/pending-4.4/411-mtd-partial_eraseblock_write.patch
index 7ab8eb3442..7ab8eb3442 100644
--- a/target/linux/generic/patches-4.4/411-mtd-partial_eraseblock_write.patch
+++ b/target/linux/generic/pending-4.4/411-mtd-partial_eraseblock_write.patch
diff --git a/target/linux/generic/patches-4.4/412-mtd-partial_eraseblock_unlock.patch b/target/linux/generic/pending-4.4/412-mtd-partial_eraseblock_unlock.patch
index 990c2aba6e..990c2aba6e 100644
--- a/target/linux/generic/patches-4.4/412-mtd-partial_eraseblock_unlock.patch
+++ b/target/linux/generic/pending-4.4/412-mtd-partial_eraseblock_unlock.patch
diff --git a/target/linux/generic/patches-4.4/420-mtd-redboot_space.patch b/target/linux/generic/pending-4.4/420-mtd-redboot_space.patch
index f74affcef7..f74affcef7 100644
--- a/target/linux/generic/patches-4.4/420-mtd-redboot_space.patch
+++ b/target/linux/generic/pending-4.4/420-mtd-redboot_space.patch
diff --git a/target/linux/generic/patches-4.4/430-mtd-add-myloader-partition-parser.patch b/target/linux/generic/pending-4.4/430-mtd-add-myloader-partition-parser.patch
index a022564e9e..a022564e9e 100644
--- a/target/linux/generic/patches-4.4/430-mtd-add-myloader-partition-parser.patch
+++ b/target/linux/generic/pending-4.4/430-mtd-add-myloader-partition-parser.patch
diff --git a/target/linux/generic/patches-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch b/target/linux/generic/pending-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
index 379e551b7f..379e551b7f 100644
--- a/target/linux/generic/patches-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
+++ b/target/linux/generic/pending-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
diff --git a/target/linux/generic/patches-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch b/target/linux/generic/pending-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
index a19e943efe..a19e943efe 100644
--- a/target/linux/generic/patches-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
+++ b/target/linux/generic/pending-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
diff --git a/target/linux/generic/patches-4.4/440-block2mtd_init.patch b/target/linux/generic/pending-4.4/440-block2mtd_init.patch
index f2e62b4401..f2e62b4401 100644
--- a/target/linux/generic/patches-4.4/440-block2mtd_init.patch
+++ b/target/linux/generic/pending-4.4/440-block2mtd_init.patch
diff --git a/target/linux/generic/patches-4.4/441-block2mtd_probe.patch b/target/linux/generic/pending-4.4/441-block2mtd_probe.patch
index ed14537a6c..ed14537a6c 100644
--- a/target/linux/generic/patches-4.4/441-block2mtd_probe.patch
+++ b/target/linux/generic/pending-4.4/441-block2mtd_probe.patch
diff --git a/target/linux/generic/patches-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch b/target/linux/generic/pending-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch
index 3ce7f13dc4..3ce7f13dc4 100644
--- a/target/linux/generic/patches-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch
+++ b/target/linux/generic/pending-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch
diff --git a/target/linux/generic/patches-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch b/target/linux/generic/pending-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch
index 6a2092ce20..6a2092ce20 100644
--- a/target/linux/generic/patches-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch
+++ b/target/linux/generic/pending-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch
diff --git a/target/linux/generic/patches-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/pending-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
index 68fbd12466..68fbd12466 100644
--- a/target/linux/generic/patches-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
+++ b/target/linux/generic/pending-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
diff --git a/target/linux/generic/patches-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
index c437a140f0..c437a140f0 100644
--- a/target/linux/generic/patches-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
+++ b/target/linux/generic/pending-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
diff --git a/target/linux/generic/patches-4.4/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/pending-4.4/465-m25p80-mx-disable-software-protection.patch
index e81ebbb3fa..e81ebbb3fa 100644
--- a/target/linux/generic/patches-4.4/465-m25p80-mx-disable-software-protection.patch
+++ b/target/linux/generic/pending-4.4/465-m25p80-mx-disable-software-protection.patch
diff --git a/target/linux/generic/patches-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch b/target/linux/generic/pending-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch
index d868a7da25..d868a7da25 100644
--- a/target/linux/generic/patches-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch
+++ b/target/linux/generic/pending-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch
diff --git a/target/linux/generic/patches-4.4/476-mtd-spi-nor-add-eon-en25q128.patch b/target/linux/generic/pending-4.4/476-mtd-spi-nor-add-eon-en25q128.patch
index ab805b71d0..ab805b71d0 100644
--- a/target/linux/generic/patches-4.4/476-mtd-spi-nor-add-eon-en25q128.patch
+++ b/target/linux/generic/pending-4.4/476-mtd-spi-nor-add-eon-en25q128.patch
diff --git a/target/linux/generic/patches-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch b/target/linux/generic/pending-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch
index c2a28a099d..c2a28a099d 100644
--- a/target/linux/generic/patches-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch
+++ b/target/linux/generic/pending-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch
diff --git a/target/linux/generic/patches-4.4/479-enable_mtd_has_lock_for_f25l32pa.patch b/target/linux/generic/pending-4.4/479-enable_mtd_has_lock_for_f25l32pa.patch
index ec67056c65..ec67056c65 100644
--- a/target/linux/generic/patches-4.4/479-enable_mtd_has_lock_for_f25l32pa.patch
+++ b/target/linux/generic/pending-4.4/479-enable_mtd_has_lock_for_f25l32pa.patch
diff --git a/target/linux/generic/patches-4.4/480-mtd-set-rootfs-to-be-root-dev.patch b/target/linux/generic/pending-4.4/480-mtd-set-rootfs-to-be-root-dev.patch
index d20bd8d4ec..d20bd8d4ec 100644
--- a/target/linux/generic/patches-4.4/480-mtd-set-rootfs-to-be-root-dev.patch
+++ b/target/linux/generic/pending-4.4/480-mtd-set-rootfs-to-be-root-dev.patch
diff --git a/target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/pending-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
index f08f9b4a7c..f08f9b4a7c 100644
--- a/target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
+++ b/target/linux/generic/pending-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
diff --git a/target/linux/generic/patches-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch b/target/linux/generic/pending-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
index da3111266a..da3111266a 100644
--- a/target/linux/generic/patches-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
+++ b/target/linux/generic/pending-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
diff --git a/target/linux/generic/patches-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch b/target/linux/generic/pending-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
index ab8b8bb0a2..ab8b8bb0a2 100644
--- a/target/linux/generic/patches-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
+++ b/target/linux/generic/pending-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
diff --git a/target/linux/generic/patches-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/target/linux/generic/pending-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
index f55e8e3a4d..f55e8e3a4d 100644
--- a/target/linux/generic/patches-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
+++ b/target/linux/generic/pending-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
diff --git a/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/pending-4.4/494-mtd-ubi-add-EOF-marker-support.patch
index dd5ee306ef..dd5ee306ef 100644
--- a/target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch
+++ b/target/linux/generic/pending-4.4/494-mtd-ubi-add-EOF-marker-support.patch
diff --git a/target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch b/target/linux/generic/pending-4.4/530-jffs2_make_lzma_available.patch
index b75dd0f9ff..b75dd0f9ff 100644
--- a/target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch
+++ b/target/linux/generic/pending-4.4/530-jffs2_make_lzma_available.patch
diff --git a/target/linux/generic/patches-4.4/531-debloat_lzma.patch b/target/linux/generic/pending-4.4/531-debloat_lzma.patch
index aa3c498016..aa3c498016 100644
--- a/target/linux/generic/patches-4.4/531-debloat_lzma.patch
+++ b/target/linux/generic/pending-4.4/531-debloat_lzma.patch
diff --git a/target/linux/generic/patches-4.4/532-jffs2_eofdetect.patch b/target/linux/generic/pending-4.4/532-jffs2_eofdetect.patch
index 8ce53d8bed..8ce53d8bed 100644
--- a/target/linux/generic/patches-4.4/532-jffs2_eofdetect.patch
+++ b/target/linux/generic/pending-4.4/532-jffs2_eofdetect.patch
diff --git a/target/linux/generic/patches-4.4/551-ubifs-fix-default-compression-selection.patch b/target/linux/generic/pending-4.4/551-ubifs-fix-default-compression-selection.patch
index 1b0f30718c..1b0f30718c 100644
--- a/target/linux/generic/patches-4.4/551-ubifs-fix-default-compression-selection.patch
+++ b/target/linux/generic/pending-4.4/551-ubifs-fix-default-compression-selection.patch
diff --git a/target/linux/generic/patches-4.4/600-netfilter_conntrack_flush.patch b/target/linux/generic/pending-4.4/600-netfilter_conntrack_flush.patch
index 8794739658..8794739658 100644
--- a/target/linux/generic/patches-4.4/600-netfilter_conntrack_flush.patch
+++ b/target/linux/generic/pending-4.4/600-netfilter_conntrack_flush.patch
diff --git a/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-4.4/610-netfilter_match_bypass_default_checks.patch
index ea9558fccf..ea9558fccf 100644
--- a/target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/pending-4.4/610-netfilter_match_bypass_default_checks.patch
diff --git a/target/linux/generic/patches-4.4/611-netfilter_match_bypass_default_table.patch b/target/linux/generic/pending-4.4/611-netfilter_match_bypass_default_table.patch
index 1c565198b4..1c565198b4 100644
--- a/target/linux/generic/patches-4.4/611-netfilter_match_bypass_default_table.patch
+++ b/target/linux/generic/pending-4.4/611-netfilter_match_bypass_default_table.patch
diff --git a/target/linux/generic/patches-4.4/612-netfilter_match_reduce_memory_access.patch b/target/linux/generic/pending-4.4/612-netfilter_match_reduce_memory_access.patch
index 72172d8bb4..72172d8bb4 100644
--- a/target/linux/generic/patches-4.4/612-netfilter_match_reduce_memory_access.patch
+++ b/target/linux/generic/pending-4.4/612-netfilter_match_reduce_memory_access.patch
diff --git a/target/linux/generic/patches-4.4/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-4.4/613-netfilter_optional_tcp_window_check.patch
index 3740dd74e5..3740dd74e5 100644
--- a/target/linux/generic/patches-4.4/613-netfilter_optional_tcp_window_check.patch
+++ b/target/linux/generic/pending-4.4/613-netfilter_optional_tcp_window_check.patch
diff --git a/target/linux/generic/patches-4.4/616-net_optimize_xfrm_calls.patch b/target/linux/generic/pending-4.4/616-net_optimize_xfrm_calls.patch
index e4634e321b..e4634e321b 100644
--- a/target/linux/generic/patches-4.4/616-net_optimize_xfrm_calls.patch
+++ b/target/linux/generic/pending-4.4/616-net_optimize_xfrm_calls.patch
diff --git a/target/linux/generic/patches-4.4/630-packet_socket_type.patch b/target/linux/generic/pending-4.4/630-packet_socket_type.patch
index d30878684f..d30878684f 100644
--- a/target/linux/generic/patches-4.4/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-4.4/630-packet_socket_type.patch
diff --git a/target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch b/target/linux/generic/pending-4.4/640-bridge_no_eap_forward.patch
index a6dfb4ee59..a6dfb4ee59 100644
--- a/target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch
+++ b/target/linux/generic/pending-4.4/640-bridge_no_eap_forward.patch
diff --git a/target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch b/target/linux/generic/pending-4.4/641-bridge_always_accept_eap.patch
index a4e2c03cf9..a4e2c03cf9 100644
--- a/target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch
+++ b/target/linux/generic/pending-4.4/641-bridge_always_accept_eap.patch
diff --git a/target/linux/generic/patches-4.4/642-bridge_port_isolate.patch b/target/linux/generic/pending-4.4/642-bridge_port_isolate.patch
index 02dfea4659..02dfea4659 100644
--- a/target/linux/generic/patches-4.4/642-bridge_port_isolate.patch
+++ b/target/linux/generic/pending-4.4/642-bridge_port_isolate.patch
diff --git a/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch b/target/linux/generic/pending-4.4/645-bridge_multicast_to_unicast.patch
index f1c7ab1d9c..f1c7ab1d9c 100644
--- a/target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch
+++ b/target/linux/generic/pending-4.4/645-bridge_multicast_to_unicast.patch
diff --git a/target/linux/generic/patches-4.4/650-pppoe_header_pad.patch b/target/linux/generic/pending-4.4/650-pppoe_header_pad.patch
index 409de58c28..409de58c28 100644
--- a/target/linux/generic/patches-4.4/650-pppoe_header_pad.patch
+++ b/target/linux/generic/pending-4.4/650-pppoe_header_pad.patch
diff --git a/target/linux/generic/patches-4.4/651-wireless_mesh_header.patch b/target/linux/generic/pending-4.4/651-wireless_mesh_header.patch
index 17bcb6d24d..17bcb6d24d 100644
--- a/target/linux/generic/patches-4.4/651-wireless_mesh_header.patch
+++ b/target/linux/generic/pending-4.4/651-wireless_mesh_header.patch
diff --git a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch b/target/linux/generic/pending-4.4/653-disable_netlink_trim.patch
index cc19b8ef33..cc19b8ef33 100644
--- a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch
+++ b/target/linux/generic/pending-4.4/653-disable_netlink_trim.patch
diff --git a/target/linux/generic/patches-4.4/655-increase_skb_pad.patch b/target/linux/generic/pending-4.4/655-increase_skb_pad.patch
index 1c8ebacf46..1c8ebacf46 100644
--- a/target/linux/generic/patches-4.4/655-increase_skb_pad.patch
+++ b/target/linux/generic/pending-4.4/655-increase_skb_pad.patch
diff --git a/target/linux/generic/patches-4.4/660-fq_codel_defaults.patch b/target/linux/generic/pending-4.4/660-fq_codel_defaults.patch
index 46fceffcf1..46fceffcf1 100644
--- a/target/linux/generic/patches-4.4/660-fq_codel_defaults.patch
+++ b/target/linux/generic/pending-4.4/660-fq_codel_defaults.patch
diff --git a/target/linux/generic/patches-4.4/661-fq_codel_keep_dropped_stats.patch b/target/linux/generic/pending-4.4/661-fq_codel_keep_dropped_stats.patch
index 3cb950c0db..3cb950c0db 100644
--- a/target/linux/generic/patches-4.4/661-fq_codel_keep_dropped_stats.patch
+++ b/target/linux/generic/pending-4.4/661-fq_codel_keep_dropped_stats.patch
diff --git a/target/linux/generic/patches-4.4/662-use_fq_codel_by_default.patch b/target/linux/generic/pending-4.4/662-use_fq_codel_by_default.patch
index 9d1962caa9..9d1962caa9 100644
--- a/target/linux/generic/patches-4.4/662-use_fq_codel_by_default.patch
+++ b/target/linux/generic/pending-4.4/662-use_fq_codel_by_default.patch
diff --git a/target/linux/generic/patches-4.4/663-remove_pfifo_fast.patch b/target/linux/generic/pending-4.4/663-remove_pfifo_fast.patch
index 6f72b19358..6f72b19358 100644
--- a/target/linux/generic/patches-4.4/663-remove_pfifo_fast.patch
+++ b/target/linux/generic/pending-4.4/663-remove_pfifo_fast.patch
diff --git a/target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
index c402e04291..c402e04291 100644
--- a/target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
+++ b/target/linux/generic/pending-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
diff --git a/target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index c6c65d9f39..c6c65d9f39 100644
--- a/target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
diff --git a/target/linux/generic/patches-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch b/target/linux/generic/pending-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
index dafb56cd8b..dafb56cd8b 100644
--- a/target/linux/generic/patches-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
+++ b/target/linux/generic/pending-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
diff --git a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 0c5871048b..0c5871048b 100644
--- a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
diff --git a/target/linux/generic/patches-4.4/681-NET-add-of_get_mac_address_mtd.patch b/target/linux/generic/pending-4.4/681-NET-add-of_get_mac_address_mtd.patch
index 2044872973..2044872973 100644
--- a/target/linux/generic/patches-4.4/681-NET-add-of_get_mac_address_mtd.patch
+++ b/target/linux/generic/pending-4.4/681-NET-add-of_get_mac_address_mtd.patch
diff --git a/target/linux/generic/patches-4.4/700-swconfig.patch b/target/linux/generic/pending-4.4/700-swconfig.patch
index 122dd446c6..122dd446c6 100644
--- a/target/linux/generic/patches-4.4/700-swconfig.patch
+++ b/target/linux/generic/pending-4.4/700-swconfig.patch
diff --git a/target/linux/generic/patches-4.4/701-phy_extension.patch b/target/linux/generic/pending-4.4/701-phy_extension.patch
index 6cb3fdfd44..6cb3fdfd44 100644
--- a/target/linux/generic/patches-4.4/701-phy_extension.patch
+++ b/target/linux/generic/pending-4.4/701-phy_extension.patch
diff --git a/target/linux/generic/patches-4.4/702-phy_add_aneg_done_function.patch b/target/linux/generic/pending-4.4/702-phy_add_aneg_done_function.patch
index 39ac22f1ad..39ac22f1ad 100644
--- a/target/linux/generic/patches-4.4/702-phy_add_aneg_done_function.patch
+++ b/target/linux/generic/pending-4.4/702-phy_add_aneg_done_function.patch
diff --git a/target/linux/generic/patches-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch
index 5babfdf5e2..5babfdf5e2 100644
--- a/target/linux/generic/patches-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch
+++ b/target/linux/generic/pending-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch
diff --git a/target/linux/generic/patches-4.4/704-phy-no-genphy-soft-reset.patch b/target/linux/generic/pending-4.4/704-phy-no-genphy-soft-reset.patch
index d876187d7c..d876187d7c 100644
--- a/target/linux/generic/patches-4.4/704-phy-no-genphy-soft-reset.patch
+++ b/target/linux/generic/pending-4.4/704-phy-no-genphy-soft-reset.patch
diff --git a/target/linux/generic/patches-4.4/710-phy-add-mdio_register_board_info.patch b/target/linux/generic/pending-4.4/710-phy-add-mdio_register_board_info.patch
index 4886dd0e3a..4886dd0e3a 100644
--- a/target/linux/generic/patches-4.4/710-phy-add-mdio_register_board_info.patch
+++ b/target/linux/generic/pending-4.4/710-phy-add-mdio_register_board_info.patch
diff --git a/target/linux/generic/patches-4.4/720-phy_adm6996.patch b/target/linux/generic/pending-4.4/720-phy_adm6996.patch
index bf939e893c..bf939e893c 100644
--- a/target/linux/generic/patches-4.4/720-phy_adm6996.patch
+++ b/target/linux/generic/pending-4.4/720-phy_adm6996.patch
diff --git a/target/linux/generic/patches-4.4/721-phy_packets.patch b/target/linux/generic/pending-4.4/721-phy_packets.patch
index b163684c69..b163684c69 100644
--- a/target/linux/generic/patches-4.4/721-phy_packets.patch
+++ b/target/linux/generic/pending-4.4/721-phy_packets.patch
diff --git a/target/linux/generic/patches-4.4/722-phy_mvswitch.patch b/target/linux/generic/pending-4.4/722-phy_mvswitch.patch
index 37ec7d9e5d..37ec7d9e5d 100644
--- a/target/linux/generic/patches-4.4/722-phy_mvswitch.patch
+++ b/target/linux/generic/pending-4.4/722-phy_mvswitch.patch
diff --git a/target/linux/generic/patches-4.4/723-phy_ip175c.patch b/target/linux/generic/pending-4.4/723-phy_ip175c.patch
index 5eb10bb30f..5eb10bb30f 100644
--- a/target/linux/generic/patches-4.4/723-phy_ip175c.patch
+++ b/target/linux/generic/pending-4.4/723-phy_ip175c.patch
diff --git a/target/linux/generic/patches-4.4/724-phy_ar8216.patch b/target/linux/generic/pending-4.4/724-phy_ar8216.patch
index 8cd0034334..8cd0034334 100644
--- a/target/linux/generic/patches-4.4/724-phy_ar8216.patch
+++ b/target/linux/generic/pending-4.4/724-phy_ar8216.patch
diff --git a/target/linux/generic/patches-4.4/725-phy_rtl8306.patch b/target/linux/generic/pending-4.4/725-phy_rtl8306.patch
index 2bf2760764..2bf2760764 100644
--- a/target/linux/generic/patches-4.4/725-phy_rtl8306.patch
+++ b/target/linux/generic/pending-4.4/725-phy_rtl8306.patch
diff --git a/target/linux/generic/patches-4.4/726-phy_rtl8366.patch b/target/linux/generic/pending-4.4/726-phy_rtl8366.patch
index 53e967b82f..53e967b82f 100644
--- a/target/linux/generic/patches-4.4/726-phy_rtl8366.patch
+++ b/target/linux/generic/pending-4.4/726-phy_rtl8366.patch
diff --git a/target/linux/generic/patches-4.4/727-phy-rtl8367.patch b/target/linux/generic/pending-4.4/727-phy-rtl8367.patch
index 9fa8c8fc2a..9fa8c8fc2a 100644
--- a/target/linux/generic/patches-4.4/727-phy-rtl8367.patch
+++ b/target/linux/generic/pending-4.4/727-phy-rtl8367.patch
diff --git a/target/linux/generic/patches-4.4/728-phy-rtl8367b.patch b/target/linux/generic/pending-4.4/728-phy-rtl8367b.patch
index 12d7fcad90..12d7fcad90 100644
--- a/target/linux/generic/patches-4.4/728-phy-rtl8367b.patch
+++ b/target/linux/generic/pending-4.4/728-phy-rtl8367b.patch
diff --git a/target/linux/generic/patches-4.4/729-phy-tantos.patch b/target/linux/generic/pending-4.4/729-phy-tantos.patch
index 3f18c83c42..3f18c83c42 100644
--- a/target/linux/generic/patches-4.4/729-phy-tantos.patch
+++ b/target/linux/generic/pending-4.4/729-phy-tantos.patch
diff --git a/target/linux/generic/patches-4.4/730-phy_b53.patch b/target/linux/generic/pending-4.4/730-phy_b53.patch
index 4d5ea7a754..4d5ea7a754 100644
--- a/target/linux/generic/patches-4.4/730-phy_b53.patch
+++ b/target/linux/generic/pending-4.4/730-phy_b53.patch
diff --git a/target/linux/generic/patches-4.4/732-phy-ar8216-led-support.patch b/target/linux/generic/pending-4.4/732-phy-ar8216-led-support.patch
index 799ea494a0..799ea494a0 100644
--- a/target/linux/generic/patches-4.4/732-phy-ar8216-led-support.patch
+++ b/target/linux/generic/pending-4.4/732-phy-ar8216-led-support.patch
diff --git a/target/linux/generic/patches-4.4/733-phy_mvsw61xx.patch b/target/linux/generic/pending-4.4/733-phy_mvsw61xx.patch
index 4daa9e8c87..4daa9e8c87 100644
--- a/target/linux/generic/patches-4.4/733-phy_mvsw61xx.patch
+++ b/target/linux/generic/pending-4.4/733-phy_mvsw61xx.patch
diff --git a/target/linux/generic/patches-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch b/target/linux/generic/pending-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch
index 53abcc33ed..53abcc33ed 100644
--- a/target/linux/generic/patches-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch
+++ b/target/linux/generic/pending-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch
diff --git a/target/linux/generic/patches-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch b/target/linux/generic/pending-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
index 60de6b4f7d..60de6b4f7d 100644
--- a/target/linux/generic/patches-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
+++ b/target/linux/generic/pending-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
diff --git a/target/linux/generic/patches-4.4/736-at803x-fix-reset-handling.patch b/target/linux/generic/pending-4.4/736-at803x-fix-reset-handling.patch
index 91c2334e55..91c2334e55 100644
--- a/target/linux/generic/patches-4.4/736-at803x-fix-reset-handling.patch
+++ b/target/linux/generic/pending-4.4/736-at803x-fix-reset-handling.patch
diff --git a/target/linux/generic/patches-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch b/target/linux/generic/pending-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch
index b30ba7aaae..b30ba7aaae 100644
--- a/target/linux/generic/patches-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch
+++ b/target/linux/generic/pending-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch
diff --git a/target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch b/target/linux/generic/pending-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
index 4e6baac0c3..4e6baac0c3 100644
--- a/target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
+++ b/target/linux/generic/pending-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
diff --git a/target/linux/generic/patches-4.4/739-net-phy-at803x-add-support-for-AT8032.patch b/target/linux/generic/pending-4.4/739-net-phy-at803x-add-support-for-AT8032.patch
index 4455ec49e1..4455ec49e1 100644
--- a/target/linux/generic/patches-4.4/739-net-phy-at803x-add-support-for-AT8032.patch
+++ b/target/linux/generic/pending-4.4/739-net-phy-at803x-add-support-for-AT8032.patch
diff --git a/target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch b/target/linux/generic/pending-4.4/773-bgmac-add-srab-switch.patch
index 5e358c38c1..5e358c38c1 100644
--- a/target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch
+++ b/target/linux/generic/pending-4.4/773-bgmac-add-srab-switch.patch
diff --git a/target/linux/generic/patches-4.4/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-4.4/810-pci_disable_common_quirks.patch
index e5c9043065..e5c9043065 100644
--- a/target/linux/generic/patches-4.4/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/pending-4.4/810-pci_disable_common_quirks.patch
diff --git a/target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-4.4/811-pci_disable_usb_common_quirks.patch
index f22bf804ef..f22bf804ef 100644
--- a/target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/pending-4.4/811-pci_disable_usb_common_quirks.patch
diff --git a/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch b/target/linux/generic/pending-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch
index eb7cc809c7..eb7cc809c7 100644
--- a/target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch
+++ b/target/linux/generic/pending-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch
diff --git a/target/linux/generic/patches-4.4/831-ledtrig_netdev.patch b/target/linux/generic/pending-4.4/831-ledtrig_netdev.patch
index a28de899ac..a28de899ac 100644
--- a/target/linux/generic/patches-4.4/831-ledtrig_netdev.patch
+++ b/target/linux/generic/pending-4.4/831-ledtrig_netdev.patch
diff --git a/target/linux/generic/patches-4.4/834-ledtrig-libata.patch b/target/linux/generic/pending-4.4/834-ledtrig-libata.patch
index c3d187a098..c3d187a098 100644
--- a/target/linux/generic/patches-4.4/834-ledtrig-libata.patch
+++ b/target/linux/generic/pending-4.4/834-ledtrig-libata.patch
diff --git a/target/linux/generic/patches-4.4/835-misc-owl_loader.patch b/target/linux/generic/pending-4.4/835-misc-owl_loader.patch
index c179020680..c179020680 100644
--- a/target/linux/generic/patches-4.4/835-misc-owl_loader.patch
+++ b/target/linux/generic/pending-4.4/835-misc-owl_loader.patch
diff --git a/target/linux/generic/patches-4.4/840-rtc7301.patch b/target/linux/generic/pending-4.4/840-rtc7301.patch
index fafeb830e9..fafeb830e9 100644
--- a/target/linux/generic/patches-4.4/840-rtc7301.patch
+++ b/target/linux/generic/pending-4.4/840-rtc7301.patch
diff --git a/target/linux/generic/patches-4.4/841-rtc_pt7c4338.patch b/target/linux/generic/pending-4.4/841-rtc_pt7c4338.patch
index 4235efa38a..4235efa38a 100644
--- a/target/linux/generic/patches-4.4/841-rtc_pt7c4338.patch
+++ b/target/linux/generic/pending-4.4/841-rtc_pt7c4338.patch
diff --git a/target/linux/generic/patches-4.4/861-04_spi_gpio_implement_spi_delay.patch b/target/linux/generic/pending-4.4/861-04_spi_gpio_implement_spi_delay.patch
index fc1b40c035..fc1b40c035 100644
--- a/target/linux/generic/patches-4.4/861-04_spi_gpio_implement_spi_delay.patch
+++ b/target/linux/generic/pending-4.4/861-04_spi_gpio_implement_spi_delay.patch
diff --git a/target/linux/generic/patches-4.4/862-gpio_spi_driver.patch b/target/linux/generic/pending-4.4/862-gpio_spi_driver.patch
index 8f334ec396..8f334ec396 100644
--- a/target/linux/generic/patches-4.4/862-gpio_spi_driver.patch
+++ b/target/linux/generic/pending-4.4/862-gpio_spi_driver.patch
diff --git a/target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch b/target/linux/generic/pending-4.4/890-uart_optional_sysrq.patch
index 0e37f9456c..0e37f9456c 100644
--- a/target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch
+++ b/target/linux/generic/pending-4.4/890-uart_optional_sysrq.patch
diff --git a/target/linux/generic/patches-4.4/901-debloat_sock_diag.patch b/target/linux/generic/pending-4.4/901-debloat_sock_diag.patch
index fa9f37b716..fa9f37b716 100644
--- a/target/linux/generic/patches-4.4/901-debloat_sock_diag.patch
+++ b/target/linux/generic/pending-4.4/901-debloat_sock_diag.patch
diff --git a/target/linux/generic/patches-4.4/902-debloat_proc.patch b/target/linux/generic/pending-4.4/902-debloat_proc.patch
index 98e78183de..98e78183de 100644
--- a/target/linux/generic/patches-4.4/902-debloat_proc.patch
+++ b/target/linux/generic/pending-4.4/902-debloat_proc.patch
diff --git a/target/linux/generic/patches-4.4/904-debloat_dma_buf.patch b/target/linux/generic/pending-4.4/904-debloat_dma_buf.patch
index 10613de852..10613de852 100644
--- a/target/linux/generic/patches-4.4/904-debloat_dma_buf.patch
+++ b/target/linux/generic/pending-4.4/904-debloat_dma_buf.patch
diff --git a/target/linux/generic/patches-4.4/910-kobject_uevent.patch b/target/linux/generic/pending-4.4/910-kobject_uevent.patch
index a2c935f26b..a2c935f26b 100644
--- a/target/linux/generic/patches-4.4/910-kobject_uevent.patch
+++ b/target/linux/generic/pending-4.4/910-kobject_uevent.patch
diff --git a/target/linux/generic/patches-4.4/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/pending-4.4/911-kobject_add_broadcast_uevent.patch
index a3401ff4b3..a3401ff4b3 100644
--- a/target/linux/generic/patches-4.4/911-kobject_add_broadcast_uevent.patch
+++ b/target/linux/generic/pending-4.4/911-kobject_add_broadcast_uevent.patch
diff --git a/target/linux/generic/patches-4.4/921-use_preinit_as_init.patch b/target/linux/generic/pending-4.4/921-use_preinit_as_init.patch
index 1f4e6322b1..1f4e6322b1 100644
--- a/target/linux/generic/patches-4.4/921-use_preinit_as_init.patch
+++ b/target/linux/generic/pending-4.4/921-use_preinit_as_init.patch
diff --git a/target/linux/generic/patches-4.4/922-always-create-console-node-in-initramfs.patch b/target/linux/generic/pending-4.4/922-always-create-console-node-in-initramfs.patch
index 988de35ce0..988de35ce0 100644
--- a/target/linux/generic/patches-4.4/922-always-create-console-node-in-initramfs.patch
+++ b/target/linux/generic/pending-4.4/922-always-create-console-node-in-initramfs.patch
diff --git a/target/linux/generic/patches-4.4/930-crashlog.patch b/target/linux/generic/pending-4.4/930-crashlog.patch
index fdc80d750a..fdc80d750a 100644
--- a/target/linux/generic/patches-4.4/930-crashlog.patch
+++ b/target/linux/generic/pending-4.4/930-crashlog.patch
diff --git a/target/linux/generic/patches-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch b/target/linux/generic/pending-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch
index ac13c9e673..ac13c9e673 100644
--- a/target/linux/generic/patches-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch
+++ b/target/linux/generic/pending-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch
diff --git a/target/linux/generic/patches-4.4/995-mangle_bootargs.patch b/target/linux/generic/pending-4.4/995-mangle_bootargs.patch
index 2483e1bb98..2483e1bb98 100644
--- a/target/linux/generic/patches-4.4/995-mangle_bootargs.patch
+++ b/target/linux/generic/pending-4.4/995-mangle_bootargs.patch
diff --git a/target/linux/generic/patches-4.4/998-enable_wilink_platform_without_drivers.patch b/target/linux/generic/pending-4.4/998-enable_wilink_platform_without_drivers.patch
index d317de1102..d317de1102 100644
--- a/target/linux/generic/patches-4.4/998-enable_wilink_platform_without_drivers.patch
+++ b/target/linux/generic/pending-4.4/998-enable_wilink_platform_without_drivers.patch
diff --git a/target/linux/generic/patches-4.9/100-MIPS-fix-cache-flushing-for-highmem-pages.patch b/target/linux/generic/pending-4.9/100-MIPS-fix-cache-flushing-for-highmem-pages.patch
index cbe666a61f..622fab65b7 100644
--- a/target/linux/generic/patches-4.9/100-MIPS-fix-cache-flushing-for-highmem-pages.patch
+++ b/target/linux/generic/pending-4.9/100-MIPS-fix-cache-flushing-for-highmem-pages.patch
@@ -1,6 +1,5 @@
From: Felix Fietkau <nbd@nbd.name>
-Date: Sun, 24 Jan 2016 01:03:51 +0100
-Subject: [PATCH] MIPS: fix cache flushing for highmem pages
+Subject: MIPS: fix cache flushing for highmem pages
Most cache flush ops were no-op for highmem pages. This led to nasty
segfaults and (in the case of page_address(page) == NULL) kernel
diff --git a/target/linux/generic/patches-4.9/110-ehci_hcd_ignore_oc.patch b/target/linux/generic/pending-4.9/110-ehci_hcd_ignore_oc.patch
index 2d1f53be26..644d936574 100644
--- a/target/linux/generic/patches-4.9/110-ehci_hcd_ignore_oc.patch
+++ b/target/linux/generic/pending-4.9/110-ehci_hcd_ignore_oc.patch
@@ -1,8 +1,5 @@
-From 1e311820ec3055e3f08e687de6564692a7cec675 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
-Date: Mon, 28 Jan 2013 20:06:29 +0100
-Subject: [PATCH 11/12] USB: EHCI: add ignore_oc flag to disable overcurrent
- checking
+Subject: USB: EHCI: add ignore_oc flag to disable overcurrent checking
This patch adds an ignore_oc flag which can be set by EHCI controller
not supporting or wanting to disable overcurrent checking. The EHCI
diff --git a/target/linux/generic/patches-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
index 3f746ebd0a..a5d3a3db32 100644
--- a/target/linux/generic/patches-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
+++ b/target/linux/generic/pending-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
@@ -1,9 +1,5 @@
From: Tobias Wolf <dev-NTEO@vplace.de>
-Date: Wed, 30 Nov 2016 09:16:41 +0100
-Subject: [PATCH] mm: Fix alloc_node_mem_map with ARCH_PFN_OFFSET
- calculation
-
-Dear folks,
+Subject: mm: Fix alloc_node_mem_map with ARCH_PFN_OFFSET calculation
An rt288x (ralink) based router (Belkin F5D8235 v1) does not boot with any
kernel beyond version 4.3 resulting in:
diff --git a/target/linux/generic/patches-4.9/130-add-linux-spidev-compatible-si3210.patch b/target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch
index 300ec61ad8..01ac900b81 100644
--- a/target/linux/generic/patches-4.9/130-add-linux-spidev-compatible-si3210.patch
+++ b/target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch
@@ -1,8 +1,13 @@
-Add the linux,spidev compatible in spidev
-Several device in ramips have this binding in the dts
+From: Giuseppe Lippolis <giu.lippolis@gmail.com>
+Subject: Add the linux,spidev compatible in spidev Several device in ramips have this binding in the dts
Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
---
+ drivers/spi/spidev.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
+index 2e05046f866b..09d03763f39b 100644
--- a/drivers/spi/spidev.c
+++ b/drivers/spi/spidev.c
@@ -696,6 +696,7 @@ static struct class *spidev_class;
@@ -13,3 +18,6 @@ Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
{},
};
MODULE_DEVICE_TABLE(of, spidev_dt_ids);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch b/target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch
index 62d6b00852..e11e7148d9 100644
--- a/target/linux/generic/patches-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch
+++ b/target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch
@@ -1,6 +1,5 @@
From: Felix Fietkau <nbd@nbd.name>
-Date: Fri, 30 Dec 2016 14:53:45 +0100
-Subject: [PATCH] spi: use gpio_set_value_cansleep for setting chipselect GPIO
+Subject: spi: use gpio_set_value_cansleep for setting chipselect GPIO
Sleeping is safe inside spi_transfer_one_message, and some GPIO chips
need to sleep for setting values
@@ -10,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -700,7 +700,7 @@ static void spi_set_cs(struct spi_device
+@@ -698,7 +698,7 @@ static void spi_set_cs(struct spi_device
enable = !enable;
if (gpio_is_valid(spi->cs_gpio))
diff --git a/target/linux/generic/patches-4.9/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch b/target/linux/generic/pending-4.9/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
index 10548020d3..b9bb3f71f1 100644
--- a/target/linux/generic/patches-4.9/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
+++ b/target/linux/generic/pending-4.9/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
@@ -1,6 +1,5 @@
From: Felix Fietkau <nbd@nbd.name>
-Date: Fri, 10 Apr 2015 13:35:29 +0200
-Subject: [PATCH] jffs2: use .rename2 and add RENAME_WHITEOUT support
+Subject: jffs2: use .rename2 and add RENAME_WHITEOUT support
It is required for renames on overlayfs
diff --git a/target/linux/generic/patches-4.9/141-jffs2-add-RENAME_EXCHANGE-support.patch b/target/linux/generic/pending-4.9/141-jffs2-add-RENAME_EXCHANGE-support.patch
index 88187bbdb8..4b30bc7cd0 100644
--- a/target/linux/generic/patches-4.9/141-jffs2-add-RENAME_EXCHANGE-support.patch
+++ b/target/linux/generic/pending-4.9/141-jffs2-add-RENAME_EXCHANGE-support.patch
@@ -1,6 +1,5 @@
From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 25 Apr 2015 12:41:32 +0200
-Subject: [PATCH] jffs2: add RENAME_EXCHANGE support
+Subject: jffs2: add RENAME_EXCHANGE support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
diff --git a/target/linux/generic/patches-4.9/150-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/pending-4.9/150-bridge_allow_receiption_on_disabled_port.patch
index a164f6e7ea..a164f6e7ea 100644
--- a/target/linux/generic/patches-4.9/150-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/pending-4.9/150-bridge_allow_receiption_on_disabled_port.patch
diff --git a/target/linux/generic/patches-4.9/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch b/target/linux/generic/pending-4.9/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch
index 41609d5aae..5e9ad8cf07 100644
--- a/target/linux/generic/patches-4.9/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch
+++ b/target/linux/generic/pending-4.9/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch
@@ -1,7 +1,5 @@
-From 3e7056c3a369e9ef9ca804bc626b60ef6b62ee27 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 17 May 2015 18:48:38 +0200
-Subject: [PATCH 2/3] mtd: part: add generic parsing of linux,part-probe
+Subject: mtd: part: add generic parsing of linux,part-probe
This moves the linux,part-probe device tree parsing code from
physmap_of.c to mtdpart.c. Now all drivers can use this feature by just
diff --git a/target/linux/generic/patches-4.9/170-MIPS-PCI-add-controllers-before-the-specified-head.patch b/target/linux/generic/pending-4.9/170-MIPS-PCI-add-controllers-before-the-specified-head.patch
index b6db663fc2..3eed80e714 100644
--- a/target/linux/generic/patches-4.9/170-MIPS-PCI-add-controllers-before-the-specified-head.patch
+++ b/target/linux/generic/pending-4.9/170-MIPS-PCI-add-controllers-before-the-specified-head.patch
@@ -1,5 +1,4 @@
From: Mathias Kresin <dev@kresin.me>
-Date: Sun, 26 Mar 2017 19:05:36 +0200
Subject: MIPS: PCI: add controllers before the specified head
With commit 23dac14d058f ("MIPS: PCI: Use struct list_head lists") new
diff --git a/target/linux/generic/patches-4.9/180-net-phy-at803x-add-support-for-AT8032.patch b/target/linux/generic/pending-4.9/180-net-phy-at803x-add-support-for-AT8032.patch
index 98ba691589..f2d5df503f 100644
--- a/target/linux/generic/patches-4.9/180-net-phy-at803x-add-support-for-AT8032.patch
+++ b/target/linux/generic/pending-4.9/180-net-phy-at803x-add-support-for-AT8032.patch
@@ -1,6 +1,5 @@
From: Felix Fietkau <nbd@nbd.name>
-Date: Wed, 30 Nov 2016 11:31:03 +0100
-Subject: [PATCH] net: phy: at803x: add support for AT8032
+Subject: net: phy: at803x: add support for AT8032
Like AT8030, this PHY needs the GPIO reset workaround
diff --git a/target/linux/generic/pending-4.9/201-extra_optimization.patch b/target/linux/generic/pending-4.9/201-extra_optimization.patch
new file mode 100644
index 0000000000..b0ad420e5c
--- /dev/null
+++ b/target/linux/generic/pending-4.9/201-extra_optimization.patch
@@ -0,0 +1,37 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: Upgrade to Linux 2.6.19
+
+- Includes large parts of the patch from #1021 by dpalffy
+- Includes RB532 NAND driver changes by n0-1
+
+[john@phrozen.org: feix will add this to his upstream queue]
+
+lede-commit: bff468813f78f81e36ebb2a3f4354de7365e640f
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 598494bc9a4b..1f02ac9b571a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -637,12 +637,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
+ endif
+
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+-KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
++KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
+ else
+ ifdef CONFIG_PROFILE_ALL_BRANCHES
+-KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,)
++KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
+ else
+-KBUILD_CFLAGS += -O2
++KBUILD_CFLAGS += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
+ endif
+ endif
+
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch
index e3c9562c3d..78255f5bcd 100644
--- a/target/linux/generic/patches-4.9/203-kallsyms_uncompressed.patch
+++ b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch
@@ -1,6 +1,69 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: add a config option for keeping the kallsyms table uncompressed, saving ~9kb kernel size after lzma on ar71xx
+
+[john@phrozen.org: added to my upstream queue 30.12.2016]
+lede-commit: e0e3509b5ce2ccf93d4d67ea907613f5f7ec2eed
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ init/Kconfig | 11 +++++++++++
+ kernel/kallsyms.c | 8 ++++++++
+ scripts/kallsyms.c | 12 ++++++++++++
+ scripts/link-vmlinux.sh | 4 ++++
+ 4 files changed, 35 insertions(+)
+
+diff --git a/init/Kconfig b/init/Kconfig
+index 34407f15e6d3..9063c81b9665 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -1370,6 +1370,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+ the unaligned access emulation.
+ see arch/parisc/kernel/unaligned.c for reference
+
++config KALLSYMS_UNCOMPRESSED
++ bool "Keep kallsyms uncompressed"
++ depends on KALLSYMS
++ help
++ Normally kallsyms contains compressed symbols (using a token table),
++ reducing the uncompressed kernel image size. Keeping the symbol table
++ uncompressed significantly improves the size of this part in compressed
++ kernel images.
++
++ Say N unless you need compressed kernel images to be small.
++
+ config HAVE_PCSPKR_PLATFORM
+ bool
+
+diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
+index fafd1a3ef0da..abe49579212f 100644
+--- a/kernel/kallsyms.c
++++ b/kernel/kallsyms.c
+@@ -113,6 +113,11 @@ static unsigned int kallsyms_expand_symbol(unsigned int off,
+ * For every byte on the compressed symbol data, copy the table
+ * entry for that byte.
+ */
++#ifdef CONFIG_KALLSYMS_UNCOMPRESSED
++ memcpy(result, data + 1, len - 1);
++ result += len - 1;
++ len = 0;
++#endif
+ while (len) {
+ tptr = &kallsyms_token_table[kallsyms_token_index[*data]];
+ data++;
+@@ -145,6 +150,9 @@ static unsigned int kallsyms_expand_symbol(unsigned int off,
+ */
+ static char kallsyms_get_symbol_type(unsigned int off)
+ {
++#ifdef CONFIG_KALLSYMS_UNCOMPRESSED
++ return kallsyms_names[off + 1];
++#endif
+ /*
+ * Get just the first code, look it up in the token table,
+ * and return the first char from this token.
+diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
+index 1f22a186c18c..e7f0f19e39a9 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
-@@ -61,6 +61,7 @@ static struct addr_range percpu_range =
+@@ -61,6 +61,7 @@ static struct addr_range percpu_range = {
static struct sym_entry *table;
static unsigned int table_size, table_cnt;
static int all_symbols = 0;
@@ -18,7 +81,7 @@
output_label("kallsyms_token_table");
off = 0;
for (i = 0; i < 256; i++) {
-@@ -504,6 +508,9 @@ static void *find_token(unsigned char *s
+@@ -504,6 +508,9 @@ static void *find_token(unsigned char *str, int len, unsigned char *token)
{
int i;
@@ -47,26 +110,8 @@
else
usage();
}
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -1370,6 +1370,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
- the unaligned access emulation.
- see arch/parisc/kernel/unaligned.c for reference
-
-+config KALLSYMS_UNCOMPRESSED
-+ bool "Keep kallsyms uncompressed"
-+ depends on KALLSYMS
-+ help
-+ Normally kallsyms contains compressed symbols (using a token table),
-+ reducing the uncompressed kernel image size. Keeping the symbol table
-+ uncompressed significantly improves the size of this part in compressed
-+ kernel images.
-+
-+ Say N unless you need compressed kernel images to be small.
-+
- config HAVE_PCSPKR_PLATFORM
- bool
-
+diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
+index f742c65108b9..6aabf1d71bb6 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -136,6 +136,10 @@ kallsyms()
@@ -80,27 +125,6 @@
local aflags="${KBUILD_AFLAGS} ${KBUILD_AFLAGS_KERNEL} \
${NOSTDINC_FLAGS} ${LINUXINCLUDE} ${KBUILD_CPPFLAGS}"
---- a/kernel/kallsyms.c
-+++ b/kernel/kallsyms.c
-@@ -113,6 +113,11 @@ static unsigned int kallsyms_expand_symb
- * For every byte on the compressed symbol data, copy the table
- * entry for that byte.
- */
-+#ifdef CONFIG_KALLSYMS_UNCOMPRESSED
-+ memcpy(result, data + 1, len - 1);
-+ result += len - 1;
-+ len = 0;
-+#endif
- while (len) {
- tptr = &kallsyms_token_table[kallsyms_token_index[*data]];
- data++;
-@@ -145,6 +150,9 @@ tail:
- */
- static char kallsyms_get_symbol_type(unsigned int off)
- {
-+#ifdef CONFIG_KALLSYMS_UNCOMPRESSED
-+ return kallsyms_names[off + 1];
-+#endif
- /*
- * Get just the first code, look it up in the token table,
- * and return the first char from this token.
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/205-backtrace_module_info.patch b/target/linux/generic/pending-4.9/205-backtrace_module_info.patch
index 25fe3751aa..e8a55cc391 100644
--- a/target/linux/generic/patches-4.9/205-backtrace_module_info.patch
+++ b/target/linux/generic/pending-4.9/205-backtrace_module_info.patch
@@ -1,6 +1,19 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: when KALLSYMS is disabled, print module address + size for matching backtrace entries
+
+[john@phrozen.org: felix will add this to his upstream queue]
+
+lede-commit 53827cdc824556cda910b23ce5030c363b8f1461
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ lib/vsprintf.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/lib/vsprintf.c b/lib/vsprintf.c
+index 0967771d8f7f..5d27eae49198 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
-@@ -669,8 +669,10 @@ char *symbol_string(char *buf, char *end
+@@ -669,8 +669,10 @@ char *symbol_string(char *buf, char *end, void *ptr,
struct printf_spec spec, const char *fmt)
{
unsigned long value;
@@ -12,7 +25,7 @@
#endif
if (fmt[1] == 'R')
-@@ -684,11 +686,16 @@ char *symbol_string(char *buf, char *end
+@@ -684,11 +686,16 @@ char *symbol_string(char *buf, char *end, void *ptr,
sprint_symbol(sym, value);
else
sprint_symbol_no_offset(sym, value);
@@ -32,3 +45,6 @@
}
static noinline_for_stack
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/206-mips-disable-vdso.patch b/target/linux/generic/pending-4.9/206-mips-disable-vdso.patch
index e45e734cd3..9785f932e7 100644
--- a/target/linux/generic/patches-4.9/206-mips-disable-vdso.patch
+++ b/target/linux/generic/pending-4.9/206-mips-disable-vdso.patch
@@ -1,7 +1,14 @@
-Disable MIPS VDSO until the cache issues have been sorted out.
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: disable MIPS VDSO by default until the cache issues have been resolved
+lede-commit: 1185e645a773c86aa88cf04d0e2911dc62eb43f5
Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ arch/mips/vdso/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
+index c3dc12a8b7d9..28f66e3bb2c3 100644
--- a/arch/mips/vdso/Makefile
+++ b/arch/mips/vdso/Makefile
@@ -28,9 +28,9 @@ aflags-vdso := $(ccflags-vdso) \
@@ -16,3 +23,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
endif
# VDSO linker flags.
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch b/target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch
index ac13c9e673..dd1404fbd6 100644
--- a/target/linux/generic/patches-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch
+++ b/target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch
@@ -1,6 +1,26 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: usr: sanitize deps_initramfs list
+
+If any filename in the intramfs dependency
+list contains a colon, that causes a kernel
+build error like this:
+
+/devel/openwrt/build_dir/linux-ar71xx_generic/linux-3.6.6/usr/Makefile:58: *** multiple target patterns. Stop.
+make[5]: *** [usr] Error 2
+
+Fix it by removing such filenames from the
+deps_initramfs list.
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ usr/Makefile | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/usr/Makefile b/usr/Makefile
+index e767f019accf..17328d3c11cc 100644
--- a/usr/Makefile
+++ b/usr/Makefile
-@@ -53,6 +53,8 @@ ifneq ($(wildcard $(obj)/.initramfs_data
+@@ -53,6 +53,8 @@ ifneq ($(wildcard $(obj)/.initramfs_data.cpio.d),)
include $(obj)/.initramfs_data.cpio.d
endif
@@ -9,7 +29,7 @@
quiet_cmd_initfs = GEN $@
cmd_initfs = $(initramfs) -o $@ $(ramfs-args) $(ramfs-input)
-@@ -61,14 +63,14 @@ targets := initramfs_data.cpio.gz initra
+@@ -61,14 +63,14 @@ targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 \
initramfs_data.cpio.lzo initramfs_data.cpio.lz4 \
initramfs_data.cpio
# do not try to update files included in initramfs
@@ -27,3 +47,6 @@
+$(obj)/initramfs_data.cpio$(suffix_y): $(obj)/gen_init_cpio $(deps_initramfs_sane) klibcdirs
$(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.d
$(call if_changed,initfs)
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch b/target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch
new file mode 100644
index 0000000000..961fe6a302
--- /dev/null
+++ b/target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch
@@ -0,0 +1,25 @@
+From: Imre Kaloz <kaloz@openwrt.org>
+Subject: [PATCH] hack: net: wireless: make the wl12xx glue code available with
+ compat-wireless, too
+
+Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
+---
+ drivers/net/wireless/ti/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/ti/Kconfig b/drivers/net/wireless/ti/Kconfig
+index 92fbd6597e34..3b1f951cacf7 100644
+--- a/drivers/net/wireless/ti/Kconfig
++++ b/drivers/net/wireless/ti/Kconfig
+@@ -19,7 +19,7 @@ source "drivers/net/wireless/ti/wlcore/Kconfig"
+
+ config WILINK_PLATFORM_DATA
+ bool "TI WiLink platform data"
+- depends on WLCORE_SDIO || WL1251_SDIO
++ depends on WLCORE_SDIO || WL1251_SDIO || ARCH_OMAP2PLUS
+ default y
+ ---help---
+ Small platform data bit needed to pass data to the sdio modules.
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch b/target/linux/generic/pending-4.9/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
index 762f4989b6..9c30fa81bf 100644
--- a/target/linux/generic/patches-4.9/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
+++ b/target/linux/generic/pending-4.9/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
@@ -1,7 +1,5 @@
-From 8b05e325824d3b38e52a7748b3b5dc34dc1c0f6d Mon Sep 17 00:00:00 2001
From: David Heidelberger <david.heidelberger@ixit.cz>
-Date: Mon, 29 Jun 2015 14:37:54 +0200
-Subject: [PATCH 1/3] uapi/kernel.h: glibc specific inclusion of sysinfo.h
+Subject: uapi/kernel.h: glibc specific inclusion of sysinfo.h
including sysinfo.h from kernel.h makes no sense whatsoever,
but removing it breaks glibc's userspace header,
diff --git a/target/linux/generic/patches-4.9/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch b/target/linux/generic/pending-4.9/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
index ff47e75e73..a4aa1567e1 100644
--- a/target/linux/generic/patches-4.9/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
+++ b/target/linux/generic/pending-4.9/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
@@ -1,7 +1,5 @@
-From f972afc2509eebcb00d370256c55b112a3b5ffca Mon Sep 17 00:00:00 2001
From: David Heidelberger <david.heidelberger@ixit.cz>
-Date: Mon, 29 Jun 2015 16:50:40 +0200
-Subject: [PATCH 2/3] uapi/libc-compat.h: do not rely on __GLIBC__
+Subject: uapi/libc-compat.h: do not rely on __GLIBC__
Musl provides the same structs as glibc, but does not provide a define to
allow its detection. Since the absence of __GLIBC__ also can mean that it
diff --git a/target/linux/generic/patches-4.9/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch b/target/linux/generic/pending-4.9/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
index ce61f61a74..7b7b403ed0 100644
--- a/target/linux/generic/patches-4.9/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
+++ b/target/linux/generic/pending-4.9/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
@@ -1,7 +1,5 @@
-From fcbb6fed85ea9ff4feb4f1ebd4f0f235fdaf06b6 Mon Sep 17 00:00:00 2001
From: David Heidelberger <david.heidelberger@ixit.cz>
-Date: Mon, 29 Jun 2015 16:53:03 +0200
-Subject: [PATCH 3/3] uapi/if_ether.h: prevent redefinition of struct ethhdr
+Subject: uapi/if_ether.h: prevent redefinition of struct ethhdr
Musl provides its own ethhdr struct definition. Add a guard to prevent
its definition of the appropriate musl header has already been included.
diff --git a/target/linux/generic/patches-4.9/300-mips_expose_boot_raw.patch b/target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch
index 6925ddec6c..d7a3effa4c 100644
--- a/target/linux/generic/patches-4.9/300-mips_expose_boot_raw.patch
+++ b/target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch
@@ -1,4 +1,5 @@
From: Mark Miller <mark@mirell.org>
+Subject: mips: expose CONFIG_BOOT_RAW
This exposes the CONFIG_BOOT_RAW symbol in Kconfig. This is needed on
certain Broadcom chipsets running CFE in order to load the kernel.
diff --git a/target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch b/target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch
new file mode 100644
index 0000000000..a7c26dfd1e
--- /dev/null
+++ b/target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch
@@ -0,0 +1,27 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: mips: use -mno-branch-likely for kernel and userspace
+
+saves ~11k kernel size after lzma and ~12k squashfs size in the
+
+lede-commit: 41a039f46450ffae9483d6216422098669da2900
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ arch/mips/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/mips/Makefile b/arch/mips/Makefile
+index 1a6bac7b076f..5b656d9a1bbe 100644
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -90,7 +90,7 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz
+ # machines may also. Since BFD is incredibly buggy with respect to
+ # crossformat linking we rely on the elf2ecoff tool for format conversion.
+ #
+-cflags-y += -G 0 -mno-abicalls -fno-pic -pipe
++cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
+ cflags-y += -msoft-float
+ LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
+ KBUILD_AFLAGS_MODULE += -mlong-calls
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/304-mips_disable_fpu.patch b/target/linux/generic/pending-4.9/304-mips_disable_fpu.patch
index a69ea57678..aac9c79da8 100644
--- a/target/linux/generic/patches-4.9/304-mips_disable_fpu.patch
+++ b/target/linux/generic/pending-4.9/304-mips_disable_fpu.patch
@@ -1,7 +1,5 @@
From: Manuel Lauss <manuel.lauss@gmail.com>
Subject: [RFC PATCH v4 2/2] MIPS: make FPU emulator optional
-Date: Mon, 7 Apr 2014 12:57:04 +0200
-Message-Id: <1396868224-252888-2-git-send-email-manuel.lauss@gmail.com>
This small patch makes the MIPS FPU emulator optional. The kernel
kills float-users on systems without a hardware FPU by sending a SIGILL.
diff --git a/target/linux/generic/patches-4.9/305-mips_module_reloc.patch b/target/linux/generic/pending-4.9/305-mips_module_reloc.patch
index 1c2bd0aa9f..f0776b205f 100644
--- a/target/linux/generic/patches-4.9/305-mips_module_reloc.patch
+++ b/target/linux/generic/pending-4.9/305-mips_module_reloc.patch
@@ -1,6 +1,19 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: mips: replace -mlong-calls with -mno-long-calls to make function calls faster in kernel modules to achieve this, try to
+
+lede-commit: 3b3d64743ba2a874df9d70cd19e242205b0a788c
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ arch/mips/Makefile | 5 +
+ arch/mips/include/asm/module.h | 5 +
+ arch/mips/kernel/module.c | 279 ++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 284 insertions(+), 5 deletions(-)
+
+diff --git a/arch/mips/Makefile b/arch/mips/Makefile
+index 48dc1a9c3e42..77bf5db20d65 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -93,8 +93,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
+@@ -93,8 +93,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz
cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
cflags-y += -msoft-float
LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
@@ -14,6 +27,8 @@
ifeq ($(CONFIG_RELOCATABLE),y)
LDFLAGS_vmlinux += --emit-relocs
+diff --git a/arch/mips/include/asm/module.h b/arch/mips/include/asm/module.h
+index 702c273e67a9..1d4f3b37cefe 100644
--- a/arch/mips/include/asm/module.h
+++ b/arch/mips/include/asm/module.h
@@ -11,6 +11,11 @@ struct mod_arch_specific {
@@ -28,6 +43,8 @@
};
typedef uint8_t Elf64_Byte; /* Type for a 8-bit quantity. */
+diff --git a/arch/mips/kernel/module.c b/arch/mips/kernel/module.c
+index 94627a3a6a0d..947981a9aa72 100644
--- a/arch/mips/kernel/module.c
+++ b/arch/mips/kernel/module.c
@@ -44,14 +44,221 @@ struct mips_hi16 {
@@ -253,7 +270,7 @@
int apply_r_mips_none(struct module *me, u32 *location, Elf_Addr v)
{
-@@ -65,8 +272,39 @@ static int apply_r_mips_32_rel(struct mo
+@@ -65,8 +272,39 @@ static int apply_r_mips_32_rel(struct module *me, u32 *location, Elf_Addr v)
return 0;
}
@@ -293,7 +310,7 @@
if (v % 4) {
pr_err("module %s: dangerous R_MIPS_26 REL relocation\n",
me->name);
-@@ -74,13 +312,17 @@ static int apply_r_mips_26_rel(struct mo
+@@ -74,13 +312,17 @@ static int apply_r_mips_26_rel(struct module *me, u32 *location, Elf_Addr v)
}
if ((v & 0xf0000000) != (((unsigned long)location + 4) & 0xf0000000)) {
@@ -352,3 +369,6 @@
void module_arch_cleanup(struct module *mod)
{
spin_lock_irq(&dbe_lock);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/306-mips_mem_functions_performance.patch b/target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch
index dc83a62c86..b3d319cbc4 100644
--- a/target/linux/generic/patches-4.9/306-mips_mem_functions_performance.patch
+++ b/target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch
@@ -1,6 +1,35 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: [PATCH] mips: allow the compiler to optimize memset, memcmp, memcpy for better performance and (in some instances) smaller code
+
+lede-commit: 07e59c7bc7f375f792ec9734be42fe4fa391a8bb
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ arch/mips/boot/compressed/Makefile | 3 ++-
+ arch/mips/include/asm/string.h | 38 ++++++++++++++++++++++++++++++++++++++
+ arch/mips/lib/Makefile | 2 +-
+ arch/mips/lib/memcmp.c | 22 ++++++++++++++++++++++
+ 4 files changed, 63 insertions(+), 2 deletions(-)
+ create mode 100644 arch/mips/lib/memcmp.c
+
+diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
+index 90aca95fe314..3cd3b391ef49 100644
+--- a/arch/mips/boot/compressed/Makefile
++++ b/arch/mips/boot/compressed/Makefile
+@@ -23,7 +23,8 @@ KBUILD_CFLAGS := $(shell echo $(KBUILD_CFLAGS) | sed -e "s/-pg//")
+ KBUILD_CFLAGS := $(filter-out -fstack-protector, $(KBUILD_CFLAGS))
+
+ KBUILD_CFLAGS := $(LINUXINCLUDE) $(KBUILD_CFLAGS) -D__KERNEL__ \
+- -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull"
++ -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull" \
++ -D__ZBOOT__
+
+ KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \
+ -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
+diff --git a/arch/mips/include/asm/string.h b/arch/mips/include/asm/string.h
+index 29030cb398ee..7b737f9b6d58 100644
--- a/arch/mips/include/asm/string.h
+++ b/arch/mips/include/asm/string.h
-@@ -140,4 +140,42 @@ extern void *memcpy(void *__to, __const_
+@@ -140,4 +140,42 @@ extern void *memcpy(void *__to, __const__ void *__from, size_t __n);
#define __HAVE_ARCH_MEMMOVE
extern void *memmove(void *__dest, __const__ void *__src, size_t __n);
@@ -43,6 +72,8 @@
+#endif
+
#endif /* _ASM_STRING_H */
+diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile
+index 0344e575f522..33a0211e954a 100644
--- a/arch/mips/lib/Makefile
+++ b/arch/mips/lib/Makefile
@@ -4,7 +4,7 @@
@@ -54,6 +85,9 @@
obj-y += iomap.o
obj-$(CONFIG_PCI) += iomap-pci.o
+diff --git a/arch/mips/lib/memcmp.c b/arch/mips/lib/memcmp.c
+new file mode 100644
+index 000000000000..35ef1646286e
--- /dev/null
+++ b/arch/mips/lib/memcmp.c
@@ -0,0 +1,22 @@
@@ -79,15 +113,6 @@
+}
+EXPORT_SYMBOL(memcmp);
+
---- a/arch/mips/boot/compressed/Makefile
-+++ b/arch/mips/boot/compressed/Makefile
-@@ -23,7 +23,8 @@ KBUILD_CFLAGS := $(shell echo $(KBUILD_C
- KBUILD_CFLAGS := $(filter-out -fstack-protector, $(KBUILD_CFLAGS))
-
- KBUILD_CFLAGS := $(LINUXINCLUDE) $(KBUILD_CFLAGS) -D__KERNEL__ \
-- -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull"
-+ -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull" \
-+ -D__ZBOOT__
-
- KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \
- -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/307-mips_highmem_offset.patch b/target/linux/generic/pending-4.9/307-mips_highmem_offset.patch
new file mode 100644
index 0000000000..7f298fc2d3
--- /dev/null
+++ b/target/linux/generic/pending-4.9/307-mips_highmem_offset.patch
@@ -0,0 +1,24 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: adjust mips highmem offset to avoid the need for -mlong-calls on systems with >256M RAM
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ arch/mips/include/asm/mach-generic/spaces.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/mips/include/asm/mach-generic/spaces.h b/arch/mips/include/asm/mach-generic/spaces.h
+index 952b0fdfda0e..fbb4e4cd4537 100644
+--- a/arch/mips/include/asm/mach-generic/spaces.h
++++ b/arch/mips/include/asm/mach-generic/spaces.h
+@@ -46,7 +46,7 @@
+ * Memory above this physical address will be considered highmem.
+ */
+ #ifndef HIGHMEM_START
+-#define HIGHMEM_START _AC(0x20000000, UL)
++#define HIGHMEM_START _AC(0x10000000, UL)
+ #endif
+
+ #endif /* CONFIG_32BIT */
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/308-mips32r2_tune.patch b/target/linux/generic/pending-4.9/308-mips32r2_tune.patch
index f2dbdac911..4814eebb23 100644
--- a/target/linux/generic/patches-4.9/308-mips32r2_tune.patch
+++ b/target/linux/generic/pending-4.9/308-mips32r2_tune.patch
@@ -1,12 +1,19 @@
-Add -mtune=34kc to MIPS CFLAGS when building for mips32r2
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: add -mtune=34kc to MIPS CFLAGS when building for mips32r2
+
This provides a good tradeoff across at least 24Kc-74Kc, while also
producing smaller code.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ arch/mips/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+diff --git a/arch/mips/Makefile b/arch/mips/Makefile
+index 77bf5db20d65..1ac83e281f90 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -148,7 +148,7 @@ cflags-$(CONFIG_CPU_R4X00) += -march=r46
+@@ -148,7 +148,7 @@ cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap
cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
-Wa,-mips32 -Wa,--trap
@@ -15,3 +22,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
-Wa,-mips32r2 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch b/target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch
new file mode 100644
index 0000000000..8de2b9989f
--- /dev/null
+++ b/target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch
@@ -0,0 +1,27 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: fix errors in unresolved weak symbols on arm
+
+lede-commit: 570699d4838a907c3ef9f2819bf19eb72997b32f
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ arch/arm/kernel/module.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c
+index 4f14b5ce6535..4b4b0461663f 100644
+--- a/arch/arm/kernel/module.c
++++ b/arch/arm/kernel/module.c
+@@ -88,6 +88,10 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex,
+ return -ENOEXEC;
+ }
+
++ if ((IS_ERR_VALUE(sym->st_value) || !sym->st_value) &&
++ ELF_ST_BIND(sym->st_info) == STB_WEAK)
++ continue;
++
+ loc = dstsec->sh_addr + rel->r_offset;
+
+ switch (ELF32_R_TYPE(rel->r_info)) {
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch b/target/linux/generic/pending-4.9/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
index 28975e2634..ff85a13fda 100644
--- a/target/linux/generic/patches-4.9/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
+++ b/target/linux/generic/pending-4.9/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
@@ -1,8 +1,5 @@
-From d8582dcf1ed66eee88a11e4760f42c0d6c8822be Mon Sep 17 00:00:00 2001
From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Sat, 31 Jan 2015 22:26:03 +0800
-Subject: [PATCH 331/331] MIPS: kexec: Accept command line parameters from
- userspace.
+Subject: MIPS: kexec: Accept command line parameters from userspace.
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
---
diff --git a/target/linux/generic/patches-4.9/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-4.9/332-arc-add-OWRTDTB-section.patch
index 9761fa3711..79d67c8bf0 100644
--- a/target/linux/generic/patches-4.9/332-arc-add-OWRTDTB-section.patch
+++ b/target/linux/generic/pending-4.9/332-arc-add-OWRTDTB-section.patch
@@ -1,7 +1,5 @@
-From 690e7f2cad271595ff68cace1c45fb10779bde41 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Fri, 15 Jan 2016 00:34:01 +0300
-Subject: [PATCH 2/2] openwrt: arc - add OWRTDTB section
+Subject: openwrt: arc - add OWRTDTB section
This change allows OpenWRT to patch resulting kernel binary with
external .dtb.
diff --git a/target/linux/generic/patches-4.9/333-arc-enable-unaligned-access-in-kernel-mode.patch b/target/linux/generic/pending-4.9/333-arc-enable-unaligned-access-in-kernel-mode.patch
index 082f525f1b..4e0265aef5 100644
--- a/target/linux/generic/patches-4.9/333-arc-enable-unaligned-access-in-kernel-mode.patch
+++ b/target/linux/generic/pending-4.9/333-arc-enable-unaligned-access-in-kernel-mode.patch
@@ -1,7 +1,5 @@
-From af737b55fc7c61f17da9ae89fba536e0a9338e98 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Mon, 14 Mar 2016 17:26:34 +0300
-Subject: [PATCH] arc: enable unaligned access in kernel mode
+Subject: arc: enable unaligned access in kernel mode
This enables misaligned access handling even in kernel mode.
Some wireless drivers (ath9k-htc and mt7601u) use misaligned accesses
diff --git a/target/linux/generic/patches-4.9/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch
index 96a50c88dc..9ca70e7892 100644
--- a/target/linux/generic/patches-4.9/400-mtd-add-rootfs-split-support.patch
+++ b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch
@@ -1,3 +1,16 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: make rootfs split/detection more generic - patch can be moved to generic-2.6 after testing on other platforms
+
+lede-commit: 328e660b31f0937d52c5ae3d6e7029409918a9df
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/mtd/Kconfig | 17 +++++++++++++++++
+ drivers/mtd/mtdpart.c | 35 +++++++++++++++++++++++++++++++++++
+ include/linux/mtd/partitions.h | 2 ++
+ 3 files changed, 54 insertions(+)
+
+diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
+index 5a2d71729b9a..f5ac04e288eb 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -12,6 +12,23 @@ menuconfig MTD
@@ -24,6 +37,8 @@
config MTD_TESTS
tristate "MTD tests support (DANGEROUS)"
depends on m
+diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
+index dd86b430e46e..33d152d1876a 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -29,10 +29,12 @@
@@ -48,7 +63,7 @@
/*
* Given a pointer to the MTD object in the mtd_part structure, we can retrieve
* the pointer to that structure.
-@@ -678,6 +682,7 @@ int mtd_add_partition(struct mtd_info *p
+@@ -678,6 +682,7 @@ int mtd_add_partition(struct mtd_info *parent, const char *name,
mutex_unlock(&mtd_partitions_mutex);
add_mtd_device(&new->mtd);
@@ -56,7 +71,7 @@
mtd_add_partition_attrs(new);
-@@ -756,6 +761,35 @@ int mtd_del_partition(struct mtd_info *m
+@@ -756,6 +761,35 @@ int mtd_del_partition(struct mtd_info *mtd, int partno)
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@@ -92,7 +107,7 @@
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
-@@ -787,6 +821,7 @@ int add_mtd_partitions(struct mtd_info *
+@@ -787,6 +821,7 @@ int add_mtd_partitions(struct mtd_info *master,
mutex_unlock(&mtd_partitions_mutex);
add_mtd_device(&slave->mtd);
@@ -100,9 +115,11 @@
mtd_add_partition_attrs(slave);
if (parts[i].types)
mtd_parse_part(slave, parts[i].types);
+diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
+index c4beb70dacbd..320a791290c5 100644
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
-@@ -109,5 +109,7 @@ int mtd_add_partition(struct mtd_info *m
+@@ -109,5 +109,7 @@ int mtd_add_partition(struct mtd_info *master, const char *name,
long long offset, long long length);
int mtd_del_partition(struct mtd_info *master, int partno);
uint64_t mtd_get_device_size(const struct mtd_info *mtd);
@@ -110,3 +127,6 @@
+ const char *name, int offset, int size);
#endif
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/401-mtd-add-support-for-different-partition-parser-types.patch b/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch
index 2cf69ffa17..c112453498 100644
--- a/target/linux/generic/patches-4.9/401-mtd-add-support-for-different-partition-parser-types.patch
+++ b/target/linux/generic/pending-4.9/401-mtd-add-support-for-different-partition-parser-types.patch
@@ -1,7 +1,5 @@
-From 02cff0ccaa6d364f5c1eeea83f47ac80ccc967d4 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
-Date: Tue, 3 Sep 2013 18:11:50 +0200
-Subject: [PATCH] mtd: add support for different partition parser types
+Subject: mtd: add support for different partition parser types
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
---
diff --git a/target/linux/generic/patches-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
index 490107ec40..466f315642 100644
--- a/target/linux/generic/patches-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
+++ b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch
@@ -1,6 +1,18 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: kernel/3.10: allow to use partition parsers for rootfs and firmware split
+
+lede-commit: 3b71cd94bc9517bc25267dccb393b07d4b54564e
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/mtd/mtdpart.c | 37 +++++++++++++++++++++++++++++++++++++
+ include/linux/mtd/partitions.h | 2 ++
+ 2 files changed, 39 insertions(+)
+
+diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
+index f20207e32075..28f76315dfa0 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -761,6 +761,36 @@ int mtd_del_partition(struct mtd_info *m
+@@ -761,6 +761,36 @@ int mtd_del_partition(struct mtd_info *mtd, int partno)
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@@ -45,7 +57,7 @@
}
void __weak arch_split_mtd_part(struct mtd_info *master, const char *name,
-@@ -783,6 +814,12 @@ static void mtd_partition_split(struct m
+@@ -783,6 +814,12 @@ static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part)
if (rootfs_found)
return;
@@ -58,6 +70,8 @@
if (!strcmp(part->mtd.name, SPLIT_FIRMWARE_NAME) &&
IS_ENABLED(CONFIG_MTD_SPLIT_FIRMWARE))
split_firmware(master, part);
+diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
+index baafd542432e..356e29815aa2 100644
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
@@ -74,6 +74,8 @@ struct mtd_part_parser_data {
@@ -69,3 +83,6 @@
};
struct mtd_part_parser {
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch b/target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch
index 0cf1c38555..ded664c6f9 100644
--- a/target/linux/generic/patches-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch
+++ b/target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch
@@ -1,3 +1,15 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: [PATCH] kernel/3.10: move squashfs check from rootfs split code into a separate file
+
+lede-commit: d89bea92b31b4e157a0fa438e75370f089f73427
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/mtd/Kconfig | 2 ++
+ drivers/mtd/Makefile | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
+index f5ac04e288eb..4185e04760dd 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -27,6 +27,8 @@ config MTD_SPLIT_FIRMWARE_NAME
@@ -9,6 +21,8 @@
endmenu
config MTD_TESTS
+diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
+index 151d60df303a..48fd01e9f6e3 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -6,6 +6,8 @@
@@ -20,3 +34,6 @@
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch
index ef7b671b8b..74e59e09ba 100644
--- a/target/linux/generic/patches-4.9/404-mtd-add-more-helper-functions.patch
+++ b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch
@@ -1,6 +1,19 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: kernel/3.10: add separate rootfs partition parser
+
+lede-commit: daec7ad7688415156e2730e401503d09bd3acf91
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/mtd/mtdpart.c | 29 +++++++++++++++++++++++++++++
+ include/linux/mtd/mtd.h | 18 ++++++++++++++++++
+ include/linux/mtd/partitions.h | 2 ++
+ 3 files changed, 49 insertions(+)
+
+diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
+index 28f76315dfa0..fce83882fd4e 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -791,6 +791,17 @@ run_parsers_by_type(struct mtd_part *sla
+@@ -791,6 +791,17 @@ run_parsers_by_type(struct mtd_part *slave, enum mtd_parser_type type)
return nr_parts;
}
@@ -18,7 +31,7 @@
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
#else
-@@ -1146,6 +1157,24 @@ int mtd_is_partition(const struct mtd_in
+@@ -1146,6 +1157,24 @@ int mtd_is_partition(const struct mtd_info *mtd)
}
EXPORT_SYMBOL_GPL(mtd_is_partition);
@@ -43,20 +56,11 @@
/* Returns the size of the entire flash chip */
uint64_t mtd_get_device_size(const struct mtd_info *mtd)
{
---- a/include/linux/mtd/partitions.h
-+++ b/include/linux/mtd/partitions.h
-@@ -114,6 +114,8 @@ int mtd_is_partition(const struct mtd_in
- int mtd_add_partition(struct mtd_info *master, const char *name,
- long long offset, long long length);
- int mtd_del_partition(struct mtd_info *master, int partno);
-+struct mtd_info *mtdpart_get_master(const struct mtd_info *mtd);
-+uint64_t mtdpart_get_offset(const struct mtd_info *mtd);
- uint64_t mtd_get_device_size(const struct mtd_info *mtd);
- extern void __weak arch_split_mtd_part(struct mtd_info *master,
- const char *name, int offset, int size);
+diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
+index 5bb42c6dacdc..e7d5091bb447 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
-@@ -485,6 +485,24 @@ static inline uint32_t mtd_mod_by_eb(uin
+@@ -485,6 +485,24 @@ static inline uint32_t mtd_mod_by_eb(uint64_t sz, struct mtd_info *mtd)
return do_div(sz, mtd->erasesize);
}
@@ -81,3 +85,19 @@
static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd)
{
if (mtd->writesize_shift)
+diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
+index 356e29815aa2..c0937ff4797b 100644
+--- a/include/linux/mtd/partitions.h
++++ b/include/linux/mtd/partitions.h
+@@ -114,6 +114,8 @@ int mtd_is_partition(const struct mtd_info *mtd);
+ int mtd_add_partition(struct mtd_info *master, const char *name,
+ long long offset, long long length);
+ int mtd_del_partition(struct mtd_info *master, int partno);
++struct mtd_info *mtdpart_get_master(const struct mtd_info *mtd);
++uint64_t mtdpart_get_offset(const struct mtd_info *mtd);
+ uint64_t mtd_get_device_size(const struct mtd_info *mtd);
+ extern void __weak arch_split_mtd_part(struct mtd_info *master,
+ const char *name, int offset, int size);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/411-mtd-partial_eraseblock_write.patch b/target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch
index 359eb5a6f8..307445fffa 100644
--- a/target/linux/generic/patches-4.9/411-mtd-partial_eraseblock_write.patch
+++ b/target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch
@@ -1,3 +1,15 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: mtd: implement write support for partitions covering only a part of an eraseblock (buffer data that would otherwise be erased)
+
+lede-commit: 87a8e8ac1067f58ba831c4aae443f3655c31cd80
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/mtd/mtdpart.c | 90 ++++++++++++++++++++++++++++++++++++++++++++-----
+ include/linux/mtd/mtd.h | 4 +++
+ 2 files changed, 85 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
+index fce83882fd4e..0238b0babe2f 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -36,6 +36,8 @@
@@ -9,7 +21,7 @@
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
static DEFINE_MUTEX(mtd_partitions_mutex);
-@@ -241,13 +243,61 @@ static int part_erase(struct mtd_info *m
+@@ -241,13 +243,61 @@ static int part_erase(struct mtd_info *mtd, struct erase_info *instr)
struct mtd_part *part = mtd_to_part(mtd);
int ret;
@@ -71,7 +83,7 @@
return ret;
}
-@@ -255,6 +305,25 @@ void mtd_erase_callback(struct erase_inf
+@@ -255,6 +305,25 @@ void mtd_erase_callback(struct erase_info *instr)
{
if (instr->mtd->_erase == part_erase) {
struct mtd_part *part = mtd_to_part(instr->mtd);
@@ -97,7 +109,7 @@
if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
instr->fail_addr -= part->offset;
-@@ -590,19 +659,22 @@ static struct mtd_part *allocate_partiti
+@@ -590,19 +659,22 @@ static struct mtd_part *allocate_partition(struct mtd_info *parent,
remainder = do_div(tmp, wr_alignment);
if ((slave->mtd.flags & MTD_WRITEABLE) && remainder) {
/* Doesn't start on a boundary of major erase size */
@@ -129,6 +141,8 @@
}
mtd_set_ooblayout(&slave->mtd, &part_ooblayout_ops);
+diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
+index e7d5091bb447..0db85491f085 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -55,6 +55,10 @@ struct erase_info {
@@ -142,3 +156,6 @@
};
struct mtd_erase_region_info {
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch b/target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch
new file mode 100644
index 0000000000..8969de504c
--- /dev/null
+++ b/target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch
@@ -0,0 +1,45 @@
+From: Tim Harvey <tharvey@gateworks.com>
+Subject: mtd: allow partial block unlock
+
+This allows sysupgrade for devices such as the Gateworks Avila/Cambria
+product families based on the ixp4xx using the redboot bootloader with
+combined FIS directory and RedBoot config partitions on larger FLASH
+devices with larger eraseblocks.
+
+This second iteration of this patch addresses previous issues:
+- whitespace breakage fixed
+- unlock in all scenarios
+- simplification and fix logic bug
+
+[john@phrozen.org: this should be moved to the ixp4xx folder]
+
+Signed-off-by: Tim Harvey <tharvey@gateworks.com>
+---
+ drivers/mtd/mtdpart.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
+index 0238b0babe2f..d41418524833 100644
+--- a/drivers/mtd/mtdpart.c
++++ b/drivers/mtd/mtdpart.c
+@@ -343,7 +343,16 @@ static int part_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
+ static int part_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
+ {
+ struct mtd_part *part = mtd_to_part(mtd);
+- return part->parent->_unlock(part->parent, ofs + part->offset, len);
++
++ ofs += part->offset;
++
++ if (mtd->flags & MTD_ERASE_PARTIAL) {
++ /* round up len to next erasesize and round down offset to prev block */
++ len = (mtd_div_by_eb(len, part->parent) + 1) * part->parent->erasesize;
++ ofs &= ~(part->parent->erasesize - 1);
++ }
++
++ return part->parent->_unlock(part->parent, ofs, len);
+ }
+
+ static int part_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/420-mtd-redboot_space.patch b/target/linux/generic/pending-4.9/420-mtd-redboot_space.patch
index f74affcef7..acd3af20d8 100644
--- a/target/linux/generic/patches-4.9/420-mtd-redboot_space.patch
+++ b/target/linux/generic/pending-4.9/420-mtd-redboot_space.patch
@@ -1,6 +1,19 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: add patch for including unpartitioned space in the rootfs partition for redboot devices (if applicable)
+
+[john@phrozen.org: used by ixp and others]
+
+lede-commit: 394918851f84e4d00fa16eb900e7700e95091f00
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/mtd/redboot.c | 19 +++++++++++++------
+ 1 file changed, 13 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/mtd/redboot.c b/drivers/mtd/redboot.c
+index 7623ac5fc586..181ea0fb3c91 100644
--- a/drivers/mtd/redboot.c
+++ b/drivers/mtd/redboot.c
-@@ -265,14 +265,21 @@ static int parse_redboot_partitions(stru
+@@ -265,14 +265,21 @@ static int parse_redboot_partitions(struct mtd_info *master,
#endif
names += strlen(names)+1;
@@ -28,3 +41,6 @@
tmp_fl = fl;
fl = fl->next;
kfree(tmp_fl);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/430-mtd-add-myloader-partition-parser.patch b/target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch
index 9bf014e881..c3a44aea18 100644
--- a/target/linux/generic/patches-4.9/430-mtd-add-myloader-partition-parser.patch
+++ b/target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch
@@ -1,3 +1,17 @@
+From: Florian Fainelli <f.fainelli@gmail.com>
+Subject: Add myloader partition table parser
+
+[john@phozen.org: shoud be upstreamable]
+
+lede-commit: d8bf22859b51faa09d22c056fe221a45d2f7a3b8
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ drivers/mtd/Kconfig | 16 ++++++++++++++++
+ drivers/mtd/Makefile | 1 +
+ 2 files changed, 17 insertions(+)
+
+diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
+index 4185e04760dd..cb55144d4db6 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -178,6 +178,22 @@ menu "Partition parsers"
@@ -23,6 +37,8 @@
comment "User Modules And Translation Layers"
#
+diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
+index 48fd01e9f6e3..5bca69c63bdc 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -15,6 +15,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
@@ -33,3 +49,6 @@
obj-y += parsers/
# 'Users' - code which presents functionality to userspace.
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch b/target/linux/generic/pending-4.9/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
index 2726220b8e..9299e88671 100644
--- a/target/linux/generic/patches-4.9/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
+++ b/target/linux/generic/pending-4.9/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
@@ -1,10 +1,5 @@
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
-Date: Sat, 2 Jan 2016 01:04:52 +0100
-Subject: [PATCH] mtd: bcm47xxpart: check for bad blocks when calculating
- offsets
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
+Subject: [PATCH] mtd: bcm47xxpart: check for bad blocks when calculating offsets
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
diff --git a/target/linux/generic/patches-4.9/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch b/target/linux/generic/pending-4.9/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
index b7b56cb5aa..a6d0828b99 100644
--- a/target/linux/generic/patches-4.9/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
+++ b/target/linux/generic/pending-4.9/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch
@@ -1,10 +1,5 @@
-From fd54aa583296f9adfb1f519affbc10ba521eb809 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
-Date: Wed, 28 Jan 2015 22:14:41 +0100
-Subject: [PATCH] mtd: bcm47xxpart: detect T_Meter partition
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
+Subject: mtd: bcm47xxpart: detect T_Meter partition
It can be found on many Netgear devices. It consists of many 0x30 blocks
starting with 4D 54.
diff --git a/target/linux/generic/patches-4.9/440-block2mtd_init.patch b/target/linux/generic/pending-4.9/440-block2mtd_init.patch
index f2e62b4401..acb94cd278 100644
--- a/target/linux/generic/patches-4.9/440-block2mtd_init.patch
+++ b/target/linux/generic/pending-4.9/440-block2mtd_init.patch
@@ -1,3 +1,13 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: block2mtd
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/mtd/devices/block2mtd.c | 30 ++++++++++++++++++++----------
+ 1 file changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
+index 7c887f111a7d..22135cc48879 100644
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
@@ -26,6 +26,7 @@
@@ -8,7 +18,7 @@
#include <linux/mutex.h>
#include <linux/mount.h>
#include <linux/slab.h>
-@@ -219,7 +220,7 @@ static void block2mtd_free_device(struct
+@@ -219,7 +220,7 @@ static void block2mtd_free_device(struct block2mtd_dev *dev)
static struct block2mtd_dev *add_device(char *devname, int erase_size,
@@ -17,7 +27,7 @@
{
#ifndef MODULE
int i;
-@@ -227,6 +228,7 @@ static struct block2mtd_dev *add_device(
+@@ -227,6 +228,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL;
struct block_device *bdev = ERR_PTR(-ENODEV);
struct block2mtd_dev *dev;
@@ -25,7 +35,7 @@
char *name;
if (!devname)
-@@ -283,13 +285,16 @@ static struct block2mtd_dev *add_device(
+@@ -283,13 +285,16 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
/* Setup the MTD structure */
/* make the name contain the block device in */
@@ -44,7 +54,7 @@
dev->mtd.erasesize = erase_size;
dev->mtd.writesize = 1;
dev->mtd.writebufsize = PAGE_SIZE;
-@@ -302,7 +307,11 @@ static struct block2mtd_dev *add_device(
+@@ -302,7 +307,11 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;
@@ -57,7 +67,7 @@
/* Device didn't get added, so free the entry */
goto err_destroy_mutex;
}
-@@ -310,8 +319,7 @@ static struct block2mtd_dev *add_device(
+@@ -310,8 +319,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
list_add(&dev->list, &blkmtd_device_list);
pr_info("mtd%d: [%s] erase_size = %dKiB [%d]\n",
dev->mtd.index,
@@ -67,7 +77,7 @@
return dev;
err_destroy_mutex:
-@@ -384,7 +392,7 @@ static int block2mtd_setup2(const char *
+@@ -384,7 +392,7 @@ static int block2mtd_setup2(const char *val)
/* 80 for device, 12 for erase size, 80 for name, 8 for timeout */
char buf[80 + 12 + 80 + 8];
char *str = buf;
@@ -76,7 +86,7 @@
char *name;
size_t erase_size = PAGE_SIZE;
unsigned long timeout = MTD_DEFAULT_TIMEOUT;
-@@ -398,7 +406,7 @@ static int block2mtd_setup2(const char *
+@@ -398,7 +406,7 @@ static int block2mtd_setup2(const char *val)
strcpy(str, val);
kill_final_newline(str);
@@ -85,7 +95,7 @@
token[i] = strsep(&str, ",");
if (str) {
-@@ -424,8 +432,10 @@ static int block2mtd_setup2(const char *
+@@ -424,8 +432,10 @@ static int block2mtd_setup2(const char *val)
return 0;
}
}
@@ -97,7 +107,7 @@
return 0;
}
-@@ -459,7 +469,7 @@ static int block2mtd_setup(const char *v
+@@ -459,7 +469,7 @@ static int block2mtd_setup(const char *val, struct kernel_param *kp)
module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
@@ -106,3 +116,6 @@
static int __init block2mtd_init(void)
{
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/441-block2mtd_probe.patch b/target/linux/generic/pending-4.9/441-block2mtd_probe.patch
index ed14537a6c..11ff292aa7 100644
--- a/target/linux/generic/patches-4.9/441-block2mtd_probe.patch
+++ b/target/linux/generic/pending-4.9/441-block2mtd_probe.patch
@@ -1,6 +1,16 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: block2mtd
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/mtd/devices/block2mtd.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
+index 22135cc48879..9865041c347b 100644
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
-@@ -392,7 +392,7 @@ static int block2mtd_setup2(const char *
+@@ -392,7 +392,7 @@ static int block2mtd_setup2(const char *val)
/* 80 for device, 12 for erase size, 80 for name, 8 for timeout */
char buf[80 + 12 + 80 + 8];
char *str = buf;
@@ -9,7 +19,7 @@
char *name;
size_t erase_size = PAGE_SIZE;
unsigned long timeout = MTD_DEFAULT_TIMEOUT;
-@@ -406,7 +406,7 @@ static int block2mtd_setup2(const char *
+@@ -406,7 +406,7 @@ static int block2mtd_setup2(const char *val)
strcpy(str, val);
kill_final_newline(str);
@@ -18,7 +28,7 @@
token[i] = strsep(&str, ",");
if (str) {
-@@ -435,6 +435,9 @@ static int block2mtd_setup2(const char *
+@@ -435,6 +435,9 @@ static int block2mtd_setup2(const char *val)
if (token[2] && (strlen(token[2]) + 1 > 80))
pr_err("mtd device name too long\n");
@@ -28,7 +38,7 @@
add_device(name, erase_size, token[2], timeout);
return 0;
-@@ -469,7 +472,7 @@ static int block2mtd_setup(const char *v
+@@ -469,7 +472,7 @@ static int block2mtd_setup(const char *val, struct kernel_param *kp)
module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
@@ -37,3 +47,6 @@
static int __init block2mtd_init(void)
{
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
new file mode 100644
index 0000000000..3cabff37f1
--- /dev/null
+++ b/target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch
@@ -0,0 +1,30 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: disable cfi cmdset 0002 erase suspend
+
+on some platforms, erase suspend leads to data corruption and lockups when write
+ops collide with erase ops. this has been observed on the buffalo wzr-hp-g300nh.
+rather than play whack-a-mole with a hard to reproduce issue on a variety of devices,
+simply disable erase suspend, as it will usually not produce any useful gain on
+the small filesystems used on embedded hardware.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/mtd/chips/cfi_cmdset_0002.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
+index 9dca881bb378..ea4db1917334 100644
+--- a/drivers/mtd/chips/cfi_cmdset_0002.c
++++ b/drivers/mtd/chips/cfi_cmdset_0002.c
+@@ -807,7 +807,7 @@ static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr
+ return 0;
+
+ case FL_ERASING:
+- if (!cfip || !(cfip->EraseSuspend & (0x1|0x2)) ||
++ if (1 /* no suspend */ || !cfip || !(cfip->EraseSuspend & (0x1|0x2)) ||
+ !(mode == FL_READY || mode == FL_POINT ||
+ (mode == FL_WRITING && (cfip->EraseSuspend & 0x2))))
+ goto sleep;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-4.9/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
index 0ba0f86480..c1b0d4f16b 100644
--- a/target/linux/generic/patches-4.9/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
+++ b/target/linux/generic/pending-4.9/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch
@@ -1,7 +1,6 @@
From: George Kashperko <george@znau.edu.ua>
+Subject: Issue map read after Write Buffer Load command to ensure chip is ready to receive data.
-Issue map read after Write Buffer Load command to ensure chip is ready
-to receive data.
Signed-off-by: George Kashperko <george@znau.edu.ua>
---
drivers/mtd/chips/cfi_cmdset_0002.c | 1 +
diff --git a/target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch
new file mode 100644
index 0000000000..a4bad532f7
--- /dev/null
+++ b/target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch
@@ -0,0 +1,23 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: Disable software protection bits for Macronix flashes.
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/mtd/spi-nor/spi-nor.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
+index 54868b19bf32..30adbc34ccac 100644
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -1588,6 +1588,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
+
+ if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
+ JEDEC_MFR(info) == SNOR_MFR_INTEL ||
++ JEDEC_MFR(info) == SNOR_MFR_MACRONIX ||
+ JEDEC_MFR(info) == SNOR_MFR_SST ||
+ info->flags & SPI_NOR_HAS_LOCK) {
+ write_enable(nor);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch b/target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch
index e586e73cda..3a5e24e617 100644
--- a/target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch
+++ b/target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch
@@ -1,6 +1,16 @@
+From: Piotr Dymacz <pepe2k@gmail.com>
+Subject: kernel/mtd: add support for EON EN25Q128
+
+Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
+---
+ drivers/mtd/spi-nor/spi-nor.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
+index 30adbc34ccac..8c0ad628ddc6 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -954,6 +954,7 @@ static const struct flash_info spi_nor_i
+@@ -954,6 +954,7 @@ static const struct flash_info spi_nor_ids[] = {
{ "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) },
{ "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) },
{ "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) },
@@ -8,3 +18,6 @@
{ "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) },
{ "en25qh256", INFO(0x1c7019, 0, 64 * 1024, 512, 0) },
{ "en25s64", INFO(0x1c3817, 0, 64 * 1024, 128, SECT_4K) },
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch b/target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch
index 3960122b4f..abeb69ab10 100644
--- a/target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch
+++ b/target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch
@@ -1,6 +1,16 @@
+From: André Valentin <avalentin@marcant.net>
+Subject: linux/mtd: add id for mx25u3235f needed by ZyXEL NBG6817
+
+Signed-off-by: André Valentin <avalentin@marcant.net>
+---
+ drivers/mtd/spi-nor/spi-nor.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
+index 8c0ad628ddc6..5288fcfbdb3b 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -1014,6 +1014,7 @@ static const struct flash_info spi_nor_i
+@@ -1014,6 +1014,7 @@ static const struct flash_info spi_nor_ids[] = {
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
{ "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
@@ -8,3 +18,6 @@
{ "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) },
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/480-mtd-set-rootfs-to-be-root-dev.patch b/target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch
index 27875d2288..62cf4eb2e2 100644
--- a/target/linux/generic/patches-4.9/480-mtd-set-rootfs-to-be-root-dev.patch
+++ b/target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch
@@ -1,3 +1,17 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: kernel/3.1[02]: move MTD root device setup code to mtdcore
+
+The current code only allows to automatically set
+root device on MTD partitions. Move the code to MTD
+core to allow to use it with all MTD devices.
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/mtd/mtdcore.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
+index d46e4adf6d2b..4d62d898dadc 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -40,6 +40,7 @@
@@ -24,3 +38,6 @@
return 0;
fail_added:
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/pending-4.9/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
index e4f92379df..a8dcad458f 100644
--- a/target/linux/generic/patches-4.9/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
+++ b/target/linux/generic/pending-4.9/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
@@ -1,8 +1,5 @@
-From 8a52e4100d7c3a4a1dfddfa02b8864a9b0068c13 Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
-Date: Sat, 17 May 2014 03:36:18 +0200
-Subject: [PATCH 1/5] ubi: auto-attach mtd device named "ubi" or "data" on boot
-To: openwrt-devel@lists.openwrt.org
+Subject: ubi: auto-attach mtd device named "ubi" or "data" on boot
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
diff --git a/target/linux/generic/patches-4.9/491-ubi-auto-create-ubiblock-device-for-rootfs.patch b/target/linux/generic/pending-4.9/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
index c41bee963c..2e7933ba2b 100644
--- a/target/linux/generic/patches-4.9/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
+++ b/target/linux/generic/pending-4.9/491-ubi-auto-create-ubiblock-device-for-rootfs.patch
@@ -1,8 +1,5 @@
-From 0f3966579815f889bb2fcb4846152c35f65e79c4 Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
-Date: Thu, 15 May 2014 21:06:33 +0200
-Subject: [PATCH 2/5] ubi: auto-create ubiblock device for rootfs
-To: openwrt-devel@lists.openwrt.org
+Subject: ubi: auto-create ubiblock device for rootfs
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
diff --git a/target/linux/generic/patches-4.9/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch b/target/linux/generic/pending-4.9/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
index ab8b8bb0a2..69a35c25e7 100644
--- a/target/linux/generic/patches-4.9/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
+++ b/target/linux/generic/pending-4.9/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
@@ -1,8 +1,5 @@
-From eea9e1785e4c05c2a3444506aabafa0ae958538f Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
-Date: Sat, 17 May 2014 03:35:02 +0200
-Subject: [PATCH 4/5] try auto-mounting ubi0:rootfs in init/do_mounts.c
-To: openwrt-devel@lists.openwrt.org
+Subject: try auto-mounting ubi0:rootfs in init/do_mounts.c
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
diff --git a/target/linux/generic/patches-4.9/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/target/linux/generic/pending-4.9/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
index fea2854b82..e41dca6c93 100644
--- a/target/linux/generic/patches-4.9/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
+++ b/target/linux/generic/pending-4.9/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
@@ -1,8 +1,5 @@
-From cd68d1b12b5ea4c01a664c064179ada42bf55d3d Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
-Date: Thu, 15 May 2014 20:55:42 +0200
-Subject: [PATCH 5/5] ubi: set ROOT_DEV to ubiblock "rootfs" if unset
-To: openwrt-devel@lists.openwrt.org
+Subject: ubi: set ROOT_DEV to ubiblock "rootfs" if unset
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
diff --git a/target/linux/generic/patches-4.9/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch
index 64a361a50a..b681fc6a07 100644
--- a/target/linux/generic/patches-4.9/494-mtd-ubi-add-EOF-marker-support.patch
+++ b/target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch
@@ -1,3 +1,14 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: mtd: add EOF marker support to the UBI layer
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/mtd/ubi/attach.c | 25 ++++++++++++++++++++++---
+ drivers/mtd/ubi/ubi.h | 1 +
+ 2 files changed, 23 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/mtd/ubi/attach.c b/drivers/mtd/ubi/attach.c
+index 93ceea4f27d5..a4f849d69104 100644
--- a/drivers/mtd/ubi/attach.c
+++ b/drivers/mtd/ubi/attach.c
@@ -939,6 +939,13 @@ static bool vol_ignored(int vol_id)
@@ -14,7 +25,7 @@
/**
* scan_peb - scan and process UBI headers of a PEB.
* @ubi: UBI device description object
-@@ -971,9 +978,21 @@ static int scan_peb(struct ubi_device *u
+@@ -971,9 +978,21 @@ static int scan_peb(struct ubi_device *ubi, struct ubi_attach_info *ai,
return 0;
}
@@ -39,6 +50,8 @@
switch (err) {
case 0:
break;
+diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h
+index 697dbcba7371..92d207ff2458 100644
--- a/drivers/mtd/ubi/ubi.h
+++ b/drivers/mtd/ubi/ubi.h
@@ -779,6 +779,7 @@ struct ubi_attach_info {
@@ -49,3 +62,6 @@
struct kmem_cache *aeb_slab_cache;
struct ubi_ec_hdr *ech;
struct ubi_vid_io_buf *vidb;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/530-jffs2_make_lzma_available.patch b/target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch
index 842558b478..d7f879b49e 100644
--- a/target/linux/generic/patches-4.9/530-jffs2_make_lzma_available.patch
+++ b/target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch
@@ -1,3 +1,43 @@
+From: Alexandros C. Couloumbis <alex@ozo.com>
+Subject: fs: add jffs2/lzma support (not activated by default yet)
+
+lede-commit: c2c88d315fa0e881f8b19da07b62859b915b11b2
+Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
+---
+ fs/jffs2/Kconfig | 9 +
+ fs/jffs2/Makefile | 3 +
+ fs/jffs2/compr.c | 6 +
+ fs/jffs2/compr.h | 10 +-
+ fs/jffs2/compr_lzma.c | 128 +++
+ fs/jffs2/super.c | 33 +-
+ include/linux/lzma.h | 62 ++
+ include/linux/lzma/LzFind.h | 115 +++
+ include/linux/lzma/LzHash.h | 54 +
+ include/linux/lzma/LzmaDec.h | 231 +++++
+ include/linux/lzma/LzmaEnc.h | 80 ++
+ include/linux/lzma/Types.h | 226 +++++
+ include/uapi/linux/jffs2.h | 1 +
+ lib/Kconfig | 6 +
+ lib/Makefile | 12 +
+ lib/lzma/LzFind.c | 761 ++++++++++++++
+ lib/lzma/LzmaDec.c | 999 +++++++++++++++++++
+ lib/lzma/LzmaEnc.c | 2271 ++++++++++++++++++++++++++++++++++++++++++
+ lib/lzma/Makefile | 7 +
+ 19 files changed, 5008 insertions(+), 6 deletions(-)
+ create mode 100644 fs/jffs2/compr_lzma.c
+ create mode 100644 include/linux/lzma.h
+ create mode 100644 include/linux/lzma/LzFind.h
+ create mode 100644 include/linux/lzma/LzHash.h
+ create mode 100644 include/linux/lzma/LzmaDec.h
+ create mode 100644 include/linux/lzma/LzmaEnc.h
+ create mode 100644 include/linux/lzma/Types.h
+ create mode 100644 lib/lzma/LzFind.c
+ create mode 100644 lib/lzma/LzmaDec.c
+ create mode 100644 lib/lzma/LzmaEnc.c
+ create mode 100644 lib/lzma/Makefile
+
+diff --git a/fs/jffs2/Kconfig b/fs/jffs2/Kconfig
+index d8bb6c411e96..74bf4b162e36 100644
--- a/fs/jffs2/Kconfig
+++ b/fs/jffs2/Kconfig
@@ -139,6 +139,15 @@ config JFFS2_LZO
@@ -16,9 +56,11 @@
config JFFS2_RTIME
bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
depends on JFFS2_FS
+diff --git a/fs/jffs2/Makefile b/fs/jffs2/Makefile
+index 60e5d49ca03e..23ba6efd1f3f 100644
--- a/fs/jffs2/Makefile
+++ b/fs/jffs2/Makefile
-@@ -18,4 +18,7 @@ jffs2-$(CONFIG_JFFS2_RUBIN) += compr_rub
+@@ -18,4 +18,7 @@ jffs2-$(CONFIG_JFFS2_RUBIN) += compr_rubin.o
jffs2-$(CONFIG_JFFS2_RTIME) += compr_rtime.o
jffs2-$(CONFIG_JFFS2_ZLIB) += compr_zlib.o
jffs2-$(CONFIG_JFFS2_LZO) += compr_lzo.o
@@ -26,6 +68,8 @@
jffs2-$(CONFIG_JFFS2_SUMMARY) += summary.o
+
+CFLAGS_compr_lzma.o += -Iinclude/linux -Ilib/lzma
+diff --git a/fs/jffs2/compr.c b/fs/jffs2/compr.c
+index 4849a4c9a0e2..6ec806abb7b9 100644
--- a/fs/jffs2/compr.c
+++ b/fs/jffs2/compr.c
@@ -378,6 +378,9 @@ int __init jffs2_compressors_init(void)
@@ -48,6 +92,8 @@
#ifdef CONFIG_JFFS2_LZO
jffs2_lzo_exit();
#endif
+diff --git a/fs/jffs2/compr.h b/fs/jffs2/compr.h
+index 5e91d578f4ed..32db2e1ec610 100644
--- a/fs/jffs2/compr.h
+++ b/fs/jffs2/compr.h
@@ -29,9 +29,9 @@
@@ -73,6 +119,9 @@
+#endif
#endif /* __JFFS2_COMPR_H__ */
+diff --git a/fs/jffs2/compr_lzma.c b/fs/jffs2/compr_lzma.c
+new file mode 100644
+index 000000000000..0fe3b75d7dcc
--- /dev/null
+++ b/fs/jffs2/compr_lzma.c
@@ -0,0 +1,128 @@
@@ -204,6 +253,8 @@
+ jffs2_unregister_compressor(&jffs2_lzma_comp);
+ lzma_free_workspace();
+}
+diff --git a/fs/jffs2/super.c b/fs/jffs2/super.c
+index 5ef21f4c4c77..62e730216e7d 100644
--- a/fs/jffs2/super.c
+++ b/fs/jffs2/super.c
@@ -372,14 +372,41 @@ static int __init init_jffs2_fs(void)
@@ -251,16 +302,9 @@
jffs2_inode_cachep = kmem_cache_create("jffs2_i",
sizeof(struct jffs2_inode_info),
---- a/include/uapi/linux/jffs2.h
-+++ b/include/uapi/linux/jffs2.h
-@@ -46,6 +46,7 @@
- #define JFFS2_COMPR_DYNRUBIN 0x05
- #define JFFS2_COMPR_ZLIB 0x06
- #define JFFS2_COMPR_LZO 0x07
-+#define JFFS2_COMPR_LZMA 0x08
- /* Compatibility flags. */
- #define JFFS2_COMPAT_MASK 0xc000 /* What do to if an unknown nodetype is found */
- #define JFFS2_NODE_ACCURATE 0x2000
+diff --git a/include/linux/lzma.h b/include/linux/lzma.h
+new file mode 100644
+index 000000000000..5f31334dfc31
--- /dev/null
+++ b/include/linux/lzma.h
@@ -0,0 +1,62 @@
@@ -326,6 +370,9 @@
+static ISzAlloc lzma_alloc = {p_lzma_malloc, p_lzma_free};
+
+#endif
+diff --git a/include/linux/lzma/LzFind.h b/include/linux/lzma/LzFind.h
+new file mode 100644
+index 000000000000..010c4b92ba33
--- /dev/null
+++ b/include/linux/lzma/LzFind.h
@@ -0,0 +1,115 @@
@@ -444,6 +491,9 @@
+#endif
+
+#endif
+diff --git a/include/linux/lzma/LzHash.h b/include/linux/lzma/LzHash.h
+new file mode 100644
+index 000000000000..f3e89966cc70
--- /dev/null
+++ b/include/linux/lzma/LzHash.h
@@ -0,0 +1,54 @@
@@ -501,6 +551,9 @@
+ hash4Value = (temp ^ ((UInt32)cur[2] << 8) ^ (p->crc[cur[3]] << 5)) & (kHash4Size - 1); }
+
+#endif
+diff --git a/include/linux/lzma/LzmaDec.h b/include/linux/lzma/LzmaDec.h
+new file mode 100644
+index 000000000000..bf7f084ba3dd
--- /dev/null
+++ b/include/linux/lzma/LzmaDec.h
@@ -0,0 +1,231 @@
@@ -735,6 +788,9 @@
+#endif
+
+#endif
+diff --git a/include/linux/lzma/LzmaEnc.h b/include/linux/lzma/LzmaEnc.h
+new file mode 100644
+index 000000000000..200d60eb83cd
--- /dev/null
+++ b/include/linux/lzma/LzmaEnc.h
@@ -0,0 +1,80 @@
@@ -818,6 +874,9 @@
+#endif
+
+#endif
+diff --git a/include/linux/lzma/Types.h b/include/linux/lzma/Types.h
+new file mode 100644
+index 000000000000..4751acde0722
--- /dev/null
+++ b/include/linux/lzma/Types.h
@@ -0,0 +1,226 @@
@@ -1047,6 +1106,20 @@
+EXTERN_C_END
+
+#endif
+diff --git a/include/uapi/linux/jffs2.h b/include/uapi/linux/jffs2.h
+index a18b719f49d4..f3431a5ff4ff 100644
+--- a/include/uapi/linux/jffs2.h
++++ b/include/uapi/linux/jffs2.h
+@@ -46,6 +46,7 @@
+ #define JFFS2_COMPR_DYNRUBIN 0x05
+ #define JFFS2_COMPR_ZLIB 0x06
+ #define JFFS2_COMPR_LZO 0x07
++#define JFFS2_COMPR_LZMA 0x08
+ /* Compatibility flags. */
+ #define JFFS2_COMPAT_MASK 0xc000 /* What do to if an unknown nodetype is found */
+ #define JFFS2_NODE_ACCURATE 0x2000
+diff --git a/lib/Kconfig b/lib/Kconfig
+index 260a80e313b9..2e20b2b1ba02 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -241,6 +241,12 @@ config LZ4_DECOMPRESS
@@ -1062,6 +1135,8 @@
#
# These all provide a common interface (hence the apparent duplication with
# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
+diff --git a/lib/Makefile b/lib/Makefile
+index 50144a3aeebd..603630df298d 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -2,6 +2,16 @@
@@ -1090,6 +1165,9 @@
lib-$(CONFIG_DECOMPRESS_GZIP) += decompress_inflate.o
lib-$(CONFIG_DECOMPRESS_BZIP2) += decompress_bunzip2.o
+diff --git a/lib/lzma/LzFind.c b/lib/lzma/LzFind.c
+new file mode 100644
+index 000000000000..e3ecb05420eb
--- /dev/null
+++ b/lib/lzma/LzFind.c
@@ -0,0 +1,761 @@
@@ -1854,6 +1932,9 @@
+ vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip;
+ }
+}
+diff --git a/lib/lzma/LzmaDec.c b/lib/lzma/LzmaDec.c
+new file mode 100644
+index 000000000000..2036761bf146
--- /dev/null
+++ b/lib/lzma/LzmaDec.c
@@ -0,0 +1,999 @@
@@ -2856,6 +2937,9 @@
+ LzmaDec_FreeProbs(&p, alloc);
+ return res;
+}
+diff --git a/lib/lzma/LzmaEnc.c b/lib/lzma/LzmaEnc.c
+new file mode 100644
+index 000000000000..6dadf00dfab2
--- /dev/null
+++ b/lib/lzma/LzmaEnc.c
@@ -0,0 +1,2271 @@
@@ -5130,6 +5214,9 @@
+ LzmaEnc_Destroy(p, alloc, allocBig);
+ return res;
+}
+diff --git a/lib/lzma/Makefile b/lib/lzma/Makefile
+new file mode 100644
+index 000000000000..02e799c99381
--- /dev/null
+++ b/lib/lzma/Makefile
@@ -0,0 +1,7 @@
@@ -5140,3 +5227,6 @@
+obj-$(CONFIG_LZMA_DECOMPRESS) += lzma_decompress.o
+
+EXTRA_CFLAGS += -Iinclude/linux -Iinclude/linux/lzma -include types.h
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/532-jffs2_eofdetect.patch b/target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch
index 7bb62873ce..3fc61c8cff 100644
--- a/target/linux/generic/patches-4.9/532-jffs2_eofdetect.patch
+++ b/target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch
@@ -1,6 +1,17 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: fs: jffs2: EOF marker
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ fs/jffs2/build.c | 10 ++++++++++
+ fs/jffs2/scan.c | 21 +++++++++++++++++++--
+ 2 files changed, 29 insertions(+), 2 deletions(-)
+
+diff --git a/fs/jffs2/build.c b/fs/jffs2/build.c
+index b288c8ae1236..e768f9d41661 100644
--- a/fs/jffs2/build.c
+++ b/fs/jffs2/build.c
-@@ -117,6 +117,16 @@ static int jffs2_build_filesystem(struct
+@@ -117,6 +117,16 @@ static int jffs2_build_filesystem(struct jffs2_sb_info *c)
dbg_fsbuild("scanned flash completely\n");
jffs2_dbg_dump_block_lists_nolock(c);
@@ -17,9 +28,11 @@
dbg_fsbuild("pass 1 starting\n");
c->flags |= JFFS2_SB_FLAG_BUILDING;
/* Now scan the directory tree, increasing nlink according to every dirent found. */
+diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
+index 90431dd613b8..8c78ab19cdab 100644
--- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c
-@@ -148,8 +148,14 @@ int jffs2_scan_medium(struct jffs2_sb_in
+@@ -148,8 +148,14 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)
/* reset summary info for next eraseblock scan */
jffs2_sum_reset_collected(s);
@@ -36,7 +49,7 @@
if (ret < 0)
goto out;
-@@ -561,6 +567,17 @@ full_scan:
+@@ -561,6 +567,17 @@ static int jffs2_scan_eraseblock (struct jffs2_sb_info *c, struct jffs2_eraseblo
return err;
}
@@ -54,3 +67,6 @@
/* We temporarily use 'ofs' as a pointer into the buffer/jeb */
ofs = 0;
max_ofs = EMPTY_SCAN_SIZE(c->sector_size);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/551-ubifs-fix-default-compression-selection.patch b/target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch
index 1b0f30718c..ed0b7df5ee 100644
--- a/target/linux/generic/patches-4.9/551-ubifs-fix-default-compression-selection.patch
+++ b/target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch
@@ -1,3 +1,13 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: fs: ubifs: fix default compression selection in ubifs
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ fs/ubifs/sb.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c
+index 3cbb904a6d7d..460cb9e3b4ea 100644
--- a/fs/ubifs/sb.c
+++ b/fs/ubifs/sb.c
@@ -63,6 +63,17 @@
@@ -18,7 +28,7 @@
/**
* create_default_filesystem - format empty UBI volume.
* @c: UBIFS file-system description object
-@@ -183,7 +194,7 @@ static int create_default_filesystem(str
+@@ -183,7 +194,7 @@ static int create_default_filesystem(struct ubifs_info *c)
if (c->mount_opts.override_compr)
sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
else
@@ -27,3 +37,6 @@
generate_random_uuid(sup->uuid);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/600-netfilter_conntrack_flush.patch b/target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch
index 825a16d28d..606ef8baad 100644
--- a/target/linux/generic/patches-4.9/600-netfilter_conntrack_flush.patch
+++ b/target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch
@@ -1,3 +1,14 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: netfilter: add support for flushing conntrack via /proc
+
+lede-commit 8193bbe59a74d34d6a26d4a8cb857b1952905314
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/netfilter/nf_conntrack_standalone.c | 59 ++++++++++++++++++++++++++++++++-
+ 1 file changed, 58 insertions(+), 1 deletion(-)
+
+diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c
+index 5f446cd9f3fd..4c1856b5151f 100644
--- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c
@@ -17,6 +17,7 @@
@@ -8,7 +19,7 @@
#include <net/net_namespace.h>
#ifdef CONFIG_SYSCTL
#include <linux/sysctl.h>
-@@ -298,10 +299,66 @@ static int ct_open(struct inode *inode,
+@@ -298,10 +299,66 @@ static int ct_open(struct inode *inode, struct file *file)
sizeof(struct ct_iter_state));
}
@@ -75,7 +86,7 @@
.llseek = seq_lseek,
.release = seq_release_net,
};
-@@ -405,7 +462,7 @@ static int nf_conntrack_standalone_init_
+@@ -405,7 +462,7 @@ static int nf_conntrack_standalone_init_proc(struct net *net)
kuid_t root_uid;
kgid_t root_gid;
@@ -84,3 +95,6 @@
if (!pde)
goto out_nf_conntrack;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch
index 746a2f70e2..480bb3ff74 100644
--- a/target/linux/generic/patches-4.9/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch
@@ -1,3 +1,14 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: add a new version of my netfilter speedup patches for linux 2.6.39 and 3.0
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/uapi/linux/netfilter_ipv4/ip_tables.h | 1 +
+ net/ipv4/netfilter/ip_tables.c | 37 +++++++++++++++++++++++++++
+ 2 files changed, 38 insertions(+)
+
+diff --git a/include/uapi/linux/netfilter_ipv4/ip_tables.h b/include/uapi/linux/netfilter_ipv4/ip_tables.h
+index d0da53d96d93..f279daa13c0f 100644
--- a/include/uapi/linux/netfilter_ipv4/ip_tables.h
+++ b/include/uapi/linux/netfilter_ipv4/ip_tables.h
@@ -88,6 +88,7 @@ struct ipt_ip {
@@ -8,6 +19,8 @@
/* Values for "inv" field in struct ipt_ip. */
#define IPT_INV_VIA_IN 0x01 /* Invert the sense of IN IFACE. */
+diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
+index 7c00ce90adb8..d919350a0e8b 100644
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
@@ -58,6 +58,9 @@ ip_packet_match(const struct iphdr *ip,
@@ -50,7 +63,7 @@
static bool
ip_checkentry(const struct ipt_ip *ip)
{
-@@ -545,6 +571,8 @@ find_check_entry(struct ipt_entry *e, st
+@@ -545,6 +571,8 @@ find_check_entry(struct ipt_entry *e, struct net *net, const char *name,
struct xt_entry_match *ematch;
unsigned long pcnt;
@@ -59,7 +72,7 @@
pcnt = xt_percpu_counter_alloc();
if (IS_ERR_VALUE(pcnt))
return -ENOMEM;
-@@ -824,6 +852,7 @@ copy_entries_to_user(unsigned int total_
+@@ -824,6 +852,7 @@ copy_entries_to_user(unsigned int total_size,
const struct xt_table_info *private = table->private;
int ret = 0;
const void *loc_cpu_entry;
@@ -67,11 +80,10 @@
counters = alloc_counters(table);
if (IS_ERR(counters))
-@@ -850,6 +879,14 @@ copy_entries_to_user(unsigned int total_
- ret = -EFAULT;
+@@ -851,6 +880,14 @@ copy_entries_to_user(unsigned int total_size,
goto free_counters;
}
-+
+
+ flags = e->ip.flags & IPT_F_MASK;
+ if (copy_to_user(userptr + off
+ + offsetof(struct ipt_entry, ip.flags),
@@ -79,6 +91,10 @@
+ ret = -EFAULT;
+ goto free_counters;
+ }
-
++
for (i = sizeof(struct ipt_entry);
i < e->target_offset;
+ i += m->u.match_size) {
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/611-netfilter_match_bypass_default_table.patch b/target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch
index c91f34e14c..a4fee4d2e2 100644
--- a/target/linux/generic/patches-4.9/611-netfilter_match_bypass_default_table.patch
+++ b/target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch
@@ -1,6 +1,16 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: netfilter: match bypass default table
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/ipv4/netfilter/ip_tables.c | 79 +++++++++++++++++++++++++++++++-----------
+ 1 file changed, 58 insertions(+), 21 deletions(-)
+
+diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
+index d919350a0e8b..9178930fca17 100644
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
-@@ -254,6 +254,33 @@ struct ipt_entry *ipt_next_entry(const s
+@@ -254,6 +254,33 @@ struct ipt_entry *ipt_next_entry(const struct ipt_entry *entry)
return (void *)entry + entry->next_offset;
}
@@ -109,3 +119,6 @@
do {
const struct xt_entry_target *t;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/612-netfilter_match_reduce_memory_access.patch b/target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch
index cd0414be1e..20e0e862f3 100644
--- a/target/linux/generic/patches-4.9/612-netfilter_match_reduce_memory_access.patch
+++ b/target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch
@@ -1,3 +1,13 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: netfilter: reduce match memory access
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/ipv4/netfilter/ip_tables.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
+index 9178930fca17..35d1db7b78f1 100644
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
@@ -61,9 +61,9 @@ ip_packet_match(const struct iphdr *ip,
@@ -12,3 +22,6 @@
(ip->daddr & ipinfo->dmsk.s_addr) != ipinfo->dst.s_addr))
return false;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch
index ab9d415334..b11337e944 100644
--- a/target/linux/generic/patches-4.9/613-netfilter_optional_tcp_window_check.patch
+++ b/target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch
@@ -1,3 +1,13 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: netfilter: optional tcp window check
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/netfilter/nf_conntrack_proto_tcp.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c
+index 69f687740c76..f24b62668dc8 100644
--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
@@ -33,6 +33,9 @@
@@ -10,7 +20,7 @@
/* "Be conservative in what you do,
be liberal in what you accept from others."
If it's non-zero, we mark only out of window RST segments as INVALID. */
-@@ -513,6 +516,9 @@ static bool tcp_in_window(const struct n
+@@ -513,6 +516,9 @@ static bool tcp_in_window(const struct nf_conn *ct,
s32 receiver_offset;
bool res, in_recv_win;
@@ -20,7 +30,7 @@
/*
* Get the required data from the packet.
*/
-@@ -1479,6 +1485,13 @@ static struct ctl_table tcp_sysctl_table
+@@ -1479,6 +1485,13 @@ static struct ctl_table tcp_sysctl_table[] = {
.mode = 0644,
.proc_handler = proc_dointvec,
},
@@ -34,3 +44,6 @@
{ }
};
#endif /* CONFIG_SYSCTL */
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch b/target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch
new file mode 100644
index 0000000000..d39b531f8c
--- /dev/null
+++ b/target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: add a small xfrm related performance optimization
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ net/netfilter/nf_nat_core.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c
+index 5b9c884a452e..4ea363755085 100644
+--- a/net/netfilter/nf_nat_core.c
++++ b/net/netfilter/nf_nat_core.c
+@@ -95,6 +95,9 @@ int nf_xfrm_me_harder(struct net *net, struct sk_buff *skb, unsigned int family)
+ struct dst_entry *dst;
+ int err;
+
++ if (skb->dev && !dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT])
++ return 0;
++
+ err = xfrm_decode_session(skb, &fl, family);
+ if (err < 0)
+ return err;
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/630-packet_socket_type.patch b/target/linux/generic/pending-4.9/630-packet_socket_type.patch
index 00d78dc652..5afee1e3cf 100644
--- a/target/linux/generic/patches-4.9/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-4.9/630-packet_socket_type.patch
@@ -1,10 +1,16 @@
-This patch allows the user to specify desired packet types (outgoing,
-broadcast, unicast, etc.) on packet sockets via setsockopt.
-This can reduce the load in situations where only a limited number
-of packet types are necessary
+From: Felix Fietkau <nbd@nbd.name>
+Subject: net: add an optimization for dealing with raw sockets
+lede-commit: 4898039703d7315f0f3431c860123338ec3be0f6
Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/uapi/linux/if_packet.h | 3 +++
+ net/packet/af_packet.c | 34 +++++++++++++++++++++++++++-------
+ net/packet/internal.h | 1 +
+ 3 files changed, 31 insertions(+), 7 deletions(-)
+diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h
+index 9e7edfd8141e..40fdf8907900 100644
--- a/include/uapi/linux/if_packet.h
+++ b/include/uapi/linux/if_packet.h
@@ -31,6 +31,8 @@ struct sockaddr_ll {
@@ -24,9 +30,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_HASH 0
#define PACKET_FANOUT_LB 1
+diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
+index 6a563e6e24de..e412c5a4f6d4 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
-@@ -1772,6 +1772,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1772,6 +1772,7 @@ static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev,
{
struct sock *sk;
struct sockaddr_pkt *spkt;
@@ -34,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* When we registered the protocol we saved the socket in the data
-@@ -1779,6 +1780,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1779,6 +1780,7 @@ static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev,
*/
sk = pt->af_packet_priv;
@@ -42,7 +50,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* Yank back the headers [hope the device set this
-@@ -1791,7 +1793,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1791,7 +1793,7 @@ static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev,
* so that this procedure is noop.
*/
@@ -51,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out;
if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -2029,12 +2031,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2029,12 +2031,12 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
unsigned int snaplen, res;
bool is_drop_n_account = false;
@@ -67,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -2159,12 +2161,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2159,12 +2161,12 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
@@ -83,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -3234,6 +3236,7 @@ static int packet_create(struct net *net
+@@ -3234,6 +3236,7 @@ static int packet_create(struct net *net, struct socket *sock, int protocol,
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
@@ -91,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -3815,6 +3818,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3815,6 +3818,16 @@ packet_setsockopt(struct socket *sock, int level, int optname, char __user *optv
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
@@ -108,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
-@@ -3867,6 +3880,13 @@ static int packet_getsockopt(struct sock
+@@ -3867,6 +3880,13 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
@@ -122,6 +130,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
case PACKET_VERSION:
val = po->tp_version;
break;
+diff --git a/net/packet/internal.h b/net/packet/internal.h
+index 9ee46314b7d7..76c895fcf22f 100644
--- a/net/packet/internal.h
+++ b/net/packet/internal.h
@@ -129,6 +129,7 @@ struct packet_sock {
@@ -132,3 +142,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
};
static struct packet_sock *pkt_sk(struct sock *sk)
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/650-pppoe_header_pad.patch b/target/linux/generic/pending-4.9/650-pppoe_header_pad.patch
new file mode 100644
index 0000000000..65fded0ba4
--- /dev/null
+++ b/target/linux/generic/pending-4.9/650-pppoe_header_pad.patch
@@ -0,0 +1,34 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: pppoe: add extra padding for the header (useful for drivers that need headroom)
+
+lede-commit 6517a757ec711fc3354b857e273e2621042f3c7a
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/net/ppp/pppoe.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c
+index 4ddae8118c85..49ef11f92fc9 100644
+--- a/drivers/net/ppp/pppoe.c
++++ b/drivers/net/ppp/pppoe.c
+@@ -861,7 +861,7 @@ static int pppoe_sendmsg(struct socket *sock, struct msghdr *m,
+ goto end;
+
+
+- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32,
++ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD,
+ 0, GFP_KERNEL);
+ if (!skb) {
+ error = -ENOMEM;
+@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct socket *sock, struct msghdr *m,
+ }
+
+ /* Reserve space for headers. */
+- skb_reserve(skb, dev->hard_header_len);
++ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD);
+ skb_reset_network_header(skb);
+
+ skb->dev = dev;
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/655-increase_skb_pad.patch b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch
new file mode 100644
index 0000000000..d15c3c44c1
--- /dev/null
+++ b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: kernel: add a few patches for avoiding unnecessary skb reallocations - significantly improves ethernet<->wireless performance
+
+lede-commit: 6f89cffc9add6939d44a6b54cf9a5e77849aa7fd
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/skbuff.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
+index 32810f279f8e..5f3343ae25ef 100644
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
+@@ -2298,7 +2298,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
+ * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
+ */
+ #ifndef NET_SKB_PAD
+-#define NET_SKB_PAD max(32, L1_CACHE_BYTES)
++#define NET_SKB_PAD max(64, L1_CACHE_BYTES)
+ #endif
+
+ int ___pskb_trim(struct sk_buff *skb, unsigned int len);
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
index 4ef5bf1d4e..8956a7f14a 100644
--- a/target/linux/generic/patches-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
+++ b/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
@@ -1,7 +1,5 @@
-From 775d6fe74d1eaec2ba387535b068dde2dc89de9e Mon Sep 17 00:00:00 2001
From: Steven Barth <steven@midlink.org>
-Date: Thu, 22 May 2014 09:49:05 +0200
-Subject: [PATCH] Add support for MAP-E FMRs (mesh mode)
+Subject: Add support for MAP-E FMRs (mesh mode)
MAP-E FMRs (draft-ietf-softwire-map-10) are rules for IPv4-communication
between MAP CEs (mesh mode) without the need to forward such data to a
@@ -302,7 +300,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
/**
* ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
* @t: the outgoing tunnel device
-@@ -1285,6 +1425,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1283,6 +1423,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
{
struct ip6_tnl *t = netdev_priv(dev);
struct ipv6hdr *ipv6h = ipv6_hdr(skb);
@@ -310,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
int encap_limit = -1;
__u16 offset;
struct flowi6 fl6;
-@@ -1343,6 +1484,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1338,6 +1479,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
fl6.flowi6_mark = skb->mark;
}
@@ -329,7 +327,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
return -1;
-@@ -1470,6 +1623,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1463,6 +1616,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
t->parms.flowinfo = p->flowinfo;
t->parms.link = p->link;
t->parms.proto = p->proto;
@@ -344,7 +342,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
dst_cache_reset(&t->dst_cache);
ip6_tnl_link_config(t);
return 0;
-@@ -1508,6 +1669,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1501,6 +1662,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
p->flowinfo = u->flowinfo;
p->link = u->link;
p->proto = u->proto;
@@ -352,7 +350,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
memcpy(p->name, u->name, sizeof(u->name));
}
-@@ -1885,6 +2047,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1878,6 +2040,15 @@ static int ip6_tnl_validate(struct nlatt
return 0;
}
@@ -368,7 +366,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
static void ip6_tnl_netlink_parms(struct nlattr *data[],
struct __ip6_tnl_parm *parms)
{
-@@ -1919,6 +2090,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -1912,6 +2083,46 @@ static void ip6_tnl_netlink_parms(struct
if (data[IFLA_IPTUN_COLLECT_METADATA])
parms->collect_md = true;
@@ -415,7 +413,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
}
static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
-@@ -2028,6 +2239,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2021,6 +2232,12 @@ static void ip6_tnl_dellink(struct net_d
static size_t ip6_tnl_get_size(const struct net_device *dev)
{
@@ -428,7 +426,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
return
/* IFLA_IPTUN_LINK */
nla_total_size(4) +
-@@ -2055,6 +2272,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2048,6 +2265,24 @@ static size_t ip6_tnl_get_size(const str
nla_total_size(2) +
/* IFLA_IPTUN_COLLECT_METADATA */
nla_total_size(0) +
@@ -453,7 +451,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
0;
}
-@@ -2062,6 +2297,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2055,6 +2290,9 @@ static int ip6_tnl_fill_info(struct sk_b
{
struct ip6_tnl *tunnel = netdev_priv(dev);
struct __ip6_tnl_parm *parm = &tunnel->parms;
@@ -463,7 +461,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2070,9 +2308,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2063,9 +2301,27 @@ static int ip6_tnl_fill_info(struct sk_b
nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
@@ -492,7 +490,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
-@@ -2110,6 +2366,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2103,6 +2359,7 @@ static const struct nla_policy ip6_tnl_p
[IFLA_IPTUN_ENCAP_SPORT] = { .type = NLA_U16 },
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
diff --git a/target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 1c08785598..7a13e61aeb 100644
--- a/target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -1,7 +1,5 @@
-From 1b5aaa4b16f6e6471ab1c07b38068197a1b4c395 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
-Date: Fri, 24 May 2013 14:40:54 +0200
-Subject: [PATCH 1/2] ipv6: allow rejecting with "source address failed policy"
+Subject: ipv6: allow rejecting with "source address failed policy"
RFC6204 L-14 requires rejecting traffic from invalid addresses with
ICMPv6 Destination Unreachable, Code 5 (Source address failed ingress/
@@ -88,7 +86,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
default:
--- a/net/ipv6/fib6_rules.c
+++ b/net/ipv6/fib6_rules.c
-@@ -77,6 +77,10 @@ static int fib6_rule_action(struct fib_r
+@@ -88,6 +88,10 @@ static int fib6_rule_action(struct fib_r
err = -EACCES;
rt = net->ipv6.ip6_prohibit_entry;
goto discard_pkt;
@@ -183,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -3207,6 +3241,9 @@ static int rt6_fill_node(struct net *net
+@@ -3213,6 +3247,9 @@ static int rt6_fill_node(struct net *net
case -EACCES:
rtm->rtm_type = RTN_PROHIBIT;
break;
@@ -193,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case -EAGAIN:
rtm->rtm_type = RTN_THROW;
break;
-@@ -3483,6 +3520,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3489,6 +3526,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -202,7 +200,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -3705,6 +3744,17 @@ static int __net_init ip6_route_net_init
+@@ -3711,6 +3750,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
@@ -220,7 +218,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
net->ipv6.sysctl.flush_delay = 0;
-@@ -3723,6 +3773,8 @@ out:
+@@ -3729,6 +3779,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -229,7 +227,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -3740,6 +3792,7 @@ static void __net_exit ip6_route_net_exi
+@@ -3746,6 +3798,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry);
@@ -237,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
}
-@@ -3813,6 +3866,9 @@ void __init ip6_route_init_special_entri
+@@ -3819,6 +3872,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/generic/patches-4.9/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch b/target/linux/generic/pending-4.9/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
index 74aae656a0..cd627667d3 100644
--- a/target/linux/generic/patches-4.9/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
+++ b/target/linux/generic/pending-4.9/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch
@@ -1,8 +1,5 @@
-From 7749b481ce5d7e232b1f7da5e6b2c44816f51681 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
-Date: Sun, 19 Jan 2014 20:45:51 +0100
-Subject: [PATCH 2/2] net: provide defines for _POLICY_FAILED until all code is
- updated
+Subject: net: provide defines for _POLICY_FAILED until all code is updated
Upstream introduced ICMPV6_POLICY_FAIL for code 5 of destination
unreachable, conflicting with our name.
diff --git a/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index f77c03b848..e886d70dcc 100644
--- a/target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -1,23 +1,46 @@
-Subject: NET: skip GRO for foreign MAC addresses
-
-For network drivers using napi_gro_receive, packets are run through GRO,
-even when the destination MAC address does not match, and they're supposed
-to be delivered to another host behind a different bridge port.
-
-This can be very expensive, because for drivers without TSO or scatter-
-gather, this can only be undone by copying the skb and checksumming it
-again.
-
-To be able to track foreign MAC addresses in an inexpensive way, create
-a mask of changed bits in MAC addresses of upper devices. This allows
-handling VLANs and bridge devices with different addresses (as long as
-they are not too different).
+From: Felix Fietkau <nbd@nbd.name>
+Subject: net: replace GRO optimization patch with a new one that supports VLANs/bridges with different MAC addresses
Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/netdevice.h | 2 ++
+ include/linux/skbuff.h | 3 ++-
+ net/core/dev.c | 48 +++++++++++++++++++++++++++++++++++++++++++++++
+ net/ethernet/eth.c | 18 +++++++++++++++++-
+ 4 files changed, 69 insertions(+), 2 deletions(-)
+diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
+index 780e7171f548..6b738c662bc1 100644
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -1749,6 +1749,8 @@ struct net_device {
+ struct netdev_hw_addr_list mc;
+ struct netdev_hw_addr_list dev_addrs;
+
++ unsigned char local_addr_mask[MAX_ADDR_LEN];
++
+ #ifdef CONFIG_SYSFS
+ struct kset *queues_kset;
+ #endif
+diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
+index 5f3343ae25ef..3a04baab9b28 100644
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
+@@ -742,7 +742,8 @@ struct sk_buff {
+ #ifdef CONFIG_NET_SWITCHDEV
+ __u8 offload_fwd_mark:1;
+ #endif
+- /* 2, 4 or 5 bit hole */
++ __u8 gro_skip:1;
++ /* 1, 3 or 4 bit hole */
+
+ #ifdef CONFIG_NET_SCHED
+ __u16 tc_index; /* traffic control index */
+diff --git a/net/core/dev.c b/net/core/dev.c
+index 2e04fd188081..c7c96308bc84 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4513,6 +4513,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4512,6 +4512,9 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
enum gro_result ret;
int grow;
@@ -27,7 +50,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;
-@@ -5800,6 +5803,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5789,6 +5792,48 @@ static void __netdev_adjacent_dev_unlink_neighbour(struct net_device *dev,
&upper_dev->adj_list.lower);
}
@@ -76,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info)
-@@ -5998,6 +6043,8 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5987,6 +6032,8 @@ void netdev_upper_dev_unlink(struct net_device *dev,
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
@@ -85,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
}
-@@ -6598,6 +6645,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6587,6 +6634,7 @@ int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa)
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
@@ -93,32 +116,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
add_device_randomness(dev->dev_addr, dev->addr_len);
return 0;
---- a/include/linux/netdevice.h
-+++ b/include/linux/netdevice.h
-@@ -1749,6 +1749,8 @@ struct net_device {
- struct netdev_hw_addr_list mc;
- struct netdev_hw_addr_list dev_addrs;
-
-+ unsigned char local_addr_mask[MAX_ADDR_LEN];
-+
- #ifdef CONFIG_SYSFS
- struct kset *queues_kset;
- #endif
---- a/include/linux/skbuff.h
-+++ b/include/linux/skbuff.h
-@@ -742,7 +742,8 @@ struct sk_buff {
- #ifdef CONFIG_NET_SWITCHDEV
- __u8 offload_fwd_mark:1;
- #endif
-- /* 2, 4 or 5 bit hole */
-+ __u8 gro_skip:1;
-+ /* 1, 3 or 4 bit hole */
-
- #ifdef CONFIG_NET_SCHED
- __u16 tc_index; /* traffic control index */
+diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
+index fbf1de965a9a..6a6d90b9a880 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
-@@ -143,6 +143,18 @@ u32 eth_get_headlen(void *data, unsigned
+@@ -143,6 +143,18 @@ u32 eth_get_headlen(void *data, unsigned int len)
}
EXPORT_SYMBOL(eth_get_headlen);
@@ -137,7 +139,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/**
* eth_type_trans - determine the packet's protocol ID.
* @skb: received socket data
-@@ -171,8 +183,12 @@ __be16 eth_type_trans(struct sk_buff *sk
+@@ -171,8 +183,12 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
skb->pkt_type = PACKET_MULTICAST;
}
else if (unlikely(!ether_addr_equal_64bits(eth->h_dest,
@@ -151,3 +153,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* Some variants of DSA tagging don't have an ethertype field
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/681-NET-add-of_get_mac_address_mtd.patch b/target/linux/generic/pending-4.9/681-NET-add-of_get_mac_address_mtd.patch
index 2044872973..b29b5f11b0 100644
--- a/target/linux/generic/patches-4.9/681-NET-add-of_get_mac_address_mtd.patch
+++ b/target/linux/generic/pending-4.9/681-NET-add-of_get_mac_address_mtd.patch
@@ -1,5 +1,4 @@
From: John Crispin <blogic@openwrt.org>
-Date: Sun, 27 Jul 2014 09:40:01 +0100
Subject: NET: add mtd-mac-address support to of_get_mac_address()
Many embedded devices have information such as mac addresses stored inside mtd
diff --git a/target/linux/generic/patches-4.9/701-phy_extension.patch b/target/linux/generic/pending-4.9/701-phy_extension.patch
index 0eb3e89adc..dd39910164 100644
--- a/target/linux/generic/patches-4.9/701-phy_extension.patch
+++ b/target/linux/generic/pending-4.9/701-phy_extension.patch
@@ -1,6 +1,17 @@
+From: John Crispin <john@phrozen.org>
+Subject: net: phy: add phy_ethtool_ioctl()
+
+Signed-off-by: John Crispin <john@phrozen.org>
+---
+ drivers/net/phy/phy.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ include/linux/phy.h | 1 +
+ 2 files changed, 45 insertions(+)
+
+diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
+index a9be26f1f677..d0a5ac1d6445 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -466,6 +466,50 @@ int phy_ethtool_ksettings_get(struct phy
+@@ -466,6 +466,50 @@ int phy_ethtool_ksettings_get(struct phy_device *phydev,
}
EXPORT_SYMBOL(phy_ethtool_ksettings_get);
@@ -51,9 +62,11 @@
/**
* phy_mii_ioctl - generic PHY MII ioctl interface
* @phydev: the phy_device struct
+diff --git a/include/linux/phy.h b/include/linux/phy.h
+index bd22670e2182..93c1e74afc44 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -816,6 +816,7 @@ int phy_ethtool_ksettings_get(struct phy
+@@ -813,6 +813,7 @@ int phy_ethtool_ksettings_get(struct phy_device *phydev,
struct ethtool_link_ksettings *cmd);
int phy_ethtool_ksettings_set(struct phy_device *phydev,
const struct ethtool_link_ksettings *cmd);
@@ -61,3 +74,6 @@
int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd);
int phy_start_interrupts(struct phy_device *phydev);
void phy_print_status(struct phy_device *phydev);
+--
+2.11.0
+
diff --git a/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch
new file mode 100644
index 0000000000..d7034610d5
--- /dev/null
+++ b/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch
@@ -0,0 +1,45 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: generic: add detach callback to struct phy_driver
+
+lede-commit: fe61fc2d7d0b3fb348b502f68f98243b3ddf5867
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/net/phy/phy_device.c | 3 +++
+ include/linux/phy.h | 6 ++++++
+ 2 files changed, 9 insertions(+)
+
+diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
+index 14d57d0d1c04..c37d3a27e372 100644
+--- a/drivers/net/phy/phy_device.c
++++ b/drivers/net/phy/phy_device.c
+@@ -1001,6 +1001,9 @@ void phy_detach(struct phy_device *phydev)
+ struct mii_bus *bus;
+ int i;
+
++ if (phydev->drv && phydev->drv->detach)
++ phydev->drv->detach(phydev);
++
+ phydev->attached_dev->phydev = NULL;
+ phydev->attached_dev = NULL;
+ phy_suspend(phydev);
+diff --git a/include/linux/phy.h b/include/linux/phy.h
+index 93c1e74afc44..d97a418f2cf7 100644
+--- a/include/linux/phy.h
++++ b/include/linux/phy.h
+@@ -508,6 +508,12 @@ struct phy_driver {
+ */
+ int (*did_interrupt)(struct phy_device *phydev);
+
++ /*
++ * Called before an ethernet device is detached
++ * from the PHY.
++ */
++ void (*detach)(struct phy_device *phydev);
++
+ /* Clears up any memory if needed */
+ void (*remove)(struct phy_device *phydev);
+
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch b/target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch
index baab044777..a434001e27 100644
--- a/target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch
+++ b/target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch
@@ -1,6 +1,16 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: net: phy: disable soft-reset for generic PHY devices to avoid accidentally clearing preinitialized state
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/net/phy/phy_device.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
+index c37d3a27e372..069f7ee3e65c 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1527,7 +1527,7 @@ int genphy_config_init(struct phy_device
+@@ -1482,7 +1482,7 @@ int genphy_config_init(struct phy_device *phydev)
return 0;
}
@@ -9,7 +19,7 @@
{
/* Do nothing for now */
return 0;
-@@ -1798,7 +1798,7 @@ static struct phy_driver genphy_driver[]
+@@ -1721,7 +1721,7 @@ static struct phy_driver genphy_driver[] = {
.phy_id = 0xffffffff,
.phy_id_mask = 0xffffffff,
.name = "Generic PHY",
@@ -18,7 +28,7 @@
.config_init = genphy_config_init,
.features = PHY_GBIT_FEATURES | SUPPORTED_MII |
SUPPORTED_AUI | SUPPORTED_FIBRE |
-@@ -1812,7 +1812,7 @@ static struct phy_driver genphy_driver[]
+@@ -1735,7 +1735,7 @@ static struct phy_driver genphy_driver[] = {
.phy_id = 0xffffffff,
.phy_id_mask = 0xffffffff,
.name = "Generic 10G PHY",
@@ -27,3 +37,6 @@
.config_init = gen10g_config_init,
.features = 0,
.config_aneg = gen10g_config_aneg,
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch b/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
index 73c8a62cce..e996d95093 100644
--- a/target/linux/generic/patches-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
+++ b/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch
@@ -1,3 +1,18 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: net: phy: allow to configure AR803x PHYs via platform data
+
+Add a patch for the at803x phy driver, in order to be able
+to configure some register settings via platform data.
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/net/phy/at803x.c | 56 ++++++++++++++++++++++++++++++++
+ include/linux/platform_data/phy-at803x.h | 11 +++++++
+ 2 files changed, 67 insertions(+)
+ create mode 100644 include/linux/platform_data/phy-at803x.h
+
+diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
+index c0f45dde60aa..4a55130dcb1c 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -12,12 +12,14 @@
@@ -35,7 +50,7 @@
};
struct at803x_context {
-@@ -276,8 +284,16 @@ does_not_require_reset_workaround:
+@@ -276,8 +284,16 @@ static int at803x_probe(struct phy_device *phydev)
return 0;
}
@@ -52,7 +67,7 @@
int ret;
ret = genphy_config_init(phydev);
-@@ -298,6 +314,26 @@ static int at803x_config_init(struct phy
+@@ -298,6 +314,26 @@ static int at803x_config_init(struct phy_device *phydev)
return ret;
}
@@ -79,7 +94,7 @@
return 0;
}
-@@ -335,6 +371,8 @@ static int at803x_config_intr(struct phy
+@@ -335,6 +371,8 @@ static int at803x_config_intr(struct phy_device *phydev)
static void at803x_link_change_notify(struct phy_device *phydev)
{
struct at803x_priv *priv = phydev->priv;
@@ -88,7 +103,7 @@
/*
* Conduct a hardware reset for AT8030/2 every time a link loss is
-@@ -363,6 +401,24 @@ static void at803x_link_change_notify(st
+@@ -363,6 +401,24 @@ static void at803x_link_change_notify(struct phy_device *phydev)
} else {
priv->phy_reset = false;
}
@@ -113,6 +128,9 @@
}
static int at803x_aneg_done(struct phy_device *phydev)
+diff --git a/include/linux/platform_data/phy-at803x.h b/include/linux/platform_data/phy-at803x.h
+new file mode 100644
+index 000000000000..a5df74b4f38d
--- /dev/null
+++ b/include/linux/platform_data/phy-at803x.h
@@ -0,0 +1,11 @@
@@ -127,3 +145,6 @@
+};
+
+#endif /* _PHY_AT803X_PDATA_H */
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch b/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
index 581aff1d9d..c5786a5d6a 100644
--- a/target/linux/generic/patches-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
+++ b/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch
@@ -1,3 +1,18 @@
+From: Roman Yeryomin <roman@advem.lv>
+Subject: kernel: add at803x fix for sgmii mode
+
+Some (possibly broken) bootloaders incorreclty initialize at8033
+phy. This patch enables sgmii autonegotiation mode.
+
+[john@phrozen.org: felix added this to his upstream queue]
+
+Signed-off-by: Roman Yeryomin <roman@advem.lv>
+---
+ drivers/net/phy/at803x.c | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c
+index 4a55130dcb1c..434efb68bc5d 100644
--- a/drivers/net/phy/at803x.c
+++ b/drivers/net/phy/at803x.c
@@ -55,6 +55,10 @@
@@ -11,7 +26,7 @@
#define AT803X_MODE_CFG_MASK 0x0F
#define AT803X_MODE_CFG_SGMII 0x01
-@@ -295,6 +299,27 @@ static int at803x_config_init(struct phy
+@@ -295,6 +299,27 @@ static int at803x_config_init(struct phy_device *phydev)
{
struct at803x_platform_data *pdata;
int ret;
@@ -39,3 +54,6 @@
ret = genphy_config_init(phydev);
if (ret < 0)
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch
index cb9fa1935b..f63c8ea357 100644
--- a/target/linux/generic/patches-4.9/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch
@@ -1,3 +1,14 @@
+From: Gabor Juhos <juhosg@openwrt.org>
+Subject: debloat: add kernel config option to disabling common PCI quirks
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ drivers/pci/Kconfig | 6 ++++++
+ drivers/pci/quirks.c | 6 ++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
+index 6555eb78d91c..120fe3921820 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -71,6 +71,12 @@ config XEN_PCIDEV_FRONTEND
@@ -13,9 +24,11 @@
config HT_IRQ
bool "Interrupts on hypertransport devices"
default y
+diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+index 5d8151b43fbb..cb356e78e743 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct
+@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct pci_dev *dev)
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
@@ -23,7 +36,7 @@
/* The Mellanox Tavor device gives false positive parity errors
* Mark this device with a broken_parity_status, to allow
* PCI scanning code to "skip" this now blacklisted device.
-@@ -3038,6 +3039,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3038,6 +3039,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f8, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
@@ -31,7 +44,7 @@
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
-@@ -3094,6 +3096,8 @@ static void fixup_debug_report(struct pc
+@@ -3094,6 +3096,8 @@ static void fixup_debug_report(struct pci_dev *dev, ktime_t calltime,
}
}
@@ -40,7 +53,7 @@
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled,
* even though no one is handling them (f.e. i915 driver is never loaded).
-@@ -3128,6 +3132,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3128,6 +3132,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
@@ -49,3 +62,6 @@
/*
* PCI devices which are on Intel chips can skip the 10ms delay
* before entering D3 mode.
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch
index eff7350867..33fbf34c4f 100644
--- a/target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch
@@ -1,6 +1,17 @@
+From: Felix Fietkau <nbd@nbd.name>
+Subject: debloat: disable common USB quirks
---- a/drivers/usb/host/pci-quirks.c
-+++ b/drivers/usb/host/pci-quirks.c
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++
+ drivers/usb/host/pci-quirks.h | 18 +++++++++++++++++-
+ include/linux/usb/hcd.h | 7 +++++++
+ 3 files changed, 40 insertions(+), 1 deletion(-)
+
+Index: linux-4.9.40/drivers/usb/host/pci-quirks.c
+===================================================================
+--- linux-4.9.40.orig/drivers/usb/host/pci-quirks.c
++++ linux-4.9.40/drivers/usb/host/pci-quirks.c
@@ -106,6 +106,8 @@ struct amd_chipset_type {
u8 rev;
};
@@ -44,8 +55,10 @@
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
+#endif
---- a/drivers/usb/host/pci-quirks.h
-+++ b/drivers/usb/host/pci-quirks.h
+Index: linux-4.9.40/drivers/usb/host/pci-quirks.h
+===================================================================
+--- linux-4.9.40.orig/drivers/usb/host/pci-quirks.h
++++ linux-4.9.40/drivers/usb/host/pci-quirks.h
@@ -4,6 +4,9 @@
#ifdef CONFIG_PCI
void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
@@ -78,13 +91,14 @@
static inline void usb_amd_dev_put(void) {}
static inline void usb_disable_xhci_ports(struct pci_dev *xhci_pdev) {}
static inline void sb800_prefetch(struct device *dev, int on) {}
--#endif /* CONFIG_PCI */
+static inline void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev) {}
-+#endif
+ #endif /* CONFIG_PCI */
#endif /* __LINUX_USB_PCI_QUIRKS_H */
---- a/include/linux/usb/hcd.h
-+++ b/include/linux/usb/hcd.h
+Index: linux-4.9.40/include/linux/usb/hcd.h
+===================================================================
+--- linux-4.9.40.orig/include/linux/usb/hcd.h
++++ linux-4.9.40/include/linux/usb/hcd.h
@@ -461,7 +461,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
diff --git a/target/linux/generic/patches-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch b/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch
index 84a62bf228..dc60557f4e 100644
--- a/target/linux/generic/patches-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch
+++ b/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch
@@ -1,7 +1,5 @@
-From f13ad28ba4280d2283ca2b49f0bd384bc51e6a68 Mon Sep 17 00:00:00 2001
From: Alexey Brodkin <abrodkin@synopsys.com>
-Date: Tue, 5 Jul 2016 14:28:31 +0300
-Subject: [PATCH] usb: Remove annoying warning about bogus URB
+Subject: usb: Remove annoying warning about bogus URB
When ath9k-htc Wi-Fi dongle is used with generic OHCI controller
infinite stream of warnings appears in debug console like this:
diff --git a/target/linux/generic/pending-4.9/831-ledtrig_netdev.patch b/target/linux/generic/pending-4.9/831-ledtrig_netdev.patch
new file mode 100644
index 0000000000..baba2ca6d9
--- /dev/null
+++ b/target/linux/generic/pending-4.9/831-ledtrig_netdev.patch
@@ -0,0 +1,81 @@
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Subject: usb: Remove annoying warning about bogus URB
+
+When ath9k-htc Wi-Fi dongle is used with generic OHCI controller
+infinite stream of warnings appears in debug console like this:
+-------------------------->8----------------------
+usb 1-1: new full-speed USB device number 2 using ohci-platform
+usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
+usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size:
+51008
+------------[ cut here ]------------
+WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
+usb_submit_urb+0x1b4/0x498()
+usb 1-1: BOGUS urb xfer, pipe 1 != type 3
+Modules linked in:
+CPU: 0 PID: 19 Comm: kworker/0:1 Not tainted
+4.4.0-rc4-00017-g00e2d79-dirty #3
+Workqueue: events request_firmware_work_func
+
+Stack Trace:
+arc_unwind_core.constprop.1+0xa4/0x110
+---[ end trace 649ef8c342817fc2 ]---
+------------[ cut here ]------------
+WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
+usb_submit_urb+0x1b4/0x498()
+usb 1-1: BOGUS urb xfer, pipe 1 != type 3
+Modules linked in:
+CPU: 0 PID: 19 Comm: kworker/0:1 Tainted: G W
+4.4.0-rc4-00017-g00e2d79-dirty #3
+Workqueue: events request_firmware_work_func
+
+Stack Trace:
+arc_unwind_core.constprop.1+0xa4/0x110
+---[ end trace 649ef8c342817fc3 ]---
+------------[ cut here ]------------
+-------------------------->8----------------------
+
+There're some discussions in mailing lists proposing to disable
+that particular check alltogether and magically all seem to work
+fine with muted warning.
+
+Anyways new thread on that regard could be found here:
+http://lists.infradead.org/pipermail/linux-snps-arc/2016-July/001310.html
+
+Let's see what comes out of that new discussion, hopefully patching
+of generic USB stuff won't be required then.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ drivers/leds/Makefile | 1 +
+ drivers/leds/trigger/Kconfig | 7 +++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
+index 3965070190f5..6273d7e29eab 100644
+--- a/drivers/leds/Makefile
++++ b/drivers/leds/Makefile
+@@ -77,3 +77,4 @@ obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o
+
+ # LED Triggers
+ obj-$(CONFIG_LEDS_TRIGGERS) += trigger/
++obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o
+diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig
+index 3f9ddb9fafa7..4ec185389324 100644
+--- a/drivers/leds/trigger/Kconfig
++++ b/drivers/leds/trigger/Kconfig
+@@ -126,4 +126,11 @@ config LEDS_TRIGGER_PANIC
+ a different trigger.
+ If unsure, say Y.
+
++config LEDS_TRIGGER_NETDEV
++ tristate "LED Netdev Trigger"
++ depends on NET && LEDS_TRIGGERS
++ help
++ This allows LEDs to be controlled by network device activity.
++ If unsure, say Y.
++
+ endif # LEDS_TRIGGERS
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/834-ledtrig-libata.patch b/target/linux/generic/pending-4.9/834-ledtrig-libata.patch
index 63a31f5db3..44ee23fb9b 100644
--- a/target/linux/generic/patches-4.9/834-ledtrig-libata.patch
+++ b/target/linux/generic/pending-4.9/834-ledtrig-libata.patch
@@ -1,9 +1,5 @@
-From 52cfd51cdf6a6e14d4fb270c6343abac3bac00f4 Mon Sep 17 00:00:00 2001
From: Daniel Golle <daniel@makrotopia.org>
-Date: Fri, 12 Dec 2014 13:38:33 +0100
-Subject: [PATCH] libata: add ledtrig support
-To: linux-ide@vger.kernel.org,
- Tejun Heo <tj@kernel.org>
+Subject: libata: add ledtrig support
This adds a LED trigger for each ATA port indicating disk activity.
diff --git a/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch b/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch
new file mode 100644
index 0000000000..7b62aeb2ea
--- /dev/null
+++ b/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch
@@ -0,0 +1,47 @@
+From: John Crispin <john@phrozen.org>
+Subject: serial: do not accept sysrq characters via serial port
+
+many embedded boards have a disconnected TTL level serial which can
+generate some garbage that can lead to spurious false sysrq detects.
+
+[john@phrozen.org: sent upstream 22.12.2016]
+
+Signed-off-by: John Crispin <john@phrozen.org>
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ include/linux/serial_core.h | 2 +-
+ lib/Kconfig.debug | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
+index 344201437017..7e6165bc1cef 100644
+--- a/include/linux/serial_core.h
++++ b/include/linux/serial_core.h
+@@ -448,7 +448,7 @@ extern void uart_handle_cts_change(struct uart_port *uport,
+ extern void uart_insert_char(struct uart_port *port, unsigned int status,
+ unsigned int overrun, unsigned int ch, unsigned int flag);
+
+-#ifdef SUPPORT_SYSRQ
++#if defined(SUPPORT_SYSRQ) && defined(CONFIG_MAGIC_SYSRQ_SERIAL)
+ static inline int
+ uart_handle_sysrq_char(struct uart_port *port, unsigned int ch)
+ {
+diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
+index a6c8db1d62f6..062c580cdd68 100644
+--- a/lib/Kconfig.debug
++++ b/lib/Kconfig.debug
+@@ -397,6 +397,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE
+ This may be set to 1 or 0 to enable or disable them all, or
+ to a bitmask as described in Documentation/sysrq.txt.
+
++config MAGIC_SYSRQ_SERIAL
++ bool "Enable magic SysRq key over serial"
++ depends on MAGIC_SYSRQ
++ default y
++
+ config DEBUG_KERNEL
+ bool "Kernel debugging"
+ help
+--
+2.11.0
+
diff --git a/target/linux/generic/patches-4.9/920-mangle_bootargs.patch b/target/linux/generic/pending-4.9/920-mangle_bootargs.patch
index 8ba7a1f5d0..151a3169d8 100644
--- a/target/linux/generic/patches-4.9/920-mangle_bootargs.patch
+++ b/target/linux/generic/pending-4.9/920-mangle_bootargs.patch
@@ -1,6 +1,41 @@
+From: Imre Kaloz <kaloz@openwrt.org>
+Subject: init: add CONFIG_MANGLE_BOOTARGS and disable it by default
+
+Enabling this option renames the bootloader supplied root=
+and rootfstype= variables, which might have to be know but
+would break the automatisms OpenWrt uses.
+
+Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
+---
+ init/Kconfig | 9 +++++++++
+ init/main.c | 24 ++++++++++++++++++++++++
+ 2 files changed, 33 insertions(+)
+
+diff --git a/init/Kconfig b/init/Kconfig
+index 9063c81b9665..fb66d3ef78e0 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -1687,6 +1687,15 @@ config EMBEDDED
+ an embedded system so certain expert options are available
+ for configuration.
+
++config MANGLE_BOOTARGS
++ bool "Rename offending bootargs"
++ depends on EXPERT
++ help
++ Sometimes the bootloader passed bogus root= and rootfstype=
++ parameters to the kernel, and while you want to ignore them,
++ you need to know the values f.e. to support dual firmware
++ layouts on the flash.
++
+ config HAVE_PERF_EVENTS
+ bool
+ help
+diff --git a/init/main.c b/init/main.c
+index ae3996ae9bac..3855fa4ffb95 100644
--- a/init/main.c
+++ b/init/main.c
-@@ -352,6 +352,29 @@ static inline void setup_nr_cpu_ids(void
+@@ -352,6 +352,29 @@ static inline void setup_nr_cpu_ids(void) { }
static inline void smp_prepare_cpus(unsigned int maxcpus) { }
#endif
@@ -30,7 +65,7 @@
/*
* We need to store the untouched command line for future reference.
* We also need to store the touched command line since the parameter
-@@ -504,6 +527,7 @@ asmlinkage __visible void __init start_k
+@@ -504,6 +527,7 @@ asmlinkage __visible void __init start_kernel(void)
pr_notice("%s", linux_banner);
setup_arch(&command_line);
mm_init_cpumask(&init_mm);
@@ -38,21 +73,6 @@
setup_command_line(command_line);
setup_nr_cpu_ids();
setup_per_cpu_areas();
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -1697,6 +1697,15 @@ config EMBEDDED
- an embedded system so certain expert options are available
- for configuration.
-
-+config MANGLE_BOOTARGS
-+ bool "Rename offending bootargs"
-+ depends on EXPERT
-+ help
-+ Sometimes the bootloader passed bogus root= and rootfstype=
-+ parameters to the kernel, and while you want to ignore them,
-+ you need to know the values f.e. to support dual firmware
-+ layouts on the flash.
-+
- config HAVE_PERF_EVENTS
- bool
- help
+--
+2.11.0
+