From 74d00a8c3849c1340efd713eb94b786e304c201f Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 25 Dec 2016 20:11:34 +0100 Subject: [PATCH] kernel: split patches folder up into backport, pending and hack folders * properly format/comment all patches * merge debloat patches * merge Kconfig patches * merge swconfig patches * merge hotplug patches * drop 200-fix_localversion.patch - upstream * drop 222-arm_zimage_none.patch - unused * drop 252-mv_cesa_depends.patch - no longer required * drop 410-mtd-move-forward-declaration-of-struct-mtd_info.patch - unused * drop 661-fq_codel_keep_dropped_stats.patch - outdated * drop 702-phy_add_aneg_done_function.patch - upstream * drop 840-rtc7301.patch - unused * drop 841-rtc_pt7c4338.patch - upstream * drop 921-use_preinit_as_init.patch - unused * drop spio-gpio-old and gpio-mmc - unused Signed-off-by: John Crispin --- include/kernel-build.mk | 2 +- include/quilt.mk | 8 + include/target.mk | 4 +- ...dcode-path-to-awk-in-scripts-ld-vers.patch | 11 +- .../011-kbuild-export-SUBARCH.patch | 17 +- .../020-backport_netfilter_rtcache.patch | 31 +- .../021-bridge-multicast-to-unicast.patch | 2 +- ...rsion-of-alloc_etherdev_mqs-function.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...skb_cow_head-to-deal-with-cloned-skb.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...imit-and-delta-fields-from-struct-ub.patch | 0 ...writeback_interval-value-for-wbuf-ti.patch | 0 ...50-usb-dwc2-Remove-unnecessary-kfree.patch | 0 ...flash-use-platform_-set-get-_drvdata.patch | 0 ...h-support-reading-flash-out-of-mappi.patch | 0 ...move-TRX-parsing-code-to-separated-f.patch | 0 ...support-layouts-with-multiple-TRX-pa.patch | 0 ...Macronix-mx25u25635f-to-list-of-know.patch | 0 ...mtd-spi-nor-fix-spansion-quad-enable.patch | 4 +- ...-mtd-spi-nor-fix-flags-for-s25fl128s.patch | 0 ...td-spi-nor-add-support-for-s25fl208k.patch | 0 ...-Add-at25df321-spi-nor-flash-support.patch | 0 ...mtd-spi-nor-Add-support-for-N25Q016A.patch | 0 ...-mtd-spi-nor-Add-support-for-mr25h40.patch | 0 ...Add-support-for-S3AN-spi-nor-devices.patch | 6 +- ...spi-nor-improve-macronix_quad_enable.patch | 0 ...ve-WARN_ONCE-message-in-spi_nor_writ.patch | 0 ...me-SPINOR_OP_-macros-of-the-4-byte-a.patch | 2 +- ...a-stateless-method-to-support-memory.patch | 2 +- ...Add-lock-unlock-support-for-f25l32pa.patch | 0 ...-nor-Fix-S3AN-addressing-calculation.patch | 0 ...-mtd-spi-nor-Add-support-for-gd25q16.patch | 0 ...le-stateless-4b-op-codes-for-mx25u25.patch | 0 ...td-introduce-function-max_bad_blocks.patch | 0 ...n-device-node-to-mtd-partition-devic.patch | 0 ...itioning-on-devices-with-0-erasesize.patch | 0 ...tions-factor-out-code-calling-parser.patch | 0 ...ns-add-helper-for-deleting-partition.patch | 0 ...emove-sysfs-files-when-deleting-all-.patch | 0 ...ename-master-to-the-parent-where-app.patch | 0 ...itions-add-support-for-subpartitions.patch | 0 ...ns-add-support-for-partition-parsers.patch | 0 ...parser-out-of-bcm47xxpart-into-a-sep.patch | 0 .../070-bcma-from-4.11.patch | 0 ...te-struct-bgmac-just-once-don-t-copy.patch | 0 ...truct-bcma_mdio-we-don-t-need-anymor.patch | 0 ...e-PHY-subsystem-for-initializing-PHY.patch | 0 .../072-bcma-from-4.12.patch | 0 ...-Update-Auxiliary-Control-Register-m.patch | 0 ...y-broadcom-Add-support-for-BCM54612E.patch | 0 ...phy-broadcom-add-bcm54xx_auxctl_read.patch | 0 ...-phy-broadcom-Add-BCM54810-PHY-entry.patch | 0 ...-Move-bcm54xx_auxctl_-read-write-to-.patch | 0 ...m-Allow-enabling-or-disabling-of-EEE.patch | 0 ...-Add-support-code-for-reading-PHY-co.patch | 0 ...et-phy-bcm7xxx-Add-entry-for-BCM7278.patch | 0 ...-Implement-EGPHY-workaround-for-7278.patch | 0 ...-use-auxctl-reading-helper-in-BCM546.patch | 0 ...y-broadcom-add-support-for-BCM54210E.patch | 0 ...adcom-rehook-BCM54612E-specific-init.patch | 0 ...-variants-of-LED-registering-functio.patch | 0 ...-variant-of-LED-registering-function.patch | 0 ...5-add-thermal-driver-for-bcm2835-SoC.patch | 0 ...roadcom-add-Northstar-thermal-driver.patch | 0 ...B-ports-from-DT-in-the-usbport-LED-t.patch | 0 .../087-regmap-make-LZO-cache-optional.patch | 0 .../hack-4.9/202-reduce_module_size.patch | 29 + .../204-module_strip.patch | 44 +- .../207-disable-modorder.patch | 25 +- .../210-darwin_scripts_include.patch | 85 +- .../hack-4.9/211-host_tools_portability.patch | 49 + .../212-byteshift_portability.patch | 24 + .../hack-4.9/214-spidev_h_portability.patch | 29 + .../220-gc_sections.patch | 350 ++-- .../221-module_exports.patch | 44 +- .../230-openwrt_lzma_options.patch | 44 +- .../250-netfilter_depends.patch | 14 + .../generic/hack-4.9/251-sound_kconfig.patch | 212 +++ .../259-regmap_dynamic.patch | 47 +- .../260-crypto_test_dependencies.patch | 23 +- .../280-rfkill-stubs.patch | 70 +- .../301-mips_image_cmdline_hack.patch | 45 + .../321-powerpc_crtsavres_prereq.patch | 31 + .../531-debloat_lzma.patch | 1512 +++++++++-------- .../640-bridge-only-accept-EAP-locally.patch | 14 +- .../641-bridge_port_isolate.patch | 68 +- .../hack-4.9/651-wireless_mesh_header.patch | 29 + .../hack-4.9/660-fq_codel_defaults.patch | 26 + .../661-use_fq_codel_by_default.patch | 89 +- .../662-remove_pfifo_fast.patch | 17 +- .../700-swconfig_switch_drivers.patch | 21 + ...710-phy-add-mdio_register_board_info.patch | 0 .../721-phy_packets.patch | 53 +- .../773-bgmac-add-srab-switch.patch | 46 +- .../hack-4.9/835-misc-owl_loader.patch | 59 + .../901-debloat_sock_diag.patch | 55 +- .../902-debloat_proc.patch | 377 ++-- .../904-debloat_dma_buf.patch | 26 +- .../generic/hack-4.9/910-kobject_uevent.patch | 36 + .../911-kobject_add_broadcast_uevent.patch | 34 +- ...ays-create-console-node-in-initramfs.patch | 15 + .../930-crashlog.patch | 84 +- .../patches-4.9/200-fix_localversion.patch | 11 - .../patches-4.9/201-extra_optimization.patch | 18 - .../patches-4.9/202-reduce_module_size.patch | 11 - .../211-host_tools_portability.patch | 28 - .../214-spidev_h_portability.patch | 11 - .../patches-4.9/222-arm_zimage_none.patch | 124 -- .../patches-4.9/251-sound_kconfig.patch | 18 - .../patches-4.9/252-mv_cesa_depends.patch | 10 - .../patches-4.9/253-ssb_b43_default_on.patch | 29 - .../254-textsearch_kconfig_hacks.patch | 23 - .../255-lib80211_kconfig_hacks.patch | 31 - .../256-crypto_add_kconfig_prompts.patch | 47 - .../257-wireless_ext_kconfig_hack.patch | 22 - .../258-netfilter_netlink_kconfig_hack.patch | 11 - ...able_wilink_platform_without_drivers.patch | 15 - .../301-mips_image_cmdline_hack.patch | 28 - .../302-mips_no_branch_likely.patch | 11 - .../patches-4.9/307-mips_highmem_offset.patch | 17 - .../310-arm_module_unresolved_weak_sym.patch | 13 - .../321-powerpc_crtsavres_prereq.patch | 10 - ...rward-declaration-of-struct-mtd_info.patch | 18 - .../412-mtd-partial_eraseblock_unlock.patch | 20 - ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 11 - ...25p80-mx-disable-software-protection.patch | 14 - .../616-net_optimize_xfrm_calls.patch | 12 - .../patches-4.9/650-pppoe_header_pad.patch | 20 - .../651-wireless_mesh_header.patch | 13 - .../patches-4.9/655-increase_skb_pad.patch | 11 - .../patches-4.9/660-fq_codel_defaults.patch | 11 - .../702-phy_add_aneg_done_function.patch | 27 - ...detach-callback-to-struct-phy_driver.patch | 27 - .../patches-4.9/831-ledtrig_netdev.patch | 21 - .../patches-4.9/835-misc-owl_loader.patch | 31 - .../generic/patches-4.9/840-rtc7301.patch | 250 --- .../patches-4.9/841-rtc_pt7c4338.patch | 247 --- .../patches-4.9/890-uart_optional_sysrq.patch | 25 - .../patches-4.9/910-kobject_uevent.patch | 21 - .../001-mtdsplit_backport.patch | 0 .../002-phy_drivers_backport.patch | 0 .../003-myloader_backport.patch | 0 .../020-ssb_update.patch | 0 .../021-ssb_sprom.patch | 0 .../025-bcma_backport.patch | 0 .../026-bcma-from-3.20.patch | 0 .../027-bcma-from-4.1.patch | 0 .../028-bcma-from-4.2.patch | 0 .../029-bcma-from-4.4.patch | 0 .../030-backport_bcm47xx_nvram.patch | 0 ...11-Allow-set-network-namespace-by-fd.patch | 0 .../031-bcma-from-4.5.patch | 0 .../032-bcma-from-4.6.patch | 0 ...-mtd-bcm47xxpart-backports-from-3.19.patch | 0 ...-mtd-bcm47xxpart-backports-from-3.20.patch | 0 ...GD25Q128B_support_backport_from_3.19.patch | 0 .../044-backport-m25p80-jedec-probe.patch | 0 .../050-backport_netfilter_rtcache.patch | 0 ...ting-hash_max-multicast_router-if-in.patch | 0 .../060-mips_decompressor_memmove.patch | 0 ...gmac-register-napi-before-the-device.patch | 0 ...rqs-only-if-there-is-nothing-to-poll.patch | 0 ...-initialization-on-Northstar-SoCs-co.patch | 0 .../073-bgmac-Clean-warning-messages.patch | 0 ...ixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch | 0 ...mac-allow-enabling-on-ARCH_BCM_5301X.patch | 0 ...76-net-phy-export-fixed_phy_register.patch | 0 ...scriptor-frame-start-end-definitions.patch | 0 ...gmac-implement-GRO-and-use-build_skb.patch | 0 ...mac-implement-scatter-gather-support.patch | 0 ...gmac-simplify-tx-ring-index-handling.patch | 0 ...rrupts-disabled-as-long-as-there-is-.patch | 0 ...received-skb-headroom-to-NET_SKB_PAD.patch | 0 ...bgmac-simplify-rx-DMA-error-handling.patch | 0 ...gmac-add-check-for-oversized-packets.patch | 0 ...ncrease-rx-ring-size-from-511-to-512.patch | 0 ...7-10-bgmac-simplify-dma-init-cleanup.patch | 0 .../077-11-bgmac-fix-DMA-rx-corruption.patch | 0 .../077-12-bgmac-drop-ring-num_slots.patch | 0 ...enable-Ethernet-core-before-using-it.patch | 0 ...fix-MAC-soft-reset-bit-for-corerev-4.patch | 0 ...c-net-fib_trie-when-CONFIG_IP_MULTIP.patch | 0 ...e-balancing-issue-if-new-node-pushes.patch | 0 ...usage-stats-to-be-percpu-instead-of-.patch | 0 ...rie-Make-leaf-and-tnode-more-uniform.patch | 0 ...node_free-and-leaf_free-into-node_fr.patch | 0 ...80-05-fib_trie-Merge-leaf-into-tnode.patch | 0 ...e-fib_table_lookup-to-avoid-wasting-.patch | 0 ...0-07-fib_trie-Optimize-fib_find_node.patch | 0 ...8-fib_trie-Optimize-fib_table_insert.patch | 0 ...meaning-of-pos-to-represent-unchecke.patch | 0 ...igned-long-for-anything-dealing-with.patch | 0 ...Push-rcu_read_lock-unlock-to-callers.patch | 0 ...e-Move-resize-to-after-inflate-halve.patch | 0 ...ctions-should_inflate-and-should_hal.patch | 0 ...signment-of-child-to-parent-down-int.patch | 0 ...tnode-flushing-down-to-inflate-halve.patch | 0 ...-halve-nodes-in-a-more-RCU-friendly-.patch | 0 ...checks-for-index-tnode_child_length-.patch | 0 ...Add-tracking-value-for-suffix-length.patch | 0 ...ex-0ul-n-bits-instead-of-index-n-bit.patch | 0 ...-bug-and-merge-similar-bits-of-infla.patch | 0 ...ck-to-slen-update-on-inflate-halve-f.patch | 0 ...llapse-and-should_collapse-to-resize.patch | 0 ...ty_children-instead-of-counting-empt.patch | 0 ...b_find_alias-to-file-where-it-is-use.patch | 0 ...-Various-clean-ups-for-handling-slen.patch | 0 ...eue-to-die-properly-when-a-PADT-is-r.patch | 0 ...02-pppoe-Lacks-DST-MAC-address-check.patch | 0 ...poe-device-in-pppoe_unbind_sock_work.patch | 0 ..._state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch | 0 ...ppp-remove-PPPOX_ZOMBIE-socket-state.patch | 0 ...ry-corruption-in-padt-work-structure.patch | 0 ...ment-fix-headroom-tests-and-skb-leak.patch | 0 ...ncrease-headroom-on-received-packets.patch | 0 .../087-regmap-make-LZO-cache-optional.patch | 0 ...layfs-fallback-to-readonly-when-full.patch | 0 ...i-nor-add-support-Spansion_S25FL164K.patch | 0 ...-if-the-device-is-processing-a-messa.patch | 0 ...rs-inside-calling-context-for-spi_sy.patch | 0 ...e-message-pump-in-the-worker-kthread.patch | 0 ...ility-of-linux-in.h-with-netinet-in..patch | 0 ...ags-FOLL_WRITE-games-from-__get_user.patch | 0 ...ing_init-new-hook-for-archs-before-m.patch | 0 .../102-ehci_hcd_ignore_oc.patch | 0 ...ame2-and-add-RENAME_WHITEOUT-support.patch | 0 ...11-jffs2-add-RENAME_EXCHANGE-support.patch | 0 ...ge_allow_receiption_on_disabled_port.patch | 0 .../132-mips_inline_dma_ops.patch | 0 ...-__arch_swab-16-32-64-when-using-MIP.patch | 0 ...-generic-parsing-of-linux-part-probe.patch | 0 ...limit-scanned-flash-area-on-BCM47XX-.patch | 0 ...part-don-t-fail-because-of-bit-flips.patch | 0 ...ci-make-USB_XHCI_PLATFORM-selectable.patch | 0 ...t_for_moving_ndp_to_end_of_ncm_frame.patch | 0 ...ehci-orion-fix-probe-for-GENERIC_PHY.patch | 0 ...-support-for-Quectel-EC20-Mini-PCIe-.patch | 0 ...-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch | 0 .../200-fix_localversion.patch | 0 .../201-extra_optimization.patch | 0 .../202-reduce_module_size.patch | 0 .../203-kallsyms_uncompressed.patch | 0 .../204-module_strip.patch | 0 .../205-backtrace_module_info.patch | 0 .../210-darwin_scripts_include.patch | 0 .../212-byteshift_portability.patch | 0 .../213-x86_vdso_portability.patch | 0 .../214-spidev_h_portability.patch | 0 .../220-gc_sections.patch | 0 .../221-module_exports.patch | 0 .../230-openwrt_lzma_options.patch | 0 .../250-netfilter_depends.patch | 0 .../251-sound_kconfig.patch | 0 .../252-mv_cesa_depends.patch | 0 .../253-ssb_b43_default_on.patch | 0 .../254-textsearch_kconfig_hacks.patch | 0 .../255-lib80211_kconfig_hacks.patch | 0 .../256-crypto_add_kconfig_prompts.patch | 0 .../257-wireless_ext_kconfig_hack.patch | 0 .../258-netfilter_netlink_kconfig_hack.patch | 0 .../259-regmap_dynamic.patch | 0 .../260-crypto_test_dependencies.patch | 0 ...libc-specific-inclusion-of-sysinfo.h.patch | 0 ...bc-compat.h-do-not-rely-on-__GLIBC__.patch | 0 ...prevent-redefinition-of-struct-ethhd.patch | 0 .../300-mips_expose_boot_raw.patch | 0 .../301-mips_image_cmdline_hack.patch | 0 .../302-mips_no_branch_likely.patch | 0 .../304-mips_disable_fpu.patch | 0 .../305-mips_module_reloc.patch | 0 .../306-mips_mem_functions_performance.patch | 0 .../307-mips_highmem_offset.patch | 0 .../310-arm_module_unresolved_weak_sym.patch | 0 .../320-ppc4xx_optimization.patch | 0 .../321-powerpc_crtsavres_prereq.patch | 0 ...t-command-line-parameters-from-users.patch | 0 .../400-mtd-add-rootfs-split-support.patch | 0 ...for-different-partition-parser-types.patch | 0 ...arsers-for-rootfs-and-firmware-split.patch | 0 .../403-mtd-hook-mtdsplit-to-Kbuild.patch | 0 .../404-mtd-add-more-helper-functions.patch | 0 ...405-mtd-old-firmware-uimage-splitter.patch | 0 ...406-mtd-old-rootfs-squashfs-splitter.patch | 0 ...rward-declaration-of-struct-mtd_info.patch | 0 .../411-mtd-partial_eraseblock_write.patch | 0 .../412-mtd-partial_eraseblock_unlock.patch | 0 .../420-mtd-redboot_space.patch | 0 ...30-mtd-add-myloader-partition-parser.patch | 0 ...check-for-bad-blocks-when-calculatin.patch | 0 ...bcm47xxpart-detect-T_Meter-partition.patch | 0 .../440-block2mtd_init.patch | 0 .../441-block2mtd_probe.patch | 0 ...-to-use-platform-specific-chip-fixup.patch | 0 ...n-code-of-nand_correct_data-function.patch | 0 ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 0 ...et_0002-add-buffer-write-cmd-timeout.patch | 0 ...add-support-for-Winbond-W25X05-flash.patch | 0 ...support-for-the-Macronix-MX25L512E-S.patch | 0 ...support-for-the-ISSI-SI25CD512-SPI-f.patch | 0 ...mtd-spi-nor-add-macronix-mx25u25635f.patch | 0 .../480-mtd-set-rootfs-to-be-root-dev.patch | 0 ...mtd-device-named-ubi-or-data-on-boot.patch | 0 ...to-create-ubiblock-device-for-rootfs.patch | 0 ...ting-ubi0-rootfs-in-init-do_mounts.c.patch | 0 ...ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 0 .../494-mtd-ubi-add-EOF-marker-support.patch | 0 .../530-jffs2_make_lzma_available.patch | 0 .../531-debloat_lzma.patch | 0 .../532-jffs2_eofdetect.patch | 0 .../550-ubifs-symlink-xattr-support.patch | 0 ...fs-fix-default-compression-selection.patch | 0 .../600-netfilter_conntrack_flush.patch | 0 ...etfilter_match_bypass_default_checks.patch | 0 ...netfilter_match_bypass_default_table.patch | 0 ...netfilter_match_reduce_memory_access.patch | 0 ...-netfilter_optional_tcp_window_check.patch | 0 .../616-net_optimize_xfrm_calls.patch | 0 .../621-sched_act_connmark.patch | 0 .../630-packet_socket_type.patch | 0 .../640-bridge_no_eap_forward.patch | 0 .../641-bridge_always_accept_eap.patch | 0 .../642-bridge_port_isolate.patch | 0 .../645-bridge_multicast_to_unicast.patch | 0 .../650-pppoe_header_pad.patch | 0 .../651-wireless_mesh_header.patch | 0 .../653-disable_netlink_trim.patch | 0 .../655-increase_skb_pad.patch | 0 .../656-skb_reduce_truesize-helper.patch | 0 .../657-qdisc_reduce_truesize.patch | 0 .../660-fq_codel_defaults.patch | 0 .../661-fq_codel_keep_dropped_stats.patch | 0 .../662-use_fq_codel_by_default.patch | 0 .../663-remove_pfifo_fast.patch | 0 ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 0 ...urce-specific-default-route-handling.patch | 0 ...ng-with-source-address-failed-policy.patch | 0 ...nes-for-_POLICY_FAILED-until-all-cod.patch | 0 ...T-skip-GRO-for-foreign-MAC-addresses.patch | 0 .../681-NET-add-of_get_mac_address_mtd.patch | 0 .../700-swconfig.patch | 0 .../701-phy_extension.patch | 0 .../702-phy_add_aneg_done_function.patch | 0 ...detach-callback-to-struct-phy_driver.patch | 0 .../704-phy-no-genphy-soft-reset.patch | 0 ...710-phy-add-mdio_register_board_info.patch | 0 .../720-phy_adm6996.patch | 0 .../721-phy_packets.patch | 0 .../722-phy_mvswitch.patch | 0 .../723-phy_ip175c.patch | 0 .../724-phy_ar8216.patch | 0 .../725-phy_rtl8306.patch | 0 .../726-phy_rtl8366.patch | 0 .../727-phy-rtl8367.patch | 0 .../728-phy-rtl8367b.patch | 0 .../729-phy-tantos.patch | 0 .../730-phy_b53.patch | 0 .../732-phy-ar8216-led-support.patch | 0 .../733-phy_mvsw61xx.patch | 0 ...-at803x-allow-to-configure-via-pdata.patch | 0 ...net-phy-at803x-fix-at8033-sgmii-mode.patch | 0 .../760-8139cp-fixes-from-4.3.patch | 0 .../773-bgmac-add-srab-switch.patch | 0 .../785-hso-support-0af0-9300.patch | 0 .../810-pci_disable_common_quirks.patch | 0 .../811-pci_disable_usb_common_quirks.patch | 0 .../821-usb-dwc2-dualrole.patch | 0 .../831-ledtrig_netdev.patch | 0 .../834-ledtrig-libata.patch | 0 .../840-rtc7301.patch | 0 .../841-rtc_pt7c4338.patch | 0 .../861-04_spi_gpio_implement_spi_delay.patch | 0 .../862-gpio_spi_driver.patch | 0 .../870-hifn795x_byteswap.patch | 0 .../890-8250_optional_sysrq.patch | 0 .../901-debloat_sock_diag.patch | 0 .../902-debloat_proc.patch | 0 .../904-debloat_dma_buf.patch | 0 .../910-kobject_uevent.patch | 0 .../911-kobject_add_broadcast_uevent.patch | 0 .../921-use_preinit_as_init.patch | 0 ...ays-create-console-node-in-initramfs.patch | 0 .../930-crashlog.patch | 0 ...e-filenames-from-deps_initramfs-list.patch | 0 .../980-arm_openwrt_machtypes.patch | 0 .../990-gpio_wdt.patch | 0 .../995-mangle_bootargs.patch | 0 .../997-device_tree_cmdline.patch | 0 ...able_wilink_platform_without_drivers.patch | 0 .../999-seccomp_log.patch | 0 .../001-mtdsplit_backport.patch | 0 .../002-phy_drivers_backport.patch | 0 .../003-myloader_backport.patch | 0 ...dcode-path-to-awk-in-scripts-ld-vers.patch | 0 .../020-bcma-from-4.5.patch | 0 .../021-bcma-from-4.6.patch | 0 .../022-bcma-from-4.8.patch | 0 .../023-bcma-from-4.9.patch | 0 .../025-bcma-from-4.11.patch | 0 .../026-bcma-from-4.12.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...skb_cow_head-to-deal-with-cloned-skb.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...kb_cow_head-to-deal-with-cloned-skbs.patch | 0 ...l-add-batch-ability-to-fq_codel_drop.patch | 0 ...odel-add-memory-limitation-per-queue.patch | 0 ...fq_codel-fix-memory-limitation-drift.patch | 0 ...35-fq_codel-fix-NET_XMIT_CN-behavior.patch | 0 ...ude-mtd.h-header-for-struct-mtd_info.patch | 0 ...h-use-ioremap_cache-instead-of-KSEG0.patch | 0 ...endency-for-MTD_BCM47XXSFLASH-symbol.patch | 0 ...h-use-uncached-MMIO-access-for-BCM53.patch | 0 ...flash-use-platform_-set-get-_drvdata.patch | 0 ...h-support-reading-flash-out-of-mappi.patch | 0 ...move-TRX-parsing-code-to-separated-f.patch | 0 ...support-layouts-with-multiple-TRX-pa.patch | 0 ...mx25l3205d-mx25l6405d-append-SECT_4K.patch | 0 ...80-add-support-for-mmap-read-request.patch | 0 ...nce-error-output-if-MS_SILENT-is-set.patch | 0 ...ence-early-error-if-MS_SILENT-is-set.patch | 0 ...i-nor-backport-SPI_NOR_HAS_LOCK-flag.patch | 0 .../050-backport_netfilter_rtcache.patch | 0 ...001-ovl-rename-is_merge-to-is_lowest.patch | 0 ...ds-with-the-ones-from-the-superblock.patch | 0 ...1-0005-ovl-proper-cleanup-of-workdir.patch | 0 .../052-01-ubifs-Implement-O_TMPFILE.patch | 0 ...2-02-ubifs-Implement-RENAME_WHITEOUT.patch | 0 ...2-03-ubifs-Implement-RENAME_EXCHANGE.patch | 0 ...fs-Use-move-variable-in-ubifs_rename.patch | 0 ...imit-and-delta-fields-from-struct-ub.patch | 0 ...writeback_interval-value-for-wbuf-ti.patch | 0 .../060-mips_decompressor_memmove.patch | 0 ...061-softirq-let-ksoftirqd-do-its-job.patch | 0 ...bgmac-clarify-CONFIG_BCMA-dependency.patch | 0 ...-checking-for-BCM4707-BCM53018-chip-.patch | 0 ...port-Ethernet-device-on-BCM47094-SoC.patch | 0 ...fix-MAC-soft-reset-bit-for-corerev-4.patch | 0 ...device-with-backing-device-structure.patch | 0 ...c-Add-support-for-ethtool-statistics.patch | 0 ...gmac-Maintain-some-netdev-statistics.patch | 0 ...ac-use-phydev-from-struct-net_device.patch | 0 ...ac-change-bgmac_-prints-to-dev_-prin.patch | 0 ...t-ethernet-bgmac-add-dma_dev-pointer.patch | 0 ...ac-move-BCMA-MDIO-Phy-code-into-a-se.patch | 0 ...ernet-bgmac-convert-to-feature-flags.patch | 0 ...et-bgmac-Add-platform-device-support.patch | 0 ...ac-Fix-return-value-check-in-bgmac_p.patch | 0 ...ac-Remove-redundant-dev_err-call-in-.patch | 0 ...versed-check-for-MII-registration-er.patch | 0 ...pport-Ethernet-core-on-BCM53573-SoCs.patch | 0 ...t-clear-when-setting-interface-type-.patch | 0 ...-bgmac-Fix-errant-feature-flag-check.patch | 0 ...pelling-mistake-connecton-connection.patch | 0 ...versed-checks-for-clock-control-flag.patch | 0 ...rsion-of-alloc_etherdev_mqs-function.patch | 0 ...te-struct-bgmac-just-once-don-t-copy.patch | 0 ...truct-bcma_mdio-we-don-t-need-anymor.patch | 0 ...e-PHY-subsystem-for-initializing-PHY.patch | 0 ...ET-PHY-adds-driver-for-lantiq-PHY11G.patch | 0 ...-phy-update-Broadcom-drivers-to-v4.5.patch | 0 ...-phy-update-Broadcom-drivers-to-v4.6.patch | 0 ...ick-Broadcom-drivers-updates-from-v4.patch | 0 ...adcom-drivers-updates-from-net-next-.patch | 0 ...celerated-read-support-for-spi-flash.patch | 0 ...spi_flash_read-callback-for-MMIO-bas.patch | 0 ...core-let-USB-device-know-device-node.patch | 0 ...usb_alloc_dev-fix-setting-of-portnum.patch | 0 ...vm_-clk_hw_-register-unregister-APIs.patch | 0 ...0002-clk-Add-clk_hw-OF-clk-providers.patch | 0 ...ore-Introduce-a-USB-port-LED-trigger.patch | 0 ...-Use-proper-LED-API-to-fix-potential.patch | 0 ...B-ports-from-DT-in-the-usbport-LED-t.patch | 0 ...-Set-of_node-for-created-LED-devices.patch | 0 ...leds-gpio-introduce-gpio_blink_set_t.patch | 0 ...-to-managed-version-of-led_classdev_.patch | 0 ...-variants-of-LED-registering-functio.patch | 0 ...-variant-of-LED-registering-function.patch | 0 ...al-Add-devm-version-of-thermal_zone_.patch | 0 ...-export-apis-to-get-slope-and-offset.patch | 0 ...5-add-thermal-driver-for-bcm2835-SoC.patch | 0 ...roadcom-add-Northstar-thermal-driver.patch | 0 ...-fix-compilation-of-Northstar-driver.patch | 0 .../087-regmap-make-LZO-cache-optional.patch | 0 ...e-IPI-calls-for-CM-indexed-cache-ops.patch | 0 ...4k-Exclude-sibling-CPUs-in-SMP-calls.patch | 0 ...appended-dtb-to-the-end-of-the-kerne.patch | 0 ...e-appended-dtb-address-in-a-variable.patch | 0 ...ize-calc-when-avoiding-IPIs-for-smal.patch | 0 .../096-arc-add-model-property-in-dts.patch | 0 .../097-MIPS-io.h-Define-ioremap_cache.patch | 0 ...98-usb-dwc2-Remove-unnecessary-kfree.patch | 0 ...fix-cache-flushing-for-highmem-pages.patch | 0 .../102-ehci_hcd_ignore_oc.patch | 0 ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 0 .../105-add-linux-spidev-compatible.patch | 0 ..._value_cansleep-for-setting-chipsele.patch | 0 ...ame2-and-add-RENAME_WHITEOUT-support.patch | 0 ...11-jffs2-add-RENAME_EXCHANGE-support.patch | 0 ...ge_allow_receiption_on_disabled_port.patch | 0 .../132-mips_inline_dma_ops.patch | 0 ...-generic-parsing-of-linux-part-probe.patch | 0 ...support-for-ESMT_f25l32qa-and-ESMT_f.patch | 0 ...dget-udc-net2280-add-usb2380-support.patch | 0 ...-serial-console-directly-from-ChipCo.patch | 0 .../200-fix_localversion.patch | 0 .../201-extra_optimization.patch | 0 .../202-reduce_module_size.patch | 0 .../203-kallsyms_uncompressed.patch | 0 .../204-module_strip.patch | 0 .../205-backtrace_module_info.patch | 0 .../206-mips-disable-vdso.patch | 0 ...-mips-vdso-dbg-rebuild-after-genvdso.patch | 0 .../208-disable-modorder.patch | 0 .../210-darwin_scripts_include.patch | 0 .../211-sign-file-libressl.patch | 0 .../212-byteshift_portability.patch | 0 .../214-spidev_h_portability.patch | 0 .../220-gc_sections.patch | 0 .../221-module_exports.patch | 0 .../222-arm_zimage_none.patch | 0 .../230-openwrt_lzma_options.patch | 0 .../250-netfilter_depends.patch | 0 .../251-sound_kconfig.patch | 0 .../252-mv_cesa_depends.patch | 0 .../253-ssb_b43_default_on.patch | 0 .../254-textsearch_kconfig_hacks.patch | 0 .../255-lib80211_kconfig_hacks.patch | 0 .../256-crypto_add_kconfig_prompts.patch | 0 .../257-wireless_ext_kconfig_hack.patch | 0 .../258-netfilter_netlink_kconfig_hack.patch | 0 .../259-regmap_dynamic.patch | 0 .../260-crypto_test_dependencies.patch | 0 ...libc-specific-inclusion-of-sysinfo.h.patch | 0 ...bc-compat.h-do-not-rely-on-__GLIBC__.patch | 0 ...prevent-redefinition-of-struct-ethhd.patch | 0 .../280-rfkill-stubs.patch | 0 .../300-mips_expose_boot_raw.patch | 0 .../301-mips_image_cmdline_hack.patch | 0 .../302-mips_no_branch_likely.patch | 0 .../304-mips_disable_fpu.patch | 0 .../305-mips_module_reloc.patch | 0 .../306-mips_mem_functions_performance.patch | 0 .../307-mips_highmem_offset.patch | 0 .../308-mips32r2_tune.patch | 0 .../310-arm_module_unresolved_weak_sym.patch | 0 .../320-ppc4xx_optimization.patch | 0 .../321-powerpc_crtsavres_prereq.patch | 0 ...t-command-line-parameters-from-users.patch | 0 ...31-arc-remove-dependency-on-DEVTMPFS.patch | 0 .../332-arc-add-OWRTDTB-section.patch | 0 ...able-unaligned-access-in-kernel-mode.patch | 0 .../400-mtd-add-rootfs-split-support.patch | 0 ...for-different-partition-parser-types.patch | 0 ...arsers-for-rootfs-and-firmware-split.patch | 0 .../403-mtd-hook-mtdsplit-to-Kbuild.patch | 0 .../404-mtd-add-more-helper-functions.patch | 0 ...rward-declaration-of-struct-mtd_info.patch | 0 .../411-mtd-partial_eraseblock_write.patch | 0 .../412-mtd-partial_eraseblock_unlock.patch | 0 .../420-mtd-redboot_space.patch | 0 ...30-mtd-add-myloader-partition-parser.patch | 0 ...check-for-bad-blocks-when-calculatin.patch | 0 ...bcm47xxpart-detect-T_Meter-partition.patch | 0 .../440-block2mtd_init.patch | 0 .../441-block2mtd_probe.patch | 0 ...-to-use-platform-specific-chip-fixup.patch | 0 ...n-code-of-nand_correct_data-function.patch | 0 ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 0 ...et_0002-add-buffer-write-cmd-timeout.patch | 0 ...25p80-mx-disable-software-protection.patch | 0 ...mtd-spi-nor-add-macronix-mx25u25635f.patch | 0 .../476-mtd-spi-nor-add-eon-en25q128.patch | 0 .../477-mtd-add-spi-nor-add-mx25u3235f.patch | 0 ...479-enable_mtd_has_lock_for_f25l32pa.patch | 0 .../480-mtd-set-rootfs-to-be-root-dev.patch | 0 ...mtd-device-named-ubi-or-data-on-boot.patch | 0 ...to-create-ubiblock-device-for-rootfs.patch | 0 ...ting-ubi0-rootfs-in-init-do_mounts.c.patch | 0 ...ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 0 .../494-mtd-ubi-add-EOF-marker-support.patch | 0 .../530-jffs2_make_lzma_available.patch | 0 .../531-debloat_lzma.patch | 0 .../532-jffs2_eofdetect.patch | 0 ...fs-fix-default-compression-selection.patch | 0 .../600-netfilter_conntrack_flush.patch | 0 ...etfilter_match_bypass_default_checks.patch | 0 ...netfilter_match_bypass_default_table.patch | 0 ...netfilter_match_reduce_memory_access.patch | 0 ...-netfilter_optional_tcp_window_check.patch | 0 .../616-net_optimize_xfrm_calls.patch | 0 .../630-packet_socket_type.patch | 0 .../640-bridge_no_eap_forward.patch | 0 .../641-bridge_always_accept_eap.patch | 0 .../642-bridge_port_isolate.patch | 0 .../645-bridge_multicast_to_unicast.patch | 0 .../650-pppoe_header_pad.patch | 0 .../651-wireless_mesh_header.patch | 0 .../653-disable_netlink_trim.patch | 0 .../655-increase_skb_pad.patch | 0 .../660-fq_codel_defaults.patch | 0 .../661-fq_codel_keep_dropped_stats.patch | 0 .../662-use_fq_codel_by_default.patch | 0 .../663-remove_pfifo_fast.patch | 0 ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 0 ...ng-with-source-address-failed-policy.patch | 0 ...nes-for-_POLICY_FAILED-until-all-cod.patch | 0 ...T-skip-GRO-for-foreign-MAC-addresses.patch | 0 .../681-NET-add-of_get_mac_address_mtd.patch | 0 .../700-swconfig.patch | 0 .../701-phy_extension.patch | 0 .../702-phy_add_aneg_done_function.patch | 0 ...detach-callback-to-struct-phy_driver.patch | 0 .../704-phy-no-genphy-soft-reset.patch | 0 ...710-phy-add-mdio_register_board_info.patch | 0 .../720-phy_adm6996.patch | 0 .../721-phy_packets.patch | 0 .../722-phy_mvswitch.patch | 0 .../723-phy_ip175c.patch | 0 .../724-phy_ar8216.patch | 0 .../725-phy_rtl8306.patch | 0 .../726-phy_rtl8366.patch | 0 .../727-phy-rtl8367.patch | 0 .../728-phy-rtl8367b.patch | 0 .../729-phy-tantos.patch | 0 .../730-phy_b53.patch | 0 .../732-phy-ar8216-led-support.patch | 0 .../733-phy_mvsw61xx.patch | 0 ...-at803x-allow-to-configure-via-pdata.patch | 0 ...net-phy-at803x-fix-at8033-sgmii-mode.patch | 0 .../736-at803x-fix-reset-handling.patch | 0 ...equest-reset-GPIO-only-for-AT8030-PH.patch | 0 ...nly-the-AT8030-needs-a-hardware-rese.patch | 0 ...et-phy-at803x-add-support-for-AT8032.patch | 0 .../773-bgmac-add-srab-switch.patch | 0 .../810-pci_disable_common_quirks.patch | 0 .../811-pci_disable_usb_common_quirks.patch | 0 ...ove-annoying-warning-about-bogus-URB.patch | 0 .../831-ledtrig_netdev.patch | 0 .../834-ledtrig-libata.patch | 0 .../835-misc-owl_loader.patch | 0 .../840-rtc7301.patch | 0 .../841-rtc_pt7c4338.patch | 0 .../861-04_spi_gpio_implement_spi_delay.patch | 0 .../862-gpio_spi_driver.patch | 0 .../890-uart_optional_sysrq.patch | 0 .../901-debloat_sock_diag.patch | 0 .../902-debloat_proc.patch | 0 .../904-debloat_dma_buf.patch | 0 .../910-kobject_uevent.patch | 0 .../911-kobject_add_broadcast_uevent.patch | 0 .../921-use_preinit_as_init.patch | 0 ...ays-create-console-node-in-initramfs.patch | 0 .../930-crashlog.patch | 0 ...e-filenames-from-deps_initramfs-list.patch | 0 .../995-mangle_bootargs.patch | 0 ...able_wilink_platform_without_drivers.patch | 0 ...fix-cache-flushing-for-highmem-pages.patch | 3 +- .../110-ehci_hcd_ignore_oc.patch | 5 +- ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 6 +- ...0-add-linux-spidev-compatible-si3210.patch | 12 +- ..._value_cansleep-for-setting-chipsele.patch | 5 +- ...ame2-and-add-RENAME_WHITEOUT-support.patch | 3 +- ...41-jffs2-add-RENAME_EXCHANGE-support.patch | 3 +- ...ge_allow_receiption_on_disabled_port.patch | 0 ...-generic-parsing-of-linux-part-probe.patch | 4 +- ...ontrollers-before-the-specified-head.patch | 1 - ...et-phy-at803x-add-support-for-AT8032.patch | 3 +- .../pending-4.9/201-extra_optimization.patch | 37 + .../203-kallsyms_uncompressed.patch | 116 +- .../205-backtrace_module_info.patch | 20 +- .../206-mips-disable-vdso.patch | 12 +- ...e-filenames-from-deps_initramfs-list.patch | 27 +- ...able_wilink_platform_without_drivers.patch | 25 + ...libc-specific-inclusion-of-sysinfo.h.patch | 4 +- ...bc-compat.h-do-not-rely-on-__GLIBC__.patch | 4 +- ...prevent-redefinition-of-struct-ethhd.patch | 4 +- .../300-mips_expose_boot_raw.patch | 1 + .../302-mips_no_branch_likely.patch | 27 + .../304-mips_disable_fpu.patch | 2 - .../305-mips_module_reloc.patch | 26 +- .../306-mips_mem_functions_performance.patch | 51 +- .../pending-4.9/307-mips_highmem_offset.patch | 24 + .../308-mips32r2_tune.patch | 14 +- .../310-arm_module_unresolved_weak_sym.patch | 27 + ...t-command-line-parameters-from-users.patch | 5 +- .../332-arc-add-OWRTDTB-section.patch | 4 +- ...able-unaligned-access-in-kernel-mode.patch | 4 +- .../400-mtd-add-rootfs-split-support.patch | 28 +- ...for-different-partition-parser-types.patch | 4 +- ...arsers-for-rootfs-and-firmware-split.patch | 21 +- .../403-mtd-hook-mtdsplit-to-Kbuild.patch | 17 + .../404-mtd-add-more-helper-functions.patch | 48 +- .../411-mtd-partial_eraseblock_write.patch | 23 +- .../412-mtd-partial_eraseblock_unlock.patch | 45 + .../420-mtd-redboot_space.patch | 18 +- ...30-mtd-add-myloader-partition-parser.patch | 19 + ...check-for-bad-blocks-when-calculatin.patch | 7 +- ...bcm47xxpart-detect-T_Meter-partition.patch | 7 +- .../440-block2mtd_init.patch | 31 +- .../441-block2mtd_probe.patch | 21 +- ...mtd-cfi_cmdset_0002-no-erase_suspend.patch | 30 + ...et_0002-add-buffer-write-cmd-timeout.patch | 3 +- ...25p80-mx-disable-software-protection.patch | 23 + .../476-mtd-spi-nor-add-eon-en25q128.patch | 15 +- .../477-mtd-add-spi-nor-add-mx25u3235f.patch | 15 +- .../480-mtd-set-rootfs-to-be-root-dev.patch | 17 + ...mtd-device-named-ubi-or-data-on-boot.patch | 5 +- ...to-create-ubiblock-device-for-rootfs.patch | 5 +- ...ting-ubi0-rootfs-in-init-do_mounts.c.patch | 5 +- ...ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 5 +- .../494-mtd-ubi-add-EOF-marker-support.patch | 18 +- .../530-jffs2_make_lzma_available.patch | 112 +- .../532-jffs2_eofdetect.patch | 22 +- ...fs-fix-default-compression-selection.patch | 15 +- .../600-netfilter_conntrack_flush.patch | 18 +- ...etfilter_match_bypass_default_checks.patch | 28 +- ...netfilter_match_bypass_default_table.patch | 15 +- ...netfilter_match_reduce_memory_access.patch | 13 + ...-netfilter_optional_tcp_window_check.patch | 17 +- .../616-net_optimize_xfrm_calls.patch | 25 + .../630-packet_socket_type.patch | 37 +- .../pending-4.9/650-pppoe_header_pad.patch | 34 + .../pending-4.9/655-increase_skb_pad.patch | 25 + ...Add-support-for-MAP-E-FMRs-mesh-mode.patch | 26 +- ...ng-with-source-address-failed-policy.patch | 18 +- ...nes-for-_POLICY_FAILED-until-all-cod.patch | 5 +- ...T-skip-GRO-for-foreign-MAC-addresses.patch | 91 +- .../681-NET-add-of_get_mac_address_mtd.patch | 1 - .../701-phy_extension.patch | 20 +- ...detach-callback-to-struct-phy_driver.patch | 45 + .../704-phy-no-genphy-soft-reset.patch | 19 +- ...-at803x-allow-to-configure-via-pdata.patch | 29 +- ...net-phy-at803x-fix-at8033-sgmii-mode.patch | 20 +- .../810-pci_disable_common_quirks.patch | 24 +- .../811-pci_disable_usb_common_quirks.patch | 30 +- ...ove-annoying-warning-about-bogus-URB.patch | 4 +- .../pending-4.9/831-ledtrig_netdev.patch | 81 + .../834-ledtrig-libata.patch | 6 +- .../pending-4.9/890-uart_optional_sysrq.patch | 47 + .../920-mangle_bootargs.patch | 60 +- 747 files changed, 3961 insertions(+), 2917 deletions(-) rename target/linux/generic/{patches-4.9 => backport-4.9}/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch (60%) rename target/linux/generic/{patches-4.9 => backport-4.9}/011-kbuild-export-SUBARCH.patch (52%) rename target/linux/generic/{patches-4.9 => backport-4.9}/020-backport_netfilter_rtcache.patch (90%) rename target/linux/generic/{patches-4.9 => backport-4.9}/021-bridge-multicast-to-unicast.patch (99%) rename target/linux/generic/{patches-4.9 => backport-4.9}/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/050-usb-dwc2-Remove-unnecessary-kfree.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch (94%) rename target/linux/generic/{patches-4.9 => backport-4.9}/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch (98%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch (99%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch (98%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/070-bcma-from-4.11.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/072-bcma-from-4.12.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch (100%) rename target/linux/generic/{patches-4.9 => backport-4.9}/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch (100%) rename target/linux/generic/{patches-4.4 => backport-4.9}/087-regmap-make-LZO-cache-optional.patch (100%) create mode 100644 target/linux/generic/hack-4.9/202-reduce_module_size.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/204-module_strip.patch (79%) rename target/linux/generic/{patches-4.9 => hack-4.9}/207-disable-modorder.patch (58%) rename target/linux/generic/{patches-4.9 => hack-4.9}/210-darwin_scripts_include.patch (99%) create mode 100644 target/linux/generic/hack-4.9/211-host_tools_portability.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/212-byteshift_portability.patch (52%) create mode 100644 target/linux/generic/hack-4.9/214-spidev_h_portability.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/220-gc_sections.patch (89%) rename target/linux/generic/{patches-4.9 => hack-4.9}/221-module_exports.patch (73%) rename target/linux/generic/{patches-4.9 => hack-4.9}/230-openwrt_lzma_options.patch (68%) rename target/linux/generic/{patches-4.9 => hack-4.9}/250-netfilter_depends.patch (61%) create mode 100644 target/linux/generic/hack-4.9/251-sound_kconfig.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/259-regmap_dynamic.patch (68%) rename target/linux/generic/{patches-4.9 => hack-4.9}/260-crypto_test_dependencies.patch (66%) rename target/linux/generic/{patches-4.9 => hack-4.9}/280-rfkill-stubs.patch (70%) create mode 100644 target/linux/generic/hack-4.9/301-mips_image_cmdline_hack.patch create mode 100644 target/linux/generic/hack-4.9/321-powerpc_crtsavres_prereq.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/531-debloat_lzma.patch (87%) rename target/linux/generic/{patches-4.9 => hack-4.9}/640-bridge-only-accept-EAP-locally.patch (56%) rename target/linux/generic/{patches-4.9 => hack-4.9}/641-bridge_port_isolate.patch (61%) create mode 100644 target/linux/generic/hack-4.9/651-wireless_mesh_header.patch create mode 100644 target/linux/generic/hack-4.9/660-fq_codel_defaults.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/661-use_fq_codel_by_default.patch (62%) rename target/linux/generic/{patches-4.9 => hack-4.9}/662-remove_pfifo_fast.patch (86%) rename target/linux/generic/{patches-4.9 => hack-4.9}/700-swconfig_switch_drivers.patch (82%) rename target/linux/generic/{patches-4.9 => hack-4.9}/710-phy-add-mdio_register_board_info.patch (100%) rename target/linux/generic/{patches-4.9 => hack-4.9}/721-phy_packets.patch (68%) rename target/linux/generic/{patches-4.9 => hack-4.9}/773-bgmac-add-srab-switch.patch (66%) create mode 100644 target/linux/generic/hack-4.9/835-misc-owl_loader.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/901-debloat_sock_diag.patch (61%) rename target/linux/generic/{patches-4.9 => hack-4.9}/902-debloat_proc.patch (68%) rename target/linux/generic/{patches-4.9 => hack-4.9}/904-debloat_dma_buf.patch (59%) create mode 100644 target/linux/generic/hack-4.9/910-kobject_uevent.patch rename target/linux/generic/{patches-4.9 => hack-4.9}/911-kobject_add_broadcast_uevent.patch (57%) rename target/linux/generic/{patches-4.9 => hack-4.9}/921-always-create-console-node-in-initramfs.patch (56%) rename target/linux/generic/{patches-4.9 => hack-4.9}/930-crashlog.patch (80%) delete mode 100644 target/linux/generic/patches-4.9/200-fix_localversion.patch delete mode 100644 target/linux/generic/patches-4.9/201-extra_optimization.patch delete mode 100644 target/linux/generic/patches-4.9/202-reduce_module_size.patch delete mode 100644 target/linux/generic/patches-4.9/211-host_tools_portability.patch delete mode 100644 target/linux/generic/patches-4.9/214-spidev_h_portability.patch delete mode 100644 target/linux/generic/patches-4.9/222-arm_zimage_none.patch delete mode 100644 target/linux/generic/patches-4.9/251-sound_kconfig.patch delete mode 100644 target/linux/generic/patches-4.9/252-mv_cesa_depends.patch delete mode 100644 target/linux/generic/patches-4.9/253-ssb_b43_default_on.patch delete mode 100644 target/linux/generic/patches-4.9/254-textsearch_kconfig_hacks.patch delete mode 100644 target/linux/generic/patches-4.9/255-lib80211_kconfig_hacks.patch delete mode 100644 target/linux/generic/patches-4.9/256-crypto_add_kconfig_prompts.patch delete mode 100644 target/linux/generic/patches-4.9/257-wireless_ext_kconfig_hack.patch delete mode 100644 target/linux/generic/patches-4.9/258-netfilter_netlink_kconfig_hack.patch delete mode 100644 target/linux/generic/patches-4.9/261-enable_wilink_platform_without_drivers.patch delete mode 100644 target/linux/generic/patches-4.9/301-mips_image_cmdline_hack.patch delete mode 100644 target/linux/generic/patches-4.9/302-mips_no_branch_likely.patch delete mode 100644 target/linux/generic/patches-4.9/307-mips_highmem_offset.patch delete mode 100644 target/linux/generic/patches-4.9/310-arm_module_unresolved_weak_sym.patch delete mode 100644 target/linux/generic/patches-4.9/321-powerpc_crtsavres_prereq.patch delete mode 100644 target/linux/generic/patches-4.9/410-mtd-move-forward-declaration-of-struct-mtd_info.patch delete mode 100644 target/linux/generic/patches-4.9/412-mtd-partial_eraseblock_unlock.patch delete mode 100644 target/linux/generic/patches-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch delete mode 100644 target/linux/generic/patches-4.9/465-m25p80-mx-disable-software-protection.patch delete mode 100644 target/linux/generic/patches-4.9/616-net_optimize_xfrm_calls.patch delete mode 100644 target/linux/generic/patches-4.9/650-pppoe_header_pad.patch delete mode 100644 target/linux/generic/patches-4.9/651-wireless_mesh_header.patch delete mode 100644 target/linux/generic/patches-4.9/655-increase_skb_pad.patch delete mode 100644 target/linux/generic/patches-4.9/660-fq_codel_defaults.patch delete mode 100644 target/linux/generic/patches-4.9/702-phy_add_aneg_done_function.patch delete mode 100644 target/linux/generic/patches-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch delete mode 100644 target/linux/generic/patches-4.9/831-ledtrig_netdev.patch delete mode 100644 target/linux/generic/patches-4.9/835-misc-owl_loader.patch delete mode 100644 target/linux/generic/patches-4.9/840-rtc7301.patch delete mode 100644 target/linux/generic/patches-4.9/841-rtc_pt7c4338.patch delete mode 100644 target/linux/generic/patches-4.9/890-uart_optional_sysrq.patch delete mode 100644 target/linux/generic/patches-4.9/910-kobject_uevent.patch rename target/linux/generic/{patches-3.18 => pending-3.18}/001-mtdsplit_backport.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/002-phy_drivers_backport.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/003-myloader_backport.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/020-ssb_update.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/021-ssb_sprom.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/025-bcma_backport.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/026-bcma-from-3.20.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/027-bcma-from-4.1.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/028-bcma-from-4.2.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/029-bcma-from-4.4.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/030-backport_bcm47xx_nvram.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/030-nl80211-Allow-set-network-namespace-by-fd.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/031-bcma-from-4.5.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/032-bcma-from-4.6.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/040-mtd-bcm47xxpart-backports-from-3.19.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/041-mtd-bcm47xxpart-backports-from-3.20.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/043-mtd_GD25Q128B_support_backport_from_3.19.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/044-backport-m25p80-jedec-probe.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/050-backport_netfilter_rtcache.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/060-mips_decompressor_memmove.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/070-bgmac-register-napi-before-the-device.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/073-bgmac-Clean-warning-messages.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/076-net-phy-export-fixed_phy_register.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-02-bgmac-implement-GRO-and-use-build_skb.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-03-bgmac-implement-scatter-gather-support.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-04-bgmac-simplify-tx-ring-index-handling.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-07-bgmac-simplify-rx-DMA-error-handling.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-08-bgmac-add-check-for-oversized-packets.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-10-bgmac-simplify-dma-init-cleanup.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-11-bgmac-fix-DMA-rx-corruption.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/077-12-bgmac-drop-ring-num_slots.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-05-fib_trie-Merge-leaf-into-tnode.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-07-fib_trie-Optimize-fib_find_node.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-08-fib_trie-Optimize-fib_table_insert.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/081-02-pppoe-Lacks-DST-MAC-address-check.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/083-solos-pci-Increase-headroom-on-received-packets.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/087-regmap-make-LZO-cache-optional.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/090-overlayfs-fallback-to-readonly-when-full.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/102-ehci_hcd_ignore_oc.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/111-jffs2-add-RENAME_EXCHANGE-support.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/120-bridge_allow_receiption_on_disabled_port.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/132-mips_inline_dma_ops.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/200-fix_localversion.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/201-extra_optimization.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/202-reduce_module_size.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/203-kallsyms_uncompressed.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/204-module_strip.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/205-backtrace_module_info.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/210-darwin_scripts_include.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/212-byteshift_portability.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/213-x86_vdso_portability.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/214-spidev_h_portability.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/220-gc_sections.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/221-module_exports.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/230-openwrt_lzma_options.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/250-netfilter_depends.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/251-sound_kconfig.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/252-mv_cesa_depends.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/253-ssb_b43_default_on.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/254-textsearch_kconfig_hacks.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/255-lib80211_kconfig_hacks.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/256-crypto_add_kconfig_prompts.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/257-wireless_ext_kconfig_hack.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/258-netfilter_netlink_kconfig_hack.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/259-regmap_dynamic.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/260-crypto_test_dependencies.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/300-mips_expose_boot_raw.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/301-mips_image_cmdline_hack.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/302-mips_no_branch_likely.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/304-mips_disable_fpu.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/305-mips_module_reloc.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/306-mips_mem_functions_performance.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/307-mips_highmem_offset.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/310-arm_module_unresolved_weak_sym.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/320-ppc4xx_optimization.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/321-powerpc_crtsavres_prereq.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/400-mtd-add-rootfs-split-support.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/401-mtd-add-support-for-different-partition-parser-types.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/403-mtd-hook-mtdsplit-to-Kbuild.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/404-mtd-add-more-helper-functions.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/405-mtd-old-firmware-uimage-splitter.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/406-mtd-old-rootfs-squashfs-splitter.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/410-mtd-move-forward-declaration-of-struct-mtd_info.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/411-mtd-partial_eraseblock_write.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/412-mtd-partial_eraseblock_unlock.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/420-mtd-redboot_space.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/430-mtd-add-myloader-partition-parser.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/440-block2mtd_init.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/441-block2mtd_probe.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/475-mtd-spi-nor-add-macronix-mx25u25635f.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/480-mtd-set-rootfs-to-be-root-dev.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/491-ubi-auto-create-ubiblock-device-for-rootfs.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/494-mtd-ubi-add-EOF-marker-support.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/530-jffs2_make_lzma_available.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/531-debloat_lzma.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/532-jffs2_eofdetect.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/550-ubifs-symlink-xattr-support.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/551-ubifs-fix-default-compression-selection.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/600-netfilter_conntrack_flush.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/610-netfilter_match_bypass_default_checks.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/611-netfilter_match_bypass_default_table.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/612-netfilter_match_reduce_memory_access.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/613-netfilter_optional_tcp_window_check.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/616-net_optimize_xfrm_calls.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/621-sched_act_connmark.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/630-packet_socket_type.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/640-bridge_no_eap_forward.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/641-bridge_always_accept_eap.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/642-bridge_port_isolate.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/645-bridge_multicast_to_unicast.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/650-pppoe_header_pad.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/651-wireless_mesh_header.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/653-disable_netlink_trim.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/655-increase_skb_pad.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/656-skb_reduce_truesize-helper.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/657-qdisc_reduce_truesize.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/660-fq_codel_defaults.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/661-fq_codel_keep_dropped_stats.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/662-use_fq_codel_by_default.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/663-remove_pfifo_fast.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/667-ipv6-Fixed-source-specific-default-route-handling.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/680-NET-skip-GRO-for-foreign-MAC-addresses.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/681-NET-add-of_get_mac_address_mtd.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/700-swconfig.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/701-phy_extension.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/702-phy_add_aneg_done_function.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/703-phy-add-detach-callback-to-struct-phy_driver.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/704-phy-no-genphy-soft-reset.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/710-phy-add-mdio_register_board_info.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/720-phy_adm6996.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/721-phy_packets.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/722-phy_mvswitch.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/723-phy_ip175c.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/724-phy_ar8216.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/725-phy_rtl8306.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/726-phy_rtl8366.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/727-phy-rtl8367.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/728-phy-rtl8367b.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/729-phy-tantos.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/730-phy_b53.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/732-phy-ar8216-led-support.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/733-phy_mvsw61xx.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/734-net-phy-at803x-allow-to-configure-via-pdata.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/735-net-phy-at803x-fix-at8033-sgmii-mode.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/760-8139cp-fixes-from-4.3.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/773-bgmac-add-srab-switch.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/785-hso-support-0af0-9300.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/810-pci_disable_common_quirks.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/811-pci_disable_usb_common_quirks.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/821-usb-dwc2-dualrole.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/831-ledtrig_netdev.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/834-ledtrig-libata.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/840-rtc7301.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/841-rtc_pt7c4338.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/861-04_spi_gpio_implement_spi_delay.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/862-gpio_spi_driver.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/870-hifn795x_byteswap.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/890-8250_optional_sysrq.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/901-debloat_sock_diag.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/902-debloat_proc.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/904-debloat_dma_buf.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/910-kobject_uevent.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/911-kobject_add_broadcast_uevent.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/921-use_preinit_as_init.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/922-always-create-console-node-in-initramfs.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/930-crashlog.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/970-remove-unsane-filenames-from-deps_initramfs-list.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/980-arm_openwrt_machtypes.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/990-gpio_wdt.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/995-mangle_bootargs.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/997-device_tree_cmdline.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/998-enable_wilink_platform_without_drivers.patch (100%) rename target/linux/generic/{patches-3.18 => pending-3.18}/999-seccomp_log.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/001-mtdsplit_backport.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/002-phy_drivers_backport.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/003-myloader_backport.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/020-bcma-from-4.5.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/021-bcma-from-4.6.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/022-bcma-from-4.8.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/023-bcma-from-4.9.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/025-bcma-from-4.11.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/026-bcma-from-4.12.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/033-fq_codel-add-memory-limitation-per-queue.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/034-fq_codel-fix-memory-limitation-drift.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/035-fq_codel-fix-NET_XMIT_CN-behavior.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/050-backport_netfilter_rtcache.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/051-0001-ovl-rename-is_merge-to-is_lowest.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/051-0005-ovl-proper-cleanup-of-workdir.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/052-01-ubifs-Implement-O_TMPFILE.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/052-02-ubifs-Implement-RENAME_WHITEOUT.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/052-03-ubifs-Implement-RENAME_EXCHANGE.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/060-mips_decompressor_memmove.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/061-softirq-let-ksoftirqd-do-its-job.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/080-spi-introduce-accelerated-read-support-for-spi-flash.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/082-0001-USB-core-let-USB-device-know-device-node.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/083-0002-clk-Add-clk_hw-OF-clk-providers.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch (100%) rename target/linux/generic/{patches-4.9 => pending-4.4}/087-regmap-make-LZO-cache-optional.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/096-arc-add-model-property-in-dts.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/097-MIPS-io.h-Define-ioremap_cache.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/098-usb-dwc2-Remove-unnecessary-kfree.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/101-MIPS-fix-cache-flushing-for-highmem-pages.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/102-ehci_hcd_ignore_oc.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/105-add-linux-spidev-compatible.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/111-jffs2-add-RENAME_EXCHANGE-support.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/120-bridge_allow_receiption_on_disabled_port.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/132-mips_inline_dma_ops.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/160-usb-gadget-udc-net2280-add-usb2380-support.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/200-fix_localversion.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/201-extra_optimization.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/202-reduce_module_size.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/203-kallsyms_uncompressed.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/204-module_strip.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/205-backtrace_module_info.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/206-mips-disable-vdso.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/207-mips-vdso-dbg-rebuild-after-genvdso.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/208-disable-modorder.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/210-darwin_scripts_include.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/211-sign-file-libressl.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/212-byteshift_portability.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/214-spidev_h_portability.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/220-gc_sections.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/221-module_exports.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/222-arm_zimage_none.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/230-openwrt_lzma_options.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/250-netfilter_depends.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/251-sound_kconfig.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/252-mv_cesa_depends.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/253-ssb_b43_default_on.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/254-textsearch_kconfig_hacks.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/255-lib80211_kconfig_hacks.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/256-crypto_add_kconfig_prompts.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/257-wireless_ext_kconfig_hack.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/258-netfilter_netlink_kconfig_hack.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/259-regmap_dynamic.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/260-crypto_test_dependencies.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/280-rfkill-stubs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/300-mips_expose_boot_raw.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/301-mips_image_cmdline_hack.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/302-mips_no_branch_likely.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/304-mips_disable_fpu.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/305-mips_module_reloc.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/306-mips_mem_functions_performance.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/307-mips_highmem_offset.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/308-mips32r2_tune.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/310-arm_module_unresolved_weak_sym.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/320-ppc4xx_optimization.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/321-powerpc_crtsavres_prereq.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/331-arc-remove-dependency-on-DEVTMPFS.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/332-arc-add-OWRTDTB-section.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/333-arc-enable-unaligned-access-in-kernel-mode.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/400-mtd-add-rootfs-split-support.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/401-mtd-add-support-for-different-partition-parser-types.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/403-mtd-hook-mtdsplit-to-Kbuild.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/404-mtd-add-more-helper-functions.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/410-mtd-move-forward-declaration-of-struct-mtd_info.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/411-mtd-partial_eraseblock_write.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/412-mtd-partial_eraseblock_unlock.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/420-mtd-redboot_space.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/430-mtd-add-myloader-partition-parser.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/440-block2mtd_init.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/441-block2mtd_probe.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/465-m25p80-mx-disable-software-protection.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/475-mtd-spi-nor-add-macronix-mx25u25635f.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/476-mtd-spi-nor-add-eon-en25q128.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/477-mtd-add-spi-nor-add-mx25u3235f.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/479-enable_mtd_has_lock_for_f25l32pa.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/480-mtd-set-rootfs-to-be-root-dev.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/491-ubi-auto-create-ubiblock-device-for-rootfs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/494-mtd-ubi-add-EOF-marker-support.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/530-jffs2_make_lzma_available.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/531-debloat_lzma.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/532-jffs2_eofdetect.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/551-ubifs-fix-default-compression-selection.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/600-netfilter_conntrack_flush.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/610-netfilter_match_bypass_default_checks.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/611-netfilter_match_bypass_default_table.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/612-netfilter_match_reduce_memory_access.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/613-netfilter_optional_tcp_window_check.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/616-net_optimize_xfrm_calls.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/630-packet_socket_type.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/640-bridge_no_eap_forward.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/641-bridge_always_accept_eap.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/642-bridge_port_isolate.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/645-bridge_multicast_to_unicast.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/650-pppoe_header_pad.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/651-wireless_mesh_header.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/653-disable_netlink_trim.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/655-increase_skb_pad.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/660-fq_codel_defaults.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/661-fq_codel_keep_dropped_stats.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/662-use_fq_codel_by_default.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/663-remove_pfifo_fast.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/680-NET-skip-GRO-for-foreign-MAC-addresses.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/681-NET-add-of_get_mac_address_mtd.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/700-swconfig.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/701-phy_extension.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/702-phy_add_aneg_done_function.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/703-phy-add-detach-callback-to-struct-phy_driver.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/704-phy-no-genphy-soft-reset.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/710-phy-add-mdio_register_board_info.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/720-phy_adm6996.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/721-phy_packets.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/722-phy_mvswitch.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/723-phy_ip175c.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/724-phy_ar8216.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/725-phy_rtl8306.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/726-phy_rtl8366.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/727-phy-rtl8367.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/728-phy-rtl8367b.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/729-phy-tantos.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/730-phy_b53.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/732-phy-ar8216-led-support.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/733-phy_mvsw61xx.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/734-net-phy-at803x-allow-to-configure-via-pdata.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/735-net-phy-at803x-fix-at8033-sgmii-mode.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/736-at803x-fix-reset-handling.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/739-net-phy-at803x-add-support-for-AT8032.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/773-bgmac-add-srab-switch.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/810-pci_disable_common_quirks.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/811-pci_disable_usb_common_quirks.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/821-usb-Remove-annoying-warning-about-bogus-URB.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/831-ledtrig_netdev.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/834-ledtrig-libata.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/835-misc-owl_loader.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/840-rtc7301.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/841-rtc_pt7c4338.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/861-04_spi_gpio_implement_spi_delay.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/862-gpio_spi_driver.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/890-uart_optional_sysrq.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/901-debloat_sock_diag.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/902-debloat_proc.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/904-debloat_dma_buf.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/910-kobject_uevent.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/911-kobject_add_broadcast_uevent.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/921-use_preinit_as_init.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/922-always-create-console-node-in-initramfs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/930-crashlog.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/970-remove-unsane-filenames-from-deps_initramfs-list.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/995-mangle_bootargs.patch (100%) rename target/linux/generic/{patches-4.4 => pending-4.4}/998-enable_wilink_platform_without_drivers.patch (100%) rename target/linux/generic/{patches-4.9 => pending-4.9}/100-MIPS-fix-cache-flushing-for-highmem-pages.patch (89%) rename target/linux/generic/{patches-4.9 => pending-4.9}/110-ehci_hcd_ignore_oc.patch (93%) rename target/linux/generic/{patches-4.9 => pending-4.9}/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch (95%) rename target/linux/generic/{patches-4.9 => pending-4.9}/130-add-linux-spidev-compatible-si3210.patch (55%) rename target/linux/generic/{patches-4.9 => pending-4.9}/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch (72%) rename target/linux/generic/{patches-4.9 => pending-4.9}/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch (93%) rename target/linux/generic/{patches-4.9 => pending-4.9}/141-jffs2-add-RENAME_EXCHANGE-support.patch (96%) rename target/linux/generic/{patches-4.9 => pending-4.9}/150-bridge_allow_receiption_on_disabled_port.patch (100%) rename target/linux/generic/{patches-4.9 => pending-4.9}/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch (96%) rename target/linux/generic/{patches-4.9 => pending-4.9}/170-MIPS-PCI-add-controllers-before-the-specified-head.patch (96%) rename target/linux/generic/{patches-4.9 => pending-4.9}/180-net-phy-at803x-add-support-for-AT8032.patch (95%) create mode 100644 target/linux/generic/pending-4.9/201-extra_optimization.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/203-kallsyms_uncompressed.patch (69%) rename target/linux/generic/{patches-4.9 => pending-4.9}/205-backtrace_module_info.patch (54%) rename target/linux/generic/{patches-4.9 => pending-4.9}/206-mips-disable-vdso.patch (58%) rename target/linux/generic/{patches-4.9 => pending-4.9}/240-remove-unsane-filenames-from-deps_initramfs-list.patch (58%) create mode 100644 target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch (85%) rename target/linux/generic/{patches-4.9 => pending-4.9}/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch (95%) rename target/linux/generic/{patches-4.9 => pending-4.9}/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch (91%) rename target/linux/generic/{patches-4.9 => pending-4.9}/300-mips_expose_boot_raw.patch (95%) create mode 100644 target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/304-mips_disable_fpu.patch (97%) rename target/linux/generic/{patches-4.9 => pending-4.9}/305-mips_module_reloc.patch (88%) rename target/linux/generic/{patches-4.9 => pending-4.9}/306-mips_mem_functions_performance.patch (66%) create mode 100644 target/linux/generic/pending-4.9/307-mips_highmem_offset.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/308-mips32r2_tune.patch (69%) create mode 100644 target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch (97%) rename target/linux/generic/{patches-4.9 => pending-4.9}/332-arc-add-OWRTDTB-section.patch (93%) rename target/linux/generic/{patches-4.9 => pending-4.9}/333-arc-enable-unaligned-access-in-kernel-mode.patch (81%) rename target/linux/generic/{patches-4.9 => pending-4.9}/400-mtd-add-rootfs-split-support.patch (72%) rename target/linux/generic/{patches-4.9 => pending-4.9}/401-mtd-add-support-for-different-partition-parser-types.patch (93%) rename target/linux/generic/{patches-4.9 => pending-4.9}/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch (67%) rename target/linux/generic/{patches-4.9 => pending-4.9}/403-mtd-hook-mtdsplit-to-Kbuild.patch (51%) rename target/linux/generic/{patches-4.9 => pending-4.9}/404-mtd-add-more-helper-functions.patch (67%) rename target/linux/generic/{patches-4.9 => pending-4.9}/411-mtd-partial_eraseblock_write.patch (81%) create mode 100644 target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/420-mtd-redboot_space.patch (60%) rename target/linux/generic/{patches-4.9 => pending-4.9}/430-mtd-add-myloader-partition-parser.patch (69%) rename target/linux/generic/{patches-4.9 => pending-4.9}/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch (92%) rename target/linux/generic/{patches-4.9 => pending-4.9}/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch (81%) rename target/linux/generic/{patches-4.9 => pending-4.9}/440-block2mtd_init.patch (71%) rename target/linux/generic/{patches-4.9 => pending-4.9}/441-block2mtd_probe.patch (62%) create mode 100644 target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch (82%) create mode 100644 target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/476-mtd-spi-nor-add-eon-en25q128.patch (55%) rename target/linux/generic/{patches-4.9 => pending-4.9}/477-mtd-add-spi-nor-add-mx25u3235f.patch (53%) rename target/linux/generic/{patches-4.9 => pending-4.9}/480-mtd-set-rootfs-to-be-root-dev.patch (58%) rename target/linux/generic/{patches-4.9 => pending-4.9}/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch (89%) rename target/linux/generic/{patches-4.9 => pending-4.9}/491-ubi-auto-create-ubiblock-device-for-rootfs.patch (88%) rename target/linux/generic/{patches-4.9 => pending-4.9}/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch (81%) rename target/linux/generic/{patches-4.9 => pending-4.9}/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch (81%) rename target/linux/generic/{patches-4.9 => pending-4.9}/494-mtd-ubi-add-EOF-marker-support.patch (64%) rename target/linux/generic/{patches-4.9 => pending-4.9}/530-jffs2_make_lzma_available.patch (97%) rename target/linux/generic/{patches-4.9 => pending-4.9}/532-jffs2_eofdetect.patch (69%) rename target/linux/generic/{patches-4.9 => pending-4.9}/551-ubifs-fix-default-compression-selection.patch (64%) rename target/linux/generic/{patches-4.9 => pending-4.9}/600-netfilter_conntrack_flush.patch (77%) rename target/linux/generic/{patches-4.9 => pending-4.9}/610-netfilter_match_bypass_default_checks.patch (70%) rename target/linux/generic/{patches-4.9 => pending-4.9}/611-netfilter_match_bypass_default_table.patch (87%) rename target/linux/generic/{patches-4.9 => pending-4.9}/612-netfilter_match_reduce_memory_access.patch (60%) rename target/linux/generic/{patches-4.9 => pending-4.9}/613-netfilter_optional_tcp_window_check.patch (65%) create mode 100644 target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/630-packet_socket_type.patch (70%) create mode 100644 target/linux/generic/pending-4.9/650-pppoe_header_pad.patch create mode 100644 target/linux/generic/pending-4.9/655-increase_skb_pad.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch (94%) rename target/linux/generic/{patches-4.9 => pending-4.9}/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch (93%) rename target/linux/generic/{patches-4.9 => pending-4.9}/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch (85%) rename target/linux/generic/{patches-4.9 => pending-4.9}/680-NET-skip-GRO-for-foreign-MAC-addresses.patch (71%) rename target/linux/generic/{patches-4.9 => pending-4.9}/681-NET-add-of_get_mac_address_mtd.patch (98%) rename target/linux/generic/{patches-4.9 => pending-4.9}/701-phy_extension.patch (72%) create mode 100644 target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/704-phy-no-genphy-soft-reset.patch (55%) rename target/linux/generic/{patches-4.9 => pending-4.9}/734-net-phy-at803x-allow-to-configure-via-pdata.patch (74%) rename target/linux/generic/{patches-4.9 => pending-4.9}/735-net-phy-at803x-fix-at8033-sgmii-mode.patch (63%) rename target/linux/generic/{patches-4.9 => pending-4.9}/810-pci_disable_common_quirks.patch (66%) rename target/linux/generic/{patches-4.9 => pending-4.9}/811-pci_disable_usb_common_quirks.patch (73%) rename target/linux/generic/{patches-4.9 => pending-4.9}/821-usb-Remove-annoying-warning-about-bogus-URB.patch (94%) create mode 100644 target/linux/generic/pending-4.9/831-ledtrig_netdev.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/834-ledtrig-libata.patch (94%) create mode 100644 target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch rename target/linux/generic/{patches-4.9 => pending-4.9}/920-mangle_bootargs.patch (63%) 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 similarity index 60% rename from target/linux/generic/patches-4.9/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch rename to 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 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 --- + 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 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 similarity index 52% rename from target/linux/generic/patches-4.9/011-kbuild-export-SUBARCH.patch rename to 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 +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 +--- + 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 similarity index 90% rename from target/linux/generic/patches-4.9/020-backport_netfilter_rtcache.patch rename to 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 +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 +--- + 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 /* 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 +{ + 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 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 # 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 +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Florian Westphal "); +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 similarity index 99% rename from target/linux/generic/patches-4.9/021-bridge-multicast-to-unicast.patch rename to 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 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 similarity index 100% rename from target/linux/generic/patches-4.9/022-net-add-devm-version-of-alloc_etherdev_mqs-function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/023-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/023-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/023-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/030-01-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/030-02-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/050-usb-dwc2-Remove-unnecessary-kfree.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/060-0002-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/060-0003-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/060-0004-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/060-0005-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/061-v4.10-0001-mtd-spi-nor-add-Macronix-mx25u25635f-to-list-of-know.patch rename to 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 similarity index 94% rename from target/linux/generic/patches-4.9/061-v4.10-0002-mtd-spi-nor-fix-spansion-quad-enable.patch rename to 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 --- 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 similarity index 100% rename from target/linux/generic/patches-4.9/061-v4.10-0003-mtd-spi-nor-fix-flags-for-s25fl128s.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/061-v4.10-0004-mtd-spi-nor-add-support-for-s25fl208k.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/061-v4.10-0005-mtd-spi-nor-Add-at25df321-spi-nor-flash-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/061-v4.10-0006-mtd-spi-nor-Add-support-for-N25Q016A.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/061-v4.10-0007-mtd-spi-nor-Add-support-for-mr25h40.patch rename to 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 similarity index 98% rename from target/linux/generic/patches-4.9/062-v4.11-0001-mtd-spi-nor-Add-support-for-S3AN-spi-nor-devices.patch rename to 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 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 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 * 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 similarity index 100% rename from target/linux/generic/patches-4.9/062-v4.11-0002-mtd-spi-nor-improve-macronix_quad_enable.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/062-v4.11-0003-mtd-spi-nor-remove-WARN_ONCE-message-in-spi_nor_writ.patch rename to 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 similarity index 99% rename from target/linux/generic/patches-4.9/062-v4.11-0004-mtd-spi-nor-rename-SPINOR_OP_-macros-of-the-4-byte-a.patch rename to 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 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 similarity index 98% rename from target/linux/generic/patches-4.9/062-v4.11-0005-mtd-spi-nor-add-a-stateless-method-to-support-memory.patch rename to 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 /* 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 similarity index 100% rename from target/linux/generic/patches-4.9/062-v4.11-0006-mtd-spi-nor-Add-lock-unlock-support-for-f25l32pa.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/062-v4.11-0007-mtd-spi-nor-Fix-S3AN-addressing-calculation.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/062-v4.11-0008-mtd-spi-nor-Add-support-for-gd25q16.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/063-mtd-spi-nor-enable-stateless-4b-op-codes-for-mx25u25.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/064-v4.11-0001-mtd-introduce-function-max_bad_blocks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/064-v4.11-0002-mtd-Add-partition-device-node-to-mtd-partition-devic.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0001-mtd-handle-partitioning-on-devices-with-0-erasesize.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0002-mtd-partitions-factor-out-code-calling-parser.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0003-mtd-partitions-add-helper-for-deleting-partition.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0004-mtd-partitions-remove-sysfs-files-when-deleting-all-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0005-mtd-partitions-rename-master-to-the-parent-where-app.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0006-mtd-partitions-add-support-for-subpartitions.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0007-mtd-partitions-add-support-for-partition-parsers.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/065-v4.13-0008-mtd-extract-TRX-parser-out-of-bcm47xxpart-into-a-sep.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/070-bcma-from-4.11.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/071-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/071-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/071-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/072-bcma-from-4.12.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/075-v4.10-0001-net-phy-broadcom-Update-Auxiliary-Control-Register-m.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/075-v4.10-0002-net-phy-broadcom-Add-support-for-BCM54612E.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/075-v4.10-0003-net-phy-broadcom-add-bcm54xx_auxctl_read.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/075-v4.10-0004-net-phy-broadcom-Add-BCM54810-PHY-entry.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/075-v4.10-0005-net-phy-broadcom-Move-bcm54xx_auxctl_-read-write-to-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/076-v4.11-0001-net-phy-broadcom-Allow-enabling-or-disabling-of-EEE.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/076-v4.11-0002-net-phy-broadcom-Add-support-code-for-reading-PHY-co.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/076-v4.11-0003-net-phy-bcm7xxx-Add-entry-for-BCM7278.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/076-v4.11-0004-net-phy-bcm7xxx-Implement-EGPHY-workaround-for-7278.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/076-v4.11-0006-net-phy-broadcom-add-support-for-BCM54210E.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/076-v4.11-0007-net-phy-broadcom-rehook-BCM54612E-specific-init.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/080-0001-leds-core-add-OF-variants-of-LED-registering-functio.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/080-0002-leds-gpio-use-OF-variant-of-LED-registering-function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/081-0001-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/081-0002-thermal-broadcom-add-Northstar-thermal-driver.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/082-0001-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/087-regmap-make-LZO-cache-optional.patch rename to 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 +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 +--- + 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 similarity index 79% rename from target/linux/generic/patches-4.9/204-module_strip.patch rename to 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 -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 --- + 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 /* 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 #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 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 #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 #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 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 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 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 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 } 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 \n"); buf_printf(b, "#include \n"); buf_printf(b, "\n"); @@ -148,7 +167,7 @@ Signed-off-by: Felix Fietkau 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 } /* 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 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 similarity index 58% rename from target/linux/generic/patches-4.9/207-disable-modorder.patch rename to 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 +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 --- + 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 @$(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 @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 $(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 similarity index 99% rename from target/linux/generic/patches-4.9/210-darwin_scripts_include.patch rename to 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 +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 +--- + 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 - #include - #include -+#ifndef __APPLE__ - #include -+#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 - #include - #include -+#if !(defined(__APPLE__) || defined(__CYGWIN__)) - #include -+#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 + #include + #include ++#ifndef __APPLE__ + #include ++#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 + #include + #include ++#if !(defined(__APPLE__) || defined(__CYGWIN__)) + #include ++#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 +Date: Fri, 7 Jul 2017 17:02:03 +0200 +Subject: kernel: fix linux 4.9 host tools portability issues + +Signed-off-by: Felix Fietkau +--- + 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 + #include + #include ++#include + #include + #include + #include +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 + #include "jsmn.h" + #include "json.h" +-#include + + + 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 similarity index 52% rename from target/linux/generic/patches-4.9/212-byteshift_portability.patch rename to 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 +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 +--- + 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 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 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 +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 +--- + 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 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 similarity index 89% rename from target/linux/generic/patches-4.9/220-gc_sections.patch rename to 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 - -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 Signed-off-by: Jonas Gorski Signed-off-by: Gabor Juhos --- + 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 __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 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 similarity index 73% rename from target/linux/generic/patches-4.9/221-module_exports.patch rename to 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 +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 +--- + 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 similarity index 68% rename from target/linux/generic/patches-4.9/230-openwrt_lzma_options.patch rename to 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 +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 +--- + 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 similarity index 61% rename from target/linux/generic/patches-4.9/250-netfilter_depends.patch rename to 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 +Subject: hack: net: remove bogus netfilter dependencies + +lede-commit: 589d2a377dee27d206fc3725325309cf649e4df6 +Signed-off-by: Felix Fietkau +--- + 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 +Date: Fri, 7 Jul 2017 17:09:21 +0200 +Subject: kconfig: owrt specifc dependencies + +Signed-off-by: John Crispin +--- + 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 similarity index 68% rename from target/linux/generic/patches-4.9/259-regmap_dynamic.patch rename to 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 +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 +--- + 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 similarity index 66% rename from target/linux/generic/patches-4.9/260-crypto_test_dependencies.patch rename to 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 +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 +--- + 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 similarity index 70% rename from target/linux/generic/patches-4.9/280-rfkill-stubs.patch rename to 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 +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 +--- + 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 +Subject: hack: kernel: add generic image_cmdline hack to MIPS targets + +lede-commit: d59f5b3a987a48508257a0ddbaeadc7909f9f976 +Signed-off-by: Gabor Juhos +--- + 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" +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 +--- + 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 similarity index 87% rename from target/linux/generic/patches-4.9/531-debloat_lzma.patch rename to 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 +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 +--- + 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,729 +223,830 @@ #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; - } +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 @@ --void LzmaEncProps_Normalize(CLzmaEncProps *p) -+static void LzmaEncProps_Normalize(CLzmaEncProps *p) + #define kStartMaxLen 3 + ++#if 0 ++#define DIRECT_INPUT p->directInput ++#else ++#define DIRECT_INPUT 1 ++#endif ++ + static void LzInWindow_Free(CMatchFinder *p, ISzAlloc *alloc) { - int level = p->level; - if (level < 0) level = 5; -@@ -76,7 +76,7 @@ void LzmaEncProps_Normalize(CLzmaEncProp - #endif +- if (!p->directInput) ++ if (!DIRECT_INPUT) + { + alloc->Free(alloc, p->bufferBase); + p->bufferBase = 0; +@@ -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; +- if (p->directInput) ++ if (DIRECT_INPUT) + { + p->blockSize = blockSize; + return 1; +@@ -42,12 +48,12 @@ static int LzInWindow_Create(CMatchFinder *p, UInt32 keepSizeReserv, ISzAlloc *a + return (p->bufferBase != 0); } --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 +-Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p) { return p->buffer; } +-Byte MatchFinder_GetIndexByte(CMatchFinder *p, Int32 index) { return p->buffer[index]; } ++static Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p) { return p->buffer; } ++static Byte MatchFinder_GetIndexByte(CMatchFinder *p, Int32 index) { return p->buffer[index]; } - #define BSR2_RET(pos, res) { unsigned long i; _BitScanReverse(&i, (pos)); res = (i + i) + ((pos >> (i - 1)) & 1); } +-UInt32 MatchFinder_GetNumAvailableBytes(CMatchFinder *p) { return p->streamPos - p->pos; } ++static UInt32 MatchFinder_GetNumAvailableBytes(CMatchFinder *p) { return p->streamPos - p->pos; } --UInt32 GetPosSlot1(UInt32 pos) -+static UInt32 GetPosSlot1(UInt32 pos) +-void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue) ++static void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue) { - 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) + p->posLimit -= subValue; + p->pos -= subValue; +@@ -58,7 +64,7 @@ static void MatchFinder_ReadBlock(CMatchFinder *p) + { + if (p->streamEndWasReached || p->result != SZ_OK) + return; +- if (p->directInput) ++ if (DIRECT_INPUT) + { + UInt32 curSize = 0xFFFFFFFF - p->streamPos; + if (curSize > p->directInputRem) +@@ -89,7 +95,7 @@ static void MatchFinder_ReadBlock(CMatchFinder *p) + } + } --void LzmaEnc_FastPosInit(Byte *g_FastPos) -+static void LzmaEnc_FastPosInit(Byte *g_FastPos) +-void MatchFinder_MoveBlock(CMatchFinder *p) ++static void MatchFinder_MoveBlock(CMatchFinder *p) { - int c = 2, slotFast; - g_FastPos[0] = 0; -@@ -339,58 +339,6 @@ typedef struct - CSaveState saveState; - } CLzmaEnc; + memmove(p->bufferBase, + p->buffer - p->keepSizeBefore, +@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder *p) + p->buffer = p->bufferBase + p->keepSizeBefore; + } --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) +-int MatchFinder_NeedMove(CMatchFinder *p) ++static int MatchFinder_NeedMove(CMatchFinder *p) + { +- if (p->directInput) ++ if (DIRECT_INPUT) + return 0; + /* if (p->streamEndWasReached) return 0; */ + return ((size_t)(p->bufferBase + p->blockSize - p->buffer) <= p->keepSizeAfter); + } + +-void MatchFinder_ReadIfRequired(CMatchFinder *p) -{ -- 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)); +- if (p->streamEndWasReached) +- return; +- if (p->keepSizeAfter >= p->streamPos - p->pos) +- MatchFinder_ReadBlock(p); -} - - SRes LzmaEnc_SetProps(CLzmaEncHandle pp, const CLzmaEncProps *props2) + static void MatchFinder_CheckAndMoveAndRead(CMatchFinder *p) { - CLzmaEnc *p = (CLzmaEnc *)pp; -@@ -600,7 +548,7 @@ static void LitEnc_EncodeMatched(CRangeE - while (symbol < 0x10000); + if (MatchFinder_NeedMove(p)) +@@ -268,7 +266,7 @@ static void MatchFinder_SetLimits(CMatchFinder *p) + p->posLimit = p->pos + limit; } --void LzmaEnc_InitPriceTables(UInt32 *ProbPrices) -+static void LzmaEnc_InitPriceTables(UInt32 *ProbPrices) +-void MatchFinder_Init(CMatchFinder *p) ++static void MatchFinder_Init(CMatchFinder *p) { 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; + for (i = 0; i < p->hashSizeSum; i++) +@@ -287,7 +285,7 @@ static UInt32 MatchFinder_GetSubValue(CMatchFinder *p) + return (p->pos - p->historySize - 1) & kNormalizeMask; } --void LzmaEnc_Init(CLzmaEnc *p) -+static void LzmaEnc_Init(CLzmaEnc *p) +-void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems) ++static void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems) { 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; + for (i = 0; i < numItems; i++) +@@ -319,38 +317,7 @@ static void MatchFinder_CheckLimits(CMatchFinder *p) + MatchFinder_SetLimits(p); } --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) +-static UInt32 * Hc_GetMatchesSpec(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, +- UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue, +- UInt32 *distances, UInt32 maxLen) -{ -- CLzmaEnc *p = (CLzmaEnc *)pp; -- p->matchFinderBase.stream = inStream; -- p->needInit = 1; -- return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig); +- son[_cyclicBufferPos] = curMatch; +- for (;;) +- { +- UInt32 delta = pos - curMatch; +- if (cutValue-- == 0 || delta >= _cyclicBufferSize) +- return distances; +- { +- const Byte *pb = cur - delta; +- curMatch = son[_cyclicBufferPos - delta + ((delta > _cyclicBufferPos) ? _cyclicBufferSize : 0)]; +- if (pb[maxLen] == cur[maxLen] && *pb == *cur) +- { +- UInt32 len = 0; +- while (++len != lenLimit) +- if (pb[len] != cur[len]) +- break; +- if (maxLen < len) +- { +- *distances++ = maxLen = len; +- *distances++ = delta - 1; +- if (len == lenLimit) +- return distances; +- } +- } +- } +- } -} - - static void LzmaEnc_SetInputBuf(CLzmaEnc *p, const Byte *src, SizeT srcLen) +-UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, ++static UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, + UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue, + UInt32 *distances, UInt32 maxLen) { - p->matchFinderBase.directInput = 1; -@@ -2064,7 +1992,7 @@ static void LzmaEnc_SetInputBuf(CLzmaEnc - p->matchFinderBase.directInputRem = srcLen; - } +@@ -460,10 +427,10 @@ static void SkipMatchesSpec(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const + p->buffer++; \ + if (++p->pos == p->posLimit) MatchFinder_CheckLimits(p); --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); - } +-#define MOVE_POS_RET MOVE_POS return offset; +- + static void MatchFinder_MovePos(CMatchFinder *p) { MOVE_POS; } --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; - } ++#define MOVE_POS_RET MatchFinder_MovePos(p); return offset; ++ + #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(CMatchFinder *p) { MOVE_POS; } + distances + offset, maxLen) - distances); MOVE_POS_RET; + #define SKIP_FOOTER \ +- SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); MOVE_POS; - --UInt32 LzmaEnc_GetNumAvailableBytes(CLzmaEncHandle pp) +-static UInt32 Bt2_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ -- const CLzmaEnc *p = (CLzmaEnc *)pp; -- return p->matchFinder.GetNumAvailableBytes(p->matchFinderObj); +- UInt32 offset; +- GET_MATCHES_HEADER(2) +- HASH2_CALC; +- curMatch = p->hash[hashValue]; +- p->hash[hashValue] = p->pos; +- offset = 0; +- GET_MATCHES_FOOTER(offset, 1) -} - --const Byte *LzmaEnc_GetCurBuf(CLzmaEncHandle pp) +-UInt32 Bt3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ -- const CLzmaEnc *p = (CLzmaEnc *)pp; -- return p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - p->additionalOffset; +- UInt32 offset; +- GET_MATCHES_HEADER(3) +- HASH_ZIP_CALC; +- curMatch = p->hash[hashValue]; +- p->hash[hashValue] = p->pos; +- offset = 0; +- GET_MATCHES_FOOTER(offset, 2) -} - --SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, Bool reInit, -- Byte *dest, size_t *destLen, UInt32 desiredPackSize, UInt32 *unpackSize) +-static UInt32 Bt3_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ -- 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; +- UInt32 hash2Value, delta2, maxLen, offset; +- GET_MATCHES_HEADER(3) - -- if (reInit) -- LzmaEnc_Init(p); -- LzmaEnc_InitPrices(p); -- nowPos64 = p->nowPos64; -- RangeEnc_Init(&p->rc); -- p->rc.outStream = &outStream.funcTable; +- HASH3_CALC; - -- res = LzmaEnc_CodeOneBlock(p, True, desiredPackSize, *unpackSize); +- delta2 = p->pos - p->hash[hash2Value]; +- curMatch = p->hash[kFix3HashSize + hashValue]; - -- *unpackSize = (UInt32)(p->nowPos64 - nowPos64); -- *destLen -= outStream.rem; -- if (outStream.overflow) -- return SZ_ERROR_OUTPUT_EOF; +- p->hash[hash2Value] = +- p->hash[kFix3HashSize + hashValue] = p->pos; - -- 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); +- maxLen = 2; +- offset = 0; +- if (delta2 < p->cyclicBufferSize && *(cur - delta2) == *cur) +- { +- for (; maxLen != lenLimit; maxLen++) +- if (cur[(ptrdiff_t)maxLen - delta2] != cur[maxLen]) +- break; +- distances[0] = maxLen; +- distances[1] = delta2 - 1; +- offset = 2; +- if (maxLen == lenLimit) +- { +- SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); +- MOVE_POS_RET; +- } +- } +- GET_MATCHES_FOOTER(offset, maxLen) -} -- - SRes LzmaEnc_WriteProperties(CLzmaEncHandle pp, Byte *props, SizeT *size) ++ SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); MatchFinder_MovePos(p); + + static UInt32 Bt4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) { - CLzmaEnc *p = (CLzmaEnc *)pp; -@@ -2247,25 +2121,3 @@ SRes LzmaEnc_MemEncode(CLzmaEncHandle pp - return SZ_ERROR_OUTPUT_EOF; - return res; +@@ -583,108 +495,6 @@ static UInt32 Bt4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) + GET_MATCHES_FOOTER(offset, maxLen) } + +-static UInt32 Hc4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) +-{ +- UInt32 hash2Value, hash3Value, delta2, delta3, maxLen, offset; +- GET_MATCHES_HEADER(4) - --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) +- HASH4_CALC; +- +- delta2 = p->pos - p->hash[ hash2Value]; +- delta3 = p->pos - p->hash[kFix3HashSize + hash3Value]; +- curMatch = p->hash[kFix4HashSize + hashValue]; +- +- p->hash[ hash2Value] = +- p->hash[kFix3HashSize + hash3Value] = +- p->hash[kFix4HashSize + hashValue] = p->pos; +- +- maxLen = 1; +- offset = 0; +- if (delta2 < p->cyclicBufferSize && *(cur - delta2) == *cur) +- { +- distances[0] = maxLen = 2; +- distances[1] = delta2 - 1; +- offset = 2; +- } +- if (delta2 != delta3 && delta3 < p->cyclicBufferSize && *(cur - delta3) == *cur) +- { +- maxLen = 3; +- distances[offset + 1] = delta3 - 1; +- offset += 2; +- delta2 = delta3; +- } +- if (offset != 0) +- { +- for (; maxLen != lenLimit; maxLen++) +- if (cur[(ptrdiff_t)maxLen - delta2] != cur[maxLen]) +- break; +- distances[offset - 2] = maxLen; +- if (maxLen == lenLimit) +- { +- p->son[p->cyclicBufferPos] = curMatch; +- MOVE_POS_RET; +- } +- } +- if (maxLen < 3) +- maxLen = 3; +- offset = (UInt32)(Hc_GetMatchesSpec(lenLimit, curMatch, MF_PARAMS(p), +- distances + offset, maxLen) - (distances)); +- MOVE_POS_RET +-} +- +-UInt32 Hc3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) -{ -- CLzmaEnc *p = (CLzmaEnc *)LzmaEnc_Create(alloc); -- SRes res; -- if (p == 0) -- return SZ_ERROR_MEM; +- UInt32 offset; +- GET_MATCHES_HEADER(3) +- HASH_ZIP_CALC; +- curMatch = p->hash[hashValue]; +- p->hash[hashValue] = p->pos; +- offset = (UInt32)(Hc_GetMatchesSpec(lenLimit, curMatch, MF_PARAMS(p), +- distances, 2) - (distances)); +- MOVE_POS_RET +-} - -- res = LzmaEnc_SetProps(p, props); -- if (res == SZ_OK) +-static void Bt2_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-{ +- do - { -- res = LzmaEnc_WriteProperties(p, propsEncoded, propsSize); -- if (res == SZ_OK) -- res = LzmaEnc_MemEncode(p, dest, destLen, src, srcLen, -- writeEndMark, progress, alloc, allocBig); +- SKIP_HEADER(2) +- HASH2_CALC; +- curMatch = p->hash[hashValue]; +- p->hash[hashValue] = p->pos; +- SKIP_FOOTER - } +- while (--num != 0); +-} - -- LzmaEnc_Destroy(p, alloc, allocBig); -- return res; +-void Bt3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-{ +- do +- { +- SKIP_HEADER(3) +- HASH_ZIP_CALC; +- curMatch = p->hash[hashValue]; +- p->hash[hashValue] = p->pos; +- SKIP_FOOTER +- } +- while (--num != 0); -} ---- 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); +-static void Bt3_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-{ +- do +- { +- UInt32 hash2Value; +- SKIP_HEADER(3) +- HASH3_CALC; +- curMatch = p->hash[kFix3HashSize + hashValue]; +- p->hash[hash2Value] = +- p->hash[kFix3HashSize + hashValue] = p->pos; +- SKIP_FOOTER +- } +- while (--num != 0); +-} - --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); + static void Bt4_MatchFinder_Skip(CMatchFinder *p, UInt32 num) + { + do +@@ -701,61 +511,12 @@ static void Bt4_MatchFinder_Skip(CMatchFinder *p, UInt32 num) + while (--num != 0); + } --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); +-static void Hc4_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-{ +- do +- { +- UInt32 hash2Value, hash3Value; +- SKIP_HEADER(4) +- HASH4_CALC; +- curMatch = p->hash[kFix4HashSize + hashValue]; +- p->hash[ hash2Value] = +- p->hash[kFix3HashSize + hash3Value] = +- p->hash[kFix4HashSize + hashValue] = p->pos; +- p->son[p->cyclicBufferPos] = curMatch; +- MOVE_POS +- } +- while (--num != 0); +-} - - #ifdef __cplusplus +-void Hc3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-{ +- do +- { +- SKIP_HEADER(3) +- HASH_ZIP_CALC; +- curMatch = p->hash[hashValue]; +- p->hash[hashValue] = p->pos; +- p->son[p->cyclicBufferPos] = curMatch; +- MOVE_POS +- } +- while (--num != 0); +-} +- + void MatchFinder_CreateVTable(CMatchFinder *p, IMatchFinder *vTable) + { + vTable->Init = (Mf_Init_Func)MatchFinder_Init; + vTable->GetIndexByte = (Mf_GetIndexByte_Func)MatchFinder_GetIndexByte; + vTable->GetNumAvailableBytes = (Mf_GetNumAvailableBytes_Func)MatchFinder_GetNumAvailableBytes; + vTable->GetPointerToCurrentPos = (Mf_GetPointerToCurrentPos_Func)MatchFinder_GetPointerToCurrentPos; +- if (!p->btMode) +- { +- vTable->GetMatches = (Mf_GetMatches_Func)Hc4_MatchFinder_GetMatches; +- vTable->Skip = (Mf_Skip_Func)Hc4_MatchFinder_Skip; +- } +- else if (p->numHashBytes == 2) +- { +- vTable->GetMatches = (Mf_GetMatches_Func)Bt2_MatchFinder_GetMatches; +- vTable->Skip = (Mf_Skip_Func)Bt2_MatchFinder_Skip; +- } +- else if (p->numHashBytes == 3) +- { +- vTable->GetMatches = (Mf_GetMatches_Func)Bt3_MatchFinder_GetMatches; +- vTable->Skip = (Mf_Skip_Func)Bt3_MatchFinder_Skip; +- } +- else +- { +- vTable->GetMatches = (Mf_GetMatches_Func)Bt4_MatchFinder_GetMatches; +- vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip; +- } ++ 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; } - #endif ---- a/lib/lzma/LzFind.c -+++ b/lib/lzma/LzFind.c -@@ -14,9 +14,15 @@ - - #define kStartMaxLen 3 -+#if 0 -+#define DIRECT_INPUT p->directInput -+#else -+#define DIRECT_INPUT 1 -+#endif -+ - static void LzInWindow_Free(CMatchFinder *p, ISzAlloc *alloc) +-void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState) ++static void LzmaDec_InitDicAndState(CLzmaDec *p, Bool initDic, Bool initState) { -- if (!p->directInput) -+ if (!DIRECT_INPUT) - { - alloc->Free(alloc, p->bufferBase); - p->bufferBase = 0; -@@ -28,7 +34,7 @@ static void LzInWindow_Free(CMatchFinder - static int LzInWindow_Create(CMatchFinder *p, UInt32 keepSizeReserv, ISzAlloc *alloc) + 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) { - UInt32 blockSize = p->keepSizeBefore + p->keepSizeAfter + keepSizeReserv; -- if (p->directInput) -+ if (DIRECT_INPUT) - { - p->blockSize = blockSize; - return 1; -@@ -42,12 +48,12 @@ static int LzInWindow_Create(CMatchFinde - return (p->bufferBase != 0); + p->dicPos = 0; + LzmaDec_InitDicAndState(p, True, True); +@@ -716,7 +716,7 @@ static void LzmaDec_InitStateReal(CLzmaDec *p) + p->needInitState = 0; } --Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p) { return p->buffer; } --Byte MatchFinder_GetIndexByte(CMatchFinder *p, Int32 index) { return p->buffer[index]; } -+static Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p) { return p->buffer; } -+static Byte MatchFinder_GetIndexByte(CMatchFinder *p, Int32 index) { return p->buffer[index]; } +-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; + } --UInt32 MatchFinder_GetNumAvailableBytes(CMatchFinder *p) { return p->streamPos - p->pos; } -+static UInt32 MatchFinder_GetNumAvailableBytes(CMatchFinder *p) { return p->streamPos - p->pos; } +-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; + } --void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue) -+static void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue) +-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) { - p->posLimit -= subValue; - p->pos -= subValue; -@@ -58,7 +64,7 @@ static void MatchFinder_ReadBlock(CMatch + 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) { - if (p->streamEndWasReached || p->result != SZ_OK) - return; -- if (p->directInput) -+ if (DIRECT_INPUT) - { - UInt32 curSize = 0xFFFFFFFF - p->streamPos; - if (curSize > p->directInputRem) -@@ -89,7 +95,7 @@ static void MatchFinder_ReadBlock(CMatch - } + 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 MatchFinder_MoveBlock(CMatchFinder *p) -+static void MatchFinder_MoveBlock(CMatchFinder *p) +-void LzmaEncProps_Normalize(CLzmaEncProps *p) ++static void LzmaEncProps_Normalize(CLzmaEncProps *p) { - memmove(p->bufferBase, - p->buffer - p->keepSizeBefore, -@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder - p->buffer = p->bufferBase + p->keepSizeBefore; + int level = p->level; + if (level < 0) level = 5; +@@ -76,7 +76,7 @@ void LzmaEncProps_Normalize(CLzmaEncProps *p) + #endif } --int MatchFinder_NeedMove(CMatchFinder *p) -+static int MatchFinder_NeedMove(CMatchFinder *p) +-UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2) ++static UInt32 __maybe_unused LzmaEncProps_GetDictSize(const CLzmaEncProps *props2) { -- if (p->directInput) -+ if (DIRECT_INPUT) - return 0; - /* if (p->streamEndWasReached) return 0; */ - return ((size_t)(p->bufferBase + p->blockSize - p->buffer) <= p->keepSizeAfter); - } + CLzmaEncProps props = *props2; + LzmaEncProps_Normalize(&props); +@@ -93,7 +93,7 @@ UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2) --void MatchFinder_ReadIfRequired(CMatchFinder *p) + #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) -{ -- if (p->streamEndWasReached) -- return; -- if (p->keepSizeAfter >= p->streamPos - p->pos) -- MatchFinder_ReadBlock(p); +- 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)); -} - - static void MatchFinder_CheckAndMoveAndRead(CMatchFinder *p) +-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) { - if (MatchFinder_NeedMove(p)) -@@ -268,7 +266,7 @@ static void MatchFinder_SetLimits(CMatch - p->posLimit = p->pos + limit; + CLzmaEnc *p = (CLzmaEnc *)pp; +@@ -600,7 +548,7 @@ static void LitEnc_EncodeMatched(CRangeEnc *p, CLzmaProb *probs, UInt32 symbol, + while (symbol < 0x10000); } --void MatchFinder_Init(CMatchFinder *p) -+static void MatchFinder_Init(CMatchFinder *p) +-void LzmaEnc_InitPriceTables(UInt32 *ProbPrices) ++static void LzmaEnc_InitPriceTables(UInt32 *ProbPrices) { UInt32 i; - for (i = 0; i < p->hashSizeSum; i++) -@@ -287,7 +285,7 @@ static UInt32 MatchFinder_GetSubValue(CM - return (p->pos - p->historySize - 1) & kNormalizeMask; + for (i = (1 << kNumMoveReducingBits) / 2; i < kBitModelTotal; i += (1 << kNumMoveReducingBits)) +@@ -1676,7 +1624,7 @@ static void FillDistancesPrices(CLzmaEnc *p) + p->matchPriceCount = 0; } --void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems) -+static void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, UInt32 numItems) +-void LzmaEnc_Construct(CLzmaEnc *p) ++static void LzmaEnc_Construct(CLzmaEnc *p) { - UInt32 i; - for (i = 0; i < numItems; i++) -@@ -319,38 +317,7 @@ static void MatchFinder_CheckLimits(CMat - MatchFinder_SetLimits(p); + RangeEnc_Construct(&p->rc); + MatchFinder_Construct(&p->matchFinderBase); +@@ -1709,7 +1657,7 @@ CLzmaEncHandle LzmaEnc_Create(ISzAlloc *alloc) + return p; } --static UInt32 * Hc_GetMatchesSpec(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, -- UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue, -- UInt32 *distances, UInt32 maxLen) --{ -- son[_cyclicBufferPos] = curMatch; -- for (;;) -- { -- UInt32 delta = pos - curMatch; -- if (cutValue-- == 0 || delta >= _cyclicBufferSize) -- return distances; -- { -- const Byte *pb = cur - delta; -- curMatch = son[_cyclicBufferPos - delta + ((delta > _cyclicBufferPos) ? _cyclicBufferSize : 0)]; -- if (pb[maxLen] == cur[maxLen] && *pb == *cur) -- { -- UInt32 len = 0; -- while (++len != lenLimit) -- if (pb[len] != cur[len]) -- break; -- if (maxLen < len) -- { -- *distances++ = maxLen = len; -- *distances++ = delta - 1; -- if (len == lenLimit) -- return distances; -- } -- } -- } -- } --} -- --UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, -+static UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *cur, CLzRef *son, - UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 cutValue, - UInt32 *distances, UInt32 maxLen) +-void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc) ++static void LzmaEnc_FreeLits(CLzmaEnc *p, ISzAlloc *alloc) { -@@ -460,10 +427,10 @@ static void SkipMatchesSpec(UInt32 lenLi - p->buffer++; \ - if (++p->pos == p->posLimit) MatchFinder_CheckLimits(p); - --#define MOVE_POS_RET MOVE_POS return offset; -- - static void MatchFinder_MovePos(CMatchFinder *p) { MOVE_POS; } + 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; + } -+#define MOVE_POS_RET MatchFinder_MovePos(p); return offset; -+ - #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 - distances + offset, maxLen) - distances); MOVE_POS_RET; +-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; + } - #define SKIP_FOOTER \ -- SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); MOVE_POS; -- --static UInt32 Bt2_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) --{ -- UInt32 offset; -- GET_MATCHES_HEADER(2) -- HASH2_CALC; -- curMatch = p->hash[hashValue]; -- p->hash[hashValue] = p->pos; -- offset = 0; -- GET_MATCHES_FOOTER(offset, 1) --} -- --UInt32 Bt3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) --{ -- UInt32 offset; -- GET_MATCHES_HEADER(3) -- HASH_ZIP_CALC; -- curMatch = p->hash[hashValue]; -- p->hash[hashValue] = p->pos; -- offset = 0; -- GET_MATCHES_FOOTER(offset, 2) --} -- --static UInt32 Bt3_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) --{ -- UInt32 hash2Value, delta2, maxLen, offset; -- GET_MATCHES_HEADER(3) -- -- HASH3_CALC; -- -- delta2 = p->pos - p->hash[hash2Value]; -- curMatch = p->hash[kFix3HashSize + hashValue]; -- -- p->hash[hash2Value] = -- p->hash[kFix3HashSize + hashValue] = p->pos; -- -- -- maxLen = 2; -- offset = 0; -- if (delta2 < p->cyclicBufferSize && *(cur - delta2) == *cur) -- { -- for (; maxLen != lenLimit; maxLen++) -- if (cur[(ptrdiff_t)maxLen - delta2] != cur[maxLen]) -- break; -- distances[0] = maxLen; -- distances[1] = delta2 - 1; -- offset = 2; -- if (maxLen == lenLimit) -- { -- SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); -- MOVE_POS_RET; -- } -- } -- GET_MATCHES_FOOTER(offset, maxLen) --} -+ SkipMatchesSpec(lenLimit, curMatch, MF_PARAMS(p)); MatchFinder_MovePos(p); +-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; + } - static UInt32 Bt4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) +-void LzmaEnc_InitPrices(CLzmaEnc *p) ++static void LzmaEnc_InitPrices(CLzmaEnc *p) { -@@ -583,108 +495,6 @@ static UInt32 Bt4_MatchFinder_GetMatches - GET_MATCHES_FOOTER(offset, maxLen) + if (!p->fastMode) + { +@@ -2037,26 +1985,6 @@ static SRes LzmaEnc_AllocAndInit(CLzmaEnc *p, UInt32 keepWindowSize, ISzAlloc *a + return SZ_OK; } --static UInt32 Hc4_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) +-static SRes LzmaEnc_Prepare(CLzmaEncHandle pp, ISeqOutStream *outStream, ISeqInStream *inStream, +- ISzAlloc *alloc, ISzAlloc *allocBig) -{ -- UInt32 hash2Value, hash3Value, delta2, delta3, maxLen, offset; -- GET_MATCHES_HEADER(4) -- -- HASH4_CALC; -- -- delta2 = p->pos - p->hash[ hash2Value]; -- delta3 = p->pos - p->hash[kFix3HashSize + hash3Value]; -- curMatch = p->hash[kFix4HashSize + hashValue]; -- -- p->hash[ hash2Value] = -- p->hash[kFix3HashSize + hash3Value] = -- p->hash[kFix4HashSize + hashValue] = p->pos; -- -- maxLen = 1; -- offset = 0; -- if (delta2 < p->cyclicBufferSize && *(cur - delta2) == *cur) -- { -- distances[0] = maxLen = 2; -- distances[1] = delta2 - 1; -- offset = 2; -- } -- if (delta2 != delta3 && delta3 < p->cyclicBufferSize && *(cur - delta3) == *cur) -- { -- maxLen = 3; -- distances[offset + 1] = delta3 - 1; -- offset += 2; -- delta2 = delta3; -- } -- if (offset != 0) -- { -- for (; maxLen != lenLimit; maxLen++) -- if (cur[(ptrdiff_t)maxLen - delta2] != cur[maxLen]) -- break; -- distances[offset - 2] = maxLen; -- if (maxLen == lenLimit) -- { -- p->son[p->cyclicBufferPos] = curMatch; -- MOVE_POS_RET; -- } -- } -- if (maxLen < 3) -- maxLen = 3; -- offset = (UInt32)(Hc_GetMatchesSpec(lenLimit, curMatch, MF_PARAMS(p), -- distances + offset, maxLen) - (distances)); -- MOVE_POS_RET +- CLzmaEnc *p = (CLzmaEnc *)pp; +- p->matchFinderBase.stream = inStream; +- p->needInit = 1; +- p->rc.outStream = outStream; +- return LzmaEnc_AllocAndInit(p, 0, alloc, allocBig); -} - --UInt32 Hc3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances) +-SRes LzmaEnc_PrepareForLzma2(CLzmaEncHandle pp, +- ISeqInStream *inStream, UInt32 keepWindowSize, +- ISzAlloc *alloc, ISzAlloc *allocBig) -{ -- UInt32 offset; -- GET_MATCHES_HEADER(3) -- HASH_ZIP_CALC; -- curMatch = p->hash[hashValue]; -- p->hash[hashValue] = p->pos; -- offset = (UInt32)(Hc_GetMatchesSpec(lenLimit, curMatch, MF_PARAMS(p), -- distances, 2) - (distances)); -- MOVE_POS_RET +- CLzmaEnc *p = (CLzmaEnc *)pp; +- p->matchFinderBase.stream = inStream; +- p->needInit = 1; +- return LzmaEnc_AllocAndInit(p, keepWindowSize, alloc, allocBig); -} - --static void Bt2_MatchFinder_Skip(CMatchFinder *p, UInt32 num) + 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) -{ -- do -- { -- SKIP_HEADER(2) -- HASH2_CALC; -- curMatch = p->hash[hashValue]; -- p->hash[hashValue] = p->pos; -- SKIP_FOOTER -- } -- while (--num != 0); +- const CLzmaEnc *p = (CLzmaEnc *)pp; +- return p->matchFinder.GetNumAvailableBytes(p->matchFinderObj); -} - --void Bt3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-const Byte *LzmaEnc_GetCurBuf(CLzmaEncHandle pp) -{ -- do -- { -- SKIP_HEADER(3) -- HASH_ZIP_CALC; -- curMatch = p->hash[hashValue]; -- p->hash[hashValue] = p->pos; -- SKIP_FOOTER -- } -- while (--num != 0); +- const CLzmaEnc *p = (CLzmaEnc *)pp; +- return p->matchFinder.GetPointerToCurrentPos(p->matchFinderObj) - p->additionalOffset; -} - --static void Bt3_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, Bool reInit, +- Byte *dest, size_t *destLen, UInt32 desiredPackSize, UInt32 *unpackSize) -{ -- do -- { -- UInt32 hash2Value; -- SKIP_HEADER(3) -- HASH3_CALC; -- curMatch = p->hash[kFix3HashSize + hashValue]; -- p->hash[hash2Value] = -- p->hash[kFix3HashSize + hashValue] = p->pos; -- SKIP_FOOTER -- } -- while (--num != 0); +- 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 void Bt4_MatchFinder_Skip(CMatchFinder *p, UInt32 num) + static SRes LzmaEnc_Encode2(CLzmaEnc *p, ICompressProgress *progress) { - do -@@ -701,61 +511,12 @@ static void Bt4_MatchFinder_Skip(CMatchF - while (--num != 0); + SRes res = SZ_OK; +@@ -2184,13 +2065,6 @@ static SRes LzmaEnc_Encode2(CLzmaEnc *p, ICompressProgress *progress) + return res; } --static void Hc4_MatchFinder_Skip(CMatchFinder *p, UInt32 num) +-SRes LzmaEnc_Encode(CLzmaEncHandle pp, ISeqOutStream *outStream, ISeqInStream *inStream, ICompressProgress *progress, +- ISzAlloc *alloc, ISzAlloc *allocBig) -{ -- do -- { -- UInt32 hash2Value, hash3Value; -- SKIP_HEADER(4) -- HASH4_CALC; -- curMatch = p->hash[kFix4HashSize + hashValue]; -- p->hash[ hash2Value] = -- p->hash[kFix3HashSize + hash3Value] = -- p->hash[kFix4HashSize + hashValue] = p->pos; -- p->son[p->cyclicBufferPos] = curMatch; -- MOVE_POS -- } -- while (--num != 0); +- RINOK(LzmaEnc_Prepare(pp, outStream, inStream, alloc, allocBig)); +- return LzmaEnc_Encode2((CLzmaEnc *)pp, progress); -} - --void Hc3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num) + 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) -{ -- do -- { -- SKIP_HEADER(3) -- HASH_ZIP_CALC; -- curMatch = p->hash[hashValue]; -- p->hash[hashValue] = p->pos; -- p->son[p->cyclicBufferPos] = curMatch; -- MOVE_POS -- } -- while (--num != 0); --} +- CLzmaEnc *p = (CLzmaEnc *)LzmaEnc_Create(alloc); +- SRes res; +- if (p == 0) +- return SZ_ERROR_MEM; - - void MatchFinder_CreateVTable(CMatchFinder *p, IMatchFinder *vTable) - { - vTable->Init = (Mf_Init_Func)MatchFinder_Init; - vTable->GetIndexByte = (Mf_GetIndexByte_Func)MatchFinder_GetIndexByte; - vTable->GetNumAvailableBytes = (Mf_GetNumAvailableBytes_Func)MatchFinder_GetNumAvailableBytes; - vTable->GetPointerToCurrentPos = (Mf_GetPointerToCurrentPos_Func)MatchFinder_GetPointerToCurrentPos; -- if (!p->btMode) -- { -- vTable->GetMatches = (Mf_GetMatches_Func)Hc4_MatchFinder_GetMatches; -- vTable->Skip = (Mf_Skip_Func)Hc4_MatchFinder_Skip; -- } -- else if (p->numHashBytes == 2) -- { -- vTable->GetMatches = (Mf_GetMatches_Func)Bt2_MatchFinder_GetMatches; -- vTable->Skip = (Mf_Skip_Func)Bt2_MatchFinder_Skip; -- } -- else if (p->numHashBytes == 3) -- { -- vTable->GetMatches = (Mf_GetMatches_Func)Bt3_MatchFinder_GetMatches; -- vTable->Skip = (Mf_Skip_Func)Bt3_MatchFinder_Skip; -- } -- else +- res = LzmaEnc_SetProps(p, props); +- if (res == SZ_OK) - { -- vTable->GetMatches = (Mf_GetMatches_Func)Bt4_MatchFinder_GetMatches; -- vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip; +- res = LzmaEnc_WriteProperties(p, propsEncoded, propsSize); +- if (res == SZ_OK) +- res = LzmaEnc_MemEncode(p, dest, destLen, src, srcLen, +- writeEndMark, progress, alloc, allocBig); - } -+ vTable->GetMatches = (Mf_GetMatches_Func)Bt4_MatchFinder_GetMatches; -+ vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip; - } +- +- 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 similarity index 56% rename from target/linux/generic/patches-4.9/640-bridge-only-accept-EAP-locally.patch rename to 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 -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 --- + 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 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 similarity index 61% rename from target/linux/generic/patches-4.9/641-bridge_port_isolate.patch rename to 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 -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 --- ---- 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 +Date: Fri, 7 Jul 2017 17:21:05 +0200 +Subject: mac80211: increase wireless mesh header size + +lede-commit 3d4466cfd8f75f717efdb1f96fdde3c70d865fc1 +Signed-off-by: Imre Kaloz +--- + 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 +Date: Fri, 7 Jul 2017 17:21:53 +0200 +Subject: hack: net: fq_codel: tune defaults for small devices + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 62% rename from target/linux/generic/patches-4.9/661-use_fq_codel_by_default.patch rename to 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 +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 +--- + 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 similarity index 86% rename from target/linux/generic/patches-4.9/662-remove_pfifo_fast.patch rename to 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 +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 +--- + 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 similarity index 82% rename from target/linux/generic/patches-4.9/700-swconfig_switch_drivers.patch rename to 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 +Date: Fri, 7 Jul 2017 17:24:23 +0200 +Subject: net: swconfig: adds openwrt switch layer + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 100% rename from target/linux/generic/patches-4.9/710-phy-add-mdio_register_board_info.patch rename to 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 similarity index 68% rename from target/linux/generic/patches-4.9/721-phy_packets.patch rename to 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 +Date: Fri, 7 Jul 2017 17:25:00 +0200 +Subject: net: add packet mangeling patch + +Signed-off-by: Felix Fietkau +--- + 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 #include @@ -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 similarity index 66% rename from target/linux/generic/patches-4.9/773-bgmac-add-srab-switch.patch rename to 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 +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 +--- + 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 @@ -56,8 +80,10 @@ Signed-off-by: Hauke Mehrtens 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 }; 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 +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 +Signed-off-by: Christian Lamparter +--- + 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 similarity index 61% rename from target/linux/generic/patches-4.9/901-debloat_sock_diag.patch rename to 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 +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 +--- + 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 similarity index 68% rename from target/linux/generic/patches-4.9/902-debloat_proc.patch rename to 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 +Date: Sat, 8 Jul 2017 08:20:09 +0200 +Subject: debloat: procfs + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 59% rename from target/linux/generic/patches-4.9/904-debloat_dma_buf.patch rename to 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 +Date: Sat, 8 Jul 2017 08:20:43 +0200 +Subject: debloat: dmabuf + +Signed-off-by: Felix Fietkau +--- + 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 +Date: Sun, 16 Jul 2017 16:56:10 +0200 +Subject: lib: add uevent_next_seqnum() + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 57% rename from target/linux/generic/patches-4.9/911-kobject_add_broadcast_uevent.patch rename to 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 +Date: Sun, 16 Jul 2017 16:56:10 +0200 +Subject: lib: add uevent_next_seqnum() + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 56% rename from target/linux/generic/patches-4.9/921-always-create-console-node-in-initramfs.patch rename to 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 +Date: Sat, 8 Jul 2017 08:26:02 +0200 +Subject: initramfs: always create console node + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 80% rename from target/linux/generic/patches-4.9/930-crashlog.patch rename to 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 +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 +--- + 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 + #include + #include ++#include + #include + #include + #include +@@ -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 #include -@@ -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 - #include - #include -+#include - #include - #include - #include -@@ -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 - #include - #include -+#include - #include - #include - #include ---- a/tools/perf/pmu-events/json.c -+++ b/tools/perf/pmu-events/json.c -@@ -38,7 +38,6 @@ - #include - #include "jsmn.h" - #include "json.h" --#include - - - 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 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 ---- ---- 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 -+#include -+ -+#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 - ---- 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 ---- ---- 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 - ---- 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 -+#include -+#include -+#include -+#include -+#include -+ -+#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 "); -+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 -+ * -+ * 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 -+#include -+#include -+#include -+#include -+#include -+ -+/* 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 "); -+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 similarity index 100% rename from target/linux/generic/patches-3.18/001-mtdsplit_backport.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/002-phy_drivers_backport.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/003-myloader_backport.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/020-ssb_update.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/021-ssb_sprom.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/025-bcma_backport.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/026-bcma-from-3.20.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/027-bcma-from-4.1.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/028-bcma-from-4.2.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/029-bcma-from-4.4.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/030-nl80211-Allow-set-network-namespace-by-fd.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/031-bcma-from-4.5.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/032-bcma-from-4.6.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/040-mtd-bcm47xxpart-backports-from-3.19.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/041-mtd-bcm47xxpart-backports-from-3.20.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/043-mtd_GD25Q128B_support_backport_from_3.19.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/044-backport-m25p80-jedec-probe.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/050-backport_netfilter_rtcache.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/051-02-bridge-allow-setting-hash_max-multicast_router-if-in.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/060-mips_decompressor_memmove.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/070-bgmac-register-napi-before-the-device.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/071-bgmac-activate-irqs-only-if-there-is-nothing-to-poll.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/072-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/073-bgmac-Clean-warning-messages.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/074-bgmac-register-fixed-PHY-for-ARM-BCM470X-BCM5301X-ch.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/075-bgmac-allow-enabling-on-ARCH_BCM_5301X.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/076-net-phy-export-fixed_phy_register.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-01-bgmac-fix-descriptor-frame-start-end-definitions.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-02-bgmac-implement-GRO-and-use-build_skb.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-03-bgmac-implement-scatter-gather-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-04-bgmac-simplify-tx-ring-index-handling.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-05-bgmac-leave-interrupts-disabled-as-long-as-there-is-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-06-bgmac-set-received-skb-headroom-to-NET_SKB_PAD.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-07-bgmac-simplify-rx-DMA-error-handling.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-08-bgmac-add-check-for-oversized-packets.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-09-bgmac-increase-rx-ring-size-from-511-to-512.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-11-bgmac-fix-DMA-rx-corruption.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/078-bgmac-reset-enable-Ethernet-core-before-using-it.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/079-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-00-fib_trie-Fix-proc-net-fib_trie-when-CONFIG_IP_MULTIP.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-01-fib_trie-Fix-trie-balancing-issue-if-new-node-pushes.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-07-fib_trie-Optimize-fib_find_node.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-17-fib_trie-Remove-checks-for-index-tnode_child_length-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-19-fib_trie-Use-index-0ul-n-bits-instead-of-index-n-bit.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-21-fib_trie-Fall-back-to-slen-update-on-inflate-halve-f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-23-fib_trie-Use-empty_children-instead-of-counting-empt.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/081-01-pppoe-Use-workqueue-to-die-properly-when-a-PADT-is-r.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/081-02-pppoe-Lacks-DST-MAC-address-check.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/081-03-pppoe-drop-pppoe-device-in-pppoe_unbind_sock_work.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/081-06-ppp-don-t-set-sk_state-to-PPPOX_ZOMBIE-in-pppoe_disc.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/081-08-pppoe-fix-memory-corruption-in-padt-work-structure.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/082-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/083-solos-pci-Increase-headroom-on-received-packets.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/087-regmap-make-LZO-cache-optional.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/091-mtd-spi-nor-add-support-Spansion_S25FL164K.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/092-01-spi-Check-to-see-if-the-device-is-processing-a-messa.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/092-02-spi-Pump-transfers-inside-calling-context-for-spi_sy.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/092-03-spi-Only-idle-the-message-pump-in-the-worker-kthread.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/111-jffs2-add-RENAME_EXCHANGE-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/120-bridge_allow_receiption_on_disabled_port.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/132-mips_inline_dma_ops.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/141-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/142-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/200-fix_localversion.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/201-extra_optimization.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/202-reduce_module_size.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/203-kallsyms_uncompressed.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/204-module_strip.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/205-backtrace_module_info.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/210-darwin_scripts_include.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/212-byteshift_portability.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/213-x86_vdso_portability.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/214-spidev_h_portability.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/220-gc_sections.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/221-module_exports.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/230-openwrt_lzma_options.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/250-netfilter_depends.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/251-sound_kconfig.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/252-mv_cesa_depends.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/253-ssb_b43_default_on.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/254-textsearch_kconfig_hacks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/255-lib80211_kconfig_hacks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/256-crypto_add_kconfig_prompts.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/257-wireless_ext_kconfig_hack.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/258-netfilter_netlink_kconfig_hack.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/259-regmap_dynamic.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/260-crypto_test_dependencies.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/300-mips_expose_boot_raw.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/301-mips_image_cmdline_hack.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/302-mips_no_branch_likely.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/304-mips_disable_fpu.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/305-mips_module_reloc.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/306-mips_mem_functions_performance.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/307-mips_highmem_offset.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/310-arm_module_unresolved_weak_sym.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/320-ppc4xx_optimization.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/321-powerpc_crtsavres_prereq.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/400-mtd-add-rootfs-split-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/401-mtd-add-support-for-different-partition-parser-types.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/403-mtd-hook-mtdsplit-to-Kbuild.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/404-mtd-add-more-helper-functions.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/405-mtd-old-firmware-uimage-splitter.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/406-mtd-old-rootfs-squashfs-splitter.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/410-mtd-move-forward-declaration-of-struct-mtd_info.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/412-mtd-partial_eraseblock_unlock.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/420-mtd-redboot_space.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/430-mtd-add-myloader-partition-parser.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/440-block2mtd_init.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/441-block2mtd_probe.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/472-mtd-m25p80-add-support-for-Winbond-W25X05-flash.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/473-mtd-spi-nor-add-support-for-the-Macronix-MX25L512E-S.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/474-mtd-spi-nor-add-support-for-the-ISSI-SI25CD512-SPI-f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/475-mtd-spi-nor-add-macronix-mx25u25635f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/480-mtd-set-rootfs-to-be-root-dev.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/491-ubi-auto-create-ubiblock-device-for-rootfs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/530-jffs2_make_lzma_available.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/531-debloat_lzma.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/551-ubifs-fix-default-compression-selection.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/611-netfilter_match_bypass_default_table.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/612-netfilter_match_reduce_memory_access.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/613-netfilter_optional_tcp_window_check.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/616-net_optimize_xfrm_calls.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/621-sched_act_connmark.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/630-packet_socket_type.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/640-bridge_no_eap_forward.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/641-bridge_always_accept_eap.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/642-bridge_port_isolate.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/650-pppoe_header_pad.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/651-wireless_mesh_header.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/653-disable_netlink_trim.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/655-increase_skb_pad.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/660-fq_codel_defaults.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/661-fq_codel_keep_dropped_stats.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/681-NET-add-of_get_mac_address_mtd.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/700-swconfig.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/701-phy_extension.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/702-phy_add_aneg_done_function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/703-phy-add-detach-callback-to-struct-phy_driver.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/704-phy-no-genphy-soft-reset.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/710-phy-add-mdio_register_board_info.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/720-phy_adm6996.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/721-phy_packets.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/722-phy_mvswitch.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/723-phy_ip175c.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/724-phy_ar8216.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/725-phy_rtl8306.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/726-phy_rtl8366.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/727-phy-rtl8367.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/728-phy-rtl8367b.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/729-phy-tantos.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/730-phy_b53.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/732-phy-ar8216-led-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/733-phy_mvsw61xx.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/734-net-phy-at803x-allow-to-configure-via-pdata.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/735-net-phy-at803x-fix-at8033-sgmii-mode.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/760-8139cp-fixes-from-4.3.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/785-hso-support-0af0-9300.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/831-ledtrig_netdev.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/834-ledtrig-libata.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/840-rtc7301.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/841-rtc_pt7c4338.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/861-04_spi_gpio_implement_spi_delay.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/862-gpio_spi_driver.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/870-hifn795x_byteswap.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/890-8250_optional_sysrq.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/901-debloat_sock_diag.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/902-debloat_proc.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/904-debloat_dma_buf.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/910-kobject_uevent.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/911-kobject_add_broadcast_uevent.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/921-use_preinit_as_init.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/922-always-create-console-node-in-initramfs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/930-crashlog.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/970-remove-unsane-filenames-from-deps_initramfs-list.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/980-arm_openwrt_machtypes.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/990-gpio_wdt.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/995-mangle_bootargs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/997-device_tree_cmdline.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/998-enable_wilink_platform_without_drivers.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-3.18/999-seccomp_log.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/001-mtdsplit_backport.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/002-phy_drivers_backport.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/003-myloader_backport.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/010-Kbuild-don-t-hardcode-path-to-awk-in-scripts-ld-vers.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/020-bcma-from-4.5.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/021-bcma-from-4.6.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/022-bcma-from-4.8.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/023-bcma-from-4.9.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/025-bcma-from-4.11.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/026-bcma-from-4.12.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/032-fq_codel-add-batch-ability-to-fq_codel_drop.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/033-fq_codel-add-memory-limitation-per-queue.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/034-fq_codel-fix-memory-limitation-drift.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/035-fq_codel-fix-NET_XMIT_CN-behavior.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/041-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/042-0001-mtd-bcm47xxsflash-use-ioremap_cache-instead-of-KSEG0.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/042-0002-mtd-add-arch-dependency-for-MTD_BCM47XXSFLASH-symbol.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/042-0003-mtd-bcm47xxsflash-use-uncached-MMIO-access-for-BCM53.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/042-0005-mtd-bcm47xxsflash-use-platform_-set-get-_drvdata.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/042-0006-mtd-bcm47xxsflash-support-reading-flash-out-of-mappi.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/042-0007-mtd-bcm47xxpart-move-TRX-parsing-code-to-separated-f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/042-0008-mtd-bcm47xxpart-support-layouts-with-multiple-TRX-pa.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/045-mtd-devices-m25p80-add-support-for-mmap-read-request.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/050-backport_netfilter_rtcache.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/051-0001-ovl-rename-is_merge-to-is_lowest.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/051-0002-ovl-override-creds-with-the-ones-from-the-superblock.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/052-01-ubifs-Implement-O_TMPFILE.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/053-0001-ubifs-Drop-softlimit-and-delta-fields-from-struct-ub.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/053-0002-ubifs-Use-dirty_writeback_interval-value-for-wbuf-ti.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/060-mips_decompressor_memmove.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/061-softirq-let-ksoftirqd-do-its-job.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.5-0003-net-bgmac-clarify-CONFIG_BCMA-dependency.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.6-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.6-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.6-0004-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.8-0001-bgmac-Bind-net_device-with-backing-device-structure.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.8-0002-bgmac-Add-support-for-ethtool-statistics.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.8-0003-bgmac-Maintain-some-netdev-statistics.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/070-v4.8-0004-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0004-net-ethernet-bgmac-convert-to-feature-flags.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0005-net-ethernet-bgmac-Add-platform-device-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0006-net-ethernet-bgmac-Fix-return-value-check-in-bgmac_p.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0007-net-ethernet-bgmac-Remove-redundant-dev_err-call-in-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.8-0009-net-bgmac-fix-reversed-check-for-MII-registration-er.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.9-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.9-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.9-0003-net-bgmac-Fix-errant-feature-flag-check.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.9-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/071-v4.9-0005-net-bgmac-fix-reversed-checks-for-clock-control-flag.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/072-net-add-devm-version-of-alloc_etherdev_mqs-function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/073-v4.10-0001-net-bgmac-allocate-struct-bgmac-just-once-don-t-copy.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/073-v4.10-0002-net-bgmac-drop-struct-bcma_mdio-we-don-t-need-anymor.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/073-v4.10-0003-net-bgmac-use-PHY-subsystem-for-initializing-PHY.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/074-NET-PHY-adds-driver-for-lantiq-PHY11G.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/078-0001-net-phy-update-Broadcom-drivers-to-v4.5.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/078-0002-net-phy-update-Broadcom-drivers-to-v4.6.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/078-0003-net-phy-cherry-pick-Broadcom-drivers-updates-from-v4.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/078-0004-net-phy-pick-Broadcom-drivers-updates-from-net-next-.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/081-spi-bcm53xx-add-spi_flash_read-callback-for-MMIO-bas.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/083-0001-clk-Add-devm_-clk_hw_-register-unregister-APIs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/083-0002-clk-Add-clk_hw-OF-clk-providers.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/084-0001-usb-core-Introduce-a-USB-port-LED-trigger.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/084-0002-usb-core-usbport-Use-proper-LED-API-to-fix-potential.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/084-0003-usb-core-read-USB-ports-from-DT-in-the-usbport-LED-t.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/085-0001-leds-leds-gpio-Set-of_node-for-created-LED-devices.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/085-0002-leds-gpio-introduce-gpio_blink_set_t.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/085-0003-leds-gpio-switch-to-managed-version-of-led_classdev_.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/085-0005-leds-gpio-use-OF-variant-of-LED-registering-function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/086-0002-thermal-core-export-apis-to-get-slope-and-offset.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/086-0003-thermal-bcm2835-add-thermal-driver-for-bcm2835-SoC.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/086-0004-thermal-broadcom-add-Northstar-thermal-driver.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/086-0005-thermal-broadcom-fix-compilation-of-Northstar-driver.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.9/087-regmap-make-LZO-cache-optional.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/091-MIPS-c-r4k-Exclude-sibling-CPUs-in-SMP-calls.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/093-MIPS-store-the-appended-dtb-address-in-a-variable.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/094-MIPS-c-r4k-Fix-size-calc-when-avoiding-IPIs-for-smal.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/096-arc-add-model-property-in-dts.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/097-MIPS-io.h-Define-ioremap_cache.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/101-MIPS-fix-cache-flushing-for-highmem-pages.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/102-ehci_hcd_ignore_oc.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/103-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/105-add-linux-spidev-compatible.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/106-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/111-jffs2-add-RENAME_EXCHANGE-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/120-bridge_allow_receiption_on_disabled_port.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/132-mips_inline_dma_ops.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/150-mtd-spi-nor-add-support-for-ESMT_f25l32qa-and-ESMT_f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/180-Revert-bcma-init-serial-console-directly-from-ChipCo.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/200-fix_localversion.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/201-extra_optimization.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/202-reduce_module_size.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/203-kallsyms_uncompressed.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/204-module_strip.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/205-backtrace_module_info.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/206-mips-disable-vdso.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/207-mips-vdso-dbg-rebuild-after-genvdso.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/208-disable-modorder.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/210-darwin_scripts_include.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/211-sign-file-libressl.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/212-byteshift_portability.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/214-spidev_h_portability.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/220-gc_sections.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/221-module_exports.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/222-arm_zimage_none.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/230-openwrt_lzma_options.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/250-netfilter_depends.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/251-sound_kconfig.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/252-mv_cesa_depends.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/253-ssb_b43_default_on.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/254-textsearch_kconfig_hacks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/255-lib80211_kconfig_hacks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/256-crypto_add_kconfig_prompts.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/257-wireless_ext_kconfig_hack.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/258-netfilter_netlink_kconfig_hack.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/259-regmap_dynamic.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/260-crypto_test_dependencies.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/280-rfkill-stubs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/300-mips_expose_boot_raw.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/301-mips_image_cmdline_hack.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/302-mips_no_branch_likely.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/304-mips_disable_fpu.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/305-mips_module_reloc.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/306-mips_mem_functions_performance.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/307-mips_highmem_offset.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/308-mips32r2_tune.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/310-arm_module_unresolved_weak_sym.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/320-ppc4xx_optimization.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/321-powerpc_crtsavres_prereq.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/331-arc-remove-dependency-on-DEVTMPFS.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/333-arc-enable-unaligned-access-in-kernel-mode.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/400-mtd-add-rootfs-split-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/401-mtd-add-support-for-different-partition-parser-types.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/403-mtd-hook-mtdsplit-to-Kbuild.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/404-mtd-add-more-helper-functions.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/410-mtd-move-forward-declaration-of-struct-mtd_info.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/411-mtd-partial_eraseblock_write.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/412-mtd-partial_eraseblock_unlock.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/420-mtd-redboot_space.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/430-mtd-add-myloader-partition-parser.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/440-block2mtd_init.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/441-block2mtd_probe.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/465-m25p80-mx-disable-software-protection.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/476-mtd-spi-nor-add-eon-en25q128.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/479-enable_mtd_has_lock_for_f25l32pa.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/480-mtd-set-rootfs-to-be-root-dev.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/494-mtd-ubi-add-EOF-marker-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/531-debloat_lzma.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/532-jffs2_eofdetect.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/551-ubifs-fix-default-compression-selection.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/600-netfilter_conntrack_flush.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/610-netfilter_match_bypass_default_checks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/611-netfilter_match_bypass_default_table.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/612-netfilter_match_reduce_memory_access.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/613-netfilter_optional_tcp_window_check.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/616-net_optimize_xfrm_calls.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/630-packet_socket_type.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/640-bridge_no_eap_forward.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/641-bridge_always_accept_eap.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/642-bridge_port_isolate.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/650-pppoe_header_pad.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/651-wireless_mesh_header.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/653-disable_netlink_trim.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/655-increase_skb_pad.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/660-fq_codel_defaults.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/661-fq_codel_keep_dropped_stats.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/662-use_fq_codel_by_default.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/663-remove_pfifo_fast.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/681-NET-add-of_get_mac_address_mtd.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/700-swconfig.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/701-phy_extension.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/702-phy_add_aneg_done_function.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/703-phy-add-detach-callback-to-struct-phy_driver.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/704-phy-no-genphy-soft-reset.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/710-phy-add-mdio_register_board_info.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/720-phy_adm6996.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/721-phy_packets.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/722-phy_mvswitch.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/723-phy_ip175c.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/724-phy_ar8216.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/725-phy_rtl8306.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/726-phy_rtl8366.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/727-phy-rtl8367.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/728-phy-rtl8367b.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/729-phy-tantos.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/730-phy_b53.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/732-phy-ar8216-led-support.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/733-phy_mvsw61xx.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/734-net-phy-at803x-allow-to-configure-via-pdata.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/735-net-phy-at803x-fix-at8033-sgmii-mode.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/736-at803x-fix-reset-handling.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/737-net-phy-at803x-Request-reset-GPIO-only-for-AT8030-PH.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/739-net-phy-at803x-add-support-for-AT8032.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/773-bgmac-add-srab-switch.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/810-pci_disable_common_quirks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/811-pci_disable_usb_common_quirks.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/821-usb-Remove-annoying-warning-about-bogus-URB.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/831-ledtrig_netdev.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/834-ledtrig-libata.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/835-misc-owl_loader.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/840-rtc7301.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/841-rtc_pt7c4338.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/861-04_spi_gpio_implement_spi_delay.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/862-gpio_spi_driver.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/890-uart_optional_sysrq.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/901-debloat_sock_diag.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/902-debloat_proc.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/904-debloat_dma_buf.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/910-kobject_uevent.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/911-kobject_add_broadcast_uevent.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/921-use_preinit_as_init.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/922-always-create-console-node-in-initramfs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/930-crashlog.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/970-remove-unsane-filenames-from-deps_initramfs-list.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/995-mangle_bootargs.patch rename to 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 similarity index 100% rename from target/linux/generic/patches-4.4/998-enable_wilink_platform_without_drivers.patch rename to 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 similarity index 89% rename from target/linux/generic/patches-4.9/100-MIPS-fix-cache-flushing-for-highmem-pages.patch rename to 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 -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 similarity index 93% rename from target/linux/generic/patches-4.9/110-ehci_hcd_ignore_oc.patch rename to 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 -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 similarity index 95% rename from target/linux/generic/patches-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch rename to 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 -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 similarity index 55% rename from target/linux/generic/patches-4.9/130-add-linux-spidev-compatible-si3210.patch rename to 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 +Subject: Add the linux,spidev compatible in spidev Several device in ramips have this binding in the dts Signed-off-by: Giuseppe Lippolis --- + 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 {}, }; 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 similarity index 72% rename from target/linux/generic/patches-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch rename to 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 -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 --- 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 similarity index 93% rename from target/linux/generic/patches-4.9/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch rename to 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 -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 similarity index 96% rename from target/linux/generic/patches-4.9/141-jffs2-add-RENAME_EXCHANGE-support.patch rename to 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 -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 --- 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 similarity index 100% rename from target/linux/generic/patches-4.9/150-bridge_allow_receiption_on_disabled_port.patch rename to 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 similarity index 96% rename from target/linux/generic/patches-4.9/160-mtd-part-add-generic-parsing-of-linux-part-probe.patch rename to 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 -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 similarity index 96% rename from target/linux/generic/patches-4.9/170-MIPS-PCI-add-controllers-before-the-specified-head.patch rename to 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 -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 similarity index 95% rename from target/linux/generic/patches-4.9/180-net-phy-at803x-add-support-for-AT8032.patch rename to 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 -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 +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 +--- + 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 similarity index 69% rename from target/linux/generic/patches-4.9/203-kallsyms_uncompressed.patch rename to 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 +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 +--- + 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 similarity index 54% rename from target/linux/generic/patches-4.9/205-backtrace_module_info.patch rename to 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 +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 +--- + 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 similarity index 58% rename from target/linux/generic/patches-4.9/206-mips-disable-vdso.patch rename to 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 +Subject: kernel: disable MIPS VDSO by default until the cache issues have been resolved +lede-commit: 1185e645a773c86aa88cf04d0e2911dc62eb43f5 Signed-off-by: Felix Fietkau +--- + 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 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 similarity index 58% rename from target/linux/generic/patches-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch rename to 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 +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 +--- + 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 +Subject: [PATCH] hack: net: wireless: make the wl12xx glue code available with + compat-wireless, too + +Signed-off-by: Imre Kaloz +--- + 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 similarity index 85% rename from target/linux/generic/patches-4.9/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch rename to 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 -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 similarity index 95% rename from target/linux/generic/patches-4.9/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch rename to 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 -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 similarity index 91% rename from target/linux/generic/patches-4.9/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch rename to 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 -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 similarity index 95% rename from target/linux/generic/patches-4.9/300-mips_expose_boot_raw.patch rename to 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 +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 +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 +--- + 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 similarity index 97% rename from target/linux/generic/patches-4.9/304-mips_disable_fpu.patch rename to 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 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 similarity index 88% rename from target/linux/generic/patches-4.9/305-mips_module_reloc.patch rename to 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 +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 +--- + 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 similarity index 66% rename from target/linux/generic/patches-4.9/306-mips_mem_functions_performance.patch rename to 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 +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 +--- + 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 +Subject: kernel: adjust mips highmem offset to avoid the need for -mlong-calls on systems with >256M RAM + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 69% rename from target/linux/generic/patches-4.9/308-mips32r2_tune.patch rename to 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 +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 +--- + 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 -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 +Subject: fix errors in unresolved weak symbols on arm + +lede-commit: 570699d4838a907c3ef9f2819bf19eb72997b32f +Signed-off-by: Felix Fietkau +--- + 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 similarity index 97% rename from target/linux/generic/patches-4.9/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch rename to 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 -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 --- 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 similarity index 93% rename from target/linux/generic/patches-4.9/332-arc-add-OWRTDTB-section.patch rename to 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 -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 similarity index 81% rename from target/linux/generic/patches-4.9/333-arc-enable-unaligned-access-in-kernel-mode.patch rename to 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 -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 similarity index 72% rename from target/linux/generic/patches-4.9/400-mtd-add-rootfs-split-support.patch rename to 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 +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 +--- + 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 similarity index 93% rename from target/linux/generic/patches-4.9/401-mtd-add-support-for-different-partition-parser-types.patch rename to 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 -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 --- 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 similarity index 67% rename from target/linux/generic/patches-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch rename to 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 +Subject: kernel/3.10: allow to use partition parsers for rootfs and firmware split + +lede-commit: 3b71cd94bc9517bc25267dccb393b07d4b54564e +Signed-off-by: Gabor Juhos +--- + 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 similarity index 51% rename from target/linux/generic/patches-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch rename to 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 +Subject: [PATCH] kernel/3.10: move squashfs check from rootfs split code into a separate file + +lede-commit: d89bea92b31b4e157a0fa438e75370f089f73427 +Signed-off-by: Gabor Juhos +--- + 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 similarity index 67% rename from target/linux/generic/patches-4.9/404-mtd-add-more-helper-functions.patch rename to 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 +Subject: kernel/3.10: add separate rootfs partition parser + +lede-commit: daec7ad7688415156e2730e401503d09bd3acf91 +Signed-off-by: Gabor Juhos +--- + 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 similarity index 81% rename from target/linux/generic/patches-4.9/411-mtd-partial_eraseblock_write.patch rename to 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 +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 +--- + 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 +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 +--- + 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 similarity index 60% rename from target/linux/generic/patches-4.9/420-mtd-redboot_space.patch rename to 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 +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 +--- + 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 similarity index 69% rename from target/linux/generic/patches-4.9/430-mtd-add-myloader-partition-parser.patch rename to 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 +Subject: Add myloader partition table parser + +[john@phozen.org: shoud be upstreamable] + +lede-commit: d8bf22859b51faa09d22c056fe221a45d2f7a3b8 +Signed-off-by: Florian Fainelli +--- + 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 similarity index 92% rename from target/linux/generic/patches-4.9/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch rename to 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?= -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 --- 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 similarity index 81% rename from target/linux/generic/patches-4.9/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch rename to 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?= -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 similarity index 71% rename from target/linux/generic/patches-4.9/440-block2mtd_init.patch rename to 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 +Subject: block2mtd + +Signed-off-by: Felix Fietkau +--- + 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 #include #include -@@ -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 similarity index 62% rename from target/linux/generic/patches-4.9/441-block2mtd_probe.patch rename to 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 +Subject: block2mtd + +Signed-off-by: Felix Fietkau +--- + 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 +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 +--- + 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 similarity index 82% rename from target/linux/generic/patches-4.9/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch rename to 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 +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 --- 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 +Subject: Disable software protection bits for Macronix flashes. + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 55% rename from target/linux/generic/patches-4.9/476-mtd-spi-nor-add-eon-en25q128.patch rename to 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 +Subject: kernel/mtd: add support for EON EN25Q128 + +Signed-off-by: Piotr Dymacz +--- + 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 similarity index 53% rename from target/linux/generic/patches-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch rename to 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 +Subject: linux/mtd: add id for mx25u3235f needed by ZyXEL NBG6817 + +Signed-off-by: André Valentin +--- + 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 similarity index 58% rename from target/linux/generic/patches-4.9/480-mtd-set-rootfs-to-be-root-dev.patch rename to 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 +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 +--- + 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 similarity index 89% rename from target/linux/generic/patches-4.9/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch rename to 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 -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 --- 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 similarity index 88% rename from target/linux/generic/patches-4.9/491-ubi-auto-create-ubiblock-device-for-rootfs.patch rename to 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 -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 --- 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 similarity index 81% rename from target/linux/generic/patches-4.9/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch rename to 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 -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 --- 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 similarity index 81% rename from target/linux/generic/patches-4.9/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch rename to 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 -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 --- 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 similarity index 64% rename from target/linux/generic/patches-4.9/494-mtd-ubi-add-EOF-marker-support.patch rename to 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 +Subject: mtd: add EOF marker support to the UBI layer + +Signed-off-by: Gabor Juhos +--- + 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 similarity index 97% rename from target/linux/generic/patches-4.9/530-jffs2_make_lzma_available.patch rename to 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 +Subject: fs: add jffs2/lzma support (not activated by default yet) + +lede-commit: c2c88d315fa0e881f8b19da07b62859b915b11b2 +Signed-off-by: Alexandros C. Couloumbis +--- + 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 similarity index 69% rename from target/linux/generic/patches-4.9/532-jffs2_eofdetect.patch rename to 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 +Subject: fs: jffs2: EOF marker + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 64% rename from target/linux/generic/patches-4.9/551-ubifs-fix-default-compression-selection.patch rename to 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 +Subject: fs: ubifs: fix default compression selection in ubifs + +Signed-off-by: Gabor Juhos +--- + 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 similarity index 77% rename from target/linux/generic/patches-4.9/600-netfilter_conntrack_flush.patch rename to 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 +Subject: netfilter: add support for flushing conntrack via /proc + +lede-commit 8193bbe59a74d34d6a26d4a8cb857b1952905314 +Signed-off-by: Felix Fietkau +--- + 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 #ifdef CONFIG_SYSCTL #include -@@ -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 similarity index 70% rename from target/linux/generic/patches-4.9/610-netfilter_match_bypass_default_checks.patch rename to 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 +Subject: kernel: add a new version of my netfilter speedup patches for linux 2.6.39 and 3.0 + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 87% rename from target/linux/generic/patches-4.9/611-netfilter_match_bypass_default_table.patch rename to 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 +Subject: netfilter: match bypass default table + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 60% rename from target/linux/generic/patches-4.9/612-netfilter_match_reduce_memory_access.patch rename to 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 +Subject: netfilter: reduce match memory access + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 65% rename from target/linux/generic/patches-4.9/613-netfilter_optional_tcp_window_check.patch rename to 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 +Subject: netfilter: optional tcp window check + +Signed-off-by: Felix Fietkau +--- + 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 +Subject: kernel: add a small xfrm related performance optimization + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 70% rename from target/linux/generic/patches-4.9/630-packet_socket_type.patch rename to 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 +Subject: net: add an optimization for dealing with raw sockets +lede-commit: 4898039703d7315f0f3431c860123338ec3be0f6 Signed-off-by: Felix Fietkau +--- + 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 #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 /* * 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 /* * 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 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 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 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 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 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 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 }; 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 +Subject: pppoe: add extra padding for the header (useful for drivers that need headroom) + +lede-commit 6517a757ec711fc3354b857e273e2621042f3c7a +Signed-off-by: Felix Fietkau +--- + 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 +Subject: kernel: add a few patches for avoiding unnecessary skb reallocations - significantly improves ethernet<->wireless performance + +lede-commit: 6f89cffc9add6939d44a6b54cf9a5e77849aa7fd +Signed-off-by: Felix Fietkau +--- + 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 similarity index 94% rename from target/linux/generic/patches-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch rename to 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 -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 /** * 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 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 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 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 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 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 } 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 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 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 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 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 similarity index 93% rename from target/linux/generic/patches-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch rename to 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 -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 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 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 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 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 #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 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 #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 similarity index 85% rename from target/linux/generic/patches-4.9/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch rename to 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 -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 similarity index 71% rename from target/linux/generic/patches-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch rename to 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 +Subject: net: replace GRO optimization patch with a new one that supports VLANs/bridges with different MAC addresses Signed-off-by: Felix Fietkau +--- + 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 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 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 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 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 /** * 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 /* * 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 similarity index 98% rename from target/linux/generic/patches-4.9/681-NET-add-of_get_mac_address_mtd.patch rename to 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 -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 similarity index 72% rename from target/linux/generic/patches-4.9/701-phy_extension.patch rename to 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 +Subject: net: phy: add phy_ethtool_ioctl() + +Signed-off-by: John Crispin +--- + 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 +Subject: generic: add detach callback to struct phy_driver + +lede-commit: fe61fc2d7d0b3fb348b502f68f98243b3ddf5867 + +Signed-off-by: Gabor Juhos +--- + 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 similarity index 55% rename from target/linux/generic/patches-4.9/704-phy-no-genphy-soft-reset.patch rename to 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 +Subject: net: phy: disable soft-reset for generic PHY devices to avoid accidentally clearing preinitialized state + +Signed-off-by: Felix Fietkau +--- + 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 similarity index 74% rename from target/linux/generic/patches-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch rename to 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 +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 +--- + 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 similarity index 63% rename from target/linux/generic/patches-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch rename to 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 +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 +--- + 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 similarity index 66% rename from target/linux/generic/patches-4.9/810-pci_disable_common_quirks.patch rename to 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 +Subject: debloat: add kernel config option to disabling common PCI quirks + +Signed-off-by: Gabor Juhos +--- + 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 similarity index 73% rename from target/linux/generic/patches-4.9/811-pci_disable_usb_common_quirks.patch rename to 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 +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 +--- + 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 similarity index 94% rename from target/linux/generic/patches-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch rename to 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 -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 +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 +--- + 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 similarity index 94% rename from target/linux/generic/patches-4.9/834-ledtrig-libata.patch rename to 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 -Date: Fri, 12 Dec 2014 13:38:33 +0100 -Subject: [PATCH] libata: add ledtrig support -To: linux-ide@vger.kernel.org, - Tejun Heo +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 +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 +Signed-off-by: Felix Fietkau +--- + 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 similarity index 63% rename from target/linux/generic/patches-4.9/920-mangle_bootargs.patch rename to 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 +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 +--- + 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 + -- 2.25.1