kernel: remove linux 4.1 support
authorFelix Fietkau <nbd@nbd.name>
Tue, 10 Jan 2017 17:15:39 +0000 (18:15 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 11 Jan 2017 12:09:33 +0000 (13:09 +0100)
The only target still referencing it is omap24xx, and it is marked as
broken.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
187 files changed:
include/kernel-version.mk
target/linux/generic/config-4.1 [deleted file]
target/linux/generic/patches-4.1/010-perf-tools-Create-config.detected-into-OUTPUT-direct.patch [deleted file]
target/linux/generic/patches-4.1/011-perf-tools-Fix-makefile-generation-under-dash.patch [deleted file]
target/linux/generic/patches-4.1/020-ssb-backport.patch [deleted file]
target/linux/generic/patches-4.1/021-ssb_sprom.patch [deleted file]
target/linux/generic/patches-4.1/022-bcma-from-4.2.patch [deleted file]
target/linux/generic/patches-4.1/023-bcma-from-4.4.patch [deleted file]
target/linux/generic/patches-4.1/024-bcma-from-4.5.patch [deleted file]
target/linux/generic/patches-4.1/025-bcma-from-4.6.patch [deleted file]
target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch [deleted file]
target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch [deleted file]
target/linux/generic/patches-4.1/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch [deleted file]
target/linux/generic/patches-4.1/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch [deleted file]
target/linux/generic/patches-4.1/050-backport_netfilter_rtcache.patch [deleted file]
target/linux/generic/patches-4.1/060-mips_decompressor_memmove.patch [deleted file]
target/linux/generic/patches-4.1/072-13-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch [deleted file]
target/linux/generic/patches-4.1/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch [deleted file]
target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch [deleted file]
target/linux/generic/patches-4.1/081-solos-pci-Increase-headroom-on-received-packets.patch [deleted file]
target/linux/generic/patches-4.1/082-usb-core-Introduce-a-USB-port-LED-trigger.patch [deleted file]
target/linux/generic/patches-4.1/090-m25p80_spi-nor_update_to_4.4rc1.patch [deleted file]
target/linux/generic/patches-4.1/095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch [deleted file]
target/linux/generic/patches-4.1/097-mm-remove-gup_flags-FOLL_WRITE-games-from-__get_user.patch [deleted file]
target/linux/generic/patches-4.1/102-ehci_hcd_ignore_oc.patch [deleted file]
target/linux/generic/patches-4.1/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch [deleted file]
target/linux/generic/patches-4.1/111-jffs2-add-RENAME_EXCHANGE-support.patch [deleted file]
target/linux/generic/patches-4.1/120-bridge_allow_receiption_on_disabled_port.patch [deleted file]
target/linux/generic/patches-4.1/132-mips_inline_dma_ops.patch [deleted file]
target/linux/generic/patches-4.1/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch [deleted file]
target/linux/generic/patches-4.1/140-mtd-part-add-generic-parsing-of-linux-part-probe.patch [deleted file]
target/linux/generic/patches-4.1/141-Revert-mtd-spi-nor-disable-protection-for-Winbond-fl.patch [deleted file]
target/linux/generic/patches-4.1/142-mtd-spi-nor-include-mtd.h-header-for-struct-mtd_info.patch [deleted file]
target/linux/generic/patches-4.1/143-mtd-bcm47xxpart-limit-scanned-flash-area-on-BCM47XX-.patch [deleted file]
target/linux/generic/patches-4.1/144-mtd-bcm47xxpart-don-t-fail-because-of-bit-flips.patch [deleted file]
target/linux/generic/patches-4.1/180-usb-xhci-make-USB_XHCI_PLATFORM-selectable.patch [deleted file]
target/linux/generic/patches-4.1/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch [deleted file]
target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch [deleted file]
target/linux/generic/patches-4.1/200-fix_localversion.patch [deleted file]
target/linux/generic/patches-4.1/201-extra_optimization.patch [deleted file]
target/linux/generic/patches-4.1/202-reduce_module_size.patch [deleted file]
target/linux/generic/patches-4.1/203-kallsyms_uncompressed.patch [deleted file]
target/linux/generic/patches-4.1/204-module_strip.patch [deleted file]
target/linux/generic/patches-4.1/205-backtrace_module_info.patch [deleted file]
target/linux/generic/patches-4.1/210-darwin_scripts_include.patch [deleted file]
target/linux/generic/patches-4.1/212-byteshift_portability.patch [deleted file]
target/linux/generic/patches-4.1/214-spidev_h_portability.patch [deleted file]
target/linux/generic/patches-4.1/220-gc_sections.patch [deleted file]
target/linux/generic/patches-4.1/221-module_exports.patch [deleted file]
target/linux/generic/patches-4.1/222-perf-build-Do-not-fail-on-missing-Build-file.patch [deleted file]
target/linux/generic/patches-4.1/230-openwrt_lzma_options.patch [deleted file]
target/linux/generic/patches-4.1/250-netfilter_depends.patch [deleted file]
target/linux/generic/patches-4.1/251-sound_kconfig.patch [deleted file]
target/linux/generic/patches-4.1/252-mv_cesa_depends.patch [deleted file]
target/linux/generic/patches-4.1/253-ssb_b43_default_on.patch [deleted file]
target/linux/generic/patches-4.1/254-textsearch_kconfig_hacks.patch [deleted file]
target/linux/generic/patches-4.1/255-lib80211_kconfig_hacks.patch [deleted file]
target/linux/generic/patches-4.1/256-crypto_add_kconfig_prompts.patch [deleted file]
target/linux/generic/patches-4.1/257-wireless_ext_kconfig_hack.patch [deleted file]
target/linux/generic/patches-4.1/258-netfilter_netlink_kconfig_hack.patch [deleted file]
target/linux/generic/patches-4.1/259-regmap_dynamic.patch [deleted file]
target/linux/generic/patches-4.1/260-crypto_test_dependencies.patch [deleted file]
target/linux/generic/patches-4.1/270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch [deleted file]
target/linux/generic/patches-4.1/271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch [deleted file]
target/linux/generic/patches-4.1/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch [deleted file]
target/linux/generic/patches-4.1/300-mips_expose_boot_raw.patch [deleted file]
target/linux/generic/patches-4.1/301-mips_image_cmdline_hack.patch [deleted file]
target/linux/generic/patches-4.1/302-mips_no_branch_likely.patch [deleted file]
target/linux/generic/patches-4.1/304-mips_disable_fpu.patch [deleted file]
target/linux/generic/patches-4.1/305-mips_module_reloc.patch [deleted file]
target/linux/generic/patches-4.1/306-mips_mem_functions_performance.patch [deleted file]
target/linux/generic/patches-4.1/307-mips_highmem_offset.patch [deleted file]
target/linux/generic/patches-4.1/310-arm_module_unresolved_weak_sym.patch [deleted file]
target/linux/generic/patches-4.1/320-ppc4xx_optimization.patch [deleted file]
target/linux/generic/patches-4.1/321-powerpc_crtsavres_prereq.patch [deleted file]
target/linux/generic/patches-4.1/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch [deleted file]
target/linux/generic/patches-4.1/400-mtd-add-rootfs-split-support.patch [deleted file]
target/linux/generic/patches-4.1/401-mtd-add-support-for-different-partition-parser-types.patch [deleted file]
target/linux/generic/patches-4.1/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch [deleted file]
target/linux/generic/patches-4.1/403-mtd-hook-mtdsplit-to-Kbuild.patch [deleted file]
target/linux/generic/patches-4.1/404-mtd-add-more-helper-functions.patch [deleted file]
target/linux/generic/patches-4.1/405-mtd-old-firmware-uimage-splitter.patch [deleted file]
target/linux/generic/patches-4.1/410-mtd-move-forward-declaration-of-struct-mtd_info.patch [deleted file]
target/linux/generic/patches-4.1/411-mtd-partial_eraseblock_write.patch [deleted file]
target/linux/generic/patches-4.1/412-mtd-partial_eraseblock_unlock.patch [deleted file]
target/linux/generic/patches-4.1/420-mtd-redboot_space.patch [deleted file]
target/linux/generic/patches-4.1/430-mtd-add-myloader-partition-parser.patch [deleted file]
target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch [deleted file]
target/linux/generic/patches-4.1/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch [deleted file]
target/linux/generic/patches-4.1/440-block2mtd_init.patch [deleted file]
target/linux/generic/patches-4.1/441-block2mtd_probe.patch [deleted file]
target/linux/generic/patches-4.1/450-mtd-nand-allow-to-use-platform-specific-chip-fixup.patch [deleted file]
target/linux/generic/patches-4.1/451-mtd-nand-fix-return-code-of-nand_correct_data-function.patch [deleted file]
target/linux/generic/patches-4.1/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch [deleted file]
target/linux/generic/patches-4.1/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch [deleted file]
target/linux/generic/patches-4.1/465-m25p80-mx-disable-software-protection.patch [deleted file]
target/linux/generic/patches-4.1/480-mtd-set-rootfs-to-be-root-dev.patch [deleted file]
target/linux/generic/patches-4.1/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch [deleted file]
target/linux/generic/patches-4.1/491-ubi-auto-create-ubiblock-device-for-rootfs.patch [deleted file]
target/linux/generic/patches-4.1/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch [deleted file]
target/linux/generic/patches-4.1/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch [deleted file]
target/linux/generic/patches-4.1/494-mtd-ubi-add-EOF-marker-support.patch [deleted file]
target/linux/generic/patches-4.1/500-yaffs-Kbuild-integration.patch [deleted file]
target/linux/generic/patches-4.1/502-yaffs-fix-compat-tags-handling.patch [deleted file]
target/linux/generic/patches-4.1/503-yaffs-add-tags-9bytes-mount-option.patch [deleted file]
target/linux/generic/patches-4.1/504-yaffs-3.16-new-fops.patch [deleted file]
target/linux/generic/patches-4.1/505-yaffs-3.19-f_dentry-remove.patch [deleted file]
target/linux/generic/patches-4.1/530-jffs2_make_lzma_available.patch [deleted file]
target/linux/generic/patches-4.1/531-debloat_lzma.patch [deleted file]
target/linux/generic/patches-4.1/532-jffs2_eofdetect.patch [deleted file]
target/linux/generic/patches-4.1/551-ubifs-fix-default-compression-selection.patch [deleted file]
target/linux/generic/patches-4.1/600-netfilter_conntrack_flush.patch [deleted file]
target/linux/generic/patches-4.1/610-netfilter_match_bypass_default_checks.patch [deleted file]
target/linux/generic/patches-4.1/611-netfilter_match_bypass_default_table.patch [deleted file]
target/linux/generic/patches-4.1/612-netfilter_match_reduce_memory_access.patch [deleted file]
target/linux/generic/patches-4.1/613-netfilter_optional_tcp_window_check.patch [deleted file]
target/linux/generic/patches-4.1/616-net_optimize_xfrm_calls.patch [deleted file]
target/linux/generic/patches-4.1/630-packet_socket_type.patch [deleted file]
target/linux/generic/patches-4.1/640-bridge_no_eap_forward.patch [deleted file]
target/linux/generic/patches-4.1/641-bridge_always_accept_eap.patch [deleted file]
target/linux/generic/patches-4.1/642-bridge_port_isolate.patch [deleted file]
target/linux/generic/patches-4.1/645-bridge_multicast_to_unicast.patch [deleted file]
target/linux/generic/patches-4.1/650-pppoe_header_pad.patch [deleted file]
target/linux/generic/patches-4.1/651-wireless_mesh_header.patch [deleted file]
target/linux/generic/patches-4.1/653-disable_netlink_trim.patch [deleted file]
target/linux/generic/patches-4.1/655-increase_skb_pad.patch [deleted file]
target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch [deleted file]
target/linux/generic/patches-4.1/657-qdisc_reduce_truesize.patch [deleted file]
target/linux/generic/patches-4.1/660-fq_codel_defaults.patch [deleted file]
target/linux/generic/patches-4.1/661-fq_codel_keep_dropped_stats.patch [deleted file]
target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch [deleted file]
target/linux/generic/patches-4.1/663-remove_pfifo_fast.patch [deleted file]
target/linux/generic/patches-4.1/664-codel_fix_3_12.patch [deleted file]
target/linux/generic/patches-4.1/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch [deleted file]
target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch [deleted file]
target/linux/generic/patches-4.1/671-net-provide-defines-for-_POLICY_FAILED-until-all-cod.patch [deleted file]
target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch [deleted file]
target/linux/generic/patches-4.1/681-NET-add-of_get_mac_address_mtd.patch [deleted file]
target/linux/generic/patches-4.1/700-swconfig.patch [deleted file]
target/linux/generic/patches-4.1/701-phy_extension.patch [deleted file]
target/linux/generic/patches-4.1/702-phy_add_aneg_done_function.patch [deleted file]
target/linux/generic/patches-4.1/703-phy-add-detach-callback-to-struct-phy_driver.patch [deleted file]
target/linux/generic/patches-4.1/704-phy-no-genphy-soft-reset.patch [deleted file]
target/linux/generic/patches-4.1/710-phy-add-mdio_register_board_info.patch [deleted file]
target/linux/generic/patches-4.1/720-phy_adm6996.patch [deleted file]
target/linux/generic/patches-4.1/721-phy_packets.patch [deleted file]
target/linux/generic/patches-4.1/722-phy_mvswitch.patch [deleted file]
target/linux/generic/patches-4.1/723-phy_ip175c.patch [deleted file]
target/linux/generic/patches-4.1/724-phy_ar8216.patch [deleted file]
target/linux/generic/patches-4.1/725-phy_rtl8306.patch [deleted file]
target/linux/generic/patches-4.1/726-phy_rtl8366.patch [deleted file]
target/linux/generic/patches-4.1/727-phy-rtl8367.patch [deleted file]
target/linux/generic/patches-4.1/728-phy-rtl8367b.patch [deleted file]
target/linux/generic/patches-4.1/729-phy-tantos.patch [deleted file]
target/linux/generic/patches-4.1/730-phy_b53.patch [deleted file]
target/linux/generic/patches-4.1/732-phy-ar8216-led-support.patch [deleted file]
target/linux/generic/patches-4.1/733-phy_mvsw61xx.patch [deleted file]
target/linux/generic/patches-4.1/734-net-phy-at803x-allow-to-configure-via-pdata.patch [deleted file]
target/linux/generic/patches-4.1/735-net-phy-at803x-fix-at8033-sgmii-mode.patch [deleted file]
target/linux/generic/patches-4.1/760-8139cp-fixes-from-4.3.patch [deleted file]
target/linux/generic/patches-4.1/761-8139cp-fixes-from-4.4.patch [deleted file]
target/linux/generic/patches-4.1/773-bgmac-add-srab-switch.patch [deleted file]
target/linux/generic/patches-4.1/785-hso-support-0af0-9300.patch [deleted file]
target/linux/generic/patches-4.1/810-pci_disable_common_quirks.patch [deleted file]
target/linux/generic/patches-4.1/811-pci_disable_usb_common_quirks.patch [deleted file]
target/linux/generic/patches-4.1/831-ledtrig_netdev.patch [deleted file]
target/linux/generic/patches-4.1/834-ledtrig-libata.patch [deleted file]
target/linux/generic/patches-4.1/840-rtc7301.patch [deleted file]
target/linux/generic/patches-4.1/841-rtc_pt7c4338.patch [deleted file]
target/linux/generic/patches-4.1/861-04_spi_gpio_implement_spi_delay.patch [deleted file]
target/linux/generic/patches-4.1/862-gpio_spi_driver.patch [deleted file]
target/linux/generic/patches-4.1/870-hifn795x_byteswap.patch [deleted file]
target/linux/generic/patches-4.1/890-8250_optional_sysrq.patch [deleted file]
target/linux/generic/patches-4.1/901-debloat_sock_diag.patch [deleted file]
target/linux/generic/patches-4.1/902-debloat_proc.patch [deleted file]
target/linux/generic/patches-4.1/903-debloat_direct_io.patch [deleted file]
target/linux/generic/patches-4.1/904-debloat_dma_buf.patch [deleted file]
target/linux/generic/patches-4.1/910-kobject_uevent.patch [deleted file]
target/linux/generic/patches-4.1/911-kobject_add_broadcast_uevent.patch [deleted file]
target/linux/generic/patches-4.1/921-use_preinit_as_init.patch [deleted file]
target/linux/generic/patches-4.1/922-always-create-console-node-in-initramfs.patch [deleted file]
target/linux/generic/patches-4.1/930-crashlog.patch [deleted file]
target/linux/generic/patches-4.1/970-remove-unsane-filenames-from-deps_initramfs-list.patch [deleted file]
target/linux/generic/patches-4.1/980-arm_openwrt_machtypes.patch [deleted file]
target/linux/generic/patches-4.1/995-mangle_bootargs.patch [deleted file]
target/linux/generic/patches-4.1/997-device_tree_cmdline.patch [deleted file]
target/linux/generic/patches-4.1/998-enable_wilink_platform_without_drivers.patch [deleted file]

index faf0e23..857f53a 100644 (file)
@@ -3,11 +3,9 @@
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .43
-LINUX_VERSION-4.1 = .34
 LINUX_VERSION-4.4 = .40
 
 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.1.34 = 412316b32b5c7a513ba3ab8e68fc443db4d9423f07b577473089def0ee7406af
 LINUX_KERNEL_HASH-4.4.40 = c4bc5ed6e73ed7393cc1b3714b822664224ab866db114eed663de1315718a4e1
 
 ifdef KERNEL_PATCHVER
diff --git a/target/linux/generic/config-4.1 b/target/linux/generic/config-4.1
deleted file mode 100644 (file)
index 980e513..0000000
+++ /dev/null
@@ -1,4821 +0,0 @@
-CONFIG_32BIT=y
-# CONFIG_6LOWPAN is not set
-# CONFIG_6PACK is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_9P_FS is not set
-# CONFIG_AB3100_CORE is not set
-# CONFIG_AB8500_CORE is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_ACENIC is not set
-# CONFIG_ACERHDF is not set
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_ACPI_APEI is not set
-# CONFIG_ACPI_BUTTON is not set
-# CONFIG_ACPI_CUSTOM_METHOD is not set
-# CONFIG_ACPI_EXTLOG is not set
-# CONFIG_ACPI_HED is not set
-# CONFIG_ACPI_INT3403_THERMAL is not set
-# CONFIG_ACPI_POWER_METER is not set
-# CONFIG_ACPI_QUICKSTART is not set
-# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
-# CONFIG_AD2S1200 is not set
-# CONFIG_AD2S1210 is not set
-# CONFIG_AD2S90 is not set
-# CONFIG_AD5064 is not set
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_AD5360 is not set
-# CONFIG_AD5380 is not set
-# CONFIG_AD5421 is not set
-# CONFIG_AD5446 is not set
-# CONFIG_AD5449 is not set
-# CONFIG_AD5504 is not set
-# CONFIG_AD5624R_SPI is not set
-# CONFIG_AD5686 is not set
-# CONFIG_AD5755 is not set
-# CONFIG_AD5764 is not set
-# CONFIG_AD5791 is not set
-# CONFIG_AD5930 is not set
-# CONFIG_AD5933 is not set
-# CONFIG_AD7150 is not set
-# CONFIG_AD7152 is not set
-# CONFIG_AD7192 is not set
-# CONFIG_AD7266 is not set
-# CONFIG_AD7280 is not set
-# CONFIG_AD7291 is not set
-# CONFIG_AD7298 is not set
-# CONFIG_AD7303 is not set
-# CONFIG_AD7476 is not set
-# CONFIG_AD7606 is not set
-# CONFIG_AD7746 is not set
-# CONFIG_AD7780 is not set
-# CONFIG_AD7791 is not set
-# CONFIG_AD7793 is not set
-# CONFIG_AD7816 is not set
-# CONFIG_AD7887 is not set
-# CONFIG_AD7923 is not set
-# CONFIG_AD799X is not set
-# CONFIG_AD8366 is not set
-# CONFIG_AD9523 is not set
-# CONFIG_AD9832 is not set
-# CONFIG_AD9834 is not set
-# CONFIG_AD9850 is not set
-# CONFIG_AD9852 is not set
-# CONFIG_AD9910 is not set
-# CONFIG_AD9951 is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_ADE7753 is not set
-# CONFIG_ADE7754 is not set
-# CONFIG_ADE7758 is not set
-# CONFIG_ADE7759 is not set
-# CONFIG_ADE7854 is not set
-# CONFIG_ADF4350 is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADIS16060 is not set
-# CONFIG_ADIS16080 is not set
-# CONFIG_ADIS16130 is not set
-# CONFIG_ADIS16136 is not set
-# CONFIG_ADIS16201 is not set
-# CONFIG_ADIS16203 is not set
-# CONFIG_ADIS16204 is not set
-# CONFIG_ADIS16209 is not set
-# CONFIG_ADIS16220 is not set
-# CONFIG_ADIS16240 is not set
-# CONFIG_ADIS16255 is not set
-# CONFIG_ADIS16260 is not set
-# CONFIG_ADIS16400 is not set
-# CONFIG_ADIS16480 is not set
-# CONFIG_ADJD_S311 is not set
-# CONFIG_ADM6996_PHY is not set
-# CONFIG_ADM8211 is not set
-# CONFIG_ADT7316 is not set
-# CONFIG_ADVISE_SYSCALLS is not set
-# CONFIG_ADXRS450 is not set
-CONFIG_AEABI=y
-# CONFIG_AFFS_FS is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_AF_RXRPC is not set
-# CONFIG_AGP is not set
-# CONFIG_AHCI_MVEBU is not set
-CONFIG_AIO=y
-# CONFIG_AIRO is not set
-# CONFIG_AIRO_CS is not set
-# CONFIG_AIX_PARTITION is not set
-# CONFIG_AK09911 is not set
-# CONFIG_AK8975 is not set
-# CONFIG_AL3320A is not set
-# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
-# CONFIG_ALIM7101_WDT is not set
-CONFIG_ALLOW_DEV_COREDUMP=y
-# CONFIG_ALTERA_MBOX is not set
-# CONFIG_ALTERA_STAPL is not set
-# CONFIG_ALTERA_TSE is not set
-# CONFIG_ALX is not set
-# CONFIG_AM335X_PHY_USB is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_AMD_XGBE is not set
-# CONFIG_AMD_XGBE_PHY is not set
-# CONFIG_AMD_PHY is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_AMILO_RFKILL is not set
-# CONFIG_ANDROID is not set
-CONFIG_ANON_INODES=y
-# CONFIG_APDS9300 is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_APM8018X is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_AR5523 is not set
-# CONFIG_AR7 is not set
-# CONFIG_AR8216_PHY is not set
-# CONFIG_AR8216_PHY_LEDS is not set
-# CONFIG_ARCH_ALPINE is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCM is not set
-# CONFIG_ARCH_BCM2835 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_BERLIN is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_DIGICOLOR is not set
-# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
-# CONFIG_ARCH_DOVE is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_EXYNOS is not set
-CONFIG_ARCH_FLATMEM_ENABLE=y
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-# CONFIG_ARCH_HI3xxx is not set
-# CONFIG_ARCH_HIGHBANK is not set
-# CONFIG_ARCH_HISI is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_KEYSTONE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_MSM_DT is not set
-# CONFIG_ARCH_MSM_NODT is not set
-# CONFIG_ARCH_MULTIPLATFORM is not set
-# CONFIG_ARCH_MULTI_V6 is not set
-# CONFIG_ARCH_MULTI_V7 is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_MVEBU is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_NSPIRE is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_OMAP1 is not set
-# CONFIG_ARCH_OMAP2PLUS is not set
-# CONFIG_ARCH_OMAP3 is not set
-# CONFIG_ARCH_OMAP4 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-# CONFIG_ARCH_PICOXCELL is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PRIMA2 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_QCOM is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_ROCKCHIP is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_S3C24XX is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_SHMOBILE_LEGACY is not set
-# CONFIG_ARCH_SHMOBILE_MULTI is not set
-# CONFIG_ARCH_SIRF is not set
-# CONFIG_ARCH_SOCFPGA is not set
-# CONFIG_ARCH_STI is not set
-# CONFIG_ARCH_SUNXI is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_VEXPRESS is not set
-# CONFIG_ARCH_VIRT is not set
-# CONFIG_ARCH_VT8500 is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_WM8505 is not set
-# CONFIG_ARCH_WM8850 is not set
-# CONFIG_ARCH_ZYNQ is not set
-# CONFIG_ARCNET is not set
-# CONFIG_ARC_EMAC is not set
-# CONFIG_ARM_APPENDED_DTB is not set
-# CONFIG_ARM_ARCH_TIMER is not set
-# CONFIG_ARM_AT91_ETHER is not set
-# CONFIG_ARM_CCI is not set
-# CONFIG_ARM_CCI400_PMU is not set
-# CONFIG_ARM_CCN is not set
-# CONFIG_ARM_CRYPTO is not set
-CONFIG_ARM_CPU_TOPOLOGY=y
-# CONFIG_ARM_CPUIDLE is not set
-# CONFIG_ARM_CRYPTO is not set
-CONFIG_ARM_DMA_MEM_BUFFERABLE=y
-# CONFIG_ARM_ERRATA_326103 is not set
-# CONFIG_ARM_ERRATA_364296 is not set
-# CONFIG_ARM_ERRATA_411920 is not set
-# CONFIG_ARM_ERRATA_430973 is not set
-# CONFIG_ARM_ERRATA_458693 is not set
-# CONFIG_ARM_ERRATA_460075 is not set
-# CONFIG_ARM_ERRATA_643719 is not set
-# CONFIG_ARM_ERRATA_720789 is not set
-# CONFIG_ARM_ERRATA_742230 is not set
-# CONFIG_ARM_ERRATA_742231 is not set
-# CONFIG_ARM_ERRATA_743622 is not set
-# CONFIG_ARM_ERRATA_751472 is not set
-# CONFIG_ARM_ERRATA_754322 is not set
-# CONFIG_ARM_ERRATA_754327 is not set
-# CONFIG_ARM_ERRATA_764369 is not set
-# CONFIG_ARM_ERRATA_773022 is not set
-# CONFIG_ARM_ERRATA_775420 is not set
-# CONFIG_ARM_ERRATA_798181 is not set
-# CONFIG_ARM_KERNMEM_PERMS is not set
-# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
-# CONFIG_ARM_KPROBES_TEST is not set
-# CONFIG_ARM_MHU is not set
-# CONFIG_ARM_PATCH_PHYS_VIRT is not set
-# CONFIG_ARM_PSCI is not set
-# CONFIG_ARM_PTDUMP is not set
-# CONFIG_ARM_UNWIND is not set
-# CONFIG_ARM_VIRT_EXT is not set
-CONFIG_ARPD=y
-# CONFIG_ARTHUR is not set
-# CONFIG_AS3935 is not set
-# CONFIG_ASM9260_TIMER is not set
-# CONFIG_ASUS_LAPTOP is not set
-# CONFIG_ASUS_OLED is not set
-# CONFIG_ASYMMETRIC_KEY_TYPE is not set
-# CONFIG_ASYNC_RAID6_TEST is not set
-# CONFIG_ASYNC_TX_DMA is not set
-# CONFIG_AT76C50X_USB is not set
-# CONFIG_AT803X_PHY is not set
-# CONFIG_ATA is not set
-# CONFIG_ATAGS is not set
-CONFIG_ATAGS_PROC=y
-# CONFIG_ATALK is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_ATA_ACPI is not set
-CONFIG_ATA_BMDMA=y
-# CONFIG_ATA_GENERIC is not set
-# CONFIG_ATA_NONSTANDARD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_ATA_PIIX is not set
-CONFIG_ATA_SFF=y
-# CONFIG_ATA_VERBOSE_ERROR is not set
-# CONFIG_ATH10K is not set
-# CONFIG_ATH25 is not set
-# CONFIG_ATH5K is not set
-# CONFIG_ATH6KL is not set
-# CONFIG_ATH6K_LEGACY is not set
-# CONFIG_ATH79 is not set
-# CONFIG_ATH9K is not set
-# CONFIG_ATH9K_HTC is not set
-# CONFIG_ATH_DEBUG is not set
-# CONFIG_ATL1 is not set
-# CONFIG_ATL1C is not set
-# CONFIG_ATL1E is not set
-# CONFIG_ATL2 is not set
-# CONFIG_ATM is not set
-# CONFIG_ATMEL is not set
-# CONFIG_ATMEL_PIT is not set
-# CONFIG_ATMEL_PWM is not set
-# CONFIG_ATMEL_SSC is not set
-# CONFIG_ATM_AMBASSADOR is not set
-# CONFIG_ATM_BR2684 is not set
-CONFIG_ATM_BR2684_IPFILTER=y
-# CONFIG_ATM_CLIP is not set
-CONFIG_ATM_CLIP_NO_ICMP=y
-# CONFIG_ATM_DRIVERS is not set
-# CONFIG_ATM_DUMMY is not set
-# CONFIG_ATM_ENI is not set
-# CONFIG_ATM_FIRESTREAM is not set
-# CONFIG_ATM_FORE200E is not set
-# CONFIG_ATM_HE is not set
-# CONFIG_ATM_HORIZON is not set
-# CONFIG_ATM_IA is not set
-# CONFIG_ATM_IDT77252 is not set
-# CONFIG_ATM_LANAI is not set
-# CONFIG_ATM_LANE is not set
-# CONFIG_ATM_MPOA is not set
-# CONFIG_ATM_NICSTAR is not set
-# CONFIG_ATM_SOLOS is not set
-# CONFIG_ATM_TCP is not set
-# CONFIG_ATM_ZATM is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_ATP is not set
-# CONFIG_AUDIT is not set
-# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
-# CONFIG_AUDIT_LOGINUID_IMMUTABLE is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_AUTO_ZRELADDR is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_AVERAGE is not set
-# CONFIG_AX25 is not set
-# CONFIG_AX25_DAMA_SLAVE is not set
-# CONFIG_AX88796 is not set
-# CONFIG_AXP288_ADC is not set
-# CONFIG_AXP288_FUEL_GAUGE is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-# CONFIG_B44 is not set
-# CONFIG_SWCONFIG_B53 is not set
-# CONFIG_SWCONFIG_B53_SPI_DRIVER is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set 
-# CONFIG_BACKLIGHT_ADP8870 is not set
-# CONFIG_BACKLIGHT_BD6107 is not set
-# CONFIG_BACKLIGHT_GPIO is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-# CONFIG_BACKLIGHT_LM3630 is not set
-# CONFIG_BACKLIGHT_LM3630A is not set
-# CONFIG_BACKLIGHT_LM3639 is not set
-# CONFIG_BACKLIGHT_LP855X is not set
-# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PANDORA is not set
-# CONFIG_BACKLIGHT_RPI is not set
-# CONFIG_BACKLIGHT_SAHARA is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-CONFIG_BASE_FULL=y
-CONFIG_BASE_SMALL=0
-# CONFIG_BATMAN_ADV is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2781 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_GAUGE_LTC2941 is not set
-# CONFIG_BATTERY_GOLDFISH is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_BATTERY_SBS is not set
-# CONFIG_BAYCOM_EPP is not set
-# CONFIG_BAYCOM_PAR is not set
-# CONFIG_BAYCOM_SER_FDX is not set
-# CONFIG_BAYCOM_SER_HDX is not set
-# CONFIG_BCACHE is not set
-# CONFIG_BCM3384 is not set
-# CONFIG_BCM47XX is not set
-# CONFIG_BCM63XX is not set
-# CONFIG_BCM63XX_PHY is not set
-# CONFIG_BCM7XXX_PHY is not set
-# CONFIG_BCM87XX_PHY is not set
-# CONFIG_BCMA is not set
-# CONFIG_BCMA_DRIVER_GPIO is not set
-CONFIG_BCMA_POSSIBLE=y
-# CONFIG_BCMGENET is not set
-# CONFIG_BCM_KONA_USB2_PHY is not set
-# CONFIG_BCM_WIMAX is not set
-# CONFIG_BDI_SWITCH is not set
-# CONFIG_BE2ISCSI is not set
-# CONFIG_BE2NET is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_BGMAC is not set
-# CONFIG_BIG_KEYS is not set
-# CONFIG_BIG_LITTLE is not set
-# CONFIG_BINARY_PRINTF is not set
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-CONFIG_BINFMT_SCRIPT=y
-CONFIG_BITREVERSE=y
-# CONFIG_BLK_CMDLINE_PARSER is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_CPQ_DA is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_BLK_DEV_4DRIVES is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI14XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_BLK_DEV_ATIIXP is not set
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_CMD640 is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_CS5535 is not set
-# CONFIG_BLK_DEV_CS5536 is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_DELKIN is not set
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_DTC2278 is not set
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_GENERIC is not set
-# CONFIG_BLK_DEV_HD is not set
-# CONFIG_BLK_DEV_HPT366 is not set
-# CONFIG_BLK_DEV_HT6560B is not set
-# CONFIG_BLK_DEV_IDEACPI is not set
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDECS is not set
-# CONFIG_BLK_DEV_IDEPCI is not set
-# CONFIG_BLK_DEV_IDEPNP is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDE_AU1XXX is not set
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_BLK_DEV_INTEGRITY is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_BLK_DEV_IT8172 is not set
-# CONFIG_BLK_DEV_IT8213 is not set
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_JMICRON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_NULL_BLK is not set
-# CONFIG_BLK_DEV_NVME is not set
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PIIX is not set
-# CONFIG_BLK_DEV_PMEM is not set
-# CONFIG_BLK_DEV_PLATFORM is not set
-# CONFIG_BLK_DEV_QD65XX is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_RBD is not set
-# CONFIG_BLK_DEV_RSXX is not set
-# CONFIG_BLK_DEV_RZ1000 is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-# CONFIG_BLK_DEV_SD is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SIS5513 is not set
-# CONFIG_BLK_DEV_SKD is not set
-# CONFIG_BLK_DEV_SL82C105 is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_TC86C001 is not set
-# CONFIG_BLK_DEV_THROTTLING is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_UB is not set
-# CONFIG_BLK_DEV_UMC8672 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_BLOCK=y
-# CONFIG_BMA180 is not set
-# CONFIG_BMC150_ACCEL is not set
-# CONFIG_BMG160 is not set
-# CONFIG_BMIPS_GENERIC is not set
-# CONFIG_BMP085 is not set
-# CONFIG_BMP085_I2C is not set
-# CONFIG_BMP085_SPI is not set
-# CONFIG_BMP280 is not set
-# CONFIG_BNA is not set
-# CONFIG_BNX2 is not set
-# CONFIG_BNX2X is not set
-# CONFIG_BONDING is not set
-# CONFIG_BOOKE_WDT is not set
-CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=3
-# CONFIG_BOOT_PRINTK_DELAY is not set
-CONFIG_BOOT_RAW=y
-# CONFIG_BPCTL is not set
-CONFIG_BPF=y
-# CONFIG_BPF_JIT is not set
-CONFIG_BPF_SYSCALL=y
-# CONFIG_BPQETHER is not set
-CONFIG_BQL=y
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_BRCMFMAC is not set
-# CONFIG_BRCMSMAC is not set
-# CONFIG_BRCMSTB_GISB_ARB is not set
-CONFIG_BRIDGE=y
-# CONFIG_BRIDGE_EBT_802_3 is not set
-# CONFIG_BRIDGE_EBT_AMONG is not set
-# CONFIG_BRIDGE_EBT_ARP is not set
-# CONFIG_BRIDGE_EBT_ARPREPLY is not set
-# CONFIG_BRIDGE_EBT_BROUTE is not set
-# CONFIG_BRIDGE_EBT_DNAT is not set
-# CONFIG_BRIDGE_EBT_IP is not set
-# CONFIG_BRIDGE_EBT_IP6 is not set
-# CONFIG_BRIDGE_EBT_LIMIT is not set
-# CONFIG_BRIDGE_EBT_LOG is not set
-# CONFIG_BRIDGE_EBT_MARK is not set
-# CONFIG_BRIDGE_EBT_MARK_T is not set
-# CONFIG_BRIDGE_EBT_NFLOG is not set
-# CONFIG_BRIDGE_EBT_PKTTYPE is not set
-# CONFIG_BRIDGE_EBT_REDIRECT is not set
-# CONFIG_BRIDGE_EBT_SNAT is not set
-# CONFIG_BRIDGE_EBT_STP is not set
-# CONFIG_BRIDGE_EBT_T_FILTER is not set
-# CONFIG_BRIDGE_EBT_T_NAT is not set
-# CONFIG_BRIDGE_EBT_ULOG is not set
-# CONFIG_BRIDGE_EBT_VLAN is not set
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_BRIDGE_NETFILTER is not set
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-# CONFIG_BRIDGE_VLAN_FILTERING is not set
-# CONFIG_BROADCOM_PHY is not set
-CONFIG_BROKEN_ON_SMP=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-# CONFIG_BT is not set
-# CONFIG_BTRFS_ASSERT is not set
-# CONFIG_BTRFS_DEBUG is not set
-# CONFIG_BTRFS_FS is not set
-# CONFIG_BTRFS_FS_POSIX_ACL is not set
-# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-# CONFIG_BT_ATH3K is not set
-# CONFIG_BT_BNEP is not set
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-# CONFIG_BT_BREDR is not set
-# CONFIG_BT_CMTP is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIBLUECARD is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBT3C is not set
-# CONFIG_BT_HCIBTSDIO is not set
-# CONFIG_BT_HCIBTUART is not set
-# CONFIG_BT_HCIBTUSB is not set
-# CONFIG_BT_HCIDTL1 is not set
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIUART_3WIRE is not set
-# CONFIG_BT_HCIUART_ATH3K is not set
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_H4=y
-# CONFIG_BT_HCIUART_LL is not set
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_BT_HIDP is not set
-CONFIG_BT_L2CAP=y
-# CONFIG_BT_LE is not set
-# CONFIG_BT_MRVL is not set
-# CONFIG_BT_RFCOMM is not set
-# CONFIG_BUILD_BIN2C is not set
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_SCO=y
-# CONFIG_BT_SELFTEST is not set
-CONFIG_BUG=y
-CONFIG_BUILDTIME_EXTABLE_SORT=y
-# CONFIG_C2PORT is not set
-# CONFIG_CADENCE_WATCHDOG is not set
-# CONFIG_CAIF is not set
-# CONFIG_CAN is not set
-# CONFIG_CAN_GS_USB is not set
-# CONFIG_CAN_M_CAN is not set
-# CONFIG_CAN_RCAR is not set
-# CONFIG_CAPI_AVM is not set
-# CONFIG_CAPI_EICON is not set
-# CONFIG_CAPI_TRACE is not set
-CONFIG_CARDBUS=y
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_CARL9170 is not set
-# CONFIG_CARMA_FPGA is not set
-# CONFIG_CARMA_FPGA_PROGRAM is not set
-# CONFIG_CASSINI is not set
-CONFIG_CAVIUM_OCTEON_HELPER=y
-# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
-# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
-# CONFIG_CAVIUM_OCTEON_SOC is not set
-# CONFIG_CB710_CORE is not set
-# CONFIG_CC10001_ADC is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-CONFIG_CC_STACKPROTECTOR_NONE=y
-# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_CED1401 is not set
-# CONFIG_CEPH_FS is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_CFG80211 is not set
-# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
-# CONFIG_CGROUPS is not set
-# CONFIG_CGROUP_DEBUG is not set
-# CONFIG_CGROUP_NET_PRIO is not set
-# CONFIG_CHARGER_BQ2415X is not set
-# CONFIG_CHARGER_BQ24190 is not set
-# CONFIG_CHARGER_BQ24735 is not set
-# CONFIG_CHARGER_GPIO is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_LP8727 is not set
-# CONFIG_CHARGER_MANAGER is not set
-# CONFIG_CHARGER_MAX8903 is not set
-# CONFIG_CHARGER_SMB347 is not set
-# CONFIG_CHARGER_TWL4030 is not set
-# CONFIG_CHECKPOINT_RESTORE is not set
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_CHELSIO_T3 is not set
-# CONFIG_CHELSIO_T4 is not set
-# CONFIG_CHELSIO_T4VF is not set
-# CONFIG_CHROME_PLATFORMS is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_CIFS is not set
-# CONFIG_CIFS_ACL is not set
-# CONFIG_CIFS_DEBUG is not set
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_FSCACHE is not set
-# CONFIG_CIFS_NFSD_EXPORT is not set
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_SMB2 is not set
-CONFIG_CIFS_STATS=y
-# CONFIG_CIFS_STATS2 is not set
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CLEANCACHE is not set
-# CONFIG_CLK_QORIQ is not set
-# CONFIG_CLKSRC_VERSATILE is not set
-# CONFIG_CLOCK_THERMAL is not set
-CONFIG_CLS_U32_MARK=y
-# CONFIG_CLS_U32_PERF is not set
-# CONFIG_CM32181 is not set
-# CONFIG_CM3232 is not set
-# CONFIG_CM3323 is not set
-# CONFIG_CM36651 is not set
-# CONFIG_CMA is not set
-CONFIG_CMDLINE=""
-# CONFIG_CMDLINE_BOOL is not set
-# CONFIG_CMDLINE_EXTEND is not set
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_CMDLINE_FROM_BOOTLOADER is not set
-# CONFIG_CMDLINE_PARTITION is not set
-# CONFIG_CNIC is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_CODE_PATCHING_SELFTEST is not set
-# CONFIG_COMEDI is not set
-# CONFIG_COMMON_CLK_CDCE706 is not set
-# CONFIG_COMMON_CLK_DEBUG is not set
-# CONFIG_COMMON_CLK_PWM is not set
-# CONFIG_COMMON_CLK_PXA is not set
-# CONFIG_COMMON_CLK_QCOM is not set
-# CONFIG_COMMON_CLK_SI5351 is not set
-# CONFIG_COMMON_CLK_SI570 is not set
-# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
-# CONFIG_COMPACTION is not set
-# CONFIG_COMPAL_LAPTOP is not set
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_COMPILE_TEST is not set
-# CONFIG_CONFIGFS_FS is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_CONSTRUCTORS=y
-# CONFIG_CONTEXT_SWITCH_TRACER is not set
-# CONFIG_COPS is not set
-# CONFIG_CORDIC is not set
-# CONFIG_COREDUMP is not set
-# CONFIG_CORESIGHT is not set
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-# CONFIG_CPA_DEBUG is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_FREQ is not set
-# CONFIG_CPU_IDLE is not set
-# CONFIG_CPU_IDLE_GOV_MENU is not set
-# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
-# CONFIG_CRAMFS is not set
-CONFIG_CRASHLOG=y
-# CONFIG_CRASH_DUMP is not set
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-# CONFIG_CRC32_BIT is not set
-CONFIG_CRC32_SARWATE=y
-# CONFIG_CRC32_SELFTEST is not set
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SLICEBY8 is not set
-# CONFIG_CRC7 is not set
-# CONFIG_CRC8 is not set
-# CONFIG_CRC_CCITT is not set
-# CONFIG_CRC_ITU_T is not set
-# CONFIG_CRC_T10DIF is not set
-CONFIG_CROSS_COMPILE=""
-# CONFIG_CROSS_MEMORY_ATTACH is not set
-CONFIG_CRYPTO=y
-# CONFIG_CRYPTO_AEAD is not set
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_AES_586 is not set
-# CONFIG_CRYPTO_AES_ARM is not set
-# CONFIG_CRYPTO_AES_ARM_BS is not set
-# CONFIG_CRYPTO_AES_NI_INTEL is not set
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=y
-# CONFIG_CRYPTO_AUTHENC is not set
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_CBC is not set
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_CMAC is not set
-# CONFIG_CRYPTO_CRC32 is not set
-# CONFIG_CRYPTO_CRC32C is not set
-# CONFIG_CRYPTO_CRC32C_INTEL is not set
-# CONFIG_CRYPTO_CRCT10DIF is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_DEV_ATMEL_AES is not set
-# CONFIG_CRYPTO_DEV_ATMEL_SHA is not set
-# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set
-# CONFIG_CRYPTO_DEV_CCP is not set
-# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
-# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-# CONFIG_CRYPTO_DEV_IMGTEC_HASH is not set
-# CONFIG_CRYPTO_DEV_MV_CESA is not set
-# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
-# CONFIG_CRYPTO_DEV_QCE is not set
-# CONFIG_CRYPTO_DEV_SAHARA is not set
-# CONFIG_CRYPTO_DEV_TALITOS is not set
-# CONFIG_CRYPTO_DRBG_CTR is not set
-# CONFIG_CRYPTO_DRBG_HASH is not set
-# CONFIG_CRYPTO_DRBG_MENU is not set
-# CONFIG_CRYPTO_ECB is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_FIPS is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_GHASH is not set
-# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
-# CONFIG_CRYPTO_HASH is not set
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_HW is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_LZ4 is not set
-# CONFIG_CRYPTO_LZ4HC is not set
-# CONFIG_CRYPTO_LZO is not set
-# CONFIG_CRYPTO_MANAGER is not set
-# CONFIG_CRYPTO_MANAGER2 is not set
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-# CONFIG_CRYPTO_MCRYPTD is not set
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_NULL is not set
-# CONFIG_CRYPTO_PCBC is not set
-# CONFIG_CRYPTO_PCOMP is not set
-# CONFIG_CRYPTO_PCOMP2 is not set
-CONFIG_CRYPTO_PCRYPT=y
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_RNG is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SALSA20_586 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SEQIV is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA1_ARM is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TEST is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-# CONFIG_CRYPTO_TWOFISH_586 is not set
-# CONFIG_CRYPTO_TWOFISH_COMMON is not set
-# CONFIG_CRYPTO_USER is not set
-# CONFIG_CRYPTO_USER_API_AEAD is not set
-# CONFIG_CRYPTO_USER_API_HASH is not set
-# CONFIG_CRYPTO_USER_API_RNG is not set
-# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-# CONFIG_CRYPTO_VMAC is not set
-# CONFIG_CRYPTO_WP512 is not set
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_XTS is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYSTALHD is not set
-# CONFIG_CS5535_MFGPT is not set
-# CONFIG_CS89x0 is not set
-# CONFIG_CUSE is not set
-# CONFIG_CW1200 is not set
-# CONFIG_CXL_BASE is not set
-# CONFIG_CXT1E1 is not set
-# CONFIG_CYPRESS_FIRMWARE is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_DCB is not set
-# CONFIG_DDR is not set
-# CONFIG_DE600 is not set
-# CONFIG_DE620 is not set
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_DEBUG_HIGHMEM is not set
-# CONFIG_DEBUG_ICEDCC is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_INFO_DWARF4 is not set
-CONFIG_DEBUG_INFO_REDUCED=y
-# CONFIG_DEBUG_INFO_SPLIT is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_KOBJECT_RELEASE is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_DEBUG_LL_UART_8250 is not set
-# CONFIG_DEBUG_LL_UART_PL01X is not set
-# CONFIG_DEBUG_LOCKDEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_NX_TEST is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_DEBUG_PI_LIST is not set
-# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_DEBUG_RODATA is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-# CONFIG_DEBUG_SEMIHOSTING is not set
-# CONFIG_DEBUG_SET_MODULE_RONX is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_STACKOVERFLOW is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
-# CONFIG_DEBUG_TIMEKEEPING is not set
-# CONFIG_DEBUG_UART_BCM63XX is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
-# CONFIG_DEBUG_ZBOOT is not set
-# CONFIG_DECNET is not set
-CONFIG_DEFAULT_CUBIC=y
-CONFIG_DEFAULT_DEADLINE=y
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_DEFAULT_IOSCHED="deadline"
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_DEFAULT_NOOP is not set
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-# CONFIG_DELL_SMO8800 is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-# CONFIG_DETECT_HUNG_TASK is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_DEVMEM is not set
-CONFIG_DEVPORT=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_DEVTMPFS is not set
-# CONFIG_DEVTMPFS_MOUNT is not set
-# CONFIG_DGAP is not set
-# CONFIG_DGNC is not set
-# CONFIG_DGRP is not set
-# CONFIG_DHT11 is not set
-# CONFIG_DIRECT_IO is not set
-CONFIG_DISABLE_DEV_COREDUMP=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_DISPLAY_CONNECTOR_ANALOG_TV is not set
-# CONFIG_DISPLAY_CONNECTOR_DVI is not set
-# CONFIG_DISPLAY_CONNECTOR_HDMI is not set
-# CONFIG_DISPLAY_ENCODER_TFP410 is not set
-# CONFIG_DISPLAY_ENCODER_TPD12S015 is not set
-# CONFIG_DISPLAY_PANEL_DPI is not set
-# CONFIG_DISPLAY_PANEL_LGPHILIPS_LB035Q02 is not set
-# CONFIG_DISPLAY_PANEL_TPO_TD028TTEC1 is not set
-# CONFIG_DISPLAY_PANEL_TPO_TD043MTEA1 is not set
-# CONFIG_DISPLAY_SUPPORT is not set
-# CONFIG_DL2K is not set
-# CONFIG_DLM is not set
-# CONFIG_DM9000 is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_DMADEVICES_DEBUG is not set
-# CONFIG_DMASCC is not set
-# CONFIG_DMATEST is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_DMA_ENGINE is not set
-# CONFIG_DMA_SHARED_BUFFER is not set
-# CONFIG_DM_CACHE is not set
-# CONFIG_DM_DEBUG is not set
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_ERA is not set
-# CONFIG_DM_FLAKEY is not set
-# CONFIG_DM_LOG_USERSPACE is not set
-# CONFIG_DM_MULTIPATH is not set
-# CONFIG_DM_RAID is not set
-# CONFIG_DM_SWITCH is not set
-# CONFIG_DM_THIN_PROVISIONING is not set
-# CONFIG_DM_UEVENT is not set
-# CONFIG_DM_VERITY is not set
-# CONFIG_DM_ZERO is not set
-# CONFIG_DNET is not set
-# CONFIG_DNOTIFY is not set
-# CONFIG_DNS_RESOLVER is not set
-CONFIG_DOUBLEFAULT=y
-CONFIG_DQL=y
-# CONFIG_DRAGONRISE_FF is not set
-# CONFIG_DRM is not set
-# CONFIG_DS1682 is not set
-# CONFIG_DTLK is not set
-# CONFIG_DUMMY is not set
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
-# CONFIG_DUMMY_IRQ is not set
-# CONFIG_DVB_AU8522_V4L is not set
-# CONFIG_DVB_CORE is not set
-# CONFIG_DVB_DUMMY_FE is not set
-# CONFIG_DVB_TUNER_DIB0070 is not set
-# CONFIG_DVB_TUNER_DIB0090 is not set
-# CONFIG_DW_DMAC is not set
-# CONFIG_DW_WATCHDOG is not set
-# CONFIG_DWC3_HOST_USB3_LPM_ENABLE is not set
-# CONFIG_DX_SEP is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_E100 is not set
-# CONFIG_E1000 is not set
-# CONFIG_E1000E is not set
-# CONFIG_E2100 is not set
-# CONFIG_EARLY_PRINTK_8250 is not set
-# CONFIG_EASYCAP is not set
-# CONFIG_ECHO is not set
-# CONFIG_ECONET is not set
-# CONFIG_ECRYPT_FS is not set
-# CONFIG_EDAC is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_EEPROM_93XX46 is not set
-# CONFIG_EEPROM_AT24 is not set
-# CONFIG_EEPROM_AT25 is not set
-# CONFIG_EEPROM_DIGSY_MTC_CFG is not set
-# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_MAX6875 is not set
-# CONFIG_EEXPRESS is not set
-# CONFIG_EEXPRESS_PRO is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_EFS_FS is not set
-# CONFIG_ELF_CORE is not set
-# CONFIG_EMAC_ROCKCHIP is not set
-CONFIG_EMBEDDED=y
-# CONFIG_EM_TIMER_STI is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
-CONFIG_ENABLE_WARN_DEPRECATED=y
-# CONFIG_ENC28J60 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_ENCRYPTED_KEYS is not set
-# CONFIG_ENIC is not set
-# CONFIG_EPAPR_PARAVIRT is not set
-# CONFIG_EPIC100 is not set
-CONFIG_EPOLL=y
-# CONFIG_EQUALIZER is not set
-# CONFIG_ET131X is not set
-# CONFIG_GATEWORKS_GW16083 is not set
-# CONFIG_GDB_SCRIPTS is not set
-# CONFIG_GLOB_SELFTEST is not set
-# CONFIG_GS_FPGABOOT is not set
-# CONFIG_ETH16I is not set
-CONFIG_ETHERNET=y
-# CONFIG_ETHOC is not set
-CONFIG_EVENTFD=y
-# CONFIG_EVENT_POWER_TRACING_DEPRECATED is not set
-# CONFIG_EWRK3 is not set
-CONFIG_EXPERIMENTAL=y
-CONFIG_EXPERT=y
-# CONFIG_EXPORTFS is not set
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4_DEBUG is not set
-# CONFIG_EXT4_ENCRYPTION is not set
-# CONFIG_EXT4_FS is not set
-# CONFIG_EXT4_FS_POSIX_ACL is not set
-# CONFIG_EXT4_FS_SECURITY is not set
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_USE_FOR_EXT23=y
-# CONFIG_EXTCON is not set
-CONFIG_EXTRA_FIRMWARE=""
-CONFIG_EXTRA_TARGETS=""
-# CONFIG_EXYNOS_ADC is not set
-# CONFIG_EXYNOS_VIDEO is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_F2FS_FS is not set
-# CONFIG_F2FS_FS_POSIX_ACL is not set
-# CONFIG_F2FS_IO_TRACE is not set
-# CONFIG_FAIR_GROUP_SCHED is not set
-# CONFIG_FANOTIFY is not set
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_FAT_FS is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_FB is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_ARMCLCD is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_AUO_K190X is not set
-# CONFIG_FB_BACKLIGHT is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_CFB_COPYAREA is not set
-# CONFIG_FB_CFB_FILLRECT is not set
-# CONFIG_FB_CFB_IMAGEBLIT is not set
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_DA8XX is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
-# CONFIG_FB_HGA is not set
-# CONFIG_FB_I740 is not set
-# CONFIG_FB_IBM_GXT4500 is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_IMX is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_MXS is not set
-# CONFIG_FB_N411 is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_OF is not set
-# CONFIG_FB_OPENCORES is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_PS3 is not set
-# CONFIG_FB_PXA is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIMPLE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_SM750 is not set
-# CONFIG_FB_SM7XX is not set
-# CONFIG_FB_SMSCUFX is not set
-# CONFIG_FB_SSD1307 is not set
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_SYS_COPYAREA is not set
-# CONFIG_FB_SYS_FILLRECT is not set
-# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_SYS_IMAGEBLIT is not set
-# CONFIG_FB_TFT is not set
-# CONFIG_FB_TILEBLITTING is not set
-# CONFIG_FB_TMIO is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_UDL is not set
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_VIA is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_XGI is not set
-# CONFIG_FCOE is not set
-# CONFIG_FCOE_FNIC is not set
-# CONFIG_FDDI is not set
-# CONFIG_FEALNX is not set
-# CONFIG_FENCE_TRACE is not set
-# CONFIG_FHANDLE is not set
-CONFIG_FIB_RULES=y
-CONFIG_FILE_LOCKING=y
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# CONFIG_FIREWIRE_SERIAL is not set
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-# CONFIG_FIRMWARE_MEMMAP is not set
-# CONFIG_FIXED_PHY is not set
-CONFIG_FLATMEM=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_FM10K is not set
-# CONFIG_FMC is not set
-# CONFIG_FORCEDETH is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-# CONFIG_FRAMEBUFFER_CONSOLE is not set
-# CONFIG_FRAME_POINTER is not set
-CONFIG_FRAME_WARN=1024
-# CONFIG_FREEZER is not set
-# CONFIG_FRONTSWAP is not set
-# CONFIG_FSCACHE is not set
-# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_XGMAC_MDIO is not set
-CONFIG_FSNOTIFY=y
-# CONFIG_FS_DAX is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_FT1000 is not set
-# CONFIG_FTGMAC100 is not set
-# CONFIG_FTL is not set
-# CONFIG_FTMAC100 is not set
-# CONFIG_FTRACE is not set
-# CONFIG_FTRACE_STARTUP_TEST is not set
-# CONFIG_FTR_FIXUP_SELFTEST is not set
-# CONFIG_FUJITSU_TABLET is not set
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_FUSE_FS is not set
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_FC is not set
-# CONFIG_FUSION_SAS is not set
-# CONFIG_FUSION_SPI is not set
-CONFIG_FUTEX=y
-CONFIG_FW_LOADER=y
-CONFIG_FW_LOADER_USER_HELPER=y
-CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
-CONFIG_GACT_PROB=y
-# CONFIG_GADGET_UAC1 is not set
-# CONFIG_GAMEPORT is not set
-# CONFIG_GCOV is not set
-# CONFIG_GCOV_KERNEL is not set
-# CONFIG_GENEVE is not set
-# CONFIG_GENERIC_ADC_BATTERY is not set
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-# CONFIG_GENERIC_CPU_DEVICES is not set
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_NET_UTILS=y
-# CONFIG_GENERIC_PHY is not set
-CONFIG_GENERIC_TIME=y
-# CONFIG_GENWQE is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_GIGASET_CAPI is not set
-# CONFIG_GIGASET_DEBUG is not set
-# CONFIG_GP2AP020A00F is not set
-# CONFIG_GPIOLIB is not set
-# CONFIG_GPIO_74X164 is not set
-# CONFIG_GPIO_74XX_MMIO is not set
-# CONFIG_GPIO_ADNP is not set
-# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_ALTERA is not set
-# CONFIG_GPIO_AMD8111 is not set
-# CONFIG_GPIO_BCM_KONA is not set
-# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
-# CONFIG_GPIO_DWAPB is not set
-# CONFIG_GPIO_EM is not set
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_GRGPIO is not set
-# CONFIG_GPIO_ICH is not set
-# CONFIG_GPIO_IT8761E is not set
-# CONFIG_GPIO_LANGWELL is not set
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_PCH is not set
-# CONFIG_GPIO_PL061 is not set
-# CONFIG_GPIO_RCAR is not set
-# CONFIG_GPIO_RDC321X is not set
-# CONFIG_GPIO_SCH is not set
-# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_SYSCON is not set
-# CONFIG_GPIO_SYSFS is not set
-# CONFIG_GPIO_TS5500 is not set
-# CONFIG_GPIO_VX855 is not set
-# CONFIG_GPIO_WATCHDOG is not set
-# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZEVIO is not set
-# CONFIG_GREENASIA_FF is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-# CONFIG_HAVE_AOUT is not set
-# CONFIG_HAVE_ARM_ARCH_TIMER is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-# CONFIG_HCALL_STATS is not set
-# CONFIG_HDLC is not set
-# CONFIG_HDLC_CISCO is not set
-# CONFIG_HDLC_FR is not set
-# CONFIG_HDLC_PPP is not set
-# CONFIG_HDLC_RAW is not set
-# CONFIG_HDLC_RAW_ETH is not set
-# CONFIG_HDQ_MASTER_OMAP is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_HERMES is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_HFSPLUS_FS_POSIX_ACL is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFS_FS_POSIX_ACL is not set
-# CONFIG_HIBERNATION is not set
-# CONFIG_HID is not set
-# CONFIG_HIDRAW is not set
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_ACRUX_FF is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_APPLEIR is not set
-# CONFIG_HID_AUREAL is not set
-# CONFIG_HID_BATTERY_STRENGTH is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_BETOP_FF is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_CP2112 is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_ELO is not set
-# CONFIG_HID_EMS_FF is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_GENERIC is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_GT683R is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_HOLTEK is not set
-# CONFIG_HID_HUION is not set
-# CONFIG_HID_ICADE is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_KEYTOUCH is not set
-# CONFIG_HID_KYE is not set
-# CONFIG_HID_LCPOWER is not set
-# CONFIG_HID_LENOVO is not set
-# CONFIG_HID_LENOVO_TPKBD is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_LOGITECH_DJ is not set
-# CONFIG_HID_LOGITECH_HIDPP is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MONTEREY is not set
-# CONFIG_HID_MULTITOUCH is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PENMOUNT is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_PID is not set
-# CONFIG_HID_PLANTRONICS is not set
-# CONFIG_HID_PRIMAX is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_PS3REMOTE is not set
-# CONFIG_HID_QUANTA is not set
-# CONFIG_HID_RMI is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_ROCCAT_ARVO is not set
-# CONFIG_HID_ROCCAT_KONE is not set
-# CONFIG_HID_ROCCAT_KONEPLUS is not set
-# CONFIG_HID_ROCCAT_KOVAPLUS is not set
-# CONFIG_HID_ROCCAT_PYRA is not set
-# CONFIG_HID_SAITEK is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SENSOR_HUB is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_SPEEDLINK is not set
-# CONFIG_HID_STEELSERIES is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_HID_THINGM is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_TIVO is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_UCLOGIC is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_WIIMOTE is not set
-# CONFIG_HID_XINMO is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_HIGH_RES_TIMERS=y
-# CONFIG_HIP04_ETH is not set
-# CONFIG_HIPPI is not set
-# CONFIG_HIX5HD2_GMAC is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_HOSTAP is not set
-# CONFIG_HOSTAP_CS is not set
-# CONFIG_HOSTAP_PCI is not set
-# CONFIG_HOSTAP_PLX is not set
-CONFIG_HOTPLUG=y
-# CONFIG_HOTPLUG_CPU is not set
-# CONFIG_HOTPLUG_PCI is not set
-# CONFIG_HP100 is not set
-CONFIG_HPET_MMAP_DEFAULT=y
-# CONFIG_HPFS_FS is not set
-# CONFIG_HPLAN is not set
-# CONFIG_HPLAN_PLUS is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_HP_WIRELESS is not set
-# CONFIG_HSI is not set
-# CONFIG_HSR is not set
-# CONFIG_HSU_DMA_PCI is not set
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_I2CPLD is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_HVC_DCC is not set
-# CONFIG_HVC_UDBG is not set
-# CONFIG_HWMON is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWSPINLOCK_OMAP is not set
-CONFIG_HW_PERF_EVENTS=y
-# CONFIG_HW_RANDOM is not set
-# CONFIG_HW_RANDOM_AMD is not set
-# CONFIG_HW_RANDOM_ATMEL is not set
-# CONFIG_HW_RANDOM_EXYNOS is not set
-# CONFIG_HW_RANDOM_GEODE is not set
-# CONFIG_HW_RANDOM_INTEL is not set
-# CONFIG_HW_RANDOM_IPROC_RNG200 is not set
-# CONFIG_HW_RANDOM_OMAP3_ROM is not set
-# CONFIG_HW_RANDOM_PPC4XX is not set
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_HW_RANDOM_VIA is not set
-# CONFIG_HYPERV is not set
-# CONFIG_HYSDN is not set
-CONFIG_HZ=100
-CONFIG_HZ_100=y
-# CONFIG_HZ_1000 is not set
-# CONFIG_HZ_1024 is not set
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_200 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-# CONFIG_HZ_300 is not set
-# CONFIG_HZ_48 is not set
-# CONFIG_HZ_500 is not set
-# CONFIG_HZ_PERIODIC is not set
-# CONFIG_I2C is not set
-# CONFIG_I2C_ALGOBIT is not set
-# CONFIG_I2C_ALGOPCA is not set
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# CONFIG_I2C_AU1550 is not set
-# CONFIG_I2C_BCM2835 is not set
-# CONFIG_I2C_BCM_IPROC is not set
-# CONFIG_I2C_CBUS_GPIO is not set
-# CONFIG_I2C_CHARDEV is not set
-# CONFIG_I2C_COMPAT is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_DESIGNWARE_PCI is not set
-# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
-# CONFIG_I2C_DIOLAN_U2C is not set
-# CONFIG_I2C_EG20T is not set
-# CONFIG_I2C_ELEKTOR is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_HELPER_AUTO is not set
-# CONFIG_I2C_HID is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_IBM_IIC is not set
-# CONFIG_I2C_IMG is not set
-# CONFIG_I2C_INTEL_MID is not set
-# CONFIG_I2C_ISCH is not set
-# CONFIG_I2C_ISMT is not set
-# CONFIG_I2C_MPC is not set
-# CONFIG_I2C_MUX is not set
-# CONFIG_I2C_MUX_PINCTRL is not set
-# CONFIG_I2C_MV64XXX is not set
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_NOMADIK is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_OCTEON is not set
-# CONFIG_I2C_PARPORT is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PCA_ISA is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_PXA_PCI is not set
-# CONFIG_I2C_RCAR is not set
-# CONFIG_I2C_RK3X is not set
-# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
-# CONFIG_I2C_SCMI is not set
-# CONFIG_I2C_SH_MOBILE is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_SLAVE is not set
-# CONFIG_I2C_SMBUS is not set
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-# CONFIG_I2C_VERSATILE is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-# CONFIG_I2C_XILINX is not set
-# CONFIG_I2O is not set
-# CONFIG_I40E is not set
-# CONFIG_I40EVF is not set
-# CONFIG_I6300ESB_WDT is not set
-# CONFIG_I82092 is not set
-# CONFIG_I82365 is not set
-# CONFIG_IBM_ASM is not set
-# CONFIG_IBM_EMAC_DEBUG is not set
-# CONFIG_IBM_EMAC_EMAC4 is not set
-# CONFIG_IBM_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_EMAC_MAL_COMMON_ERR is not set
-# CONFIG_IBM_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_EMAC_RGMII is not set
-# CONFIG_IBM_EMAC_TAH is not set
-# CONFIG_IBM_EMAC_ZMII is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_IDE is not set
-# CONFIG_IDEAPAD_LAPTOP is not set
-# CONFIG_IDE_GD is not set
-# CONFIG_IDE_PHISON is not set
-# CONFIG_IDE_PROC_FS is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_IFB is not set
-# CONFIG_IGB is not set
-# CONFIG_IGBVF is not set
-# CONFIG_IIO is not set
-# CONFIG_IIO_BUFFER_CB is not set
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_GPIO_TRIGGER is not set
-# CONFIG_IIO_INTERRUPT_TRIGGER is not set
-# CONFIG_IIO_PERIODIC_RTC_TRIGGER is not set
-# CONFIG_IIO_SIMPLE_DUMMY is not set
-# CONFIG_IIO_SSP_SENSORHUB is not set
-# CONFIG_IIO_ST_ACCEL_3AXIS is not set
-# CONFIG_IIO_ST_GYRO_3AXIS is not set
-# CONFIG_IIO_ST_MAGN_3AXIS is not set
-# CONFIG_IIO_ST_PRESS is not set
-# CONFIG_IIO_SYSFS_TRIGGER is not set
-# CONFIG_IKCONFIG is not set
-# CONFIG_IKCONFIG_PROC is not set
-# CONFIG_IMAGE_CMDLINE_HACK is not set
-# CONFIG_IMGPDC_WDT is not set
-# CONFIG_IMX_IPUV3_CORE is not set
-CONFIG_INET=y
-# CONFIG_INET6_AH is not set
-# CONFIG_INET6_ESP is not set
-# CONFIG_INET6_IPCOMP is not set
-# CONFIG_INET6_TUNNEL is not set
-# CONFIG_INET6_XFRM_MODE_BEET is not set
-# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
-# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_DIAG is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_LRO is not set
-# CONFIG_INET_TCP_DIAG is not set
-# CONFIG_INET_TUNNEL is not set
-# CONFIG_INET_UDP_DIAG is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INFINIBAND is not set
-# CONFIG_INFTL is not set
-# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
-# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
-# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
-CONFIG_INITRAMFS_COMPRESSION_NONE=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-# CONFIG_INIT_FALLBACK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_INOTIFY_USER=y
-# CONFIG_INPUT is not set
-# CONFIG_INPUT_AD714X is not set
-# CONFIG_INPUT_ADXL34X is not set
-# CONFIG_INPUT_APANEL is not set
-# CONFIG_INPUT_ATI_REMOTE is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_ATLAS_BTNS is not set
-# CONFIG_INPUT_BMA150 is not set
-# CONFIG_INPUT_CM109 is not set
-# CONFIG_INPUT_CMA3000 is not set
-# CONFIG_INPUT_DRV260X_HAPTICS is not set
-# CONFIG_INPUT_DRV2667_HAPTICS is not set
-# CONFIG_INPUT_EVBUG is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_E3X0_BUTTON is not set
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_GP2A is not set
-# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_GPIO_TILT_POLLED is not set
-# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set
-# CONFIG_INPUT_IMS_PCU is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_KXTJ9 is not set
-# CONFIG_INPUT_MATRIXKMAP is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_MPU3050 is not set
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_PCSPKR is not set
-# CONFIG_INPUT_POLLDEV is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_PWM_BEEPER is not set
-# CONFIG_INPUT_REGULATOR_HAPTIC is not set
-# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set
-# CONFIG_INPUT_SPARSEKMAP is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_UINPUT is not set
-# CONFIG_INPUT_WISTRON_BTNS is not set
-# CONFIG_INPUT_YEALINK is not set
-# CONFIG_INT340X_THERMAL is not set
-# CONFIG_INTEL_IDLE is not set
-# CONFIG_INTEL_MEI is not set
-# CONFIG_INTEL_MEI_ME is not set
-# CONFIG_INTEL_MEI_TXE is not set
-# CONFIG_INTEL_MIC_CARD is not set
-# CONFIG_INTEL_MIC_HOST is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_INTEL_OAKTRAIL is not set
-# CONFIG_INTEL_RST is not set
-# CONFIG_INTEL_SMARTCONNECT is not set
-# CONFIG_INTEL_SOC_PMIC is not set
-# CONFIG_INTERVAL_TREE_TEST is not set
-# CONFIG_INV_MPU6050_IIO is not set
-# CONFIG_IOMMU_SUPPORT is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IP1000 is not set
-# CONFIG_IP17XX_PHY is not set
-# CONFIG_IP6_NF_FILTER is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP6_NF_MANGLE is not set
-# CONFIG_IP6_NF_MATCH_AH is not set
-# CONFIG_IP6_NF_MATCH_EUI64 is not set
-# CONFIG_IP6_NF_MATCH_FRAG is not set
-# CONFIG_IP6_NF_MATCH_HL is not set
-# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
-# CONFIG_IP6_NF_MATCH_MH is not set
-# CONFIG_IP6_NF_MATCH_OPTS is not set
-# CONFIG_IP6_NF_MATCH_RPFILTER is not set
-# CONFIG_IP6_NF_MATCH_RT is not set
-# CONFIG_IP6_NF_NAT is not set
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_RAW is not set
-# CONFIG_IP6_NF_TARGET_HL is not set
-# CONFIG_IP6_NF_TARGET_LOG is not set
-# CONFIG_IP6_NF_TARGET_REJECT is not set
-# CONFIG_IP6_NF_TARGET_SYNPROXY is not set
-# CONFIG_IPACK_BUS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_IPV6 is not set
-# CONFIG_IPV6_MIP6 is not set
-# CONFIG_IPV6_MROUTE is not set
-# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set
-# CONFIG_IPV6_MULTIPLE_TABLES is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-# CONFIG_IPV6_PRIVACY is not set
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_ROUTE_INFO is not set
-# CONFIG_IPV6_SIT is not set
-# CONFIG_IPV6_SIT_6RD is not set
-# CONFIG_IPV6_TUNNEL is not set
-# CONFIG_IPV6_VTI is not set
-# CONFIG_IPVLAN is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2100_DEBUG is not set
-CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2200 is not set
-# CONFIG_IPW2200_DEBUG is not set
-CONFIG_IPW2200_MONITOR=y
-# CONFIG_IPW2200_PROMISCUOUS is not set
-# CONFIG_IPW2200_QOS is not set
-# CONFIG_IPW2200_RADIOTAP is not set
-# CONFIG_IPWIRELESS is not set
-# CONFIG_IPX is not set
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_MULTIPLE_TABLES=y
-# CONFIG_IP_NF_ARPFILTER is not set
-# CONFIG_IP_NF_ARPTABLES is not set
-# CONFIG_IP_NF_ARP_MANGLE is not set
-# CONFIG_IP_NF_FILTER is not set
-# CONFIG_IP_NF_IPTABLES is not set
-# CONFIG_IP_NF_MANGLE is not set
-# CONFIG_IP_NF_MATCH_AH is not set
-# CONFIG_IP_NF_MATCH_ECN is not set
-# CONFIG_IP_NF_MATCH_RPFILTER is not set
-# CONFIG_IP_NF_MATCH_TTL is not set
-# CONFIG_IP_NF_QUEUE is not set
-# CONFIG_IP_NF_RAW is not set
-# CONFIG_IP_NF_SECURITY is not set
-# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
-# CONFIG_IP_NF_TARGET_ECN is not set
-# CONFIG_IP_NF_TARGET_LOG is not set
-# CONFIG_IP_NF_TARGET_MASQUERADE is not set
-# CONFIG_IP_NF_TARGET_NETMAP is not set
-# CONFIG_IP_NF_TARGET_REDIRECT is not set
-# CONFIG_IP_NF_TARGET_REJECT is not set
-# CONFIG_IP_NF_TARGET_SYNPROXY is not set
-# CONFIG_IP_NF_TARGET_TTL is not set
-# CONFIG_IP_NF_TARGET_ULOG is not set
-# CONFIG_IP_PIMSM_V1 is not set
-# CONFIG_IP_PIMSM_V2 is not set
-# CONFIG_IP_PNP is not set
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-# CONFIG_IP_SCTP is not set
-# CONFIG_IP_SET is not set
-# CONFIG_IP_VS is not set
-# CONFIG_IRDA is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_IRQ_ALL_CPUS is not set
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-# CONFIG_IR_GPIO_CIR is not set
-# CONFIG_IR_HIX5HD2 is not set
-# CONFIG_IR_IGORPLUGUSB is not set
-# CONFIG_IR_IGUANA is not set
-# CONFIG_IR_IMG is not set
-# CONFIG_IR_IMON is not set
-# CONFIG_IR_JVC_DECODER is not set
-# CONFIG_IR_LIRC_CODEC is not set
-# CONFIG_IR_MCEUSB is not set
-# CONFIG_IR_NEC_DECODER is not set
-# CONFIG_IR_RC5_DECODER is not set
-# CONFIG_IR_RC5_SZ_DECODER is not set
-# CONFIG_IR_RC6_DECODER is not set
-# CONFIG_IR_REDRAT3 is not set
-# CONFIG_IR_SONY_DECODER is not set
-# CONFIG_IR_STREAMZAP is not set
-# CONFIG_IR_TTUSBIR is not set
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_ISCSI_TCP is not set
-CONFIG_ISDN=y
-# CONFIG_ISDN_AUDIO is not set
-# CONFIG_ISDN_CAPI is not set
-# CONFIG_ISDN_CAPI_CAPIDRV is not set
-# CONFIG_ISDN_DIVERSION is not set
-# CONFIG_ISDN_DRV_ACT2000 is not set
-# CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON is not set
-# CONFIG_ISDN_DRV_GIGASET is not set
-# CONFIG_ISDN_DRV_HISAX is not set
-# CONFIG_ISDN_DRV_ICN is not set
-# CONFIG_ISDN_DRV_LOOP is not set
-# CONFIG_ISDN_DRV_PCBIT is not set
-# CONFIG_ISDN_DRV_SC is not set
-# CONFIG_ISDN_I4L is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_ISL29125 is not set
-# CONFIG_ISO9660_FS is not set
-# CONFIG_ISS4xx is not set
-# CONFIG_ITG3200 is not set
-# CONFIG_IWL3945 is not set
-# CONFIG_IWLAGN is not set
-# CONFIG_IWLWIFI is not set
-# CONFIG_IWMC3200TOP is not set
-# CONFIG_IXGB is not set
-# CONFIG_IXGBE is not set
-# CONFIG_IXGBEVF is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD2_DEBUG is not set
-# CONFIG_JBD_DEBUG is not set
-# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-# CONFIG_JFFS2_CMODE_NONE is not set
-CONFIG_JFFS2_CMODE_PRIORITY=y
-# CONFIG_JFFS2_CMODE_SIZE is not set
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-# CONFIG_JFFS2_FS_POSIX_ACL is not set
-# CONFIG_JFFS2_FS_SECURITY is not set
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-CONFIG_JFFS2_FS_XATTR=y
-CONFIG_JFFS2_LZMA=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_JFFS2_SUMMARY=y
-# CONFIG_JFFS2_ZLIB is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_POSIX_ACL is not set
-# CONFIG_JFS_SECURITY is not set
-# CONFIG_JFS_STATISTICS is not set
-# CONFIG_JME is not set
-CONFIG_JOLIET=y
-# CONFIG_JSA1212 is not set
-# CONFIG_JUMP_LABEL is not set
-# CONFIG_KALLSYMS is not set
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_UNCOMPRESSED is not set
-# CONFIG_KARMA_PARTITION is not set
-# CONFIG_KERNEL_BZIP2 is not set
-# CONFIG_KERNEL_GZIP is not set
-# CONFIG_KERNEL_LZ4 is not set
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_KERNEL_MODE_NEON=y
-CONFIG_KERNEL_XZ=y
-CONFIG_KERNFS=y
-# CONFIG_KEXEC is not set
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_BCM is not set
-# CONFIG_KEYBOARD_CAP1106 is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_LM8333 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OMAP4 is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_PXA27x is not set
-# CONFIG_KEYBOARD_QT1070 is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_SAMSUNG is not set
-# CONFIG_KEYBOARD_SH_KEYSC is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_TCA8418 is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_KEYBOARD_CAP11XX is not set
-# CONFIG_KEYS is not set
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_KGDB is not set
-# CONFIG_KMEMCHECK is not set
-# CONFIG_KMX61 is not set
-# CONFIG_KPROBES is not set
-# CONFIG_KPROBES_SANITY_TEST is not set
-# CONFIG_KS8842 is not set
-# CONFIG_KS8851 is not set
-# CONFIG_KS8851_MLL is not set
-# CONFIG_KSM is not set
-# CONFIG_KSZ884X_PCI is not set
-CONFIG_KUSER_HELPERS=y
-# CONFIG_KVM_GUEST is not set
-# CONFIG_KXCJK1013 is not set
-# CONFIG_KXSD9 is not set
-# CONFIG_L2TP is not set
-# CONFIG_L2TP_ETH is not set
-# CONFIG_L2TP_IP is not set
-# CONFIG_L2TP_V3 is not set
-# CONFIG_LANMEDIA is not set
-# CONFIG_LANTIQ is not set
-# CONFIG_LAPB is not set
-# CONFIG_LASAT is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_LATTICE_ECP3_CONFIG is not set
-CONFIG_LBDAF=y
-# CONFIG_LCD_AMS369FG06 is not set
-# CONFIG_LCD_HX8357 is not set
-# CONFIG_LCD_ILI922X is not set
-# CONFIG_LCD_ILI9320 is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LD9040 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LMS501KF03 is not set
-# CONFIG_LCD_LTV350QV is not set  
-# CONFIG_LCD_S6E63M0 is not set
-# CONFIG_LCD_TDO24M is not set    
-# CONFIG_LCD_VGG2432A4 is not set 
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_LEDS_ATMEL_PWM is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_BLINKM is not set
-CONFIG_LEDS_CLASS=y
-# CONFIG_LEDS_CLASS_FLASH is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_GPIO_OF=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_INTEL_SS4200 is not set
-# CONFIG_LEDS_LM3530 is not set
-# CONFIG_LEDS_LM3556 is not set
-# CONFIG_LEDS_LM355x is not set
-# CONFIG_LEDS_LM3642 is not set
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_LP5562 is not set
-# CONFIG_LEDS_LP8501 is not set
-# CONFIG_LEDS_LP8860 is not set
-# CONFIG_LEDS_LT3593 is not set
-# CONFIG_LEDS_NET5501 is not set
-# CONFIG_LEDS_OT200 is not set
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_PCA9633 is not set
-# CONFIG_LEDS_PCA963X is not set
-# CONFIG_LEDS_PCA9685 is not set
-# CONFIG_LEDS_PM8941_WLED is not set
-# CONFIG_LEDS_PWM is not set
-# CONFIG_LEDS_REGULATOR is not set
-# CONFIG_LEDS_RENESAS_TPU is not set
-# CONFIG_LEDS_SYSCON is not set
-# CONFIG_LEDS_TCA6507 is not set
-CONFIG_LEDS_TRIGGERS=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_CAMERA is not set
-# CONFIG_LEDS_TRIGGER_CPU is not set
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
-CONFIG_LEDS_TRIGGER_NETDEV=y
-# CONFIG_LEDS_TRIGGER_ONESHOT is not set
-CONFIG_LEDS_TRIGGER_TIMER=y
-# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_LIB80211 is not set
-# CONFIG_LIB80211_CRYPT_CCMP is not set
-# CONFIG_LIB80211_CRYPT_TKIP is not set
-# CONFIG_LIB80211_CRYPT_WEP is not set
-# CONFIG_LIB80211_DEBUG is not set
-# CONFIG_LIBCRC32C is not set
-# CONFIG_LIBERTAS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-# CONFIG_LIBERTAS_USB is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_LIBIPW_DEBUG is not set
-# CONFIG_LINE6_USB is not set
-# CONFIG_LIRC_STAGING is not set
-# CONFIG_LIS3L02DQ is not set
-# CONFIG_LKDTM is not set
-CONFIG_LLC=y
-# CONFIG_LLC2 is not set
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-# CONFIG_LOCKD is not set
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_LOCKD_V4=y
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_LOCK_TORTURE_TEST is not set
-# CONFIG_LOGFS is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIWHEELS_FF is not set
-# CONFIG_LOGO is not set
-CONFIG_LOG_BUF_SHIFT=17
-CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
-# CONFIG_LOONGSON_MC146818 is not set
-# CONFIG_LP486E is not set
-# CONFIG_LPC_ICH is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_LP_CONSOLE is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_LTE_GDM724X is not set
-# CONFIG_LTR501 is not set
-# CONFIG_LTPC is not set
-# CONFIG_LUSTRE_FS is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_LZ4_COMPRESS is not set
-# CONFIG_LZ4_DECOMPRESS is not set
-# CONFIG_LZ4HC_COMPRESS is not set
-CONFIG_LZMA_COMPRESS=y
-CONFIG_LZMA_DECOMPRESS=y
-# CONFIG_LZO_COMPRESS is not set
-# CONFIG_LZO_DECOMPRESS is not set
-# CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE is not set
-# CONFIG_MAC80211 is not set
-# CONFIG_MAC80211_MESSAGE_TRACING is not set
-# CONFIG_MACB is not set
-# CONFIG_MACH_ASM9260 is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_MACH_JZ4740 is not set
-# CONFIG_MACH_LOONGSON is not set
-# CONFIG_MACH_LOONGSON1 is not set
-# CONFIG_MACH_NO_WESTBRIDGE is not set
-# CONFIG_MACH_PISTACHIO is not set
-# CONFIG_MACH_TX39XX is not set
-# CONFIG_MACH_TX49XX is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_MACINTOSH_DRIVERS is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_MACVTAP is not set
-# CONFIG_MAC_EMUMOUSEBTN is not set
-# CONFIG_MAC_PARTITION is not set
-# CONFIG_MAG3110 is not set
-# CONFIG_MAGIC_SYSRQ is not set
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
-# CONFIG_MAILBOX is not set
-# CONFIG_MANGLE_BOOTARGS is not set
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_MAX1027 is not set
-# CONFIG_MAX1363 is not set
-# CONFIG_MAX517 is not set
-# CONFIG_MAX5821 is not set
-# CONFIG_MAX63XX_WATCHDOG is not set
-# CONFIG_MCB is not set
-# CONFIG_MCP320X is not set
-# CONFIG_MCP3422 is not set
-# CONFIG_MCP4725 is not set
-# CONFIG_MCP4922 is not set
-# CONFIG_MCPM is not set
-# CONFIG_MD is not set
-# CONFIG_MDIO_BCM_UNIMAC is not set
-# CONFIG_MDIO_BITBANG is not set
-# CONFIG_MDIO_BUS_MUX_GPIO is not set
-# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
-# CONFIG_MD_FAULTY is not set
-# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
-# CONFIG_MEDIA_ATTACH is not set
-# CONFIG_MEDIA_CAMERA_SUPPORT is not set
-# CONFIG_MEDIA_CONTROLLER is not set
-# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
-# CONFIG_MEDIA_PARPORT_SUPPORT is not set
-# CONFIG_MEDIA_PCI_SUPPORT is not set
-# CONFIG_MEDIA_RADIO_SUPPORT is not set
-# CONFIG_MEDIA_RC_SUPPORT is not set
-# CONFIG_MEDIA_SDR_SUPPORT is not set
-# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
-# CONFIG_MEDIA_SUPPORT is not set
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-# CONFIG_MEDIA_USB_SUPPORT is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_MEMORY is not set
-# CONFIG_MEMORY_FAILURE is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_MEMTEST is not set
-# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
-# CONFIG_MFD_88PM800 is not set
-# CONFIG_MFD_88PM805 is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_AAT2870_CORE is not set
-# CONFIG_MFD_ARIZONA_I2C is not set
-# CONFIG_MFD_ARIZONA_SPI is not set
-# CONFIG_MFD_AS3711 is not set
-# CONFIG_MFD_AS3722 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_MFD_ATMEL_HLCDC is not set
-# CONFIG_MFD_AXP20X is not set
-# CONFIG_MFD_BCM590XX is not set
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_CROS_EC is not set
-# CONFIG_MFD_CS5535 is not set
-# CONFIG_MFD_DA9052_I2C is not set
-# CONFIG_MFD_DA9052_SPI is not set
-# CONFIG_MFD_DA9055 is not set
-# CONFIG_MFD_DA9063 is not set
-# CONFIG_MFD_DA9150 is not set
-# CONFIG_MFD_DLN2 is not set
-# CONFIG_MFD_HI6421_PMIC is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_KEMPLD is not set
-# CONFIG_MFD_LM3533 is not set
-# CONFIG_MFD_LP3943 is not set
-# CONFIG_MFD_LP8788 is not set
-# CONFIG_MFD_MAX14577 is not set
-# CONFIG_MFD_MAX77686 is not set
-# CONFIG_MFD_MAX77693 is not set
-# CONFIG_MFD_MAX77843 is not set
-# CONFIG_MFD_MAX8907 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_MC13783 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_MFD_MC13XXX_I2C is not set
-# CONFIG_MFD_MC13XXX_SPI is not set
-# CONFIG_MFD_MENF21BMC is not set
-# CONFIG_MFD_MT6397 is not set
-# CONFIG_MFD_OMAP_USB_HOST is not set
-# CONFIG_MFD_PALMAS is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_PM8921_CORE is not set
-# CONFIG_MFD_RC5T583 is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_RETU is not set
-# CONFIG_MFD_RK808 is not set
-# CONFIG_MFD_RN5T618 is not set
-# CONFIG_MFD_RT5033 is not set
-# CONFIG_MFD_RTSX_PCI is not set
-# CONFIG_MFD_RTSX_USB is not set
-# CONFIG_MFD_S5M_CORE is not set
-# CONFIG_MFD_SEC_CORE is not set
-# CONFIG_MFD_SI476X_CORE is not set
-# CONFIG_MFD_SKY81452 is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_SMSC is not set
-# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUPPORT=y
-# CONFIG_MFD_SYSCON is not set
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_MFD_TC6393XB is not set
-# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_TPS65090 is not set
-# CONFIG_MFD_TPS65217 is not set
-# CONFIG_MFD_TPS65218 is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_MFD_TPS65910 is not set
-# CONFIG_MFD_TPS65912 is not set
-# CONFIG_MFD_TPS65912_I2C is not set
-# CONFIG_MFD_TPS65912_SPI is not set
-# CONFIG_MFD_TPS80031 is not set
-# CONFIG_MFD_VIPERBOARD is not set
-# CONFIG_MFD_VX855 is not set
-# CONFIG_MFD_WL1273_CORE is not set
-# CONFIG_MFD_WM831X is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MICREL_KS8995MA is not set
-# CONFIG_MICREL_PHY is not set
-# CONFIG_MIGRATION is not set
-CONFIG_MII=y
-# CONFIG_MIKROTIK_RB532 is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_MIPS_ALCHEMY is not set
-# CONFIG_MIPS_CDMM is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MIPS_FPU_EMULATOR is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_O32_FP64_SUPPORT is not set
-# CONFIG_MIPS_PARAVIRT is not set
-# CONFIG_MIPS_PLATFORM_DEVICES is not set
-# CONFIG_MIPS_SEAD3 is not set
-# CONFIG_MIPS_SIM is not set
-CONFIG_MISC_DEVICES=y
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_MISDN is not set
-# CONFIG_MISDN_AVMFRITZ is not set
-# CONFIG_MISDN_HFCPCI is not set
-# CONFIG_MISDN_HFCUSB is not set
-# CONFIG_MISDN_INFINEON is not set
-# CONFIG_MISDN_NETJET is not set
-# CONFIG_MISDN_SPEEDFAX is not set
-# CONFIG_MISDN_W6692 is not set
-# CONFIG_MKISS is not set
-# CONFIG_MLX4_CORE is not set
-# CONFIG_MLX4_EN is not set
-# CONFIG_MLX5_CORE is not set
-# CONFIG_MLX90614 is not set
-# CONFIG_MMA8452 is not set
-# CONFIG_MMA9551 is not set
-# CONFIG_MMA9553 is not set
-# CONFIG_MMC is not set
-# CONFIG_MMC_ARMMMCI is not set
-# CONFIG_MMC_AU1X is not set
-# CONFIG_MMC_BLOCK is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_MMC_BLOCK_MINORS=8
-# CONFIG_MMC_CB710 is not set
-# CONFIG_MMC_CLKGATE is not set
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_DW is not set
-# CONFIG_MMC_MVSDIO is not set
-# CONFIG_MMC_S3C is not set
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_SDHCI_ACPI is not set
-# CONFIG_MMC_SDHCI_BCM_KONA is not set
-# CONFIG_MMC_SDHCI_IPROC is not set
-# CONFIG_MMC_SDHCI_MSM is not set
-# CONFIG_MMC_SDHCI_OF_ARASAN is not set
-# CONFIG_MMC_SDHCI_OF_ESDHC is not set
-# CONFIG_MMC_SDHCI_OF_HLWD is not set
-# CONFIG_MMC_SDHCI_PXAV2 is not set
-# CONFIG_MMC_SDHCI_PXAV3 is not set
-# CONFIG_MMC_SDHCI_F_SDH30 is not set
-# CONFIG_MMC_SDRICOH_CS is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TEST is not set
-# CONFIG_MMC_TOSHIBA_PCI is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-# CONFIG_MMC_USDHI6ROL0 is not set
-# CONFIG_MMC_USHC is not set
-# CONFIG_MMC_VIA_SDMMC is not set
-# CONFIG_MMC_VUB300 is not set
-# CONFIG_MMIOTRACE is not set
-CONFIG_MMU=y
-CONFIG_MODULES=y
-# CONFIG_MODULE_COMPRESS is not set
-# CONFIG_MODULE_FORCE_LOAD is not set
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODULE_SIG is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_MODULE_STRIPPED=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_GPIO is not set
-# CONFIG_MOUSE_INPORT is not set
-# CONFIG_MOUSE_LOGIBM is not set
-# CONFIG_MOUSE_PC110PAD is not set
-# CONFIG_MOUSE_PS2_SENTELIC is not set
-# CONFIG_MOUSE_SYNAPTICS_I2C is not set
-# CONFIG_MOUSE_SYNAPTICS_USB is not set
-# CONFIG_MPL115 is not set
-# CONFIG_MPL3115 is not set
-# CONFIG_MPLS is not set
-# CONFIG_MS5611 is not set
-# CONFIG_MSDOS_FS is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_MSI_BITMAP_SELFTEST is not set
-# CONFIG_MSI_LAPTOP is not set
-CONFIG_MTD=y
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_ALAUDA is not set
-# CONFIG_MTD_AR7_PARTS is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_MTD_BLOCK2MTD is not set
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-CONFIG_MTD_CHAR=y
-# CONFIG_MTD_CMDLINE_PARTS is not set
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-# CONFIG_MTD_DOCG3 is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_GPIO_ADDR is not set
-# CONFIG_MTD_INTEL_VR_NOR is not set
-# CONFIG_MTD_JEDECPROBE is not set
-# CONFIG_MTD_LATCH_ADDR is not set
-# CONFIG_MTD_LPDDR is not set
-# CONFIG_MTD_LPDDR2_NVM is not set
-# CONFIG_MTD_M25P80 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_MYLOADER_PARTS is not set
-# CONFIG_MTD_NAND is not set
-# CONFIG_MTD_NAND_AMS_DELTA is not set
-# CONFIG_MTD_NAND_AR934X is not set
-# CONFIG_MTD_NAND_AR934X_HW_ECC is not set
-# CONFIG_MTD_NAND_ATMEL is not set
-# CONFIG_MTD_NAND_AU1550 is not set
-# CONFIG_MTD_NAND_AUTCPU12 is not set
-# CONFIG_MTD_NAND_BCH is not set
-# CONFIG_MTD_NAND_BCM_UMI is not set
-# CONFIG_MTD_NAND_BF5XX is not set
-# CONFIG_MTD_NAND_CAFE is not set
-# CONFIG_MTD_NAND_CM_X270 is not set
-# CONFIG_MTD_NAND_CS553X is not set
-# CONFIG_MTD_NAND_DAVINCI is not set
-# CONFIG_MTD_NAND_DENALI is not set
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xff108018
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_DOCG4 is not set
-# CONFIG_MTD_NAND_ECC is not set
-# CONFIG_MTD_NAND_ECC_BCH is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_FSL_ELBC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
-# CONFIG_MTD_NAND_FSL_UPM is not set
-# CONFIG_MTD_NAND_FSMC is not set
-# CONFIG_MTD_NAND_GPIO is not set
-# CONFIG_MTD_NAND_GPMI_NAND is not set
-# CONFIG_MTD_NAND_H1900 is not set
-# CONFIG_MTD_NAND_HISI504 is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_JZ4740 is not set
-# CONFIG_MTD_NAND_MPC5121_NFC is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_MXC is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_NDFC is not set
-# CONFIG_MTD_NAND_NOMADIK is not set
-# CONFIG_MTD_NAND_NUC900 is not set
-# CONFIG_MTD_NAND_OMAP2 is not set
-# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
-# CONFIG_MTD_NAND_ORION is not set
-# CONFIG_MTD_NAND_PASEMI is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_NAND_PPCHAMELEONEVB is not set
-# CONFIG_MTD_NAND_PXA3xx is not set
-# CONFIG_MTD_NAND_RB4XX is not set
-# CONFIG_MTD_NAND_RB750 is not set
-# CONFIG_MTD_NAND_RICOH is not set
-# CONFIG_MTD_NAND_RTC_FROM4 is not set
-# CONFIG_MTD_NAND_S3C2410 is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-# CONFIG_MTD_NAND_SH_FLCTL is not set
-# CONFIG_MTD_NAND_SOCRATES is not set
-# CONFIG_MTD_NAND_SPIA is not set
-# CONFIG_MTD_NAND_TMIO is not set
-# CONFIG_MTD_NAND_TXX9NDFMC is not set
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-CONFIG_MTD_OF_PARTS=y
-# CONFIG_MTD_ONENAND is not set
-# CONFIG_MTD_OOPS is not set
-# CONFIG_MTD_OTP is not set
-# CONFIG_MTD_PARTITIONED_MASTER is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PCMCIA is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-CONFIG_MTD_PHYSMAP_OF=y
-# CONFIG_MTD_PLATRAM is not set
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_RAM is not set
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_ROM is not set
-CONFIG_MTD_ROOTFS_ROOT_DEV=y
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-# CONFIG_MTD_SPI_NOR is not set
-# CONFIG_MTD_SPINAND_MT29F is not set
-CONFIG_MTD_SPLIT=y
-# CONFIG_MTD_SPLIT_BRNIMAGE_FW is not set
-# CONFIG_MTD_SPLIT_EVA_FW is not set
-# CONFIG_MTD_SPLIT_FIRMWARE is not set
-CONFIG_MTD_SPLIT_FIRMWARE_NAME="firmware"
-# CONFIG_MTD_SPLIT_FIT_FW is not set
-# CONFIG_MTD_SPLIT_LZMA_FW is not set
-# CONFIG_MTD_SPLIT_SEAMA_FW is not set
-CONFIG_MTD_SPLIT_SQUASHFS_ROOT=y
-CONFIG_MTD_SPLIT_SUPPORT=y
-# CONFIG_MTD_SPLIT_TRX_FW is not set
-# CONFIG_MTD_SPLIT_TPLINK_FW is not set
-# CONFIG_MTD_SPLIT_UIMAGE_FW is not set
-# CONFIG_MTD_SPLIT_WRGG_FW is not set
-# CONFIG_MTD_SST25L is not set
-# CONFIG_MTD_SWAP is not set
-# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_UBI is not set
-# CONFIG_MTD_UIMAGE_SPLIT is not set
-CONFIG_MULTIUSER=y
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-# CONFIG_MV643XX_ETH is not set
-# CONFIG_MVMDIO is not set
-# CONFIG_MVSW61XX_PHY is not set
-# CONFIG_MVSW6171_PHY is not set
-# CONFIG_MVSWITCH_PHY is not set
-# CONFIG_MWAVE is not set
-# CONFIG_MWL8K is not set
-# CONFIG_MYRI10GE is not set
-# CONFIG_NAMESPACES is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NAU7802 is not set
-# CONFIG_NBPFAXI_DMA is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NE2000 is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_NEC_MARKEINS is not set
-CONFIG_NET=y
-# CONFIG_NETCONSOLE is not set
-CONFIG_NETDEVICES=y
-CONFIG_NETDEV_1000=y
-# CONFIG_NETDEV_10000 is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_NETFILTER_ADVANCED is not set
-# CONFIG_NETFILTER_DEBUG is not set
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NETFILTER_NETLINK_ACCT is not set
-# CONFIG_NETFILTER_NETLINK_LOG is not set
-# CONFIG_NETFILTER_NETLINK_QUEUE is not set
-# CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set
-# CONFIG_NETFILTER_TPROXY is not set
-# CONFIG_NETFILTER_XTABLES is not set
-# CONFIG_NETFILTER_XT_CONNMARK is not set
-# CONFIG_NETFILTER_XT_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_BPF is not set
-# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
-# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
-# CONFIG_NETFILTER_XT_MATCH_CPU is not set
-# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
-# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-# CONFIG_NETFILTER_XT_MATCH_ECN is not set
-# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
-# CONFIG_NETFILTER_XT_MATCH_HL is not set
-# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
-# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
-# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
-# CONFIG_NETFILTER_XT_MATCH_LAYER7 is not set
-# CONFIG_NETFILTER_XT_MATCH_LAYER7_DEBUG is not set
-# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
-# CONFIG_NETFILTER_XT_MATCH_OSF is not set
-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
-# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
-# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
-# CONFIG_NETFILTER_XT_MATCH_STATE is not set
-# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set
-# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
-# CONFIG_NETFILTER_XT_TARGET_CT is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-# CONFIG_NETFILTER_XT_TARGET_HL is not set
-# CONFIG_NETFILTER_XT_TARGET_HMARK is not set
-# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-# CONFIG_NETFILTER_XT_TARGET_LOG is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
-# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-# CONFIG_NETFILTER_XT_TARGET_TEE is not set
-# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETLINK_DIAG is not set
-# CONFIG_NETLINK_MMAP is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NETROM is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETXEN_NIC is not set
-# CONFIG_NET_9P is not set
-# CONFIG_NET_ACT_BPF is not set
-# CONFIG_NET_ACT_CSUM is not set
-# CONFIG_NET_ACT_GACT is not set
-# CONFIG_NET_ACT_IPT is not set
-# CONFIG_NET_ACT_MIRRED is not set
-# CONFIG_NET_ACT_NAT is not set
-# CONFIG_NET_ACT_PEDIT is not set
-# CONFIG_NET_ACT_POLICE is not set
-# CONFIG_NET_ACT_SIMP is not set
-# CONFIG_NET_ACT_SKBEDIT is not set
-# CONFIG_NET_ACT_VLAN is not set
-CONFIG_NET_CADENCE=y
-# CONFIG_NET_CALXEDA_XGMAC is not set
-CONFIG_NET_CLS=y
-# CONFIG_NET_CLS_ACT is not set
-# CONFIG_NET_CLS_BASIC is not set
-# CONFIG_NET_CLS_BPF is not set
-# CONFIG_NET_CLS_FLOW is not set
-# CONFIG_NET_CLS_FW is not set
-CONFIG_NET_CLS_IND=y
-# CONFIG_NET_CLS_ROUTE4 is not set
-# CONFIG_NET_CLS_RSVP is not set
-# CONFIG_NET_CLS_RSVP6 is not set
-# CONFIG_NET_CLS_TCINDEX is not set
-# CONFIG_NET_CLS_U32 is not set
-CONFIG_NET_CORE=y
-# CONFIG_NET_DROP_MONITOR is not set
-# CONFIG_NET_DSA is not set
-# CONFIG_NET_DSA_BCM_SF2 is not set
-# CONFIG_NET_DSA_MV88E6060 is not set
-# CONFIG_NET_DSA_MV88E6123_61_65 is not set
-# CONFIG_NET_DSA_MV88E6131 is not set
-# CONFIG_NET_DSA_MV88E6171 is not set
-# CONFIG_NET_DSA_MV88E6352 is not set
-# CONFIG_NET_DSA_MV88E6XXX is not set
-# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
-# CONFIG_NET_DSA_TAG_DSA is not set
-# CONFIG_NET_DSA_TAG_EDSA is not set
-# CONFIG_NET_EMATCH is not set
-# CONFIG_NET_EMATCH_CMP is not set
-# CONFIG_NET_EMATCH_META is not set
-# CONFIG_NET_EMATCH_NBYTE is not set
-CONFIG_NET_EMATCH_STACK=32
-# CONFIG_NET_EMATCH_TEXT is not set
-# CONFIG_NET_EMATCH_U32 is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_NET_FC is not set
-# CONFIG_NET_FOU is not set
-# CONFIG_NET_FOU_IP_TUNNELS is not set
-# CONFIG_NET_IPGRE is not set
-CONFIG_NET_IPGRE_BROADCAST=y
-# CONFIG_NET_IPGRE_DEMUX is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPVTI is not set
-# CONFIG_NET_IP_TUNNEL is not set
-# CONFIG_NET_ISA is not set
-# CONFIG_NET_KEY is not set
-# CONFIG_NET_KEY_MIGRATE is not set
-# CONFIG_NET_MPLS_GSO is not set
-# CONFIG_NET_PACKET_ENGINE is not set
-CONFIG_NET_PCI=y
-# CONFIG_NET_PCMCIA is not set
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_NET_POCKET is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_NET_PTP_CLASSIFY is not set
-CONFIG_NET_RX_BUSY_POLL=y
-# CONFIG_NET_SB1000 is not set
-CONFIG_NET_SCHED=y
-# CONFIG_NET_SCH_ATM is not set
-# CONFIG_NET_SCH_CBQ is not set
-# CONFIG_NET_SCH_CHOKE is not set
-# CONFIG_NET_SCH_CODEL is not set
-# CONFIG_NET_SCH_DRR is not set
-# CONFIG_NET_SCH_DSMARK is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_NET_SCH_FQ is not set
-CONFIG_NET_SCH_FQ_CODEL=y
-# CONFIG_NET_SCH_GRED is not set
-# CONFIG_NET_SCH_HFSC is not set
-# CONFIG_NET_SCH_HHF is not set
-# CONFIG_NET_SCH_HTB is not set
-# CONFIG_NET_SCH_INGRESS is not set
-# CONFIG_NET_SCH_MQPRIO is not set
-# CONFIG_NET_SCH_MULTIQ is not set
-# CONFIG_NET_SCH_NETEM is not set
-# CONFIG_NET_SCH_PIE is not set
-# CONFIG_NET_SCH_PLUG is not set
-# CONFIG_NET_SCH_PRIO is not set
-# CONFIG_NET_SCH_QFQ is not set
-# CONFIG_NET_SCH_RED is not set
-# CONFIG_NET_SCH_SFB is not set
-# CONFIG_NET_SCH_SFQ is not set
-# CONFIG_NET_SCH_TBF is not set
-# CONFIG_NET_SCH_TEQL is not set
-# CONFIG_NET_SCTPPROBE is not set
-# CONFIG_NET_SWITCHDEV is not set
-# CONFIG_NET_TCPPROBE is not set
-# CONFIG_NET_TEAM is not set
-# CONFIG_NET_TULIP is not set
-# CONFIG_NET_UDP_TUNNEL is not set
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_NET_VENDOR_8390=y
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_NET_VENDOR_AGERE=y
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_NET_VENDOR_ARC=y
-CONFIG_NET_VENDOR_ATHEROS=y
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_NET_VENDOR_BROCADE=y
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_NET_VENDOR_EXAR=y
-CONFIG_NET_VENDOR_FARADAY=y
-CONFIG_NET_VENDOR_FREESCALE=y
-CONFIG_NET_VENDOR_FUJITSU=y
-CONFIG_NET_VENDOR_HISILICON=y
-CONFIG_NET_VENDOR_HP=y
-CONFIG_NET_VENDOR_I825XX=y
-CONFIG_NET_VENDOR_IBM=y
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_NET_VENDOR_MELLANOX=y
-CONFIG_NET_VENDOR_MICREL=y
-CONFIG_NET_VENDOR_MICROCHIP=y
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_NET_VENDOR_QLOGIC=y
-CONFIG_NET_VENDOR_QUALCOMM=y
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_NET_VENDOR_REALTEK=y
-CONFIG_NET_VENDOR_ROCKER=y
-CONFIG_NET_VENDOR_SAMSUNG=y
-CONFIG_NET_VENDOR_SEEQ=y
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_NET_VENDOR_SILICOM=y
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_NET_VENDOR_SMSC=y
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_NET_VENDOR_SUN=y
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_NET_VENDOR_TI=y
-CONFIG_NET_VENDOR_TOSHIBA=y
-CONFIG_NET_VENDOR_VIA=y
-# CONFIG_NET_VENDOR_WIZNET is not set
-CONFIG_NET_VENDOR_XILINX=y
-CONFIG_NET_VENDOR_XIRCOM=y
-# CONFIG_NET_XGENE is not set
-CONFIG_NEW_LEDS=y
-# CONFIG_NFC is not set
-# CONFIG_NFC_DEVICES is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_DEPRECATED is not set
-# CONFIG_NFSD_V2_ACL is not set
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-# CONFIG_NFSD_V4 is not set
-# CONFIG_NFS_ACL_SUPPORT is not set
-CONFIG_NFS_COMMON=y
-# CONFIG_NFS_FS is not set
-# CONFIG_NFS_FSCACHE is not set
-# CONFIG_NFS_SWAP is not set
-# CONFIG_NFS_V2 is not set
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFTL is not set
-# CONFIG_NF_CONNTRACK is not set
-# CONFIG_NF_CONNTRACK_AMANDA is not set
-# CONFIG_NF_CONNTRACK_EVENTS is not set
-# CONFIG_NF_CONNTRACK_FTP is not set
-# CONFIG_NF_CONNTRACK_H323 is not set
-# CONFIG_NF_CONNTRACK_IPV4 is not set
-# CONFIG_NF_CONNTRACK_IPV6 is not set
-# CONFIG_NF_CONNTRACK_IRC is not set
-# CONFIG_NF_CONNTRACK_MARK is not set
-# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
-# CONFIG_NF_CONNTRACK_PPTP is not set
-CONFIG_NF_CONNTRACK_PROCFS=y
-# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-# CONFIG_NF_CONNTRACK_RTSP is not set
-# CONFIG_NF_CONNTRACK_SANE is not set
-# CONFIG_NF_CONNTRACK_SIP is not set
-# CONFIG_NF_CONNTRACK_SNMP is not set
-# CONFIG_NF_CONNTRACK_TFTP is not set
-# CONFIG_NF_CONNTRACK_TIMEOUT is not set
-# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
-# CONFIG_NF_CONNTRACK_ZONES is not set
-# CONFIG_NF_CT_NETLINK is not set
-# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
-# CONFIG_NF_CT_PROTO_DCCP is not set
-# CONFIG_NF_CT_PROTO_GRE is not set
-# CONFIG_NF_CT_PROTO_SCTP is not set
-# CONFIG_NF_CT_PROTO_UDPLITE is not set
-# CONFIG_NF_DEFRAG_IPV4 is not set
-# CONFIG_NF_LOG_ARP is not set
-# CONFIG_NF_LOG_IPV4 is not set
-# CONFIG_NF_NAT is not set
-# CONFIG_NF_NAT_AMANDA is not set
-# CONFIG_NF_NAT_FTP is not set
-# CONFIG_NF_NAT_H323 is not set
-# CONFIG_NF_NAT_IPV6 is not set
-# CONFIG_NF_NAT_IRC is not set
-# CONFIG_NF_NAT_MASQUERADE_IPV4 is not set
-# CONFIG_NF_NAT_MASQUERADE_IPV6 is not set
-# CONFIG_NF_NAT_NEEDED is not set
-# CONFIG_NF_NAT_PPTP is not set
-# CONFIG_NF_NAT_PROTO_GRE is not set
-# CONFIG_NF_NAT_RTSP is not set
-# CONFIG_NF_NAT_SIP is not set
-# CONFIG_NF_NAT_SNMP_BASIC is not set
-# CONFIG_NF_NAT_TFTP is not set
-# CONFIG_NF_REJECT_IPV4 is not set
-# CONFIG_NF_REJECT_IPV6 is not set
-# CONFIG_NF_TABLES is not set
-# CONFIG_NI52 is not set
-# CONFIG_NI65 is not set
-# CONFIG_NILFS2_FS is not set
-# CONFIG_NIU is not set
-CONFIG_NLATTR=y
-# CONFIG_NLMON is not set
-# CONFIG_NLM_XLP_BOARD is not set
-# CONFIG_NLM_XLR_BOARD is not set
-# CONFIG_NLS is not set
-# CONFIG_NLS_ASCII is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_MAC_CELTIC is not set
-# CONFIG_NLS_MAC_CENTEURO is not set
-# CONFIG_NLS_MAC_CROATIAN is not set
-# CONFIG_NLS_MAC_CYRILLIC is not set
-# CONFIG_NLS_MAC_GAELIC is not set
-# CONFIG_NLS_MAC_GREEK is not set
-# CONFIG_NLS_MAC_ICELAND is not set
-# CONFIG_NLS_MAC_INUIT is not set
-# CONFIG_NLS_MAC_ROMAN is not set
-# CONFIG_NLS_MAC_ROMANIAN is not set
-# CONFIG_NLS_MAC_TURKISH is not set
-# CONFIG_NLS_UTF8 is not set
-# CONFIG_NOP_USB_XCEIV is not set
-# CONFIG_NORTEL_HERMES is not set
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-# CONFIG_NOZOMI is not set
-# CONFIG_NO_BOOTMEM is not set
-# CONFIG_NO_HZ is not set
-# CONFIG_NO_HZ_FULL is not set
-# CONFIG_NO_HZ_IDLE is not set
-# CONFIG_NO_IOPORT is not set
-# CONFIG_NS83820 is not set
-# CONFIG_NTFS_DEBUG is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_NTP_PPS is not set
-# CONFIG_NVRAM is not set
-# CONFIG_NV_TCO is not set
-# CONFIG_NXP_STB220 is not set
-# CONFIG_NXP_STB225 is not set
-# CONFIG_N_GSM is not set
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_OBS600 is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_OC_ETM is not set
-# CONFIG_OF_OVERLAY is not set
-# CONFIG_OF_SELFTEST is not set
-# CONFIG_OF_UNITTEST is not set
-# CONFIG_OMAP2_DSS_DEBUG is not set
-# CONFIG_OMAP2_DSS_DEBUGFS is not set
-# CONFIG_OMAP2_DSS_SDI is not set
-# CONFIG_OMAP_CONTROL_USB is not set
-# CONFIG_OMAP_OCP2SCP is not set
-# CONFIG_OMAP_USB2 is not set
-# CONFIG_OMAP_USB3 is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_OPENVSWITCH is not set
-# CONFIG_OPROFILE is not set
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-# CONFIG_ORION_WATCHDOG is not set
-# CONFIG_OSF_PARTITION is not set
-CONFIG_OVERLAY_FS=y
-# CONFIG_P54_COMMON is not set
-CONFIG_PACKET=y
-# CONFIG_PACKET_DIAG is not set
-# CONFIG_PAGE_EXTENSION is not set
-# CONFIG_PAGE_OWNER is not set
-# CONFIG_PAGE_POISONING is not set
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_32KB is not set
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_64KB is not set
-# CONFIG_PAGE_SIZE_8KB is not set
-# CONFIG_PANEL is not set
-CONFIG_PANIC_ON_OOPS=y
-CONFIG_PANIC_ON_OOPS_VALUE=1
-CONFIG_PANIC_TIMEOUT=1
-# CONFIG_PANTHERLORD_FF is not set
-# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_1284 is not set
-# CONFIG_PARPORT_AX88796 is not set
-# CONFIG_PARPORT_PC is not set
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_PATA_ALI is not set
-# CONFIG_PATA_AMD is not set
-# CONFIG_PATA_ARASAN_CF is not set
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_ATP867X is not set
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_CMD64X is not set
-# CONFIG_PATA_CS5520 is not set
-# CONFIG_PATA_CS5530 is not set
-# CONFIG_PATA_CS5535 is not set
-# CONFIG_PATA_CS5536 is not set
-# CONFIG_PATA_CYPRESS is not set
-# CONFIG_PATA_EFAR is not set
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_ISAPNP is not set
-# CONFIG_PATA_IT8213 is not set
-# CONFIG_PATA_IT821X is not set
-# CONFIG_PATA_JMICRON is not set
-# CONFIG_PATA_LEGACY is not set
-# CONFIG_PATA_MARVELL is not set
-# CONFIG_PATA_MPIIX is not set
-# CONFIG_PATA_NETCELL is not set
-# CONFIG_PATA_NINJA32 is not set
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_NS87415 is not set
-# CONFIG_PATA_OCTEON_CF is not set
-# CONFIG_PATA_OF_PLATFORM is not set
-# CONFIG_PATA_OLDPIIX is not set
-# CONFIG_PATA_OPTI is not set
-# CONFIG_PATA_OPTIDMA is not set
-# CONFIG_PATA_PCMCIA is not set
-# CONFIG_PATA_PDC2027X is not set
-# CONFIG_PATA_PDC_OLD is not set
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_PATA_QDI is not set
-# CONFIG_PATA_RADISYS is not set
-# CONFIG_PATA_RDC is not set
-# CONFIG_PATA_RZ1000 is not set
-# CONFIG_PATA_SC1200 is not set
-# CONFIG_PATA_SCH is not set
-# CONFIG_PATA_SERVERWORKS is not set
-# CONFIG_PATA_SIL680 is not set
-# CONFIG_PATA_SIS is not set
-# CONFIG_PATA_TOSHIBA is not set
-# CONFIG_PATA_TRIFLEX is not set
-# CONFIG_PATA_VIA is not set
-# CONFIG_PATA_WINBOND is not set
-# CONFIG_PATA_WINBOND_VLB is not set
-# CONFIG_PC300TOO is not set
-# CONFIG_PCCARD is not set
-# CONFIG_PCH_GBE is not set
-# CONFIG_PCH_PHUB is not set
-# CONFIG_PCI200SYN is not set
-# CONFIG_PCIEAER_INJECT is not set
-# CONFIG_PCIEASPM is not set
-# CONFIG_PCIEPORTBUS is not set
-# CONFIG_PCIE_ECRC is not set
-# CONFIG_PCIE_IPROC is not set
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_PCI_ATMEL is not set
-# CONFIG_PCI_CNB20LE_QUIRK is not set
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_DISABLE_COMMON_QUIRKS is not set
-# CONFIG_PCI_HERMES is not set
-# CONFIG_PCI_HOST_GENERIC is not set
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCI_LAYERSCAPE is not set
-# CONFIG_PCI_MSI is not set
-# CONFIG_PCI_PASID is not set
-# CONFIG_PCI_PRI is not set
-CONFIG_PCI_QUIRKS=y
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-# CONFIG_PCI_STUB is not set
-CONFIG_PCI_SYSCALL=y
-# CONFIG_PCMCIA is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_AHA152X is not set
-# CONFIG_PCMCIA_ATMEL is not set
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_PCMCIA_DEBUG is not set
-# CONFIG_PCMCIA_FDOMAIN is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-# CONFIG_PCMCIA_HERMES is not set
-# CONFIG_PCMCIA_LOAD_CIS is not set
-# CONFIG_PCMCIA_NINJA_SCSI is not set
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_PCNET is not set
-# CONFIG_PCMCIA_QLOGIC is not set
-# CONFIG_PCMCIA_RAYCS is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_SPECTRUM is not set
-# CONFIG_PCMCIA_SYM53C500 is not set
-# CONFIG_PCMCIA_WL3501 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_PCMCIA_XIRCOM is not set
-# CONFIG_PCNET32 is not set
-# CONFIG_PCSPKR_PLATFORM is not set
-# CONFIG_PD6729 is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_PDC_ADMA is not set
-# CONFIG_PERCPU_TEST is not set
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_PERF_EVENTS is not set
-# CONFIG_PERSISTENT_KEYRINGS is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_PHONE is not set
-# CONFIG_PHONET is not set
-# CONFIG_PHYLIB is not set
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-# CONFIG_PHY_EXYNOS_DP_VIDEO is not set
-# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
-# CONFIG_PHY_SAMSUNG_USB2 is not set
-# CONFIG_PHY_QCOM_DWC3 is not set
-# CONFIG_PID_IN_CONTEXTIDR is not set
-# CONFIG_PID_NS is not set
-CONFIG_PINCONF=y
-# CONFIG_PINCTRL is not set
-# CONFIG_PINCTRL_AMD is not set
-# CONFIG_PINCTRL_CAPRI is not set
-# CONFIG_PINCTRL_EXYNOS is not set
-# CONFIG_PINCTRL_EXYNOS5440 is not set
-# CONFIG_PINCTRL_MSM8X74 is not set
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_PINMUX=y
-# CONFIG_PL320_MBOX is not set
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_PLIP is not set
-# CONFIG_PLX_HERMES is not set
-# CONFIG_PM is not set
-# CONFIG_PMBUS is not set
-# CONFIG_PMC_MSP is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_AUTOSLEEP is not set
-# CONFIG_PM_DEVFREQ is not set
-# CONFIG_PM_RUNTIME is not set
-# CONFIG_PM_WAKELOCKS is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_POHMELFS is not set
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_POWERCAP is not set
-# CONFIG_POWERTV is not set
-# CONFIG_POWER_AVS is not set
-# CONFIG_POWER_RESET is not set
-# CONFIG_POWER_RESET_GPIO is not set
-# CONFIG_POWER_RESET_GPIO_RESTART is not set
-# CONFIG_POWER_RESET_LTC2952 is not set
-# CONFIG_POWER_RESET_RESTART is not set
-# CONFIG_POWER_RESET_SYSCON is not set
-# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
-# CONFIG_POWER_RESET_VERSATILE is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PPC4xx_GPIO is not set
-# CONFIG_PPC_16K_PAGES is not set
-# CONFIG_PPC_256K_PAGES is not set
-CONFIG_PPC_4K_PAGES=y
-# CONFIG_PPC_64K_PAGES is not set
-# CONFIG_PPC_DISABLE_WERROR is not set
-# CONFIG_PPC_EMULATED_STATS is not set
-# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
-# CONFIG_PPP is not set
-# CONFIG_PPPOATM is not set
-# CONFIG_PPPOE is not set
-# CONFIG_PPPOL2TP is not set
-# CONFIG_PPP_ASYNC is not set
-# CONFIG_PPP_BSDCOMP is not set
-# CONFIG_PPP_DEFLATE is not set
-CONFIG_PPP_FILTER=y
-# CONFIG_PPP_MPPE is not set
-CONFIG_PPP_MULTILINK=y
-# CONFIG_PPP_SYNC_TTY is not set
-# CONFIG_PPS is not set
-# CONFIG_PPS_CLIENT_GPIO is not set
-# CONFIG_PPS_CLIENT_KTIMER is not set
-# CONFIG_PPS_CLIENT_LDISC is not set
-# CONFIG_PPS_CLIENT_PARPORT is not set
-# CONFIG_PPS_DEBUG is not set
-# CONFIG_PPTP is not set
-# CONFIG_PREEMPT is not set
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_TRACER is not set
-# CONFIG_PREEMPT_VOLUNTARY is not set
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_PRINTK=y
-# CONFIG_PRINTK_TIME is not set
-CONFIG_PRINT_STACK_DEPTH=64
-# CONFIG_PRISM2_USB is not set
-# CONFIG_PRISM54 is not set
-# CONFIG_PROBE_INITRD_HEADER is not set
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-# CONFIG_PROC_PAGE_MONITOR is not set
-CONFIG_PROC_STRIPPED=y
-CONFIG_PROC_SYSCTL=y
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILING is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_PROVE_RCU is not set
-# CONFIG_PROVE_RCU_DELAY is not set
-# CONFIG_PROVE_RCU_REPEATEDLY is not set
-# CONFIG_PSB6970_PHY is not set
-# CONFIG_PSTORE is not set
-# CONFIG_PTP_1588_CLOCK is not set
-# CONFIG_PTP_1588_CLOCK_IXP46X is not set
-# CONFIG_PTP_1588_CLOCK_PCH is not set
-# CONFIG_PWM is not set
-# CONFIG_PWM_FSL_FTM is not set
-# CONFIG_PWM_PCA9685 is not set
-# CONFIG_QCA7000 is not set
-# CONFIG_QLA3XXX is not set
-# CONFIG_QLCNIC is not set
-# CONFIG_QLGE is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX6FS_FS is not set
-# CONFIG_QORIQ_CPUFREQ is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTACTL is not set
-# CONFIG_QUOTA_DEBUG is not set
-# CONFIG_R3964 is not set
-# CONFIG_R6040 is not set
-# CONFIG_R8169 is not set
-# CONFIG_R8187SE is not set
-# CONFIG_R8188EU is not set
-# CONFIG_R8712U is not set
-# CONFIG_R8723AU is not set
-# CONFIG_RADIO_ADAPTERS is not set
-# CONFIG_RADIO_AZTECH is not set
-# CONFIG_RADIO_CADET is not set
-# CONFIG_RADIO_GEMTEK is not set
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_RADIO_RTRACK is not set
-# CONFIG_RADIO_RTRACK2 is not set
-# CONFIG_RADIO_SF16FMI is not set
-# CONFIG_RADIO_SF16FMR2 is not set
-# CONFIG_RADIO_TERRATEC is not set
-# CONFIG_RADIO_TRUST is not set
-# CONFIG_RADIO_TYPHOON is not set
-# CONFIG_RADIO_ZOLTRIX is not set
-# CONFIG_RAID_ATTRS is not set
-# CONFIG_RALINK is not set
-# CONFIG_RAMOOPS is not set
-# CONFIG_RANDOM32_SELFTEST is not set
-# CONFIG_RAPIDIO is not set
-# CONFIG_RAR_REGISTER is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_RBTREE_TEST is not set
-# CONFIG_RCU_CPU_STALL_INFO is not set
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_EXPEDITE_BOOT is not set
-CONFIG_RCU_FANOUT=32
-# CONFIG_RCU_FANOUT_EXACT is not set
-CONFIG_RCU_FANOUT_LEAF=16
-# CONFIG_RCU_FAST_NO_HZ is not set
-CONFIG_RCU_KTHREAD_PRIO=0
-# CONFIG_RCU_NOCB_CPU is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3
-# CONFIG_RCU_TRACE is not set
-# CONFIG_RCU_USER_QS is not set
-# CONFIG_RC_ATI_REMOTE is not set
-# CONFIG_RC_CORE is not set
-# CONFIG_RC_DECODERS is not set
-# CONFIG_RC_LOOPBACK is not set
-# CONFIG_RC_MAP is not set
-# CONFIG_RDS is not set
-# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_GZIP is not set
-# CONFIG_RD_LZ4 is not set
-# CONFIG_RD_LZMA is not set
-# CONFIG_RD_LZO is not set
-# CONFIG_RD_XZ is not set
-# CONFIG_READABLE_ASM is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_REDWOOD is not set
-# CONFIG_REGMAP is not set
-# CONFIG_REGMAP_I2C is not set
-# CONFIG_REGMAP_MMIO is not set
-# CONFIG_REGMAP_SPI is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_REGULATOR_ACT8865 is not set
-# CONFIG_REGULATOR_AD5398 is not set
-# CONFIG_REGULATOR_ANATOP is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-# CONFIG_REGULATOR_DA9210 is not set
-# CONFIG_REGULATOR_DA9211 is not set
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_FAN53555 is not set
-# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
-# CONFIG_REGULATOR_GPIO is not set
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_ISL9305 is not set
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-# CONFIG_REGULATOR_LP872X is not set
-# CONFIG_REGULATOR_LP8755 is not set
-# CONFIG_REGULATOR_LTC3589 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
-# CONFIG_REGULATOR_MAX8973 is not set
-# CONFIG_REGULATOR_PFUZE100 is not set
-# CONFIG_REGULATOR_PWM is not set
-# CONFIG_REGULATOR_TI_ABB is not set
-# CONFIG_REGULATOR_TPS51632 is not set
-# CONFIG_REGULATOR_TPS62360 is not set
-# CONFIG_REGULATOR_TPS65023 is not set
-# CONFIG_REGULATOR_TPS6507X is not set
-# CONFIG_REGULATOR_TPS6524X is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_FS_POSIX_ACL is not set
-# CONFIG_REISERFS_FS_SECURITY is not set
-# CONFIG_REISERFS_FS_XATTR is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_RELAY is not set
-# CONFIG_RESET_CONTROLLER is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_RFKILL is not set
-# CONFIG_RFKILL_INPUT is not set
-# CONFIG_RFKILL_REGULATOR is not set
-# CONFIG_RING_BUFFER_BENCHMARK is not set
-# CONFIG_RING_BUFFER_STARTUP_TEST is not set
-# CONFIG_ROCKER is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_ROSE is not set
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-# CONFIG_RT2X00 is not set
-# CONFIG_RTC_CLASS is not set
-# CONFIG_RTC_DEBUG is not set
-# CONFIG_RTC_DRV_ABB5ZES3 is not set
-# CONFIG_RTC_DRV_ABX80X is not set
-# CONFIG_RTC_DRV_ARMADA38X is not set
-# CONFIG_RTC_DRV_AU1XXX is not set
-# CONFIG_RTC_DRV_BQ32K is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-CONFIG_RTC_DRV_CMOS=y
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_DS1307 is not set
-# CONFIG_RTC_DRV_DS1343 is not set
-# CONFIG_RTC_DRV_DS1347 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1390 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_DS1685_FAMILY is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_DS2404 is not set
-# CONFIG_RTC_DRV_DS3232 is not set
-# CONFIG_RTC_DRV_DS3234 is not set
-# CONFIG_RTC_DRV_EM3027 is not set
-# CONFIG_RTC_DRV_EP93XX is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_GENERIC is not set
-# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
-# CONFIG_RTC_DRV_ISL12022 is not set
-# CONFIG_RTC_DRV_ISL12057 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-# CONFIG_RTC_DRV_M41T93 is not set
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_MCP795 is not set
-# CONFIG_RTC_DRV_MOXART is not set
-# CONFIG_RTC_DRV_MPC5121 is not set
-# CONFIG_RTC_DRV_MSM6242 is not set
-# CONFIG_RTC_DRV_OMAP is not set
-# CONFIG_RTC_DRV_PCF2123 is not set
-# CONFIG_RTC_DRV_PCF2127 is not set
-# CONFIG_RTC_DRV_PCF85063 is not set
-# CONFIG_RTC_DRV_PCF8523 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_PL030 is not set
-# CONFIG_RTC_DRV_PL031 is not set
-# CONFIG_RTC_DRV_PS3 is not set
-# CONFIG_RTC_DRV_PT7C4338 is not set
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_RTC7301 is not set
-# CONFIG_RTC_DRV_RV3029C2 is not set
-# CONFIG_RTC_DRV_RX4581 is not set
-# CONFIG_RTC_DRV_RX8025 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_SNVS is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_SUN6I is not set
-# CONFIG_RTC_DRV_TEST is not set
-# CONFIG_RTC_DRV_V3020 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_XGENE is not set
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_SYSTOHC=y
-# CONFIG_RTL8180 is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_RTL8192E is not set
-# CONFIG_RTL8192U is not set
-# CONFIG_RTL8306_PHY is not set
-# CONFIG_RTL8366RB_PHY is not set
-# CONFIG_RTL8366S_PHY is not set
-# CONFIG_RTL8366_SMI is not set
-# CONFIG_RTL8366_SMI_DEBUG_FS is not set
-# CONFIG_RTL8367B_PHY is not set
-# CONFIG_RTL8367_PHY is not set
-# CONFIG_RTLLIB is not set
-# CONFIG_RTL_CARDS is not set
-# CONFIG_RTS5139 is not set
-# CONFIG_RTS5208 is not set
-# CONFIG_RTS_PSTOR is not set
-CONFIG_RT_MUTEXES=y
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_RUNTIME_DEBUG is not set
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_S2IO is not set
-# CONFIG_SAMPLES is not set
-# CONFIG_SAMSUNG_LAPTOP is not set
-# CONFIG_SAMSUNG_USB2PHY is not set
-# CONFIG_SAMSUNG_USB3PHY is not set
-# CONFIG_SATA_ACARD_AHCI is not set
-# CONFIG_SATA_AHCI is not set
-# CONFIG_SATA_AHCI_PLATFORM is not set
-# CONFIG_SATA_DWC is not set
-# CONFIG_SATA_FSL is not set
-# CONFIG_SATA_HIGHBANK is not set
-# CONFIG_SATA_INIC162X is not set
-# CONFIG_SATA_MV is not set
-# CONFIG_SATA_NV is not set
-# CONFIG_SATA_PMP is not set
-# CONFIG_SATA_PROMISE is not set
-# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_RCAR is not set
-# CONFIG_SATA_SIL is not set
-# CONFIG_SATA_SIL24 is not set
-# CONFIG_SATA_SIS is not set
-# CONFIG_SATA_SVW is not set
-# CONFIG_SATA_SX4 is not set
-# CONFIG_SATA_ULI is not set
-# CONFIG_SATA_VIA is not set
-# CONFIG_SATA_VITESSE is not set
-# CONFIG_SBC_FITPC2_WATCHDOG is not set
-# CONFIG_SBE_2T3E3 is not set
-# CONFIG_SBYPASS is not set
-# CONFIG_SC92031 is not set
-# CONFIG_SCA3000 is not set
-# CONFIG_SCC is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_SCHED_AUTOGROUP is not set
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHED_MC is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-# CONFIG_SCHED_SMT is not set
-# CONFIG_SCHED_STACK_END_CHECK is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_SCSI is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_3W_SAS is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_AM53C974 is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_SCSI_BFA_FC is not set
-# CONFIG_SCSI_BNX2X_FCOE is not set
-# CONFIG_SCSI_BNX2_ISCSI is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_CHELSIO_FCOE is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_CXGB3_ISCSI is not set
-# CONFIG_SCSI_CXGB4_ISCSI is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_ESAS2R is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
-# CONFIG_SCSI_HPSA is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_ISCI is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_LOGGING is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-# CONFIG_SCSI_LPFC is not set
-CONFIG_SCSI_MOD=y
-# CONFIG_SCSI_MPT2SAS is not set
-# CONFIG_SCSI_MPT3SAS is not set
-# CONFIG_SCSI_MQ_DEFAULT is not set
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_MVSAS is not set
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-# CONFIG_SCSI_MVUMI is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PM8001 is not set
-# CONFIG_SCSI_PMCRAID is not set
-CONFIG_SCSI_PROC_FS=y
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_SRP is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_UFSHCD is not set
-# CONFIG_SCSI_ULTRASTOR is not set
-# CONFIG_SCSI_VIRTIO is not set
-# CONFIG_SCSI_WD719X is not set
-# CONFIG_SCx200_ACB is not set
-# CONFIG_SDIO_UART is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SEEQ8005 is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-# CONFIG_SENSORS_ABITUGURU is not set
-# CONFIG_SENSORS_ABITUGURU3 is not set
-# CONFIG_SENSORS_ACPI_POWER is not set
-# CONFIG_SENSORS_AD7314 is not set
-# CONFIG_SENSORS_AD7414 is not set
-# CONFIG_SENSORS_AD7418 is not set
-# CONFIG_SENSORS_ADC128D818 is not set
-# CONFIG_SENSORS_ADCXX is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1029 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ADS1015 is not set
-# CONFIG_SENSORS_ADS7828 is not set
-# CONFIG_SENSORS_ADS7871 is not set
-# CONFIG_SENSORS_ADT7310 is not set
-# CONFIG_SENSORS_ADT7410 is not set
-# CONFIG_SENSORS_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_SENSORS_APPLESMC is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_ATK0110 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_BH1780 is not set
-# CONFIG_SENSORS_CORETEMP is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_DS620 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 is not set
-# CONFIG_SENSORS_EMC6W201 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_FAM15H_POWER is not set
-# CONFIG_SENSORS_FSCHMD is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_G762 is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_GSC is not set
-# CONFIG_SENSORS_HDAPS is not set
-# CONFIG_SENSORS_HIH6130 is not set
-# CONFIG_SENSORS_HMC5843 is not set
-# CONFIG_SENSORS_HMC5843_I2C is not set
-# CONFIG_SENSORS_HMC5843_SPI is not set
-# CONFIG_SENSORS_HTU21 is not set
-# CONFIG_SENSORS_I5500 is not set
-# CONFIG_SENSORS_I5K_AMB is not set
-# CONFIG_SENSORS_IIO_HWMON is not set
-# CONFIG_SENSORS_INA209 is not set
-# CONFIG_SENSORS_INA2XX is not set
-# CONFIG_SENSORS_ISL29018 is not set
-# CONFIG_SENSORS_ISL29028 is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_K10TEMP is not set
-# CONFIG_SENSORS_K8TEMP is not set
-# CONFIG_SENSORS_LINEAGE is not set
-# CONFIG_SENSORS_LIS3LV02D is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_LM93 is not set
-# CONFIG_SENSORS_LM95234 is not set
-# CONFIG_SENSORS_LM95241 is not set
-# CONFIG_SENSORS_LM95245 is not set
-# CONFIG_SENSORS_LTC2945 is not set
-# CONFIG_SENSORS_LTC4151 is not set
-# CONFIG_SENSORS_LTC4215 is not set
-# CONFIG_SENSORS_LTC4222 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4260 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_MAX1111 is not set
-# CONFIG_SENSORS_MAX16065 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_MAX1668 is not set
-# CONFIG_SENSORS_MAX197 is not set
-# CONFIG_SENSORS_MAX6639 is not set
-# CONFIG_SENSORS_MAX6642 is not set
-# CONFIG_SENSORS_MAX6650 is not set
-# CONFIG_SENSORS_MAX6697 is not set
-# CONFIG_SENSORS_MCP3021 is not set
-# CONFIG_SENSORS_NCT6683 is not set
-# CONFIG_SENSORS_NCT6775 is not set
-# CONFIG_SENSORS_NCT7802 is not set
-# CONFIG_SENSORS_NCT7904 is not set
-# CONFIG_SENSORS_NTC_THERMISTOR is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_POWR1220 is not set
-# CONFIG_SENSORS_PWM_FAN is not set
-# CONFIG_SENSORS_SCH5627 is not set
-# CONFIG_SENSORS_SCH5636 is not set
-# CONFIG_SENSORS_SCH56XX_COMMON is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-# CONFIG_SENSORS_SHTC1 is not set
-# CONFIG_SENSORS_SIS5595 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP103 is not set
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_TSL2563 is not set
-# CONFIG_SENSORS_VEXPRESS is not set
-# CONFIG_SENSORS_VIA686A is not set
-# CONFIG_SENSORS_VIA_CPUTEMP is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_VT8231 is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_ACCENT is not set
-# CONFIG_SERIAL_8250_BOCA is not set
-CONFIG_SERIAL_8250_CONSOLE=y
-# CONFIG_SERIAL_8250_CS is not set
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-CONFIG_SERIAL_8250_DMA=y
-# CONFIG_SERIAL_8250_DW is not set
-# CONFIG_SERIAL_8250_EM is not set
-# CONFIG_SERIAL_8250_EXAR_ST16C554 is not set
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_FINTEK is not set
-# CONFIG_SERIAL_8250_FOURPORT is not set
-# CONFIG_SERIAL_8250_HUB6 is not set
-# CONFIG_SERIAL_8250_MANY_PORTS is not set
-CONFIG_SERIAL_8250_NR_UARTS=2
-# CONFIG_SERIAL_8250_PCI is not set
-# CONFIG_SERIAL_8250_RSA is not set
-CONFIG_SERIAL_8250_RUNTIME_UARTS=2
-# CONFIG_SERIAL_8250_SYSRQ is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_ARC is not set
-# CONFIG_SERIAL_BCM63XX is not set
-# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_EARLYCON=y
-# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set
-# CONFIG_SERIAL_FSL_LPUART is not set
-# CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-# CONFIG_SERIAL_MAX310X is not set
-# CONFIG_SERIAL_MFD_HSU is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_SERIAL_OF_PLATFORM is not set
-# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_SH_SCI is not set
-# CONFIG_SERIAL_ST_ASC is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_UARTLITE is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_SERIO is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_AMBAKMI is not set
-# CONFIG_SERIO_APBPS2 is not set
-# CONFIG_SERIO_ARC_PS2 is not set
-# CONFIG_SERIO_I8042 is not set
-# CONFIG_SERIO_LIBPS2 is not set
-# CONFIG_SERIO_PARKBD is not set
-# CONFIG_SERIO_PCIPS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_SUN4I_PS2 is not set
-# CONFIG_SFC is not set
-# CONFIG_SFI is not set
-# CONFIG_SGETMASK_SYSCALL is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP28 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SGI_PARTITION is not set
-CONFIG_SHMEM=y
-# CONFIG_SH_ETH is not set
-# CONFIG_SH_TIMER_CMT is not set
-# CONFIG_SH_TIMER_MTU2 is not set
-# CONFIG_SH_TIMER_TMU is not set
-# CONFIG_SI7005 is not set
-# CONFIG_SI7020 is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIGMA is not set
-CONFIG_SIGNALFD=y
-# CONFIG_SIMPLE_GPIO is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SIS900 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_SLAB=y
-CONFIG_SLABINFO=y
-# CONFIG_SLHC is not set
-# CONFIG_SLICOSS is not set
-# CONFIG_SLIP is not set
-# CONFIG_SLOB is not set
-# CONFIG_SLUB is not set
-# CONFIG_SLUB_DEBUG is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_SMARTJOYPLUS_FF is not set
-# CONFIG_SMC911X is not set
-# CONFIG_SMC9194 is not set
-# CONFIG_SMC91X is not set
-# CONFIG_SMP is not set
-# CONFIG_SMSC911X is not set
-# CONFIG_SMSC9420 is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_SM_FTL is not set
-# CONFIG_SND is not set
-# CONFIG_SND_AC97_POWER_SAVE is not set
-# CONFIG_SND_AD1816A is not set
-# CONFIG_SND_AD1848 is not set
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ADLIB is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ALOOP is not set
-# CONFIG_SND_ALS100 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_ARM is not set
-# CONFIG_SND_ASIHPI is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_ATMEL_AC97C is not set
-# CONFIG_SND_ATMEL_SOC is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AW2 is not set
-# CONFIG_SND_AZT2320 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BCD2000 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMI8330 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_CS4231 is not set
-# CONFIG_SND_CS4236 is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS5530 is not set
-# CONFIG_SND_CS5535AUDIO is not set
-# CONFIG_SND_CTXFI is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_DEBUG is not set
-# CONFIG_SND_DESIGNWARE_I2S is not set
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_DYNAMIC_MINORS is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1688 is not set
-# CONFIG_SND_ES18XX is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FIREWIRE is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_GUSCLASSIC is not set
-# CONFIG_SND_GUSEXTREME is not set
-# CONFIG_SND_GUSMAX is not set
-# CONFIG_SND_HDA_INPUT_JACK is not set
-# CONFIG_SND_HDA_INTEL is not set
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
-CONFIG_SND_HDA_PREALLOC_SIZE=64
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_HRTIMER is not set
-# CONFIG_SND_HWDEP is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_INDIGODJX is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGOIOX is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_INTERWAVE is not set
-# CONFIG_SND_INTERWAVE_STB is not set
-# CONFIG_SND_ISA is not set
-# CONFIG_SND_KIRKWOOD_SOC is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_LOLA is not set
-# CONFIG_SND_LX6464ES is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_MIPS is not set
-# CONFIG_SND_MIRO is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_MIXER_OSS is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MPC52xx_SOC_EFIKA is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_MTS64 is not set
-# CONFIG_SND_MXS_SOC is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_OPL3SA2 is not set
-# CONFIG_SND_OPTI92X_AD1848 is not set
-# CONFIG_SND_OPTI92X_CS4231 is not set
-# CONFIG_SND_OPTI93X is not set
-CONFIG_SND_OSSEMUL=y
-# CONFIG_SND_OXYGEN is not set
-CONFIG_SND_PCI=y
-# CONFIG_SND_PCM is not set
-# CONFIG_SND_PCMCIA is not set
-# CONFIG_SND_PCM_OSS is not set
-CONFIG_SND_PCM_OSS_PLUGINS=y
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_PDAUDIOCF is not set
-# CONFIG_SND_PORTMAN2X4 is not set
-# CONFIG_SND_POWERPC_SOC is not set
-# CONFIG_SND_PPC is not set
-# CONFIG_SND_RAWMIDI is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SE6X is not set
-# CONFIG_SND_RTCTIMER is not set
-# CONFIG_SND_SB16 is not set
-# CONFIG_SND_SB8 is not set
-# CONFIG_SND_SBAWE is not set
-# CONFIG_SND_SEQUENCER is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_SIMPLE_CARD is not set
-# CONFIG_SND_SIS7019 is not set
-# CONFIG_SND_SOC is not set
-# CONFIG_SND_SOC_ADAU1701 is not set
-# CONFIG_SND_SOC_AK4104 is not set
-# CONFIG_SND_SOC_AK4554 is not set
-# CONFIG_SND_SOC_AK4642 is not set
-# CONFIG_SND_SOC_AK5386 is not set
-# CONFIG_SND_SOC_ALC5623 is not set
-# CONFIG_SND_SOC_AU1XAUDIO is not set
-# CONFIG_SND_SOC_AU1XPSC is not set
-# CONFIG_SND_SOC_CACHE_LZO is not set
-# CONFIG_SND_SOC_CS35L32 is not set
-# CONFIG_SND_SOC_CS4265 is not set
-# CONFIG_SND_SOC_CS4270 is not set
-# CONFIG_SND_SOC_CS4271 is not set
-# CONFIG_SND_SOC_CS4271_I2C is not set
-# CONFIG_SND_SOC_CS4271_SND is not set
-# CONFIG_SND_SOC_CS4271_SPI is not set
-# CONFIG_SND_SOC_CS42L51_I2C is not set
-# CONFIG_SND_SOC_CS42L52 is not set
-# CONFIG_SND_SOC_CS42L56 is not set
-# CONFIG_SND_SOC_CS42L73 is not set
-# CONFIG_SND_SOC_CS42L73 is not set
-# CONFIG_SND_SOC_CS42XX8_I2C is not set
-# CONFIG_SND_SOC_ES8328 is not set
-# CONFIG_SND_SOC_EUKREA_TLV320 is not set
-# CONFIG_SND_SOC_FSL_ASOC_CARD is not set
-# CONFIG_SND_SOC_FSL_ASRC is not set
-# CONFIG_SND_SOC_FSL_ESAI is not set
-# CONFIG_SND_SOC_FSL_SAI is not set
-# CONFIG_SND_SOC_FSL_SPDIF is not set
-# CONFIG_SND_SOC_HDMI_CODEC is not set
-# CONFIG_SND_SOC_IMX_ES8328 is not set
-# CONFIG_SND_SOC_IMX_SPDIF is not set
-# CONFIG_SND_SOC_IMX_WM8962 is not set
-# CONFIG_SND_SOC_INTEL_SST is not set
-# CONFIG_SND_SOC_MPC5200_AC97 is not set
-# CONFIG_SND_SOC_MPC5200_I2S is not set
-# CONFIG_SND_SOC_PCM1681 is not set
-# CONFIG_SND_SOC_PCM1792A is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
-# CONFIG_SND_SOC_PCM512x_SPI is not set
-# CONFIG_SND_SOC_QCOM is not set
-# CONFIG_SND_SOC_RT5631 is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
-# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
-# CONFIG_SND_SOC_SPDIF is not set
-# CONFIG_SND_SOC_SSM2602_I2C is not set
-# CONFIG_SND_SOC_SSM2602_SPI is not set
-# CONFIG_SND_SOC_SSM4567 is not set
-# CONFIG_SND_SOC_STA32X is not set
-# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_TAS2552 is not set
-# CONFIG_SND_SOC_TAS5086 is not set
-# CONFIG_SND_SOC_TFA9879 is not set
-# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
-# CONFIG_SND_SOC_TLV320AIC3X is not set
-# CONFIG_SND_SOC_TPA6130A2 is not set
-# CONFIG_SND_SOC_TS3A227E is not set
-# CONFIG_SND_SOC_WM8510 is not set
-# CONFIG_SND_SOC_WM8523 is not set
-# CONFIG_SND_SOC_WM8580 is not set
-# CONFIG_SND_SOC_WM8711 is not set
-# CONFIG_SND_SOC_WM8728 is not set
-# CONFIG_SND_SOC_WM8731 is not set
-# CONFIG_SND_SOC_WM8737 is not set
-# CONFIG_SND_SOC_WM8741 is not set
-# CONFIG_SND_SOC_WM8750 is not set
-# CONFIG_SND_SOC_WM8753 is not set
-# CONFIG_SND_SOC_WM8770 is not set
-# CONFIG_SND_SOC_WM8776 is not set
-# CONFIG_SND_SOC_WM8804_I2C is not set
-# CONFIG_SND_SOC_WM8804_SPI is not set
-# CONFIG_SND_SOC_WM8903 is not set
-# CONFIG_SND_SOC_WM8962 is not set
-# CONFIG_SND_SOC_WM8978 is not set
-# CONFIG_SND_SOC_XTFPGA_I2S is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_SPI is not set
-# CONFIG_SND_SSCAPE is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
-# CONFIG_SND_TIMER is not set
-# CONFIG_SND_TRIDENT is not set
-CONFIG_SND_USB=y
-# CONFIG_SND_USB_6FIRE is not set
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_CAIAQ is not set
-# CONFIG_SND_USB_HIFACE is not set
-# CONFIG_SND_USB_POD is not set
-# CONFIG_SND_USB_PODHD is not set
-# CONFIG_SND_USB_TONEPORT is not set
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_US122L is not set
-# CONFIG_SND_USB_USX2Y is not set
-# CONFIG_SND_USB_VARIAX is not set
-# CONFIG_SND_VERBOSE_PRINTK is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VIRTUOSO is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_VXPOCKET is not set
-# CONFIG_SND_WAVEFRONT is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_SOC_AM33XX is not set
-# CONFIG_SOC_AM43XX is not set
-# CONFIG_SOC_CAMERA is not set
-# CONFIG_SOC_DRA7XX is not set
-# CONFIG_SOC_HAS_OMAP2_SDRC is not set
-# CONFIG_SOC_OMAP5 is not set
-# CONFIG_SOC_TI is not set
-# CONFIG_SOFT_WATCHDOG is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_SOLO6X10 is not set
-# CONFIG_SONYPI is not set
-# CONFIG_SONY_LAPTOP is not set
-# CONFIG_SOUND is not set
-# CONFIG_SOUND_PRIME is not set
-# CONFIG_SP5100_TCO is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_STATIC is not set
-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
-# CONFIG_SPARSE_IRQ is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_SPEAKUP is not set
-# CONFIG_SPI is not set
-# CONFIG_SPINLOCK_TEST is not set
-# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_AU1550 is not set
-# CONFIG_SPI_BCM2835 is not set
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_BUTTERFLY is not set
-# CONFIG_SPI_CADENCE is not set
-# CONFIG_SPI_DEBUG is not set
-# CONFIG_SPI_DESIGNWARE is not set
-# CONFIG_SPI_FSL_DSPI is not set
-# CONFIG_SPI_FSL_ESPI is not set
-# CONFIG_SPI_FSL_SPI is not set
-# CONFIG_SPI_GPIO is not set
-# CONFIG_SPI_GPIO_OLD is not set
-# CONFIG_SPI_IMG_SPFI is not set
-# CONFIG_SPI_LM70_LLP is not set
-# CONFIG_SPI_MASTER is not set
-# CONFIG_SPI_MPC52xx is not set
-# CONFIG_SPI_MPC52xx_PSC is not set
-# CONFIG_SPI_OC_TINY is not set
-# CONFIG_SPI_OCTEON is not set
-# CONFIG_SPI_ORION is not set
-# CONFIG_SPI_PL022 is not set
-# CONFIG_SPI_PPC4xx is not set
-# CONFIG_SPI_PXA2XX is not set
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_RAMIPS is not set
-# CONFIG_SPI_ROCKCHIP is not set
-# CONFIG_SPI_SC18IS602 is not set
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TI_QSPI is not set
-# CONFIG_SPI_TLE62X0 is not set
-# CONFIG_SPI_TOPCLIFF_PCH is not set
-# CONFIG_SPI_XCOMM is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_XWAY is not set
-# CONFIG_SPMI is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_SQUASHFS=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-# CONFIG_SQUASHFS_DECOMP_MULTI is not set
-CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
-# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
-# CONFIG_SQUASHFS_EMBEDDED is not set
-# CONFIG_SQUASHFS_FILE_CACHE is not set
-CONFIG_SQUASHFS_FILE_DIRECT=y
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-# CONFIG_SQUASHFS_LZ4 is not set
-# CONFIG_SQUASHFS_LZO is not set
-# CONFIG_SQUASHFS_XATTR is not set
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_ZLIB is not set
-# CONFIG_SRAM is not set
-# CONFIG_SSB is not set
-# CONFIG_SSBI is not set
-# CONFIG_SSB_DEBUG is not set
-# CONFIG_SSB_DRIVER_GPIO is not set
-# CONFIG_SSB_PCMCIAHOST is not set
-CONFIG_SSB_POSSIBLE=y
-# CONFIG_SSB_SDIOHOST is not set
-# CONFIG_SSB_HOST_SOC is not set
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSFDC is not set
-CONFIG_STACKTRACE_SUPPORT=y
-# CONFIG_STACKTRACE is not set
-# CONFIG_STACK_TRACER is not set
-CONFIG_STAGING=y
-# CONFIG_STAGING_MEDIA is not set
-CONFIG_STANDALONE=y
-CONFIG_STDBINUTILS=y
-# CONFIG_STE10XP is not set
-# CONFIG_STE_MODEM_RPROC is not set
-# CONFIG_STMMAC_ETH is not set
-# CONFIG_STMMAC_PLATFORM is not set
-# CONFIG_STMMAC_PCI is not set
-CONFIG_STP=y
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_STRIP_ASM_SYMS=y
-# CONFIG_STUB_POULSBO is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_SUNRPC is not set
-# CONFIG_SUNRPC_DEBUG is not set
-# CONFIG_SUNRPC_GSS is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_SUSPEND is not set
-CONFIG_SWAP=y
-# CONFIG_SWCONFIG is not set
-# CONFIG_SWCONFIG_LEDS is not set
-# CONFIG_SX9500 is not set
-# CONFIG_SXGBE_ETH is not set
-# CONFIG_SYNCLINK_CS is not set
-CONFIG_SYN_COOKIES=y
-CONFIG_SYSCTL=y
-# CONFIG_SYSCTL_SYSCALL is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-CONFIG_SYSFS=y
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_SYSFS_SYSCALL is not set
-# CONFIG_SYSTEMPORT is not set
-# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_T5403 is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_TASKS_RCU is not set
-# CONFIG_TC35815 is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TCIC is not set
-CONFIG_TCP_CONG_ADVANCED=y
-# CONFIG_TCP_CONG_BIC is not set
-CONFIG_TCP_CONG_CUBIC=y
-# CONFIG_TCP_CONG_DCTCP is not set
-# CONFIG_TCP_CONG_HSTCP is not set
-# CONFIG_TCP_CONG_HTCP is not set
-# CONFIG_TCP_CONG_HYBLA is not set
-# CONFIG_TCP_CONG_ILLINOIS is not set
-# CONFIG_TCP_CONG_LP is not set
-# CONFIG_TCP_CONG_SCALABLE is not set
-# CONFIG_TCP_CONG_VEGAS is not set
-# CONFIG_TCP_CONG_VENO is not set
-# CONFIG_TCP_CONG_WESTWOOD is not set
-# CONFIG_TCP_CONG_YEAH is not set
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_TCS3414 is not set
-# CONFIG_TCS3472 is not set
-# CONFIG_TEGRA_AHB is not set
-# CONFIG_TEGRA_HOST1X is not set
-# CONFIG_TEHUTI is not set
-# CONFIG_TEST_BPF is not set
-# CONFIG_TEST_UDELAY is not set
-# CONFIG_TEST_FIRMWARE is not set
-# CONFIG_TEST_HEXDUMP is not set
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_TEST_LKM is not set
-# CONFIG_TEST_MODULE is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_TEST_RHASHTABLE is not set
-# CONFIG_TEST_STRING_HELPERS is not set
-# CONFIG_TEST_USER_COPY is not set
-CONFIG_TEXTSEARCH=y
-# CONFIG_TEXTSEARCH_BM is not set
-# CONFIG_TEXTSEARCH_FSM is not set
-# CONFIG_TEXTSEARCH_KMP is not set
-# CONFIG_THERMAL is not set
-# CONFIG_THERMAL_GOV_BANG_BANG is not set
-# CONFIG_THERMAL_HWMON is not set
-# CONFIG_THINKPAD_ACPI is not set
-# CONFIG_THRUSTMASTER_FF is not set
-# CONFIG_THUNDERBOLT is not set
-# CONFIG_TICK_CPU_ACCOUNTING is not set
-CONFIG_TICK_ONESHOT=y
-# CONFIG_TIFM_CORE is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_TIMB_DMA is not set
-CONFIG_TIMERFD=y
-# CONFIG_TIMER_STATS is not set
-CONFIG_TINY_RCU=y
-# CONFIG_TIPC is not set
-# CONFIG_TI_ADC081C is not set
-# CONFIG_TI_ADC128S052 is not set
-# CONFIG_TI_AM335X_ADC is not set
-# CONFIG_TI_CPSW is not set
-# CONFIG_TI_CPSW_ALE is not set
-# CONFIG_TI_CPTS is not set
-# CONFIG_TI_DAC7512 is not set
-# CONFIG_TI_DAVINCI_CPDMA is not set
-# CONFIG_TI_DAVINCI_MDIO is not set
-# CONFIG_TI_ST is not set
-# CONFIG_TLAN is not set
-# CONFIG_TMD_HERMES is not set
-# CONFIG_TMP006 is not set
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-CONFIG_TMPFS_XATTR=y
-# CONFIG_TOPSTAR_LAPTOP is not set
-# CONFIG_TORTURE_TEST is not set
-# CONFIG_TOSHIBA_HAPS is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
-# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
-# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
-# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
-# CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
-# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# CONFIG_TOUCHSCREEN_EGALAX is not set
-# CONFIG_TOUCHSCREEN_ELAN is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GOODIX is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_ILI210X is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MAX11801 is not set
-# CONFIG_TOUCHSCREEN_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_MMS114 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_S3C2410 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_SUR40 is not set
-# CONFIG_TOUCHSCREEN_SX8654 is not set
-# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
-# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-# CONFIG_TOUCHSCREEN_WM97XX is not set
-# CONFIG_TOUCHSCREEN_ZFORCE is not set
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TR is not set
-# CONFIG_TRACE_ENUM_MAP_FILE is not set
-# CONFIG_TRACEPOINT_BENCHMARK is not set
-# CONFIG_TRACER_SNAPSHOT is not set
-# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
-# CONFIG_TRACE_BRANCH_PROFILING is not set
-# CONFIG_TRACE_ENUM_MAP_FILE is not set
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-# CONFIG_TRACE_SINK is not set
-CONFIG_TRACING_SUPPORT=y
-CONFIG_TRAD_SIGNALS=y
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
-# CONFIG_TRANZPORT is not set
-# CONFIG_TREE_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_TSL2583 is not set
-# CONFIG_TSL2x7x is not set
-# CONFIG_TSL4531 is not set
-CONFIG_TTY=y
-# CONFIG_TTY_PRINTK is not set
-# CONFIG_TUN is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_TWL6030_GPADC is not set
-# CONFIG_TWL6040_CORE is not set
-# CONFIG_TYPHOON is not set
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_UCB1400_CORE is not set
-# CONFIG_UDF_FS is not set
-CONFIG_UDF_NLS=y
-CONFIG_UEVENT_HELPER=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-# CONFIG_UFS_FS is not set
-# CONFIG_UHID is not set
-CONFIG_UIDGID_STRICT_TYPE_CHECKS=y
-# CONFIG_UIO is not set
-# CONFIG_ULTRA is not set
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_UNIX=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_UNIX_DIAG is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_UPROBE_EVENT is not set
-# CONFIG_UPROBES is not set
-# CONFIG_USB is not set
-# CONFIG_USBIP_CORE is not set
-# CONFIG_USBPCWATCHDOG is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_ADUTUX is not set
-CONFIG_USB_ALI_M5632=y
-# CONFIG_USB_AMD5536UDC is not set
-CONFIG_USB_AN2720=y
-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARMLINUX=y
-# CONFIG_USB_ATM is not set
-# CONFIG_USB_BDC_UDC is not set
-CONFIG_USB_BELKIN=y
-# CONFIG_USB_BTMTK is not set
-# CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDC_COMPOSITE is not set
-# CONFIG_USB_CHAOSKEY is not set
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_CONFIGFS is not set
-# CONFIG_USB_CXACRU is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_DEFAULT_PERSIST=y
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_DEVICE_CLASS is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_DUMMY_HCD is not set
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_DWC2_DUAL_ROLE is not set
-# CONFIG_USB_DWC2_HOST is not set
-# CONFIG_USB_DWC2_PERIPHERAL is not set
-# CONFIG_USB_DWC3 is not set
-# CONFIG_USB_DWC3_EXYNOS is not set
-# CONFIG_USB_DWC3_QCOM is not set
-# CONFIG_USB_DWC3_PCI is not set
-# CONFIG_USB_DWC3_KEYSTONE is not set
-# CONFIG_USB_DWC_OTG_LPM is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_EG20T is not set
-# CONFIG_USB_EHCI_HCD_AT91 is not set
-# CONFIG_USB_EHCI_HCD_PPC_OF is not set
-# CONFIG_USB_EHCI_MSM is not set
-# CONFIG_USB_EHCI_MV is not set
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-# CONFIG_USB_EHSET_TEST_FIXTURE is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_ENESTORAGE is not set
-# CONFIG_USB_EPSON2888 is not set
-# CONFIG_USB_ET61X251 is not set
-CONFIG_USB_EZUSB=y
-# CONFIG_USB_EZUSB_FX2 is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_FOTG210_HCD is not set
-# CONFIG_USB_FOTG210_UDC is not set
-# CONFIG_USB_FSL_USB2 is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_FUNCTIONFS is not set
-# CONFIG_USB_FUSB300 is not set
-# CONFIG_USB_FUSBH200_HCD is not set
-# CONFIG_USB_GADGET is not set
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_GADGET_DEBUG is not set
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-# CONFIG_USB_GADGET_DEBUG_FS is not set
-CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
-CONFIG_USB_GADGET_VBUS_DRAW=2
-# CONFIG_USB_GADGET_XILINX is not set
-# CONFIG_USB_GL860 is not set
-# CONFIG_USB_GOKU is not set
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_USB_GR_UDC is not set
-# CONFIG_USB_GSPCA is not set
-# CONFIG_USB_GSPCA_BENQ is not set
-# CONFIG_USB_GSPCA_CONEX is not set
-# CONFIG_USB_GSPCA_CPIA1 is not set
-# CONFIG_USB_GSPCA_DTCS033 is not set
-# CONFIG_USB_GSPCA_ETOMS is not set
-# CONFIG_USB_GSPCA_FINEPIX is not set
-# CONFIG_USB_GSPCA_JEILINJ is not set
-# CONFIG_USB_GSPCA_JL2005BCD is not set
-# CONFIG_USB_GSPCA_KINECT is not set
-# CONFIG_USB_GSPCA_KONICA is not set
-# CONFIG_USB_GSPCA_MARS is not set
-# CONFIG_USB_GSPCA_MR97310A is not set
-# CONFIG_USB_GSPCA_NW80X is not set
-# CONFIG_USB_GSPCA_OV519 is not set
-# CONFIG_USB_GSPCA_OV534 is not set
-# CONFIG_USB_GSPCA_OV534_9 is not set
-# CONFIG_USB_GSPCA_PAC207 is not set
-# CONFIG_USB_GSPCA_PAC7302 is not set
-# CONFIG_USB_GSPCA_PAC7311 is not set
-# CONFIG_USB_GSPCA_SE401 is not set
-# CONFIG_USB_GSPCA_SN9C2028 is not set
-# CONFIG_USB_GSPCA_SN9C20X is not set
-# CONFIG_USB_GSPCA_SONIXB is not set
-# CONFIG_USB_GSPCA_SONIXJ is not set
-# CONFIG_USB_GSPCA_SPCA1528 is not set
-# CONFIG_USB_GSPCA_SPCA500 is not set
-# CONFIG_USB_GSPCA_SPCA501 is not set
-# CONFIG_USB_GSPCA_SPCA505 is not set
-# CONFIG_USB_GSPCA_SPCA506 is not set
-# CONFIG_USB_GSPCA_SPCA508 is not set
-# CONFIG_USB_GSPCA_SPCA561 is not set
-# CONFIG_USB_GSPCA_SQ905 is not set
-# CONFIG_USB_GSPCA_SQ905C is not set
-# CONFIG_USB_GSPCA_SQ930X is not set
-# CONFIG_USB_GSPCA_STK014 is not set
-# CONFIG_USB_GSPCA_STK1135 is not set
-# CONFIG_USB_GSPCA_STV0680 is not set
-# CONFIG_USB_GSPCA_SUNPLUS is not set
-# CONFIG_USB_GSPCA_T613 is not set
-# CONFIG_USB_GSPCA_TOPRO is not set
-# CONFIG_USB_GSPCA_TOUPTEK is not set
-# CONFIG_USB_GSPCA_TV8532 is not set
-# CONFIG_USB_GSPCA_VC032X is not set
-# CONFIG_USB_GSPCA_VICAM is not set
-# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
-# CONFIG_USB_GSPCA_ZC3XX is not set
-# CONFIG_USB_G_ACM_MS is not set
-# CONFIG_USB_G_DBGP is not set
-# CONFIG_USB_G_HID is not set
-# CONFIG_USB_G_MULTI is not set
-# CONFIG_USB_G_NCM is not set
-# CONFIG_USB_G_NOKIA is not set
-# CONFIG_USB_G_PRINTER is not set
-# CONFIG_USB_G_SERIAL is not set
-# CONFIG_USB_G_WEBCAM is not set
-# CONFIG_USB_HCD_TEST_MODE is not set
-# CONFIG_USB_HID is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_HSIC_USB3503 is not set
-# CONFIG_USB_HSO is not set
-# CONFIG_USB_HWA_HCD is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_INPUT_IMS_PCU is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_IPHETH is not set
-# CONFIG_USB_IP_COMMON is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1301 is not set
-# CONFIG_USB_ISP1362_HCD is not set
-# CONFIG_USB_ISP1760 is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_KC2190 is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_LED_TRIG is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LIBUSUAL is not set
-# CONFIG_USB_LINK_LAYER_TEST is not set
-# CONFIG_USB_M5602 is not set
-# CONFIG_USB_M66592 is not set
-# CONFIG_USB_MASS_STORAGE is not set
-# CONFIG_USB_MAX3421_HCD is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_MON is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_MSM_OTG is not set
-# CONFIG_USB_MUSB_HDRC is not set
-# CONFIG_USB_MV_U3D is not set
-# CONFIG_USB_MV_UDC is not set
-# CONFIG_USB_MXS_PHY is not set
-# CONFIG_USB_NET2272 is not set
-# CONFIG_USB_NET2280 is not set
-# CONFIG_USB_NET_AX88179_178A is not set
-# CONFIG_USB_NET_AX8817X is not set
-# CONFIG_USB_NET_CDCETHER is not set
-# CONFIG_USB_NET_CDC_EEM is not set
-# CONFIG_USB_NET_CDC_MBIM is not set
-# CONFIG_USB_NET_CDC_NCM is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-# CONFIG_USB_NET_CX82310_ETH is not set
-# CONFIG_USB_NET_DM9601 is not set
-# CONFIG_USB_NET_DRIVERS is not set
-# CONFIG_USB_NET_GL620A is not set
-# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
-# CONFIG_USB_NET_INT51X1 is not set
-# CONFIG_USB_NET_KALMIA is not set
-# CONFIG_USB_NET_MCS7830 is not set
-# CONFIG_USB_NET_NET1080 is not set
-# CONFIG_USB_NET_PLUSB is not set
-# CONFIG_USB_NET_QMI_WWAN is not set
-# CONFIG_USB_NET_RNDIS_HOST is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_USB_NET_SMSC75XX is not set
-# CONFIG_USB_NET_SMSC95XX is not set
-# CONFIG_USB_NET_SR9700 is not set
-# CONFIG_USB_NET_SR9800 is not set
-# CONFIG_USB_NET_ZAURUS is not set
-# CONFIG_USB_OHCI_HCD is not set
-# CONFIG_USB_OHCI_HCD_PCI is not set
-# CONFIG_USB_OHCI_HCD_PPC_OF is not set
-# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set
-# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
-# CONFIG_USB_OHCI_HCD_PPC_SOC is not set
-# CONFIG_USB_OHCI_HCD_SSB is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_OTG is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_PHY is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_PWC_INPUT_EVDEV is not set
-# CONFIG_USB_PXA27X is not set
-# CONFIG_USB_R8A66597 is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_RCAR_PHY is not set
-# CONFIG_USB_RENESAS_USBHS is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_RTL8152 is not set
-# CONFIG_USB_S2255 is not set
-# CONFIG_USB_S3C_HSOTG is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_SERIAL is not set
-# CONFIG_USB_SERIAL_AIRCABLE is not set
-# CONFIG_USB_SERIAL_ARK3116 is not set
-# CONFIG_USB_SERIAL_BELKIN is not set
-# CONFIG_USB_SERIAL_CH341 is not set
-# CONFIG_USB_SERIAL_CP210X is not set
-# CONFIG_USB_SERIAL_CYBERJACK is not set
-# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-# CONFIG_USB_SERIAL_EDGEPORT is not set
-# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
-# CONFIG_USB_SERIAL_EMPEG is not set
-# CONFIG_USB_SERIAL_F81232 is not set
-# CONFIG_USB_SERIAL_FTDI_SIO is not set
-# CONFIG_USB_SERIAL_FUNSOFT is not set
-# CONFIG_USB_SERIAL_GARMIN is not set
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_HP4X is not set
-# CONFIG_USB_SERIAL_IPAQ is not set
-# CONFIG_USB_SERIAL_IPW is not set
-# CONFIG_USB_SERIAL_IR is not set
-# CONFIG_USB_SERIAL_IUU is not set
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
-# CONFIG_USB_SERIAL_KLSI is not set
-# CONFIG_USB_SERIAL_KOBIL_SCT is not set
-# CONFIG_USB_SERIAL_MCT_U232 is not set
-# CONFIG_USB_SERIAL_METRO is not set
-# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set
-# CONFIG_USB_SERIAL_MOS7720 is not set
-# CONFIG_USB_SERIAL_MOS7840 is not set
-# CONFIG_USB_SERIAL_MOTOROLA is not set
-# CONFIG_USB_SERIAL_MXUPORT is not set
-# CONFIG_USB_SERIAL_NAVMAN is not set
-# CONFIG_USB_SERIAL_OMNINET is not set
-# CONFIG_USB_SERIAL_OPTICON is not set
-# CONFIG_USB_SERIAL_OPTION is not set
-# CONFIG_USB_SERIAL_OTI6858 is not set
-# CONFIG_USB_SERIAL_PL2303 is not set
-# CONFIG_USB_SERIAL_QCAUX is not set
-# CONFIG_USB_SERIAL_QT2 is not set
-# CONFIG_USB_SERIAL_QUALCOMM is not set
-# CONFIG_USB_SERIAL_QUATECH2 is not set
-# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
-# CONFIG_USB_SERIAL_SAFE is not set
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
-# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-# CONFIG_USB_SERIAL_SIMPLE is not set
-# CONFIG_USB_SERIAL_SPCP8X5 is not set
-# CONFIG_USB_SERIAL_SSU100 is not set
-# CONFIG_USB_SERIAL_SYMBOL is not set
-# CONFIG_USB_SERIAL_TI is not set
-# CONFIG_USB_SERIAL_VISOR is not set
-# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-# CONFIG_USB_SERIAL_WISHBONE is not set
-# CONFIG_USB_SERIAL_XIRCOM is not set
-# CONFIG_USB_SERIAL_XSENS_MT is not set
-# CONFIG_USB_SERIAL_ZIO is not set
-# CONFIG_USB_SERIAL_ZTE is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_SIERRA_NET is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_SPEEDTOUCH is not set
-# CONFIG_USB_STKWEBCAM is not set
-# CONFIG_USB_STORAGE is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_ENE_UB6250 is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_REALTEK is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STV06XX is not set
-# CONFIG_USB_SUPPORT is not set
-# CONFIG_USB_SUSPEND is not set
-# CONFIG_USB_SWITCH_FSA9480 is not set
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_TMC is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_UAS is not set
-# CONFIG_USB_UEAGLEATM is not set
-# CONFIG_USB_ULPI is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_USS720 is not set
-# CONFIG_USB_VIDEO_CLASS is not set
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-# CONFIG_USB_VL600 is not set
-# CONFIG_USB_WDM is not set
-# CONFIG_USB_WHCI_HCD is not set
-# CONFIG_USB_WPAN_HCD is not set
-# CONFIG_USB_WUSB is not set
-# CONFIG_USB_WUSB_CBAF is not set
-# CONFIG_USB_XHCI_HCD is not set
-# CONFIG_USB_XUSBATM is not set
-# CONFIG_USB_YUREX is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_ZERO is not set
-# CONFIG_USB_ZR364XX is not set
-# CONFIG_USELIB is not set
-# CONFIG_USE_GENERIC_SMP_HELPERS is not set
-# CONFIG_USE_OF is not set
-# CONFIG_UTS_NS is not set
-# CONFIG_UWB is not set
-# CONFIG_V4L_MEM2MEM_DRIVERS is not set
-# CONFIG_V4L_TEST_DRIVERS is not set
-# CONFIG_VCNL4000 is not set
-# CONFIG_VDSO is not set
-# CONFIG_VETH is not set
-# CONFIG_VEXPRESS_CONFIG is not set
-# CONFIG_VF610_ADC is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VGA_ARB is not set
-# CONFIG_VGA_SWITCHEROO is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_VIDEO_ADV7170 is not set
-# CONFIG_VIDEO_ADV7175 is not set
-# CONFIG_VIDEO_ADV7180 is not set
-# CONFIG_VIDEO_ADV7183 is not set
-# CONFIG_VIDEO_ADV7343 is not set
-# CONFIG_VIDEO_ADV7393 is not set
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_AK881X is not set
-# CONFIG_VIDEO_BT819 is not set
-# CONFIG_VIDEO_BT848 is not set
-# CONFIG_VIDEO_BT856 is not set
-# CONFIG_VIDEO_BT866 is not set
-# CONFIG_VIDEO_BWQCAM is not set
-# CONFIG_VIDEO_CAFE_CCIC is not set
-# CONFIG_VIDEO_CAPTURE_DRIVERS is not set
-# CONFIG_VIDEO_CPIA is not set
-# CONFIG_VIDEO_CQCAM is not set
-# CONFIG_VIDEO_CS5345 is not set
-# CONFIG_VIDEO_CS53L32A is not set
-# CONFIG_VIDEO_CX231XX is not set
-# CONFIG_VIDEO_CX2341X is not set
-# CONFIG_VIDEO_CX25840 is not set
-# CONFIG_VIDEO_CX88 is not set
-# CONFIG_VIDEO_DEV is not set
-# CONFIG_VIDEO_DM6446_CCDC is not set
-# CONFIG_VIDEO_DT3155 is not set
-# CONFIG_VIDEO_EM28XX is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_GO7007 is not set
-# CONFIG_VIDEO_HDPVR is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-# CONFIG_VIDEO_HEXIUM_GEMINI is not set
-# CONFIG_VIDEO_HEXIUM_ORION is not set
-# CONFIG_VIDEO_IR_I2C is not set
-# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_KS0127 is not set
-# CONFIG_VIDEO_M52790 is not set
-# CONFIG_VIDEO_MEDIA is not set
-# CONFIG_VIDEO_MEM2MEM_TESTDEV is not set
-# CONFIG_VIDEO_ML86V7667 is not set
-# CONFIG_VIDEO_MSP3400 is not set
-# CONFIG_VIDEO_MT9V011 is not set
-# CONFIG_VIDEO_MXB is not set
-# CONFIG_VIDEO_NOON010PC30 is not set
-# CONFIG_VIDEO_OMAP2_VOUT is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_VIDEO_OV2659 is not set
-# CONFIG_VIDEO_OV7640 is not set
-# CONFIG_VIDEO_OV7670 is not set
-# CONFIG_VIDEO_PMS is not set
-# CONFIG_VIDEO_PVRUSB2 is not set
-# CONFIG_VIDEO_SAA6588 is not set
-# CONFIG_VIDEO_SAA6752HS is not set
-# CONFIG_VIDEO_SAA7110 is not set
-# CONFIG_VIDEO_SAA711X is not set
-# CONFIG_VIDEO_SAA7127 is not set
-# CONFIG_VIDEO_SAA7134 is not set
-# CONFIG_VIDEO_SAA717X is not set
-# CONFIG_VIDEO_SAA7185 is not set
-# CONFIG_VIDEO_SAA7191 is not set
-# CONFIG_VIDEO_SH_MOBILE_CEU is not set
-# CONFIG_VIDEO_SONY_BTF_MPX is not set
-# CONFIG_VIDEO_SR030PC30 is not set
-# CONFIG_VIDEO_TCM825X is not set
-# CONFIG_VIDEO_TDA7432 is not set
-# CONFIG_VIDEO_TDA9840 is not set
-# CONFIG_VIDEO_TEA6415C is not set
-# CONFIG_VIDEO_TEA6420 is not set
-# CONFIG_VIDEO_THS7303 is not set
-# CONFIG_VIDEO_THS8200 is not set
-# CONFIG_VIDEO_TIMBERDALE is not set
-# CONFIG_VIDEO_TLV320AIC23B is not set
-# CONFIG_VIDEO_TM6000 is not set
-# CONFIG_VIDEO_TVAUDIO is not set
-# CONFIG_VIDEO_TVP514X is not set
-# CONFIG_VIDEO_TVP5150 is not set
-# CONFIG_VIDEO_TVP7002 is not set
-# CONFIG_VIDEO_TW2804 is not set
-# CONFIG_VIDEO_TW9903 is not set
-# CONFIG_VIDEO_TW9906 is not set
-# CONFIG_VIDEO_UDA1342 is not set
-# CONFIG_VIDEO_UPD64031A is not set
-# CONFIG_VIDEO_UPD64083 is not set
-# CONFIG_VIDEO_USBTV is not set
-# CONFIG_VIDEO_USBVISION is not set
-# CONFIG_VIDEO_V4L2 is not set
-# CONFIG_VIDEO_V4L2_COMMON is not set
-# CONFIG_VIDEO_V4L2_INT_DEVICE is not set
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_VP27SMPX is not set
-# CONFIG_VIDEO_VPX3220 is not set
-# CONFIG_VIDEO_VS6624 is not set
-# CONFIG_VIDEO_WM8739 is not set
-# CONFIG_VIDEO_WM8775 is not set
-# CONFIG_VIDEO_ZORAN is not set
-# CONFIG_VIRQ_DEBUG is not set
-# CONFIG_VIRTIO_BALLOON is not set
-# CONFIG_VIRTIO_INPUT is not set
-# CONFIG_VIRTIO_MMIO is not set
-# CONFIG_VIRTIO_PCI is not set
-# CONFIG_VIRTUALIZATION is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
-# CONFIG_VIRT_DRIVERS is not set
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_VITESSE_PHY is not set
-CONFIG_VLAN_8021Q=y
-# CONFIG_VLAN_8021Q_GVRP is not set
-# CONFIG_VLAN_8021Q_MVRP is not set
-# CONFIG_VME_BUS is not set
-# CONFIG_VMSPLIT_1G is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMWARE_PVSCSI is not set
-# CONFIG_VMXNET3 is not set
-# CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_VORTEX is not set
-# CONFIG_VSOCKETS is not set
-# CONFIG_VT is not set
-# CONFIG_VT6655 is not set
-# CONFIG_VT6656 is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_VXGE is not set
-# CONFIG_VXLAN is not set
-# CONFIG_W1 is not set
-# CONFIG_W1_CON is not set
-# CONFIG_W1_MASTER_DS1WM is not set
-# CONFIG_W1_MASTER_DS2482 is not set
-# CONFIG_W1_MASTER_DS2490 is not set
-# CONFIG_W1_MASTER_GPIO is not set
-# CONFIG_W1_MASTER_MATROX is not set
-# CONFIG_W1_SLAVE_BQ27000 is not set
-# CONFIG_W1_SLAVE_DS2406 is not set
-# CONFIG_W1_SLAVE_DS2408 is not set
-# CONFIG_W1_SLAVE_DS2413 is not set
-# CONFIG_W1_SLAVE_DS2423 is not set
-# CONFIG_W1_SLAVE_DS2431 is not set
-# CONFIG_W1_SLAVE_DS2433 is not set
-# CONFIG_W1_SLAVE_DS2760 is not set
-# CONFIG_W1_SLAVE_DS2780 is not set
-# CONFIG_W1_SLAVE_DS2781 is not set
-# CONFIG_W1_SLAVE_DS28E04 is not set
-# CONFIG_W1_SLAVE_SMEM is not set
-# CONFIG_W1_SLAVE_THERM is not set
-# CONFIG_W35UND is not set
-# CONFIG_W83627HF_WDT is not set
-# CONFIG_W83697HF_WDT is not set
-# CONFIG_W83877F_WDT is not set
-# CONFIG_W83977F_WDT is not set
-# CONFIG_WAN is not set
-# CONFIG_WANXL is not set
-# CONFIG_WAN_ROUTER is not set
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_CORE is not set
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-# CONFIG_WD80x3 is not set
-# CONFIG_WDTPCI is not set
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PRIV=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WILINK_PLATFORM_DATA=y
-# CONFIG_WIMAX is not set
-# CONFIG_WIMAX_GDM72XX is not set
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-# CONFIG_WIRELESS_EXT_SYSFS is not set
-# CONFIG_WL1251 is not set
-# CONFIG_WL12XX is not set
-# CONFIG_WL18XX is not set
-# CONFIG_WLAGS49_H2 is not set
-# CONFIG_WLAGS49_H25 is not set
-CONFIG_WLAN=y
-# CONFIG_WLCORE is not set
-CONFIG_WL_TI=y
-CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
-# CONFIG_WR_PPMC is not set
-# CONFIG_X25 is not set
-# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
-# CONFIG_X86_PKG_TEMP_THERMAL is not set
-CONFIG_X86_SYSFB=y
-# CONFIG_XEN is not set
-CONFIG_XFRM=y
-# CONFIG_XFRM_IPCOMP is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFS_DEBUG is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_WARN is not set
-# CONFIG_XILINX_AXI_EMAC is not set
-# CONFIG_XILINX_EMACLITE is not set
-# CONFIG_XILINX_LL_TEMAC is not set
-# CONFIG_XILINX_WATCHDOG is not set
-# CONFIG_XILLYBUS is not set
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_XMON is not set
-# CONFIG_XVMALLOC is not set
-CONFIG_XZ_DEC=y
-# CONFIG_XZ_DEC_ARM is not set
-# CONFIG_XZ_DEC_ARMTHUMB is not set
-# CONFIG_XZ_DEC_BCJ is not set
-# CONFIG_XZ_DEC_IA64 is not set
-# CONFIG_XZ_DEC_POWERPC is not set
-# CONFIG_XZ_DEC_SPARC is not set
-# CONFIG_XZ_DEC_TEST is not set
-# CONFIG_XZ_DEC_X86 is not set
-# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set
-# CONFIG_YAFFS_FS is not set
-# CONFIG_YAM is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_YENTA is not set
-# CONFIG_YENTA_O2 is not set
-# CONFIG_YENTA_RICOH is not set
-# CONFIG_YENTA_TI is not set
-# CONFIG_YENTA_TOSHIBA is not set
-# CONFIG_ZBUD is not set
-# CONFIG_ZD1211RW is not set
-# CONFIG_ZD1211RW_DEBUG is not set
-# CONFIG_ZEROPLUS_FF is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_ZLIB_DEFLATE is not set
-# CONFIG_ZLIB_INFLATE is not set
-# CONFIG_ZNET is not set
-# CONFIG_ZPOOL is not set
-CONFIG_ZONE_DMA=y
-CONFIG_ZONE_DMA_FLAG=1
-# CONFIG_ZRAM is not set
-# CONFIG_ZSMALLOC is not set
diff --git a/target/linux/generic/patches-4.1/010-perf-tools-Create-config.detected-into-OUTPUT-direct.patch b/target/linux/generic/patches-4.1/010-perf-tools-Create-config.detected-into-OUTPUT-direct.patch
deleted file mode 100644 (file)
index f2c1cdd..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From: Aaro Koskinen <aaro.koskinen@nokia.com>
-Date: Wed, 1 Jul 2015 14:54:42 +0300
-Subject: [PATCH] perf tools: Create config.detected into OUTPUT directory
-
-Create config.detected into OUTPUT directory instead of source
-directory.
-
-This fixes parallel builds that share the same source directory.
-
-Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
-Acked-by: Jiri Olsa <jolsa@kernel.org>
-Cc: Paul Mackerras <paulus@samba.org>
-Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
-Link: http://lkml.kernel.org/r/1435751683-18500-1-git-send-email-aaro.koskinen@nokia.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
-
---- a/tools/build/Makefile.build
-+++ b/tools/build/Makefile.build
-@@ -25,7 +25,7 @@ build-dir := $(srctree)/tools/build
- include $(build-dir)/Build.include
- # do not force detected configuration
---include .config-detected
-+-include $(OUTPUT).config-detected
- # Init all relevant variables used in build files so
- # 1) they have correct type
---- a/tools/perf/Makefile.perf
-+++ b/tools/perf/Makefile.perf
-@@ -528,7 +528,7 @@ config-clean:
- clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean config-clean
-       $(call QUIET_CLEAN, core-objs)  $(RM) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf-with-kcore $(LANG_BINDINGS)
-       $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
--      $(Q)$(RM) .config-detected
-+      $(Q)$(RM) $(OUTPUT).config-detected
-       $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32
-       $(call QUIET_CLEAN, core-gen)   $(RM)  *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex*
-       $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean
---- a/tools/perf/config/Makefile
-+++ b/tools/perf/config/Makefile
-@@ -11,9 +11,9 @@ ifneq ($(obj-perf),)
- obj-perf := $(abspath $(obj-perf))/
- endif
--$(shell echo -n > .config-detected)
--detected     = $(shell echo "$(1)=y"       >> .config-detected)
--detected_var = $(shell echo "$(1)=$($(1))" >> .config-detected)
-+$(shell echo -n > $(OUTPUT).config-detected)
-+detected     = $(shell echo "$(1)=y"       >> $(OUTPUT).config-detected)
-+detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)
- CFLAGS := $(EXTRA_CFLAGS) $(EXTRA_WARNINGS)
diff --git a/target/linux/generic/patches-4.1/011-perf-tools-Fix-makefile-generation-under-dash.patch b/target/linux/generic/patches-4.1/011-perf-tools-Fix-makefile-generation-under-dash.patch
deleted file mode 100644 (file)
index 45ea1a0..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From: Sergei Trofimovich <siarheit@google.com>
-Date: Sun, 19 Jul 2015 10:30:05 +0100
-Subject: [PATCH] perf tools: Fix makefile generation under dash
-
-Under dash 'echo -n' yields '-n' to stdout.  Use printf "" instead.
-
-Signed-off-by: Sergei Trofimovich <siarheit@google.com>
-Acked-by: Ingo Molnar <mingo@kernel.org>
-Acked-by: Jiri Olsa <jolsa@kernel.org>
-Cc: Adrian Hunter <adrian.hunter@intel.com>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
-Link: http://lkml.kernel.org/r/1437298205-29305-1-git-send-email-siarheit@google.com
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
----
-
---- a/tools/perf/config/Makefile
-+++ b/tools/perf/config/Makefile
-@@ -11,7 +11,7 @@ ifneq ($(obj-perf),)
- obj-perf := $(abspath $(obj-perf))/
- endif
--$(shell echo -n > $(OUTPUT).config-detected)
-+$(shell printf "" > $(OUTPUT).config-detected)
- detected     = $(shell echo "$(1)=y"       >> $(OUTPUT).config-detected)
- detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)
diff --git a/target/linux/generic/patches-4.1/020-ssb-backport.patch b/target/linux/generic/patches-4.1/020-ssb-backport.patch
deleted file mode 100644 (file)
index e96480b..0000000
+++ /dev/null
@@ -1,686 +0,0 @@
---- a/arch/mips/bcm47xx/Kconfig
-+++ b/arch/mips/bcm47xx/Kconfig
-@@ -4,6 +4,7 @@ config BCM47XX_SSB
-       bool "SSB Support for Broadcom BCM47XX"
-       select SYS_HAS_CPU_BMIPS32_3300
-       select SSB
-+      select SSB_HOST_SOC
-       select SSB_DRIVER_MIPS
-       select SSB_DRIVER_EXTIF
-       select SSB_EMBEDDED
---- a/drivers/ssb/Kconfig
-+++ b/drivers/ssb/Kconfig
-@@ -80,6 +80,15 @@ config SSB_SDIOHOST
-         If unsure, say N
-+config SSB_HOST_SOC
-+      bool "Support for SSB bus on SoC"
-+      depends on SSB
-+      help
-+        Host interface for a SSB directly mapped into memory. This is
-+        for some Broadcom SoCs from the BCM47xx and BCM53xx lines.
-+
-+        If unsure, say N
-+
- config SSB_SILENT
-       bool "No SSB kernel messages"
-       depends on SSB && EXPERT
---- a/drivers/ssb/Makefile
-+++ b/drivers/ssb/Makefile
-@@ -5,8 +5,9 @@ ssb-$(CONFIG_SSB_SPROM)                        += sprom.o
- # host support
- ssb-$(CONFIG_SSB_PCIHOST)             += pci.o pcihost_wrapper.o
--ssb-$(CONFIG_SSB_PCMCIAHOST)          += pcmcia.o
-+ssb-$(CONFIG_SSB_PCMCIAHOST)          += pcmcia.o bridge_pcmcia_80211.o
- ssb-$(CONFIG_SSB_SDIOHOST)            += sdio.o
-+ssb-$(CONFIG_SSB_HOST_SOC)            += host_soc.o
- # built-in drivers
- ssb-y                                 += driver_chipcommon.o
---- /dev/null
-+++ b/drivers/ssb/bridge_pcmcia_80211.c
-@@ -0,0 +1,128 @@
-+/*
-+ * Broadcom 43xx PCMCIA-SSB bridge module
-+ *
-+ * Copyright (c) 2007 Michael Buesch <m@bues.ch>
-+ *
-+ * Licensed under the GNU/GPL. See COPYING for details.
-+ */
-+
-+#include <linux/ssb/ssb.h>
-+#include <linux/slab.h>
-+#include <linux/module.h>
-+
-+#include <pcmcia/cistpl.h>
-+#include <pcmcia/ciscode.h>
-+#include <pcmcia/ds.h>
-+#include <pcmcia/cisreg.h>
-+
-+#include "ssb_private.h"
-+
-+static const struct pcmcia_device_id ssb_host_pcmcia_tbl[] = {
-+      PCMCIA_DEVICE_MANF_CARD(0x2D0, 0x448),
-+      PCMCIA_DEVICE_MANF_CARD(0x2D0, 0x476),
-+      PCMCIA_DEVICE_NULL,
-+};
-+
-+MODULE_DEVICE_TABLE(pcmcia, ssb_host_pcmcia_tbl);
-+
-+static int ssb_host_pcmcia_probe(struct pcmcia_device *dev)
-+{
-+      struct ssb_bus *ssb;
-+      int err = -ENOMEM;
-+      int res = 0;
-+
-+      ssb = kzalloc(sizeof(*ssb), GFP_KERNEL);
-+      if (!ssb)
-+              goto out_error;
-+
-+      err = -ENODEV;
-+
-+      dev->config_flags |= CONF_ENABLE_IRQ;
-+
-+      dev->resource[2]->flags |=  WIN_ENABLE | WIN_DATA_WIDTH_16 |
-+                       WIN_USE_WAIT;
-+      dev->resource[2]->start = 0;
-+      dev->resource[2]->end = SSB_CORE_SIZE;
-+      res = pcmcia_request_window(dev, dev->resource[2], 250);
-+      if (res != 0)
-+              goto err_kfree_ssb;
-+
-+      res = pcmcia_map_mem_page(dev, dev->resource[2], 0);
-+      if (res != 0)
-+              goto err_disable;
-+
-+      if (!dev->irq)
-+              goto err_disable;
-+
-+      res = pcmcia_enable_device(dev);
-+      if (res != 0)
-+              goto err_disable;
-+
-+      err = ssb_bus_pcmciabus_register(ssb, dev, dev->resource[2]->start);
-+      if (err)
-+              goto err_disable;
-+      dev->priv = ssb;
-+
-+      return 0;
-+
-+err_disable:
-+      pcmcia_disable_device(dev);
-+err_kfree_ssb:
-+      kfree(ssb);
-+out_error:
-+      ssb_err("Initialization failed (%d, %d)\n", res, err);
-+      return err;
-+}
-+
-+static void ssb_host_pcmcia_remove(struct pcmcia_device *dev)
-+{
-+      struct ssb_bus *ssb = dev->priv;
-+
-+      ssb_bus_unregister(ssb);
-+      pcmcia_disable_device(dev);
-+      kfree(ssb);
-+      dev->priv = NULL;
-+}
-+
-+#ifdef CONFIG_PM
-+static int ssb_host_pcmcia_suspend(struct pcmcia_device *dev)
-+{
-+      struct ssb_bus *ssb = dev->priv;
-+
-+      return ssb_bus_suspend(ssb);
-+}
-+
-+static int ssb_host_pcmcia_resume(struct pcmcia_device *dev)
-+{
-+      struct ssb_bus *ssb = dev->priv;
-+
-+      return ssb_bus_resume(ssb);
-+}
-+#else /* CONFIG_PM */
-+# define ssb_host_pcmcia_suspend              NULL
-+# define ssb_host_pcmcia_resume               NULL
-+#endif /* CONFIG_PM */
-+
-+static struct pcmcia_driver ssb_host_pcmcia_driver = {
-+      .owner          = THIS_MODULE,
-+      .name           = "ssb-pcmcia",
-+      .id_table       = ssb_host_pcmcia_tbl,
-+      .probe          = ssb_host_pcmcia_probe,
-+      .remove         = ssb_host_pcmcia_remove,
-+      .suspend        = ssb_host_pcmcia_suspend,
-+      .resume         = ssb_host_pcmcia_resume,
-+};
-+
-+/*
-+ * These are not module init/exit functions!
-+ * The module_pcmcia_driver() helper cannot be used here.
-+ */
-+int ssb_host_pcmcia_init(void)
-+{
-+      return pcmcia_register_driver(&ssb_host_pcmcia_driver);
-+}
-+
-+void ssb_host_pcmcia_exit(void)
-+{
-+      pcmcia_unregister_driver(&ssb_host_pcmcia_driver);
-+}
---- /dev/null
-+++ b/drivers/ssb/host_soc.c
-@@ -0,0 +1,173 @@
-+/*
-+ * Sonics Silicon Backplane SoC host related functions.
-+ * Subsystem core
-+ *
-+ * Copyright 2005, Broadcom Corporation
-+ * Copyright 2006, 2007, Michael Buesch <m@bues.ch>
-+ *
-+ * Licensed under the GNU/GPL. See COPYING for details.
-+ */
-+
-+#include <linux/ssb/ssb.h>
-+
-+#include "ssb_private.h"
-+
-+static u8 ssb_host_soc_read8(struct ssb_device *dev, u16 offset)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      return readb(bus->mmio + offset);
-+}
-+
-+static u16 ssb_host_soc_read16(struct ssb_device *dev, u16 offset)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      return readw(bus->mmio + offset);
-+}
-+
-+static u32 ssb_host_soc_read32(struct ssb_device *dev, u16 offset)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      return readl(bus->mmio + offset);
-+}
-+
-+#ifdef CONFIG_SSB_BLOCKIO
-+static void ssb_host_soc_block_read(struct ssb_device *dev, void *buffer,
-+                                  size_t count, u16 offset, u8 reg_width)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+      void __iomem *addr;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      addr = bus->mmio + offset;
-+
-+      switch (reg_width) {
-+      case sizeof(u8): {
-+              u8 *buf = buffer;
-+
-+              while (count) {
-+                      *buf = __raw_readb(addr);
-+                      buf++;
-+                      count--;
-+              }
-+              break;
-+      }
-+      case sizeof(u16): {
-+              __le16 *buf = buffer;
-+
-+              SSB_WARN_ON(count & 1);
-+              while (count) {
-+                      *buf = (__force __le16)__raw_readw(addr);
-+                      buf++;
-+                      count -= 2;
-+              }
-+              break;
-+      }
-+      case sizeof(u32): {
-+              __le32 *buf = buffer;
-+
-+              SSB_WARN_ON(count & 3);
-+              while (count) {
-+                      *buf = (__force __le32)__raw_readl(addr);
-+                      buf++;
-+                      count -= 4;
-+              }
-+              break;
-+      }
-+      default:
-+              SSB_WARN_ON(1);
-+      }
-+}
-+#endif /* CONFIG_SSB_BLOCKIO */
-+
-+static void ssb_host_soc_write8(struct ssb_device *dev, u16 offset, u8 value)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      writeb(value, bus->mmio + offset);
-+}
-+
-+static void ssb_host_soc_write16(struct ssb_device *dev, u16 offset, u16 value)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      writew(value, bus->mmio + offset);
-+}
-+
-+static void ssb_host_soc_write32(struct ssb_device *dev, u16 offset, u32 value)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      writel(value, bus->mmio + offset);
-+}
-+
-+#ifdef CONFIG_SSB_BLOCKIO
-+static void ssb_host_soc_block_write(struct ssb_device *dev, const void *buffer,
-+                                   size_t count, u16 offset, u8 reg_width)
-+{
-+      struct ssb_bus *bus = dev->bus;
-+      void __iomem *addr;
-+
-+      offset += dev->core_index * SSB_CORE_SIZE;
-+      addr = bus->mmio + offset;
-+
-+      switch (reg_width) {
-+      case sizeof(u8): {
-+              const u8 *buf = buffer;
-+
-+              while (count) {
-+                      __raw_writeb(*buf, addr);
-+                      buf++;
-+                      count--;
-+              }
-+              break;
-+      }
-+      case sizeof(u16): {
-+              const __le16 *buf = buffer;
-+
-+              SSB_WARN_ON(count & 1);
-+              while (count) {
-+                      __raw_writew((__force u16)(*buf), addr);
-+                      buf++;
-+                      count -= 2;
-+              }
-+              break;
-+      }
-+      case sizeof(u32): {
-+              const __le32 *buf = buffer;
-+
-+              SSB_WARN_ON(count & 3);
-+              while (count) {
-+                      __raw_writel((__force u32)(*buf), addr);
-+                      buf++;
-+                      count -= 4;
-+              }
-+              break;
-+      }
-+      default:
-+              SSB_WARN_ON(1);
-+      }
-+}
-+#endif /* CONFIG_SSB_BLOCKIO */
-+
-+/* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
-+const struct ssb_bus_ops ssb_host_soc_ops = {
-+      .read8          = ssb_host_soc_read8,
-+      .read16         = ssb_host_soc_read16,
-+      .read32         = ssb_host_soc_read32,
-+      .write8         = ssb_host_soc_write8,
-+      .write16        = ssb_host_soc_write16,
-+      .write32        = ssb_host_soc_write32,
-+#ifdef CONFIG_SSB_BLOCKIO
-+      .block_read     = ssb_host_soc_block_read,
-+      .block_write    = ssb_host_soc_block_write,
-+#endif
-+};
---- a/drivers/ssb/main.c
-+++ b/drivers/ssb/main.c
-@@ -596,166 +596,6 @@ error:
-       return err;
- }
--static u8 ssb_ssb_read8(struct ssb_device *dev, u16 offset)
--{
--      struct ssb_bus *bus = dev->bus;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      return readb(bus->mmio + offset);
--}
--
--static u16 ssb_ssb_read16(struct ssb_device *dev, u16 offset)
--{
--      struct ssb_bus *bus = dev->bus;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      return readw(bus->mmio + offset);
--}
--
--static u32 ssb_ssb_read32(struct ssb_device *dev, u16 offset)
--{
--      struct ssb_bus *bus = dev->bus;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      return readl(bus->mmio + offset);
--}
--
--#ifdef CONFIG_SSB_BLOCKIO
--static void ssb_ssb_block_read(struct ssb_device *dev, void *buffer,
--                             size_t count, u16 offset, u8 reg_width)
--{
--      struct ssb_bus *bus = dev->bus;
--      void __iomem *addr;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      addr = bus->mmio + offset;
--
--      switch (reg_width) {
--      case sizeof(u8): {
--              u8 *buf = buffer;
--
--              while (count) {
--                      *buf = __raw_readb(addr);
--                      buf++;
--                      count--;
--              }
--              break;
--      }
--      case sizeof(u16): {
--              __le16 *buf = buffer;
--
--              SSB_WARN_ON(count & 1);
--              while (count) {
--                      *buf = (__force __le16)__raw_readw(addr);
--                      buf++;
--                      count -= 2;
--              }
--              break;
--      }
--      case sizeof(u32): {
--              __le32 *buf = buffer;
--
--              SSB_WARN_ON(count & 3);
--              while (count) {
--                      *buf = (__force __le32)__raw_readl(addr);
--                      buf++;
--                      count -= 4;
--              }
--              break;
--      }
--      default:
--              SSB_WARN_ON(1);
--      }
--}
--#endif /* CONFIG_SSB_BLOCKIO */
--
--static void ssb_ssb_write8(struct ssb_device *dev, u16 offset, u8 value)
--{
--      struct ssb_bus *bus = dev->bus;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      writeb(value, bus->mmio + offset);
--}
--
--static void ssb_ssb_write16(struct ssb_device *dev, u16 offset, u16 value)
--{
--      struct ssb_bus *bus = dev->bus;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      writew(value, bus->mmio + offset);
--}
--
--static void ssb_ssb_write32(struct ssb_device *dev, u16 offset, u32 value)
--{
--      struct ssb_bus *bus = dev->bus;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      writel(value, bus->mmio + offset);
--}
--
--#ifdef CONFIG_SSB_BLOCKIO
--static void ssb_ssb_block_write(struct ssb_device *dev, const void *buffer,
--                              size_t count, u16 offset, u8 reg_width)
--{
--      struct ssb_bus *bus = dev->bus;
--      void __iomem *addr;
--
--      offset += dev->core_index * SSB_CORE_SIZE;
--      addr = bus->mmio + offset;
--
--      switch (reg_width) {
--      case sizeof(u8): {
--              const u8 *buf = buffer;
--
--              while (count) {
--                      __raw_writeb(*buf, addr);
--                      buf++;
--                      count--;
--              }
--              break;
--      }
--      case sizeof(u16): {
--              const __le16 *buf = buffer;
--
--              SSB_WARN_ON(count & 1);
--              while (count) {
--                      __raw_writew((__force u16)(*buf), addr);
--                      buf++;
--                      count -= 2;
--              }
--              break;
--      }
--      case sizeof(u32): {
--              const __le32 *buf = buffer;
--
--              SSB_WARN_ON(count & 3);
--              while (count) {
--                      __raw_writel((__force u32)(*buf), addr);
--                      buf++;
--                      count -= 4;
--              }
--              break;
--      }
--      default:
--              SSB_WARN_ON(1);
--      }
--}
--#endif /* CONFIG_SSB_BLOCKIO */
--
--/* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
--static const struct ssb_bus_ops ssb_ssb_ops = {
--      .read8          = ssb_ssb_read8,
--      .read16         = ssb_ssb_read16,
--      .read32         = ssb_ssb_read32,
--      .write8         = ssb_ssb_write8,
--      .write16        = ssb_ssb_write16,
--      .write32        = ssb_ssb_write32,
--#ifdef CONFIG_SSB_BLOCKIO
--      .block_read     = ssb_ssb_block_read,
--      .block_write    = ssb_ssb_block_write,
--#endif
--};
--
- static int ssb_fetch_invariants(struct ssb_bus *bus,
-                               ssb_invariants_func_t get_invariants)
- {
-@@ -876,7 +716,6 @@ int ssb_bus_pcibus_register(struct ssb_b
-       return err;
- }
--EXPORT_SYMBOL(ssb_bus_pcibus_register);
- #endif /* CONFIG_SSB_PCIHOST */
- #ifdef CONFIG_SSB_PCMCIAHOST
-@@ -898,7 +737,6 @@ int ssb_bus_pcmciabus_register(struct ss
-       return err;
- }
--EXPORT_SYMBOL(ssb_bus_pcmciabus_register);
- #endif /* CONFIG_SSB_PCMCIAHOST */
- #ifdef CONFIG_SSB_SDIOHOST
-@@ -923,13 +761,14 @@ int ssb_bus_sdiobus_register(struct ssb_
- EXPORT_SYMBOL(ssb_bus_sdiobus_register);
- #endif /* CONFIG_SSB_PCMCIAHOST */
-+#ifdef CONFIG_SSB_HOST_SOC
- int ssb_bus_ssbbus_register(struct ssb_bus *bus, unsigned long baseaddr,
-                           ssb_invariants_func_t get_invariants)
- {
-       int err;
-       bus->bustype = SSB_BUSTYPE_SSB;
--      bus->ops = &ssb_ssb_ops;
-+      bus->ops = &ssb_host_soc_ops;
-       err = ssb_bus_register(bus, get_invariants, baseaddr);
-       if (!err) {
-@@ -939,6 +778,7 @@ int ssb_bus_ssbbus_register(struct ssb_b
-       return err;
- }
-+#endif
- int __ssb_driver_register(struct ssb_driver *drv, struct module *owner)
- {
-@@ -1465,6 +1305,12 @@ static int __init ssb_modinit(void)
-               /* don't fail SSB init because of this */
-               err = 0;
-       }
-+      err = ssb_host_pcmcia_init();
-+      if (err) {
-+              ssb_err("PCMCIA host initialization failed\n");
-+              /* don't fail SSB init because of this */
-+              err = 0;
-+      }
-       err = ssb_gige_init();
-       if (err) {
-               ssb_err("SSB Broadcom Gigabit Ethernet driver initialization failed\n");
-@@ -1482,6 +1328,7 @@ fs_initcall(ssb_modinit);
- static void __exit ssb_modexit(void)
- {
-       ssb_gige_exit();
-+      ssb_host_pcmcia_exit();
-       b43_pci_ssb_bridge_exit();
-       bus_unregister(&ssb_bustype);
- }
---- a/drivers/ssb/pcmcia.c
-+++ b/drivers/ssb/pcmcia.c
-@@ -147,8 +147,7 @@ error:
-       return err;
- }
--int ssb_pcmcia_switch_core(struct ssb_bus *bus,
--                         struct ssb_device *dev)
-+static int ssb_pcmcia_switch_core(struct ssb_bus *bus, struct ssb_device *dev)
- {
-       int err;
---- a/drivers/ssb/sdio.c
-+++ b/drivers/ssb/sdio.c
-@@ -200,7 +200,7 @@ out:
- }
- /* host must be already claimed */
--int ssb_sdio_switch_core(struct ssb_bus *bus, struct ssb_device *dev)
-+static int ssb_sdio_switch_core(struct ssb_bus *bus, struct ssb_device *dev)
- {
-       u8 coreidx = dev->core_index;
-       u32 sbaddr;
---- a/drivers/ssb/ssb_private.h
-+++ b/drivers/ssb/ssb_private.h
-@@ -85,8 +85,6 @@ static inline int ssb_pci_init(struct ss
- /* pcmcia.c */
- #ifdef CONFIG_SSB_PCMCIAHOST
--extern int ssb_pcmcia_switch_core(struct ssb_bus *bus,
--                                struct ssb_device *dev);
- extern int ssb_pcmcia_switch_coreidx(struct ssb_bus *bus,
-                                    u8 coreidx);
- extern int ssb_pcmcia_switch_segment(struct ssb_bus *bus,
-@@ -96,13 +94,10 @@ extern int ssb_pcmcia_get_invariants(str
- extern int ssb_pcmcia_hardware_setup(struct ssb_bus *bus);
- extern void ssb_pcmcia_exit(struct ssb_bus *bus);
- extern int ssb_pcmcia_init(struct ssb_bus *bus);
-+extern int ssb_host_pcmcia_init(void);
-+extern void ssb_host_pcmcia_exit(void);
- extern const struct ssb_bus_ops ssb_pcmcia_ops;
- #else /* CONFIG_SSB_PCMCIAHOST */
--static inline int ssb_pcmcia_switch_core(struct ssb_bus *bus,
--                                       struct ssb_device *dev)
--{
--      return 0;
--}
- static inline int ssb_pcmcia_switch_coreidx(struct ssb_bus *bus,
-                                           u8 coreidx)
- {
-@@ -124,6 +119,13 @@ static inline int ssb_pcmcia_init(struct
- {
-       return 0;
- }
-+static inline int ssb_host_pcmcia_init(void)
-+{
-+      return 0;
-+}
-+static inline void ssb_host_pcmcia_exit(void)
-+{
-+}
- #endif /* CONFIG_SSB_PCMCIAHOST */
- /* sdio.c */
-@@ -132,9 +134,7 @@ extern int ssb_sdio_get_invariants(struc
-                                    struct ssb_init_invariants *iv);
- extern u32 ssb_sdio_scan_read32(struct ssb_bus *bus, u16 offset);
--extern int ssb_sdio_switch_core(struct ssb_bus *bus, struct ssb_device *dev);
- extern int ssb_sdio_scan_switch_coreidx(struct ssb_bus *bus, u8 coreidx);
--extern int ssb_sdio_hardware_setup(struct ssb_bus *bus);
- extern void ssb_sdio_exit(struct ssb_bus *bus);
- extern int ssb_sdio_init(struct ssb_bus *bus);
-@@ -144,19 +144,10 @@ static inline u32 ssb_sdio_scan_read32(s
- {
-       return 0;
- }
--static inline int ssb_sdio_switch_core(struct ssb_bus *bus,
--                                       struct ssb_device *dev)
--{
--      return 0;
--}
- static inline int ssb_sdio_scan_switch_coreidx(struct ssb_bus *bus, u8 coreidx)
- {
-       return 0;
- }
--static inline int ssb_sdio_hardware_setup(struct ssb_bus *bus)
--{
--      return 0;
--}
- static inline void ssb_sdio_exit(struct ssb_bus *bus)
- {
- }
-@@ -166,6 +157,13 @@ static inline int ssb_sdio_init(struct s
- }
- #endif /* CONFIG_SSB_SDIOHOST */
-+/**************************************************
-+ * host_soc.c
-+ **************************************************/
-+
-+#ifdef CONFIG_SSB_HOST_SOC
-+extern const struct ssb_bus_ops ssb_host_soc_ops;
-+#endif
- /* scan.c */
- extern const char *ssb_core_name(u16 coreid);
diff --git a/target/linux/generic/patches-4.1/021-ssb_sprom.patch b/target/linux/generic/patches-4.1/021-ssb_sprom.patch
deleted file mode 100644 (file)
index 52d8080..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/include/linux/ssb/ssb.h
-+++ b/include/linux/ssb/ssb.h
-@@ -29,10 +29,13 @@ struct ssb_sprom {
-       u8 il0mac[6] __aligned(sizeof(u16));    /* MAC address for 802.11b/g */
-       u8 et0mac[6] __aligned(sizeof(u16));    /* MAC address for Ethernet */
-       u8 et1mac[6] __aligned(sizeof(u16));    /* MAC address for 802.11a */
-+      u8 et2mac[6] __aligned(sizeof(u16));    /* MAC address for extra Ethernet */
-       u8 et0phyaddr;          /* MII address for enet0 */
-       u8 et1phyaddr;          /* MII address for enet1 */
-+      u8 et2phyaddr;          /* MII address for enet2 */
-       u8 et0mdcport;          /* MDIO for enet0 */
-       u8 et1mdcport;          /* MDIO for enet1 */
-+      u8 et2mdcport;          /* MDIO for enet2 */
-       u16 dev_id;             /* Device ID overriding e.g. PCI ID */
-       u16 board_rev;          /* Board revision number from SPROM. */
-       u16 board_num;          /* Board number from SPROM. */
-@@ -88,11 +91,14 @@ struct ssb_sprom {
-       u32 ofdm5glpo;          /* 5.2GHz OFDM power offset */
-       u32 ofdm5gpo;           /* 5.3GHz OFDM power offset */
-       u32 ofdm5ghpo;          /* 5.8GHz OFDM power offset */
-+      u32 boardflags;
-+      u32 boardflags2;
-+      u32 boardflags3;
-+      /* TODO: Switch all drivers to new u32 fields and drop below ones */
-       u16 boardflags_lo;      /* Board flags (bits 0-15) */
-       u16 boardflags_hi;      /* Board flags (bits 16-31) */
-       u16 boardflags2_lo;     /* Board flags (bits 32-47) */
-       u16 boardflags2_hi;     /* Board flags (bits 48-63) */
--      /* TODO store board flags in a single u64 */
-       struct ssb_sprom_core_pwr_info core_pwr_info[4];
diff --git a/target/linux/generic/patches-4.1/022-bcma-from-4.2.patch b/target/linux/generic/patches-4.1/022-bcma-from-4.2.patch
deleted file mode 100644 (file)
index ba3df18..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
---- a/drivers/bcma/driver_gpio.c
-+++ b/drivers/bcma/driver_gpio.c
-@@ -226,6 +226,7 @@ int bcma_gpio_init(struct bcma_drv_cc *c
-               chip->of_node   = cc->core->dev.of_node;
- #endif
-       switch (bus->chipinfo.id) {
-+      case BCMA_CHIP_ID_BCM4707:
-       case BCMA_CHIP_ID_BCM5357:
-       case BCMA_CHIP_ID_BCM53572:
-               chip->ngpio     = 32;
-@@ -235,16 +236,17 @@ int bcma_gpio_init(struct bcma_drv_cc *c
-       }
-       /*
--       * On MIPS we register GPIO devices (LEDs, buttons) using absolute GPIO
--       * pin numbers. We don't have Device Tree there and we can't really use
--       * relative (per chip) numbers.
--       * So let's use predictable base for BCM47XX and "random" for all other.
-+       * Register SoC GPIO devices with absolute GPIO pin base.
-+       * On MIPS, we don't have Device Tree and we can't use relative (per chip)
-+       * GPIO numbers.
-+       * On some ARM devices, user space may want to access some system GPIO
-+       * pins directly, which is easier to do with a predictable GPIO base.
-        */
--#if IS_BUILTIN(CONFIG_BCM47XX)
--      chip->base              = bus->num * BCMA_GPIO_MAX_PINS;
--#else
--      chip->base              = -1;
--#endif
-+      if (IS_BUILTIN(CONFIG_BCM47XX) ||
-+          cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
-+              chip->base              = bus->num * BCMA_GPIO_MAX_PINS;
-+      else
-+              chip->base              = -1;
-       err = bcma_gpio_irq_domain_init(cc);
-       if (err)
---- a/drivers/bcma/Kconfig
-+++ b/drivers/bcma/Kconfig
-@@ -29,12 +29,6 @@ config BCMA_HOST_PCI
-       select BCMA_DRIVER_PCI
-       default y
--config BCMA_DRIVER_PCI_HOSTMODE
--      bool "Driver for PCI core working in hostmode"
--      depends on BCMA && MIPS && BCMA_HOST_PCI
--      help
--        PCI core hostmode operation (external PCI bus).
--
- config BCMA_HOST_SOC
-       bool "Support for BCMA in a SoC"
-       depends on BCMA
-@@ -61,6 +55,12 @@ config BCMA_DRIVER_PCI
-         This driver is also prerequisite for a hostmode PCIe core
-         support.
-+config BCMA_DRIVER_PCI_HOSTMODE
-+      bool "Driver for PCI core working in hostmode"
-+      depends on BCMA && MIPS && BCMA_DRIVER_PCI
-+      help
-+        PCI core hostmode operation (external PCI bus).
-+
- config BCMA_DRIVER_MIPS
-       bool "BCMA Broadcom MIPS core driver"
-       depends on BCMA && MIPS
---- a/include/linux/bcma/bcma_driver_pci.h
-+++ b/include/linux/bcma/bcma_driver_pci.h
-@@ -246,7 +246,18 @@ static inline void bcma_core_pci_power_s
- }
- #endif
-+#ifdef CONFIG_BCMA_DRIVER_PCI_HOSTMODE
- extern int bcma_core_pci_pcibios_map_irq(const struct pci_dev *dev);
- extern int bcma_core_pci_plat_dev_init(struct pci_dev *dev);
-+#else
-+static inline int bcma_core_pci_pcibios_map_irq(const struct pci_dev *dev)
-+{
-+      return -ENOTSUPP;
-+}
-+static inline int bcma_core_pci_plat_dev_init(struct pci_dev *dev)
-+{
-+      return -ENOTSUPP;
-+}
-+#endif
- #endif /* LINUX_BCMA_DRIVER_PCI_H_ */
diff --git a/target/linux/generic/patches-4.1/023-bcma-from-4.4.patch b/target/linux/generic/patches-4.1/023-bcma-from-4.4.patch
deleted file mode 100644 (file)
index 5704081..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 55acca90da52b85299c033354e51ddaa7b73e019
-Author: Hante Meuleman <meuleman@broadcom.com>
-Date:   Fri Sep 18 22:08:17 2015 +0200
-
-    brcmfmac: Add support for the BCM4365 and BCM4366 PCIE devices.
-    
-    This patch adds support for the BCM4365 and BCM4366 11ac Wave2
-    PCIE devices.
-    
-    Reviewed-by: Arend Van Spriel <arend@broadcom.com>
-    Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
-    Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
-    Signed-off-by: Arend van Spriel <arend@broadcom.com>
-    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-
---- a/include/linux/bcma/bcma.h
-+++ b/include/linux/bcma/bcma.h
-@@ -151,6 +151,8 @@ struct bcma_host_ops {
- #define BCMA_CORE_PCIE2                       0x83C   /* PCI Express Gen2 */
- #define BCMA_CORE_USB30_DEV           0x83D
- #define BCMA_CORE_ARM_CR4             0x83E
-+#define BCMA_CORE_ARM_CA7             0x847
-+#define BCMA_CORE_SYS_MEM             0x849
- #define BCMA_CORE_DEFAULT             0xFFF
- #define BCMA_MAX_NR_CORES             16
diff --git a/target/linux/generic/patches-4.1/024-bcma-from-4.5.patch b/target/linux/generic/patches-4.1/024-bcma-from-4.5.patch
deleted file mode 100644 (file)
index 171395d..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
---- a/drivers/bcma/main.c
-+++ b/drivers/bcma/main.c
-@@ -637,11 +637,36 @@ static int bcma_device_uevent(struct dev
-                             core->id.rev, core->id.class);
- }
--static int __init bcma_modinit(void)
-+static unsigned int bcma_bus_registered;
-+
-+/*
-+ * If built-in, bus has to be registered early, before any driver calls
-+ * bcma_driver_register.
-+ * Otherwise registering driver would trigger BUG in driver_register.
-+ */
-+static int __init bcma_init_bus_register(void)
- {
-       int err;
-+      if (bcma_bus_registered)
-+              return 0;
-+
-       err = bus_register(&bcma_bus_type);
-+      if (!err)
-+              bcma_bus_registered = 1;
-+
-+      return err;
-+}
-+#ifndef MODULE
-+fs_initcall(bcma_init_bus_register);
-+#endif
-+
-+/* Main initialization has to be done with SPI/mtd/NAND/SPROM available */
-+static int __init bcma_modinit(void)
-+{
-+      int err;
-+
-+      err = bcma_init_bus_register();
-       if (err)
-               return err;
-@@ -660,7 +685,7 @@ static int __init bcma_modinit(void)
-       return err;
- }
--fs_initcall(bcma_modinit);
-+module_init(bcma_modinit);
- static void __exit bcma_modexit(void)
- {
diff --git a/target/linux/generic/patches-4.1/025-bcma-from-4.6.patch b/target/linux/generic/patches-4.1/025-bcma-from-4.6.patch
deleted file mode 100644 (file)
index c0504ac..0000000
+++ /dev/null
@@ -1,716 +0,0 @@
---- a/drivers/bcma/driver_chipcommon.c
-+++ b/drivers/bcma/driver_chipcommon.c
-@@ -15,6 +15,8 @@
- #include <linux/platform_device.h>
- #include <linux/bcma/bcma.h>
-+static void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
-+
- static inline u32 bcma_cc_write32_masked(struct bcma_drv_cc *cc, u16 offset,
-                                        u32 mask, u32 value)
- {
-@@ -113,8 +115,37 @@ int bcma_chipco_watchdog_register(struct
-       return 0;
- }
-+static void bcma_core_chipcommon_flash_detect(struct bcma_drv_cc *cc)
-+{
-+      struct bcma_bus *bus = cc->core->bus;
-+
-+      switch (cc->capabilities & BCMA_CC_CAP_FLASHT) {
-+      case BCMA_CC_FLASHT_STSER:
-+      case BCMA_CC_FLASHT_ATSER:
-+              bcma_debug(bus, "Found serial flash\n");
-+              bcma_sflash_init(cc);
-+              break;
-+      case BCMA_CC_FLASHT_PARA:
-+              bcma_debug(bus, "Found parallel flash\n");
-+              bcma_pflash_init(cc);
-+              break;
-+      default:
-+              bcma_err(bus, "Flash type not supported\n");
-+      }
-+
-+      if (cc->core->id.rev == 38 ||
-+          bus->chipinfo.id == BCMA_CHIP_ID_BCM4706) {
-+              if (cc->capabilities & BCMA_CC_CAP_NFLASH) {
-+                      bcma_debug(bus, "Found NAND flash\n");
-+                      bcma_nflash_init(cc);
-+              }
-+      }
-+}
-+
- void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc)
- {
-+      struct bcma_bus *bus = cc->core->bus;
-+
-       if (cc->early_setup_done)
-               return;
-@@ -129,6 +160,12 @@ void bcma_core_chipcommon_early_init(str
-       if (cc->capabilities & BCMA_CC_CAP_PMU)
-               bcma_pmu_early_init(cc);
-+      if (IS_BUILTIN(CONFIG_BCM47XX) && bus->hosttype == BCMA_HOSTTYPE_SOC)
-+              bcma_chipco_serial_init(cc);
-+
-+      if (bus->hosttype == BCMA_HOSTTYPE_SOC)
-+              bcma_core_chipcommon_flash_detect(cc);
-+
-       cc->early_setup_done = true;
- }
-@@ -185,11 +222,12 @@ u32 bcma_chipco_watchdog_timer_set(struc
-                       ticks = 2;
-               else if (ticks > maxt)
-                       ticks = maxt;
--              bcma_cc_write32(cc, BCMA_CC_PMU_WATCHDOG, ticks);
-+              bcma_pmu_write32(cc, BCMA_CC_PMU_WATCHDOG, ticks);
-       } else {
-               struct bcma_bus *bus = cc->core->bus;
-               if (bus->chipinfo.id != BCMA_CHIP_ID_BCM4707 &&
-+                  bus->chipinfo.id != BCMA_CHIP_ID_BCM47094 &&
-                   bus->chipinfo.id != BCMA_CHIP_ID_BCM53018)
-                       bcma_core_set_clockmode(cc->core,
-                                               ticks ? BCMA_CLKMODE_FAST : BCMA_CLKMODE_DYNAMIC);
-@@ -314,9 +352,9 @@ u32 bcma_chipco_gpio_pulldown(struct bcm
-       return res;
- }
--#ifdef CONFIG_BCMA_DRIVER_MIPS
--void bcma_chipco_serial_init(struct bcma_drv_cc *cc)
-+static void bcma_chipco_serial_init(struct bcma_drv_cc *cc)
- {
-+#if IS_BUILTIN(CONFIG_BCM47XX)
-       unsigned int irq;
-       u32 baud_base;
-       u32 i;
-@@ -358,5 +396,5 @@ void bcma_chipco_serial_init(struct bcma
-               ports[i].baud_base = baud_base;
-               ports[i].reg_shift = 0;
-       }
-+#endif /* CONFIG_BCM47XX */
- }
--#endif /* CONFIG_BCMA_DRIVER_MIPS */
---- a/drivers/bcma/driver_chipcommon_pmu.c
-+++ b/drivers/bcma/driver_chipcommon_pmu.c
-@@ -15,44 +15,44 @@
- u32 bcma_chipco_pll_read(struct bcma_drv_cc *cc, u32 offset)
- {
--      bcma_cc_write32(cc, BCMA_CC_PLLCTL_ADDR, offset);
--      bcma_cc_read32(cc, BCMA_CC_PLLCTL_ADDR);
--      return bcma_cc_read32(cc, BCMA_CC_PLLCTL_DATA);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_ADDR, offset);
-+      bcma_pmu_read32(cc, BCMA_CC_PMU_PLLCTL_ADDR);
-+      return bcma_pmu_read32(cc, BCMA_CC_PMU_PLLCTL_DATA);
- }
- EXPORT_SYMBOL_GPL(bcma_chipco_pll_read);
- void bcma_chipco_pll_write(struct bcma_drv_cc *cc, u32 offset, u32 value)
- {
--      bcma_cc_write32(cc, BCMA_CC_PLLCTL_ADDR, offset);
--      bcma_cc_read32(cc, BCMA_CC_PLLCTL_ADDR);
--      bcma_cc_write32(cc, BCMA_CC_PLLCTL_DATA, value);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_ADDR, offset);
-+      bcma_pmu_read32(cc, BCMA_CC_PMU_PLLCTL_ADDR);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_DATA, value);
- }
- EXPORT_SYMBOL_GPL(bcma_chipco_pll_write);
- void bcma_chipco_pll_maskset(struct bcma_drv_cc *cc, u32 offset, u32 mask,
-                            u32 set)
- {
--      bcma_cc_write32(cc, BCMA_CC_PLLCTL_ADDR, offset);
--      bcma_cc_read32(cc, BCMA_CC_PLLCTL_ADDR);
--      bcma_cc_maskset32(cc, BCMA_CC_PLLCTL_DATA, mask, set);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_ADDR, offset);
-+      bcma_pmu_read32(cc, BCMA_CC_PMU_PLLCTL_ADDR);
-+      bcma_pmu_maskset32(cc, BCMA_CC_PMU_PLLCTL_DATA, mask, set);
- }
- EXPORT_SYMBOL_GPL(bcma_chipco_pll_maskset);
- void bcma_chipco_chipctl_maskset(struct bcma_drv_cc *cc,
-                                u32 offset, u32 mask, u32 set)
- {
--      bcma_cc_write32(cc, BCMA_CC_CHIPCTL_ADDR, offset);
--      bcma_cc_read32(cc, BCMA_CC_CHIPCTL_ADDR);
--      bcma_cc_maskset32(cc, BCMA_CC_CHIPCTL_DATA, mask, set);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_CHIPCTL_ADDR, offset);
-+      bcma_pmu_read32(cc, BCMA_CC_PMU_CHIPCTL_ADDR);
-+      bcma_pmu_maskset32(cc, BCMA_CC_PMU_CHIPCTL_DATA, mask, set);
- }
- EXPORT_SYMBOL_GPL(bcma_chipco_chipctl_maskset);
- void bcma_chipco_regctl_maskset(struct bcma_drv_cc *cc, u32 offset, u32 mask,
-                               u32 set)
- {
--      bcma_cc_write32(cc, BCMA_CC_REGCTL_ADDR, offset);
--      bcma_cc_read32(cc, BCMA_CC_REGCTL_ADDR);
--      bcma_cc_maskset32(cc, BCMA_CC_REGCTL_DATA, mask, set);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_REGCTL_ADDR, offset);
-+      bcma_pmu_read32(cc, BCMA_CC_PMU_REGCTL_ADDR);
-+      bcma_pmu_maskset32(cc, BCMA_CC_PMU_REGCTL_DATA, mask, set);
- }
- EXPORT_SYMBOL_GPL(bcma_chipco_regctl_maskset);
-@@ -60,18 +60,18 @@ static u32 bcma_pmu_xtalfreq(struct bcma
- {
-       u32 ilp_ctl, alp_hz;
--      if (!(bcma_cc_read32(cc, BCMA_CC_PMU_STAT) &
-+      if (!(bcma_pmu_read32(cc, BCMA_CC_PMU_STAT) &
-             BCMA_CC_PMU_STAT_EXT_LPO_AVAIL))
-               return 0;
--      bcma_cc_write32(cc, BCMA_CC_PMU_XTAL_FREQ,
--                      BIT(BCMA_CC_PMU_XTAL_FREQ_MEASURE_SHIFT));
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_XTAL_FREQ,
-+                       BIT(BCMA_CC_PMU_XTAL_FREQ_MEASURE_SHIFT));
-       usleep_range(1000, 2000);
--      ilp_ctl = bcma_cc_read32(cc, BCMA_CC_PMU_XTAL_FREQ);
-+      ilp_ctl = bcma_pmu_read32(cc, BCMA_CC_PMU_XTAL_FREQ);
-       ilp_ctl &= BCMA_CC_PMU_XTAL_FREQ_ILPCTL_MASK;
--      bcma_cc_write32(cc, BCMA_CC_PMU_XTAL_FREQ, 0);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_XTAL_FREQ, 0);
-       alp_hz = ilp_ctl * 32768 / 4;
-       return (alp_hz + 50000) / 100000 * 100;
-@@ -127,8 +127,8 @@ static void bcma_pmu2_pll_init0(struct b
-               mask = (u32)~(BCMA_RES_4314_HT_AVAIL |
-                             BCMA_RES_4314_MACPHY_CLK_AVAIL);
--              bcma_cc_mask32(cc, BCMA_CC_PMU_MINRES_MSK, mask);
--              bcma_cc_mask32(cc, BCMA_CC_PMU_MAXRES_MSK, mask);
-+              bcma_pmu_mask32(cc, BCMA_CC_PMU_MINRES_MSK, mask);
-+              bcma_pmu_mask32(cc, BCMA_CC_PMU_MAXRES_MSK, mask);
-               bcma_wait_value(cc->core, BCMA_CLKCTLST,
-                               BCMA_CLKCTLST_HAVEHT, 0, 20000);
-               break;
-@@ -140,7 +140,7 @@ static void bcma_pmu2_pll_init0(struct b
-       /* Flush */
-       if (cc->pmu.rev >= 2)
--              bcma_cc_set32(cc, BCMA_CC_PMU_CTL, BCMA_CC_PMU_CTL_PLL_UPD);
-+              bcma_pmu_set32(cc, BCMA_CC_PMU_CTL, BCMA_CC_PMU_CTL_PLL_UPD);
-       /* TODO: Do we need to update OTP? */
- }
-@@ -195,9 +195,9 @@ static void bcma_pmu_resources_init(stru
-       /* Set the resource masks. */
-       if (min_msk)
--              bcma_cc_write32(cc, BCMA_CC_PMU_MINRES_MSK, min_msk);
-+              bcma_pmu_write32(cc, BCMA_CC_PMU_MINRES_MSK, min_msk);
-       if (max_msk)
--              bcma_cc_write32(cc, BCMA_CC_PMU_MAXRES_MSK, max_msk);
-+              bcma_pmu_write32(cc, BCMA_CC_PMU_MAXRES_MSK, max_msk);
-       /*
-        * Add some delay; allow resources to come up and settle.
-@@ -269,23 +269,33 @@ static void bcma_pmu_workarounds(struct
- void bcma_pmu_early_init(struct bcma_drv_cc *cc)
- {
-+      struct bcma_bus *bus = cc->core->bus;
-       u32 pmucap;
--      pmucap = bcma_cc_read32(cc, BCMA_CC_PMU_CAP);
-+      if (cc->core->id.rev >= 35 &&
-+          cc->capabilities_ext & BCMA_CC_CAP_EXT_AOB_PRESENT) {
-+              cc->pmu.core = bcma_find_core(bus, BCMA_CORE_PMU);
-+              if (!cc->pmu.core)
-+                      bcma_warn(bus, "Couldn't find expected PMU core");
-+      }
-+      if (!cc->pmu.core)
-+              cc->pmu.core = cc->core;
-+
-+      pmucap = bcma_pmu_read32(cc, BCMA_CC_PMU_CAP);
-       cc->pmu.rev = (pmucap & BCMA_CC_PMU_CAP_REVISION);
--      bcma_debug(cc->core->bus, "Found rev %u PMU (capabilities 0x%08X)\n",
--                 cc->pmu.rev, pmucap);
-+      bcma_debug(bus, "Found rev %u PMU (capabilities 0x%08X)\n", cc->pmu.rev,
-+                 pmucap);
- }
- void bcma_pmu_init(struct bcma_drv_cc *cc)
- {
-       if (cc->pmu.rev == 1)
--              bcma_cc_mask32(cc, BCMA_CC_PMU_CTL,
--                            ~BCMA_CC_PMU_CTL_NOILPONW);
-+              bcma_pmu_mask32(cc, BCMA_CC_PMU_CTL,
-+                              ~BCMA_CC_PMU_CTL_NOILPONW);
-       else
--              bcma_cc_set32(cc, BCMA_CC_PMU_CTL,
--                           BCMA_CC_PMU_CTL_NOILPONW);
-+              bcma_pmu_set32(cc, BCMA_CC_PMU_CTL,
-+                             BCMA_CC_PMU_CTL_NOILPONW);
-       bcma_pmu_pll_init(cc);
-       bcma_pmu_resources_init(cc);
-@@ -472,8 +482,8 @@ u32 bcma_pmu_get_cpu_clock(struct bcma_d
- static void bcma_pmu_spuravoid_pll_write(struct bcma_drv_cc *cc, u32 offset,
-                                        u32 value)
- {
--      bcma_cc_write32(cc, BCMA_CC_PLLCTL_ADDR, offset);
--      bcma_cc_write32(cc, BCMA_CC_PLLCTL_DATA, value);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_ADDR, offset);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_DATA, value);
- }
- void bcma_pmu_spuravoid_pllupdate(struct bcma_drv_cc *cc, int spuravoid)
-@@ -497,20 +507,20 @@ void bcma_pmu_spuravoid_pllupdate(struct
-                      bus->chipinfo.id == BCMA_CHIP_ID_BCM53572) ? 6 : 0;
-               /* RMW only the P1 divider */
--              bcma_cc_write32(cc, BCMA_CC_PLLCTL_ADDR,
-+              bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_ADDR,
-                               BCMA_CC_PMU_PLL_CTL0 + phypll_offset);
--              tmp = bcma_cc_read32(cc, BCMA_CC_PLLCTL_DATA);
-+              tmp = bcma_pmu_read32(cc, BCMA_CC_PMU_PLLCTL_DATA);
-               tmp &= (~(BCMA_CC_PMU1_PLL0_PC0_P1DIV_MASK));
-               tmp |= (bcm5357_bcm43236_p1div[spuravoid] << BCMA_CC_PMU1_PLL0_PC0_P1DIV_SHIFT);
--              bcma_cc_write32(cc, BCMA_CC_PLLCTL_DATA, tmp);
-+              bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_DATA, tmp);
-               /* RMW only the int feedback divider */
--              bcma_cc_write32(cc, BCMA_CC_PLLCTL_ADDR,
-+              bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_ADDR,
-                               BCMA_CC_PMU_PLL_CTL2 + phypll_offset);
--              tmp = bcma_cc_read32(cc, BCMA_CC_PLLCTL_DATA);
-+              tmp = bcma_pmu_read32(cc, BCMA_CC_PMU_PLLCTL_DATA);
-               tmp &= ~(BCMA_CC_PMU1_PLL0_PC2_NDIV_INT_MASK);
-               tmp |= (bcm5357_bcm43236_ndiv[spuravoid]) << BCMA_CC_PMU1_PLL0_PC2_NDIV_INT_SHIFT;
--              bcma_cc_write32(cc, BCMA_CC_PLLCTL_DATA, tmp);
-+              bcma_pmu_write32(cc, BCMA_CC_PMU_PLLCTL_DATA, tmp);
-               tmp = BCMA_CC_PMU_CTL_PLL_UPD;
-               break;
-@@ -646,7 +656,7 @@ void bcma_pmu_spuravoid_pllupdate(struct
-               break;
-       }
--      tmp |= bcma_cc_read32(cc, BCMA_CC_PMU_CTL);
--      bcma_cc_write32(cc, BCMA_CC_PMU_CTL, tmp);
-+      tmp |= bcma_pmu_read32(cc, BCMA_CC_PMU_CTL);
-+      bcma_pmu_write32(cc, BCMA_CC_PMU_CTL, tmp);
- }
- EXPORT_SYMBOL_GPL(bcma_pmu_spuravoid_pllupdate);
---- a/drivers/bcma/driver_chipcommon_sflash.c
-+++ b/drivers/bcma/driver_chipcommon_sflash.c
-@@ -38,6 +38,7 @@ static const struct bcma_sflash_tbl_e bc
-       { "M25P32", 0x15, 0x10000, 64, },
-       { "M25P64", 0x16, 0x10000, 128, },
-       { "M25FL128", 0x17, 0x10000, 256, },
-+      { "MX25L25635F", 0x18, 0x10000, 512, },
-       { NULL },
- };
---- a/drivers/bcma/scan.c
-+++ b/drivers/bcma/scan.c
-@@ -98,6 +98,9 @@ static const struct bcma_device_id_name
-       { BCMA_CORE_SHIM, "SHIM" },
-       { BCMA_CORE_PCIE2, "PCIe Gen2" },
-       { BCMA_CORE_ARM_CR4, "ARM CR4" },
-+      { BCMA_CORE_GCI, "GCI" },
-+      { BCMA_CORE_CMEM, "CNDS DDR2/3 memory controller" },
-+      { BCMA_CORE_ARM_CA7, "ARM CA7" },
-       { BCMA_CORE_DEFAULT, "Default" },
- };
-@@ -315,6 +318,8 @@ static int bcma_get_next_core(struct bcm
-               switch (core->id.id) {
-               case BCMA_CORE_4706_MAC_GBIT_COMMON:
-               case BCMA_CORE_NS_CHIPCOMMON_B:
-+              case BCMA_CORE_PMU:
-+              case BCMA_CORE_GCI:
-               /* Not used yet: case BCMA_CORE_OOB_ROUTER: */
-                       break;
-               default:
---- a/drivers/net/wireless/b43/main.c
-+++ b/drivers/net/wireless/b43/main.c
-@@ -1215,10 +1215,10 @@ void b43_wireless_core_phy_pll_reset(str
-       case B43_BUS_BCMA:
-               bcma_cc = &dev->dev->bdev->bus->drv_cc;
--              bcma_cc_write32(bcma_cc, BCMA_CC_CHIPCTL_ADDR, 0);
--              bcma_cc_mask32(bcma_cc, BCMA_CC_CHIPCTL_DATA, ~0x4);
--              bcma_cc_set32(bcma_cc, BCMA_CC_CHIPCTL_DATA, 0x4);
--              bcma_cc_mask32(bcma_cc, BCMA_CC_CHIPCTL_DATA, ~0x4);
-+              bcma_cc_write32(bcma_cc, BCMA_CC_PMU_CHIPCTL_ADDR, 0);
-+              bcma_cc_mask32(bcma_cc, BCMA_CC_PMU_CHIPCTL_DATA, ~0x4);
-+              bcma_cc_set32(bcma_cc, BCMA_CC_PMU_CHIPCTL_DATA, 0x4);
-+              bcma_cc_mask32(bcma_cc, BCMA_CC_PMU_CHIPCTL_DATA, ~0x4);
-               break;
- #endif
- #ifdef CONFIG_B43_SSB
---- a/include/linux/bcma/bcma.h
-+++ b/include/linux/bcma/bcma.h
-@@ -151,6 +151,8 @@ struct bcma_host_ops {
- #define BCMA_CORE_PCIE2                       0x83C   /* PCI Express Gen2 */
- #define BCMA_CORE_USB30_DEV           0x83D
- #define BCMA_CORE_ARM_CR4             0x83E
-+#define BCMA_CORE_GCI                 0x840
-+#define BCMA_CORE_CMEM                        0x846   /* CNDS DDR2/3 memory controller */
- #define BCMA_CORE_ARM_CA7             0x847
- #define BCMA_CORE_SYS_MEM             0x849
- #define BCMA_CORE_DEFAULT             0xFFF
-@@ -200,6 +202,7 @@ struct bcma_host_ops {
- #define  BCMA_PKG_ID_BCM4707  1
- #define  BCMA_PKG_ID_BCM4708  2
- #define  BCMA_PKG_ID_BCM4709  0
-+#define BCMA_CHIP_ID_BCM47094 53030
- #define BCMA_CHIP_ID_BCM53018 53018
- /* Board types (on PCI usually equals to the subsystem dev id) */
---- a/include/linux/bcma/bcma_driver_chipcommon.h
-+++ b/include/linux/bcma/bcma_driver_chipcommon.h
-@@ -217,6 +217,11 @@
- #define        BCMA_CC_CLKDIV_JTAG_SHIFT      8
- #define        BCMA_CC_CLKDIV_UART            0x000000FF
- #define BCMA_CC_CAP_EXT                       0x00AC          /* Capabilities */
-+#define  BCMA_CC_CAP_EXT_SECI_PRESENT 0x00000001
-+#define  BCMA_CC_CAP_EXT_GSIO_PRESENT 0x00000002
-+#define  BCMA_CC_CAP_EXT_GCI_PRESENT  0x00000004
-+#define  BCMA_CC_CAP_EXT_SECI_PUART_PRESENT           0x00000008    /* UART present */
-+#define  BCMA_CC_CAP_EXT_AOB_PRESENT  0x00000040
- #define BCMA_CC_PLLONDELAY            0x00B0          /* Rev >= 4 only */
- #define BCMA_CC_FREFSELDELAY          0x00B4          /* Rev >= 4 only */
- #define BCMA_CC_SLOWCLKCTL            0x00B8          /* 6 <= Rev <= 9 only */
-@@ -351,12 +356,12 @@
- #define BCMA_CC_PMU_RES_REQTS         0x0640 /* PMU res req timer sel */
- #define BCMA_CC_PMU_RES_REQT          0x0644 /* PMU res req timer */
- #define BCMA_CC_PMU_RES_REQM          0x0648 /* PMU res req mask */
--#define BCMA_CC_CHIPCTL_ADDR          0x0650
--#define BCMA_CC_CHIPCTL_DATA          0x0654
--#define BCMA_CC_REGCTL_ADDR           0x0658
--#define BCMA_CC_REGCTL_DATA           0x065C
--#define BCMA_CC_PLLCTL_ADDR           0x0660
--#define BCMA_CC_PLLCTL_DATA           0x0664
-+#define BCMA_CC_PMU_CHIPCTL_ADDR      0x0650
-+#define BCMA_CC_PMU_CHIPCTL_DATA      0x0654
-+#define BCMA_CC_PMU_REGCTL_ADDR               0x0658
-+#define BCMA_CC_PMU_REGCTL_DATA               0x065C
-+#define BCMA_CC_PMU_PLLCTL_ADDR               0x0660
-+#define BCMA_CC_PMU_PLLCTL_DATA               0x0664
- #define BCMA_CC_PMU_STRAPOPT          0x0668 /* (corerev >= 28) */
- #define BCMA_CC_PMU_XTAL_FREQ         0x066C /* (pmurev >= 10) */
- #define  BCMA_CC_PMU_XTAL_FREQ_ILPCTL_MASK    0x00001FFF
-@@ -566,17 +571,16 @@
-  * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU)
-  */
- struct bcma_chipcommon_pmu {
-+      struct bcma_device *core;       /* Can be separated core or just ChipCommon one */
-       u8 rev;                 /* PMU revision */
-       u32 crystalfreq;        /* The active crystal frequency (in kHz) */
- };
--#ifdef CONFIG_BCMA_DRIVER_MIPS
-+#ifdef CONFIG_BCMA_PFLASH
- struct bcma_pflash {
-       bool present;
--      u8 buswidth;
--      u32 window;
--      u32 window_size;
- };
-+#endif
- #ifdef CONFIG_BCMA_SFLASH
- struct bcma_sflash {
-@@ -602,6 +606,7 @@ struct bcma_nflash {
- };
- #endif
-+#ifdef CONFIG_BCMA_DRIVER_MIPS
- struct bcma_serial_port {
-       void *regs;
-       unsigned long clockspeed;
-@@ -621,8 +626,9 @@ struct bcma_drv_cc {
-       /* Fast Powerup Delay constant */
-       u16 fast_pwrup_delay;
-       struct bcma_chipcommon_pmu pmu;
--#ifdef CONFIG_BCMA_DRIVER_MIPS
-+#ifdef CONFIG_BCMA_PFLASH
-       struct bcma_pflash pflash;
-+#endif
- #ifdef CONFIG_BCMA_SFLASH
-       struct bcma_sflash sflash;
- #endif
-@@ -630,6 +636,7 @@ struct bcma_drv_cc {
-       struct bcma_nflash nflash;
- #endif
-+#ifdef CONFIG_BCMA_DRIVER_MIPS
-       int nr_serial_ports;
-       struct bcma_serial_port serial_ports[4];
- #endif /* CONFIG_BCMA_DRIVER_MIPS */
-@@ -663,6 +670,19 @@ struct bcma_drv_cc_b {
- #define bcma_cc_maskset32(cc, offset, mask, set) \
-       bcma_cc_write32(cc, offset, (bcma_cc_read32(cc, offset) & (mask)) | (set))
-+/* PMU registers access */
-+#define bcma_pmu_read32(cc, offset) \
-+      bcma_read32((cc)->pmu.core, offset)
-+#define bcma_pmu_write32(cc, offset, val) \
-+      bcma_write32((cc)->pmu.core, offset, val)
-+
-+#define bcma_pmu_mask32(cc, offset, mask) \
-+      bcma_pmu_write32(cc, offset, bcma_pmu_read32(cc, offset) & (mask))
-+#define bcma_pmu_set32(cc, offset, set) \
-+      bcma_pmu_write32(cc, offset, bcma_pmu_read32(cc, offset) | (set))
-+#define bcma_pmu_maskset32(cc, offset, mask, set) \
-+      bcma_pmu_write32(cc, offset, (bcma_pmu_read32(cc, offset) & (mask)) | (set))
-+
- extern u32 bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc, u32 ticks);
- extern u32 bcma_chipco_get_alp_clock(struct bcma_drv_cc *cc);
---- a/drivers/bcma/bcma_private.h
-+++ b/drivers/bcma/bcma_private.h
-@@ -44,10 +44,6 @@ int bcma_sprom_get(struct bcma_bus *bus)
- void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc);
- void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
- void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);
--#ifdef CONFIG_BCMA_DRIVER_MIPS
--void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
--extern struct platform_device bcma_pflash_dev;
--#endif /* CONFIG_BCMA_DRIVER_MIPS */
- /* driver_chipcommon_b.c */
- int bcma_core_chipcommon_b_init(struct bcma_drv_cc_b *ccb);
-@@ -59,6 +55,21 @@ void bcma_pmu_init(struct bcma_drv_cc *c
- u32 bcma_pmu_get_alp_clock(struct bcma_drv_cc *cc);
- u32 bcma_pmu_get_cpu_clock(struct bcma_drv_cc *cc);
-+/**************************************************
-+ * driver_chipcommon_sflash.c
-+ **************************************************/
-+
-+#ifdef CONFIG_BCMA_PFLASH
-+extern struct platform_device bcma_pflash_dev;
-+int bcma_pflash_init(struct bcma_drv_cc *cc);
-+#else
-+static inline int bcma_pflash_init(struct bcma_drv_cc *cc)
-+{
-+      bcma_err(cc->core->bus, "Parallel flash not supported\n");
-+      return 0;
-+}
-+#endif /* CONFIG_BCMA_PFLASH */
-+
- #ifdef CONFIG_BCMA_SFLASH
- /* driver_chipcommon_sflash.c */
- int bcma_sflash_init(struct bcma_drv_cc *cc);
---- a/drivers/bcma/driver_gpio.c
-+++ b/drivers/bcma/driver_gpio.c
-@@ -229,6 +229,7 @@ int bcma_gpio_init(struct bcma_drv_cc *c
-       case BCMA_CHIP_ID_BCM4707:
-       case BCMA_CHIP_ID_BCM5357:
-       case BCMA_CHIP_ID_BCM53572:
-+      case BCMA_CHIP_ID_BCM47094:
-               chip->ngpio     = 32;
-               break;
-       default:
---- a/drivers/bcma/driver_mips.c
-+++ b/drivers/bcma/driver_mips.c
-@@ -14,8 +14,6 @@
- #include <linux/bcma/bcma.h>
--#include <linux/mtd/physmap.h>
--#include <linux/platform_device.h>
- #include <linux/serial.h>
- #include <linux/serial_core.h>
- #include <linux/serial_reg.h>
-@@ -32,26 +30,6 @@ enum bcma_boot_dev {
-       BCMA_BOOT_DEV_NAND,
- };
--static const char * const part_probes[] = { "bcm47xxpart", NULL };
--
--static struct physmap_flash_data bcma_pflash_data = {
--      .part_probe_types       = part_probes,
--};
--
--static struct resource bcma_pflash_resource = {
--      .name   = "bcma_pflash",
--      .flags  = IORESOURCE_MEM,
--};
--
--struct platform_device bcma_pflash_dev = {
--      .name           = "physmap-flash",
--      .dev            = {
--              .platform_data  = &bcma_pflash_data,
--      },
--      .resource       = &bcma_pflash_resource,
--      .num_resources  = 1,
--};
--
- /* The 47162a0 hangs when reading MIPS DMP registers registers */
- static inline bool bcma_core_mips_bcm47162a0_quirk(struct bcma_device *dev)
- {
-@@ -272,48 +250,11 @@ static enum bcma_boot_dev bcma_boot_dev(
-       return BCMA_BOOT_DEV_SERIAL;
- }
--static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
-+static void bcma_core_mips_nvram_init(struct bcma_drv_mips *mcore)
- {
-       struct bcma_bus *bus = mcore->core->bus;
--      struct bcma_drv_cc *cc = &bus->drv_cc;
--      struct bcma_pflash *pflash = &cc->pflash;
-       enum bcma_boot_dev boot_dev;
--      switch (cc->capabilities & BCMA_CC_CAP_FLASHT) {
--      case BCMA_CC_FLASHT_STSER:
--      case BCMA_CC_FLASHT_ATSER:
--              bcma_debug(bus, "Found serial flash\n");
--              bcma_sflash_init(cc);
--              break;
--      case BCMA_CC_FLASHT_PARA:
--              bcma_debug(bus, "Found parallel flash\n");
--              pflash->present = true;
--              pflash->window = BCMA_SOC_FLASH2;
--              pflash->window_size = BCMA_SOC_FLASH2_SZ;
--
--              if ((bcma_read32(cc->core, BCMA_CC_FLASH_CFG) &
--                   BCMA_CC_FLASH_CFG_DS) == 0)
--                      pflash->buswidth = 1;
--              else
--                      pflash->buswidth = 2;
--
--              bcma_pflash_data.width = pflash->buswidth;
--              bcma_pflash_resource.start = pflash->window;
--              bcma_pflash_resource.end = pflash->window + pflash->window_size;
--
--              break;
--      default:
--              bcma_err(bus, "Flash type not supported\n");
--      }
--
--      if (cc->core->id.rev == 38 ||
--          bus->chipinfo.id == BCMA_CHIP_ID_BCM4706) {
--              if (cc->capabilities & BCMA_CC_CAP_NFLASH) {
--                      bcma_debug(bus, "Found NAND flash\n");
--                      bcma_nflash_init(cc);
--              }
--      }
--
-       /* Determine flash type this SoC boots from */
-       boot_dev = bcma_boot_dev(bus);
-       switch (boot_dev) {
-@@ -337,13 +278,10 @@ static void bcma_core_mips_flash_detect(
- void bcma_core_mips_early_init(struct bcma_drv_mips *mcore)
- {
--      struct bcma_bus *bus = mcore->core->bus;
--
-       if (mcore->early_setup_done)
-               return;
--      bcma_chipco_serial_init(&bus->drv_cc);
--      bcma_core_mips_flash_detect(mcore);
-+      bcma_core_mips_nvram_init(mcore);
-       mcore->early_setup_done = true;
- }
---- a/drivers/bcma/host_pci.c
-+++ b/drivers/bcma/host_pci.c
-@@ -294,7 +294,7 @@ static const struct pci_device_id bcma_p
-       { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4358) },
-       { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4359) },
-       { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4360) },
--      { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4365) },
-+      { PCI_DEVICE_SUB(PCI_VENDOR_ID_BROADCOM, 0x4365, PCI_VENDOR_ID_DELL, 0x0016) },
-       { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43a0) },
-       { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43a9) },
-       { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43aa) },
---- a/drivers/bcma/Kconfig
-+++ b/drivers/bcma/Kconfig
-@@ -70,6 +70,11 @@ config BCMA_DRIVER_MIPS
-         If unsure, say N
-+config BCMA_PFLASH
-+      bool
-+      depends on BCMA_DRIVER_MIPS
-+      default y
-+
- config BCMA_SFLASH
-       bool
-       depends on BCMA_DRIVER_MIPS
---- a/drivers/bcma/Makefile
-+++ b/drivers/bcma/Makefile
-@@ -1,6 +1,7 @@
- bcma-y                                        += main.o scan.o core.o sprom.o
- bcma-y                                        += driver_chipcommon.o driver_chipcommon_pmu.o
- bcma-y                                        += driver_chipcommon_b.o
-+bcma-$(CONFIG_BCMA_PFLASH)            += driver_chipcommon_pflash.o
- bcma-$(CONFIG_BCMA_SFLASH)            += driver_chipcommon_sflash.o
- bcma-$(CONFIG_BCMA_NFLASH)            += driver_chipcommon_nflash.o
- bcma-$(CONFIG_BCMA_DRIVER_PCI)                += driver_pci.o
---- /dev/null
-+++ b/drivers/bcma/driver_chipcommon_pflash.c
-@@ -0,0 +1,49 @@
-+/*
-+ * Broadcom specific AMBA
-+ * ChipCommon parallel flash
-+ *
-+ * Licensed under the GNU/GPL. See COPYING for details.
-+ */
-+
-+#include "bcma_private.h"
-+
-+#include <linux/bcma/bcma.h>
-+#include <linux/mtd/physmap.h>
-+#include <linux/platform_device.h>
-+
-+static const char * const part_probes[] = { "bcm47xxpart", NULL };
-+
-+static struct physmap_flash_data bcma_pflash_data = {
-+      .part_probe_types       = part_probes,
-+};
-+
-+static struct resource bcma_pflash_resource = {
-+      .name   = "bcma_pflash",
-+      .flags  = IORESOURCE_MEM,
-+};
-+
-+struct platform_device bcma_pflash_dev = {
-+      .name           = "physmap-flash",
-+      .dev            = {
-+              .platform_data  = &bcma_pflash_data,
-+      },
-+      .resource       = &bcma_pflash_resource,
-+      .num_resources  = 1,
-+};
-+
-+int bcma_pflash_init(struct bcma_drv_cc *cc)
-+{
-+      struct bcma_pflash *pflash = &cc->pflash;
-+
-+      pflash->present = true;
-+
-+      if (!(bcma_read32(cc->core, BCMA_CC_FLASH_CFG) & BCMA_CC_FLASH_CFG_DS))
-+              bcma_pflash_data.width = 1;
-+      else
-+              bcma_pflash_data.width = 2;
-+
-+      bcma_pflash_resource.start = BCMA_SOC_FLASH2;
-+      bcma_pflash_resource.end = BCMA_SOC_FLASH2 + BCMA_SOC_FLASH2_SZ;
-+
-+      return 0;
-+}
---- a/drivers/bcma/main.c
-+++ b/drivers/bcma/main.c
-@@ -325,7 +325,7 @@ static int bcma_register_devices(struct
-               bcma_register_core(bus, core);
-       }
--#ifdef CONFIG_BCMA_DRIVER_MIPS
-+#ifdef CONFIG_BCMA_PFLASH
-       if (bus->drv_cc.pflash.present) {
-               err = platform_device_register(&bcma_pflash_dev);
-               if (err)
diff --git a/target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch b/target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch
deleted file mode 100644 (file)
index c20f05e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/include/linux/bcm47xx_nvram.h
-+++ b/include/linux/bcm47xx_nvram.h
-@@ -10,11 +10,17 @@
- #include <linux/types.h>
- #include <linux/kernel.h>
-+#include <linux/vmalloc.h>
--#ifdef CONFIG_BCM47XX
-+#ifdef CONFIG_BCM47XX_NVRAM
- int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
- int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
- int bcm47xx_nvram_gpio_pin(const char *name);
-+char *bcm47xx_nvram_get_contents(size_t *val_len);
-+static inline void bcm47xx_nvram_release_contents(char *nvram)
-+{
-+      vfree(nvram);
-+};
- #else
- static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
- {
-@@ -29,6 +35,15 @@ static inline int bcm47xx_nvram_gpio_pin
- {
-       return -ENOTSUPP;
- };
-+
-+static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
-+{
-+      return NULL;
-+};
-+
-+static inline void bcm47xx_nvram_release_contents(char *nvram)
-+{
-+};
- #endif
- #endif /* __BCM47XX_NVRAM_H */
diff --git a/target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch b/target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch
deleted file mode 100644 (file)
index 6474da6..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-From 1c8a47df36d72ace8cf78eb6c228aa0f8027d3c2 Mon Sep 17 00:00:00 2001
-From: Miklos Szeredi <miklos@szeredi.hu>
-Date: Mon, 12 Oct 2015 15:56:20 +0200
-Subject: ovl: fix open in stacked overlay
-
-If two overlayfs filesystems are stacked on top of each other, then we need
-recursion in ovl_d_select_inode().
-
-I guess d_backing_inode() is supposed to do that.  But currently it doesn't
-and that functionality is open coded in vfs_open().  This is now copied
-into ovl_d_select_inode() to fix this regression.
-
-Reported-by: Alban Crequy <alban.crequy@gmail.com>
-Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
-Fixes: 4bacc9c9234c ("overlayfs: Make f_path always point to the overlay...")
-Cc: David Howells <dhowells@redhat.com>
-Cc: <stable@vger.kernel.org> # v4.2+
----
- fs/overlayfs/inode.c | 3 +++
- 1 file changed, 3 insertions(+)
-
---- a/fs/overlayfs/inode.c
-+++ b/fs/overlayfs/inode.c
-@@ -383,6 +383,9 @@ struct inode *ovl_d_select_inode(struct
-               ovl_path_upper(dentry, &realpath);
-       }
-+      if (realpath.dentry->d_flags & DCACHE_OP_SELECT_INODE)
-+              return realpath.dentry->d_op->d_select_inode(realpath.dentry, file_flags);
-+
-       return d_backing_inode(realpath.dentry);
- }
diff --git a/target/linux/generic/patches-4.1/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch b/target/linux/generic/patches-4.1/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch
deleted file mode 100644 (file)
index 0b02fff..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1ae92642e5900316011736072b4fa91710840620 Mon Sep 17 00:00:00 2001
-From: Daniel Golle <daniel@makrotopia.org>
-Date: Sat, 18 Jun 2016 17:53:45 +0200
-Subject: [PATCH] ubifs: Silence error output if MS_SILENT is set
-
-This change completes commit
-90bea5a3f0 ("UBIFS: respect MS_SILENT mount flag")
-which already implements support for MS_SILENT except for that one
-error message which is still being displayed despite MS_SILENT being
-set. Suppress that error message as well in case MS_SILENT is set.
-
-Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-[rw: massaged commit message]
-Signed-off-by: Richard Weinberger <richard@nod.at>
----
- fs/ubifs/super.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
---- a/fs/ubifs/super.c
-+++ b/fs/ubifs/super.c
-@@ -2104,8 +2104,9 @@ static struct dentry *ubifs_mount(struct
-        */
-       ubi = open_ubi(name, UBI_READONLY);
-       if (IS_ERR(ubi)) {
--              pr_err("UBIFS error (pid: %d): cannot open \"%s\", error %d",
--                     current->pid, name, (int)PTR_ERR(ubi));
-+              if (!(flags & MS_SILENT))
-+                      pr_err("UBIFS error (pid: %d): cannot open \"%s\", error %d",
-+                             current->pid, name, (int)PTR_ERR(ubi));
-               return ERR_CAST(ubi);
-       }
diff --git a/target/linux/generic/patches-4.1/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch b/target/linux/generic/patches-4.1/047-ubifs-silence-early-error-if-MS_SILENT-is-set.patch
deleted file mode 100644 (file)
index cbcacd4..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From dccbc9197d2c3614f2fd6811874e1d982e4415f0 Mon Sep 17 00:00:00 2001
-From: Daniel Golle <daniel@makrotopia.org>
-Date: Tue, 19 Jul 2016 00:26:55 +0200
-Subject: [PATCH] ubifs: Silence early error messages if MS_SILENT is set
-
-Probe-mounting a volume too small for UBIFS results in kernel log
-polution which might irritate users.
-Address this by silencing errors which may happen during boot if the
-rootfs is e.g. squashfs (and thus rather small) stored on a UBI volume.
-
-Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-Signed-off-by: Richard Weinberger <richard@nod.at>
----
- fs/ubifs/super.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
---- a/fs/ubifs/super.c
-+++ b/fs/ubifs/super.c
-@@ -516,19 +516,19 @@ static int init_constants_early(struct u
-       c->max_write_shift = fls(c->max_write_size) - 1;
-       if (c->leb_size < UBIFS_MIN_LEB_SZ) {
--              ubifs_err(c, "too small LEBs (%d bytes), min. is %d bytes",
--                        c->leb_size, UBIFS_MIN_LEB_SZ);
-+              ubifs_errc(c, "too small LEBs (%d bytes), min. is %d bytes",
-+                         c->leb_size, UBIFS_MIN_LEB_SZ);
-               return -EINVAL;
-       }
-       if (c->leb_cnt < UBIFS_MIN_LEB_CNT) {
--              ubifs_err(c, "too few LEBs (%d), min. is %d",
--                        c->leb_cnt, UBIFS_MIN_LEB_CNT);
-+              ubifs_errc(c, "too few LEBs (%d), min. is %d",
-+                         c->leb_cnt, UBIFS_MIN_LEB_CNT);
-               return -EINVAL;
-       }
-       if (!is_power_of_2(c->min_io_size)) {
--              ubifs_err(c, "bad min. I/O size %d", c->min_io_size);
-+              ubifs_errc(c, "bad min. I/O size %d", c->min_io_size);
-               return -EINVAL;
-       }
-@@ -539,8 +539,8 @@ static int init_constants_early(struct u
-       if (c->max_write_size < c->min_io_size ||
-           c->max_write_size % c->min_io_size ||
-           !is_power_of_2(c->max_write_size)) {
--              ubifs_err(c, "bad write buffer size %d for %d min. I/O unit",
--                        c->max_write_size, c->min_io_size);
-+              ubifs_errc(c, "bad write buffer size %d for %d min. I/O unit",
-+                         c->max_write_size, c->min_io_size);
-               return -EINVAL;
-       }
diff --git a/target/linux/generic/patches-4.1/050-backport_netfilter_rtcache.patch b/target/linux/generic/patches-4.1/050-backport_netfilter_rtcache.patch
deleted file mode 100644 (file)
index 9a6d837..0000000
+++ /dev/null
@@ -1,505 +0,0 @@
-Subject: netfilter: conntrack: cache route for forwarded connections
-
-... to avoid per-packet FIB lookup if possible.
-
-The cached dst is re-used provided the input interface
-is the same as that of the previous packet in the same direction.
-
-If not, the cached dst is invalidated.
-
-For ipv6 we also need to store sernum, else dst_check doesn't work,
-pointed out by Eric Dumazet.
-
-This should speed up forwarding when conntrack is already in use
-anyway, especially when using reverse path filtering -- active RPF
-enforces two FIB lookups for each packet.
-
-Before the routing cache removal this didn't matter since RPF was performed
-only when route cache didn't yield a result; but without route cache it
-comes at higher price.
-
-Julian Anastasov suggested to add NETDEV_UNREGISTER handler to
-avoid holding on to dsts of 'frozen' conntracks.
-
-Signed-off-by: Florian Westphal <fw@strlen.de>
-
---- a/include/net/netfilter/nf_conntrack_extend.h
-+++ b/include/net/netfilter/nf_conntrack_extend.h
-@@ -30,6 +30,9 @@ enum nf_ct_ext_id {
- #if IS_ENABLED(CONFIG_NETFILTER_SYNPROXY)
-       NF_CT_EXT_SYNPROXY,
- #endif
-+#if IS_ENABLED(CONFIG_NF_CONNTRACK_RTCACHE)
-+      NF_CT_EXT_RTCACHE,
-+#endif
-       NF_CT_EXT_NUM,
- };
-@@ -43,6 +46,7 @@ enum nf_ct_ext_id {
- #define NF_CT_EXT_TIMEOUT_TYPE struct nf_conn_timeout
- #define NF_CT_EXT_LABELS_TYPE struct nf_conn_labels
- #define NF_CT_EXT_SYNPROXY_TYPE struct nf_conn_synproxy
-+#define NF_CT_EXT_RTCACHE_TYPE struct nf_conn_rtcache
- /* Extensions: optional stuff which isn't permanently in struct. */
- struct nf_ct_ext {
---- /dev/null
-+++ b/include/net/netfilter/nf_conntrack_rtcache.h
-@@ -0,0 +1,34 @@
-+#include <linux/gfp.h>
-+#include <net/netfilter/nf_conntrack.h>
-+#include <net/netfilter/nf_conntrack_extend.h>
-+
-+struct dst_entry;
-+
-+struct nf_conn_dst_cache {
-+      struct dst_entry *dst;
-+      int iif;
-+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6)
-+      u32 cookie;
-+#endif
-+
-+};
-+
-+struct nf_conn_rtcache {
-+      struct nf_conn_dst_cache cached_dst[IP_CT_DIR_MAX];
-+};
-+
-+static inline
-+struct nf_conn_rtcache *nf_ct_rtcache_find(const struct nf_conn *ct)
-+{
-+#if IS_ENABLED(CONFIG_NF_CONNTRACK_RTCACHE)
-+      return nf_ct_ext_find(ct, NF_CT_EXT_RTCACHE);
-+#else
-+      return NULL;
-+#endif
-+}
-+
-+static inline int nf_conn_rtcache_iif_get(const struct nf_conn_rtcache *rtc,
-+                                        enum ip_conntrack_dir dir)
-+{
-+      return rtc->cached_dst[dir].iif;
-+}
---- a/net/netfilter/Kconfig
-+++ b/net/netfilter/Kconfig
-@@ -106,6 +106,18 @@ config NF_CONNTRACK_EVENTS
-         If unsure, say `N'.
-+config NF_CONNTRACK_RTCACHE
-+      tristate "Cache route entries in conntrack objects"
-+      depends on NETFILTER_ADVANCED
-+      depends on NF_CONNTRACK
-+      help
-+        If this option is enabled, the connection tracking code will
-+        cache routing information for each connection that is being
-+        forwarded, at a cost of 32 bytes per conntrack object.
-+
-+        To compile it as a module, choose M here.  If unsure, say N.
-+        The module will be called nf_conntrack_rtcache.
-+
- config NF_CONNTRACK_TIMEOUT
-       bool  'Connection tracking timeout'
-       depends on NETFILTER_ADVANCED
---- a/net/netfilter/Makefile
-+++ b/net/netfilter/Makefile
-@@ -18,6 +18,9 @@ obj-$(CONFIG_NETFILTER_NETLINK_LOG) += n
- # connection tracking
- obj-$(CONFIG_NF_CONNTRACK) += nf_conntrack.o
-+# optional conntrack route cache extension
-+obj-$(CONFIG_NF_CONNTRACK_RTCACHE) += nf_conntrack_rtcache.o
-+
- # 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
---- /dev/null
-+++ b/net/netfilter/nf_conntrack_rtcache.c
-@@ -0,0 +1,387 @@
-+/* route cache for netfilter.
-+ *
-+ * (C) 2014 Red Hat GmbH
-+ *
-+ * 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.
-+ */
-+
-+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-+
-+#include <linux/types.h>
-+#include <linux/netfilter.h>
-+#include <linux/skbuff.h>
-+#include <linux/stddef.h>
-+#include <linux/kernel.h>
-+#include <linux/netdevice.h>
-+#include <linux/export.h>
-+#include <linux/module.h>
-+
-+#include <net/dst.h>
-+
-+#include <net/netfilter/nf_conntrack.h>
-+#include <net/netfilter/nf_conntrack_core.h>
-+#include <net/netfilter/nf_conntrack_extend.h>
-+#include <net/netfilter/nf_conntrack_rtcache.h>
-+
-+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6)
-+#include <net/ip6_fib.h>
-+#endif
-+
-+static void __nf_conn_rtcache_destroy(struct nf_conn_rtcache *rtc,
-+                                    enum ip_conntrack_dir dir)
-+{
-+      struct dst_entry *dst = rtc->cached_dst[dir].dst;
-+
-+      dst_release(dst);
-+}
-+
-+static void nf_conn_rtcache_destroy(struct nf_conn *ct)
-+{
-+      struct nf_conn_rtcache *rtc = nf_ct_rtcache_find(ct);
-+
-+      if (!rtc)
-+              return;
-+
-+      __nf_conn_rtcache_destroy(rtc, IP_CT_DIR_ORIGINAL);
-+      __nf_conn_rtcache_destroy(rtc, IP_CT_DIR_REPLY);
-+}
-+
-+static void nf_ct_rtcache_ext_add(struct nf_conn *ct)
-+{
-+      struct nf_conn_rtcache *rtc;
-+
-+      rtc = nf_ct_ext_add(ct, NF_CT_EXT_RTCACHE, GFP_ATOMIC);
-+      if (rtc) {
-+              rtc->cached_dst[IP_CT_DIR_ORIGINAL].iif = -1;
-+              rtc->cached_dst[IP_CT_DIR_ORIGINAL].dst = NULL;
-+              rtc->cached_dst[IP_CT_DIR_REPLY].iif = -1;
-+              rtc->cached_dst[IP_CT_DIR_REPLY].dst = NULL;
-+      }
-+}
-+
-+static struct nf_conn_rtcache *nf_ct_rtcache_find_usable(struct nf_conn *ct)
-+{
-+      if (nf_ct_is_untracked(ct))
-+              return NULL;
-+      return nf_ct_rtcache_find(ct);
-+}
-+
-+static struct dst_entry *
-+nf_conn_rtcache_dst_get(const struct nf_conn_rtcache *rtc,
-+                      enum ip_conntrack_dir dir)
-+{
-+      return rtc->cached_dst[dir].dst;
-+}
-+
-+static u32 nf_rtcache_get_cookie(int pf, const struct dst_entry *dst)
-+{
-+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6)
-+      if (pf == NFPROTO_IPV6) {
-+              const struct rt6_info *rt = (const struct rt6_info *)dst;
-+
-+              if (rt->rt6i_node)
-+                      return (u32)rt->rt6i_node->fn_sernum;
-+      }
-+#endif
-+      return 0;
-+}
-+
-+static void nf_conn_rtcache_dst_set(int pf,
-+                                  struct nf_conn_rtcache *rtc,
-+                                  struct dst_entry *dst,
-+                                  enum ip_conntrack_dir dir, int iif)
-+{
-+      if (rtc->cached_dst[dir].iif != iif)
-+              rtc->cached_dst[dir].iif = iif;
-+
-+      if (rtc->cached_dst[dir].dst != dst) {
-+              struct dst_entry *old;
-+
-+              dst_hold(dst);
-+
-+              old = xchg(&rtc->cached_dst[dir].dst, dst);
-+              dst_release(old);
-+
-+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6)
-+              if (pf == NFPROTO_IPV6)
-+                      rtc->cached_dst[dir].cookie =
-+                              nf_rtcache_get_cookie(pf, dst);
-+#endif
-+      }
-+}
-+
-+static void nf_conn_rtcache_dst_obsolete(struct nf_conn_rtcache *rtc,
-+                                       enum ip_conntrack_dir dir)
-+{
-+      struct dst_entry *old;
-+
-+      pr_debug("Invalidate iif %d for dir %d on cache %p\n",
-+               rtc->cached_dst[dir].iif, dir, rtc);
-+
-+      old = xchg(&rtc->cached_dst[dir].dst, NULL);
-+      dst_release(old);
-+      rtc->cached_dst[dir].iif = -1;
-+}
-+
-+static unsigned int nf_rtcache_in(const struct nf_hook_ops *ops,
-+                                struct sk_buff *skb,
-+                                const struct nf_hook_state *state)
-+{
-+      struct nf_conn_rtcache *rtc;
-+      enum ip_conntrack_info ctinfo;
-+      enum ip_conntrack_dir dir;
-+      struct dst_entry *dst;
-+      struct nf_conn *ct;
-+      int iif;
-+      u32 cookie;
-+
-+      if (skb_dst(skb) || skb->sk)
-+              return NF_ACCEPT;
-+
-+      ct = nf_ct_get(skb, &ctinfo);
-+      if (!ct)
-+              return NF_ACCEPT;
-+
-+      rtc = nf_ct_rtcache_find_usable(ct);
-+      if (!rtc)
-+              return NF_ACCEPT;
-+
-+      /* if iif changes, don't use cache and let ip stack
-+       * do route lookup.
-+       *
-+       * If rp_filter is enabled it might toss skb, so
-+       * we don't want to avoid these checks.
-+       */
-+      dir = CTINFO2DIR(ctinfo);
-+      iif = nf_conn_rtcache_iif_get(rtc, dir);
-+      if (state->in->ifindex != iif) {
-+              pr_debug("ct %p, iif %d, cached iif %d, skip cached entry\n",
-+                       ct, iif, state->in->ifindex);
-+              return NF_ACCEPT;
-+      }
-+      dst = nf_conn_rtcache_dst_get(rtc, dir);
-+      if (dst == NULL)
-+              return NF_ACCEPT;
-+
-+      cookie = nf_rtcache_get_cookie(ops->pf, dst);
-+
-+      dst = dst_check(dst, cookie);
-+      pr_debug("obtained dst %p for skb %p, cookie %d\n", dst, skb, cookie);
-+      if (likely(dst))
-+              skb_dst_set_noref(skb, dst);
-+      else
-+              nf_conn_rtcache_dst_obsolete(rtc, dir);
-+
-+      return NF_ACCEPT;
-+}
-+
-+static unsigned int nf_rtcache_forward(const struct nf_hook_ops *ops,
-+                                     struct sk_buff *skb,
-+                                     const struct nf_hook_state *state)
-+{
-+      struct nf_conn_rtcache *rtc;
-+      enum ip_conntrack_info ctinfo;
-+      enum ip_conntrack_dir dir;
-+      struct nf_conn *ct;
-+      struct dst_entry *dst = skb_dst(skb);
-+      int iif;
-+
-+      ct = nf_ct_get(skb, &ctinfo);
-+      if (!ct)
-+              return NF_ACCEPT;
-+
-+      if (dst && dst_xfrm(dst))
-+              return NF_ACCEPT;
-+
-+      if (!nf_ct_is_confirmed(ct)) {
-+              if (WARN_ON(nf_ct_rtcache_find(ct)))
-+                      return NF_ACCEPT;
-+              nf_ct_rtcache_ext_add(ct);
-+              return NF_ACCEPT;
-+      }
-+
-+      rtc = nf_ct_rtcache_find_usable(ct);
-+      if (!rtc)
-+              return NF_ACCEPT;
-+
-+      dir = CTINFO2DIR(ctinfo);
-+      iif = nf_conn_rtcache_iif_get(rtc, dir);
-+      pr_debug("ct %p, skb %p, dir %d, iif %d, cached iif %d\n",
-+               ct, skb, dir, iif, state->in->ifindex);
-+      if (likely(state->in->ifindex == iif))
-+              return NF_ACCEPT;
-+
-+      nf_conn_rtcache_dst_set(ops->pf, rtc, skb_dst(skb), dir, state->in->ifindex);
-+      return NF_ACCEPT;
-+}
-+
-+static int nf_rtcache_dst_remove(struct nf_conn *ct, void *data)
-+{
-+      struct nf_conn_rtcache *rtc = nf_ct_rtcache_find(ct);
-+      struct net_device *dev = data;
-+
-+      if (!rtc)
-+              return 0;
-+
-+      if (dev->ifindex == rtc->cached_dst[IP_CT_DIR_ORIGINAL].iif ||
-+          dev->ifindex == rtc->cached_dst[IP_CT_DIR_REPLY].iif) {
-+              nf_conn_rtcache_dst_obsolete(rtc, IP_CT_DIR_ORIGINAL);
-+              nf_conn_rtcache_dst_obsolete(rtc, IP_CT_DIR_REPLY);
-+      }
-+
-+      return 0;
-+}
-+
-+static int nf_rtcache_netdev_event(struct notifier_block *this,
-+                                 unsigned long event, void *ptr)
-+{
-+      struct net_device *dev = netdev_notifier_info_to_dev(ptr);
-+      struct net *net = dev_net(dev);
-+
-+      if (event == NETDEV_DOWN)
-+              nf_ct_iterate_cleanup(net, nf_rtcache_dst_remove, dev, 0, 0);
-+
-+      return NOTIFY_DONE;
-+}
-+
-+static struct notifier_block nf_rtcache_notifier = {
-+      .notifier_call = nf_rtcache_netdev_event,
-+};
-+
-+static struct nf_hook_ops rtcache_ops[] = {
-+      {
-+              .hook           = nf_rtcache_in,
-+              .owner          = THIS_MODULE,
-+              .pf             = NFPROTO_IPV4,
-+              .hooknum        = NF_INET_PRE_ROUTING,
-+              .priority       = NF_IP_PRI_LAST,
-+      },
-+      {
-+              .hook           = nf_rtcache_forward,
-+              .owner          = THIS_MODULE,
-+              .pf             = NFPROTO_IPV4,
-+              .hooknum        = NF_INET_FORWARD,
-+              .priority       = NF_IP_PRI_LAST,
-+      },
-+#if IS_ENABLED(CONFIG_NF_CONNTRACK_IPV6)
-+      {
-+              .hook           = nf_rtcache_in,
-+              .owner          = THIS_MODULE,
-+              .pf             = NFPROTO_IPV6,
-+              .hooknum        = NF_INET_PRE_ROUTING,
-+              .priority       = NF_IP_PRI_LAST,
-+      },
-+      {
-+              .hook           = nf_rtcache_forward,
-+              .owner          = THIS_MODULE,
-+              .pf             = NFPROTO_IPV6,
-+              .hooknum        = NF_INET_FORWARD,
-+              .priority       = NF_IP_PRI_LAST,
-+      },
-+#endif
-+};
-+
-+static struct nf_ct_ext_type rtcache_extend __read_mostly = {
-+      .len    = sizeof(struct nf_conn_rtcache),
-+      .align  = __alignof__(struct nf_conn_rtcache),
-+      .id     = NF_CT_EXT_RTCACHE,
-+      .destroy = nf_conn_rtcache_destroy,
-+};
-+
-+static int __init nf_conntrack_rtcache_init(void)
-+{
-+      int ret = nf_ct_extend_register(&rtcache_extend);
-+
-+      if (ret < 0) {
-+              pr_err("nf_conntrack_rtcache: Unable to register extension\n");
-+              return ret;
-+      }
-+
-+      ret = nf_register_hooks(rtcache_ops, ARRAY_SIZE(rtcache_ops));
-+      if (ret < 0) {
-+              nf_ct_extend_unregister(&rtcache_extend);
-+              return ret;
-+      }
-+
-+      ret = register_netdevice_notifier(&nf_rtcache_notifier);
-+      if (ret) {
-+              nf_unregister_hooks(rtcache_ops, ARRAY_SIZE(rtcache_ops));
-+              nf_ct_extend_unregister(&rtcache_extend);
-+      }
-+
-+      return ret;
-+}
-+
-+static int nf_rtcache_ext_remove(struct nf_conn *ct, void *data)
-+{
-+      struct nf_conn_rtcache *rtc = nf_ct_rtcache_find(ct);
-+
-+      return rtc != NULL;
-+}
-+
-+static bool __exit nf_conntrack_rtcache_wait_for_dying(struct net *net)
-+{
-+      bool wait = false;
-+      int cpu;
-+
-+      for_each_possible_cpu(cpu) {
-+              struct nf_conntrack_tuple_hash *h;
-+              struct hlist_nulls_node *n;
-+              struct nf_conn *ct;
-+              struct ct_pcpu *pcpu = per_cpu_ptr(net->ct.pcpu_lists, cpu);
-+
-+              rcu_read_lock();
-+              spin_lock_bh(&pcpu->lock);
-+
-+              hlist_nulls_for_each_entry(h, n, &pcpu->dying, hnnode) {
-+                      ct = nf_ct_tuplehash_to_ctrack(h);
-+                      if (nf_ct_rtcache_find(ct) != NULL) {
-+                              wait = true;
-+                              break;
-+                      }
-+              }
-+              spin_unlock_bh(&pcpu->lock);
-+              rcu_read_unlock();
-+      }
-+
-+      return wait;
-+}
-+
-+static void __exit nf_conntrack_rtcache_fini(void)
-+{
-+      struct net *net;
-+      int count = 0;
-+
-+      /* remove hooks so no new connections get rtcache extension */
-+      nf_unregister_hooks(rtcache_ops, ARRAY_SIZE(rtcache_ops));
-+
-+      synchronize_net();
-+
-+      unregister_netdevice_notifier(&nf_rtcache_notifier);
-+
-+      rtnl_lock();
-+
-+      /* zap all conntracks with rtcache extension */
-+      for_each_net(net)
-+              nf_ct_iterate_cleanup(net, nf_rtcache_ext_remove, NULL, 0, 0);
-+
-+      for_each_net(net) {
-+              /* .. and make sure they're gone from dying list, too */
-+              while (nf_conntrack_rtcache_wait_for_dying(net)) {
-+                      msleep(200);
-+                      WARN_ONCE(++count > 25, "Waiting for all rtcache conntracks to go away\n");
-+              }
-+      }
-+
-+      rtnl_unlock();
-+      synchronize_net();
-+      nf_ct_extend_unregister(&rtcache_extend);
-+}
-+module_init(nf_conntrack_rtcache_init);
-+module_exit(nf_conntrack_rtcache_fini);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Florian Westphal <fw@strlen.de>");
-+MODULE_DESCRIPTION("Conntrack route cache extension");
diff --git a/target/linux/generic/patches-4.1/060-mips_decompressor_memmove.patch b/target/linux/generic/patches-4.1/060-mips_decompressor_memmove.patch
deleted file mode 100644 (file)
index d215b80..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/arch/mips/boot/compressed/string.c
-+++ b/arch/mips/boot/compressed/string.c
-@@ -26,3 +26,19 @@ void *memset(void *s, int c, size_t n)
-               ss[i] = c;
-       return s;
- }
-+
-+void *memmove(void *__dest, __const void *__src, size_t count)
-+{
-+      unsigned char *d = __dest;
-+      const unsigned char *s = __src;
-+
-+      if (__dest == __src)
-+              return __dest;
-+
-+      if (__dest < __src)
-+              return memcpy(__dest, __src, count);
-+
-+      while (count--)
-+              d[count] = s[count];
-+      return __dest;
-+}
diff --git a/target/linux/generic/patches-4.1/072-13-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch b/target/linux/generic/patches-4.1/072-13-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
deleted file mode 100644 (file)
index 512df94..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Mon, 13 Apr 2015 15:54:04 +0200
-Subject: [PATCH] bgmac: fix MAC soft-reset bit for corerev > 4
-
-Only core revisions older than 4 use BGMAC_CMDCFG_SR_REV0
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/drivers/net/ethernet/broadcom/bgmac.h
-+++ b/drivers/net/ethernet/broadcom/bgmac.h
-@@ -198,9 +198,9 @@
- #define  BGMAC_CMDCFG_TAI                     0x00000200
- #define  BGMAC_CMDCFG_HD                      0x00000400      /* Set if in half duplex mode */
- #define  BGMAC_CMDCFG_HD_SHIFT                        10
--#define  BGMAC_CMDCFG_SR_REV0                 0x00000800      /* Set to reset mode, for other revs */
--#define  BGMAC_CMDCFG_SR_REV4                 0x00002000      /* Set to reset mode, only for core rev 4 */
--#define  BGMAC_CMDCFG_SR(rev)  ((rev == 4) ? BGMAC_CMDCFG_SR_REV4 : BGMAC_CMDCFG_SR_REV0)
-+#define  BGMAC_CMDCFG_SR_REV0                 0x00000800      /* Set to reset mode, for core rev 0-3 */
-+#define  BGMAC_CMDCFG_SR_REV4                 0x00002000      /* Set to reset mode, for core rev >= 4 */
-+#define  BGMAC_CMDCFG_SR(rev)  ((rev >= 4) ? BGMAC_CMDCFG_SR_REV4 : BGMAC_CMDCFG_SR_REV0)
- #define  BGMAC_CMDCFG_ML                      0x00008000      /* Set to activate mac loopback mode */
- #define  BGMAC_CMDCFG_AE                      0x00400000
- #define  BGMAC_CMDCFG_CFE                     0x00800000
diff --git a/target/linux/generic/patches-4.1/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch b/target/linux/generic/patches-4.1/072-14-bgmac-reset-all-4-GMAC-cores-on-init.patch
deleted file mode 100644 (file)
index ddba71d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Mon, 13 Apr 2015 15:56:26 +0200
-Subject: [PATCH] bgmac: reset all 4 GMAC cores on init
-
-On a BCM4709 based device, I found that GMAC cores may be enabled at
-probe time, but only become usable after a full reset.
-Disable cores before re-enabling them to ensure that they are properly
-reset.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1623,8 +1623,11 @@ static int bgmac_probe(struct bcma_devic
-                       ns_core = bcma_find_core_unit(core->bus,
-                                                     BCMA_CORE_MAC_GBIT,
-                                                     ns_gmac);
--                      if (ns_core && !bcma_core_is_enabled(ns_core))
--                              bcma_core_enable(ns_core, 0);
-+                      if (!ns_core)
-+                              continue;
-+
-+                      bcma_core_disable(ns_core, 0);
-+                      bcma_core_enable(ns_core, 0);
-               }
-       }
diff --git a/target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch b/target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch
deleted file mode 100644 (file)
index 629731c..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-From: Florian Westphal <fw@strlen.de>
-Date: Thu, 17 Sep 2015 11:24:48 +0100
-Subject: [PATCH] ipv6: ip6_fragment: fix headroom tests and skb leak
-
-David Woodhouse reports skb_under_panic when we try to push ethernet
-header to fragmented ipv6 skbs:
-
- skbuff: skb_under_panic: text:c1277f1e len:1294 put:14 head:dec98000
- data:dec97ffc tail:0xdec9850a end:0xdec98f40 dev:br-lan
-[..]
-ip6_finish_output2+0x196/0x4da
-
-David further debugged this:
-  [..] offending fragments were arriving here with skb_headroom(skb)==10.
-  Which is reasonable, being the Solos ADSL card's header of 8 bytes
-  followed by 2 bytes of PPP frame type.
-
-The problem is that if netfilter ipv6 defragmentation is used, skb_cow()
-in ip6_forward will only see reassembled skb.
-
-Therefore, headroom is overestimated by 8 bytes (we pulled fragment
-header) and we don't check the skbs in the frag_list either.
-
-We can't do these checks in netfilter defrag since outdev isn't known yet.
-
-Furthermore, existing tests in ip6_fragment did not consider the fragment
-or ipv6 header size when checking headroom of the fraglist skbs.
-
-While at it, also fix a skb leak on memory allocation -- ip6_fragment
-must consume the skb.
-
-I tested this e1000 driver hacked to not allocate additional headroom
-(we end up in slowpath, since LL_RESERVED_SPACE is 16).
-
-If 2 bytes of headroom are allocated, fastpath is taken (14 byte
-ethernet header was pulled, so 16 byte headroom available in all
-fragments).
-
-Reported-by: David Woodhouse <dwmw2@infradead.org>
-Diagnosed-by: David Woodhouse <dwmw2@infradead.org>
-Signed-off-by: Florian Westphal <fw@strlen.de>
-Closes 20532
----
-
---- a/net/ipv6/ip6_output.c
-+++ b/net/ipv6/ip6_output.c
-@@ -587,20 +587,22 @@ int ip6_fragment(struct sock *sk, struct
-       }
-       mtu -= hlen + sizeof(struct frag_hdr);
-+      hroom = LL_RESERVED_SPACE(rt->dst.dev);
-       if (skb_has_frag_list(skb)) {
-               int first_len = skb_pagelen(skb);
-               struct sk_buff *frag2;
-               if (first_len - hlen > mtu ||
-                   ((first_len - hlen) & 7) ||
--                  skb_cloned(skb))
-+                  skb_cloned(skb) ||
-+                  skb_headroom(skb) < (hroom + sizeof(struct frag_hdr)))
-                       goto slow_path;
-               skb_walk_frags(skb, frag) {
-                       /* Correct geometry. */
-                       if (frag->len > mtu ||
-                           ((frag->len & 7) && frag->next) ||
--                          skb_headroom(frag) < hlen)
-+                          skb_headroom(frag) < (hlen + hroom + sizeof(struct frag_hdr)))
-                               goto slow_path_clean;
-                       /* Partially cloned skb? */
-@@ -617,8 +619,6 @@ int ip6_fragment(struct sock *sk, struct
-               err = 0;
-               offset = 0;
--              frag = skb_shinfo(skb)->frag_list;
--              skb_frag_list_init(skb);
-               /* BUILD HEADER */
-               *prevhdr = NEXTHDR_FRAGMENT;
-@@ -626,8 +626,11 @@ int ip6_fragment(struct sock *sk, struct
-               if (!tmp_hdr) {
-                       IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)),
-                                     IPSTATS_MIB_FRAGFAILS);
--                      return -ENOMEM;
-+                      err = -ENOMEM;
-+                      goto fail;
-               }
-+              frag = skb_shinfo(skb)->frag_list;
-+              skb_frag_list_init(skb);
-               __skb_pull(skb, hlen);
-               fh = (struct frag_hdr *)__skb_push(skb, sizeof(struct frag_hdr));
-@@ -725,7 +728,6 @@ slow_path:
-        */
-       *prevhdr = NEXTHDR_FRAGMENT;
--      hroom = LL_RESERVED_SPACE(rt->dst.dev);
-       troom = rt->dst.dev->needed_tailroom;
-       /*
diff --git a/target/linux/generic/patches-4.1/081-solos-pci-Increase-headroom-on-received-packets.patch b/target/linux/generic/patches-4.1/081-solos-pci-Increase-headroom-on-received-packets.patch
deleted file mode 100644 (file)
index 605f57a..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From: David Woodhouse <dwmw2@infradead.org>
-Date: Thu, 17 Sep 2015 11:19:53 +0100
-Subject: [PATCH] solos-pci: Increase headroom on received packets
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-A comment in include/linux/skbuff.h says that:
-
- * Various parts of the networking layer expect at least 32 bytes of
- * headroom, you should not reduce this.
-
-This was demonstrated by a panic when handling fragmented IPv6 packets:
-http://marc.info/?l=linux-netdev&m=144236093519172&w=2
-
-It's not entirely clear if that comment is still valid — and if it is,
-perhaps netif_rx() ought to be enforcing it with a warning.
-
-But either way, it is rather stupid from a performance point of view
-for us to be receiving packets into a buffer which doesn't have enough
-room to prepend an Ethernet header — it means that *every* incoming
-packet is going to be need to be reallocated. So let's fix that.
-
-Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
----
-
---- a/drivers/atm/solos-pci.c
-+++ b/drivers/atm/solos-pci.c
-@@ -805,7 +805,12 @@ static void solos_bh(unsigned long card_
-                                       continue;
-                               }
--                              skb = alloc_skb(size + 1, GFP_ATOMIC);
-+                              /* Use netdev_alloc_skb() because it adds NET_SKB_PAD of
-+                               * headroom, and ensures we can route packets back out an
-+                               * Ethernet interface (for example) without having to
-+                               * reallocate. Adding NET_IP_ALIGN also ensures that both
-+                               * PPPoATM and PPPoEoBR2684 packets end up aligned. */
-+                              skb = netdev_alloc_skb_ip_align(NULL, size + 1);
-                               if (!skb) {
-                                       if (net_ratelimit())
-                                               dev_warn(&card->dev->dev, "Failed to allocate sk_buff for RX\n");
-@@ -869,7 +874,10 @@ static void solos_bh(unsigned long card_
-               /* Allocate RX skbs for any ports which need them */
-               if (card->using_dma && card->atmdev[port] &&
-                   !card->rx_skb[port]) {
--                      struct sk_buff *skb = alloc_skb(RX_DMA_SIZE, GFP_ATOMIC);
-+                      /* Unlike the MMIO case (qv) we can't add NET_IP_ALIGN
-+                       * here; the FPGA can only DMA to addresses which are
-+                       * aligned to 4 bytes. */
-+                      struct sk_buff *skb = dev_alloc_skb(RX_DMA_SIZE);
-                       if (skb) {
-                               SKB_CB(skb)->dma_addr =
-                                       dma_map_single(&card->dev->dev, skb->data,
diff --git a/target/linux/generic/patches-4.1/082-usb-core-Introduce-a-USB-port-LED-trigger.patch b/target/linux/generic/patches-4.1/082-usb-core-Introduce-a-USB-port-LED-trigger.patch
deleted file mode 100644 (file)
index ade7f9c..0000000
+++ /dev/null
@@ -1,464 +0,0 @@
-From 0f247626cbbfa2010d2b86fdee652605e084e248 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Fri, 16 Sep 2016 16:13:48 +0200
-Subject: [PATCH] usb: core: Introduce a USB port LED trigger
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This commit adds a new trigger responsible for turning on LED when USB
-device gets connected to the selected USB port. This can can useful for
-various home routers that have USB port(s) and a proper LED telling user
-a device is connected.
-
-The trigger gets its documentation file but basically it just requires
-enabling it and selecting USB ports (e.g. echo 1 > ports/usb1-1).
-
-There was a long discussion on design of this driver. Its current state
-is a result of picking them most adjustable solution as others couldn't
-handle all cases.
-
-1) It wasn't possible for the driver to register separated trigger for
-   each USB port. Some physical USB ports are handled by more than one
-   controller and so by more than one USB port. E.g. USB 2.0 physical
-   port may be handled by OHCI's port and EHCI's port.
-   It's also not possible to assign more than 1 trigger to a single LED
-   and implementing such feature would be tricky due to syncing triggers
-   and sysfs conflicts with old triggers.
-
-2) Another idea was to register trigger per USB hub. This wouldn't allow
-   handling devices with multiple USB LEDs and controllers (hubs)
-   controlling more than 1 physical port. It's common for hubs to have
-   few ports and each may have its own LED.
-
-This final trigger is highly flexible. It allows selecting any USB ports
-for any LED. It was also modified (comparing to the initial version) to
-allow choosing ports rather than having user /guess/ proper names. It
-was successfully tested on SmartRG SR400ac which has 3 USB LEDs,
-2 physical ports and 3 controllers.
-
-It was noted USB subsystem already has usb-gadget and usb-host triggers
-but they are pretty trivial ones. They indicate activity only and can't
-have ports specified.
-
-In future it may be good idea to consider adding activity support to
-usbport as well. This should allow switching to this more generic driver
-and maybe marking old ones as obsolete.
-This can be implemented with another sysfs file for setting mode. The
-default mode wouldn't change so there won't be ABI breakage and so such
-feature can be safely implemented later.
-
-There was also an idea of supporting other devices (PCI, SDIO, etc.) but
-as this driver already contains some USB specific code (and will get
-more) these should be probably separated drivers (triggers).
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- .../ABI/testing/sysfs-class-led-trigger-usbport    |  12 +
- Documentation/leds/ledtrig-usbport.txt             |  41 +++
- drivers/usb/core/Kconfig                           |   8 +
- drivers/usb/core/Makefile                          |   2 +
- drivers/usb/core/ledtrig-usbport.c                 | 314 +++++++++++++++++++++
- 5 files changed, 377 insertions(+)
- create mode 100644 Documentation/ABI/testing/sysfs-class-led-trigger-usbport
- create mode 100644 Documentation/leds/ledtrig-usbport.txt
- create mode 100644 drivers/usb/core/ledtrig-usbport.c
-
---- /dev/null
-+++ b/Documentation/ABI/testing/sysfs-class-led-trigger-usbport
-@@ -0,0 +1,12 @@
-+What:         /sys/class/leds/<led>/ports/<port>
-+Date:         September 2016
-+KernelVersion:        4.9
-+Contact:      linux-leds@vger.kernel.org
-+              linux-usb@vger.kernel.org
-+Description:
-+              Every dir entry represents a single USB port that can be
-+              selected for the USB port trigger. Selecting ports makes trigger
-+              observing them for any connected devices and lighting on LED if
-+              there are any.
-+              Echoing "1" value selects USB port. Echoing "0" unselects it.
-+              Current state can be also read.
---- /dev/null
-+++ b/Documentation/leds/ledtrig-usbport.txt
-@@ -0,0 +1,41 @@
-+USB port LED trigger
-+====================
-+
-+This LED trigger can be used for signalling to the user a presence of USB device
-+in a given port. It simply turns on LED when device appears and turns it off
-+when it disappears.
-+
-+It requires selecting USB ports that should be observed. All available ones are
-+listed as separated entries in a "ports" subdirectory. Selecting is handled by
-+echoing "1" to a chosen port.
-+
-+Please note that this trigger allows selecting multiple USB ports for a single
-+LED. This can be useful in two cases:
-+
-+1) Device with single USB LED and few physical ports
-+
-+In such a case LED will be turned on as long as there is at least one connected
-+USB device.
-+
-+2) Device with a physical port handled by few controllers
-+
-+Some devices may have one controller per PHY standard. E.g. USB 3.0 physical
-+port may be handled by ohci-platform, ehci-platform and xhci-hcd. If there is
-+only one LED user will most likely want to assign ports from all 3 hubs.
-+
-+
-+This trigger can be activated from user space on led class devices as shown
-+below:
-+
-+  echo usbport > trigger
-+
-+This adds sysfs attributes to the LED that are documented in:
-+Documentation/ABI/testing/sysfs-class-led-trigger-usbport
-+
-+Example use-case:
-+
-+  echo usbport > trigger
-+  echo 1 > ports/usb1-port1
-+  echo 1 > ports/usb2-port1
-+  cat ports/usb1-port1
-+  echo 0 > ports/usb1-port1
---- a/drivers/usb/core/Kconfig
-+++ b/drivers/usb/core/Kconfig
-@@ -84,3 +84,10 @@ config USB_OTG_FSM
-         Implements OTG Finite State Machine as specified in On-The-Go
-         and Embedded Host Supplement to the USB Revision 2.0 Specification.
-+config USB_LEDS_TRIGGER_USBPORT
-+      tristate "USB port LED trigger"
-+      depends on USB && LEDS_TRIGGERS
-+      help
-+        This driver allows LEDs to be controlled by USB events. Enabling this
-+        trigger allows specifying list of USB ports that should turn on LED
-+        when some USB device gets connected.
---- a/drivers/usb/core/Makefile
-+++ b/drivers/usb/core/Makefile
-@@ -11,3 +11,5 @@ usbcore-$(CONFIG_PCI)                += hcd-pci.o
- usbcore-$(CONFIG_ACPI)                += usb-acpi.o
- obj-$(CONFIG_USB)             += usbcore.o
-+
-+obj-$(CONFIG_USB_LEDS_TRIGGER_USBPORT)        += ledtrig-usbport.o
---- /dev/null
-+++ b/drivers/usb/core/ledtrig-usbport.c
-@@ -0,0 +1,314 @@
-+/*
-+ * USB port LED trigger
-+ *
-+ * Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#include <linux/device.h>
-+#include <linux/leds.h>
-+#include <linux/module.h>
-+#include <linux/slab.h>
-+#include <linux/usb.h>
-+
-+struct usbport_trig_data {
-+      struct led_classdev *led_cdev;
-+      struct list_head ports;
-+      struct notifier_block nb;
-+      int count; /* Amount of connected matching devices */
-+};
-+
-+struct usbport_trig_port {
-+      struct usbport_trig_data *data;
-+      struct usb_device *hub;
-+      int portnum;
-+      char *port_name;
-+      bool observed;
-+      struct device_attribute attr;
-+      struct list_head list;
-+};
-+
-+/***************************************
-+ * Helpers
-+ ***************************************/
-+
-+/**
-+ * usbport_trig_usb_dev_observed - Check if dev is connected to observed port
-+ */
-+static bool usbport_trig_usb_dev_observed(struct usbport_trig_data *usbport_data,
-+                                        struct usb_device *usb_dev)
-+{
-+      struct usbport_trig_port *port;
-+
-+      if (!usb_dev->parent)
-+              return false;
-+
-+      list_for_each_entry(port, &usbport_data->ports, list) {
-+              if (usb_dev->parent == port->hub &&
-+                  usb_dev->portnum == port->portnum)
-+                      return port->observed;
-+      }
-+
-+      return false;
-+}
-+
-+static int usbport_trig_usb_dev_check(struct usb_device *usb_dev, void *data)
-+{
-+      struct usbport_trig_data *usbport_data = data;
-+
-+      if (usbport_trig_usb_dev_observed(usbport_data, usb_dev))
-+              usbport_data->count++;
-+
-+      return 0;
-+}
-+
-+/**
-+ * usbport_trig_update_count - Recalculate amount of connected matching devices
-+ */
-+static void usbport_trig_update_count(struct usbport_trig_data *usbport_data)
-+{
-+      struct led_classdev *led_cdev = usbport_data->led_cdev;
-+
-+      usbport_data->count = 0;
-+      usb_for_each_dev(usbport_data, usbport_trig_usb_dev_check);
-+      led_cdev->brightness_set(led_cdev,
-+                               usbport_data->count ? LED_FULL : LED_OFF);
-+}
-+
-+/***************************************
-+ * Device attr
-+ ***************************************/
-+
-+static ssize_t usbport_trig_port_show(struct device *dev,
-+                                    struct device_attribute *attr, char *buf)
-+{
-+      struct usbport_trig_port *port = container_of(attr,
-+                                                    struct usbport_trig_port,
-+                                                    attr);
-+
-+      return sprintf(buf, "%d\n", port->observed) + 1;
-+}
-+
-+static ssize_t usbport_trig_port_store(struct device *dev,
-+                                     struct device_attribute *attr,
-+                                     const char *buf, size_t size)
-+{
-+      struct usbport_trig_port *port = container_of(attr,
-+                                                    struct usbport_trig_port,
-+                                                    attr);
-+
-+      if (!strcmp(buf, "0") || !strcmp(buf, "0\n"))
-+              port->observed = 0;
-+      else if (!strcmp(buf, "1") || !strcmp(buf, "1\n"))
-+              port->observed = 1;
-+      else
-+              return -EINVAL;
-+
-+      usbport_trig_update_count(port->data);
-+
-+      return size;
-+}
-+
-+static struct attribute *ports_attrs[] = {
-+      NULL,
-+};
-+static const struct attribute_group ports_group = {
-+      .name = "ports",
-+      .attrs = ports_attrs,
-+};
-+
-+/***************************************
-+ * Adding & removing ports
-+ ***************************************/
-+
-+static int usbport_trig_add_port(struct usbport_trig_data *usbport_data,
-+                               struct usb_device *usb_dev,
-+                               const char *hub_name, int portnum)
-+{
-+      struct led_classdev *led_cdev = usbport_data->led_cdev;
-+      struct usbport_trig_port *port;
-+      size_t len;
-+      int err;
-+
-+      port = kzalloc(sizeof(*port), GFP_KERNEL);
-+      if (!port) {
-+              err = -ENOMEM;
-+              goto err_out;
-+      }
-+
-+      port->data = usbport_data;
-+      port->hub = usb_dev;
-+      port->portnum = portnum;
-+
-+      len = strlen(hub_name) + 8;
-+      port->port_name = kzalloc(len, GFP_KERNEL);
-+      if (!port->port_name) {
-+              err = -ENOMEM;
-+              goto err_free_port;
-+      }
-+      snprintf(port->port_name, len, "%s-port%d", hub_name, portnum);
-+
-+      port->attr.attr.name = port->port_name;
-+      port->attr.attr.mode = S_IRUSR | S_IWUSR;
-+      port->attr.show = usbport_trig_port_show;
-+      port->attr.store = usbport_trig_port_store;
-+
-+      err = sysfs_add_file_to_group(&led_cdev->dev->kobj, &port->attr.attr,
-+                                    ports_group.name);
-+      if (err)
-+              goto err_free_port_name;
-+
-+      list_add_tail(&port->list, &usbport_data->ports);
-+
-+      return 0;
-+
-+err_free_port_name:
-+      kfree(port->port_name);
-+err_free_port:
-+      kfree(port);
-+err_out:
-+      return err;
-+}
-+
-+static int usbport_trig_add_usb_dev_ports(struct usb_device *usb_dev,
-+                                        void *data)
-+{
-+      struct usbport_trig_data *usbport_data = data;
-+      int i;
-+
-+      for (i = 1; i <= usb_dev->maxchild; i++)
-+              usbport_trig_add_port(usbport_data, usb_dev,
-+                                    dev_name(&usb_dev->dev), i);
-+
-+      return 0;
-+}
-+
-+static void usbport_trig_remove_port(struct usbport_trig_data *usbport_data,
-+                                   struct usbport_trig_port *port)
-+{
-+      struct led_classdev *led_cdev = usbport_data->led_cdev;
-+
-+      list_del(&port->list);
-+      sysfs_remove_file_from_group(&led_cdev->dev->kobj, &port->attr.attr,
-+                                   ports_group.name);
-+      kfree(port->port_name);
-+      kfree(port);
-+}
-+
-+static void usbport_trig_remove_usb_dev_ports(struct usbport_trig_data *usbport_data,
-+                                            struct usb_device *usb_dev)
-+{
-+      struct usbport_trig_port *port, *tmp;
-+
-+      list_for_each_entry_safe(port, tmp, &usbport_data->ports, list) {
-+              if (port->hub == usb_dev)
-+                      usbport_trig_remove_port(usbport_data, port);
-+      }
-+}
-+
-+/***************************************
-+ * Init, exit, etc.
-+ ***************************************/
-+
-+static int usbport_trig_notify(struct notifier_block *nb, unsigned long action,
-+                             void *data)
-+{
-+      struct usbport_trig_data *usbport_data =
-+              container_of(nb, struct usbport_trig_data, nb);
-+      struct led_classdev *led_cdev = usbport_data->led_cdev;
-+      struct usb_device *usb_dev = data;
-+      bool observed;
-+
-+      observed = usbport_trig_usb_dev_observed(usbport_data, usb_dev);
-+
-+      switch (action) {
-+      case USB_DEVICE_ADD:
-+              usbport_trig_add_usb_dev_ports(usb_dev, usbport_data);
-+              if (observed && usbport_data->count++ == 0)
-+                      led_cdev->brightness_set(led_cdev, LED_FULL);
-+              return NOTIFY_OK;
-+      case USB_DEVICE_REMOVE:
-+              usbport_trig_remove_usb_dev_ports(usbport_data, usb_dev);
-+              if (observed && --usbport_data->count == 0)
-+                      led_cdev->brightness_set(led_cdev, LED_OFF);
-+              return NOTIFY_OK;
-+      }
-+
-+      return NOTIFY_DONE;
-+}
-+
-+static void usbport_trig_activate(struct led_classdev *led_cdev)
-+{
-+      struct usbport_trig_data *usbport_data;
-+      int err;
-+
-+      usbport_data = kzalloc(sizeof(*usbport_data), GFP_KERNEL);
-+      if (!usbport_data)
-+              return;
-+      usbport_data->led_cdev = led_cdev;
-+
-+      /* List of ports */
-+      INIT_LIST_HEAD(&usbport_data->ports);
-+      err = sysfs_create_group(&led_cdev->dev->kobj, &ports_group);
-+      if (err)
-+              goto err_free;
-+      usb_for_each_dev(usbport_data, usbport_trig_add_usb_dev_ports);
-+
-+      /* Notifications */
-+      usbport_data->nb.notifier_call = usbport_trig_notify,
-+      led_cdev->trigger_data = usbport_data;
-+      usb_register_notify(&usbport_data->nb);
-+
-+      led_cdev->activated = true;
-+      return;
-+
-+err_free:
-+      kfree(usbport_data);
-+}
-+
-+static void usbport_trig_deactivate(struct led_classdev *led_cdev)
-+{
-+      struct usbport_trig_data *usbport_data = led_cdev->trigger_data;
-+      struct usbport_trig_port *port, *tmp;
-+
-+      if (!led_cdev->activated)
-+              return;
-+
-+      list_for_each_entry_safe(port, tmp, &usbport_data->ports, list) {
-+              usbport_trig_remove_port(usbport_data, port);
-+      }
-+
-+      usb_unregister_notify(&usbport_data->nb);
-+
-+      sysfs_remove_group(&led_cdev->dev->kobj, &ports_group);
-+
-+      kfree(usbport_data);
-+
-+      led_cdev->activated = false;
-+}
-+
-+static struct led_trigger usbport_led_trigger = {
-+      .name     = "usbport",
-+      .activate = usbport_trig_activate,
-+      .deactivate = usbport_trig_deactivate,
-+};
-+
-+static int __init usbport_trig_init(void)
-+{
-+      return led_trigger_register(&usbport_led_trigger);
-+}
-+
-+static void __exit usbport_trig_exit(void)
-+{
-+      led_trigger_unregister(&usbport_led_trigger);
-+}
-+
-+module_init(usbport_trig_init);
-+module_exit(usbport_trig_exit);
-+
-+MODULE_AUTHOR("Rafał Miłecki <rafal@milecki.pl>");
-+MODULE_DESCRIPTION("USB port trigger");
-+MODULE_LICENSE("GPL v2");
diff --git a/target/linux/generic/patches-4.1/090-m25p80_spi-nor_update_to_4.4rc1.patch b/target/linux/generic/patches-4.1/090-m25p80_spi-nor_update_to_4.4rc1.patch
deleted file mode 100644 (file)
index b640706..0000000
+++ /dev/null
@@ -1,1129 +0,0 @@
---- a/drivers/mtd/devices/m25p80.c
-+++ b/drivers/mtd/devices/m25p80.c
-@@ -31,7 +31,6 @@
- struct m25p {
-       struct spi_device       *spi;
-       struct spi_nor          spi_nor;
--      struct mtd_info         mtd;
-       u8                      command[MAX_CMD_SIZE];
- };
-@@ -62,8 +61,7 @@ static int m25p_cmdsz(struct spi_nor *no
-       return 1 + nor->addr_width;
- }
--static int m25p80_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len,
--                      int wr_en)
-+static int m25p80_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len)
- {
-       struct m25p *flash = nor->priv;
-       struct spi_device *spi = flash->spi;
-@@ -159,7 +157,7 @@ static int m25p80_erase(struct spi_nor *
-       struct m25p *flash = nor->priv;
-       dev_dbg(nor->dev, "%dKiB at 0x%08x\n",
--              flash->mtd.erasesize / 1024, (u32)offset);
-+              flash->spi_nor.mtd.erasesize / 1024, (u32)offset);
-       /* Set up command buffer. */
-       flash->command[0] = nor->erase_opcode;
-@@ -201,11 +199,10 @@ static int m25p_probe(struct spi_device
-       nor->read_reg = m25p80_read_reg;
-       nor->dev = &spi->dev;
--      nor->mtd = &flash->mtd;
-+      nor->flash_node = spi->dev.of_node;
-       nor->priv = flash;
-       spi_set_drvdata(spi, flash);
--      flash->mtd.priv = nor;
-       flash->spi = spi;
-       if (spi->mode & SPI_RX_QUAD)
-@@ -214,7 +211,7 @@ static int m25p_probe(struct spi_device
-               mode = SPI_NOR_DUAL;
-       if (data && data->name)
--              flash->mtd.name = data->name;
-+              nor->mtd.name = data->name;
-       /* For some (historical?) reason many platforms provide two different
-        * names in flash_platform_data: "name" and "type". Quite often name is
-@@ -223,8 +220,6 @@ static int m25p_probe(struct spi_device
-        */
-       if (data && data->type)
-               flash_name = data->type;
--      else if (!strcmp(spi->modalias, "spi-nor"))
--              flash_name = NULL; /* auto-detect */
-       else
-               flash_name = spi->modalias;
-@@ -234,7 +229,7 @@ static int m25p_probe(struct spi_device
-       ppdata.of_node = spi->dev.of_node;
--      return mtd_device_parse_register(&flash->mtd, NULL, &ppdata,
-+      return mtd_device_parse_register(&nor->mtd, NULL, &ppdata,
-                       data ? data->parts : NULL,
-                       data ? data->nr_parts : 0);
- }
-@@ -245,7 +240,7 @@ static int m25p_remove(struct spi_device
-       struct m25p     *flash = spi_get_drvdata(spi);
-       /* Clean up MTD stuff. */
--      return mtd_device_unregister(&flash->mtd);
-+      return mtd_device_unregister(&flash->spi_nor.mtd);
- }
- /*
-@@ -261,59 +256,52 @@ static int m25p_remove(struct spi_device
-  * keep them available as module aliases for existing platforms.
-  */
- static const struct spi_device_id m25p_ids[] = {
--      {"at25fs010"},  {"at25fs040"},  {"at25df041a"}, {"at25df321a"},
--      {"at25df641"},  {"at26f004"},   {"at26df081a"}, {"at26df161a"},
--      {"at26df321"},  {"at45db081d"},
--      {"en25f32"},    {"en25p32"},    {"en25q32b"},   {"en25p64"},
--      {"en25q64"},    {"en25qh128"},  {"en25qh256"},
--      {"f25l32pa"},
--      {"mr25h256"},   {"mr25h10"},
--      {"gd25q32"},    {"gd25q64"},
--      {"160s33b"},    {"320s33b"},    {"640s33b"},
--      {"mx25l2005a"}, {"mx25l4005a"}, {"mx25l8005"},  {"mx25l1606e"},
--      {"mx25l3205d"}, {"mx25l3255e"}, {"mx25l6405d"}, {"mx25l12805d"},
--      {"mx25l12855e"},{"mx25l25635e"},{"mx25l25655e"},{"mx66l51235l"},
--      {"mx66l1g55g"},
--      {"n25q064"},    {"n25q128a11"}, {"n25q128a13"}, {"n25q256a"},
--      {"n25q512a"},   {"n25q512ax3"}, {"n25q00"},
--      {"pm25lv512"},  {"pm25lv010"},  {"pm25lq032"},
--      {"s25sl032p"},  {"s25sl064p"},  {"s25fl256s0"}, {"s25fl256s1"},
--      {"s25fl512s"},  {"s70fl01gs"},  {"s25sl12800"}, {"s25sl12801"},
--      {"s25fl129p0"}, {"s25fl129p1"}, {"s25sl004a"},  {"s25sl008a"},
--      {"s25sl016a"},  {"s25sl032a"},  {"s25sl064a"},  {"s25fl008k"},
--      {"s25fl016k"},  {"s25fl064k"},  {"s25fl132k"},
--      {"sst25vf040b"},{"sst25vf080b"},{"sst25vf016b"},{"sst25vf032b"},
--      {"sst25vf064c"},{"sst25wf512"}, {"sst25wf010"}, {"sst25wf020"},
--      {"sst25wf040"},
--      {"m25p05"},     {"m25p10"},     {"m25p20"},     {"m25p40"},
--      {"m25p80"},     {"m25p16"},     {"m25p32"},     {"m25p64"},
--      {"m25p128"},    {"n25q032"},
-+      /*
-+       * Entries not used in DTs that should be safe to drop after replacing
-+       * them with "nor-jedec" in platform data.
-+       */
-+      {"s25sl064a"},  {"w25x16"},     {"m25p10"},     {"m25px64"},
-+
-+      /*
-+       * Entries that were used in DTs without "nor-jedec" fallback and should
-+       * be kept for backward compatibility.
-+       */
-+      {"at25df321a"}, {"at25df641"},  {"at26df081a"},
-+      {"mr25h256"},
-+      {"mx25l4005a"}, {"mx25l1606e"}, {"mx25l6405d"}, {"mx25l12805d"},
-+      {"mx25l25635e"},{"mx66l51235l"},
-+      {"n25q064"},    {"n25q128a11"}, {"n25q128a13"}, {"n25q512a"},
-+      {"s25fl256s1"}, {"s25fl512s"},  {"s25sl12801"}, {"s25fl008k"},
-+      {"s25fl064k"},
-+      {"sst25vf040b"},{"sst25vf016b"},{"sst25vf032b"},{"sst25wf040"},
-+      {"m25p40"},     {"m25p80"},     {"m25p16"},     {"m25p32"},
-+      {"m25p64"},     {"m25p128"},
-+      {"w25x80"},     {"w25x32"},     {"w25q32"},     {"w25q32dw"},
-+      {"w25q80bl"},   {"w25q128"},    {"w25q256"},
-+
-+      /* Flashes that can't be detected using JEDEC */
-       {"m25p05-nonjedec"},    {"m25p10-nonjedec"},    {"m25p20-nonjedec"},
-       {"m25p40-nonjedec"},    {"m25p80-nonjedec"},    {"m25p16-nonjedec"},
-       {"m25p32-nonjedec"},    {"m25p64-nonjedec"},    {"m25p128-nonjedec"},
--      {"m45pe10"},    {"m45pe80"},    {"m45pe16"},
--      {"m25pe20"},    {"m25pe80"},    {"m25pe16"},
--      {"m25px16"},    {"m25px32"},    {"m25px32-s0"}, {"m25px32-s1"},
--      {"m25px64"},    {"m25px80"},
--      {"w25x10"},     {"w25x20"},     {"w25x40"},     {"w25x80"},
--      {"w25x16"},     {"w25x32"},     {"w25q32"},     {"w25q32dw"},
--      {"w25x64"},     {"w25q64"},     {"w25q80"},     {"w25q80bl"},
--      {"w25q128"},    {"w25q256"},    {"cat25c11"},
--      {"cat25c03"},   {"cat25c09"},   {"cat25c17"},   {"cat25128"},
--      /*
--       * Generic support for SPI NOR that can be identified by the JEDEC READ
--       * ID opcode (0x9F). Use this, if possible.
--       */
--      {"spi-nor"},
-       { },
- };
- MODULE_DEVICE_TABLE(spi, m25p_ids);
-+static const struct of_device_id m25p_of_table[] = {
-+      /*
-+       * Generic compatibility for SPI NOR that can be identified by the
-+       * JEDEC READ ID opcode (0x9F). Use this, if possible.
-+       */
-+      { .compatible = "jedec,spi-nor" },
-+      {}
-+};
-+MODULE_DEVICE_TABLE(of, m25p_of_table);
-+
- static struct spi_driver m25p80_driver = {
-       .driver = {
-               .name   = "m25p80",
--              .owner  = THIS_MODULE,
-+              .of_match_table = m25p_of_table,
-       },
-       .id_table       = m25p_ids,
-       .probe  = m25p_probe,
---- a/drivers/mtd/spi-nor/spi-nor.c
-+++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -16,19 +16,32 @@
- #include <linux/device.h>
- #include <linux/mutex.h>
- #include <linux/math64.h>
-+#include <linux/sizes.h>
--#include <linux/mtd/cfi.h>
- #include <linux/mtd/mtd.h>
- #include <linux/of_platform.h>
- #include <linux/spi/flash.h>
- #include <linux/mtd/spi-nor.h>
- /* Define max times to check status register before we give up. */
--#define       MAX_READY_WAIT_JIFFIES  (40 * HZ) /* M25P16 specs 40s max chip erase */
-+
-+/*
-+ * For everything but full-chip erase; probably could be much smaller, but kept
-+ * around for safety for now
-+ */
-+#define DEFAULT_READY_WAIT_JIFFIES            (40UL * HZ)
-+
-+/*
-+ * For full-chip erase, calibrated to a 2MB flash (M25P16); should be scaled up
-+ * for larger flash
-+ */
-+#define CHIP_ERASE_2MB_READY_WAIT_JIFFIES     (40UL * HZ)
- #define SPI_NOR_MAX_ID_LEN    6
- struct flash_info {
-+      char            *name;
-+
-       /*
-        * This array stores the ID bytes.
-        * The first three bytes are the JEDIC ID.
-@@ -59,7 +72,7 @@ struct flash_info {
- #define JEDEC_MFR(info)       ((info)->id[0])
--static const struct spi_device_id *spi_nor_match_id(const char *name);
-+static const struct flash_info *spi_nor_match_id(const char *name);
- /*
-  * Read the status register, returning its value in the location
-@@ -143,7 +156,7 @@ static inline int spi_nor_read_dummy_cyc
- static inline int write_sr(struct spi_nor *nor, u8 val)
- {
-       nor->cmd_buf[0] = val;
--      return nor->write_reg(nor, SPINOR_OP_WRSR, nor->cmd_buf, 1, 0);
-+      return nor->write_reg(nor, SPINOR_OP_WRSR, nor->cmd_buf, 1);
- }
- /*
-@@ -152,7 +165,7 @@ static inline int write_sr(struct spi_no
-  */
- static inline int write_enable(struct spi_nor *nor)
- {
--      return nor->write_reg(nor, SPINOR_OP_WREN, NULL, 0, 0);
-+      return nor->write_reg(nor, SPINOR_OP_WREN, NULL, 0);
- }
- /*
-@@ -160,7 +173,7 @@ static inline int write_enable(struct sp
-  */
- static inline int write_disable(struct spi_nor *nor)
- {
--      return nor->write_reg(nor, SPINOR_OP_WRDI, NULL, 0, 0);
-+      return nor->write_reg(nor, SPINOR_OP_WRDI, NULL, 0);
- }
- static inline struct spi_nor *mtd_to_spi_nor(struct mtd_info *mtd)
-@@ -169,7 +182,7 @@ static inline struct spi_nor *mtd_to_spi
- }
- /* Enable/disable 4-byte addressing mode. */
--static inline int set_4byte(struct spi_nor *nor, struct flash_info *info,
-+static inline int set_4byte(struct spi_nor *nor, const struct flash_info *info,
-                           int enable)
- {
-       int status;
-@@ -177,16 +190,16 @@ static inline int set_4byte(struct spi_n
-       u8 cmd;
-       switch (JEDEC_MFR(info)) {
--      case CFI_MFR_ST: /* Micron, actually */
-+      case SNOR_MFR_MICRON:
-               /* Some Micron need WREN command; all will accept it */
-               need_wren = true;
--      case CFI_MFR_MACRONIX:
--      case 0xEF /* winbond */:
-+      case SNOR_MFR_MACRONIX:
-+      case SNOR_MFR_WINBOND:
-               if (need_wren)
-                       write_enable(nor);
-               cmd = enable ? SPINOR_OP_EN4B : SPINOR_OP_EX4B;
--              status = nor->write_reg(nor, cmd, NULL, 0, 0);
-+              status = nor->write_reg(nor, cmd, NULL, 0);
-               if (need_wren)
-                       write_disable(nor);
-@@ -194,7 +207,7 @@ static inline int set_4byte(struct spi_n
-       default:
-               /* Spansion style */
-               nor->cmd_buf[0] = enable << 7;
--              return nor->write_reg(nor, SPINOR_OP_BRWR, nor->cmd_buf, 1, 0);
-+              return nor->write_reg(nor, SPINOR_OP_BRWR, nor->cmd_buf, 1);
-       }
- }
- static inline int spi_nor_sr_ready(struct spi_nor *nor)
-@@ -231,12 +244,13 @@ static int spi_nor_ready(struct spi_nor
-  * Service routine to read status register until ready, or timeout occurs.
-  * Returns non-zero if error.
-  */
--static int spi_nor_wait_till_ready(struct spi_nor *nor)
-+static int spi_nor_wait_till_ready_with_timeout(struct spi_nor *nor,
-+                                              unsigned long timeout_jiffies)
- {
-       unsigned long deadline;
-       int timeout = 0, ret;
--      deadline = jiffies + MAX_READY_WAIT_JIFFIES;
-+      deadline = jiffies + timeout_jiffies;
-       while (!timeout) {
-               if (time_after_eq(jiffies, deadline))
-@@ -256,6 +270,12 @@ static int spi_nor_wait_till_ready(struc
-       return -ETIMEDOUT;
- }
-+static int spi_nor_wait_till_ready(struct spi_nor *nor)
-+{
-+      return spi_nor_wait_till_ready_with_timeout(nor,
-+                                                  DEFAULT_READY_WAIT_JIFFIES);
-+}
-+
- /*
-  * Erase the whole flash memory
-  *
-@@ -263,9 +283,9 @@ static int spi_nor_wait_till_ready(struc
-  */
- static int erase_chip(struct spi_nor *nor)
- {
--      dev_dbg(nor->dev, " %lldKiB\n", (long long)(nor->mtd->size >> 10));
-+      dev_dbg(nor->dev, " %lldKiB\n", (long long)(nor->mtd.size >> 10));
--      return nor->write_reg(nor, SPINOR_OP_CHIP_ERASE, NULL, 0, 0);
-+      return nor->write_reg(nor, SPINOR_OP_CHIP_ERASE, NULL, 0);
- }
- static int spi_nor_lock_and_prep(struct spi_nor *nor, enum spi_nor_ops ops)
-@@ -319,6 +339,8 @@ static int spi_nor_erase(struct mtd_info
-       /* whole-chip erase? */
-       if (len == mtd->size) {
-+              unsigned long timeout;
-+
-               write_enable(nor);
-               if (erase_chip(nor)) {
-@@ -326,7 +348,16 @@ static int spi_nor_erase(struct mtd_info
-                       goto erase_err;
-               }
--              ret = spi_nor_wait_till_ready(nor);
-+              /*
-+               * Scale the timeout linearly with the size of the flash, with
-+               * a minimum calibrated to an old 2MB flash. We could try to
-+               * pull these from CFI/SFDP, but these values should be good
-+               * enough for now.
-+               */
-+              timeout = max(CHIP_ERASE_2MB_READY_WAIT_JIFFIES,
-+                            CHIP_ERASE_2MB_READY_WAIT_JIFFIES *
-+                            (unsigned long)(mtd->size / SZ_2M));
-+              ret = spi_nor_wait_till_ready_with_timeout(nor, timeout);
-               if (ret)
-                       goto erase_err;
-@@ -369,72 +400,171 @@ erase_err:
-       return ret;
- }
-+static void stm_get_locked_range(struct spi_nor *nor, u8 sr, loff_t *ofs,
-+                               uint64_t *len)
-+{
-+      struct mtd_info *mtd = &nor->mtd;
-+      u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
-+      int shift = ffs(mask) - 1;
-+      int pow;
-+
-+      if (!(sr & mask)) {
-+              /* No protection */
-+              *ofs = 0;
-+              *len = 0;
-+      } else {
-+              pow = ((sr & mask) ^ mask) >> shift;
-+              *len = mtd->size >> pow;
-+              *ofs = mtd->size - *len;
-+      }
-+}
-+
-+/*
-+ * Return 1 if the entire region is locked, 0 otherwise
-+ */
-+static int stm_is_locked_sr(struct spi_nor *nor, loff_t ofs, uint64_t len,
-+                          u8 sr)
-+{
-+      loff_t lock_offs;
-+      uint64_t lock_len;
-+
-+      stm_get_locked_range(nor, sr, &lock_offs, &lock_len);
-+
-+      return (ofs + len <= lock_offs + lock_len) && (ofs >= lock_offs);
-+}
-+
-+/*
-+ * Lock a region of the flash. Compatible with ST Micro and similar flash.
-+ * Supports only the block protection bits BP{0,1,2} in the status register
-+ * (SR). Does not support these features found in newer SR bitfields:
-+ *   - TB: top/bottom protect - only handle TB=0 (top protect)
-+ *   - SEC: sector/block protect - only handle SEC=0 (block protect)
-+ *   - CMP: complement protect - only support CMP=0 (range is not complemented)
-+ *
-+ * Sample table portion for 8MB flash (Winbond w25q64fw):
-+ *
-+ *   SEC  |  TB   |  BP2  |  BP1  |  BP0  |  Prot Length  | Protected Portion
-+ *  --------------------------------------------------------------------------
-+ *    X   |   X   |   0   |   0   |   0   |  NONE         | NONE
-+ *    0   |   0   |   0   |   0   |   1   |  128 KB       | Upper 1/64
-+ *    0   |   0   |   0   |   1   |   0   |  256 KB       | Upper 1/32
-+ *    0   |   0   |   0   |   1   |   1   |  512 KB       | Upper 1/16
-+ *    0   |   0   |   1   |   0   |   0   |  1 MB         | Upper 1/8
-+ *    0   |   0   |   1   |   0   |   1   |  2 MB         | Upper 1/4
-+ *    0   |   0   |   1   |   1   |   0   |  4 MB         | Upper 1/2
-+ *    X   |   X   |   1   |   1   |   1   |  8 MB         | ALL
-+ *
-+ * Returns negative on errors, 0 on success.
-+ */
- static int stm_lock(struct spi_nor *nor, loff_t ofs, uint64_t len)
- {
--      struct mtd_info *mtd = nor->mtd;
--      uint32_t offset = ofs;
--      uint8_t status_old, status_new;
--      int ret = 0;
-+      struct mtd_info *mtd = &nor->mtd;
-+      u8 status_old, status_new;
-+      u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
-+      u8 shift = ffs(mask) - 1, pow, val;
-       status_old = read_sr(nor);
--      if (offset < mtd->size - (mtd->size / 2))
--              status_new = status_old | SR_BP2 | SR_BP1 | SR_BP0;
--      else if (offset < mtd->size - (mtd->size / 4))
--              status_new = (status_old & ~SR_BP0) | SR_BP2 | SR_BP1;
--      else if (offset < mtd->size - (mtd->size / 8))
--              status_new = (status_old & ~SR_BP1) | SR_BP2 | SR_BP0;
--      else if (offset < mtd->size - (mtd->size / 16))
--              status_new = (status_old & ~(SR_BP0 | SR_BP1)) | SR_BP2;
--      else if (offset < mtd->size - (mtd->size / 32))
--              status_new = (status_old & ~SR_BP2) | SR_BP1 | SR_BP0;
--      else if (offset < mtd->size - (mtd->size / 64))
--              status_new = (status_old & ~(SR_BP2 | SR_BP0)) | SR_BP1;
--      else
--              status_new = (status_old & ~(SR_BP2 | SR_BP1)) | SR_BP0;
-+      /* SPI NOR always locks to the end */
-+      if (ofs + len != mtd->size) {
-+              /* Does combined region extend to end? */
-+              if (!stm_is_locked_sr(nor, ofs + len, mtd->size - ofs - len,
-+                                    status_old))
-+                      return -EINVAL;
-+              len = mtd->size - ofs;
-+      }
-+
-+      /*
-+       * Need smallest pow such that:
-+       *
-+       *   1 / (2^pow) <= (len / size)
-+       *
-+       * so (assuming power-of-2 size) we do:
-+       *
-+       *   pow = ceil(log2(size / len)) = log2(size) - floor(log2(len))
-+       */
-+      pow = ilog2(mtd->size) - ilog2(len);
-+      val = mask - (pow << shift);
-+      if (val & ~mask)
-+              return -EINVAL;
-+      /* Don't "lock" with no region! */
-+      if (!(val & mask))
-+              return -EINVAL;
-+
-+      status_new = (status_old & ~mask) | val;
-       /* Only modify protection if it will not unlock other areas */
--      if ((status_new & (SR_BP2 | SR_BP1 | SR_BP0)) >
--                              (status_old & (SR_BP2 | SR_BP1 | SR_BP0))) {
--              write_enable(nor);
--              ret = write_sr(nor, status_new);
--      }
-+      if ((status_new & mask) <= (status_old & mask))
-+              return -EINVAL;
--      return ret;
-+      write_enable(nor);
-+      return write_sr(nor, status_new);
- }
-+/*
-+ * Unlock a region of the flash. See stm_lock() for more info
-+ *
-+ * Returns negative on errors, 0 on success.
-+ */
- static int stm_unlock(struct spi_nor *nor, loff_t ofs, uint64_t len)
- {
--      struct mtd_info *mtd = nor->mtd;
--      uint32_t offset = ofs;
-+      struct mtd_info *mtd = &nor->mtd;
-       uint8_t status_old, status_new;
--      int ret = 0;
-+      u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
-+      u8 shift = ffs(mask) - 1, pow, val;
-       status_old = read_sr(nor);
--      if (offset+len > mtd->size - (mtd->size / 64))
--              status_new = status_old & ~(SR_BP2 | SR_BP1 | SR_BP0);
--      else if (offset+len > mtd->size - (mtd->size / 32))
--              status_new = (status_old & ~(SR_BP2 | SR_BP1)) | SR_BP0;
--      else if (offset+len > mtd->size - (mtd->size / 16))
--              status_new = (status_old & ~(SR_BP2 | SR_BP0)) | SR_BP1;
--      else if (offset+len > mtd->size - (mtd->size / 8))
--              status_new = (status_old & ~SR_BP2) | SR_BP1 | SR_BP0;
--      else if (offset+len > mtd->size - (mtd->size / 4))
--              status_new = (status_old & ~(SR_BP0 | SR_BP1)) | SR_BP2;
--      else if (offset+len > mtd->size - (mtd->size / 2))
--              status_new = (status_old & ~SR_BP1) | SR_BP2 | SR_BP0;
--      else
--              status_new = (status_old & ~SR_BP0) | SR_BP2 | SR_BP1;
-+      /* Cannot unlock; would unlock larger region than requested */
-+      if (stm_is_locked_sr(nor, status_old, ofs - mtd->erasesize,
-+                           mtd->erasesize))
-+              return -EINVAL;
--      /* Only modify protection if it will not lock other areas */
--      if ((status_new & (SR_BP2 | SR_BP1 | SR_BP0)) <
--                              (status_old & (SR_BP2 | SR_BP1 | SR_BP0))) {
--              write_enable(nor);
--              ret = write_sr(nor, status_new);
-+      /*
-+       * Need largest pow such that:
-+       *
-+       *   1 / (2^pow) >= (len / size)
-+       *
-+       * so (assuming power-of-2 size) we do:
-+       *
-+       *   pow = floor(log2(size / len)) = log2(size) - ceil(log2(len))
-+       */
-+      pow = ilog2(mtd->size) - order_base_2(mtd->size - (ofs + len));
-+      if (ofs + len == mtd->size) {
-+              val = 0; /* fully unlocked */
-+      } else {
-+              val = mask - (pow << shift);
-+              /* Some power-of-two sizes are not supported */
-+              if (val & ~mask)
-+                      return -EINVAL;
-       }
--      return ret;
-+      status_new = (status_old & ~mask) | val;
-+
-+      /* Only modify protection if it will not lock other areas */
-+      if ((status_new & mask) >= (status_old & mask))
-+              return -EINVAL;
-+
-+      write_enable(nor);
-+      return write_sr(nor, status_new);
-+}
-+
-+/*
-+ * Check if a region of the flash is (completely) locked. See stm_lock() for
-+ * more info.
-+ *
-+ * Returns 1 if entire region is locked, 0 if any portion is unlocked, and
-+ * negative on errors.
-+ */
-+static int stm_is_locked(struct spi_nor *nor, loff_t ofs, uint64_t len)
-+{
-+      int status;
-+
-+      status = read_sr(nor);
-+      if (status < 0)
-+              return status;
-+
-+      return stm_is_locked_sr(nor, ofs, len, status);
- }
- static int spi_nor_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
-@@ -467,9 +597,23 @@ static int spi_nor_unlock(struct mtd_inf
-       return ret;
- }
-+static int spi_nor_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
-+{
-+      struct spi_nor *nor = mtd_to_spi_nor(mtd);
-+      int ret;
-+
-+      ret = spi_nor_lock_and_prep(nor, SPI_NOR_OPS_UNLOCK);
-+      if (ret)
-+              return ret;
-+
-+      ret = nor->flash_is_locked(nor, ofs, len);
-+
-+      spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_LOCK);
-+      return ret;
-+}
-+
- /* Used when the "_ext_id" is two bytes at most */
- #define INFO(_jedec_id, _ext_id, _sector_size, _n_sectors, _flags)    \
--      ((kernel_ulong_t)&(struct flash_info) {                         \
-               .id = {                                                 \
-                       ((_jedec_id) >> 16) & 0xff,                     \
-                       ((_jedec_id) >> 8) & 0xff,                      \
-@@ -481,11 +625,9 @@ static int spi_nor_unlock(struct mtd_inf
-               .sector_size = (_sector_size),                          \
-               .n_sectors = (_n_sectors),                              \
-               .page_size = 256,                                       \
--              .flags = (_flags),                                      \
--      })
-+              .flags = (_flags),
- #define INFO6(_jedec_id, _ext_id, _sector_size, _n_sectors, _flags)   \
--      ((kernel_ulong_t)&(struct flash_info) {                         \
-               .id = {                                                 \
-                       ((_jedec_id) >> 16) & 0xff,                     \
-                       ((_jedec_id) >> 8) & 0xff,                      \
-@@ -498,23 +640,27 @@ static int spi_nor_unlock(struct mtd_inf
-               .sector_size = (_sector_size),                          \
-               .n_sectors = (_n_sectors),                              \
-               .page_size = 256,                                       \
--              .flags = (_flags),                                      \
--      })
-+              .flags = (_flags),
- #define CAT25_INFO(_sector_size, _n_sectors, _page_size, _addr_width, _flags) \
--      ((kernel_ulong_t)&(struct flash_info) {                         \
-               .sector_size = (_sector_size),                          \
-               .n_sectors = (_n_sectors),                              \
-               .page_size = (_page_size),                              \
-               .addr_width = (_addr_width),                            \
--              .flags = (_flags),                                      \
--      })
-+              .flags = (_flags),
- /* NOTE: double check command sets and memory organization when you add
-  * more nor chips.  This current list focusses on newer chips, which
-  * have been converging on command sets which including JEDEC ID.
-+ *
-+ * All newly added entries should describe *hardware* and should use SECT_4K
-+ * (or SECT_4K_PMC) if hardware supports erasing 4 KiB sectors. For usage
-+ * scenarios excluding small sectors there is config option that can be
-+ * disabled: CONFIG_MTD_SPI_NOR_USE_4K_SECTORS.
-+ * For historical (and compatibility) reasons (before we got above config) some
-+ * old entries may be missing 4K flag.
-  */
--static const struct spi_device_id spi_nor_ids[] = {
-+static const struct flash_info spi_nor_ids[] = {
-       /* Atmel -- some are (confusingly) marketed as "DataFlash" */
-       { "at25fs010",  INFO(0x1f6601, 0, 32 * 1024,   4, SECT_4K) },
-       { "at25fs040",  INFO(0x1f6604, 0, 64 * 1024,   8, SECT_4K) },
-@@ -538,7 +684,7 @@ static const struct spi_device_id spi_no
-       { "en25q64",    INFO(0x1c3017, 0, 64 * 1024,  128, SECT_4K) },
-       { "en25qh128",  INFO(0x1c7018, 0, 64 * 1024,  256, 0) },
-       { "en25qh256",  INFO(0x1c7019, 0, 64 * 1024,  512, 0) },
--      { "en25s64",    INFO(0x1c3817, 0, 64 * 1024,  128, 0) },
-+      { "en25s64",    INFO(0x1c3817, 0, 64 * 1024,  128, SECT_4K) },
-       /* ESMT */
-       { "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64, SECT_4K) },
-@@ -560,7 +706,11 @@ static const struct spi_device_id spi_no
-       { "320s33b",  INFO(0x898912, 0, 64 * 1024,  64, 0) },
-       { "640s33b",  INFO(0x898913, 0, 64 * 1024, 128, 0) },
-+      /* ISSI */
-+      { "is25cd512", INFO(0x7f9d20, 0, 32 * 1024,   2, SECT_4K) },
-+
-       /* Macronix */
-+      { "mx25l512e",   INFO(0xc22010, 0, 64 * 1024,   1, SECT_4K) },
-       { "mx25l2005a",  INFO(0xc22012, 0, 64 * 1024,   4, SECT_4K) },
-       { "mx25l4005a",  INFO(0xc22013, 0, 64 * 1024,   8, SECT_4K) },
-       { "mx25l8005",   INFO(0xc22014, 0, 64 * 1024,  16, 0) },
-@@ -578,7 +728,9 @@ static const struct spi_device_id spi_no
-       /* Micron */
-       { "n25q032",     INFO(0x20ba16, 0, 64 * 1024,   64, SPI_NOR_QUAD_READ) },
--      { "n25q064",     INFO(0x20ba17, 0, 64 * 1024,  128, SPI_NOR_QUAD_READ) },
-+      { "n25q032a",    INFO(0x20bb16, 0, 64 * 1024,   64, SPI_NOR_QUAD_READ) },
-+      { "n25q064",     INFO(0x20ba17, 0, 64 * 1024,  128, SECT_4K | SPI_NOR_QUAD_READ) },
-+      { "n25q064a",    INFO(0x20bb17, 0, 64 * 1024,  128, SECT_4K | SPI_NOR_QUAD_READ) },
-       { "n25q128a11",  INFO(0x20bb18, 0, 64 * 1024,  256, SPI_NOR_QUAD_READ) },
-       { "n25q128a13",  INFO(0x20ba18, 0, 64 * 1024,  256, SPI_NOR_QUAD_READ) },
-       { "n25q256a",    INFO(0x20ba19, 0, 64 * 1024,  512, SECT_4K | SPI_NOR_QUAD_READ) },
-@@ -595,25 +747,28 @@ static const struct spi_device_id spi_no
-        * for the chips listed here (without boot sectors).
-        */
-       { "s25sl032p",  INFO(0x010215, 0x4d00,  64 * 1024,  64, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
--      { "s25sl064p",  INFO(0x010216, 0x4d00,  64 * 1024, 128, 0) },
-+      { "s25sl064p",  INFO(0x010216, 0x4d00,  64 * 1024, 128, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-       { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, 0) },
-       { "s25fl256s1", INFO(0x010219, 0x4d01,  64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-       { "s25fl512s",  INFO(0x010220, 0x4d00, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-       { "s70fl01gs",  INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) },
-       { "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024,  64, 0) },
-       { "s25sl12801", INFO(0x012018, 0x0301,  64 * 1024, 256, 0) },
--      { "s25fl128s",  INFO6(0x012018, 0x4d0180, 64 * 1024, 256, SPI_NOR_QUAD_READ) },
--      { "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024,  64, 0) },
--      { "s25fl129p1", INFO(0x012018, 0x4d01,  64 * 1024, 256, 0) },
-+      { "s25fl128s",  INFO6(0x012018, 0x4d0180, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) },
-+      { "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024,  64, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-+      { "s25fl129p1", INFO(0x012018, 0x4d01,  64 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-       { "s25sl004a",  INFO(0x010212,      0,  64 * 1024,   8, 0) },
-       { "s25sl008a",  INFO(0x010213,      0,  64 * 1024,  16, 0) },
-       { "s25sl016a",  INFO(0x010214,      0,  64 * 1024,  32, 0) },
-       { "s25sl032a",  INFO(0x010215,      0,  64 * 1024,  64, 0) },
-       { "s25sl064a",  INFO(0x010216,      0,  64 * 1024, 128, 0) },
--      { "s25fl008k",  INFO(0xef4014,      0,  64 * 1024,  16, SECT_4K) },
--      { "s25fl016k",  INFO(0xef4015,      0,  64 * 1024,  32, SECT_4K) },
-+      { "s25fl004k",  INFO(0xef4013,      0,  64 * 1024,   8, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-+      { "s25fl008k",  INFO(0xef4014,      0,  64 * 1024,  16, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-+      { "s25fl016k",  INFO(0xef4015,      0,  64 * 1024,  32, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-       { "s25fl064k",  INFO(0xef4017,      0,  64 * 1024, 128, SECT_4K) },
--      { "s25fl132k",  INFO(0x014016,      0,  64 * 1024,  64, 0) },
-+      { "s25fl132k",  INFO(0x014016,      0,  64 * 1024,  64, SECT_4K) },
-+      { "s25fl164k",  INFO(0x014017,      0,  64 * 1024, 128, SECT_4K) },
-+      { "s25fl204k",  INFO(0x014013,      0,  64 * 1024,   8, SECT_4K | SPI_NOR_DUAL_READ) },
-       /* SST -- large erase sizes are "overlays", "sectors" are 4K */
-       { "sst25vf040b", INFO(0xbf258d, 0, 64 * 1024,  8, SECT_4K | SST_WRITE) },
-@@ -624,6 +779,8 @@ static const struct spi_device_id spi_no
-       { "sst25wf512",  INFO(0xbf2501, 0, 64 * 1024,  1, SECT_4K | SST_WRITE) },
-       { "sst25wf010",  INFO(0xbf2502, 0, 64 * 1024,  2, SECT_4K | SST_WRITE) },
-       { "sst25wf020",  INFO(0xbf2503, 0, 64 * 1024,  4, SECT_4K | SST_WRITE) },
-+      { "sst25wf020a", INFO(0x621612, 0, 64 * 1024,  4, SECT_4K) },
-+      { "sst25wf040b", INFO(0x621613, 0, 64 * 1024,  8, SECT_4K) },
-       { "sst25wf040",  INFO(0xbf2504, 0, 64 * 1024,  8, SECT_4K | SST_WRITE) },
-       { "sst25wf080",  INFO(0xbf2505, 0, 64 * 1024, 16, SECT_4K | SST_WRITE) },
-@@ -672,10 +829,11 @@ static const struct spi_device_id spi_no
-       { "w25x16", INFO(0xef3015, 0, 64 * 1024,  32, SECT_4K) },
-       { "w25x32", INFO(0xef3016, 0, 64 * 1024,  64, SECT_4K) },
-       { "w25q32", INFO(0xef4016, 0, 64 * 1024,  64, SECT_4K) },
--      { "w25q32dw", INFO(0xef6016, 0, 64 * 1024,  64, SECT_4K) },
-+      { "w25q32dw", INFO(0xef6016, 0, 64 * 1024,  64, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-       { "w25x64", INFO(0xef3017, 0, 64 * 1024, 128, SECT_4K) },
-       { "w25q64", INFO(0xef4017, 0, 64 * 1024, 128, SECT_4K) },
--      { "w25q64dw", INFO(0xef6017, 0, 64 * 1024, 128, SECT_4K) },
-+      { "w25q64dw", INFO(0xef6017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-+      { "w25q128fw", INFO(0xef6018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
-       { "w25q80", INFO(0xef5014, 0, 64 * 1024,  16, SECT_4K) },
-       { "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) },
-       { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
-@@ -690,11 +848,11 @@ static const struct spi_device_id spi_no
-       { },
- };
--static const struct spi_device_id *spi_nor_read_id(struct spi_nor *nor)
-+static const struct flash_info *spi_nor_read_id(struct spi_nor *nor)
- {
-       int                     tmp;
-       u8                      id[SPI_NOR_MAX_ID_LEN];
--      struct flash_info       *info;
-+      const struct flash_info *info;
-       tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN);
-       if (tmp < 0) {
-@@ -703,7 +861,7 @@ static const struct spi_device_id *spi_n
-       }
-       for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) {
--              info = (void *)spi_nor_ids[tmp].driver_data;
-+              info = &spi_nor_ids[tmp];
-               if (info->id_len) {
-                       if (!memcmp(info->id, id, info->id_len))
-                               return &spi_nor_ids[tmp];
-@@ -857,8 +1015,7 @@ static int macronix_quad_enable(struct s
-       val = read_sr(nor);
-       write_enable(nor);
--      nor->cmd_buf[0] = val | SR_QUAD_EN_MX;
--      nor->write_reg(nor, SPINOR_OP_WRSR, nor->cmd_buf, 1, 0);
-+      write_sr(nor, val | SR_QUAD_EN_MX);
-       if (spi_nor_wait_till_ready(nor))
-               return 1;
-@@ -883,7 +1040,7 @@ static int write_sr_cr(struct spi_nor *n
-       nor->cmd_buf[0] = val & 0xff;
-       nor->cmd_buf[1] = (val >> 8);
--      return nor->write_reg(nor, SPINOR_OP_WRSR, nor->cmd_buf, 2, 0);
-+      return nor->write_reg(nor, SPINOR_OP_WRSR, nor->cmd_buf, 2);
- }
- static int spansion_quad_enable(struct spi_nor *nor)
-@@ -925,7 +1082,7 @@ static int micron_quad_enable(struct spi
-       /* set EVCR, enable quad I/O */
-       nor->cmd_buf[0] = val & ~EVCR_QUAD_EN_MICRON;
--      ret = nor->write_reg(nor, SPINOR_OP_WD_EVCR, nor->cmd_buf, 1, 0);
-+      ret = nor->write_reg(nor, SPINOR_OP_WD_EVCR, nor->cmd_buf, 1);
-       if (ret < 0) {
-               dev_err(nor->dev, "error while writing EVCR register\n");
-               return ret;
-@@ -949,19 +1106,19 @@ static int micron_quad_enable(struct spi
-       return 0;
- }
--static int set_quad_mode(struct spi_nor *nor, struct flash_info *info)
-+static int set_quad_mode(struct spi_nor *nor, const struct flash_info *info)
- {
-       int status;
-       switch (JEDEC_MFR(info)) {
--      case CFI_MFR_MACRONIX:
-+      case SNOR_MFR_MACRONIX:
-               status = macronix_quad_enable(nor);
-               if (status) {
-                       dev_err(nor->dev, "Macronix quad-read not enabled\n");
-                       return -EINVAL;
-               }
-               return status;
--      case CFI_MFR_ST:
-+      case SNOR_MFR_MICRON:
-               status = micron_quad_enable(nor);
-               if (status) {
-                       dev_err(nor->dev, "Micron quad-read not enabled\n");
-@@ -991,11 +1148,10 @@ static int spi_nor_check(struct spi_nor
- int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
- {
--      const struct spi_device_id      *id = NULL;
--      struct flash_info               *info;
-+      const struct flash_info *info = NULL;
-       struct device *dev = nor->dev;
--      struct mtd_info *mtd = nor->mtd;
--      struct device_node *np = dev->of_node;
-+      struct mtd_info *mtd = &nor->mtd;
-+      struct device_node *np = nor->flash_node;
-       int ret;
-       int i;
-@@ -1003,27 +1159,25 @@ int spi_nor_scan(struct spi_nor *nor, co
-       if (ret)
-               return ret;
--      /* Try to auto-detect if chip name wasn't specified */
--      if (!name)
--              id = spi_nor_read_id(nor);
--      else
--              id = spi_nor_match_id(name);
--      if (IS_ERR_OR_NULL(id))
-+      if (name)
-+              info = spi_nor_match_id(name);
-+      /* Try to auto-detect if chip name wasn't specified or not found */
-+      if (!info)
-+              info = spi_nor_read_id(nor);
-+      if (IS_ERR_OR_NULL(info))
-               return -ENOENT;
--      info = (void *)id->driver_data;
--
-       /*
-        * If caller has specified name of flash model that can normally be
-        * detected using JEDEC, let's verify it.
-        */
-       if (name && info->id_len) {
--              const struct spi_device_id *jid;
-+              const struct flash_info *jinfo;
--              jid = spi_nor_read_id(nor);
--              if (IS_ERR(jid)) {
--                      return PTR_ERR(jid);
--              } else if (jid != id) {
-+              jinfo = spi_nor_read_id(nor);
-+              if (IS_ERR(jinfo)) {
-+                      return PTR_ERR(jinfo);
-+              } else if (jinfo != info) {
-                       /*
-                        * JEDEC knows better, so overwrite platform ID. We
-                        * can't trust partitions any longer, but we'll let
-@@ -1032,28 +1186,29 @@ int spi_nor_scan(struct spi_nor *nor, co
-                        * information, even if it's not 100% accurate.
-                        */
-                       dev_warn(dev, "found %s, expected %s\n",
--                               jid->name, id->name);
--                      id = jid;
--                      info = (void *)jid->driver_data;
-+                               jinfo->name, info->name);
-+                      info = jinfo;
-               }
-       }
-       mutex_init(&nor->lock);
-       /*
--       * Atmel, SST and Intel/Numonyx serial nor tend to power
--       * up with the software protection bits set
-+       * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
-+       * with the software protection bits set
-        */
--      if (JEDEC_MFR(info) == CFI_MFR_ATMEL ||
--          JEDEC_MFR(info) == CFI_MFR_INTEL ||
--          JEDEC_MFR(info) == CFI_MFR_SST) {
-+      if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
-+          JEDEC_MFR(info) == SNOR_MFR_INTEL ||
-+          JEDEC_MFR(info) == SNOR_MFR_SST ||
-+          JEDEC_MFR(info) == SNOR_MFR_WINBOND) {
-               write_enable(nor);
-               write_sr(nor, 0);
-       }
-       if (!mtd->name)
-               mtd->name = dev_name(dev);
-+      mtd->priv = nor;
-       mtd->type = MTD_NORFLASH;
-       mtd->writesize = 1;
-       mtd->flags = MTD_CAP_NORFLASH;
-@@ -1061,15 +1216,18 @@ int spi_nor_scan(struct spi_nor *nor, co
-       mtd->_erase = spi_nor_erase;
-       mtd->_read = spi_nor_read;
--      /* nor protection support for STmicro chips */
--      if (JEDEC_MFR(info) == CFI_MFR_ST) {
-+      /* NOR protection support for STmicro/Micron chips and similar */
-+      if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||
-+          JEDEC_MFR(info) == SNOR_MFR_WINBOND) {
-               nor->flash_lock = stm_lock;
-               nor->flash_unlock = stm_unlock;
-+              nor->flash_is_locked = stm_is_locked;
-       }
--      if (nor->flash_lock && nor->flash_unlock) {
-+      if (nor->flash_lock && nor->flash_unlock && nor->flash_is_locked) {
-               mtd->_lock = spi_nor_lock;
-               mtd->_unlock = spi_nor_unlock;
-+              mtd->_is_locked = spi_nor_is_locked;
-       }
-       /* sst nor chips use AAI word program */
-@@ -1156,7 +1314,7 @@ 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;
--              if (JEDEC_MFR(info) == CFI_MFR_AMD) {
-+              if (JEDEC_MFR(info) == SNOR_MFR_SPANSION) {
-                       /* Dedicated 4-byte command set */
-                       switch (nor->flash_read) {
-                       case SPI_NOR_QUAD:
-@@ -1184,7 +1342,7 @@ int spi_nor_scan(struct spi_nor *nor, co
-       nor->read_dummy = spi_nor_read_dummy_cycles(nor);
--      dev_info(dev, "%s (%lld Kbytes)\n", id->name,
-+      dev_info(dev, "%s (%lld Kbytes)\n", info->name,
-                       (long long)mtd->size >> 10);
-       dev_dbg(dev,
-@@ -1207,11 +1365,11 @@ int spi_nor_scan(struct spi_nor *nor, co
- }
- EXPORT_SYMBOL_GPL(spi_nor_scan);
--static const struct spi_device_id *spi_nor_match_id(const char *name)
-+static const struct flash_info *spi_nor_match_id(const char *name)
- {
--      const struct spi_device_id *id = spi_nor_ids;
-+      const struct flash_info *id = spi_nor_ids;
--      while (id->name[0]) {
-+      while (id->name) {
-               if (!strcmp(name, id->name))
-                       return id;
-               id++;
---- a/include/linux/mtd/spi-nor.h
-+++ b/include/linux/mtd/spi-nor.h
-@@ -10,6 +10,23 @@
- #ifndef __LINUX_MTD_SPI_NOR_H
- #define __LINUX_MTD_SPI_NOR_H
-+#include <linux/bitops.h>
-+#include <linux/mtd/cfi.h>
-+
-+/*
-+ * Manufacturer IDs
-+ *
-+ * The first byte returned from the flash after sending opcode SPINOR_OP_RDID.
-+ * Sometimes these are the same as CFI IDs, but sometimes they aren't.
-+ */
-+#define SNOR_MFR_ATMEL                CFI_MFR_ATMEL
-+#define SNOR_MFR_INTEL                CFI_MFR_INTEL
-+#define SNOR_MFR_MICRON               CFI_MFR_ST /* ST Micro <--> Micron */
-+#define SNOR_MFR_MACRONIX     CFI_MFR_MACRONIX
-+#define SNOR_MFR_SPANSION     CFI_MFR_AMD
-+#define SNOR_MFR_SST          CFI_MFR_SST
-+#define SNOR_MFR_WINBOND      0xef
-+
- /*
-  * Note on opcode nomenclature: some opcodes have a format like
-  * SPINOR_OP_FUNCTION{4,}_x_y_z. The numbers x, y, and z stand for the number
-@@ -61,24 +78,24 @@
- #define SPINOR_OP_WD_EVCR      0x61    /* Write EVCR register */
- /* Status Register bits. */
--#define SR_WIP                        1       /* Write in progress */
--#define SR_WEL                        2       /* Write enable latch */
-+#define SR_WIP                        BIT(0)  /* Write in progress */
-+#define SR_WEL                        BIT(1)  /* Write enable latch */
- /* meaning of other SR_* bits may differ between vendors */
--#define SR_BP0                        4       /* Block protect 0 */
--#define SR_BP1                        8       /* Block protect 1 */
--#define SR_BP2                        0x10    /* Block protect 2 */
--#define SR_SRWD                       0x80    /* SR write protect */
-+#define SR_BP0                        BIT(2)  /* Block protect 0 */
-+#define SR_BP1                        BIT(3)  /* Block protect 1 */
-+#define SR_BP2                        BIT(4)  /* Block protect 2 */
-+#define SR_SRWD                       BIT(7)  /* SR write protect */
--#define SR_QUAD_EN_MX         0x40    /* Macronix Quad I/O */
-+#define SR_QUAD_EN_MX         BIT(6)  /* Macronix Quad I/O */
- /* Enhanced Volatile Configuration Register bits */
--#define EVCR_QUAD_EN_MICRON    0x80    /* Micron Quad I/O */
-+#define EVCR_QUAD_EN_MICRON   BIT(7)  /* Micron Quad I/O */
- /* Flag Status Register bits */
--#define FSR_READY             0x80
-+#define FSR_READY             BIT(7)
- /* Configuration Register bits. */
--#define CR_QUAD_EN_SPAN               0x2     /* Spansion Quad I/O */
-+#define CR_QUAD_EN_SPAN               BIT(1)  /* Spansion Quad I/O */
- enum read_mode {
-       SPI_NOR_NORMAL = 0,
-@@ -87,33 +104,6 @@ enum read_mode {
-       SPI_NOR_QUAD,
- };
--/**
-- * struct spi_nor_xfer_cfg - Structure for defining a Serial Flash transfer
-- * @wren:             command for "Write Enable", or 0x00 for not required
-- * @cmd:              command for operation
-- * @cmd_pins:         number of pins to send @cmd (1, 2, 4)
-- * @addr:             address for operation
-- * @addr_pins:                number of pins to send @addr (1, 2, 4)
-- * @addr_width:               number of address bytes
-- *                    (3,4, or 0 for address not required)
-- * @mode:             mode data
-- * @mode_pins:                number of pins to send @mode (1, 2, 4)
-- * @mode_cycles:      number of mode cycles (0 for mode not required)
-- * @dummy_cycles:     number of dummy cycles (0 for dummy not required)
-- */
--struct spi_nor_xfer_cfg {
--      u8              wren;
--      u8              cmd;
--      u8              cmd_pins;
--      u32             addr;
--      u8              addr_pins;
--      u8              addr_width;
--      u8              mode;
--      u8              mode_pins;
--      u8              mode_cycles;
--      u8              dummy_cycles;
--};
--
- #define SPI_NOR_MAX_CMD_SIZE  8
- enum spi_nor_ops {
-       SPI_NOR_OPS_READ = 0,
-@@ -127,11 +117,14 @@ enum spi_nor_option_flags {
-       SNOR_F_USE_FSR          = BIT(0),
- };
-+struct mtd_info;
-+
- /**
-  * struct spi_nor - Structure for defining a the SPI NOR layer
-  * @mtd:              point to a mtd_info structure
-  * @lock:             the lock for the read/write/erase/lock/unlock operations
-  * @dev:              point to a spi device, or a spi nor controller device.
-+ * @flash_node:               point to a device node describing this flash instance.
-  * @page_size:                the page size of the SPI NOR
-  * @addr_width:  &nbs