summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2017-05-23 10:22:13 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2017-05-23 10:22:13 +0200
commitc7b14c3b515929facd97301d7f2988cc3b3ff48e (patch)
treeac4deae8439c6837dbc57afec4d471d8f348838a
parenta6566b6584e4b21c65d9162205440b0707a238e6 (diff)
parent9dd5b58701bc4a05e8ebd4c5a94bfbc44a4ba9c1 (diff)
downloadkernel-c7b14c3b515929facd97301d7f2988cc3b3ff48e.tar.gz
kernel-c7b14c3b515929facd97301d7f2988cc3b3ff48e.tar.xz
kernel-c7b14c3b515929facd97301d7f2988cc3b3ff48e.zip
merge orging/f25
-rw-r--r--0001-dccp-tcp-do-not-inherit-mc_list-from-parent.patch41
-rw-r--r--0001-efi-libstub-Treat-missing-SecureBoot-variable-as-Sec.patch53
-rw-r--r--0001-ipv6-Prevent-overrun-when-parsing-v6-header-options.patch231
-rw-r--r--0001-ipv6-dccp-do-not-inherit-ipv6_mc_list-from-parent.patch64
-rw-r--r--0001-sctp-do-not-inherit-ipv6_-mc-ac-fl-_list-from-parent.patch33
-rw-r--r--AllWinner-h3.patch1080
-rw-r--r--AllWinner-net-emac.patch3930
-rw-r--r--CVE-2017-7477.patch73
-rw-r--r--CVE-2017-7645.patch180
-rw-r--r--arm-imx6-hummingboard2.patch413
-rw-r--r--arm-rk3288-tinker.patch573
-rw-r--r--arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch29
-rw-r--r--arm64-hikey-fixes.patch77
-rw-r--r--arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch93
-rw-r--r--baseconfig/CONFIG_ARCH_TEGRA_186_SOC1
-rw-r--r--baseconfig/CONFIG_ARM64_PTDUMP1
-rw-r--r--baseconfig/CONFIG_ARM_SCPI_PROTOCOL1
-rw-r--r--baseconfig/CONFIG_BATTERY_GOLDFISH1
-rw-r--r--baseconfig/CONFIG_BLK_DEBUG_FS1
-rw-r--r--baseconfig/CONFIG_BLK_SED_OPAL1
-rw-r--r--baseconfig/CONFIG_BT_HCIUART_NOKIA1
-rw-r--r--baseconfig/CONFIG_CGROUP_RDMA1
-rw-r--r--baseconfig/CONFIG_CHARGER_DETECTOR_MAX146561
-rw-r--r--baseconfig/CONFIG_CHARGER_SBS1
-rw-r--r--baseconfig/CONFIG_CM36051
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_HI35191
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT27011
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT81351
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT81731
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_OXNAS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_VC51
-rw-r--r--baseconfig/CONFIG_COMMON_RESET_HI36601
-rw-r--r--baseconfig/CONFIG_CRYPTO_AES_TI1
-rw-r--r--baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE1
-rw-r--r--baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE1
-rw-r--r--baseconfig/CONFIG_DEBUG_REFCOUNT1
-rw-r--r--baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible1
-rw-r--r--baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug (renamed from baseconfig/CONFIG_DPM_WATCHDOG)0
-rw-r--r--baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST1
-rw-r--r--baseconfig/CONFIG_DRM_I2C_ADV75332
-rw-r--r--baseconfig/CONFIG_DRM_MALI_DISPLAY1
-rw-r--r--baseconfig/CONFIG_DRM_TINYDRM1
-rw-r--r--baseconfig/CONFIG_DVB_USB_ZD13011
-rw-r--r--baseconfig/CONFIG_EEPROM_IDT_89HPESX1
-rw-r--r--baseconfig/CONFIG_EMAC_ROCKCHIP1
-rw-r--r--baseconfig/CONFIG_EXTCON_INTEL_INT34961
-rw-r--r--baseconfig/CONFIG_FB_GOLDFISH1
-rw-r--r--baseconfig/CONFIG_FSI1
-rw-r--r--baseconfig/CONFIG_GPIO_EXAR1
-rw-r--r--baseconfig/CONFIG_GPIO_PCI_IDIO_161
-rw-r--r--baseconfig/CONFIG_GPIO_SYSFS2
-rw-r--r--baseconfig/CONFIG_GPIO_ZX1
-rw-r--r--baseconfig/CONFIG_HX7111
-rw-r--r--baseconfig/CONFIG_IIO_ST_LSM6DSX1
-rw-r--r--baseconfig/CONFIG_INET6_ESP_OFFLOAD1
-rw-r--r--baseconfig/CONFIG_INET_ESP_OFFLOAD1
-rw-r--r--baseconfig/CONFIG_INFINIBAND_BNXT_RE1
-rw-r--r--baseconfig/CONFIG_INTEL_RDT_A1
-rw-r--r--baseconfig/CONFIG_IPVTAP1
-rw-r--r--baseconfig/CONFIG_IR_SPI1
-rw-r--r--baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY1
-rw-r--r--baseconfig/CONFIG_KPROBE_EVENT1
-rw-r--r--baseconfig/CONFIG_KPROBE_EVENTS1
-rw-r--r--baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED1
-rw-r--r--baseconfig/CONFIG_LPFC_NVME_INITIATOR1
-rw-r--r--baseconfig/CONFIG_LPFC_NVME_TARGET1
-rw-r--r--baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL1
-rw-r--r--baseconfig/CONFIG_MAX111001
-rw-r--r--baseconfig/CONFIG_MAX54811
-rw-r--r--baseconfig/CONFIG_MESON_GXL_PHY1
-rw-r--r--baseconfig/CONFIG_MFD_CPCAP1
-rw-r--r--baseconfig/CONFIG_MOUSE_PS2_VMMOUSE1
-rw-r--r--baseconfig/CONFIG_MQ_IOSCHED_DEADLINE1
-rw-r--r--baseconfig/CONFIG_NET_ACT_SAMPLE1
-rw-r--r--baseconfig/CONFIG_NET_IFE1
-rw-r--r--baseconfig/CONFIG_NET_L3_MASTER_DEV2
-rw-r--r--baseconfig/CONFIG_NET_VENDOR_AQUANTIA1
-rw-r--r--baseconfig/CONFIG_NFP1
-rw-r--r--baseconfig/CONFIG_NFP_DEBUG1
-rw-r--r--baseconfig/CONFIG_NFT_SET_BITMAP1
-rw-r--r--baseconfig/CONFIG_PARMAN1
-rw-r--r--baseconfig/CONFIG_PC1041
-rw-r--r--baseconfig/CONFIG_PHY_QCOM_USB_HS1
-rw-r--r--baseconfig/CONFIG_PHY_QCOM_USB_HSIC1
-rw-r--r--baseconfig/CONFIG_PINCTRL_TI_IODELAY1
-rw-r--r--baseconfig/CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT1
-rw-r--r--baseconfig/CONFIG_PSAMPLE1
-rw-r--r--baseconfig/CONFIG_PWRSEQ_SD87871
-rw-r--r--baseconfig/CONFIG_QCOM_EBI21
-rw-r--r--baseconfig/CONFIG_QEDF1
-rw-r--r--baseconfig/CONFIG_RADIO_WL128X1
-rw-r--r--baseconfig/CONFIG_REGULATOR_CPCAP1
-rw-r--r--baseconfig/CONFIG_SENSORS_STTS7511
-rw-r--r--baseconfig/CONFIG_SERIAL_8250_EXAR1
-rw-r--r--baseconfig/CONFIG_SERIAL_8250_PCI1
-rw-r--r--baseconfig/CONFIG_SERIAL_DEV_BUS1
-rw-r--r--baseconfig/CONFIG_SERIAL_DEV_CTRL_TTYPORT1
-rw-r--r--baseconfig/CONFIG_SMC1
-rw-r--r--baseconfig/CONFIG_SND_SIMPLE_SCU_CARD2
-rw-r--r--baseconfig/CONFIG_SND_SOC_NAU85401
-rw-r--r--baseconfig/CONFIG_SND_SOC_TAS571X (renamed from baseconfig/arm/armv7/CONFIG_SND_SOC_TAS571X)0
-rw-r--r--baseconfig/CONFIG_SOC_ZTE1
-rw-r--r--baseconfig/CONFIG_SRF081
-rw-r--r--baseconfig/CONFIG_STATIC_USERMODEHELPER1
-rw-r--r--baseconfig/CONFIG_TEGRA_GMI1
-rw-r--r--baseconfig/CONFIG_TEST_PARMAN1
-rw-r--r--baseconfig/CONFIG_TEST_SORT1
-rw-r--r--baseconfig/CONFIG_TI_ADS79501
-rw-r--r--baseconfig/CONFIG_TI_TLC45411
-rw-r--r--baseconfig/CONFIG_TMP0071
-rw-r--r--baseconfig/CONFIG_TOUCHSCREEN_ZET62231
-rw-r--r--baseconfig/CONFIG_UPROBE_EVENT1
-rw-r--r--baseconfig/CONFIG_UPROBE_EVENTS1
-rw-r--r--baseconfig/CONFIG_USB_CHIPIDEA_ULPI1
-rw-r--r--baseconfig/CONFIG_USB_HUB_USB251XB1
-rw-r--r--baseconfig/CONFIG_USB_SERIAL_UPD78F07301
-rw-r--r--baseconfig/CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT1
-rw-r--r--baseconfig/CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS1
-rw-r--r--baseconfig/CONFIG_VIDEO_SAMSUNG_S5P_CEC1
-rw-r--r--baseconfig/CONFIG_VIRTIO_BLK_SCSI1
-rw-r--r--baseconfig/CONFIG_W1_SLAVE_DS24051
-rw-r--r--baseconfig/CONFIG_WW_MUTEX_SELFTEST1
-rw-r--r--baseconfig/arm/CONFIG_AGP1
-rw-r--r--baseconfig/arm/CONFIG_COMMON_CLK_MAX77686 (renamed from baseconfig/arm/arm64/CONFIG_COMMON_CLK_MAX77686)0
-rw-r--r--baseconfig/arm/CONFIG_CRYPTO_CHACHA20_NEON1
-rw-r--r--baseconfig/arm/CONFIG_DMA_SUN6I1
-rw-r--r--baseconfig/arm/CONFIG_DRM_MESON (renamed from baseconfig/arm/arm64/CONFIG_DRM_MESON)0
-rw-r--r--baseconfig/arm/CONFIG_DRM_NXP_PTN34601
-rw-r--r--baseconfig/arm/CONFIG_DRM_PARADE_PS86221
-rw-r--r--baseconfig/arm/CONFIG_DRM_TINYDRM1
-rw-r--r--baseconfig/arm/CONFIG_DRM_VMWGFX1
-rw-r--r--baseconfig/arm/CONFIG_DWMAC_DWC_QOS_ETH1
-rw-r--r--baseconfig/arm/CONFIG_DWMAC_GENERIC (renamed from baseconfig/arm/armv7/CONFIG_DWMAC_GENERIC)0
-rw-r--r--baseconfig/arm/CONFIG_DWMAC_IPQ806X1
-rw-r--r--baseconfig/arm/CONFIG_I2C_TEGRA_BPMP1
-rw-r--r--baseconfig/arm/CONFIG_IOMMU_IO_PGTABLE_LPAE (renamed from baseconfig/arm/armv7/CONFIG_IOMMU_IO_PGTABLE_LPAE)0
-rw-r--r--baseconfig/arm/CONFIG_LEDS_GPIO (renamed from baseconfig/arm/armv7/CONFIG_LEDS_GPIO)0
-rw-r--r--baseconfig/arm/CONFIG_LEDS_GPIO_REGISTER (renamed from baseconfig/arm/armv7/CONFIG_LEDS_GPIO_REGISTER)0
-rw-r--r--baseconfig/arm/CONFIG_LEDS_PWM (renamed from baseconfig/arm/armv7/CONFIG_LEDS_PWM)0
-rw-r--r--baseconfig/arm/CONFIG_LEDS_SYSCON (renamed from baseconfig/arm/armv7/CONFIG_LEDS_SYSCON)0
-rw-r--r--baseconfig/arm/CONFIG_LEDS_TRIGGER_CPU (renamed from baseconfig/arm/armv7/CONFIG_LEDS_TRIGGER_CPU)0
-rw-r--r--baseconfig/arm/CONFIG_MESON_SARADC1
-rw-r--r--baseconfig/arm/CONFIG_MFD_MAX77686 (renamed from baseconfig/arm/armv7/CONFIG_MFD_MAX77686)0
-rw-r--r--baseconfig/arm/CONFIG_MMC_BCM28351
-rw-r--r--baseconfig/arm/CONFIG_MTD_PHYSMAP_OF_GEMINI1
-rw-r--r--baseconfig/arm/CONFIG_MVPP2 (renamed from baseconfig/arm/armv7/CONFIG_MVPP2)0
-rw-r--r--baseconfig/arm/CONFIG_PHY_QCOM_USB_HS1
-rw-r--r--baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC1
-rw-r--r--baseconfig/arm/CONFIG_PINCTRL_GEMINILAKE1
-rw-r--r--baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER1
-rw-r--r--baseconfig/arm/CONFIG_QORIQ_CPUFREQ1
-rw-r--r--baseconfig/arm/CONFIG_REGULATOR_MAX77686 (renamed from baseconfig/arm/armv7/CONFIG_REGULATOR_MAX77686)0
-rw-r--r--baseconfig/arm/CONFIG_REGULATOR_MAX77802 (renamed from baseconfig/arm/armv7/CONFIG_REGULATOR_MAX77802)0
-rw-r--r--baseconfig/arm/CONFIG_REGULATOR_PWM2
-rw-r--r--baseconfig/arm/CONFIG_RFKILL_REGULATOR1
-rw-r--r--baseconfig/arm/CONFIG_SERIAL_NONSTANDARD1
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_AC97_CODEC (renamed from baseconfig/arm/armv7/CONFIG_SND_SOC_AC97_CODEC)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_ES8328 (renamed from baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_ES8328_I2C (renamed from baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328_I2C)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_ES8328_SPI (renamed from baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328_SPI)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_RK3288_HDMI_ANALOG1
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_RK3399_GRU_SOUND1
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_TEGRA_ALC5632 (renamed from baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_ALC5632)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_TEGRA_TRIMSLICE (renamed from baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_TRIMSLICE)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_TEGRA_WM8903 (renamed from baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM8903)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_TEGRA_WM9712 (renamed from baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM9712)0
-rw-r--r--baseconfig/arm/CONFIG_SND_SOC_TS3A227E (renamed from baseconfig/arm/armv7/CONFIG_SND_SOC_TS3A227E)0
-rw-r--r--baseconfig/arm/CONFIG_STMMAC_PLATFORM (renamed from baseconfig/arm/armv7/CONFIG_STMMAC_PLATFORM)0
-rw-r--r--baseconfig/arm/CONFIG_SUN50I_A64_CCU (renamed from baseconfig/CONFIG_SUN50I_A64_CCU)0
-rw-r--r--baseconfig/arm/CONFIG_SUN5I_CCU1
-rw-r--r--baseconfig/arm/CONFIG_SUN6I_A31_CCU (renamed from baseconfig/CONFIG_SUN6I_A31_CCU)0
-rw-r--r--baseconfig/arm/CONFIG_SUN8I_A23_CCU (renamed from baseconfig/CONFIG_SUN8I_A23_CCU)0
-rw-r--r--baseconfig/arm/CONFIG_SUN8I_A33_CCU (renamed from baseconfig/CONFIG_SUN8I_A33_CCU)0
-rw-r--r--baseconfig/arm/CONFIG_SUN8I_H3_CCU1
-rw-r--r--baseconfig/arm/CONFIG_SUN8I_V3S_CCU1
-rw-r--r--baseconfig/arm/CONFIG_SUN9I_A80_CCU1
-rw-r--r--baseconfig/arm/CONFIG_SUNXI_CCU (renamed from baseconfig/CONFIG_SUNXI_CCU)0
-rw-r--r--baseconfig/arm/CONFIG_SYSCON_REBOOT_MODE1
-rw-r--r--baseconfig/arm/CONFIG_TINYDRM_MI0283QT1
-rw-r--r--baseconfig/arm/CONFIG_TINYDRM_MIPI_DBI1
-rw-r--r--baseconfig/arm/arm64/CONFIG_ARCH_MESON1
-rw-r--r--baseconfig/arm/arm64/CONFIG_ARCH_THUNDER21
-rw-r--r--baseconfig/arm/arm64/CONFIG_ARM64_4K_PAGES1
-rw-r--r--baseconfig/arm/arm64/CONFIG_ARM64_64K_PAGES1
-rw-r--r--baseconfig/arm/arm64/CONFIG_ARMADA_AP806_SYSCON1
-rw-r--r--baseconfig/arm/arm64/CONFIG_CAVIUM_CPT1
-rw-r--r--baseconfig/arm/arm64/CONFIG_CHARGER_AXP20X1
-rw-r--r--baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3516CV300 (renamed from baseconfig/CONFIG_COMMON_CLK_HI3516CV300)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI35191
-rw-r--r--baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI36601
-rw-r--r--baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3798CV200 (renamed from baseconfig/CONFIG_COMMON_CLK_HI3798CV200)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_COMMON_CLK_PWM1
-rw-r--r--baseconfig/arm/arm64/CONFIG_COMPAT1
-rw-r--r--baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM641
-rw-r--r--baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_BS1
-rw-r--r--baseconfig/arm/arm64/CONFIG_DEBUG_EFI1
-rw-r--r--baseconfig/arm/arm64/CONFIG_DWMAC_IPQ806X1
-rw-r--r--baseconfig/arm/arm64/CONFIG_DWMAC_SUN8I1
-rw-r--r--baseconfig/arm/arm64/CONFIG_DWMAC_SUNXI1
-rw-r--r--baseconfig/arm/arm64/CONFIG_FORCE_MAX_ZONEORDER1
-rw-r--r--baseconfig/arm/arm64/CONFIG_HISILICON_ERRATUM_1610101011
-rw-r--r--baseconfig/arm/arm64/CONFIG_MFD_SUN4I_GPADC (renamed from baseconfig/CONFIG_MFD_SUN4I_GPADC)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_PHY_SUN4I_USB2
-rw-r--r--baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_10031
-rw-r--r--baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_10091
-rw-r--r--baseconfig/arm/arm64/CONFIG_QCOM_L2_PMU1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SATA_AHCI_PLATFORM1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_KIRKWOOD_SOC1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_APQ8016_SBC1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_QCOM1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_SGTL5000 (renamed from baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_SGTL5000)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_STORM1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_MAX980901
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT56401
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT56771
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_SGTL50001
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_WM8753 (renamed from baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM8753)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SUN4I_I2S1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SUN4I_SPDIF1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC_ANALOG (renamed from baseconfig/CONFIG_SND_SUN8I_CODEC_ANALOG)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_SUN50I_A64_CCU1
-rw-r--r--baseconfig/arm/arm64/CONFIG_SUN8I_EMAC1
-rw-r--r--baseconfig/arm/arm64/CONFIG_TEGRA_IVC (renamed from baseconfig/CONFIG_TEGRA_IVC)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_VDSO1
-rw-r--r--baseconfig/arm/armv7/CONFIG_ARCH_MESON1
-rw-r--r--baseconfig/arm/armv7/CONFIG_CHARGER_AXP20X1
-rw-r--r--baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX776861
-rw-r--r--baseconfig/arm/armv7/CONFIG_DEBUG_RODATA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_MESON1
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_STI2
-rw-r--r--baseconfig/arm/armv7/CONFIG_DWMAC_SUN8I1
-rw-r--r--baseconfig/arm/armv7/CONFIG_FORCE_MAX_ZONEORDER (renamed from baseconfig/arm/CONFIG_FORCE_MAX_ZONEORDER)0
-rw-r--r--baseconfig/arm/armv7/CONFIG_GPIO_EM1
-rw-r--r--baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO1
-rw-r--r--baseconfig/arm/armv7/CONFIG_MACH_MESON61
-rw-r--r--baseconfig/arm/armv7/CONFIG_MACH_MESON81
-rw-r--r--baseconfig/arm/armv7/CONFIG_MACH_MESON8B1
-rw-r--r--baseconfig/arm/armv7/CONFIG_MFD_SUN4I_GPADC (renamed from baseconfig/arm/CONFIG_MFD_SUN4I_GPADC)0
-rw-r--r--baseconfig/arm/armv7/CONFIG_PATA_PLATFORM1
-rw-r--r--baseconfig/arm/armv7/CONFIG_PHY_EXYNOS_PCIE1
-rw-r--r--baseconfig/arm/armv7/CONFIG_ROCKCHIP_CDN_DP1
-rw-r--r--baseconfig/arm/armv7/CONFIG_RPMSG_CHAR1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC_CONSOLE1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SND_SOC_RK3399_GRU_SOUND1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SND_SOC_SGTL50001
-rw-r--r--baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_SGTL50002
-rw-r--r--baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_WM87531
-rw-r--r--baseconfig/arm/armv7/CONFIG_SND_SUN8I_CODEC1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SND_SUN8I_CODEC_ANALOG (renamed from baseconfig/arm/CONFIG_SND_SUN8I_CODEC_ANALOG)0
-rw-r--r--baseconfig/arm/armv7/CONFIG_SPI_PXA2XX1
-rw-r--r--baseconfig/arm/armv7/CONFIG_STRICT_KERNEL_RWX1
-rw-r--r--baseconfig/arm/armv7/CONFIG_STRICT_MODULE_RWX1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN5I_CCU1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN6I_A31_CCU1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN8I_A23_CCU1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN8I_A33_CCU1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN8I_EMAC1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN8I_V3S_CCU1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN9I_A80_CCU1
-rw-r--r--baseconfig/arm/armv7/CONFIG_TEGRA_IVC1
-rw-r--r--baseconfig/arm/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS2
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_AHCI_ST1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ARCH_STI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ARM_STI_CPUFREQ1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_DWMAC_IPQ806X1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_DWMAC_STI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_HW_RANDOM_ST1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_I2C_IMX_LPI2C (renamed from baseconfig/CONFIG_I2C_IMX_LPI2C)0
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA_SLAVE1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_I2C_ST1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_KEYBOARD_ST_KEYSCAN1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_MMC_SDHCI_ST1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_OMAP_MUX_DEBUG1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY28LP1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY365X1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH407_USB1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH41X_USB1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_ST1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_PWM_STI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_RC_ST1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP2
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_ST_LPC1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI_SAS1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA_WM87531
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH4071
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH4151
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH4161
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SPI_ST_SSC41
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_STI_MBOX1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ST_FDMA1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ST_LPC_WATCHDOG1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ST_REMOTEPROC1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_MEMMAP1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_SYSCFG1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS2
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS_MOD1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_USB_DWC3_ST1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_USB_EHCI_HCD_STI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_STI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_IMX_VDOA1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_BDISP1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_DRIVER1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_MJPEG1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HDMI_CEC1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA_DEBUGFS1
-rw-r--r--baseconfig/arm/armv7/lpae/CONFIG_VDSO1
-rw-r--r--baseconfig/powerpc/CONFIG_AGP2
-rw-r--r--baseconfig/powerpc/CONFIG_GENWQE1
-rw-r--r--baseconfig/powerpc/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY1
-rw-r--r--baseconfig/powerpc/CONFIG_GPIO_SCH1
-rw-r--r--baseconfig/powerpc/CONFIG_LEDS_TRIGGER_GPIO1
-rw-r--r--baseconfig/powerpc/powerpc64/CONFIG_AGP1
-rw-r--r--baseconfig/s390x/CONFIG_ALIM7101_WDT1
-rw-r--r--baseconfig/s390x/CONFIG_ALTERA_STAPL1
-rw-r--r--baseconfig/s390x/CONFIG_ALTERA_TSE1
-rw-r--r--baseconfig/s390x/CONFIG_APDS9802ALS1
-rw-r--r--baseconfig/s390x/CONFIG_BE2ISCSI1
-rw-r--r--baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA1
-rw-r--r--baseconfig/s390x/CONFIG_BLK_DEV_3W_XXXX_RAID1
-rw-r--r--baseconfig/s390x/CONFIG_BLK_DEV_DAC9601
-rw-r--r--baseconfig/s390x/CONFIG_BLK_DEV_SKD1
-rw-r--r--baseconfig/s390x/CONFIG_BLK_DEV_SX81
-rw-r--r--baseconfig/s390x/CONFIG_BLK_DEV_UMEM1
-rw-r--r--baseconfig/s390x/CONFIG_CAN1
-rw-r--r--baseconfig/s390x/CONFIG_CHARGER_SMB3471
-rw-r--r--baseconfig/s390x/CONFIG_DMADEVICES1
-rw-r--r--baseconfig/s390x/CONFIG_DNET1
-rw-r--r--baseconfig/s390x/CONFIG_DP83640_PHY1
-rw-r--r--baseconfig/s390x/CONFIG_ECHO1
-rw-r--r--baseconfig/s390x/CONFIG_ENCLOSURE_SERVICES1
-rw-r--r--baseconfig/s390x/CONFIG_ETHOC1
-rw-r--r--baseconfig/s390x/CONFIG_FDDI1
-rw-r--r--baseconfig/s390x/CONFIG_FEALNX1
-rw-r--r--baseconfig/s390x/CONFIG_GENWQE1
-rw-r--r--baseconfig/s390x/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY1
-rw-r--r--baseconfig/s390x/CONFIG_GPIOLIB1
-rw-r--r--baseconfig/s390x/CONFIG_HID2
-rw-r--r--baseconfig/s390x/CONFIG_HIPPI1
-rw-r--r--baseconfig/s390x/CONFIG_HWMON2
-rw-r--r--baseconfig/s390x/CONFIG_I2C_ALGOBIT1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_ALGOPCA1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_ALGOPCF1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_CHARDEV1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_COMPAT1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_DESIGNWARE_PCI1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_HID1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_PCA_PLATFORM1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_SIMTEC1
-rw-r--r--baseconfig/s390x/CONFIG_I2C_SLAVE1
-rw-r--r--baseconfig/s390x/CONFIG_I6300ESB_WDT1
-rw-r--r--baseconfig/s390x/CONFIG_IIO1
-rw-r--r--baseconfig/s390x/CONFIG_INFINIBAND_CXGB31
-rw-r--r--baseconfig/s390x/CONFIG_INFINIBAND_CXGB41
-rw-r--r--baseconfig/s390x/CONFIG_INFINIBAND_MTHCA1
-rw-r--r--baseconfig/s390x/CONFIG_INFINIBAND_NES1
-rw-r--r--baseconfig/s390x/CONFIG_INFINIBAND_OCRDMA1
-rw-r--r--baseconfig/s390x/CONFIG_INFINIBAND_QIB1
-rw-r--r--baseconfig/s390x/CONFIG_INPUT_FF_MEMLESS1
-rw-r--r--baseconfig/s390x/CONFIG_INPUT_MOUSEDEV1
-rw-r--r--baseconfig/s390x/CONFIG_INPUT_POLLDEV1
-rw-r--r--baseconfig/s390x/CONFIG_INPUT_SPARSEKMAP1
-rw-r--r--baseconfig/s390x/CONFIG_IP10001
-rw-r--r--baseconfig/s390x/CONFIG_ISL290031
-rw-r--r--baseconfig/s390x/CONFIG_ISL290201
-rw-r--r--baseconfig/s390x/CONFIG_JME1
-rw-r--r--baseconfig/s390x/CONFIG_MEGARAID_LEGACY1
-rw-r--r--baseconfig/s390x/CONFIG_MEGARAID_NEWGEN1
-rw-r--r--baseconfig/s390x/CONFIG_MEGARAID_SAS1
-rw-r--r--baseconfig/s390x/CONFIG_MFD_CORE2
-rw-r--r--baseconfig/s390x/CONFIG_MLXSW_CORE1
-rw-r--r--baseconfig/s390x/CONFIG_NET_CADENCE1
-rw-r--r--baseconfig/s390x/CONFIG_NET_PACKET_ENGINE1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_3COM1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_83901
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_ADAPTEC1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_AGERE1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_ALTEON1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_AMAZON1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_AMD1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_ATHEROS1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_BROADCOM1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_BROCADE1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_CHELSIO1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_CISCO1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_DEC1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_DLINK1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_EMULEX1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_EXAR1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_HP1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_MICREL1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_MYRI1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_NETRONOME1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_NVIDIA1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_OKI1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_QLOGIC1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_RDC1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_REALTEK1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_ROCKER1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_SEEQ1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_SILAN1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_SIS1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_SMSC1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_STMICRO1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_SUN1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_TEHUTI1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_TI1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_WIZNET1
-rw-r--r--baseconfig/s390x/CONFIG_NET_VENDOR_XIRCOM1
-rw-r--r--baseconfig/s390x/CONFIG_NEW_LEDS1
-rw-r--r--baseconfig/s390x/CONFIG_NFC1
-rw-r--r--baseconfig/s390x/CONFIG_NOZOMI1
-rw-r--r--baseconfig/s390x/CONFIG_N_GSM1
-rw-r--r--baseconfig/s390x/CONFIG_PCIPCWATCHDOG1
-rw-r--r--baseconfig/s390x/CONFIG_PM_DEVFREQ1
-rw-r--r--baseconfig/s390x/CONFIG_POWER_RESET1
-rw-r--r--baseconfig/s390x/CONFIG_PWM1
-rw-r--r--baseconfig/s390x/CONFIG_R39641
-rw-r--r--baseconfig/s390x/CONFIG_RESET_CONTROLLER1
-rw-r--r--baseconfig/s390x/CONFIG_RFKILL1
-rw-r--r--baseconfig/s390x/CONFIG_RMI4_CORE1
-rw-r--r--baseconfig/s390x/CONFIG_RMI4_F031
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_3W_9XXX1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_3W_SAS1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_AACRAID1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_ACARD1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_AIC79XX1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_AIC7XXX1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_AM53C9741
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_ARCMSR1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_BFA_FC1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_BNX2X_FCOE1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_BNX2_ISCSI1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_CHELSIO_FCOE1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_CXGB3_ISCSI1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_CXGB4_ISCSI1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_DC395x1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_DH1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_DMX3191D1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_ESAS2R1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_HPSA1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_HPTIOP1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_INIA1001
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_INITIO1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_IPS1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_LPFC1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_MPT2SAS1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_MPT3SAS1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_MVSAS1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_MVUMI1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_PM80011
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_PMCRAID1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_QLA_FC1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_QLA_ISCSI1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_QLOGIC_12801
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_SNIC1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_STEX1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_SYM53C8XX_21
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_UFSHCD1
-rw-r--r--baseconfig/s390x/CONFIG_SCSI_WD719X1
-rw-r--r--baseconfig/s390x/CONFIG_SENSORS_APDS990X1
-rw-r--r--baseconfig/s390x/CONFIG_SENSORS_BH17701
-rw-r--r--baseconfig/s390x/CONFIG_SENSORS_LIS3LV02D1
-rw-r--r--baseconfig/s390x/CONFIG_SENSORS_LIS3_I2C1
-rw-r--r--baseconfig/s390x/CONFIG_SENSORS_TSL25501
-rw-r--r--baseconfig/s390x/CONFIG_SERIAL_NONSTANDARD1
-rw-r--r--baseconfig/s390x/CONFIG_SERIO_LIBPS21
-rw-r--r--baseconfig/s390x/CONFIG_SERIO_SERPORT1
-rw-r--r--baseconfig/s390x/CONFIG_SFC1
-rw-r--r--baseconfig/s390x/CONFIG_UIO1
-rw-r--r--baseconfig/s390x/CONFIG_WDTPCI1
-rw-r--r--baseconfig/s390x/CONFIG_XILLYBUS1
-rw-r--r--baseconfig/x86/CONFIG_CRYPTO_CRC32C_INTEL (renamed from baseconfig/CONFIG_CRYPTO_CRC32C_INTEL)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I810 (renamed from baseconfig/CONFIG_DRM_I810)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I915 (renamed from baseconfig/CONFIG_DRM_I915)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I915_ALPHA_SUPPORT (renamed from baseconfig/CONFIG_DRM_I915_ALPHA_SUPPORT)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I915_CAPTURE_ERROR (renamed from baseconfig/CONFIG_DRM_I915_CAPTURE_ERROR)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I915_COMPRESS_ERROR (renamed from baseconfig/CONFIG_DRM_I915_COMPRESS_ERROR)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I915_GVT (renamed from baseconfig/CONFIG_DRM_I915_GVT)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I915_GVT_KVMGT (renamed from baseconfig/CONFIG_DRM_I915_GVT_KVMGT)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_I915_USERPTR (renamed from baseconfig/CONFIG_DRM_I915_USERPTR)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_VMWGFX (renamed from baseconfig/CONFIG_DRM_VMWGFX)0
-rw-r--r--baseconfig/x86/CONFIG_DRM_VMWGFX_FBCON (renamed from baseconfig/CONFIG_DRM_VMWGFX_FBCON)0
-rw-r--r--baseconfig/x86/CONFIG_FB_ARC (renamed from baseconfig/CONFIG_FB_ARC)0
-rw-r--r--baseconfig/x86/CONFIG_FB_GEODE (renamed from baseconfig/CONFIG_FB_GEODE)0
-rw-r--r--baseconfig/x86/CONFIG_FB_HGA (renamed from baseconfig/CONFIG_FB_HGA)0
-rw-r--r--baseconfig/x86/CONFIG_FB_I810 (renamed from baseconfig/CONFIG_FB_I810)0
-rw-r--r--baseconfig/x86/CONFIG_FB_I810_GTF (renamed from baseconfig/CONFIG_FB_I810_GTF)0
-rw-r--r--baseconfig/x86/CONFIG_FB_I810_I2C (renamed from baseconfig/CONFIG_FB_I810_I2C)0
-rw-r--r--baseconfig/x86/CONFIG_FB_LE80578 (renamed from baseconfig/CONFIG_FB_LE80578)0
-rw-r--r--baseconfig/x86/CONFIG_FB_VGA16 (renamed from baseconfig/CONFIG_FB_VGA16)0
-rw-r--r--baseconfig/x86/CONFIG_FB_VIA (renamed from baseconfig/CONFIG_FB_VIA)0
-rw-r--r--baseconfig/x86/CONFIG_FB_VIA_DIRECT_PROCFS (renamed from baseconfig/CONFIG_FB_VIA_DIRECT_PROCFS)0
-rw-r--r--baseconfig/x86/CONFIG_GPIO_AMD8111 (renamed from baseconfig/CONFIG_GPIO_AMD8111)0
-rw-r--r--baseconfig/x86/CONFIG_GPIO_CS5535 (renamed from baseconfig/CONFIG_GPIO_CS5535)0
-rw-r--r--baseconfig/x86/CONFIG_GPIO_ML_IOH (renamed from baseconfig/CONFIG_GPIO_ML_IOH)0
-rw-r--r--baseconfig/x86/CONFIG_GPIO_SCH (renamed from baseconfig/CONFIG_GPIO_SCH)0
-rw-r--r--baseconfig/x86/CONFIG_GPIO_VX855 (renamed from baseconfig/CONFIG_GPIO_VX855)0
-rw-r--r--baseconfig/x86/CONFIG_HDMI_LPE_AUDIO1
-rw-r--r--baseconfig/x86/CONFIG_I2C_PXA (renamed from baseconfig/CONFIG_I2C_PXA)0
-rw-r--r--baseconfig/x86/CONFIG_I2C_PXA_SLAVE (renamed from baseconfig/CONFIG_I2C_PXA_SLAVE)0
-rw-r--r--baseconfig/x86/CONFIG_IB700_WDT (renamed from baseconfig/CONFIG_IB700_WDT)0
-rw-r--r--baseconfig/x86/CONFIG_IBMASR (renamed from baseconfig/CONFIG_IBMASR)0
-rw-r--r--baseconfig/x86/CONFIG_INTEL_MENLOW (renamed from baseconfig/CONFIG_INTEL_MENLOW)0
-rw-r--r--baseconfig/x86/CONFIG_LEDS_INTEL_SS4200 (renamed from baseconfig/CONFIG_LEDS_INTEL_SS4200)0
-rw-r--r--baseconfig/x86/CONFIG_MFD_AXP20X1
-rw-r--r--baseconfig/x86/CONFIG_NIC7018_WDT1
-rw-r--r--baseconfig/x86/CONFIG_PINCTRL_GEMINILAKE1
-rw-r--r--baseconfig/x86/CONFIG_PTP_1588_CLOCK_KVM1
-rw-r--r--baseconfig/x86/CONFIG_SERIAL_8250_LPSS1
-rw-r--r--baseconfig/x86/CONFIG_SILEAD_DMI1
-rw-r--r--baseconfig/x86/CONFIG_SND_SOC_ES83281
-rw-r--r--baseconfig/x86/CONFIG_SND_SOC_ES8328_I2C1
-rw-r--r--baseconfig/x86/CONFIG_SND_SOC_ES8328_SPI1
-rw-r--r--baseconfig/x86/CONFIG_SND_SOC_NAU85401
-rw-r--r--baseconfig/x86/CONFIG_SND_SOC_TAS571X1
-rw-r--r--baseconfig/x86/CONFIG_SND_SOC_TS3A227E (renamed from baseconfig/x86/i686/CONFIG_SND_SOC_TS3A227E)0
-rw-r--r--baseconfig/x86/CONFIG_SND_X861
-rw-r--r--baseconfig/x86/CONFIG_VMWARE_BALLOON (renamed from baseconfig/CONFIG_VMWARE_BALLOON)0
-rw-r--r--baseconfig/x86/CONFIG_VMWARE_PVSCSI (renamed from baseconfig/CONFIG_VMWARE_PVSCSI)0
-rw-r--r--baseconfig/x86/CONFIG_XEN_PVH (renamed from baseconfig/x86/x86_64/CONFIG_XEN_PVH)0
-rw-r--r--baseconfig/x86/i686/CONFIG_I2C_PXA1
-rw-r--r--baseconfig/x86/i686/CONFIG_LEDS_INTEL_SS42001
-rw-r--r--baseconfig/x86/i686PAE/CONFIG_I2C_PXA1
-rw-r--r--baseconfig/x86/i686PAE/CONFIG_LEDS_INTEL_SS42001
-rw-r--r--baseconfig/x86/i686PAE/CONFIG_SND_SOC_TS3A227E1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_EDAC_PND21
-rw-r--r--baseconfig/x86/x86_64/CONFIG_INTEL_TURBO_MAX_31
-rw-r--r--baseconfig/x86/x86_64/CONFIG_SND_SOC_TS3A227E1
-rw-r--r--bcm283x-VEC.patch58
-rw-r--r--bcm283x-hdmi-audio.patch836
-rw-r--r--bcm283x-mmc-bcm2835.patch1827
-rw-r--r--bcm283x-mmc-imp-speed.patch107
-rw-r--r--debugconfig/CONFIG_DEBUG_REFCOUNT1
-rw-r--r--efi-lockdown.patch1156
-rw-r--r--filter-aarch64.sh2
-rw-r--r--filter-armv7hl.sh2
-rwxr-xr-xfilter-modules.sh2
-rw-r--r--geekbox-v4-device-tree-support.patch138
-rw-r--r--kernel-aarch64-debug.config247
-rw-r--r--kernel-aarch64.config247
-rw-r--r--kernel-armv7hl-debug.config251
-rw-r--r--kernel-armv7hl-lpae-debug.config211
-rw-r--r--kernel-armv7hl-lpae.config212
-rw-r--r--kernel-armv7hl.config252
-rw-r--r--kernel-i686-PAE.config136
-rw-r--r--kernel-i686-PAEdebug.config135
-rw-r--r--kernel-i686-debug.config135
-rw-r--r--kernel-i686.config136
-rw-r--r--kernel-ppc64-debug.config162
-rw-r--r--kernel-ppc64.config163
-rw-r--r--kernel-ppc64le-debug.config164
-rw-r--r--kernel-ppc64le.config165
-rw-r--r--kernel-ppc64p7-debug.config164
-rw-r--r--kernel-ppc64p7.config165
-rw-r--r--kernel-s390x-debug.config465
-rw-r--r--kernel-s390x.config466
-rw-r--r--kernel-x86_64-debug.config136
-rw-r--r--kernel-x86_64.config137
-rw-r--r--kernel.spec101
-rw-r--r--media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch45
-rw-r--r--powerpc-prom-Increase-RMA-size-to-512MB.patch52
-rw-r--r--selinux-allow-context-mounts-on-tmpfs-etc.patch57
-rw-r--r--sources6
-rw-r--r--ti-bluetooth.patch2480
-rw-r--r--xgene-Fix-crash-on-DT-systems.patch43
-rw-r--r--xgene_enet-remove-bogus-forward-declarations.patch197
583 files changed, 12752 insertions, 5846 deletions
diff --git a/0001-dccp-tcp-do-not-inherit-mc_list-from-parent.patch b/0001-dccp-tcp-do-not-inherit-mc_list-from-parent.patch
new file mode 100644
index 000000000..677841397
--- /dev/null
+++ b/0001-dccp-tcp-do-not-inherit-mc_list-from-parent.patch
@@ -0,0 +1,41 @@
+From 657831ffc38e30092a2d5f03d385d710eb88b09a Mon Sep 17 00:00:00 2001
+From: Eric Dumazet <edumazet@google.com>
+Date: Tue, 9 May 2017 06:29:19 -0700
+Subject: [PATCH] dccp/tcp: do not inherit mc_list from parent
+
+syzkaller found a way to trigger double frees from ip_mc_drop_socket()
+
+It turns out that leave a copy of parent mc_list at accept() time,
+which is very bad.
+
+Very similar to commit 8b485ce69876 ("tcp: do not inherit
+fastopen_req from parent")
+
+Initial report from Pray3r, completed by Andrey one.
+Thanks a lot to them !
+
+Signed-off-by: Eric Dumazet <edumazet@google.com>
+Reported-by: Pray3r <pray3r.z@gmail.com>
+Reported-by: Andrey Konovalov <andreyknvl@google.com>
+Tested-by: Andrey Konovalov <andreyknvl@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ net/ipv4/inet_connection_sock.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
+index 5e313c1..1054d33 100644
+--- a/net/ipv4/inet_connection_sock.c
++++ b/net/ipv4/inet_connection_sock.c
+@@ -794,6 +794,8 @@ struct sock *inet_csk_clone_lock(const struct sock *sk,
+ /* listeners have SOCK_RCU_FREE, not the children */
+ sock_reset_flag(newsk, SOCK_RCU_FREE);
+
++ inet_sk(newsk)->mc_list = NULL;
++
+ newsk->sk_mark = inet_rsk(req)->ir_mark;
+ atomic64_set(&newsk->sk_cookie,
+ atomic64_read(&inet_rsk(req)->ir_cookie));
+--
+2.9.4
+
diff --git a/0001-efi-libstub-Treat-missing-SecureBoot-variable-as-Sec.patch b/0001-efi-libstub-Treat-missing-SecureBoot-variable-as-Sec.patch
deleted file mode 100644
index 3bbdac708..000000000
--- a/0001-efi-libstub-Treat-missing-SecureBoot-variable-as-Sec.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 52e51f16407b7b34e26affb500a21e250d9fce0b Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Date: Wed, 1 Mar 2017 19:04:35 +0000
-Subject: [PATCH] efi/libstub: Treat missing SecureBoot variable as Secure Boot
- disabled
-
-The newly refactored code that infers the firmware's Secure Boot state
-prints the following error when the EFI variable 'SecureBoot' does not
-exist:
-
- EFI stub: ERROR: Could not determine UEFI Secure Boot status.
-
-However, this variable is only guaranteed to be defined on a system that
-is Secure Boot capable to begin with, and so it is not an error if it is
-missing. So report Secure Boot as being disabled in this case, without
-printing any error messages.
-
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>
-Cc: Matt Fleming <matt@codeblueprint.co.uk>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: linux-efi@vger.kernel.org
-Link: http://lkml.kernel.org/r/1488395076-29712-2-git-send-email-ard.biesheuvel@linaro.org
-Signed-off-by: Ingo Molnar <mingo@kernel.org>
----
- drivers/firmware/efi/libstub/secureboot.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c
-index 6def402..5da36e5 100644
---- a/drivers/firmware/efi/libstub/secureboot.c
-+++ b/drivers/firmware/efi/libstub/secureboot.c
-@@ -45,6 +45,8 @@ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- size = sizeof(secboot);
- status = get_efi_var(efi_SecureBoot_name, &efi_variable_guid,
- NULL, &size, &secboot);
-+ if (status == EFI_NOT_FOUND)
-+ goto secure_boot_disabled;
- if (status != EFI_SUCCESS)
- goto out_efi_err;
-
-@@ -78,7 +80,5 @@ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
-
- out_efi_err:
- pr_efi_err(sys_table_arg, "Could not determine UEFI Secure Boot status.\n");
-- if (status == EFI_NOT_FOUND)
-- goto secure_boot_disabled;
- return efi_secureboot_mode_unknown;
- }
---
-2.9.3
-
diff --git a/0001-ipv6-Prevent-overrun-when-parsing-v6-header-options.patch b/0001-ipv6-Prevent-overrun-when-parsing-v6-header-options.patch
new file mode 100644
index 000000000..b388a6910
--- /dev/null
+++ b/0001-ipv6-Prevent-overrun-when-parsing-v6-header-options.patch
@@ -0,0 +1,231 @@
+From 2423496af35d94a87156b063ea5cedffc10a70a1 Mon Sep 17 00:00:00 2001
+From: Craig Gallek <kraig@google.com>
+Date: Tue, 16 May 2017 14:36:23 -0400
+Subject: [PATCH] ipv6: Prevent overrun when parsing v6 header options
+
+The KASAN warning repoted below was discovered with a syzkaller
+program. The reproducer is basically:
+ int s = socket(AF_INET6, SOCK_RAW, NEXTHDR_HOP);
+ send(s, &one_byte_of_data, 1, MSG_MORE);
+ send(s, &more_than_mtu_bytes_data, 2000, 0);
+
+The socket() call sets the nexthdr field of the v6 header to
+NEXTHDR_HOP, the first send call primes the payload with a non zero
+byte of data, and the second send call triggers the fragmentation path.
+
+The fragmentation code tries to parse the header options in order
+to figure out where to insert the fragment option. Since nexthdr points
+to an invalid option, the calculation of the size of the network header
+can made to be much larger than the linear section of the skb and data
+is read outside of it.
+
+This fix makes ip6_find_1stfrag return an error if it detects
+running out-of-bounds.
+
+[ 42.361487] ==================================================================
+[ 42.364412] BUG: KASAN: slab-out-of-bounds in ip6_fragment+0x11c8/0x3730
+[ 42.365471] Read of size 840 at addr ffff88000969e798 by task ip6_fragment-oo/3789
+[ 42.366469]
+[ 42.366696] CPU: 1 PID: 3789 Comm: ip6_fragment-oo Not tainted 4.11.0+ #41
+[ 42.367628] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.1-1ubuntu1 04/01/2014
+[ 42.368824] Call Trace:
+[ 42.369183] dump_stack+0xb3/0x10b
+[ 42.369664] print_address_description+0x73/0x290
+[ 42.370325] kasan_report+0x252/0x370
+[ 42.370839] ? ip6_fragment+0x11c8/0x3730
+[ 42.371396] check_memory_region+0x13c/0x1a0
+[ 42.371978] memcpy+0x23/0x50
+[ 42.372395] ip6_fragment+0x11c8/0x3730
+[ 42.372920] ? nf_ct_expect_unregister_notifier+0x110/0x110
+[ 42.373681] ? ip6_copy_metadata+0x7f0/0x7f0
+[ 42.374263] ? ip6_forward+0x2e30/0x2e30
+[ 42.374803] ip6_finish_output+0x584/0x990
+[ 42.375350] ip6_output+0x1b7/0x690
+[ 42.375836] ? ip6_finish_output+0x990/0x990
+[ 42.376411] ? ip6_fragment+0x3730/0x3730
+[ 42.376968] ip6_local_out+0x95/0x160
+[ 42.377471] ip6_send_skb+0xa1/0x330
+[ 42.377969] ip6_push_pending_frames+0xb3/0xe0
+[ 42.378589] rawv6_sendmsg+0x2051/0x2db0
+[ 42.379129] ? rawv6_bind+0x8b0/0x8b0
+[ 42.379633] ? _copy_from_user+0x84/0xe0
+[ 42.380193] ? debug_check_no_locks_freed+0x290/0x290
+[ 42.380878] ? ___sys_sendmsg+0x162/0x930
+[ 42.381427] ? rcu_read_lock_sched_held+0xa3/0x120
+[ 42.382074] ? sock_has_perm+0x1f6/0x290
+[ 42.382614] ? ___sys_sendmsg+0x167/0x930
+[ 42.383173] ? lock_downgrade+0x660/0x660
+[ 42.383727] inet_sendmsg+0x123/0x500
+[ 42.384226] ? inet_sendmsg+0x123/0x500
+[ 42.384748] ? inet_recvmsg+0x540/0x540
+[ 42.385263] sock_sendmsg+0xca/0x110
+[ 42.385758] SYSC_sendto+0x217/0x380
+[ 42.386249] ? SYSC_connect+0x310/0x310
+[ 42.386783] ? __might_fault+0x110/0x1d0
+[ 42.387324] ? lock_downgrade+0x660/0x660
+[ 42.387880] ? __fget_light+0xa1/0x1f0
+[ 42.388403] ? __fdget+0x18/0x20
+[ 42.388851] ? sock_common_setsockopt+0x95/0xd0
+[ 42.389472] ? SyS_setsockopt+0x17f/0x260
+[ 42.390021] ? entry_SYSCALL_64_fastpath+0x5/0xbe
+[ 42.390650] SyS_sendto+0x40/0x50
+[ 42.391103] entry_SYSCALL_64_fastpath+0x1f/0xbe
+[ 42.391731] RIP: 0033:0x7fbbb711e383
+[ 42.392217] RSP: 002b:00007ffff4d34f28 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
+[ 42.393235] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fbbb711e383
+[ 42.394195] RDX: 0000000000001000 RSI: 00007ffff4d34f60 RDI: 0000000000000003
+[ 42.395145] RBP: 0000000000000046 R08: 00007ffff4d34f40 R09: 0000000000000018
+[ 42.396056] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000400aad
+[ 42.396598] R13: 0000000000000066 R14: 00007ffff4d34ee0 R15: 00007fbbb717af00
+[ 42.397257]
+[ 42.397411] Allocated by task 3789:
+[ 42.397702] save_stack_trace+0x16/0x20
+[ 42.398005] save_stack+0x46/0xd0
+[ 42.398267] kasan_kmalloc+0xad/0xe0
+[ 42.398548] kasan_slab_alloc+0x12/0x20
+[ 42.398848] __kmalloc_node_track_caller+0xcb/0x380
+[ 42.399224] __kmalloc_reserve.isra.32+0x41/0xe0
+[ 42.399654] __alloc_skb+0xf8/0x580
+[ 42.400003] sock_wmalloc+0xab/0xf0
+[ 42.400346] __ip6_append_data.isra.41+0x2472/0x33d0
+[ 42.400813] ip6_append_data+0x1a8/0x2f0
+[ 42.401122] rawv6_sendmsg+0x11ee/0x2db0
+[ 42.401505] inet_sendmsg+0x123/0x500
+[ 42.401860] sock_sendmsg+0xca/0x110
+[ 42.402209] ___sys_sendmsg+0x7cb/0x930
+[ 42.402582] __sys_sendmsg+0xd9/0x190
+[ 42.402941] SyS_sendmsg+0x2d/0x50
+[ 42.403273] entry_SYSCALL_64_fastpath+0x1f/0xbe
+[ 42.403718]
+[ 42.403871] Freed by task 1794:
+[ 42.404146] save_stack_trace+0x16/0x20
+[ 42.404515] save_stack+0x46/0xd0
+[ 42.404827] kasan_slab_free+0x72/0xc0
+[ 42.405167] kfree+0xe8/0x2b0
+[ 42.405462] skb_free_head+0x74/0xb0
+[ 42.405806] skb_release_data+0x30e/0x3a0
+[ 42.406198] skb_release_all+0x4a/0x60
+[ 42.406563] consume_skb+0x113/0x2e0
+[ 42.406910] skb_free_datagram+0x1a/0xe0
+[ 42.407288] netlink_recvmsg+0x60d/0xe40
+[ 42.407667] sock_recvmsg+0xd7/0x110
+[ 42.408022] ___sys_recvmsg+0x25c/0x580
+[ 42.408395] __sys_recvmsg+0xd6/0x190
+[ 42.408753] SyS_recvmsg+0x2d/0x50
+[ 42.409086] entry_SYSCALL_64_fastpath+0x1f/0xbe
+[ 42.409513]
+[ 42.409665] The buggy address belongs to the object at ffff88000969e780
+[ 42.409665] which belongs to the cache kmalloc-512 of size 512
+[ 42.410846] The buggy address is located 24 bytes inside of
+[ 42.410846] 512-byte region [ffff88000969e780, ffff88000969e980)
+[ 42.411941] The buggy address belongs to the page:
+[ 42.412405] page:ffffea000025a780 count:1 mapcount:0 mapping: (null) index:0x0 compound_mapcount: 0
+[ 42.413298] flags: 0x100000000008100(slab|head)
+[ 42.413729] raw: 0100000000008100 0000000000000000 0000000000000000 00000001800c000c
+[ 42.414387] raw: ffffea00002a9500 0000000900000007 ffff88000c401280 0000000000000000
+[ 42.415074] page dumped because: kasan: bad access detected
+[ 42.415604]
+[ 42.415757] Memory state around the buggy address:
+[ 42.416222] ffff88000969e880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+[ 42.416904] ffff88000969e900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+[ 42.417591] >ffff88000969e980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
+[ 42.418273] ^
+[ 42.418588] ffff88000969ea00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
+[ 42.419273] ffff88000969ea80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
+[ 42.419882] ==================================================================
+
+Reported-by: Andrey Konovalov <andreyknvl@google.com>
+Signed-off-by: Craig Gallek <kraig@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ net/ipv6/ip6_offload.c | 2 ++
+ net/ipv6/ip6_output.c | 4 ++++
+ net/ipv6/output_core.c | 14 ++++++++------
+ net/ipv6/udp_offload.c | 2 ++
+ 4 files changed, 16 insertions(+), 6 deletions(-)
+
+diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
+index 93e58a5..eab36ab 100644
+--- a/net/ipv6/ip6_offload.c
++++ b/net/ipv6/ip6_offload.c
+@@ -117,6 +117,8 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb,
+
+ if (udpfrag) {
+ unfrag_ip6hlen = ip6_find_1stfragopt(skb, &prevhdr);
++ if (unfrag_ip6hlen < 0)
++ return ERR_PTR(unfrag_ip6hlen);
+ fptr = (struct frag_hdr *)((u8 *)ipv6h + unfrag_ip6hlen);
+ fptr->frag_off = htons(offset);
+ if (skb->next)
+diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
+index 58f6288..01deecd 100644
+--- a/net/ipv6/ip6_output.c
++++ b/net/ipv6/ip6_output.c
+@@ -598,6 +598,10 @@ int ip6_fragment(struct net *net, struct sock *sk, struct sk_buff *skb,
+ u8 *prevhdr, nexthdr = 0;
+
+ hlen = ip6_find_1stfragopt(skb, &prevhdr);
++ if (hlen < 0) {
++ err = hlen;
++ goto fail;
++ }
+ nexthdr = *prevhdr;
+
+ mtu = ip6_skb_dst_mtu(skb);
+diff --git a/net/ipv6/output_core.c b/net/ipv6/output_core.c
+index cd42523..e9065b8 100644
+--- a/net/ipv6/output_core.c
++++ b/net/ipv6/output_core.c
+@@ -79,14 +79,13 @@ EXPORT_SYMBOL(ipv6_select_ident);
+ int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr)
+ {
+ u16 offset = sizeof(struct ipv6hdr);
+- struct ipv6_opt_hdr *exthdr =
+- (struct ipv6_opt_hdr *)(ipv6_hdr(skb) + 1);
+ unsigned int packet_len = skb_tail_pointer(skb) -
+ skb_network_header(skb);
+ int found_rhdr = 0;
+ *nexthdr = &ipv6_hdr(skb)->nexthdr;
+
+- while (offset + 1 <= packet_len) {
++ while (offset <= packet_len) {
++ struct ipv6_opt_hdr *exthdr;
+
+ switch (**nexthdr) {
+
+@@ -107,13 +106,16 @@ int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr)
+ return offset;
+ }
+
+- offset += ipv6_optlen(exthdr);
+- *nexthdr = &exthdr->nexthdr;
++ if (offset + sizeof(struct ipv6_opt_hdr) > packet_len)
++ return -EINVAL;
++
+ exthdr = (struct ipv6_opt_hdr *)(skb_network_header(skb) +
+ offset);
++ offset += ipv6_optlen(exthdr);
++ *nexthdr = &exthdr->nexthdr;
+ }
+
+- return offset;
++ return -EINVAL;
+ }
+ EXPORT_SYMBOL(ip6_find_1stfragopt);
+
+diff --git a/net/ipv6/udp_offload.c b/net/ipv6/udp_offload.c
+index ac858c4..b348cff 100644
+--- a/net/ipv6/udp_offload.c
++++ b/net/ipv6/udp_offload.c
+@@ -91,6 +91,8 @@ static struct sk_buff *udp6_ufo_fragment(struct sk_buff *skb,
+ * bytes to insert fragment header.
+ */
+ unfrag_ip6hlen = ip6_find_1stfragopt(skb, &prevhdr);
++ if (unfrag_ip6hlen < 0)
++ return ERR_PTR(unfrag_ip6hlen);
+ nexthdr = *prevhdr;
+ *prevhdr = NEXTHDR_FRAGMENT;
+ unfrag_len = (skb_network_header(skb) - skb_mac_header(skb)) +
+--
+2.9.4
+
diff --git a/0001-ipv6-dccp-do-not-inherit-ipv6_mc_list-from-parent.patch b/0001-ipv6-dccp-do-not-inherit-ipv6_mc_list-from-parent.patch
new file mode 100644
index 000000000..e0492c870
--- /dev/null
+++ b/0001-ipv6-dccp-do-not-inherit-ipv6_mc_list-from-parent.patch
@@ -0,0 +1,64 @@
+From 83eaddab4378db256d00d295bda6ca997cd13a52 Mon Sep 17 00:00:00 2001
+From: WANG Cong <xiyou.wangcong@gmail.com>
+Date: Tue, 9 May 2017 16:59:54 -0700
+Subject: [PATCH] ipv6/dccp: do not inherit ipv6_mc_list from parent
+
+Like commit 657831ffc38e ("dccp/tcp: do not inherit mc_list from parent")
+we should clear ipv6_mc_list etc. for IPv6 sockets too.
+
+Cc: Eric Dumazet <edumazet@google.com>
+Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
+Acked-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ net/dccp/ipv6.c | 6 ++++++
+ net/ipv6/tcp_ipv6.c | 2 ++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c
+index d9b6a4e..b6bbb71 100644
+--- a/net/dccp/ipv6.c
++++ b/net/dccp/ipv6.c
+@@ -426,6 +426,9 @@ static struct sock *dccp_v6_request_recv_sock(const struct sock *sk,
+ newsk->sk_backlog_rcv = dccp_v4_do_rcv;
+ newnp->pktoptions = NULL;
+ newnp->opt = NULL;
++ newnp->ipv6_mc_list = NULL;
++ newnp->ipv6_ac_list = NULL;
++ newnp->ipv6_fl_list = NULL;
+ newnp->mcast_oif = inet6_iif(skb);
+ newnp->mcast_hops = ipv6_hdr(skb)->hop_limit;
+
+@@ -490,6 +493,9 @@ static struct sock *dccp_v6_request_recv_sock(const struct sock *sk,
+ /* Clone RX bits */
+ newnp->rxopt.all = np->rxopt.all;
+
++ newnp->ipv6_mc_list = NULL;
++ newnp->ipv6_ac_list = NULL;
++ newnp->ipv6_fl_list = NULL;
+ newnp->pktoptions = NULL;
+ newnp->opt = NULL;
+ newnp->mcast_oif = inet6_iif(skb);
+diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
+index aeb9497..df5a9ff 100644
+--- a/net/ipv6/tcp_ipv6.c
++++ b/net/ipv6/tcp_ipv6.c
+@@ -1062,6 +1062,7 @@ static struct sock *tcp_v6_syn_recv_sock(const struct sock *sk, struct sk_buff *
+ newtp->af_specific = &tcp_sock_ipv6_mapped_specific;
+ #endif
+
++ newnp->ipv6_mc_list = NULL;
+ newnp->ipv6_ac_list = NULL;
+ newnp->ipv6_fl_list = NULL;
+ newnp->pktoptions = NULL;
+@@ -1131,6 +1132,7 @@ static struct sock *tcp_v6_syn_recv_sock(const struct sock *sk, struct sk_buff *
+ First: no IPv4 options.
+ */
+ newinet->inet_opt = NULL;
++ newnp->ipv6_mc_list = NULL;
+ newnp->ipv6_ac_list = NULL;
+ newnp->ipv6_fl_list = NULL;
+
+--
+2.9.4
+
diff --git a/0001-sctp-do-not-inherit-ipv6_-mc-ac-fl-_list-from-parent.patch b/0001-sctp-do-not-inherit-ipv6_-mc-ac-fl-_list-from-parent.patch
new file mode 100644
index 000000000..8c4339f64
--- /dev/null
+++ b/0001-sctp-do-not-inherit-ipv6_-mc-ac-fl-_list-from-parent.patch
@@ -0,0 +1,33 @@
+From fdcee2cbb8438702ea1b328fb6e0ac5e9a40c7f8 Mon Sep 17 00:00:00 2001
+From: Eric Dumazet <edumazet@google.com>
+Date: Wed, 17 May 2017 07:16:40 -0700
+Subject: [PATCH] sctp: do not inherit ipv6_{mc|ac|fl}_list from parent
+
+SCTP needs fixes similar to 83eaddab4378 ("ipv6/dccp: do not inherit
+ipv6_mc_list from parent"), otherwise bad things can happen.
+
+Signed-off-by: Eric Dumazet <edumazet@google.com>
+Reported-by: Andrey Konovalov <andreyknvl@google.com>
+Tested-by: Andrey Konovalov <andreyknvl@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ net/sctp/ipv6.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c
+index 142b70e..f5b45b8 100644
+--- a/net/sctp/ipv6.c
++++ b/net/sctp/ipv6.c
+@@ -677,6 +677,9 @@ static struct sock *sctp_v6_create_accept_sk(struct sock *sk,
+ newnp = inet6_sk(newsk);
+
+ memcpy(newnp, np, sizeof(struct ipv6_pinfo));
++ newnp->ipv6_mc_list = NULL;
++ newnp->ipv6_ac_list = NULL;
++ newnp->ipv6_fl_list = NULL;
+
+ rcu_read_lock();
+ opt = rcu_dereference(np->opt);
+--
+2.9.4
+
diff --git a/AllWinner-h3.patch b/AllWinner-h3.patch
new file mode 100644
index 000000000..c75da8aa8
--- /dev/null
+++ b/AllWinner-h3.patch
@@ -0,0 +1,1080 @@
+From patchwork Mon Mar 6 17:17:45 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v8, 1/6] ARM: dts: sun8i: h3: drop skeleton.dtsi inclusion in H3 DTSI
+From: Icenowy Zheng <icenowy@aosc.xyz>
+X-Patchwork-Id: 9607205
+Message-Id: <20170306171750.7491-2-icenowy@aosc.xyz>
+To: Rob Herring <robh+dt@kernel.org>,
+ Maxime Ripard <maxime.ripard@free-electrons.com>,
+ Chen-Yu Tsai <wens@csie.org>
+Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com,
+ linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
+ Icenowy Zheng <icenowy@aosc.xyz>
+Date: Tue, 7 Mar 2017 01:17:45 +0800
+
+The skeleton.dtsi file is now deprecated, and do not exist in ARM64
+environment.
+
+Since we will soon reuse most part of H3 DTSI for H5, which is an ARM64
+chip, drop skeleton.dtsi inclusion now.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
+---
+Changes in v8:
+- Add h3: in commit message.
+
+ arch/arm/boot/dts/sun8i-h3.dtsi | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
+index 27780b97c863..9a3435527fde 100644
+--- a/arch/arm/boot/dts/sun8i-h3.dtsi
++++ b/arch/arm/boot/dts/sun8i-h3.dtsi
+@@ -40,8 +40,6 @@
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+-#include "skeleton.dtsi"
+-
+ #include <dt-bindings/clock/sun8i-h3-ccu.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/pinctrl/sun4i-a10.h>
+From patchwork Mon Mar 6 17:17:46 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v8,
+ 2/6] ARM: dts: sun8i: h3: drop pinctrl-a10.h inclusion for H3 DTSI
+From: Icenowy Zheng <icenowy@aosc.xyz>
+X-Patchwork-Id: 9607207
+Message-Id: <20170306171750.7491-3-icenowy@aosc.xyz>
+To: Rob Herring <robh+dt@kernel.org>,
+ Maxime Ripard <maxime.ripard@free-electrons.com>,
+ Chen-Yu Tsai <wens@csie.org>
+Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com,
+ linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
+ Icenowy Zheng <icenowy@aosc.xyz>
+Date: Tue, 7 Mar 2017 01:17:46 +0800
+
+After converting to generic pinconf binding, pinctrl-a10.h is now not
+used at all.
+
+Drop its inclusion for H3 DTSI.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
+---
+Changes in v8:
+- Add h3: in commit message.
+
+ arch/arm/boot/dts/sun8i-h3.dtsi | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
+index 9a3435527fde..b250e6d03b57 100644
+--- a/arch/arm/boot/dts/sun8i-h3.dtsi
++++ b/arch/arm/boot/dts/sun8i-h3.dtsi
+@@ -42,7 +42,6 @@
+
+ #include <dt-bindings/clock/sun8i-h3-ccu.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+-#include <dt-bindings/pinctrl/sun4i-a10.h>
+ #include <dt-bindings/reset/sun8i-h3-ccu.h>
+
+ / {
+From patchwork Mon Mar 6 17:17:47 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v8,
+ 3/6] ARM: dts: sun8i: h3: correct the GIC compatible in H3 to gic-400
+From: Icenowy Zheng <icenowy@aosc.xyz>
+X-Patchwork-Id: 9607209
+Message-Id: <20170306171750.7491-4-icenowy@aosc.xyz>
+To: Rob Herring <robh+dt@kernel.org>,
+ Maxime Ripard <maxime.ripard@free-electrons.com>,
+ Chen-Yu Tsai <wens@csie.org>
+Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com,
+ linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
+ Icenowy Zheng <icenowy@aosc.xyz>
+Date: Tue, 7 Mar 2017 01:17:47 +0800
+
+According to the datasheets provided by Allwinner, both Allwinner H3 and
+H5 use GIC-400 as their interrupt controller.
+
+For better device tree reusing, correct the GIC compatible in H3 DTSI to
+"arm,gic-400", thus this node can be reused in H5.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
+---
+Changes in v8:
+- Add h3: in commit message.
+
+ arch/arm/boot/dts/sun8i-h3.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
+index b250e6d03b57..c13fbfb92592 100644
+--- a/arch/arm/boot/dts/sun8i-h3.dtsi
++++ b/arch/arm/boot/dts/sun8i-h3.dtsi
+@@ -586,7 +586,7 @@
+ };
+
+ gic: interrupt-controller@01c81000 {
+- compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
++ compatible = "arm,gic-400";
+ reg = <0x01c81000 0x1000>,
+ <0x01c82000 0x2000>,
+ <0x01c84000 0x2000>,
+From patchwork Mon Mar 6 17:17:48 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v8,4/6] arm: dts: sun8i: h3: split Allwinner H3 .dtsi
+From: Icenowy Zheng <icenowy@aosc.xyz>
+X-Patchwork-Id: 9607211
+Message-Id: <20170306171750.7491-5-icenowy@aosc.xyz>
+To: Rob Herring <robh+dt@kernel.org>,
+ Maxime Ripard <maxime.ripard@free-electrons.com>,
+ Chen-Yu Tsai <wens@csie.org>
+Cc: devicetree@vger.kernel.org, Andre Przywara <andre.przywara@arm.com>,
+ linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com,
+ Icenowy Zheng <icenowy@aosc.xyz>, linux-arm-kernel@lists.infradead.org
+Date: Tue, 7 Mar 2017 01:17:48 +0800
+
+From: Andre Przywara <andre.przywara@arm.com>
+
+The new Allwinner H5 SoC is pin-compatible to the H3 SoC, but with the
+Cortex-A7 cores replaced by Cortex-A53 cores and the MMC controller
+updated. So we should really share almost the whole .dtsi.
+In preparation for that move the peripheral parts of the existing
+sun8i-h3.dtsi into a new sunxi-h3-h5.dtsi.
+The actual sun8i-h3.dtsi then includes that and defines the H3 specific
+parts on top of it.
+
+Signed-off-by: Andre Przywara <andre.przywara@arm.com>
+[Icenowy: also split out mmc and gic, as well as pio and ccu's
+ compatible, and make drop of skeleton into a seperated patch]
+Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
+---
+Changes in v8:
+- Add h3: in commit message.
+Changes in v7:
+- Extract GIC, skeleton.dtsi and pinctrl-a10.h changes to seperate patches.
+Changes in v6:
+- Extract GIC device node to sunxi-h3-h5.dtsi and correct its compatible
+ as "arm,gic-400".
+Changes in v3:
+- Use label-based syntax to reference nodes in H3 DTSI file.
+Changes in v2:
+- Rebase on current linux-next (because of the add of audio codec)
+
+ arch/arm/boot/dts/sun8i-h3.dtsi | 771 ++++-----------------
+ .../boot/dts/{sun8i-h3.dtsi => sunxi-h3-h5.dtsi} | 73 +-
+ 2 files changed, 133 insertions(+), 711 deletions(-)
+ rewrite arch/arm/boot/dts/sun8i-h3.dtsi (83%)
+ copy arch/arm/boot/dts/{sun8i-h3.dtsi => sunxi-h3-h5.dtsi} (90%)
+
+diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
+dissimilarity index 83%
+index c13fbfb92592..b36f9f423c39 100644
+--- a/arch/arm/boot/dts/sun8i-h3.dtsi
++++ b/arch/arm/boot/dts/sun8i-h3.dtsi
+@@ -1,645 +1,126 @@
+-/*
+- * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com>
+- *
+- * This file is dual-licensed: you can use it either under the terms
+- * of the GPL or the X11 license, at your option. Note that this dual
+- * licensing only applies to this file, and not this project as a
+- * whole.
+- *
+- * a) This file is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of the
+- * License, or (at your option) any later version.
+- *
+- * This file is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * Or, alternatively,
+- *
+- * b) Permission is hereby granted, free of charge, to any person
+- * obtaining a copy of this software and associated documentation
+- * files (the "Software"), to deal in the Software without
+- * restriction, including without limitation the rights to use,
+- * copy, modify, merge, publish, distribute, sublicense, and/or
+- * sell copies of the Software, and to permit persons to whom the
+- * Software is furnished to do so, subject to the following
+- * conditions:
+- *
+- * The above copyright notice and this permission notice shall be
+- * included in all copies or substantial portions of the Software.
+- *
+- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+- * OTHER DEALINGS IN THE SOFTWARE.
+- */
+-
+-#include <dt-bindings/clock/sun8i-h3-ccu.h>
+-#include <dt-bindings/interrupt-controller/arm-gic.h>
+-#include <dt-bindings/reset/sun8i-h3-ccu.h>
+-
+-/ {
+- interrupt-parent = <&gic>;
+-
+- cpus {
+- #address-cells = <1>;
+- #size-cells = <0>;
+-
+- cpu@0 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <0>;
+- };
+-
+- cpu@1 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <1>;
+- };
+-
+- cpu@2 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <2>;
+- };
+-
+- cpu@3 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <3>;
+- };
+- };
+-
+- timer {
+- compatible = "arm,armv7-timer";
+- interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+- <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+- <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+- };
+-
+- clocks {
+- #address-cells = <1>;
+- #size-cells = <1>;
+- ranges;
+-
+- osc24M: osc24M_clk {
+- #clock-cells = <0>;
+- compatible = "fixed-clock";
+- clock-frequency = <24000000>;
+- clock-output-names = "osc24M";
+- };
+-
+- osc32k: osc32k_clk {
+- #clock-cells = <0>;
+- compatible = "fixed-clock";
+- clock-frequency = <32768>;
+- clock-output-names = "osc32k";
+- };
+-
+- apb0: apb0_clk {
+- compatible = "fixed-factor-clock";
+- #clock-cells = <0>;
+- clock-div = <1>;
+- clock-mult = <1>;
+- clocks = <&osc24M>;
+- clock-output-names = "apb0";
+- };
+-
+- apb0_gates: clk@01f01428 {
+- compatible = "allwinner,sun8i-h3-apb0-gates-clk",
+- "allwinner,sun4i-a10-gates-clk";
+- reg = <0x01f01428 0x4>;
+- #clock-cells = <1>;
+- clocks = <&apb0>;
+- clock-indices = <0>, <1>;
+- clock-output-names = "apb0_pio", "apb0_ir";
+- };
+-
+- ir_clk: ir_clk@01f01454 {
+- compatible = "allwinner,sun4i-a10-mod0-clk";
+- reg = <0x01f01454 0x4>;
+- #clock-cells = <0>;
+- clocks = <&osc32k>, <&osc24M>;
+- clock-output-names = "ir";
+- };
+- };
+-
+- soc {
+- compatible = "simple-bus";
+- #address-cells = <1>;
+- #size-cells = <1>;
+- ranges;
+-
+- dma: dma-controller@01c02000 {
+- compatible = "allwinner,sun8i-h3-dma";
+- reg = <0x01c02000 0x1000>;
+- interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_DMA>;
+- resets = <&ccu RST_BUS_DMA>;
+- #dma-cells = <1>;
+- };
+-
+- mmc0: mmc@01c0f000 {
+- compatible = "allwinner,sun7i-a20-mmc";
+- reg = <0x01c0f000 0x1000>;
+- clocks = <&ccu CLK_BUS_MMC0>,
+- <&ccu CLK_MMC0>,
+- <&ccu CLK_MMC0_OUTPUT>,
+- <&ccu CLK_MMC0_SAMPLE>;
+- clock-names = "ahb",
+- "mmc",
+- "output",
+- "sample";
+- resets = <&ccu RST_BUS_MMC0>;
+- reset-names = "ahb";
+- interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- mmc1: mmc@01c10000 {
+- compatible = "allwinner,sun7i-a20-mmc";
+- reg = <0x01c10000 0x1000>;
+- clocks = <&ccu CLK_BUS_MMC1>,
+- <&ccu CLK_MMC1>,
+- <&ccu CLK_MMC1_OUTPUT>,
+- <&ccu CLK_MMC1_SAMPLE>;
+- clock-names = "ahb",
+- "mmc",
+- "output",
+- "sample";
+- resets = <&ccu RST_BUS_MMC1>;
+- reset-names = "ahb";
+- interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- mmc2: mmc@01c11000 {
+- compatible = "allwinner,sun7i-a20-mmc";
+- reg = <0x01c11000 0x1000>;
+- clocks = <&ccu CLK_BUS_MMC2>,
+- <&ccu CLK_MMC2>,
+- <&ccu CLK_MMC2_OUTPUT>,
+- <&ccu CLK_MMC2_SAMPLE>;
+- clock-names = "ahb",
+- "mmc",
+- "output",
+- "sample";
+- resets = <&ccu RST_BUS_MMC2>;
+- reset-names = "ahb";
+- interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- usbphy: phy@01c19400 {
+- compatible = "allwinner,sun8i-h3-usb-phy";
+- reg = <0x01c19400 0x2c>,
+- <0x01c1a800 0x4>,
+- <0x01c1b800 0x4>,
+- <0x01c1c800 0x4>,
+- <0x01c1d800 0x4>;
+- reg-names = "phy_ctrl",
+- "pmu0",
+- "pmu1",
+- "pmu2",
+- "pmu3";
+- clocks = <&ccu CLK_USB_PHY0>,
+- <&ccu CLK_USB_PHY1>,
+- <&ccu CLK_USB_PHY2>,
+- <&ccu CLK_USB_PHY3>;
+- clock-names = "usb0_phy",
+- "usb1_phy",
+- "usb2_phy",
+- "usb3_phy";
+- resets = <&ccu RST_USB_PHY0>,
+- <&ccu RST_USB_PHY1>,
+- <&ccu RST_USB_PHY2>,
+- <&ccu RST_USB_PHY3>;
+- reset-names = "usb0_reset",
+- "usb1_reset",
+- "usb2_reset",
+- "usb3_reset";
+- status = "disabled";
+- #phy-cells = <1>;
+- };
+-
+- ehci1: usb@01c1b000 {
+- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
+- reg = <0x01c1b000 0x100>;
+- interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>;
+- resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>;
+- phys = <&usbphy 1>;
+- phy-names = "usb";
+- status = "disabled";
+- };
+-
+- ohci1: usb@01c1b400 {
+- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
+- reg = <0x01c1b400 0x100>;
+- interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_EHCI1>, <&ccu CLK_BUS_OHCI1>,
+- <&ccu CLK_USB_OHCI1>;
+- resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_BUS_OHCI1>;
+- phys = <&usbphy 1>;
+- phy-names = "usb";
+- status = "disabled";
+- };
+-
+- ehci2: usb@01c1c000 {
+- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
+- reg = <0x01c1c000 0x100>;
+- interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>;
+- resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>;
+- phys = <&usbphy 2>;
+- phy-names = "usb";
+- status = "disabled";
+- };
+-
+- ohci2: usb@01c1c400 {
+- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
+- reg = <0x01c1c400 0x100>;
+- interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_EHCI2>, <&ccu CLK_BUS_OHCI2>,
+- <&ccu CLK_USB_OHCI2>;
+- resets = <&ccu RST_BUS_EHCI2>, <&ccu RST_BUS_OHCI2>;
+- phys = <&usbphy 2>;
+- phy-names = "usb";
+- status = "disabled";
+- };
+-
+- ehci3: usb@01c1d000 {
+- compatible = "allwinner,sun8i-h3-ehci", "generic-ehci";
+- reg = <0x01c1d000 0x100>;
+- interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>;
+- resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>;
+- phys = <&usbphy 3>;
+- phy-names = "usb";
+- status = "disabled";
+- };
+-
+- ohci3: usb@01c1d400 {
+- compatible = "allwinner,sun8i-h3-ohci", "generic-ohci";
+- reg = <0x01c1d400 0x100>;
+- interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_EHCI3>, <&ccu CLK_BUS_OHCI3>,
+- <&ccu CLK_USB_OHCI3>;
+- resets = <&ccu RST_BUS_EHCI3>, <&ccu RST_BUS_OHCI3>;
+- phys = <&usbphy 3>;
+- phy-names = "usb";
+- status = "disabled";
+- };
+-
+- ccu: clock@01c20000 {
+- compatible = "allwinner,sun8i-h3-ccu";
+- reg = <0x01c20000 0x400>;
+- clocks = <&osc24M>, <&osc32k>;
+- clock-names = "hosc", "losc";
+- #clock-cells = <1>;
+- #reset-cells = <1>;
+- };
+-
+- pio: pinctrl@01c20800 {
+- compatible = "allwinner,sun8i-h3-pinctrl";
+- reg = <0x01c20800 0x400>;
+- interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+- <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
+- clock-names = "apb", "hosc", "losc";
+- gpio-controller;
+- #gpio-cells = <3>;
+- interrupt-controller;
+- #interrupt-cells = <3>;
+-
+- i2c0_pins: i2c0 {
+- pins = "PA11", "PA12";
+- function = "i2c0";
+- };
+-
+- i2c1_pins: i2c1 {
+- pins = "PA18", "PA19";
+- function = "i2c1";
+- };
+-
+- i2c2_pins: i2c2 {
+- pins = "PE12", "PE13";
+- function = "i2c2";
+- };
+-
+- mmc0_pins_a: mmc0@0 {
+- pins = "PF0", "PF1", "PF2", "PF3",
+- "PF4", "PF5";
+- function = "mmc0";
+- drive-strength = <30>;
+- bias-pull-up;
+- };
+-
+- mmc0_cd_pin: mmc0_cd_pin@0 {
+- pins = "PF6";
+- function = "gpio_in";
+- bias-pull-up;
+- };
+-
+- mmc1_pins_a: mmc1@0 {
+- pins = "PG0", "PG1", "PG2", "PG3",
+- "PG4", "PG5";
+- function = "mmc1";
+- drive-strength = <30>;
+- bias-pull-up;
+- };
+-
+- mmc2_8bit_pins: mmc2_8bit {
+- pins = "PC5", "PC6", "PC8",
+- "PC9", "PC10", "PC11",
+- "PC12", "PC13", "PC14",
+- "PC15", "PC16";
+- function = "mmc2";
+- drive-strength = <30>;
+- bias-pull-up;
+- };
+-
+- spdif_tx_pins_a: spdif@0 {
+- pins = "PA17";
+- function = "spdif";
+- };
+-
+- spi0_pins: spi0 {
+- pins = "PC0", "PC1", "PC2", "PC3";
+- function = "spi0";
+- };
+-
+- spi1_pins: spi1 {
+- pins = "PA15", "PA16", "PA14", "PA13";
+- function = "spi1";
+- };
+-
+- uart0_pins_a: uart0@0 {
+- pins = "PA4", "PA5";
+- function = "uart0";
+- };
+-
+- uart1_pins: uart1 {
+- pins = "PG6", "PG7";
+- function = "uart1";
+- };
+-
+- uart1_rts_cts_pins: uart1_rts_cts {
+- pins = "PG8", "PG9";
+- function = "uart1";
+- };
+-
+- uart2_pins: uart2 {
+- pins = "PA0", "PA1";
+- function = "uart2";
+- };
+-
+- uart3_pins: uart3 {
+- pins = "PA13", "PA14";
+- function = "uart3";
+- };
+- };
+-
+- timer@01c20c00 {
+- compatible = "allwinner,sun4i-a10-timer";
+- reg = <0x01c20c00 0xa0>;
+- interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
+- <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&osc24M>;
+- };
+-
+- spi0: spi@01c68000 {
+- compatible = "allwinner,sun8i-h3-spi";
+- reg = <0x01c68000 0x1000>;
+- interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
+- clock-names = "ahb", "mod";
+- dmas = <&dma 23>, <&dma 23>;
+- dma-names = "rx", "tx";
+- pinctrl-names = "default";
+- pinctrl-0 = <&spi0_pins>;
+- resets = <&ccu RST_BUS_SPI0>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- spi1: spi@01c69000 {
+- compatible = "allwinner,sun8i-h3-spi";
+- reg = <0x01c69000 0x1000>;
+- interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
+- clock-names = "ahb", "mod";
+- dmas = <&dma 24>, <&dma 24>;
+- dma-names = "rx", "tx";
+- pinctrl-names = "default";
+- pinctrl-0 = <&spi1_pins>;
+- resets = <&ccu RST_BUS_SPI1>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- wdt0: watchdog@01c20ca0 {
+- compatible = "allwinner,sun6i-a31-wdt";
+- reg = <0x01c20ca0 0x20>;
+- interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+- };
+-
+- spdif: spdif@01c21000 {
+- #sound-dai-cells = <0>;
+- compatible = "allwinner,sun8i-h3-spdif";
+- reg = <0x01c21000 0x400>;
+- interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>;
+- resets = <&ccu RST_BUS_SPDIF>;
+- clock-names = "apb", "spdif";
+- dmas = <&dma 2>;
+- dma-names = "tx";
+- status = "disabled";
+- };
+-
+- pwm: pwm@01c21400 {
+- compatible = "allwinner,sun8i-h3-pwm";
+- reg = <0x01c21400 0x8>;
+- clocks = <&osc24M>;
+- #pwm-cells = <3>;
+- status = "disabled";
+- };
+-
+- codec: codec@01c22c00 {
+- #sound-dai-cells = <0>;
+- compatible = "allwinner,sun8i-h3-codec";
+- reg = <0x01c22c00 0x400>;
+- interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
+- clock-names = "apb", "codec";
+- resets = <&ccu RST_BUS_CODEC>;
+- dmas = <&dma 15>, <&dma 15>;
+- dma-names = "rx", "tx";
+- allwinner,codec-analog-controls = <&codec_analog>;
+- status = "disabled";
+- };
+-
+- uart0: serial@01c28000 {
+- compatible = "snps,dw-apb-uart";
+- reg = <0x01c28000 0x400>;
+- interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+- clocks = <&ccu CLK_BUS_UART0>;
+- resets = <&ccu RST_BUS_UART0>;
+- dmas = <&dma 6>, <&dma 6>;
+- dma-names = "rx", "tx";
+- status = "disabled";
+- };
+-
+- uart1: serial@01c28400 {
+- compatible = "snps,dw-apb-uart";
+- reg = <0x01c28400 0x400>;
+- interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+- clocks = <&ccu CLK_BUS_UART1>;
+- resets = <&ccu RST_BUS_UART1>;
+- dmas = <&dma 7>, <&dma 7>;
+- dma-names = "rx", "tx";
+- status = "disabled";
+- };
+-
+- uart2: serial@01c28800 {
+- compatible = "snps,dw-apb-uart";
+- reg = <0x01c28800 0x400>;
+- interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+- clocks = <&ccu CLK_BUS_UART2>;
+- resets = <&ccu RST_BUS_UART2>;
+- dmas = <&dma 8>, <&dma 8>;
+- dma-names = "rx", "tx";
+- status = "disabled";
+- };
+-
+- uart3: serial@01c28c00 {
+- compatible = "snps,dw-apb-uart";
+- reg = <0x01c28c00 0x400>;
+- interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
+- reg-shift = <2>;
+- reg-io-width = <4>;
+- clocks = <&ccu CLK_BUS_UART3>;
+- resets = <&ccu RST_BUS_UART3>;
+- dmas = <&dma 9>, <&dma 9>;
+- dma-names = "rx", "tx";
+- status = "disabled";
+- };
+-
+- i2c0: i2c@01c2ac00 {
+- compatible = "allwinner,sun6i-a31-i2c";
+- reg = <0x01c2ac00 0x400>;
+- interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_I2C0>;
+- resets = <&ccu RST_BUS_I2C0>;
+- pinctrl-names = "default";
+- pinctrl-0 = <&i2c0_pins>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- i2c1: i2c@01c2b000 {
+- compatible = "allwinner,sun6i-a31-i2c";
+- reg = <0x01c2b000 0x400>;
+- interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_I2C1>;
+- resets = <&ccu RST_BUS_I2C1>;
+- pinctrl-names = "default";
+- pinctrl-0 = <&i2c1_pins>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- i2c2: i2c@01c2b400 {
+- compatible = "allwinner,sun6i-a31-i2c";
+- reg = <0x01c2b000 0x400>;
+- interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&ccu CLK_BUS_I2C2>;
+- resets = <&ccu RST_BUS_I2C2>;
+- pinctrl-names = "default";
+- pinctrl-0 = <&i2c2_pins>;
+- status = "disabled";
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+-
+- gic: interrupt-controller@01c81000 {
+- compatible = "arm,gic-400";
+- reg = <0x01c81000 0x1000>,
+- <0x01c82000 0x2000>,
+- <0x01c84000 0x2000>,
+- <0x01c86000 0x2000>;
+- interrupt-controller;
+- #interrupt-cells = <3>;
+- interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
+- };
+-
+- rtc: rtc@01f00000 {
+- compatible = "allwinner,sun6i-a31-rtc";
+- reg = <0x01f00000 0x54>;
+- interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
+- <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+- };
+-
+- apb0_reset: reset@01f014b0 {
+- reg = <0x01f014b0 0x4>;
+- compatible = "allwinner,sun6i-a31-clock-reset";
+- #reset-cells = <1>;
+- };
+-
+- codec_analog: codec-analog@01f015c0 {
+- compatible = "allwinner,sun8i-h3-codec-analog";
+- reg = <0x01f015c0 0x4>;
+- };
+-
+- ir: ir@01f02000 {
+- compatible = "allwinner,sun5i-a13-ir";
+- clocks = <&apb0_gates 1>, <&ir_clk>;
+- clock-names = "apb", "ir";
+- resets = <&apb0_reset 1>;
+- interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+- reg = <0x01f02000 0x40>;
+- status = "disabled";
+- };
+-
+- r_pio: pinctrl@01f02c00 {
+- compatible = "allwinner,sun8i-h3-r-pinctrl";
+- reg = <0x01f02c00 0x400>;
+- interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&apb0_gates 0>, <&osc24M>, <&osc32k>;
+- clock-names = "apb", "hosc", "losc";
+- resets = <&apb0_reset 0>;
+- gpio-controller;
+- #gpio-cells = <3>;
+- interrupt-controller;
+- #interrupt-cells = <3>;
+-
+- ir_pins_a: ir@0 {
+- pins = "PL11";
+- function = "s_cir_rx";
+- };
+- };
+- };
+-};
++/*
++ * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ * a) This file is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of the
++ * License, or (at your option) any later version.
++ *
++ * This file is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * Or, alternatively,
++ *
++ * b) Permission is hereby granted, free of charge, to any person
++ * obtaining a copy of this software and associated documentation
++ * files (the "Software"), to deal in the Software without
++ * restriction, including without limitation the rights to use,
++ * copy, modify, merge, publish, distribute, sublicense, and/or
++ * sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following
++ * conditions:
++ *
++ * The above copyright notice and this permission notice shall be
++ * included in all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ * OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++#include "sunxi-h3-h5.dtsi"
++
++/ {
++ cpus {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ cpu@0 {
++ compatible = "arm,cortex-a7";
++ device_type = "cpu";
++ reg = <0>;
++ };
++
++ cpu@1 {
++ compatible = "arm,cortex-a7";
++ device_type = "cpu";
++ reg = <1>;
++ };
++
++ cpu@2 {
++ compatible = "arm,cortex-a7";
++ device_type = "cpu";
++ reg = <2>;
++ };
++
++ cpu@3 {
++ compatible = "arm,cortex-a7";
++ device_type = "cpu";
++ reg = <3>;
++ };
++ };
++
++ timer {
++ compatible = "arm,armv7-timer";
++ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
++ <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
++ <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
++ <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
++ };
++};
++
++&ccu {
++ compatible = "allwinner,sun8i-h3-ccu";
++};
++
++&mmc0 {
++ compatible = "allwinner,sun7i-a20-mmc";
++ clocks = <&ccu CLK_BUS_MMC0>,
++ <&ccu CLK_MMC0>,
++ <&ccu CLK_MMC0_OUTPUT>,
++ <&ccu CLK_MMC0_SAMPLE>;
++ clock-names = "ahb",
++ "mmc",
++ "output",
++ "sample";
++};
++
++&mmc1 {
++ compatible = "allwinner,sun7i-a20-mmc";
++ clocks = <&ccu CLK_BUS_MMC1>,
++ <&ccu CLK_MMC1>,
++ <&ccu CLK_MMC1_OUTPUT>,
++ <&ccu CLK_MMC1_SAMPLE>;
++ clock-names = "ahb",
++ "mmc",
++ "output",
++ "sample";
++};
++
++&mmc2 {
++ compatible = "allwinner,sun7i-a20-mmc";
++ clocks = <&ccu CLK_BUS_MMC2>,
++ <&ccu CLK_MMC2>,
++ <&ccu CLK_MMC2_OUTPUT>,
++ <&ccu CLK_MMC2_SAMPLE>;
++ clock-names = "ahb",
++ "mmc",
++ "output",
++ "sample";
++};
++
++&pio {
++ compatible = "allwinner,sun8i-h3-pinctrl";
++};
+diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+similarity index 90%
+copy from arch/arm/boot/dts/sun8i-h3.dtsi
+copy to arch/arm/boot/dts/sunxi-h3-h5.dtsi
+index c13fbfb92592..2494ea063cd4 100644
+--- a/arch/arm/boot/dts/sun8i-h3.dtsi
++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+@@ -46,43 +46,8 @@
+
+ / {
+ interrupt-parent = <&gic>;
+-
+- cpus {
+- #address-cells = <1>;
+- #size-cells = <0>;
+-
+- cpu@0 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <0>;
+- };
+-
+- cpu@1 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <1>;
+- };
+-
+- cpu@2 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <2>;
+- };
+-
+- cpu@3 {
+- compatible = "arm,cortex-a7";
+- device_type = "cpu";
+- reg = <3>;
+- };
+- };
+-
+- timer {
+- compatible = "arm,armv7-timer";
+- interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+- <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+- <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+- };
++ #address-cells = <1>;
++ #size-cells = <1>;
+
+ clocks {
+ #address-cells = <1>;
+@@ -147,16 +112,8 @@
+ };
+
+ mmc0: mmc@01c0f000 {
+- compatible = "allwinner,sun7i-a20-mmc";
++ /* compatible and clocks are in per SoC .dtsi file */
+ reg = <0x01c0f000 0x1000>;
+- clocks = <&ccu CLK_BUS_MMC0>,
+- <&ccu CLK_MMC0>,
+- <&ccu CLK_MMC0_OUTPUT>,
+- <&ccu CLK_MMC0_SAMPLE>;
+- clock-names = "ahb",
+- "mmc",
+- "output",
+- "sample";
+ resets = <&ccu RST_BUS_MMC0>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
+@@ -166,16 +123,8 @@
+ };
+
+ mmc1: mmc@01c10000 {
+- compatible = "allwinner,sun7i-a20-mmc";
++ /* compatible and clocks are in per SoC .dtsi file */
+ reg = <0x01c10000 0x1000>;
+- clocks = <&ccu CLK_BUS_MMC1>,
+- <&ccu CLK_MMC1>,
+- <&ccu CLK_MMC1_OUTPUT>,
+- <&ccu CLK_MMC1_SAMPLE>;
+- clock-names = "ahb",
+- "mmc",
+- "output",
+- "sample";
+ resets = <&ccu RST_BUS_MMC1>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
+@@ -185,16 +134,8 @@
+ };
+
+ mmc2: mmc@01c11000 {
+- compatible = "allwinner,sun7i-a20-mmc";
++ /* compatible and clocks are in per SoC .dtsi file */
+ reg = <0x01c11000 0x1000>;
+- clocks = <&ccu CLK_BUS_MMC2>,
+- <&ccu CLK_MMC2>,
+- <&ccu CLK_MMC2_OUTPUT>,
+- <&ccu CLK_MMC2_SAMPLE>;
+- clock-names = "ahb",
+- "mmc",
+- "output",
+- "sample";
+ resets = <&ccu RST_BUS_MMC2>;
+ reset-names = "ahb";
+ interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
+@@ -305,7 +246,7 @@
+ };
+
+ ccu: clock@01c20000 {
+- compatible = "allwinner,sun8i-h3-ccu";
++ /* compatible is in per SoC .dtsi file */
+ reg = <0x01c20000 0x400>;
+ clocks = <&osc24M>, <&osc32k>;
+ clock-names = "hosc", "losc";
+@@ -314,7 +255,7 @@
+ };
+
+ pio: pinctrl@01c20800 {
+- compatible = "allwinner,sun8i-h3-pinctrl";
++ /* compatible is in per SoC .dtsi file */
+ reg = <0x01c20800 0x400>;
+ interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/AllWinner-net-emac.patch b/AllWinner-net-emac.patch
index 42dadabab..ebe9a3c94 100644
--- a/AllWinner-net-emac.patch
+++ b/AllWinner-net-emac.patch
@@ -1,186 +1,396 @@
-From fb909e29d6c073f4c5777a0db75df72b726e4314 Mon Sep 17 00:00:00 2001
+From patchwork Tue Mar 14 14:18:37 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2, 01/20] net-next: stmmac: export
+ stmmac_set_mac_addr/stmmac_get_mac_addr
From: Corentin LABBE <clabbe.montjoie@gmail.com>
-Date: Fri, 7 Oct 2016 10:25:48 +0200
-Subject: [PATCH 1/8] ethernet: add sun8i-emac driver
+X-Patchwork-Id: 9623505
+Message-Id: <20170314141856.24560-2-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:37 +0100
-This patch add support for sun8i-emac ethernet MAC hardware.
-It could be found in Allwinner H3/A83T/A64 SoCs.
+Thoses symbol will be needed for the dwmac-sun8i ethernet driver.
+For letting it to be build as module, they need to be exported.
-It supports 10/100/1000 Mbit/s speed with half/full duplex.
-It can use an internal PHY (MII 10/100) or an external PHY
-via RGMII/RMII.
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
+index e60bfca..0ab985c8 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
+@@ -248,6 +248,7 @@ void stmmac_set_mac_addr(void __iomem *ioaddr, u8 addr[6],
+ data = (addr[3] << 24) | (addr[2] << 16) | (addr[1] << 8) | addr[0];
+ writel(data, ioaddr + low);
+ }
++EXPORT_SYMBOL_GPL(stmmac_set_mac_addr);
+
+ /* Enable disable MAC RX/TX */
+ void stmmac_set_mac(void __iomem *ioaddr, bool enable)
+@@ -279,4 +280,4 @@ void stmmac_get_mac_addr(void __iomem *ioaddr, unsigned char *addr,
+ addr[4] = hi_addr & 0xff;
+ addr[5] = (hi_addr >> 8) & 0xff;
+ }
+-
++EXPORT_SYMBOL_GPL(stmmac_get_mac_addr);
+From patchwork Tue Mar 14 14:18:38 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,02/20] net-next: stmmac: add optional setup function
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623509
+Message-Id: <20170314141856.24560-3-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:38 +0100
+
+Instead of ading more ifthen logic for adding a new mac_device_info
+setup function, it is easier to add a function pointer to the function
+needed.
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
- drivers/net/ethernet/allwinner/Kconfig | 13 +
- drivers/net/ethernet/allwinner/Makefile | 1 +
- drivers/net/ethernet/allwinner/sun8i-emac.c | 2266 +++++++++++++++++++++++++++
- 3 files changed, 2280 insertions(+)
- create mode 100644 drivers/net/ethernet/allwinner/sun8i-emac.c
+ drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++-
+ include/linux/stmmac.h | 3 +++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
-diff --git a/drivers/net/ethernet/allwinner/Kconfig b/drivers/net/ethernet/allwinner/Kconfig
-index 47da7e7..060569c 100644
---- a/drivers/net/ethernet/allwinner/Kconfig
-+++ b/drivers/net/ethernet/allwinner/Kconfig
-@@ -33,4 +33,17 @@ config SUN4I_EMAC
- To compile this driver as a module, choose M here. The module
- will be called sun4i-emac.
+diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+index 4498a38..856ac57 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+@@ -3101,7 +3101,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
+ struct mac_device_info *mac;
-+config SUN8I_EMAC
-+ tristate "Allwinner sun8i EMAC support"
-+ depends on ARCH_SUNXI || COMPILE_TEST
-+ depends on OF
-+ select MII
-+ select PHYLIB
-+ ---help---
-+ This driver support the sun8i EMAC ethernet driver present on
-+ H3/A83T/A64 Allwinner SoCs.
-+
-+ To compile this driver as a module, choose M here. The module
-+ will be called sun8i-emac.
-+
- endif # NET_VENDOR_ALLWINNER
-diff --git a/drivers/net/ethernet/allwinner/Makefile b/drivers/net/ethernet/allwinner/Makefile
-index 03129f7..8bd1693c 100644
---- a/drivers/net/ethernet/allwinner/Makefile
-+++ b/drivers/net/ethernet/allwinner/Makefile
-@@ -3,3 +3,4 @@
- #
+ /* Identify the MAC HW device */
+- if (priv->plat->has_gmac) {
++ if (priv->plat->setup) {
++ mac = priv->plat->setup(priv);
++ } else if (priv->plat->has_gmac) {
+ priv->dev->priv_flags |= IFF_UNICAST_FLT;
+ mac = dwmac1000_setup(priv->ioaddr,
+ priv->plat->multicast_filter_bins,
+diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
+index fc273e9..8f09f18 100644
+--- a/include/linux/stmmac.h
++++ b/include/linux/stmmac.h
+@@ -109,6 +109,8 @@ struct stmmac_axi {
+ bool axi_rb;
+ };
- obj-$(CONFIG_SUN4I_EMAC) += sun4i-emac.o
-+obj-$(CONFIG_SUN8I_EMAC) += sun8i-emac.o
-diff --git a/drivers/net/ethernet/allwinner/sun8i-emac.c b/drivers/net/ethernet/allwinner/sun8i-emac.c
++struct stmmac_priv;
++
+ struct plat_stmmacenet_data {
+ int bus_id;
+ int phy_addr;
+@@ -136,6 +138,7 @@ struct plat_stmmacenet_data {
+ void (*fix_mac_speed)(void *priv, unsigned int speed);
+ int (*init)(struct platform_device *pdev, void *priv);
+ void (*exit)(struct platform_device *pdev, void *priv);
++ struct mac_device_info *(*setup)(struct stmmac_priv *priv);
+ void *bsp_priv;
+ struct clk *stmmac_clk;
+ struct clk *pclk;
+From patchwork Tue Mar 14 14:18:39 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,
+ 03/20] ARM: sun8i: dt: Add DT bindings documentation for Allwinner
+ dwmac-sun8i
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623517
+Message-Id: <20170314141856.24560-4-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:39 +0100
+
+This patch adds documentation for Device-Tree bindings for the
+Allwinner dwmac-sun8i driver.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ .../devicetree/bindings/net/dwmac-sun8i.txt | 77 ++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+
+diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
new file mode 100644
-index 0000000..bc74467
+index 0000000..f01ef17
--- /dev/null
-+++ b/drivers/net/ethernet/allwinner/sun8i-emac.c
-@@ -0,0 +1,2266 @@
++++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+@@ -0,0 +1,77 @@
++* Allwinner sun8i GMAC ethernet controller
++
++This device is a platform glue layer for stmmac.
++Please see stmmac.txt for the other unchanged properties.
++
++Required properties:
++- compatible: should be one of the following string:
++ "allwinner,sun8i-a83t-emac"
++ "allwinner,sun8i-h3-emac"
++ "allwinner,sun50i-a64-emac"
++- reg: address and length of the register for the device.
++- interrupts: interrupt for the device
++- interrupt-names: should be "macirq"
++- clocks: A phandle to the reference clock for this device
++- clock-names: should be "stmmaceth"
++- resets: A phandle to the reset control for this device
++- reset-names: should be "stmmaceth"
++- phy-mode: See ethernet.txt
++- phy-handle: See ethernet.txt
++- #address-cells: shall be 1
++- #size-cells: shall be 0
++- syscon: A phandle to the syscon of the SoC with one of the following
++ compatible string:
++ - allwinner,sun8i-h3-system-controller
++ - allwinner,sun8i-a64-system-controller
++ - allwinner,sun8i-a83t-system-controller
++
++Optional properties:
++- allwinner,tx-delay: TX clock delay chain value. Range value is 0-0x07. Default is 0)
++- allwinner,rx-delay: RX clock delay chain value. Range value is 0-0x1F. Default is 0)
++Both delay properties are in 0.1ns step.
++
++Optional properties for "allwinner,sun8i-h3-emac":
++- allwinner,leds-active-low: EPHY LEDs are active low
++
++Required child node of emac:
++- mdio bus node: should be named mdio
++
++Required properties of the mdio node:
++- #address-cells: shall be 1
++- #size-cells: shall be 0
++
++The device node referenced by "phy" or "phy-handle" should be a child node
++of the mdio node. See phy.txt for the generic PHY bindings.
++
++Required properties of the phy node with "allwinner,sun8i-h3-emac":
++- clocks: a phandle to the reference clock for the EPHY
++- resets: a phandle to the reset control for the EPHY
++
++Example:
++
++emac: ethernet@1c0b000 {
++ compatible = "allwinner,sun8i-h3-emac";
++ syscon = <&syscon>;
++ reg = <0x01c0b000 0x104>;
++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "macirq";
++ resets = <&ccu RST_BUS_EMAC>;
++ reset-names = "stmmaceth";
++ clocks = <&ccu CLK_BUS_EMAC>;
++ clock-names = "stmmaceth";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ phy = <&int_mii_phy>;
++ phy-mode = "mii";
++ allwinner,leds-active-low;
++ mdio: mdio {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ int_mii_phy: ethernet-phy@1 {
++ reg = <1>;
++ clocks = <&ccu CLK_BUS_EPHY>;
++ resets = <&ccu RST_BUS_EPHY>;
++ };
++ };
++};
+From patchwork Tue Mar 14 14:18:40 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,
+ 04/20] ARM: sun8i: dt: Add DT bindings documentation for Allwinner
+ syscon
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623533
+Message-Id: <20170314141856.24560-5-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:40 +0100
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ .../devicetree/bindings/misc/allwinner,syscon.txt | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/misc/allwinner,syscon.txt
+
+diff --git a/Documentation/devicetree/bindings/misc/allwinner,syscon.txt b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt
+new file mode 100644
+index 0000000..9f5f1f5
+--- /dev/null
++++ b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt
+@@ -0,0 +1,19 @@
++* Allwinner sun8i system controller
++
++This file describes the bindings for the system controller present in
++Allwinner SoC H3, A83T and A64.
++The principal function of this syscon is to control EMAC PHY choice and
++config.
++
++Required properties for the system controller:
++- reg: address and length of the register for the device.
++- compatible: should be "syscon" and one of the following string:
++ "allwinner,sun8i-h3-system-controller"
++ "allwinner,sun8i-a64-system-controller"
++ "allwinner,sun8i-a83t-system-controller"
++
++Example:
++syscon: syscon@01c00000 {
++ compatible = "syscon", "allwinner,sun8i-h3-system-controller";
++ reg = <0x01c00000 0x1000>;
++};
+From patchwork Tue Mar 14 14:18:41 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,05/20] net-next: stmmac: Add dwmac-sun8i
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623523
+Message-Id: <20170314141856.24560-6-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:41 +0100
+
+The dwmac-sun8i is a heavy hacked version of stmmac hardware by
+allwinner.
+In fact the only common part is the descriptor management and the first
+register function.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ drivers/net/ethernet/stmicro/stmmac/Kconfig | 11 +
+ drivers/net/ethernet/stmicro/stmmac/Makefile | 1 +
+ drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 938 +++++++++++++++++++++
+ drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 27 +-
+ .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 9 +-
+ include/linux/stmmac.h | 1 +
+ 6 files changed, 984 insertions(+), 3 deletions(-)
+ create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig
+index cfbe363..85c0e41 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
++++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
+@@ -145,6 +145,17 @@ config DWMAC_SUNXI
+ This selects Allwinner SoC glue layer support for the
+ stmmac device driver. This driver is used for A20/A31
+ GMAC ethernet controller.
++
++config DWMAC_SUN8I
++ tristate "Allwinner sun8i GMAC support"
++ default ARCH_SUNXI
++ depends on OF && (ARCH_SUNXI || COMPILE_TEST)
++ ---help---
++ Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
++
++ This selects Allwinner SoC glue layer support for the
++ stmmac device driver. This driver is used for H3/A83T/A64
++ EMAC ethernet controller.
+ endif
+
+ config STMMAC_PCI
+diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile
+index 700c603..fd4937a 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/Makefile
++++ b/drivers/net/ethernet/stmicro/stmmac/Makefile
+@@ -16,6 +16,7 @@ obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o
+ obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o
+ obj-$(CONFIG_DWMAC_STM32) += dwmac-stm32.o
+ obj-$(CONFIG_DWMAC_SUNXI) += dwmac-sunxi.o
++obj-$(CONFIG_DWMAC_SUN8I) += dwmac-sun8i.o
+ obj-$(CONFIG_DWMAC_DWC_QOS_ETH) += dwmac-dwc-qos-eth.o
+ obj-$(CONFIG_DWMAC_GENERIC) += dwmac-generic.o
+ stmmac-platform-objs:= stmmac_platform.o
+diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+new file mode 100644
+index 0000000..52ab67c
+--- /dev/null
++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+@@ -0,0 +1,938 @@
+/*
-+ * sun8i-emac driver
++ * dwmac-sun8i.c - Allwinner sun8i DWMAC specific glue layer
+ *
-+ * Copyright (C) 2015-2016 Corentin LABBE <clabbe.montjoie@gmail.com>
++ * Copyright (C) 2017 Corentin Labbe <clabbe.montjoie@gmail.com>
+ *
-+ * This is the driver for Allwinner Ethernet MAC found in H3/A83T/A64 SoC
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
+ *
-+ * TODO:
-+ * - MAC filtering
-+ * - Jumbo frame
-+ * - features rx-all (NETIF_F_RXALL_BIT)
-+ * - PM runtime
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
+ */
-+#include <linux/bitops.h>
++
+#include <linux/clk.h>
-+#include <linux/dma-mapping.h>
-+#include <linux/etherdevice.h>
-+#include <linux/interrupt.h>
++#include <linux/io.h>
+#include <linux/iopoll.h>
-+#include <linux/mii.h>
++#include <linux/mfd/syscon.h>
+#include <linux/module.h>
-+#include <linux/netdevice.h>
+#include <linux/of_device.h>
+#include <linux/of_mdio.h>
+#include <linux/of_net.h>
+#include <linux/phy.h>
-+#include <linux/pinctrl/consumer.h>
-+#include <linux/pinctrl/pinctrl.h>
+#include <linux/platform_device.h>
-+#include <linux/reset.h>
-+#include <linux/scatterlist.h>
-+#include <linux/skbuff.h>
-+#include <linux/mfd/syscon.h>
++#include <linux/regulator/consumer.h>
+#include <linux/regmap.h>
++#include <linux/stmmac.h>
+
-+#define EMAC_BASIC_CTL0 0x00
-+#define EMAC_BASIC_CTL1 0x04
-+#define EMAC_INT_STA 0x08
-+#define EMAC_INT_EN 0x0C
-+#define EMAC_TX_CTL0 0x10
-+#define EMAC_TX_CTL1 0x14
-+#define EMAC_TX_FLOW_CTL 0x1C
-+#define EMAC_RX_CTL0 0x24
-+#define EMAC_RX_CTL1 0x28
-+#define EMAC_RX_FRM_FLT 0x38
-+#define EMAC_MDIO_CMD 0x48
-+#define EMAC_MDIO_DATA 0x4C
-+#define EMAC_TX_DMA_STA 0xB0
-+#define EMAC_TX_CUR_DESC 0xB4
-+#define EMAC_TX_CUR_BUF 0xB8
-+#define EMAC_RX_DMA_STA 0xC0
-+
-+#define MDIO_CMD_MII_BUSY BIT(0)
-+#define MDIO_CMD_MII_WRITE BIT(1)
-+#define MDIO_CMD_MII_PHY_REG_ADDR_MASK GENMASK(8, 4)
-+#define MDIO_CMD_MII_PHY_REG_ADDR_SHIFT 4
-+#define MDIO_CMD_MII_PHY_ADDR_MASK GENMASK(16, 12)
-+#define MDIO_CMD_MII_PHY_ADDR_SHIFT 12
-+
-+#define EMAC_MACADDR_HI 0x50
-+#define EMAC_MACADDR_LO 0x54
-+
-+#define EMAC_RX_DESC_LIST 0x34
-+#define EMAC_TX_DESC_LIST 0x20
-+
-+#define EMAC_RX_DO_CRC BIT(27)
-+#define EMAC_RX_STRIP_FCS BIT(28)
-+
-+#define LE32_BIT(x) (cpu_to_le32(BIT(x)))
++#include "stmmac.h"
++#include "stmmac_platform.h"
+
-+#define EMAC_COULD_BE_USED_BY_DMA LE32_BIT(31)
-+
-+/* Used in RX_CTL1*/
-+#define EMAC_RX_DMA_EN BIT(30)
-+#define EMAC_RX_DMA_START BIT(31)
-+/* Used in TX_CTL1*/
-+#define EMAC_TX_DMA_EN BIT(30)
-+#define EMAC_TX_DMA_START BIT(31)
++/* General notes on dwmac-sun8i:
++ * Locking: no locking is necessary in this file because all necessary locking
++ * is done in the "stmmac files"
++ */
+
-+/* Used in RX_CTL0 */
-+#define EMAC_RX_RECEIVER_EN BIT(31)
-+/* Used in TX_CTL0 */
-+#define EMAC_TX_TRANSMITTER_EN BIT(31)
-+
-+/* Basic CTL0 */
-+#define EMAC_BCTL0_FD BIT(0)
-+#define EMAC_BCTL0_SPEED_10 2
-+#define EMAC_BCTL0_SPEED_100 3
-+#define EMAC_BCTL0_SPEED_MASK GENMASK(3, 2)
-+#define EMAC_BCTL0_SPEED_SHIFT 2
-+
-+#define EMAC_FLOW_RX 1
-+#define EMAC_FLOW_TX 2
-+
-+#define EMAC_TX_INT BIT(0)
-+#define EMAC_TX_DMA_STOP_INT BIT(1)
-+#define EMAC_TX_BUF_UA_INT BIT(2)
-+#define EMAC_TX_TIMEOUT_INT BIT(3)
-+#define EMAC_TX_UNDERFLOW_INT BIT(4)
-+#define EMAC_TX_EARLY_INT BIT(5)
-+#define EMAC_RX_INT BIT(8)
-+#define EMAC_RX_BUF_UA_INT BIT(9)
-+#define EMAC_RX_DMA_STOP_INT BIT(10)
-+#define EMAC_RX_TIMEOUT_INT BIT(11)
-+#define EMAC_RX_OVERFLOW_INT BIT(12)
-+#define EMAC_RX_EARLY_INT BIT(13)
-+#define EMAC_RGMII_STA_INT BIT(16)
-+
-+/* Bits used in frame RX status */
-+#define EMAC_DSC_RX_FIRST BIT(9)
-+#define EMAC_DSC_RX_LAST BIT(8)
-+
-+/* Bits used in frame TX ctl */
-+#define EMAC_MAGIC_TX_BIT LE32_BIT(24)
-+#define EMAC_TX_DO_CRC (LE32_BIT(27) | LE32_BIT(28))
-+#define EMAC_DSC_TX_FIRST LE32_BIT(29)
-+#define EMAC_DSC_TX_LAST LE32_BIT(30)
-+#define EMAC_WANT_INT LE32_BIT(31)
-+
-+/* struct emac_variant - Describe an emac variant of sun8i-emac
-+ * @default_syscon_value: Default value of the syscon EMAC register
-+ * The default_syscon_value is also used for powering down the PHY
-+ * @internal_phy: which PHY type is internal
-+ * @support_mii: Does the SoC support MII
-+ * @support_rmii: Does the SoC support RMII
-+ * @support_rgmii: Does the SoC support RGMII
++/* struct emac_variant - Descrive dwmac-sun8i hardware variant
++ * @default_syscon_value: The default value of the EMAC register in syscon
++ * This value is used for disabling properly EMAC
++ * and used as a good starting value in case of the
++ * boot process(uboot) leave some stuff.
++ * @internal_phy: Does the MAC embed an internal PHY
++ * @support_mii: Does the MAC handle MII
++ * @support_rmii: Does the MAC handle RMII
++ * @support_rgmii: Does the MAC handle RGMII
+ */
+struct emac_variant {
+ u32 default_syscon_value;
@@ -190,6 +400,25 @@ index 0000000..bc74467
+ bool support_rgmii;
+};
+
++/* struct sunxi_priv_data - hold all sunxi private data
++ * @tx_clk: reference to MAC TX clock
++ * @ephy_clk: reference to the optional EPHY clock for the internal PHY
++ * @regulator: reference to the optional regulator
++ * @rst_ephy: reference to the optional EPHY reset for the internal PHY
++ * @variant: reference to the current board variant
++ * @regmap: regmap for using the syscon
++ * @use_internal_phy: Does the current PHY choice imply using the internal PHY
++ */
++struct sunxi_priv_data {
++ struct clk *tx_clk;
++ struct clk *ephy_clk;
++ struct regulator *regulator;
++ struct reset_control *rst_ephy;
++ const struct emac_variant *variant;
++ struct regmap *regmap;
++ bool use_internal_phy;
++};
++
+static const struct emac_variant emac_variant_h3 = {
+ .default_syscon_value = 0x58000,
+ .internal_phy = PHY_INTERFACE_MODE_MII,
@@ -213,862 +442,536 @@ index 0000000..bc74467
+ .support_rgmii = true
+};
+
-+static const char const estats_str[][ETH_GSTRING_LEN] = {
-+ /* errors */
-+ "rx_payload_error",
-+ "rx_CRC_error",
-+ "rx_phy_error",
-+ "rx_length_error",
-+ "rx_col_error",
-+ "rx_header_error",
-+ "rx_overflow_error",
-+ "rx_saf_error",
-+ "rx_daf_error",
-+ "rx_buf_error",
-+ "rx_invalid_error",
-+ "tx_timeout",
-+ /* misc infos */
-+ "tx_stop_queue",
-+ "rx_dma_ua",
-+ "rx_dma_stop",
-+ "tx_dma_ua",
-+ "tx_dma_stop",
-+ "rx_hw_csum",
-+ "tx_hw_csum",
-+ /* interrupts */
-+ "rx_int",
-+ "tx_int",
-+ "tx_early_int",
-+ "tx_underflow_int",
-+ "tx_timeout_int",
-+ "rx_early_int",
-+ "rx_overflow_int",
-+ "rx_timeout_int",
-+ "rgmii_state_int",
-+ /* debug */
-+ "tx_used_desc",
-+ "napi_schedule",
-+ "napi_underflow",
-+};
-+
-+struct sun8i_emac_stats {
-+ u64 rx_payload_error;
-+ u64 rx_crc_error;
-+ u64 rx_phy_error;
-+ u64 rx_length_error;
-+ u64 rx_col_error;
-+ u64 rx_header_error;
-+ u64 rx_overflow_error;
-+ u64 rx_saf_fail;
-+ u64 rx_daf_fail;
-+ u64 rx_buf_error;
-+ u64 rx_invalid_error;
-+ u64 tx_timeout;
-+
-+ u64 tx_stop_queue;
-+ u64 rx_dma_ua;
-+ u64 rx_dma_stop;
-+ u64 tx_dma_ua;
-+ u64 tx_dma_stop;
-+ u64 rx_hw_csum;
-+ u64 tx_hw_csum;
-+
-+ u64 rx_int;
-+ u64 tx_int;
-+ u64 tx_early_int;
-+ u64 tx_underflow_int;
-+ u64 tx_timeout_int;
-+ u64 rx_early_int;
-+ u64 rx_overflow_int;
-+ u64 rx_timeout_int;
-+ u64 rgmii_state_int;
-+
-+ u64 tx_used_desc;
-+ u64 napi_schedule;
-+ u64 napi_underflow;
-+};
-+
-+/* The datasheet said that each descriptor can transfers up to 4096bytes
-+ * But latter, a register documentation reduce that value to 2048
-+ * Anyway using 2048 cause strange behaviours and even BSP driver use 2047
-+ */
-+#define DESC_BUF_MAX 2044
-+
-+/* MAGIC value for knowing if a descriptor is available or not */
-+#define DCLEAN cpu_to_le32(BIT(16) | BIT(14) | BIT(12) | BIT(10) | BIT(9))
++#define EMAC_BASIC_CTL0 0x00
++#define EMAC_BASIC_CTL1 0x04
++#define EMAC_INT_STA 0x08
++#define EMAC_INT_EN 0x0C
++#define EMAC_TX_CTL0 0x10
++#define EMAC_TX_CTL1 0x14
++#define EMAC_TX_FLOW_CTL 0x1C
++#define EMAC_TX_DESC_LIST 0x20
++#define EMAC_RX_CTL0 0x24
++#define EMAC_RX_CTL1 0x28
++#define EMAC_RX_DESC_LIST 0x34
++#define EMAC_RX_FRM_FLT 0x38
++#define EMAC_MDIO_CMD 0x48
++#define EMAC_MDIO_DATA 0x4C
++#define EMAC_MACADDR_HI(reg) (0x50 + (reg) * 8)
++#define EMAC_MACADDR_LO(reg) (0x54 + (reg) * 8)
++#define EMAC_TX_DMA_STA 0xB0
++#define EMAC_TX_CUR_DESC 0xB4
++#define EMAC_TX_CUR_BUF 0xB8
++#define EMAC_RX_DMA_STA 0xC0
++#define EMAC_RX_CUR_DESC 0xC4
++#define EMAC_RX_CUR_BUF 0xC8
++
++/* Use in EMAC_BASIC_CTL1 */
++#define EMAC_BURSTLEN_SHIFT 24
++
++/* Used in EMAC_RX_FRM_FLT */
++#define EMAC_FRM_FLT_RXALL BIT(0)
++#define EMAC_FRM_FLT_CTL BIT(13)
++#define EMAC_FRM_FLT_MULTICAST BIT(16)
+
-+/* struct dma_desc - Structure of DMA descriptor used by the hardware
-+ * @status: Status of the frame written by HW, so RO for the
-+ * driver (except for BIT(31) which is R/W)
-+ * @ctl: Information on the frame written by the driver (INT, len,...)
-+ * @buf_addr: physical address of the frame data
-+ * @next: physical address of next dma_desc
-+ */
-+struct dma_desc {
-+ __le32 status;
-+ __le32 ctl;
-+ __le32 buf_addr;
-+ __le32 next;
-+};
++/* Used in RX_CTL1*/
++#define EMAC_RX_MD BIT(1)
++#define EMAC_RX_TH_MASK GENMASK(4, 5)
++#define EMAC_RX_TH_32 0
++#define EMAC_RX_TH_64 (0x1 << 4)
++#define EMAC_RX_TH_96 (0x2 << 4)
++#define EMAC_RX_TH_128 (0x3 << 4)
++#define EMAC_RX_DMA_EN BIT(30)
++#define EMAC_RX_DMA_START BIT(31)
+
-+/* Describe how data from skb are DMA mapped (used in txinfo map member) */
-+#define MAP_SINGLE 1
-+#define MAP_PAGE 2
++/* Used in TX_CTL1*/
++#define EMAC_TX_MD BIT(1)
++#define EMAC_TX_NEXT_FRM BIT(2)
++#define EMAC_TX_TH_MASK GENMASK(8, 10)
++#define EMAC_TX_TH_64 0
++#define EMAC_TX_TH_128 (0x1 << 8)
++#define EMAC_TX_TH_192 (0x2 << 8)
++#define EMAC_TX_TH_256 (0x3 << 8)
++#define EMAC_TX_DMA_EN BIT(30)
++#define EMAC_TX_DMA_START BIT(31)
+
-+/* Structure for storing information about data in TX ring buffer */
-+struct txinfo {
-+ struct sk_buff *skb;
-+ int map;
-+};
++/* Used in RX_CTL0 */
++#define EMAC_RX_RECEIVER_EN BIT(31)
++#define EMAC_RX_DO_CRC BIT(27)
++#define EMAC_RX_FLOW_CTL_EN BIT(16)
+
-+struct sun8i_emac_priv {
-+ void __iomem *base;
-+ struct regmap *regmap;
-+ int irq;
-+ struct device *dev;
-+ struct net_device *ndev;
-+ struct mii_bus *mdio;
-+ struct napi_struct napi;
-+ spinlock_t tx_lock;/* control the access of transmit descriptors */
-+ int duplex;
-+ int speed;
-+ int link;
-+ int phy_interface;
-+ const struct emac_variant *variant;
-+ struct device_node *phy_node;
-+ struct device_node *mdio_node;
-+ struct clk *ahb_clk;
-+ struct clk *ephy_clk;
-+ bool use_internal_phy;
++/* Used in TX_CTL0 */
++#define EMAC_TX_TRANSMITTER_EN BIT(31)
++
++/* Used in EMAC_TX_FLOW_CTL */
++#define EMAC_TX_FLOW_CTL_EN BIT(0)
++
++/* Used in EMAC_INT_STA */
++#define EMAC_TX_INT BIT(0)
++#define EMAC_TX_DMA_STOP_INT BIT(1)
++#define EMAC_TX_BUF_UA_INT BIT(2)
++#define EMAC_TX_TIMEOUT_INT BIT(3)
++#define EMAC_TX_UNDERFLOW_INT BIT(4)
++#define EMAC_TX_EARLY_INT BIT(5)
++#define EMAC_RX_INT BIT(8)
++#define EMAC_RX_BUF_UA_INT BIT(9)
++#define EMAC_RX_DMA_STOP_INT BIT(10)
++#define EMAC_RX_TIMEOUT_INT BIT(11)
++#define EMAC_RX_OVERFLOW_INT BIT(12)
++#define EMAC_RX_EARLY_INT BIT(13)
++#define EMAC_RGMII_STA_INT BIT(16)
++
++#define MAC_ADDR_TYPE_DST BIT(31)
+
-+ struct reset_control *rst_mac;
-+ struct reset_control *rst_ephy;
++/* H3 specific bits for EPHY */
++#define H3_EPHY_ADDR_SHIFT 20
++#define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */
++#define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */
++#define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */
+
-+ struct dma_desc *dd_rx;
-+ dma_addr_t dd_rx_phy;
-+ struct dma_desc *dd_tx;
-+ dma_addr_t dd_tx_phy;
-+ struct sk_buff **rx_skb;
-+ struct txinfo *txl;
-+
-+ int nbdesc_tx;
-+ int nbdesc_rx;
-+ int tx_slot;
-+ int tx_dirty;
-+ int rx_dirty;
-+ struct sun8i_emac_stats estats;
-+ u32 msg_enable;
-+ int flow_ctrl;
-+ int pause;
-+};
++/* H3/A64 specific bits */
++#define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */
+
-+static irqreturn_t sun8i_emac_dma_interrupt(int irq, void *dev_id);
++/* Generic system control EMAC_CLK bits */
++#define SYSCON_ETXDC_MASK GENMASK(2, 0)
++#define SYSCON_ETXDC_SHIFT 10
++#define SYSCON_ERXDC_MASK GENMASK(4, 0)
++#define SYSCON_ERXDC_SHIFT 5
++/* EMAC PHY Interface Type */
++#define SYSCON_EPIT BIT(2) /* 1: RGMII, 0: MII */
++#define SYSCON_ETCS_MASK GENMASK(1, 0)
++#define SYSCON_ETCS_MII 0x0
++#define SYSCON_ETCS_EXT_GMII 0x1
++#define SYSCON_ETCS_INT_GMII 0x2
++#define SYSCON_EMAC_REG 0x30
+
-+static void rb_inc(int *p, const int max)
++/* sun8i_dwmac_dma_reset() - reset the EMAC
++ * Called from stmmac via stmmac_dma_ops->reset
++ */
++static int sun8i_dwmac_dma_reset(void __iomem *ioaddr)
+{
-+ (*p)++;
-+ (*p) %= max;
++ writel(0, ioaddr + EMAC_RX_CTL1);
++ writel(0, ioaddr + EMAC_TX_CTL1);
++ writel(0, ioaddr + EMAC_RX_FRM_FLT);
++ writel(0, ioaddr + EMAC_RX_DESC_LIST);
++ writel(0, ioaddr + EMAC_TX_DESC_LIST);
++ writel(0, ioaddr + EMAC_INT_EN);
++ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA);
++ return 0;
+}
+
-+/* Locking strategy:
-+ * RX queue does not need any lock since only sun8i_emac_poll() access it.
-+ * (All other RX modifiers (ringparam/ndo_stop) disable NAPI and so
-+ * sun8i_emac_poll())
-+ * TX queue is handled by sun8i_emac_xmit(), sun8i_emac_complete_xmit() and
-+ * sun8i_emac_tx_timeout()
-+ * (All other RX modifiers (ringparam/ndo_stop) disable NAPI and stop queue)
-+ *
-+ * sun8i_emac_xmit() could fire only once (netif_tx_lock)
-+ * sun8i_emac_complete_xmit() could fire only once (called from NAPI)
-+ * sun8i_emac_tx_timeout() could fire only once (netif_tx_lock) and could not
-+ * race with sun8i_emac_xmit (due to netif_tx_lock) and with
-+ * sun8i_emac_complete_xmit which disable NAPI.
-+ *
-+ * So only sun8i_emac_xmit and sun8i_emac_complete_xmit could fire at the same
-+ * time.
-+ * But they never could modify the same descriptors:
-+ * - sun8i_emac_complete_xmit() will modify only descriptors with empty status
-+ * - sun8i_emac_xmit() will modify only descriptors set to DCLEAN
-+ * Proper memory barriers ensure that descriptor set to DCLEAN could not be
-+ * modified latter by sun8i_emac_complete_xmit().
-+ */
-+
-+/* Return the number of contiguous free descriptors
-+ * starting from tx_slot
++/* sun8i_dwmac_dma_init() - initialize the EMAC
++ * Called from stmmac via stmmac_dma_ops->init
+ */
-+static int rb_tx_numfreedesc(struct net_device *ndev)
++static void sun8i_dwmac_dma_init(void __iomem *ioaddr,
++ struct stmmac_dma_cfg *dma_cfg,
++ u32 dma_tx, u32 dma_rx, int atds)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ if (priv->tx_slot < priv->tx_dirty)
-+ return priv->tx_dirty - priv->tx_slot;
++ /* Write TX and RX descriptors address */
++ writel(dma_rx, ioaddr + EMAC_RX_DESC_LIST);
++ writel(dma_tx, ioaddr + EMAC_TX_DESC_LIST);
+
-+ return (priv->nbdesc_tx - priv->tx_slot) + priv->tx_dirty;
++ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN);
++ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA);
+}
+
-+/* sun8i_emac_rx_skb - Allocate a skb in a DMA descriptor
-+ *
-+ * @ndev: The net_device for this interface
-+ * @i: index of slot to fill
-+ *
-+ * Refill a DMA descriptor with a fresh skb and map it for DMA.
-+*/
-+static int sun8i_emac_rx_skb(struct net_device *ndev, int i)
++/* sun8i_dwmac_dump_regs() - Dump EMAC address space
++ * Called from stmmac_dma_ops->dump_regs
++ * Used for ethtool
++ */
++static void sun8i_dwmac_dump_regs(void __iomem *ioaddr, u32 *reg_space)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct dma_desc *ddesc;
-+ struct sk_buff *skb;
-+
-+ ddesc = priv->dd_rx + i;
-+
-+ ddesc->ctl = 0;
-+
-+ skb = netdev_alloc_skb_ip_align(ndev, DESC_BUF_MAX);
-+ if (!skb)
-+ return -ENOMEM;
-+
-+ /* should not happen */
-+ if (unlikely(priv->rx_skb[i]))
-+ dev_warn(priv->dev, "BUG: Leaking a skbuff\n");
-+
-+ priv->rx_skb[i] = skb;
++ int i;
+
-+ ddesc->buf_addr = dma_map_single(priv->dev, skb->data,
-+ DESC_BUF_MAX, DMA_FROM_DEVICE);
-+ if (dma_mapping_error(priv->dev, ddesc->buf_addr)) {
-+ dev_err(priv->dev, "ERROR: Cannot map RX buffer for DMA\n");
-+ dev_kfree_skb(skb);
-+ return -EFAULT;
++ for (i = 0; i < 0xC8; i += 4) {
++ if (i == 0x32 || i == 0x3C)
++ continue;
++ reg_space[i / 4] = readl(ioaddr + i);
+ }
-+ /* We cannot direcly use cpu_to_le32() after dma_map_single
-+ * since dma_mapping_error use it
-+ */
-+ ddesc->buf_addr = cpu_to_le32(ddesc->buf_addr);
-+ ddesc->ctl |= cpu_to_le32(DESC_BUF_MAX);
-+ /* EMAC_COULD_BE_USED_BY_DMA must be the last value written */
-+ wmb();
-+ ddesc->status = EMAC_COULD_BE_USED_BY_DMA;
-+
-+ return 0;
+}
+
-+static void sun8i_emac_stop_tx(struct net_device *ndev)
++/* sun8i_dwmac_dump_mac_regs() - Dump EMAC address space
++ * Called from stmmac_ops->dump_regs
++ * Used for ethtool
++ */
++static void sun8i_dwmac_dump_mac_regs(struct mac_device_info *hw,
++ u32 *reg_space)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ u32 v;
-+
-+ netif_stop_queue(ndev);
-+
-+ v = readl(priv->base + EMAC_TX_CTL0);
-+ /* Disable transmitter after current reception */
-+ v &= ~EMAC_TX_TRANSMITTER_EN;
-+ writel(v, priv->base + EMAC_TX_CTL0);
-+
-+ v = readl(priv->base + EMAC_TX_CTL1);
-+ /* Stop TX DMA */
-+ v &= ~EMAC_TX_DMA_EN;
-+ writel(v, priv->base + EMAC_TX_CTL1);
++ int i;
++ void __iomem *ioaddr = hw->pcsr;
+
-+ /* We must be sure that all is stopped before leaving this function */
-+ wmb();
++ for (i = 0; i < 0xC8; i += 4) {
++ if (i == 0x32 || i == 0x3C)
++ continue;
++ reg_space[i / 4] = readl(ioaddr + i);
++ }
+}
+
-+static void sun8i_emac_stop_rx(struct net_device *ndev)
++static void sun8i_dwmac_enable_dma_irq(void __iomem *ioaddr)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ u32 v;
-+
-+ v = readl(priv->base + EMAC_RX_CTL0);
-+ /* Disable receiver after current reception */
-+ v &= ~EMAC_RX_RECEIVER_EN;
-+ writel(v, priv->base + EMAC_RX_CTL0);
-+
-+ v = readl(priv->base + EMAC_RX_CTL1);
-+ /* Stop RX DMA */
-+ v &= ~EMAC_RX_DMA_EN;
-+ writel(v, priv->base + EMAC_RX_CTL1);
++ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN);
++}
+
-+ /* We must be sure that all is stopped before leaving this function */
-+ wmb();
++static void sun8i_dwmac_disable_dma_irq(void __iomem *ioaddr)
++{
++ writel(0, ioaddr + EMAC_INT_EN);
+}
+
-+static void sun8i_emac_start_rx(struct net_device *ndev)
++static void sun8i_dwmac_dma_start_tx(void __iomem *ioaddr)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
+ u32 v;
+
-+ v = readl(priv->base + EMAC_RX_CTL0);
-+ /* Enable receiver */
-+ v |= EMAC_RX_RECEIVER_EN;
-+ writel(v, priv->base + EMAC_RX_CTL0);
-+
-+ v = readl(priv->base + EMAC_RX_CTL1);
-+ v |= EMAC_RX_DMA_START;
-+ v |= EMAC_RX_DMA_EN;
-+ writel(v, priv->base + EMAC_RX_CTL1);
++ v = readl(ioaddr + EMAC_TX_CTL0);
++ v |= EMAC_TX_TRANSMITTER_EN;
++ writel(v, ioaddr + EMAC_TX_CTL0);
+}
+
-+static void sun8i_emac_start_tx(struct net_device *ndev)
++static void sun8i_dwmac_enable_dma_transmission(void __iomem *ioaddr)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
+ u32 v;
+
-+ v = readl(priv->base + EMAC_TX_CTL0);
-+ v |= EMAC_TX_TRANSMITTER_EN;
-+ writel(v, priv->base + EMAC_TX_CTL0);
-+
-+ v = readl(priv->base + EMAC_TX_CTL1);
++ v = readl(ioaddr + EMAC_TX_CTL1);
+ v |= EMAC_TX_DMA_START;
+ v |= EMAC_TX_DMA_EN;
-+ writel(v, priv->base + EMAC_TX_CTL1);
++ writel_relaxed(v, ioaddr + EMAC_TX_CTL1);
+}
+
-+/* sun8i_emac_set_macaddr - Set MAC address for slot index
-+ *
-+ * @addr: the MAC address to set
-+ * @index: The index of slot where to set address.
-+ *
-+ * The slot 0 is the main MAC address
-+ */
-+static void sun8i_emac_set_macaddr(struct sun8i_emac_priv *priv,
-+ const u8 *addr, int index)
++static void sun8i_dwmac_dma_stop_tx(void __iomem *ioaddr)
+{
+ u32 v;
+
-+ dev_info(priv->dev, "device MAC address slot %d %pM", index, addr);
-+
-+ v = (addr[5] << 8) | addr[4];
-+ writel(v, priv->base + EMAC_MACADDR_HI + index * 8);
-+
-+ v = (addr[3] << 24) | (addr[2] << 16) | (addr[1] << 8) | addr[0];
-+ writel(v, priv->base + EMAC_MACADDR_LO + index * 8);
++ v = readl(ioaddr + EMAC_TX_CTL0);
++ v &= ~EMAC_TX_TRANSMITTER_EN;
++ writel(v, ioaddr + EMAC_TX_CTL0);
+}
+
-+static void sun8i_emac_set_link_mode(struct sun8i_emac_priv *priv)
++static void sun8i_dwmac_dma_start_rx(void __iomem *ioaddr)
+{
+ u32 v;
+
-+ v = readl(priv->base + EMAC_BASIC_CTL0);
-+
-+ if (priv->duplex)
-+ v |= EMAC_BCTL0_FD;
-+ else
-+ v &= ~EMAC_BCTL0_FD;
-+
-+ v &= ~EMAC_BCTL0_SPEED_MASK;
-+
-+ switch (priv->speed) {
-+ case 1000:
-+ break;
-+ case 100:
-+ v |= EMAC_BCTL0_SPEED_100 << EMAC_BCTL0_SPEED_SHIFT;
-+ break;
-+ case 10:
-+ v |= EMAC_BCTL0_SPEED_10 << EMAC_BCTL0_SPEED_SHIFT;
-+ break;
-+ default:
-+ dev_err(priv->dev, "Unsupported speed %d\n", priv->speed);
-+ return;
-+ }
++ v = readl(ioaddr + EMAC_RX_CTL0);
++ v |= EMAC_RX_RECEIVER_EN;
++ writel(v, ioaddr + EMAC_RX_CTL0);
+
-+ writel(v, priv->base + EMAC_BASIC_CTL0);
++ v = readl(ioaddr + EMAC_RX_CTL1);
++ v |= EMAC_RX_DMA_START;
++ v |= EMAC_RX_DMA_EN;
++ writel(v, ioaddr + EMAC_RX_CTL1);
+}
+
-+static void sun8i_emac_flow_ctrl(struct sun8i_emac_priv *priv, int duplex,
-+ int fc)
++static void sun8i_dwmac_dma_stop_rx(void __iomem *ioaddr)
+{
-+ u32 flow = 0;
++ u32 v;
+
-+ flow = readl(priv->base + EMAC_RX_CTL0);
-+ if (fc & EMAC_FLOW_RX)
-+ flow |= BIT(16);
-+ else
-+ flow &= ~BIT(16);
-+ writel(flow, priv->base + EMAC_RX_CTL0);
++ v = readl(ioaddr + EMAC_RX_CTL0);
++ v &= ~EMAC_RX_RECEIVER_EN;
++ writel(v, ioaddr + EMAC_RX_CTL0);
+
-+ flow = readl(priv->base + EMAC_TX_FLOW_CTL);
-+ if (fc & EMAC_FLOW_TX)
-+ flow |= BIT(0);
-+ else
-+ flow &= ~BIT(0);
-+ writel(flow, priv->base + EMAC_TX_FLOW_CTL);
++ v = readl(ioaddr + EMAC_RX_CTL1);
++ v &= ~EMAC_RX_DMA_EN;
++ writel(v, ioaddr + EMAC_RX_CTL1);
+}
+
-+/* Grab a frame into a skb from descriptor number i */
-+static int sun8i_emac_rx_from_ddesc(struct net_device *ndev, int i)
++static int sun8i_dwmac_dma_interrupt(void __iomem *ioaddr,
++ struct stmmac_extra_stats *x)
+{
-+ struct sk_buff *skb;
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct dma_desc *ddesc = priv->dd_rx + i;
-+ int frame_len;
-+ int rxcsum_done = 0;
-+ u32 dstatus = le32_to_cpu(ddesc->status);
-+
-+ if (ndev->features & NETIF_F_RXCSUM)
-+ rxcsum_done = 1;
-+
-+ /* bit0/bit7 work only on IPv4/IPv6 TCP traffic,
-+ * (not on ARP for example) so we do not raise rx_errors/discard frame
-+ */
-+ /* the checksum or length of received frame's payload is wrong*/
-+ if (dstatus & BIT(0)) {
-+ priv->estats.rx_payload_error++;
-+ rxcsum_done = 0;
-+ }
-+
-+ /* RX_CRC_ERR */
-+ if (dstatus & BIT(1)) {
-+ priv->ndev->stats.rx_errors++;
-+ priv->ndev->stats.rx_crc_errors++;
-+ priv->estats.rx_crc_error++;
-+ goto discard_frame;
-+ }
++ u32 v;
++ int ret = 0;
+
-+ /* RX_PHY_ERR */
-+ if ((dstatus & BIT(3))) {
-+ priv->ndev->stats.rx_errors++;
-+ priv->estats.rx_phy_error++;
-+ goto discard_frame;
-+ }
++ v = readl(ioaddr + EMAC_INT_STA);
+
-+ /* RX_LENGTH_ERR */
-+ if ((dstatus & BIT(4))) {
-+ priv->ndev->stats.rx_errors++;
-+ priv->ndev->stats.rx_length_errors++;
-+ priv->estats.rx_length_error++;
-+ goto discard_frame;
++ if (v & EMAC_TX_INT) {
++ ret |= handle_tx;
++ x->tx_normal_irq_n++;
+ }
+
-+ /* RX_COL_ERR */
-+ if ((dstatus & BIT(6))) {
-+ priv->ndev->stats.rx_errors++;
-+ priv->estats.rx_col_error++;
-+ goto discard_frame;
-+ }
++ if (v & EMAC_TX_DMA_STOP_INT)
++ x->tx_process_stopped_irq++;
+
-+ /* RX_HEADER_ERR */
-+ if ((dstatus & BIT(7))) {
-+ priv->estats.rx_header_error++;
-+ rxcsum_done = 0;
-+ }
++ if (v & EMAC_TX_BUF_UA_INT)
++ x->tx_process_stopped_irq++;
+
-+ /* RX_OVERFLOW_ERR */
-+ if ((dstatus & BIT(11))) {
-+ priv->ndev->stats.rx_over_errors++;
-+ priv->estats.rx_overflow_error++;
-+ goto discard_frame;
-+ }
++ if (v & EMAC_TX_TIMEOUT_INT)
++ ret |= tx_hard_error;
+
-+ /* RX_NO_ENOUGTH_BUF_ERR */
-+ if ((dstatus & BIT(14))) {
-+ priv->ndev->stats.rx_errors++;
-+ priv->estats.rx_buf_error++;
-+ goto discard_frame;
++ if (v & EMAC_TX_UNDERFLOW_INT) {
++ ret |= tx_hard_error;
++ x->tx_undeflow_irq++;
+ }
+
-+ /* BIT(9) is for the first frame, not having it is bad since we do not
-+ * handle Jumbo frame
-+ */
-+ if ((dstatus & EMAC_DSC_RX_FIRST) == 0) {
-+ priv->ndev->stats.rx_errors++;
-+ priv->estats.rx_invalid_error++;
-+ goto discard_frame;
-+ }
++ if (v & EMAC_TX_EARLY_INT)
++ x->tx_early_irq++;
+
-+ /* this frame is not the last */
-+ if ((dstatus & EMAC_DSC_RX_LAST) == 0) {
-+ priv->ndev->stats.rx_errors++;
-+ priv->estats.rx_invalid_error++;
-+ goto discard_frame;
++ if (v & EMAC_RX_INT) {
++ ret |= handle_rx;
++ x->rx_normal_irq_n++;
+ }
+
-+ frame_len = (dstatus >> 16) & 0x3FFF;
-+ if (!(ndev->features & NETIF_F_RXFCS))
-+ frame_len -= ETH_FCS_LEN;
++ if (v & EMAC_RX_BUF_UA_INT)
++ x->rx_buf_unav_irq++;
+
-+ skb = priv->rx_skb[i];
-+
-+ netif_dbg(priv, rx_status, priv->ndev,
-+ "%s from %02d %pad len=%d status=%x st=%x\n",
-+ __func__, i, &ddesc, frame_len, dstatus,
-+ cpu_to_le32(ddesc->ctl));
++ if (v & EMAC_RX_DMA_STOP_INT)
++ x->rx_process_stopped_irq++;
+
-+ skb_put(skb, frame_len);
++ if (v & EMAC_RX_TIMEOUT_INT)
++ ret |= tx_hard_error;
+
-+ dma_unmap_single(priv->dev, le32_to_cpu(ddesc->buf_addr), DESC_BUF_MAX,
-+ DMA_FROM_DEVICE);
-+ skb->protocol = eth_type_trans(skb, priv->ndev);
-+ if (rxcsum_done) {
-+ skb->ip_summed = CHECKSUM_UNNECESSARY;
-+ priv->estats.rx_hw_csum++;
-+ } else {
-+ skb->ip_summed = CHECKSUM_PARTIAL;
++ if (v & EMAC_RX_OVERFLOW_INT) {
++ ret |= tx_hard_error;
++ x->rx_overflow_irq++;
+ }
+
-+ priv->ndev->stats.rx_packets++;
-+ priv->ndev->stats.rx_bytes += frame_len;
-+ priv->rx_skb[i] = NULL;
++ if (v & EMAC_RX_EARLY_INT)
++ x->rx_early_irq++;
+
-+ sun8i_emac_rx_skb(ndev, i);
-+ napi_gro_receive(&priv->napi, skb);
++ if (v & EMAC_RGMII_STA_INT)
++ x->irq_rgmii_n++;
+
-+ return 0;
-+ /* If the frame need to be dropped, we simply reuse the buffer */
-+discard_frame:
-+ ddesc->ctl = cpu_to_le32(DESC_BUF_MAX);
-+ /* EMAC_COULD_BE_USED_BY_DMA must be the last value written */
-+ wmb();
-+ ddesc->status = EMAC_COULD_BE_USED_BY_DMA;
-+ return 0;
++ writel(v, ioaddr + EMAC_INT_STA);
++
++ return ret;
+}
+
-+/* Iterate over dma_desc for finding completed xmit.
-+ *
-+ * The problem is: how to know that a descriptor is sent and not just in
-+ * preparation.
-+ * Need to have status=0 and st set but this is the state of first frame just
-+ * before setting the own-by-DMA bit.
-+ * The solution is to used the artificial value DCLEAN.
-+ */
-+static int sun8i_emac_complete_xmit(struct net_device *ndev, int budget)
++static void sun8i_dwmac_dma_operation_mode(void __iomem *ioaddr, int txmode,
++ int rxmode, int rxfifosz)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct dma_desc *ddesc;
-+ int frame_len;
-+ int work = 0;
-+ unsigned int bytes_compl = 0, pkts_compl = 0;
-+ u32 dstatus;
-+
-+ do {
-+ ddesc = priv->dd_tx + priv->tx_dirty;
++ u32 v;
+
-+ if (ddesc->status & EMAC_COULD_BE_USED_BY_DMA)
-+ goto xmit_end;
++ v = readl(ioaddr + EMAC_TX_CTL1);
++ if (txmode == SF_DMA_MODE) {
++ v |= EMAC_TX_MD;
++ /* Undocumented bit (called TX_NEXT_FRM in BSP), the original
++ * comment is
++ * "Operating on second frame increase the performance
++ * especially when transmit store-and-forward is used."
++ */
++ v |= EMAC_TX_NEXT_FRM;
++ } else {
++ v &= ~EMAC_TX_MD;
++ v &= ~EMAC_TX_TH_MASK;
++ if (txmode < 64)
++ v |= EMAC_TX_TH_64;
++ else if (txmode < 128)
++ v |= EMAC_TX_TH_128;
++ else if (txmode < 192)
++ v |= EMAC_TX_TH_192;
++ else if (txmode < 256)
++ v |= EMAC_TX_TH_256;
++ }
++ writel(v, ioaddr + EMAC_TX_CTL1);
++
++ v = readl(ioaddr + EMAC_RX_CTL1);
++ if (rxmode == SF_DMA_MODE) {
++ v |= EMAC_RX_MD;
++ } else {
++ v &= ~EMAC_RX_MD;
++ v &= ~EMAC_RX_TH_MASK;
++ if (rxmode < 32)
++ v |= EMAC_RX_TH_32;
++ else if (rxmode < 64)
++ v |= EMAC_RX_TH_64;
++ else if (rxmode < 96)
++ v |= EMAC_RX_TH_96;
++ else if (rxmode < 128)
++ v |= EMAC_RX_TH_128;
++ }
++ writel(v, ioaddr + EMAC_RX_CTL1);
++}
+
-+ if (ddesc->status == DCLEAN)
-+ goto xmit_end;
++static const struct stmmac_dma_ops sun8i_dwmac_dma_ops = {
++ .reset = sun8i_dwmac_dma_reset,
++ .init = sun8i_dwmac_dma_init,
++ .dump_regs = sun8i_dwmac_dump_regs,
++ .dma_mode = sun8i_dwmac_dma_operation_mode,
++ .enable_dma_transmission = sun8i_dwmac_enable_dma_transmission,
++ .enable_dma_irq = sun8i_dwmac_enable_dma_irq,
++ .disable_dma_irq = sun8i_dwmac_disable_dma_irq,
++ .start_tx = sun8i_dwmac_dma_start_tx,
++ .stop_tx = sun8i_dwmac_dma_stop_tx,
++ .start_rx = sun8i_dwmac_dma_start_rx,
++ .stop_rx = sun8i_dwmac_dma_stop_rx,
++ .dma_interrupt = sun8i_dwmac_dma_interrupt,
++};
+
-+ dstatus = cpu_to_le32(ddesc->status);
++static int sun8i_dwmac_init(struct platform_device *pdev, void *priv)
++{
++ struct sunxi_priv_data *gmac = priv;
++ int ret;
+
-+ if (ddesc->status == 0 && !ddesc->ctl) {
-+ dev_err(priv->dev, "BUG: reached the void %d %d\n",
-+ priv->tx_dirty, priv->tx_slot);
-+ goto xmit_end;
++ if (gmac->regulator) {
++ ret = regulator_enable(gmac->regulator);
++ if (ret) {
++ dev_err(&pdev->dev, "Fail to enable regulator\n");
++ return ret;
+ }
++ }
+
-+ /* TX_UNDERFLOW_ERR */
-+ if (dstatus & BIT(1))
-+ priv->ndev->stats.tx_errors++;
-+ /* TX_DEFER_ERR */
-+ if (dstatus & BIT(2))
-+ priv->ndev->stats.tx_errors++;
-+ /* BIT 6:3 numbers of collisions */
-+ if (dstatus & 0x78)
-+ priv->ndev->stats.collisions +=
-+ (dstatus & 0x78) >> 3;
-+ /* TX_COL_ERR_1 */
-+ if (dstatus & BIT(8))
-+ priv->ndev->stats.tx_errors++;
-+ /* TX_COL_ERR_0 */
-+ if (dstatus & BIT(9))
-+ priv->ndev->stats.tx_errors++;
-+ /* TX_CRS_ERR */
-+ if (dstatus & BIT(10))
-+ priv->ndev->stats.tx_carrier_errors++;
-+ /* TX_PAYLOAD_ERR */
-+ if (dstatus & BIT(12))
-+ priv->ndev->stats.tx_errors++;
-+ /* TX_LENGTH_ERR */
-+ if (dstatus & BIT(14))
-+ priv->ndev->stats.tx_errors++;
-+ /* TX_HEADER_ERR */
-+ if (dstatus & BIT(16))
-+ priv->ndev->stats.tx_errors++;
-+
-+ frame_len = le32_to_cpu(ddesc->ctl) & 0x3FFF;
-+ bytes_compl += frame_len;
-+
-+ if (priv->txl[priv->tx_dirty].map == MAP_SINGLE)
-+ dma_unmap_single(priv->dev,
-+ le32_to_cpu(ddesc->buf_addr),
-+ frame_len, DMA_TO_DEVICE);
-+ else
-+ dma_unmap_page(priv->dev,
-+ le32_to_cpu(ddesc->buf_addr),
-+ frame_len, DMA_TO_DEVICE);
-+ /* we can free skb only on last frame */
-+ if (priv->txl[priv->tx_dirty].skb &&
-+ (ddesc->ctl & EMAC_DSC_TX_LAST)) {
-+ dev_kfree_skb_irq(priv->txl[priv->tx_dirty].skb);
-+ pkts_compl++;
-+ }
++ ret = clk_prepare_enable(gmac->tx_clk);
++ if (ret) {
++ if (gmac->regulator)
++ regulator_disable(gmac->regulator);
++ dev_err(&pdev->dev, "Could not enable AHB clock\n");
++ return ret;
++ }
+
-+ priv->txl[priv->tx_dirty].skb = NULL;
-+ priv->txl[priv->tx_dirty].map = 0;
-+ ddesc->ctl = 0;
-+ /* setting status to DCLEAN is the last value to be set */
-+ wmb();
-+ ddesc->status = DCLEAN;
-+ work++;
-+
-+ rb_inc(&priv->tx_dirty, priv->nbdesc_tx);
-+ ddesc = priv->dd_tx + priv->tx_dirty;
-+ } while (ddesc->ctl &&
-+ !(ddesc->status & EMAC_COULD_BE_USED_BY_DMA) &&
-+ work < budget);
-+
-+xmit_end:
-+ netdev_completed_queue(ndev, pkts_compl, bytes_compl);
-+
-+ /* if we don't have handled all packets */
-+ if (work < budget)
-+ work = 0;
-+
-+ if (netif_queue_stopped(ndev) &&
-+ rb_tx_numfreedesc(ndev) > MAX_SKB_FRAGS + 1)
-+ netif_wake_queue(ndev);
-+ return work;
++ return 0;
+}
+
-+static int sun8i_emac_poll(struct napi_struct *napi, int budget)
++static void sun8i_dwmac_core_init(struct mac_device_info *hw, int mtu)
+{
-+ struct sun8i_emac_priv *priv =
-+ container_of(napi, struct sun8i_emac_priv, napi);
-+ struct net_device *ndev = priv->ndev;
-+ int worked;
-+ struct dma_desc *ddesc;
-+
-+ priv->estats.napi_schedule++;
-+ worked = sun8i_emac_complete_xmit(ndev, budget);
-+
-+ ddesc = priv->dd_rx + priv->rx_dirty;
-+ while (!(ddesc->status & EMAC_COULD_BE_USED_BY_DMA) &&
-+ worked < budget) {
-+ sun8i_emac_rx_from_ddesc(ndev, priv->rx_dirty);
-+ worked++;
-+ rb_inc(&priv->rx_dirty, priv->nbdesc_rx);
-+ ddesc = priv->dd_rx + priv->rx_dirty;
-+ };
-+ if (worked < budget) {
-+ priv->estats.napi_underflow++;
-+ napi_complete(&priv->napi);
-+ writel(EMAC_RX_INT | EMAC_TX_INT, priv->base + EMAC_INT_EN);
-+ }
-+ return worked;
++ void __iomem *ioaddr = hw->pcsr;
++ u32 v;
++
++ v = (8 << EMAC_BURSTLEN_SHIFT); /* burst len */
++ writel(v, ioaddr + EMAC_BASIC_CTL1);
+}
+
-+static int sun8i_mdio_read(struct mii_bus *bus, int phy_addr, int phy_reg)
++static void sun8i_dwmac_set_umac_addr(struct mac_device_info *hw,
++ unsigned char *addr,
++ unsigned int reg_n)
+{
-+ struct net_device *ndev = bus->priv;
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ int err;
-+ u32 reg;
-+
-+ err = readl_poll_timeout(priv->base + EMAC_MDIO_CMD, reg,
-+ !(reg & MDIO_CMD_MII_BUSY), 100, 10000);
-+ if (err) {
-+ dev_err(priv->dev, "%s timeout %x\n", __func__, reg);
-+ return err;
-+ }
-+
-+ reg &= ~MDIO_CMD_MII_WRITE;
-+ reg &= ~MDIO_CMD_MII_PHY_REG_ADDR_MASK;
-+ reg |= (phy_reg << MDIO_CMD_MII_PHY_REG_ADDR_SHIFT) &
-+ MDIO_CMD_MII_PHY_REG_ADDR_MASK;
-+
-+ reg &= ~MDIO_CMD_MII_PHY_ADDR_MASK;
-+
-+ reg |= (phy_addr << MDIO_CMD_MII_PHY_ADDR_SHIFT) &
-+ MDIO_CMD_MII_PHY_ADDR_MASK;
-+
-+ reg |= MDIO_CMD_MII_BUSY;
-+
-+ writel(reg, priv->base + EMAC_MDIO_CMD);
-+
-+ err = readl_poll_timeout(priv->base + EMAC_MDIO_CMD, reg,
-+ !(reg & MDIO_CMD_MII_BUSY), 100, 10000);
++ void __iomem *ioaddr = hw->pcsr;
++ u32 v;
+
-+ if (err) {
-+ dev_err(priv->dev, "%s timeout %x\n", __func__, reg);
-+ return err;
++ stmmac_set_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n),
++ EMAC_MACADDR_LO(reg_n));
++ if (reg_n > 0) {
++ v = readl(ioaddr + EMAC_MACADDR_HI(reg_n));
++ v |= MAC_ADDR_TYPE_DST;
++ writel(v, ioaddr + EMAC_MACADDR_HI(reg_n));
+ }
-+
-+ return readl(priv->base + EMAC_MDIO_DATA);
+}
+
-+static int sun8i_mdio_write(struct mii_bus *bus, int phy_addr, int phy_reg,
-+ u16 data)
++static void sun8i_dwmac_get_umac_addr(struct mac_device_info *hw,
++ unsigned char *addr,
++ unsigned int reg_n)
+{
-+ struct net_device *ndev = bus->priv;
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ u32 reg;
-+ int err;
++ void __iomem *ioaddr = hw->pcsr;
+
-+ err = readl_poll_timeout(priv->base + EMAC_MDIO_CMD, reg,
-+ !(reg & MDIO_CMD_MII_BUSY), 100, 10000);
-+ if (err) {
-+ dev_err(priv->dev, "%s timeout %x\n", __func__, reg);
-+ return err;
-+ }
-+
-+ reg &= ~MDIO_CMD_MII_PHY_REG_ADDR_MASK;
-+ reg |= (phy_reg << MDIO_CMD_MII_PHY_REG_ADDR_SHIFT) &
-+ MDIO_CMD_MII_PHY_REG_ADDR_MASK;
-+
-+ reg &= ~MDIO_CMD_MII_PHY_ADDR_MASK;
-+ reg |= (phy_addr << MDIO_CMD_MII_PHY_ADDR_SHIFT) &
-+ MDIO_CMD_MII_PHY_ADDR_MASK;
++ stmmac_get_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n),
++ EMAC_MACADDR_LO(reg_n));
++}
+
-+ reg |= MDIO_CMD_MII_WRITE;
-+ reg |= MDIO_CMD_MII_BUSY;
++/* caution this function must return non 0 to work */
++static int sun8i_dwmac_rx_ipc_enable(struct mac_device_info *hw)
++{
++ void __iomem *ioaddr = hw->pcsr;
++ u32 v;
+
-+ writel(reg, priv->base + EMAC_MDIO_CMD);
-+ writel(data, priv->base + EMAC_MDIO_DATA);
++ v = readl(ioaddr + EMAC_RX_CTL0);
++ v |= EMAC_RX_DO_CRC;
++ writel(v, ioaddr + EMAC_RX_CTL0);
+
-+ err = readl_poll_timeout(priv->base + EMAC_MDIO_CMD, reg,
-+ !(reg & MDIO_CMD_MII_BUSY), 100, 10000);
-+ if (err) {
-+ dev_err(priv->dev, "%s timeout %x\n", __func__, reg);
-+ return err;
-+ }
-+
-+ return 0;
++ return 1;
+}
+
-+static int sun8i_emac_mdio_register(struct net_device *ndev)
++static void sun8i_dwmac_set_filter(struct mac_device_info *hw,
++ struct net_device *dev)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct mii_bus *bus;
-+ int ret;
-+
-+ bus = mdiobus_alloc();
-+ if (!bus) {
-+ netdev_err(ndev, "Failed to allocate a new mdio bus\n");
-+ return -ENOMEM;
-+ }
++ void __iomem *ioaddr = hw->pcsr;
++ u32 v;
++ int i = 0;
++ struct netdev_hw_addr *ha;
+
-+ bus->name = dev_name(priv->dev);
-+ bus->read = &sun8i_mdio_read;
-+ bus->write = &sun8i_mdio_write;
-+ snprintf(bus->id, MII_BUS_ID_SIZE, "%s-%x", bus->name, priv->dev->id);
++ v = readl(ioaddr + EMAC_RX_FRM_FLT);
+
-+ bus->parent = priv->dev;
-+ bus->priv = ndev;
++ v |= EMAC_FRM_FLT_CTL;
+
-+ ret = of_mdiobus_register(bus, priv->mdio_node);
-+ if (ret) {
-+ netdev_err(ndev, "Could not register a MDIO bus: %d\n", ret);
-+ mdiobus_free(bus);
-+ return ret;
++ if (dev->flags & IFF_PROMISC) {
++ v = EMAC_FRM_FLT_RXALL;
++ } else if (dev->flags & IFF_ALLMULTI) {
++ v = EMAC_FRM_FLT_MULTICAST;
++ } else if (!netdev_mc_empty(dev)) {
++ netdev_for_each_mc_addr(ha, dev) {
++ i++;
++ sun8i_dwmac_set_umac_addr(hw, ha->addr, i);
++ }
+ }
+
-+ priv->mdio = bus;
-+
-+ return 0;
++ if (netdev_uc_count(dev) + i > hw->unicast_filter_entries) {
++ netdev_info(dev, "Too many address, switching to promiscuous\n");
++ v = EMAC_FRM_FLT_RXALL;
++ } else {
++ netdev_for_each_uc_addr(ha, dev) {
++ i++;
++ sun8i_dwmac_set_umac_addr(hw, ha->addr, i);
++ }
++ }
++ writel(v, ioaddr + EMAC_RX_FRM_FLT);
+}
+
-+static void sun8i_emac_mdio_unregister(struct net_device *ndev)
++static void sun8i_dwmac_flow_ctrl(struct mac_device_info *hw,
++ unsigned int duplex,
++ unsigned int fc, unsigned int pause_time)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
++ void __iomem *ioaddr = hw->pcsr;
++ u32 v;
++
++ v = readl(ioaddr + EMAC_RX_CTL0);
++ if (fc == FLOW_AUTO)
++ v |= EMAC_RX_FLOW_CTL_EN;
++ else
++ v &= ~EMAC_RX_FLOW_CTL_EN;
++ writel(v, ioaddr + EMAC_RX_CTL0);
+
-+ mdiobus_unregister(priv->mdio);
-+ mdiobus_free(priv->mdio);
++ v = readl(ioaddr + EMAC_TX_FLOW_CTL);
++ if (fc == FLOW_AUTO)
++ v |= EMAC_TX_FLOW_CTL_EN;
++ else
++ v &= ~EMAC_TX_FLOW_CTL_EN;
++ writel(v, ioaddr + EMAC_TX_FLOW_CTL);
+}
+
-+/* Run within phydev->lock */
-+static void sun8i_emac_adjust_link(struct net_device *ndev)
++static int sun8i_dwmac_reset(struct stmmac_priv *priv)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct phy_device *phydev = ndev->phydev;
-+ int new_state = 0;
-+
-+ netif_dbg(priv, link, priv->ndev,
-+ "%s link=%x duplex=%x speed=%x\n", __func__,
-+ phydev->link, phydev->duplex, phydev->speed);
-+ if (!phydev)
-+ return;
-+
-+ if (phydev->link) {
-+ if (phydev->duplex != priv->duplex) {
-+ new_state = 1;
-+ priv->duplex = phydev->duplex;
-+ }
-+ if (phydev->pause)
-+ sun8i_emac_flow_ctrl(priv, phydev->duplex,
-+ priv->flow_ctrl);
++ u32 v;
++ int err;
+
-+ if (phydev->speed != priv->speed) {
-+ new_state = 1;
-+ priv->speed = phydev->speed;
-+ }
++ v = readl(priv->ioaddr + EMAC_BASIC_CTL1);
++ writel(v | 0x01, priv->ioaddr + EMAC_BASIC_CTL1);
+
-+ if (priv->link == 0) {
-+ new_state = 1;
-+ priv->link = phydev->link;
-+ }
++ err = readl_poll_timeout(priv->ioaddr + EMAC_BASIC_CTL1, v,
++ !(v & 0x01), 100, 10000);
+
-+ netif_dbg(priv, link, priv->ndev,
-+ "%s new=%d link=%d pause=%d\n",
-+ __func__, new_state, priv->link, phydev->pause);
-+ if (new_state)
-+ sun8i_emac_set_link_mode(priv);
-+ } else if (priv->link != phydev->link) {
-+ new_state = 1;
-+ priv->link = 0;
-+ priv->speed = 0;
-+ priv->duplex = -1;
++ if (err) {
++ dev_err(priv->device, "EMAC reset timeout\n");
++ return -EFAULT;
+ }
-+
-+ if (new_state)
-+ phy_print_status(phydev);
++ return 0;
+}
+
-+/* H3 specific bits for EPHY */
-+#define H3_EPHY_ADDR_SHIFT 20
-+#define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */
-+#define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */
-+#define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */
-+
-+/* H3/A64 specific bits */
-+#define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */
-+
-+/* Generic system control EMAC_CLK bits */
-+#define SYSCON_ETXDC_MASK GENMASK(2, 0)
-+#define SYSCON_ETXDC_SHIFT 10
-+#define SYSCON_ERXDC_MASK GENMASK(4, 0)
-+#define SYSCON_ERXDC_SHIFT 5
-+/* EMAC PHY Interface Type */
-+#define SYSCON_EPIT BIT(2) /* 1: RGMII, 0: MII */
-+#define SYSCON_ETCS_MASK GENMASK(1, 0)
-+#define SYSCON_ETCS_MII 0x0
-+#define SYSCON_ETCS_EXT_GMII 0x1
-+#define SYSCON_ETCS_INT_GMII 0x2
-+#define SYSCON_EMAC_REG 0x30
-+
-+static int sun8i_emac_set_syscon(struct net_device *ndev)
++static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct device_node *node = priv->dev->of_node;
++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
++ struct device_node *node = priv->device->of_node;
+ int ret;
+ u32 reg, val;
+
-+ reg = priv->variant->default_syscon_value;
++ regmap_read(gmac->regmap, SYSCON_EMAC_REG, &val);
++ reg = gmac->variant->default_syscon_value;
++ if (reg != val)
++ dev_warn(priv->device,
++ "Current syscon value is not the default %x (expect %x)\n",
++ val, reg);
+
-+ if (priv->variant->internal_phy) {
-+ if (!priv->use_internal_phy) {
++ if (gmac->variant->internal_phy) {
++ if (!gmac->use_internal_phy) {
+ /* switch to external PHY interface */
+ reg &= ~H3_EPHY_SELECT;
+ } else {
+ reg |= H3_EPHY_SELECT;
+ reg &= ~H3_EPHY_SHUTDOWN;
++ dev_dbg(priv->device, "Select internal_phy %x\n", reg);
+
-+ if (of_property_read_bool(priv->phy_node,
++ if (of_property_read_bool(priv->plat->phy_node,
+ "allwinner,leds-active-low"))
+ reg |= H3_EPHY_LED_POL;
++ else
++ reg &= ~H3_EPHY_LED_POL;
+
-+ ret = of_mdio_parse_addr(priv->dev, priv->phy_node);
++ ret = of_mdio_parse_addr(priv->device,
++ priv->plat->phy_node);
+ if (ret < 0) {
-+ netdev_err(ndev, "Could not parse MDIO addr\n");
++ dev_err(priv->device, "Could not parse MDIO addr\n");
+ return ret;
+ }
+ /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY
@@ -1079,29 +982,35 @@ index 0000000..bc74467
+ }
+
+ if (!of_property_read_u32(node, "allwinner,tx-delay", &val)) {
++ dev_dbg(priv->device, "set tx-delay to %x\n", val);
+ if (val <= SYSCON_ETXDC_MASK) {
+ reg &= ~(SYSCON_ETXDC_MASK << SYSCON_ETXDC_SHIFT);
+ reg |= (val << SYSCON_ETXDC_SHIFT);
+ } else {
-+ netdev_warn(ndev, "Invalid TX clock delay: %d\n", val);
++ dev_err(priv->device, "Invalid TX clock delay: %d\n",
++ val);
++ return -EINVAL;
+ }
+ }
+
+ if (!of_property_read_u32(node, "allwinner,rx-delay", &val)) {
++ dev_dbg(priv->device, "set rx-delay to %x\n", val);
+ if (val <= SYSCON_ERXDC_MASK) {
+ reg &= ~(SYSCON_ERXDC_MASK << SYSCON_ERXDC_SHIFT);
+ reg |= (val << SYSCON_ERXDC_SHIFT);
+ } else {
-+ netdev_warn(ndev, "Invalid RX clock delay: %d\n", val);
++ dev_err(priv->device, "Invalid RX clock delay: %d\n",
++ val);
++ return -EINVAL;
+ }
+ }
+
+ /* Clear interface mode bits */
+ reg &= ~(SYSCON_ETCS_MASK | SYSCON_EPIT);
-+ if (priv->variant->support_rmii)
++ if (gmac->variant->support_rmii)
+ reg &= ~SYSCON_RMII_EN;
+
-+ switch (priv->phy_interface) {
++ switch (priv->plat->interface) {
+ case PHY_INTERFACE_MODE_MII:
+ /* default */
+ break;
@@ -1112,1402 +1021,483 @@ index 0000000..bc74467
+ reg |= SYSCON_RMII_EN | SYSCON_ETCS_EXT_GMII;
+ break;
+ default:
-+ netdev_err(ndev, "Unsupported interface mode: %s",
-+ phy_modes(priv->phy_interface));
++ dev_err(priv->device, "Unsupported interface mode: %s",
++ phy_modes(priv->plat->interface));
+ return -EINVAL;
+ }
+
-+ regmap_write(priv->regmap, SYSCON_EMAC_REG, reg);
++ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg);
+
+ return 0;
+}
+
-+static void sun8i_emac_unset_syscon(struct net_device *ndev)
++static void sun8i_dwmac_unset_syscon(struct sunxi_priv_data *gmac)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ u32 reg = priv->variant->default_syscon_value;
++ u32 reg = gmac->variant->default_syscon_value;
+
-+ regmap_write(priv->regmap, SYSCON_EMAC_REG, reg);
-+}
-+
-+/* Set Management Data Clock, must be call after device reset */
-+static void sun8i_emac_set_mdc(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ unsigned long rate;
-+ u32 reg;
-+
-+ rate = clk_get_rate(priv->ahb_clk);
-+ if (rate > 160000000)
-+ reg = 0x3 << 20; /* AHB / 128 */
-+ else if (rate > 80000000)
-+ reg = 0x2 << 20; /* AHB / 64 */
-+ else if (rate > 40000000)
-+ reg = 0x1 << 20; /* AHB / 32 */
-+ else
-+ reg = 0x0 << 20; /* AHB / 16 */
-+ netif_dbg(priv, link, ndev, "MDC auto : %x\n", reg);
-+ writel(reg, priv->base + EMAC_MDIO_CMD);
++ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg);
+}
+
-+/* "power" the device, by enabling clk/reset/regulators */
-+static int sun8i_emac_power(struct net_device *ndev)
++static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
+ int ret;
+
-+ ret = clk_prepare_enable(priv->ahb_clk);
-+ if (ret) {
-+ netdev_err(ndev, "Could not enable AHB clock\n");
-+ return ret;
-+ }
-+
-+ if (priv->rst_mac) {
-+ ret = reset_control_deassert(priv->rst_mac);
-+ if (ret) {
-+ netdev_err(ndev, "Could not deassert reset\n");
-+ goto err_reset;
-+ }
-+ }
-+
-+ if (priv->ephy_clk) {
-+ ret = clk_prepare_enable(priv->ephy_clk);
++ if (gmac->ephy_clk) {
++ ret = clk_prepare_enable(gmac->ephy_clk);
+ if (ret) {
-+ netdev_err(ndev, "Could not enable EPHY clock\n");
-+ goto err_ephy_clk;
++ dev_err(priv->device, "Cannot enable ephy\n");
++ return ret;
+ }
+ }
+
-+ if (priv->rst_ephy) {
-+ ret = reset_control_deassert(priv->rst_ephy);
++ if (gmac->rst_ephy) {
++ ret = reset_control_deassert(gmac->rst_ephy);
+ if (ret) {
-+ netdev_err(ndev, "Could not deassert EPHY reset\n");
-+ goto err_ephy_reset;
++ dev_err(priv->device, "Cannot deassert ephy\n");
++ clk_disable_unprepare(gmac->ephy_clk);
++ return ret;
+ }
+ }
+
+ return 0;
-+
-+err_ephy_reset:
-+ if (priv->ephy_clk)
-+ clk_disable_unprepare(priv->ephy_clk);
-+err_ephy_clk:
-+ if (priv->rst_mac)
-+ reset_control_assert(priv->rst_mac);
-+err_reset:
-+ clk_disable_unprepare(priv->ahb_clk);
-+ return ret;
+}
+
-+/* "Unpower" the device, disabling clocks and regulators, asserting reset */
-+static void sun8i_emac_unpower(struct net_device *ndev)
++static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ if (priv->rst_ephy)
-+ reset_control_assert(priv->rst_ephy);
-+
-+ if (priv->ephy_clk)
-+ clk_disable_unprepare(priv->ephy_clk);
-+
-+ if (priv->rst_mac)
-+ reset_control_assert(priv->rst_mac);
-+
-+ clk_disable_unprepare(priv->ahb_clk);
-+}
-+
-+static int sun8i_emac_init(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct device_node *node = priv->dev->of_node;
-+ const u8 *addr;
-+
-+ /* Try to get MAC address from DT, or assign a random one */
-+ addr = of_get_mac_address(node);
-+ if (addr)
-+ ether_addr_copy(ndev->dev_addr, addr);
-+ else
-+ eth_hw_addr_random(ndev);
-+
-+ return 0;
-+}
-+
-+static int sun8i_emac_mdio_probe(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct phy_device *phydev = NULL;
-+
-+ phydev = of_phy_connect(ndev, priv->phy_node, &sun8i_emac_adjust_link,
-+ 0, priv->phy_interface);
-+
-+ if (!phydev) {
-+ netdev_err(ndev, "Could not attach to PHY\n");
-+ return -ENODEV;
-+ }
-+
-+ phy_attached_info(phydev);
-+
-+ /* mask with MAC supported features */
-+ phydev->supported &= PHY_GBIT_FEATURES;
-+ phydev->advertising = phydev->supported;
-+
-+ priv->link = 0;
-+ priv->speed = 0;
-+ priv->duplex = -1;
-+
-+ return 0;
-+}
-+
-+/* Allocate both RX and TX ring buffer and init them
-+ * This function also write the startbase of thoses ring in the device.
-+ * All structures that help managing thoses rings are also handled
-+ * by this functions (rx_skb/txl)
-+ */
-+static int sun8i_emac_alloc_rings(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct dma_desc *ddesc;
-+ int err, i;
-+
-+ priv->rx_skb = kcalloc(priv->nbdesc_rx, sizeof(struct sk_buff *),
-+ GFP_KERNEL);
-+ if (!priv->rx_skb) {
-+ err = -ENOMEM;
-+ goto rx_skb_error;
-+ }
-+ priv->txl = kcalloc(priv->nbdesc_tx, sizeof(struct txinfo), GFP_KERNEL);
-+ if (!priv->txl) {
-+ err = -ENOMEM;
-+ goto tx_error;
-+ }
-+
-+ /* allocate/init RX ring */
-+ priv->dd_rx = dma_zalloc_coherent(priv->dev,
-+ priv->nbdesc_rx * sizeof(struct dma_desc),
-+ &priv->dd_rx_phy, GFP_KERNEL);
-+ if (!priv->dd_rx) {
-+ dev_err(priv->dev, "ERROR: cannot allocate DMA RX buffer");
-+ err = -ENOMEM;
-+ goto dma_rx_error;
-+ }
-+ ddesc = priv->dd_rx;
-+ for (i = 0; i < priv->nbdesc_rx; i++) {
-+ sun8i_emac_rx_skb(ndev, i);
-+ ddesc->next = cpu_to_le32(priv->dd_rx_phy + (i + 1)
-+ * sizeof(struct dma_desc));
-+ ddesc++;
-+ }
-+ /* last descriptor point back to first one */
-+ ddesc--;
-+ ddesc->next = cpu_to_le32(priv->dd_rx_phy);
-+
-+ /* allocate/init TX ring */
-+ priv->dd_tx = dma_zalloc_coherent(priv->dev,
-+ priv->nbdesc_tx * sizeof(struct dma_desc),
-+ &priv->dd_tx_phy, GFP_KERNEL);
-+ if (!priv->dd_tx) {
-+ dev_err(priv->dev, "ERROR: cannot allocate DMA TX buffer");
-+ err = -ENOMEM;
-+ goto dma_tx_error;
-+ }
-+ ddesc = priv->dd_tx;
-+ for (i = 0; i < priv->nbdesc_tx; i++) {
-+ ddesc->status = DCLEAN;
-+ ddesc->ctl = 0;
-+ ddesc->next = cpu_to_le32(priv->dd_tx_phy + (i + 1)
-+ * sizeof(struct dma_desc));
-+ ddesc++;
-+ }
-+ /* last descriptor point back to first one */
-+ ddesc--;
-+ ddesc->next = cpu_to_le32(priv->dd_tx_phy);
-+ i--;
-+
-+ priv->tx_slot = 0;
-+ priv->tx_dirty = 0;
-+ priv->rx_dirty = 0;
-+
-+ /* write start of RX ring descriptor */
-+ writel(priv->dd_rx_phy, priv->base + EMAC_RX_DESC_LIST);
-+ /* write start of TX ring descriptor */
-+ writel(priv->dd_tx_phy, priv->base + EMAC_TX_DESC_LIST);
-+
-+ return 0;
-+dma_tx_error:
-+ dma_free_coherent(priv->dev, priv->nbdesc_rx * sizeof(struct dma_desc),
-+ priv->dd_rx, priv->dd_rx_phy);
-+dma_rx_error:
-+ kfree(priv->txl);
-+tx_error:
-+ kfree(priv->rx_skb);
-+rx_skb_error:
-+ return err;
-+}
-+
-+static int sun8i_emac_open(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ int err;
-+ u32 v;
-+
-+ err = sun8i_emac_power(ndev);
-+ if (err)
-+ return err;
-+
-+ err = request_irq(priv->irq, sun8i_emac_dma_interrupt, 0,
-+ dev_name(priv->dev), ndev);
-+ if (err) {
-+ dev_err(priv->dev, "Cannot request IRQ: %d\n", err);
-+ goto err_power;
-+ }
-+
-+ /* Set interface mode (and configure internal PHY on H3) */
-+ err = sun8i_emac_set_syscon(ndev);
-+ if (err)
-+ goto err_irq;
-+
-+ /* Do SOFT RST */
-+ v = readl(priv->base + EMAC_BASIC_CTL1);
-+ writel(v | 0x01, priv->base + EMAC_BASIC_CTL1);
-+
-+ err = readl_poll_timeout(priv->base + EMAC_BASIC_CTL1, v,
-+ !(v & 0x01), 100, 10000);
-+ if (err) {
-+ dev_err(priv->dev, "EMAC reset timeout\n");
-+ err = -EFAULT;
-+ goto err_syscon;
-+ }
-+
-+ sun8i_emac_set_mdc(ndev);
-+
-+ err = sun8i_emac_mdio_register(ndev);
-+ if (err)
-+ goto err_syscon;
-+
-+ err = sun8i_emac_mdio_probe(ndev);
-+ if (err)
-+ goto err_syscon;
-+
-+ /* DMA */
-+ v = (8 << 24);/* burst len */
-+ writel(v, priv->base + EMAC_BASIC_CTL1);
-+
-+ writel(EMAC_RX_INT | EMAC_TX_INT, priv->base + EMAC_INT_EN);
-+
-+ v = readl(priv->base + EMAC_RX_CTL0);
-+ /* CHECK_CRC */
-+ if (ndev->features & NETIF_F_RXCSUM)
-+ v |= EMAC_RX_DO_CRC;
-+ else
-+ v &= ~EMAC_RX_DO_CRC;
-+ /* STRIP_FCS */
-+ if (ndev->features & NETIF_F_RXFCS)
-+ v &= ~EMAC_RX_STRIP_FCS;
-+ else
-+ v |= EMAC_RX_STRIP_FCS;
-+ writel(v, priv->base + EMAC_RX_CTL0);
-+
-+ v = readl(priv->base + EMAC_TX_CTL1);
-+ /* TX_MD Transmission starts after a full frame located in TX DMA FIFO*/
-+ v |= BIT(1);
-+ /* Undocumented bit (called TX_NEXT_FRM in BSP), the original comment is
-+ * "Operating on second frame increase the performance
-+ * especially when transmit store-and-forward is used."
-+ */
-+ v |= BIT(2);
-+ writel(v, priv->base + EMAC_TX_CTL1);
-+
-+ v = readl(priv->base + EMAC_RX_CTL1);
-+ /* RX_MD RX DMA reads data from RX DMA FIFO to host memory after a
-+ * complete frame has been written to RX DMA FIFO
-+ */
-+ v |= BIT(1);
-+ writel(v, priv->base + EMAC_RX_CTL1);
-+
-+ sun8i_emac_set_macaddr(priv, ndev->dev_addr, 0);
-+
-+ err = sun8i_emac_alloc_rings(ndev);
-+ if (err) {
-+ netdev_err(ndev, "Fail to allocate rings\n");
-+ goto err_mdio;
-+ }
-+
-+ phy_start(ndev->phydev);
-+
-+ sun8i_emac_start_rx(ndev);
-+ sun8i_emac_start_tx(ndev);
-+
-+ netif_napi_add(ndev, &priv->napi, sun8i_emac_poll, 64);
-+ napi_enable(&priv->napi);
-+ netif_start_queue(ndev);
-+
++ if (gmac->ephy_clk)
++ clk_disable_unprepare(gmac->ephy_clk);
++ if (gmac->rst_ephy)
++ reset_control_assert(gmac->rst_ephy);
+ return 0;
-+err_mdio:
-+ phy_disconnect(ndev->phydev);
-+err_syscon:
-+ sun8i_emac_unset_syscon(ndev);
-+err_irq:
-+ free_irq(priv->irq, ndev);
-+err_power:
-+ sun8i_emac_unpower(ndev);
-+ return err;
-+}
-+
-+/* Clean the TX ring of any accepted skb for xmit */
-+static void sun8i_emac_tx_clean(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ int i;
-+ struct dma_desc *ddesc;
-+ int frame_len;
-+
-+ for (i = 0; i < priv->nbdesc_tx; i++) {
-+ if (priv->txl[i].skb) {
-+ ddesc = priv->dd_tx + i;
-+ frame_len = le32_to_cpu(ddesc->ctl) & 0x3FFF;
-+ switch (priv->txl[i].map) {
-+ case MAP_SINGLE:
-+ dma_unmap_single(priv->dev,
-+ le32_to_cpu(ddesc->buf_addr),
-+ frame_len, DMA_TO_DEVICE);
-+ break;
-+ case MAP_PAGE:
-+ dma_unmap_page(priv->dev,
-+ le32_to_cpu(ddesc->buf_addr),
-+ frame_len, DMA_TO_DEVICE);
-+ break;
-+ default:
-+ dev_err(priv->dev, "Trying to free an empty slot\n");
-+ continue;
-+ }
-+ dev_kfree_skb_any(priv->txl[i].skb);
-+ priv->txl[i].skb = NULL;
-+ ddesc->ctl = 0;
-+ ddesc->status = DCLEAN;
-+ }
-+ }
-+ priv->tx_slot = 0;
-+ priv->tx_dirty = 0;
-+}
-+
-+/* Clean the RX ring */
-+static void sun8i_emac_rx_clean(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ int i;
-+ struct dma_desc *ddesc;
-+
-+ /* clean RX ring */
-+ for (i = 0; i < priv->nbdesc_rx; i++)
-+ if (priv->rx_skb[i]) {
-+ ddesc = priv->dd_rx + i;
-+ dma_unmap_single(priv->dev,
-+ le32_to_cpu(ddesc->buf_addr),
-+ DESC_BUF_MAX, DMA_FROM_DEVICE);
-+ dev_kfree_skb_any(priv->rx_skb[i]);
-+ priv->rx_skb[i] = NULL;
-+ }
-+}
-+
-+static int sun8i_emac_stop(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ napi_disable(&priv->napi);
-+
-+ sun8i_emac_stop_tx(ndev);
-+ sun8i_emac_stop_rx(ndev);
-+
-+ phy_stop(ndev->phydev);
-+ phy_disconnect(ndev->phydev);
-+
-+ sun8i_emac_mdio_unregister(ndev);
-+
-+ sun8i_emac_unset_syscon(ndev);
-+
-+ free_irq(priv->irq, ndev);
-+
-+ sun8i_emac_rx_clean(ndev);
-+ sun8i_emac_tx_clean(ndev);
-+
-+ kfree(priv->rx_skb);
-+ kfree(priv->txl);
-+
-+ dma_free_coherent(priv->dev, priv->nbdesc_rx * sizeof(struct dma_desc),
-+ priv->dd_rx, priv->dd_rx_phy);
-+ dma_free_coherent(priv->dev, priv->nbdesc_tx * sizeof(struct dma_desc),
-+ priv->dd_tx, priv->dd_tx_phy);
-+
-+ sun8i_emac_unpower(ndev);
-+
-+ return 0;
-+}
-+
-+static netdev_tx_t sun8i_emac_xmit(struct sk_buff *skb, struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct dma_desc *ddesc;
-+ struct dma_desc *first;
-+ int i = 0, rbd_first;
-+ unsigned int len, fraglen, tlen;
-+ u32 v;
-+ int n;
-+ int nf;
-+ const skb_frag_t *frag;
-+ int do_csum = 0;
-+
-+ if (skb_put_padto(skb, ETH_ZLEN))
-+ return NETDEV_TX_OK;
-+ len = skb_headlen(skb);
-+
-+ n = skb_shinfo(skb)->nr_frags;
-+
-+ if (skb->ip_summed == CHECKSUM_PARTIAL) {
-+ do_csum = 1;
-+ priv->estats.tx_hw_csum++;
-+ }
-+ netif_dbg(priv, tx_queued, ndev, "%s len=%u skblen=%u %x\n", __func__,
-+ len, skb->len,
-+ (skb->ip_summed == CHECKSUM_PARTIAL));
-+
-+ /* check for contigous space
-+ * We need at least 1(skb->data) + n(numfrags) + 1(one clean slot)
-+ */
-+ if (rb_tx_numfreedesc(ndev) < n + 2) {
-+ dev_err_ratelimited(priv->dev, "BUG!: TX is full %d %d\n",
-+ priv->tx_dirty, priv->tx_slot);
-+ netif_stop_queue(ndev);
-+ return NETDEV_TX_BUSY;
-+ }
-+ i = priv->tx_slot;
-+
-+ ddesc = priv->dd_tx + i;
-+ first = priv->dd_tx + i;
-+ rbd_first = i;
-+
-+ ddesc->buf_addr = dma_map_single(priv->dev, skb->data, len,
-+ DMA_TO_DEVICE);
-+ if (dma_mapping_error(priv->dev, ddesc->buf_addr)) {
-+ dev_err(priv->dev, "ERROR: Cannot map buffer for DMA\n");
-+ goto xmit_error;
-+ }
-+ /* We cannot direcly use cpu_to_le32() after dma_map_single
-+ * since dma_mapping_error use it
-+ */
-+ ddesc->buf_addr = cpu_to_le32(ddesc->buf_addr);
-+ priv->txl[i].map = MAP_SINGLE;
-+ priv->txl[i].skb = skb;
-+
-+ tlen = len;
-+ ddesc->ctl = le32_to_cpu(len);
-+ /* Undocumented bit that make it works
-+ * Without it, packets never be sent on H3 SoC
-+ */
-+ ddesc->ctl |= EMAC_MAGIC_TX_BIT;
-+ if (do_csum)
-+ ddesc->ctl |= EMAC_TX_DO_CRC;
-+
-+ /* handle fragmented skb, one descriptor per fragment */
-+ for (nf = 0; nf < n; nf++) {
-+ frag = &skb_shinfo(skb)->frags[nf];
-+ rb_inc(&i, priv->nbdesc_tx);
-+ priv->txl[i].skb = skb;
-+ ddesc = priv->dd_tx + i;
-+ fraglen = skb_frag_size(frag);
-+ ddesc->ctl = le32_to_cpu(fraglen);
-+ tlen += fraglen,
-+ ddesc->ctl |= EMAC_MAGIC_TX_BIT;
-+ if (do_csum)
-+ ddesc->ctl |= EMAC_TX_DO_CRC;
-+
-+ ddesc->buf_addr = skb_frag_dma_map(priv->dev, frag, 0,
-+ fraglen, DMA_TO_DEVICE);
-+ if (dma_mapping_error(priv->dev, ddesc->buf_addr)) {
-+ dev_err(priv->dev, "Cannot map buffer for DMA\n");
-+ goto xmit_error;
-+ }
-+ /* Cannot directly use cpu_to_le32() after skb_frag_dma_map
-+ * since dma_mapping_error use it
-+ */
-+ ddesc->buf_addr = cpu_to_le32(ddesc->buf_addr);
-+ priv->txl[i].map = MAP_PAGE;
-+ ddesc->status = EMAC_COULD_BE_USED_BY_DMA;
-+ }
-+
-+ /* frame end */
-+ ddesc->ctl |= EMAC_DSC_TX_LAST;
-+ /* We want an interrupt after transmission */
-+ ddesc->ctl |= EMAC_WANT_INT;
-+
-+ rb_inc(&i, priv->nbdesc_tx);
-+
-+ /* This line was previously after DMA start, but with that we hit a
-+ * small race with complete_xmit() where we complete more data than
-+ * sent.
-+ * The packet is sent just after EMAC_COULD_BE_USED_BY_DMA flag set and
-+ * complete_xmit fire just after before netdev_sent_queue().
-+ * This race could be observed only when overflowing a gigabit line.
-+ */
-+ netdev_sent_queue(ndev, skb->len);
-+
-+ /* frame begin */
-+ first->ctl |= EMAC_DSC_TX_FIRST;
-+ wmb();/* EMAC_COULD_BE_USED_BY_DMA must be the last value written */
-+ first->status = EMAC_COULD_BE_USED_BY_DMA;
-+ priv->tx_slot = i;
-+
-+ /* Trying to optimize this (recording DMA start/stop) seems
-+ * to lead to errors. So we always start DMA.
-+ */
-+ v = readl(priv->base + EMAC_TX_CTL1);
-+ v |= EMAC_TX_DMA_START;
-+ v |= EMAC_TX_DMA_EN;
-+ writel_relaxed(v, priv->base + EMAC_TX_CTL1);
-+
-+ if (rb_tx_numfreedesc(ndev) < MAX_SKB_FRAGS + 1) {
-+ netif_stop_queue(ndev);
-+ priv->estats.tx_stop_queue++;
-+ }
-+ priv->estats.tx_used_desc = rb_tx_numfreedesc(ndev);
-+ priv->ndev->stats.tx_packets++;
-+ priv->ndev->stats.tx_bytes += tlen;
-+
-+ return NETDEV_TX_OK;
-+
-+xmit_error:
-+ /* destroy skb and return TX OK Documentation/DMA-API-HOWTO.txt */
-+ /* clean descritors from rbd_first to i */
-+ ddesc->ctl = 0;
-+ /* setting status to DCLEAN is the last value to be set */
-+ wmb();
-+ ddesc->status = DCLEAN;
-+ do {
-+ ddesc = priv->dd_tx + rbd_first;
-+ ddesc->ctl = 0;
-+ /* setting status to DCLEAN is the last value to be set */
-+ wmb();
-+ ddesc->status = DCLEAN;
-+ rb_inc(&rbd_first, priv->nbdesc_tx);
-+ } while (rbd_first != i);
-+ dev_kfree_skb_any(skb);
-+ return NETDEV_TX_OK;
+}
+
-+static int sun8i_emac_change_mtu(struct net_device *ndev, int new_mtu)
++static int sun8i_power_phy(struct stmmac_priv *priv)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ int max_mtu;
-+
-+ dev_info(priv->dev, "%s set MTU to %d\n", __func__, new_mtu);
-+
-+ if (netif_running(ndev)) {
-+ dev_err(priv->dev, "%s: must be stopped to change its MTU\n",
-+ ndev->name);
-+ return -EBUSY;
-+ }
-+
-+ max_mtu = SKB_MAX_HEAD(NET_SKB_PAD + NET_IP_ALIGN);
-+
-+ if ((new_mtu < 68) || (new_mtu > max_mtu)) {
-+ dev_err(priv->dev, "%s: invalid MTU, max MTU is: %d\n",
-+ ndev->name, max_mtu);
-+ return -EINVAL;
-+ }
-+
-+ ndev->mtu = new_mtu;
-+ netdev_update_features(ndev);
-+ return 0;
-+}
-+
-+static int sun8i_emac_set_features(struct net_device *ndev,
-+ netdev_features_t features)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ u32 v;
-+
-+ v = readl(priv->base + EMAC_BASIC_CTL0);
-+ if (features & NETIF_F_LOOPBACK && netif_running(ndev)) {
-+ netif_info(priv, hw, ndev, "Set loopback features");
-+ v |= BIT(1);
-+ } else {
-+ netif_info(priv, hw, ndev, "Unset loopback features");
-+ v &= ~BIT(1);
-+ }
-+ writel(v, priv->base + EMAC_BASIC_CTL0);
-+
-+ v = readl(priv->base + EMAC_RX_CTL0);
-+ if (features & NETIF_F_RXCSUM) {
-+ v |= EMAC_RX_DO_CRC;
-+ netif_info(priv, hw, ndev, "Doing RX CRC check by hardware");
-+ } else {
-+ v &= ~EMAC_RX_DO_CRC;
-+ netif_info(priv, hw, ndev, "No RX CRC check by hardware");
-+ }
-+ if (features & NETIF_F_RXFCS) {
-+ v &= ~EMAC_RX_STRIP_FCS;
-+ netif_info(priv, hw, ndev, "Keep FCS");
-+ } else {
-+ v |= EMAC_RX_STRIP_FCS;
-+ netif_info(priv, hw, ndev, "Strip FCS");
-+ }
-+ writel(v, priv->base + EMAC_RX_CTL0);
-+
-+ netif_dbg(priv, drv, ndev, "%s %llx %x\n", __func__, features, v);
-+
-+ return 0;
-+}
-+
-+static void sun8i_emac_set_rx_mode(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ u32 v = 0;
-+ int i = 0;
-+ struct netdev_hw_addr *ha;
-+
-+ /* Receive all multicast frames */
-+ v |= BIT(16);
-+ /* Receive all control frames */
-+ v |= BIT(13);
-+ if (ndev->flags & IFF_PROMISC)
-+ v |= BIT(1);
-+ if (netdev_uc_count(ndev) > 7) {
-+ v |= BIT(1);
-+ } else {
-+ netdev_for_each_uc_addr(ha, ndev) {
-+ i++;
-+ sun8i_emac_set_macaddr(priv, ha->addr, i);
-+ }
-+ }
-+ writel(v, priv->base + EMAC_RX_FRM_FLT);
-+}
-+
-+static void sun8i_emac_tx_timeout(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ netdev_err(ndev, "%s\n", __func__);
-+
-+ sun8i_emac_stop_tx(ndev);
-+
-+ sun8i_emac_tx_clean(ndev);
-+
-+ /* write start of the new TX ring descriptor */
-+ writel(priv->dd_tx_phy, priv->base + EMAC_TX_DESC_LIST);
-+
-+ sun8i_emac_start_tx(ndev);
-+
-+ netdev_reset_queue(ndev);
-+
-+ priv->estats.tx_timeout++;
-+ ndev->stats.tx_errors++;
-+ netif_wake_queue(ndev);
-+}
-+
-+static int sun8i_emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
-+{
-+ struct phy_device *phydev = ndev->phydev;
++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
++ int ret;
+
-+ if (!netif_running(ndev))
-+ return -EINVAL;
++ ret = sun8i_dwmac_power_internal_phy(priv);
++ if (ret)
++ return ret;
+
-+ if (!phydev)
-+ return -ENODEV;
++ ret = sun8i_dwmac_set_syscon(priv);
++ if (ret)
++ goto error_phy;
+
-+ return phy_mii_ioctl(phydev, rq, cmd);
-+}
-+
-+static int sun8i_emac_check_if_running(struct net_device *ndev)
-+{
-+ if (!netif_running(ndev))
-+ return -EINVAL;
++ ret = sun8i_dwmac_reset(priv);
++ if (ret)
++ goto error_phy;
+ return 0;
-+}
-+
-+static int sun8i_emac_get_sset_count(struct net_device *ndev, int sset)
-+{
-+ switch (sset) {
-+ case ETH_SS_STATS:
-+ return ARRAY_SIZE(estats_str);
-+ }
-+ return -EOPNOTSUPP;
-+}
+
-+static int sun8i_emac_ethtool_get_settings(struct net_device *ndev,
-+ struct ethtool_cmd *cmd)
-+{
-+ struct phy_device *phy = ndev->phydev;
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ if (!phy) {
-+ netdev_err(ndev, "%s: %s: PHY is not registered\n",
-+ __func__, ndev->name);
-+ return -ENODEV;
-+ }
-+
-+ if (!netif_running(ndev)) {
-+ dev_err(priv->dev, "interface disabled: we cannot track link speed / duplex setting\n");
-+ return -EBUSY;
-+ }
-+
-+ return phy_ethtool_gset(phy, cmd);
-+}
-+
-+static int sun8i_emac_ethtool_set_settings(struct net_device *ndev,
-+ struct ethtool_cmd *cmd)
-+{
-+ struct phy_device *phy = ndev->phydev;
-+
-+ return phy_ethtool_sset(phy, cmd);
-+}
-+
-+static void sun8i_emac_ethtool_getdrvinfo(struct net_device *ndev,
-+ struct ethtool_drvinfo *info)
-+{
-+ strlcpy(info->driver, "sun8i_emac", sizeof(info->driver));
-+ strcpy(info->version, "00");
-+ info->fw_version[0] = '\0';
-+}
-+
-+static void sun8i_emac_ethtool_stats(struct net_device *ndev,
-+ struct ethtool_stats *dummy, u64 *data)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ memcpy(data, &priv->estats,
-+ sun8i_emac_get_sset_count(ndev, ETH_SS_STATS) * sizeof(u64));
-+}
-+
-+static void sun8i_emac_ethtool_strings(struct net_device *dev, u32 stringset,
-+ u8 *buffer)
-+{
-+ switch (stringset) {
-+ case ETH_SS_STATS:
-+ memcpy(buffer, &estats_str, sizeof(estats_str));
-+ break;
-+ }
-+}
-+
-+static u32 sun8i_emac_ethtool_getmsglevel(struct net_device *ndev)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ return priv->msg_enable;
-+}
-+
-+static void sun8i_emac_ethtool_setmsglevel(struct net_device *ndev, u32 level)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ priv->msg_enable = level;
-+}
-+
-+static void sun8i_emac_get_pauseparam(struct net_device *ndev,
-+ struct ethtool_pauseparam *pause)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ pause->rx_pause = 0;
-+ pause->tx_pause = 0;
-+ pause->autoneg = ndev->phydev->autoneg;
-+
-+ if (priv->flow_ctrl & EMAC_FLOW_RX)
-+ pause->rx_pause = 1;
-+ if (priv->flow_ctrl & EMAC_FLOW_TX)
-+ pause->tx_pause = 1;
-+}
-+
-+static int sun8i_emac_set_pauseparam(struct net_device *ndev,
-+ struct ethtool_pauseparam *pause)
-+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ struct phy_device *phy = ndev->phydev;
-+ int new_pause = 0;
-+ int ret = 0;
-+
-+ if (pause->rx_pause)
-+ new_pause |= EMAC_FLOW_RX;
-+ if (pause->tx_pause)
-+ new_pause |= EMAC_FLOW_TX;
-+
-+ priv->flow_ctrl = new_pause;
-+ phy->autoneg = pause->autoneg;
-+
-+ if (phy->autoneg) {
-+ if (netif_running(ndev))
-+ ret = phy_start_aneg(phy);
-+ } else {
-+ sun8i_emac_flow_ctrl(priv, phy->duplex, priv->flow_ctrl);
-+ }
++error_phy:
++ sun8i_dwmac_unset_syscon(gmac);
++ sun8i_dwmac_unpower_internal_phy(gmac);
+ return ret;
+}
+
-+static void sun8i_emac_ethtool_get_ringparam(struct net_device *ndev,
-+ struct ethtool_ringparam *ring)
++static void sun8i_unpower_phy(struct sunxi_priv_data *gmac)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+
-+ ring->rx_pending = priv->nbdesc_rx;
-+ ring->tx_pending = priv->nbdesc_tx;
++ sun8i_dwmac_unset_syscon(gmac);
++ sun8i_dwmac_unpower_internal_phy(gmac);
+}
+
-+static int sun8i_emac_ethtool_set_ringparam(struct net_device *ndev,
-+ struct ethtool_ringparam *ring)
++static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv)
+{
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ int err;
++ struct sunxi_priv_data *gmac = priv;
+
-+ if (ring->rx_max_pending || ring->rx_mini_max_pending ||
-+ ring->rx_jumbo_max_pending || ring->rx_mini_pending ||
-+ ring->rx_jumbo_pending || ring->tx_max_pending)
-+ return -EINVAL;
-+
-+ if (ring->tx_pending < MAX_SKB_FRAGS + 1) {
-+ netdev_err(ndev, "The number of TX descriptors is too low");
-+ return -EINVAL;
-+ }
++ sun8i_unpower_phy(gmac);
+
-+ sun8i_emac_stop_tx(ndev);
-+ sun8i_emac_stop_rx(ndev);
++ clk_disable_unprepare(gmac->tx_clk);
+
-+ sun8i_emac_rx_clean(ndev);
-+ sun8i_emac_tx_clean(ndev);
-+
-+ kfree(priv->rx_skb);
-+ kfree(priv->txl);
-+
-+ dma_free_coherent(priv->dev, priv->nbdesc_rx * sizeof(struct dma_desc),
-+ priv->dd_rx, priv->dd_rx_phy);
-+ dma_free_coherent(priv->dev, priv->nbdesc_tx * sizeof(struct dma_desc),
-+ priv->dd_tx, priv->dd_tx_phy);
-+
-+ priv->nbdesc_rx = ring->rx_pending;
-+ priv->nbdesc_tx = ring->tx_pending;
-+ err = sun8i_emac_alloc_rings(ndev);
-+ if (err) {
-+ /* Fatal error, we cannot re start */
-+ netdev_err(ndev, "Fail to allocate rings\n");
-+ return -EFAULT;
-+ }
-+
-+ sun8i_emac_start_rx(ndev);
-+ sun8i_emac_start_tx(ndev);
-+
-+ netif_start_queue(ndev);
-+
-+ netdev_info(ndev, "Ring Param settings: rx: %d, tx %d\n",
-+ ring->rx_pending, ring->tx_pending);
-+ return 0;
++ if (gmac->regulator)
++ regulator_disable(gmac->regulator);
+}
+
-+static const struct ethtool_ops sun8i_emac_ethtool_ops = {
-+ .begin = sun8i_emac_check_if_running,
-+ .get_settings = sun8i_emac_ethtool_get_settings,
-+ .set_settings = sun8i_emac_ethtool_set_settings,
-+ .get_link = ethtool_op_get_link,
-+ .get_pauseparam = sun8i_emac_get_pauseparam,
-+ .set_pauseparam = sun8i_emac_set_pauseparam,
-+ .get_ethtool_stats = sun8i_emac_ethtool_stats,
-+ .get_strings = sun8i_emac_ethtool_strings,
-+ .get_sset_count = sun8i_emac_get_sset_count,
-+ .get_drvinfo = sun8i_emac_ethtool_getdrvinfo,
-+ .get_msglevel = sun8i_emac_ethtool_getmsglevel,
-+ .set_msglevel = sun8i_emac_ethtool_setmsglevel,
-+ .get_ringparam = sun8i_emac_ethtool_get_ringparam,
-+ .set_ringparam = sun8i_emac_ethtool_set_ringparam,
-+};
-+
-+static const struct net_device_ops sun8i_emac_netdev_ops = {
-+ .ndo_init = sun8i_emac_init,
-+ .ndo_open = sun8i_emac_open,
-+ .ndo_start_xmit = sun8i_emac_xmit,
-+ .ndo_stop = sun8i_emac_stop,
-+ .ndo_change_mtu = sun8i_emac_change_mtu,
-+ .ndo_set_features = sun8i_emac_set_features,
-+ .ndo_set_rx_mode = sun8i_emac_set_rx_mode,
-+ .ndo_tx_timeout = sun8i_emac_tx_timeout,
-+ .ndo_do_ioctl = sun8i_emac_ioctl,
-+ .ndo_set_mac_address = eth_mac_addr,
++static const struct stmmac_ops sun8i_dwmac_ops = {
++ .core_init = sun8i_dwmac_core_init,
++ .dump_regs = sun8i_dwmac_dump_mac_regs,
++ .rx_ipc = sun8i_dwmac_rx_ipc_enable,
++ .set_filter = sun8i_dwmac_set_filter,
++ .flow_ctrl = sun8i_dwmac_flow_ctrl,
++ .set_umac_addr = sun8i_dwmac_set_umac_addr,
++ .get_umac_addr = sun8i_dwmac_get_umac_addr,
+};
+
-+/* No locking in this function since it is guaranteed to be run once and
-+ * do actions only done here:
-+ * - Scheduling NAPI
-+ * - Stopping interrupts
-+ * - Updating stats
-+ *
-+ * Even when not enabled via EMAC_INT_EN, some interrupt could fire, so we need
-+ * to handle all of them.
-+ * Interrupts know to fire when not enabled are:
-+ * - EMAC_TX_DMA_STOP_INT
-+ * - EMAC_TX_BUF_UA_INT
-+ * - EMAC_TX_EARLY_INT
-+ * - EMAC_RX_BUF_UA_INT
-+ * - EMAC_RX_EARLY_INT
-+ */
-+static irqreturn_t sun8i_emac_dma_interrupt(int irq, void *dev_id)
++static struct mac_device_info *sun8i_dwmac_setup(struct stmmac_priv *priv)
+{
-+ struct net_device *ndev = dev_id;
-+ struct sun8i_emac_priv *priv = netdev_priv(ndev);
-+ u32 v, u;
-+
-+ v = readl(priv->base + EMAC_INT_STA);
-+
-+ /* When this bit is asserted, a frame transmission is completed. */
-+ if (v & EMAC_TX_INT) {
-+ priv->estats.tx_int++;
-+ writel(0, priv->base + EMAC_INT_EN);
-+ napi_schedule(&priv->napi);
-+ }
-+
-+ /* When this bit is asserted, the TX DMA FSM is stopped.
-+ * For the moment only a call to tx_timeout cause this interrupt
-+ * to fire.
-+ */
-+ if (v & EMAC_TX_DMA_STOP_INT)
-+ priv->estats.tx_dma_stop++;
-+
-+ /* When this asserted, the TX DMA can not acquire next TX descriptor
-+ * and TX DMA FSM is suspended.
-+ */
-+ if (v & EMAC_TX_BUF_UA_INT) {
-+ priv->estats.tx_dma_ua++;
-+ writel(0, priv->base + EMAC_INT_EN);
-+ napi_schedule(&priv->napi);
-+ }
-+
-+ if (v & EMAC_TX_TIMEOUT_INT)
-+ priv->estats.tx_timeout_int++;
-+
-+ if (v & EMAC_TX_UNDERFLOW_INT)
-+ priv->estats.tx_underflow_int++;
-+
-+ /* When this bit asserted , the frame is transmitted to FIFO totally. */
-+ if (v & EMAC_TX_EARLY_INT)
-+ priv->estats.tx_early_int++;
-+
-+ /* When this bit is asserted, a frame reception is completed */
-+ if (v & EMAC_RX_INT) {
-+ priv->estats.rx_int++;
-+ writel(0, priv->base + EMAC_INT_EN);
-+ napi_schedule(&priv->napi);
-+ }
-+
-+ /* When this asserted, the RX DMA can not acquire next RX descriptor
-+ * and RX DMA FSM is suspended.
-+ */
-+ if (v & EMAC_RX_BUF_UA_INT) {
-+ u = readl(priv->base + EMAC_RX_CTL1);
-+ writel(u | EMAC_RX_DMA_START, priv->base + EMAC_RX_CTL1);
-+ priv->estats.rx_dma_ua++;
-+ }
-+
-+ /* Same as TX DMA STOP, but never hit it */
-+ if (v & EMAC_RX_DMA_STOP_INT)
-+ priv->estats.rx_dma_stop++;
-+
-+ if (v & EMAC_RX_TIMEOUT_INT)
-+ priv->estats.rx_timeout_int++;
-+
-+ if (v & EMAC_RX_OVERFLOW_INT)
-+ priv->estats.rx_overflow_int++;
-+
-+ if (v & EMAC_RX_EARLY_INT)
-+ priv->estats.rx_early_int++;
-+
-+ if (v & EMAC_RGMII_STA_INT)
-+ priv->estats.rgmii_state_int++;
-+
-+ /* the datasheet state those register as read-only
-+ * but nothing work(freeze) without writing to it
-+ */
-+ writel(v, priv->base + EMAC_INT_STA);
++ struct mac_device_info *mac;
++ int ret;
+
-+ return IRQ_HANDLED;
++ mac = devm_kzalloc(priv->device, sizeof(*mac), GFP_KERNEL);
++ if (!mac)
++ return NULL;
++
++ ret = sun8i_power_phy(priv);
++ if (ret)
++ return NULL;
++
++ mac->pcsr = priv->ioaddr;
++ mac->mac = &sun8i_dwmac_ops;
++ mac->dma = &sun8i_dwmac_dma_ops;
++
++ mac->link.port = 0;
++ mac->link.duplex = BIT(0);
++ mac->link.speed = 1;
++ mac->mii.addr = EMAC_MDIO_CMD;
++ mac->mii.data = EMAC_MDIO_DATA;
++ mac->mii.reg_shift = 4;
++ mac->mii.reg_mask = GENMASK(8, 4);
++ mac->mii.addr_shift = 12;
++ mac->mii.addr_mask = GENMASK(16, 12);
++ mac->mii.clk_csr_shift = 20;
++ mac->mii.clk_csr_mask = GENMASK(22, 20);
++ mac->unicast_filter_entries = 8;
++
++ /* Synopsys Id is not available */
++ priv->synopsys_id = 0;
++
++ return mac;
+}
+
-+static int sun8i_emac_probe(struct platform_device *pdev)
++static int sun8i_dwmac_probe(struct platform_device *pdev)
+{
-+ struct device_node *node = pdev->dev.of_node;
-+ struct sun8i_emac_priv *priv;
-+ struct net_device *ndev;
-+ struct resource *res;
++ struct plat_stmmacenet_data *plat_dat;
++ struct stmmac_resources stmmac_res;
++ struct sunxi_priv_data *gmac;
++ struct device *dev = &pdev->dev;
+ int ret;
+
-+ ndev = alloc_etherdev(sizeof(*priv));
-+ if (!ndev)
-+ return -ENOMEM;
++ ret = stmmac_get_platform_resources(pdev, &stmmac_res);
++ if (ret)
++ return ret;
+
-+ SET_NETDEV_DEV(ndev, &pdev->dev);
-+ priv = netdev_priv(ndev);
-+ platform_set_drvdata(pdev, ndev);
++ plat_dat = stmmac_probe_config_dt(pdev, &stmmac_res.mac);
++ if (IS_ERR(plat_dat))
++ return PTR_ERR(plat_dat);
+
-+ priv->variant = of_device_get_match_data(&pdev->dev);
-+ if (!priv->variant) {
++ gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL);
++ if (!gmac)
++ return -ENOMEM;
++
++ gmac->variant = of_device_get_match_data(&pdev->dev);
++ if (!gmac->variant) {
+ dev_err(&pdev->dev, "Missing sun8i-emac variant\n");
+ return -EINVAL;
+ }
+
-+ priv->mdio_node = of_get_child_by_name(node, "mdio");
-+ if (!priv->mdio_node) {
-+ netdev_err(ndev, "Could not find a MDIO node\n");
-+ return -EINVAL;
++ gmac->tx_clk = devm_clk_get(dev, "stmmaceth");
++ if (IS_ERR(gmac->tx_clk)) {
++ dev_err(dev, "could not get tx clock\n");
++ return PTR_ERR(gmac->tx_clk);
+ }
+
-+ priv->phy_node = of_parse_phandle(node, "phy-handle", 0);
-+ if (!priv->phy_node) {
-+ netdev_err(ndev, "No associated PHY\n");
-+ return -EINVAL;
++ /* Optional regulator for PHY */
++ gmac->regulator = devm_regulator_get_optional(dev, "phy");
++ if (IS_ERR(gmac->regulator)) {
++ if (PTR_ERR(gmac->regulator) == -EPROBE_DEFER)
++ return -EPROBE_DEFER;
++ dev_info(dev, "no regulator found\n");
++ gmac->regulator = NULL;
+ }
+
-+ priv->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
++ gmac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
+ "syscon");
-+ if (IS_ERR(priv->regmap)) {
-+ ret = PTR_ERR(priv->regmap);
++ if (IS_ERR(gmac->regmap)) {
++ ret = PTR_ERR(gmac->regmap);
+ dev_err(&pdev->dev, "unable to map SYSCON:%d\n", ret);
+ return ret;
+ }
+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ priv->base = devm_ioremap_resource(&pdev->dev, res);
-+ if (IS_ERR(priv->base)) {
-+ ret = PTR_ERR(priv->base);
-+ dev_err(&pdev->dev, "Cannot request MMIO: %d\n", ret);
-+ return ret;
-+ }
-+
-+ priv->ahb_clk = devm_clk_get(&pdev->dev, "ahb");
-+ if (IS_ERR(priv->ahb_clk)) {
-+ ret = PTR_ERR(priv->ahb_clk);
-+ dev_err(&pdev->dev, "Cannot get AHB clock err=%d\n", ret);
-+ goto probe_err;
-+ }
-+
-+ priv->rst_mac = devm_reset_control_get_optional(&pdev->dev, "ahb");
-+ if (IS_ERR(priv->rst_mac)) {
-+ ret = PTR_ERR(priv->rst_mac);
-+ if (ret == -EPROBE_DEFER)
-+ return -EPROBE_DEFER;
-+ dev_info(&pdev->dev, "No MAC reset control found %d\n", ret);
-+ priv->rst_mac = NULL;
-+ }
-+
-+ priv->phy_interface = of_get_phy_mode(node);
-+ if (priv->phy_interface < 0) {
-+ netdev_err(ndev, "PHY interface mode node unspecified\n");
-+ return priv->phy_interface;
-+ }
-+
-+ switch (priv->phy_interface) {
-+ case PHY_INTERFACE_MODE_MII:
-+ if (!priv->variant->support_mii)
-+ return -EINVAL;
-+ break;
-+ case PHY_INTERFACE_MODE_RMII:
-+ if (!priv->variant->support_rmii)
-+ return -EINVAL;
-+ break;
-+ case PHY_INTERFACE_MODE_RGMII:
-+ if (!priv->variant->support_rgmii)
-+ return -EINVAL;
-+ break;
-+ default:
-+ netdev_err(ndev, "Unsupported interface mode: %s",
-+ phy_modes(priv->phy_interface));
-+ return -EINVAL;
-+ }
-+
-+ if (priv->phy_interface == priv->variant->internal_phy)
-+ priv->use_internal_phy = true;
-+
-+ if (priv->use_internal_phy) {
-+ priv->ephy_clk = of_clk_get(priv->phy_node, 0);
-+ if (IS_ERR(priv->ephy_clk)) {
-+ ret = PTR_ERR(priv->ephy_clk);
++ plat_dat->interface = of_get_phy_mode(dev->of_node);
++ if (plat_dat->interface == gmac->variant->internal_phy) {
++ dev_info(&pdev->dev, "Will use internal PHY\n");
++ gmac->use_internal_phy = true;
++ gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0);
++ if (IS_ERR(gmac->ephy_clk)) {
++ ret = PTR_ERR(gmac->ephy_clk);
+ dev_err(&pdev->dev, "Cannot get EPHY clock err=%d\n",
+ ret);
-+ goto probe_err;
++ return -EINVAL;
+ }
+
-+ priv->rst_ephy = of_reset_control_get(priv->phy_node, 0);
-+ if (IS_ERR(priv->rst_ephy)) {
-+ ret = PTR_ERR(priv->rst_ephy);
++ gmac->rst_ephy = of_reset_control_get(plat_dat->phy_node, NULL);
++ if (IS_ERR(gmac->rst_ephy)) {
++ ret = PTR_ERR(gmac->rst_ephy);
+ if (ret == -EPROBE_DEFER)
-+ goto probe_err;
-+ dev_info(&pdev->dev,
-+ "No EPHY reset control found %d\n", ret);
-+ priv->rst_ephy = NULL;
++ return ret;
++ dev_err(&pdev->dev, "No EPHY reset control found %d\n",
++ ret);
++ return -EINVAL;
+ }
++ } else {
++ dev_info(&pdev->dev, "Will use external PHY\n");
++ gmac->use_internal_phy = false;
+ }
+
-+ priv->irq = platform_get_irq(pdev, 0);
-+ if (priv->irq < 0) {
-+ ret = priv->irq;
-+ dev_err(&pdev->dev, "Cannot claim IRQ: %d\n", ret);
-+ goto probe_err;
-+ }
-+
-+ spin_lock_init(&priv->tx_lock);
-+
-+ ndev->netdev_ops = &sun8i_emac_netdev_ops;
-+ ndev->ethtool_ops = &sun8i_emac_ethtool_ops;
-+
-+ priv->ndev = ndev;
-+ priv->dev = &pdev->dev;
-+
-+ ndev->hw_features = NETIF_F_SG | NETIF_F_HIGHDMA;
-+ ndev->hw_features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
-+ NETIF_F_RXCSUM;
-+ ndev->features |= ndev->hw_features;
-+ ndev->hw_features |= NETIF_F_RXFCS;
-+ ndev->hw_features |= NETIF_F_RXALL;
-+ ndev->hw_features |= NETIF_F_LOOPBACK;
-+ ndev->priv_flags |= IFF_UNICAST_FLT;
-+
-+ ndev->watchdog_timeo = msecs_to_jiffies(5000);
-+ netif_carrier_off(ndev);
-+
-+ /* Benched on OPIPC with 100M, setting more than 256 does not give any
-+ * perf boost
++ /* platform data specifying hardware features and callbacks.
++ * hardware features were copied from Allwinner drivers.
+ */
-+ priv->nbdesc_rx = 128;
-+ priv->nbdesc_tx = 256;
-+
-+ ret = register_netdev(ndev);
-+ if (ret) {
-+ dev_err(&pdev->dev, "ERROR: Register %s failed\n", ndev->name);
-+ goto probe_err;
-+ }
++ plat_dat->rx_coe = STMMAC_RX_COE_TYPE2;
++ plat_dat->tx_coe = 1;
++ plat_dat->has_sun8i = true;
++ plat_dat->bsp_priv = gmac;
++ plat_dat->init = sun8i_dwmac_init;
++ plat_dat->exit = sun8i_dwmac_exit;
++ plat_dat->setup = sun8i_dwmac_setup;
++
++ ret = sun8i_dwmac_init(pdev, plat_dat->bsp_priv);
++ if (ret)
++ return ret;
+
-+ return 0;
++ ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
++ if (ret)
++ sun8i_dwmac_exit(pdev, plat_dat->bsp_priv);
+
-+probe_err:
-+ free_netdev(ndev);
+ return ret;
+}
+
-+static int sun8i_emac_remove(struct platform_device *pdev)
-+{
-+ struct net_device *ndev = platform_get_drvdata(pdev);
-+
-+ unregister_netdev(ndev);
-+ platform_set_drvdata(pdev, NULL);
-+ free_netdev(ndev);
-+
-+ return 0;
-+}
-+
-+static const struct of_device_id sun8i_emac_of_match_table[] = {
-+ { .compatible = "allwinner,sun8i-a83t-emac",
-+ .data = &emac_variant_a83t },
++static const struct of_device_id sun8i_dwmac_match[] = {
+ { .compatible = "allwinner,sun8i-h3-emac",
-+ .data = &emac_variant_h3 },
++ .data = &emac_variant_h3 },
++ { .compatible = "allwinner,sun8i-a83t-emac",
++ .data = &emac_variant_a83t },
+ { .compatible = "allwinner,sun50i-a64-emac",
-+ .data = &emac_variant_a64 },
-+ {}
++ .data = &emac_variant_a64 },
++ { }
+};
-+MODULE_DEVICE_TABLE(of, sun8i_emac_of_match_table);
-+
-+static struct platform_driver sun8i_emac_driver = {
-+ .probe = sun8i_emac_probe,
-+ .remove = sun8i_emac_remove,
-+ .driver = {
-+ .name = "sun8i-emac",
-+ .of_match_table = sun8i_emac_of_match_table,
++MODULE_DEVICE_TABLE(of, sun8i_dwmac_match);
++
++static struct platform_driver sun8i_dwmac_driver = {
++ .probe = sun8i_dwmac_probe,
++ .remove = stmmac_pltfr_remove,
++ .driver = {
++ .name = "sun8i-dwmac",
++ .pm = &stmmac_pltfr_pm_ops,
++ .of_match_table = sun8i_dwmac_match,
+ },
+};
++module_platform_driver(sun8i_dwmac_driver);
+
-+module_platform_driver(sun8i_emac_driver);
-+
-+MODULE_DESCRIPTION("sun8i Ethernet driver");
++MODULE_AUTHOR("Corentin Labbe <clabbe.montjoie@gmail.com>");
++MODULE_DESCRIPTION("Allwinner sun8i DWMAC specific glue layer");
+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Corentin Labbe <clabbe.montjoie@gmail.com");
---
-2.9.3
-
-From 1d9ea1f4df27f3a2e2ed7094852a23a4dd45e2be Mon Sep 17 00:00:00 2001
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-Date: Fri, 7 Oct 2016 10:25:49 +0200
-Subject: [PATCH 2/8] MAINTAINERS: Add myself as maintainer of sun8i-emac
-
-This patch add myself as maintainer of the sun8i-emac driver.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- MAINTAINERS | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 411e3b8..e99a087 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -590,6 +590,12 @@ S: Maintained
- F: Documentation/i2c/busses/i2c-ali1563
- F: drivers/i2c/busses/i2c-ali1563.c
+diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+index 856ac57..05e8018 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+@@ -177,6 +177,17 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv)
+ else if ((clk_rate >= CSR_F_250M) && (clk_rate < CSR_F_300M))
+ priv->clk_csr = STMMAC_CSR_250_300M;
+ }
++
++ if (priv->plat->has_sun8i) {
++ if (clk_rate > 160000000)
++ priv->clk_csr = 0x03;
++ else if (clk_rate > 80000000)
++ priv->clk_csr = 0x02;
++ else if (clk_rate > 40000000)
++ priv->clk_csr = 0x01;
++ else
++ priv->clk_csr = 0;
++ }
+ }
-+ALLWINNER SUN8I-EMAC ETHERNET DRIVER
-+M: Corentin Labbe <clabbe.montjoie@gmail.com>
-+L: netdev@vger.kernel.org
-+S: Maintained
-+F: drivers/net/ethernet/allwinner/sun8i-emac.c
-+
- ALLWINNER SECURITY SYSTEM
- M: Corentin Labbe <clabbe.montjoie@gmail.com>
- L: linux-crypto@vger.kernel.org
---
-2.9.3
-
-From 6b3093e31b877f39475454b5af3b820dbb3a4f73 Mon Sep 17 00:00:00 2001
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-Date: Fri, 7 Oct 2016 10:25:50 +0200
-Subject: [PATCH 3/8] ARM: sun8i: dt: Add DT bindings documentation for
- Allwinner sun8i-emac
-
-This patch adds documentation for Device-Tree bindings for the
-Allwinner sun8i-emac driver.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- .../bindings/net/allwinner,sun8i-emac.txt | 70 ++++++++++++++++++++++
- 1 file changed, 70 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/net/allwinner,sun8i-emac.txt
-
-diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-emac.txt b/Documentation/devicetree/bindings/net/allwinner,sun8i-emac.txt
-new file mode 100644
-index 0000000..92e4ef3b
---- /dev/null
-+++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-emac.txt
-@@ -0,0 +1,70 @@
-+* Allwinner sun8i EMAC ethernet controller
-+
-+Required properties:
-+- compatible: should be one of the following string:
-+ "allwinner,sun8i-a83t-emac"
-+ "allwinner,sun8i-h3-emac"
-+ "allwinner,sun50i-a64-emac"
-+- reg: address and length of the register for the device.
-+- syscon: A phandle to the syscon of the SoC
-+- interrupts: interrupt for the device
-+- clocks: A phandle to the reference clock for this device
-+- clock-names: should be "ahb"
-+- resets: A phandle to the reset control for this device
-+- reset-names: should be "ahb"
-+- phy-mode: See ethernet.txt
-+- phy-handle: See ethernet.txt
-+- #address-cells: shall be 1
-+- #size-cells: shall be 0
-+
-+Optional properties:
-+- allwinner,tx-delay: TX clock delay chain value. Range value is 0-0x07. Default is 0)
-+- allwinner,rx-delay: RX clock delay chain value. Range value is 0-0x1F. Default is 0)
-+Both delay properties does not have units, there are arbitrary value.
-+The TX/RX clock delay chain settings are board specific and could be found
-+in vendor FEX files.
-+
-+Optional properties for "allwinner,sun8i-h3-emac":
-+- allwinner,leds-active-low: EPHY LEDs are active low
-+
-+Required child node of emac:
-+- mdio bus node: should be named mdio
-+
-+Required properties of the mdio node:
-+- #address-cells: shall be 1
-+- #size-cells: shall be 0
-+
-+The device node referenced by "phy" or "phy-handle" should be a child node
-+of the mdio node. See phy.txt for the generic PHY bindings.
-+
-+Required properties of the phy node with "allwinner,sun8i-h3-emac":
-+- clocks: an extra phandle to the reference clock for the EPHY
-+- resets: an extra phandle to the reset control for the EPHY
-+
-+Example:
-+
-+emac: ethernet@01c0b000 {
-+ compatible = "allwinner,sun8i-h3-emac";
-+ syscon = <&syscon>;
-+ reg = <0x01c0b000 0x104>;
-+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
-+ resets = <&ccu RST_BUS_EMAC>;
-+ reset-names = "ahb";
-+ clocks = <&ccu CLK_BUS_EMAC>;
-+ clock-names = "ahb";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ phy = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ mdio: mdio {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ int_mii_phy: ethernet-phy@1 {
-+ reg = <1>;
-+ clocks = <&ccu CLK_BUS_EPHY>;
-+ resets = <&ccu RST_BUS_EPHY>;
-+ };
+ static void print_pkt(unsigned char *buf, int len)
+@@ -697,6 +708,10 @@ static void stmmac_adjust_link(struct net_device *dev)
+ if (phydev->link) {
+ u32 ctrl = readl(priv->ioaddr + MAC_CTRL_REG);
+
++ /* disable loopback */
++ if (priv->plat->has_sun8i)
++ ctrl &= ~BIT(1);
++
+ /* Now we make sure that we can be in full duplex mode.
+ * If not, we operate in half-duplex mode. */
+ if (phydev->duplex != priv->oldduplex) {
+@@ -714,6 +729,8 @@ static void stmmac_adjust_link(struct net_device *dev)
+
+ if (phydev->speed != priv->speed) {
+ new_state = 1;
++ if (priv->plat->has_sun8i)
++ ctrl &= ~GENMASK(3, 2);
+ switch (phydev->speed) {
+ case 1000:
+ if (priv->plat->has_gmac ||
+@@ -725,6 +742,8 @@ static void stmmac_adjust_link(struct net_device *dev)
+ priv->plat->has_gmac4) {
+ ctrl |= priv->hw->link.port;
+ ctrl |= priv->hw->link.speed;
++ } else if (priv->plat->has_sun8i) {
++ ctrl |= 3 << 2;
+ } else {
+ ctrl &= ~priv->hw->link.port;
+ }
+@@ -734,6 +753,8 @@ static void stmmac_adjust_link(struct net_device *dev)
+ priv->plat->has_gmac4) {
+ ctrl |= priv->hw->link.port;
+ ctrl &= ~(priv->hw->link.speed);
++ } else if (priv->plat->has_sun8i) {
++ ctrl |= 2 << 2;
+ } else {
+ ctrl &= ~priv->hw->link.port;
+ }
+@@ -1702,7 +1723,7 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp)
+ /* Enable the MAC Rx/Tx */
+ if (priv->synopsys_id >= DWMAC_CORE_4_00)
+ stmmac_dwmac4_set_mac(priv->ioaddr, true);
+- else
++ else if (!priv->plat->has_sun8i)
+ stmmac_set_mac(priv->ioaddr, true);
+
+ /* Set the HW DMA mode and the COE */
+@@ -3123,6 +3144,10 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
+
+ priv->hw = mac;
+
++ /* dwmac-sun8i only work in chain mode */
++ if (priv->plat->has_sun8i)
++ chain_mode = 1;
++
+ /* To use the chained or ring mode */
+ if (priv->synopsys_id >= DWMAC_CORE_4_00) {
+ priv->hw->mode = &dwmac4_ring_mode_ops;
+diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+index 0ba1caf..3c21862 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+@@ -160,6 +160,12 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
+ struct device_node *np, struct device *dev)
+ {
+ bool mdio = true;
++ static const struct of_device_id need_mdio_ids[] = {
++ { .compatible = "snps,dwc-qos-ethernet-4.10" },
++ { .compatible = "allwinner,sun8i-a83t-emac" },
++ { .compatible = "allwinner,sun8i-h3-emac" },
++ { .compatible = "allwinner,sun50i-a64-emac" },
+ };
-+};
---
-2.9.3
-
-From aa634aa1b0454befe54a14d03b9a3ba6f750dcfd Mon Sep 17 00:00:00 2001
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-Date: Fri, 7 Oct 2016 10:25:51 +0200
-Subject: [PATCH 4/8] ARM: dts: sun8i-h3: Add dt node for the syscon control
+
+ /* If phy-handle property is passed from DT, use it as the PHY */
+ plat->phy_node = of_parse_phandle(np, "phy-handle", 0);
+@@ -176,8 +182,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
+ mdio = false;
+ }
+
+- /* exception for dwmac-dwc-qos-eth glue logic */
+- if (of_device_is_compatible(np, "snps,dwc-qos-ethernet-4.10")) {
++ if (of_match_node(need_mdio_ids, np)) {
+ plat->mdio_node = of_get_child_by_name(np, "mdio");
+ } else {
+ /**
+diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
+index 8f09f18..100386c 100644
+--- a/include/linux/stmmac.h
++++ b/include/linux/stmmac.h
+@@ -147,6 +147,7 @@ struct plat_stmmacenet_data {
+ struct reset_control *stmmac_rst;
+ struct stmmac_axi *axi;
+ int has_gmac4;
++ bool has_sun8i;
+ bool tso_en;
+ int mac_port_sel_speed;
+ bool en_tx_lpi_clockgating;
+From patchwork Tue Mar 14 14:18:42 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2, 06/20] ARM: dts: sunxi-h3-h5: Add dt node for the syscon control
module
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623549
+Message-Id: <20170314141856.24560-7-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:42 +0100
This patch add the dt node for the syscon register present on the
-Allwinner H3.
+Allwinner H3/H5
Only two register are present in this syscon and the only one useful is
-the one dedicated to EMAC clock.
+the one dedicated to EMAC clock..
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
- arch/arm/boot/dts/sun8i-h3.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
+ arch/arm/boot/dts/sunxi-h3-h5.dtsi | 6 ++++++
+ 1 file changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
-index 75a8654..eac7d00 100644
---- a/arch/arm/boot/dts/sun8i-h3.dtsi
-+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
-@@ -140,6 +140,11 @@
+diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+index 2494ea0..07e4f36 100644
+--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+@@ -102,6 +102,12 @@
#size-cells = <1>;
ranges;
+ syscon: syscon@01c00000 {
-+ compatible = "syscon";
++ compatible = "syscon",
++ "allwinner,sun8i-h3-system-controller";
+ reg = <0x01c00000 0x1000>;
+ };
+
dma: dma-controller@01c02000 {
compatible = "allwinner,sun8i-h3-dma";
reg = <0x01c02000 0x1000>;
---
-2.9.3
-
-From 976cca2d4eb5bf85c26dfaad03ea70bff88981fd Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 8 Nov 2016 10:23:08 +0000
-Subject: [PATCH 5/8] ARM: dts: sun8i-h3: add sun8i-emac ethernet driver
+From patchwork Tue Mar 14 14:18:43 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,07/20] ARM: dts: sunxi-h3-h5: add dwmac-sun8i ethernet driver
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623561
+Message-Id: <20170314141856.24560-8-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:43 +0100
-The sun8i-emac is an ethernet MAC hardware that support 10/100/1000
+The dwmac-sun8i is an ethernet MAC hardware that support 10/100/1000
speed.
-This patch enable the sun8i-emac on the Allwinner H3 SoC Device-tree.
-The SoC H3 have an internal PHY, so optionals syscon and ephy are set.
+This patch enable the dwmac-sun8i on Allwinner H3/H5 SoC Device-tree.
+SoC H3/H5 have an internal PHY, so optionals syscon and ephy are set.
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
- arch/arm/boot/dts/sun8i-h3.dtsi | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
+ arch/arm/boot/dts/sunxi-h3-h5.dtsi | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
-diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
-index eac7d00..86a8665 100644
---- a/arch/arm/boot/dts/sun8i-h3.dtsi
-+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
-@@ -535,6 +535,30 @@
- #size-cells = <0>;
+diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+index 07e4f36..c35af5e 100644
+--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+@@ -272,6 +272,14 @@
+ interrupt-controller;
+ #interrupt-cells = <3>;
+
++ emac_rgmii_pins: emac0@0 {
++ pins = "PD0", "PD1", "PD2", "PD3", "PD4",
++ "PD5", "PD7", "PD8", "PD9", "PD10",
++ "PD12", "PD13", "PD15", "PD16", "PD17";
++ function = "emac";
++ drive-strength = <40>;
++ };
++
+ i2c0_pins: i2c0 {
+ pins = "PA11", "PA12";
+ function = "i2c0";
+@@ -368,6 +376,31 @@
+ clocks = <&osc24M>;
};
+ emac: ethernet@1c30000 {
@@ -2515,10 +1505,11 @@ index eac7d00..86a8665 100644
+ syscon = <&syscon>;
+ reg = <0x01c30000 0x104>;
+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "macirq";
+ resets = <&ccu RST_BUS_EMAC>;
-+ reset-names = "ahb";
++ reset-names = "stmmaceth";
+ clocks = <&ccu CLK_BUS_EMAC>;
-+ clock-names = "ahb";
++ clock-names = "stmmaceth";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
@@ -2527,25 +1518,119 @@ index eac7d00..86a8665 100644
+ #address-cells = <1>;
+ #size-cells = <0>;
+ int_mii_phy: ethernet-phy@1 {
-+ reg = <1>;
-+ clocks = <&ccu CLK_BUS_EPHY>;
-+ resets = <&ccu RST_BUS_EPHY>;
++ reg = <1>;
++ clocks = <&ccu CLK_BUS_EPHY>;
++ resets = <&ccu RST_BUS_EPHY>;
+ };
+ };
+ };
+
- gic: interrupt-controller@01c81000 {
- compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
- reg = <0x01c81000 0x1000>,
---
-2.9.3
+ spi0: spi@01c68000 {
+ compatible = "allwinner,sun8i-h3-spi";
+ reg = <0x01c68000 0x1000>;
+From patchwork Tue Mar 14 14:18:44 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,08/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Banana Pi M2+
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623539
+Message-Id: <20170314141856.24560-9-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, LABBE Corentin <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:44 +0100
+
+From: LABBE Corentin <clabbe.montjoie@gmail.com>
+
+The dwmac-sun8i hardware is present on the Banana Pi M2+
+It uses an external PHY rtl8211e via RGMII.
+
+This patch create the needed regulator, emac and phy nodes.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 37 +++++++++++++++++++++++++
+ 1 file changed, 37 insertions(+)
-From 6e483713dda9e0d5e8e5f37d8b0367ff216c53db Mon Sep 17 00:00:00 2001
+diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
+index 52acbe1..30b0a41 100644
+--- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
++++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
+@@ -90,6 +90,18 @@
+ pinctrl-0 = <&wifi_en_bpi_m2p>;
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
+ };
++
++ reg_gmac_3v3: gmac-3v3 {
++ compatible = "regulator-fixed";
++ pinctrl-names = "default";
++ pinctrl-0 = <&gmac_power_pin_orangepi>;
++ regulator-name = "gmac-3v3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ startup-delay-us = <100000>;
++ enable-active-high;
++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
++ };
+ };
+
+ &ehci1 {
+@@ -186,3 +198,28 @@
+ /* USB VBUS is on as long as VCC-IO is on */
+ status = "okay";
+ };
++
++&pio {
++ gmac_power_pin_orangepi: gmac_power_pin@0 {
++ pins = "PD6";
++ function = "gpio_out";
++ drive-strength = <10>;
++ };
++};
++
++&mdio {
++ ext_rgmii_phy: ethernet-phy@1 {
++ reg = <0>;
++ };
++};
++
++&emac {
++ pinctrl-names = "default";
++ pinctrl-0 = <&emac_rgmii_pins>;
++ phy-supply = <&reg_gmac_3v3>;
++ phy-handle = <&ext_rgmii_phy>;
++ phy-mode = "rgmii";
++
++ allwinner,leds-active-low;
++ status = "okay";
++};
+From patchwork Tue Mar 14 14:18:45 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,09/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI PC
From: Corentin LABBE <clabbe.montjoie@gmail.com>
-Date: Fri, 7 Oct 2016 10:25:53 +0200
-Subject: [PATCH 6/8] ARM: dts: sun8i: Enable sun8i-emac on the Orange PI PC
+X-Patchwork-Id: 9623555
+Message-Id: <20170314141856.24560-10-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, LABBE Corentin <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:45 +0100
+
+From: LABBE Corentin <clabbe.montjoie@gmail.com>
-The sun8i-emac hardware is present on the Orange PI PC.
+The dwmac-sun8i hardware is present on the Orange PI PC.
It uses the internal PHY.
This patch create the needed emac node.
@@ -2556,10 +1641,10 @@ Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
-index 3ec9712..1b8dbc0 100644
+index f148111..746c25a 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
-@@ -54,6 +54,7 @@
+@@ -53,6 +53,7 @@
aliases {
serial0 = &uart0;
@@ -2567,7 +1652,7 @@ index 3ec9712..1b8dbc0 100644
};
chosen {
-@@ -183,3 +184,10 @@
+@@ -184,3 +185,10 @@
/* USB VBUS is always on */
status = "okay";
};
@@ -2578,30 +1663,90 @@ index 3ec9712..1b8dbc0 100644
+ allwinner,leds-active-low;
+ status = "okay";
+};
---
-2.9.3
+From patchwork Tue Mar 14 14:18:46 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,10/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi 2
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623557
+Message-Id: <20170314141856.24560-11-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:46 +0100
+
+The dwmac-sun8i hardware is present on the Orange PI 2.
+It uses the internal PHY.
+
+This patch create the needed emac node.
-From 05cf4e2c77424ad5c9dc8495a65d6695d2831b0a Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 7 Oct 2016 10:25:54 +0200
-Subject: [PATCH 7/8] ARM: dts: sun8i: Enable sun8i-emac on the Orange PI One
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
+index 5b6d145..3f54b12 100644
+--- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
++++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
+@@ -55,6 +55,7 @@
+ serial0 = &uart0;
+ /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
+ ethernet1 = &rtl8189;
++ ethernet0 = &emac;
+ };
+
+ chosen {
+@@ -203,3 +204,10 @@
+ usb1_vbus-supply = <&reg_usb1_vbus>;
+ status = "okay";
+ };
++
++&emac {
++ phy-handle = <&int_mii_phy>;
++ phy-mode = "mii";
++ allwinner,leds-active-low;
++ status = "okay";
++};
+From patchwork Tue Mar 14 14:18:47 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,11/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange PI One
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623541
+Message-Id: <20170314141856.24560-12-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:47 +0100
-The sun8i-emac hardware is present on the Orange PI One.
+The dwmac-sun8i hardware is present on the Orange PI One.
It uses the internal PHY.
This patch create the needed emac node.
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
-index 5c9b5bf..fa398cc 100644
+index ea8fd13..1f98ddc 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
-@@ -54,6 +54,7 @@
+@@ -53,6 +53,7 @@
aliases {
serial0 = &uart0;
@@ -2609,7 +1754,7 @@ index 5c9b5bf..fa398cc 100644
};
chosen {
-@@ -94,6 +95,13 @@
+@@ -93,6 +94,13 @@
status = "okay";
};
@@ -2623,47 +1768,412 @@ index 5c9b5bf..fa398cc 100644
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
---
-2.9.3
-
-From 52c300b614fcb29e81067aa7ed8aafa489b590b7 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 8 Nov 2016 10:24:42 +0000
-Subject: [PATCH 8/8] ARM: dts: sun8i: Enable sun8i-emac on the Orange Pi 2
+From patchwork Tue Mar 14 14:18:48 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,12/20] ARM: dts: sun8i: Enable dwmac-sun8i on the Orange Pi plus
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623569
+Message-Id: <20170314141856.24560-13-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:48 +0100
-The sun8i-emac hardware is present on the Orange PI 2.
-It uses the internal PHY.
+The dwmac-sun8i hardware is present on the Orange PI plus.
+It uses an external PHY rtl8211e via RGMII.
-This patch create the needed emac node.
+This patch create the needed regulator, emac and phy nodes.
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
- arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++
- 1 file changed, 8 insertions(+)
+ arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 35 ++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
-index e5bcaba..ad66b61 100644
---- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
-@@ -54,6 +54,7 @@
+diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
+index 8c40ab7..4e075a2 100644
+--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
++++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
+@@ -58,6 +58,18 @@
+ enable-active-high;
+ gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>;
+ };
++
++ reg_gmac_3v3: gmac-3v3 {
++ compatible = "regulator-fixed";
++ pinctrl-names = "default";
++ pinctrl-0 = <&gmac_power_pin_orangepi>;
++ regulator-name = "gmac-3v3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ startup-delay-us = <100000>;
++ enable-active-high;
++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
++ };
+ };
- aliases {
- serial0 = &uart0;
-+ ethernet0 = &emac;
- /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
- ethernet1 = &rtl8189;
+ &ehci3 {
+@@ -86,8 +98,31 @@
+ pins = "PG11";
+ function = "gpio_out";
};
-@@ -212,3 +213,10 @@
- usb1_vbus-supply = <&reg_usb1_vbus>;
- status = "okay";
++
++ gmac_power_pin_orangepi: gmac_power_pin@0 {
++ pins = "PD6";
++ function = "gpio_out";
++ drive-strength = <10>;
++ };
+ };
+
+ &usbphy {
+ usb3_vbus-supply = <&reg_usb3_vbus>;
};
+
++&mdio {
++ ext_rgmii_phy: ethernet-phy@1 {
++ reg = <0>;
++ };
++};
++
+&emac {
-+ phy-handle = <&int_mii_phy>;
-+ phy-mode = "mii";
++ pinctrl-names = "default";
++ pinctrl-0 = <&emac_rgmii_pins>;
++ phy-supply = <&reg_gmac_3v3>;
++ phy-handle = <&ext_rgmii_phy>;
++ phy-mode = "rgmii";
++
+ allwinner,leds-active-low;
+ status = "okay";
+};
---
-2.9.3
+From patchwork Tue Mar 14 14:18:49 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,
+ 13/20] ARM: dts: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to
+ active high
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623593
+Message-Id: <20170314141856.24560-14-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:49 +0100
+
+On the Orange Pi PC Plus, the polarity of the LEDs on the RJ45 Ethernet
+port were changed from active low to active high.
+
+Signed-off-by: Chen-Yu Tsai <wens@csie.org>
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
+index 8b93f5c..0380769 100644
+--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
++++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
+@@ -86,3 +86,8 @@
+ /* eMMC is missing pull-ups */
+ bias-pull-up;
+ };
++
++&emac {
++ /* LEDs changed to active high on the plus */
++ /delete-property/ allwinner,leds-active-low;
++};
+From patchwork Tue Mar 14 14:18:50 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2, 14/20] ARM64: dts: sun50i-a64: Add dt node for the syscon control
+ module
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623591
+Message-Id: <20170314141856.24560-15-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:50 +0100
+
+This patch add the dt node for the syscon register present on the
+Allwinner A64.
+
+Only two register are present in this syscon and the only one useful is
+the one dedicated to EMAC clock.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+index 1c64ea2..3b09af2 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+@@ -121,6 +121,12 @@
+ #size-cells = <1>;
+ ranges;
+
++ syscon: syscon@01c00000 {
++ compatible = "syscon",
++ "allwinner,sun8i-h3-system-controller";
++ reg = <0x01c00000 0x1000>;
++ };
++
+ mmc0: mmc@1c0f000 {
+ compatible = "allwinner,sun50i-a64-mmc";
+ reg = <0x01c0f000 0x1000>;
+From patchwork Tue Mar 14 14:18:51 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,15/20] ARM64: dts: sun50i-a64: add dwmac-sun8i Ethernet driver
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623621
+Message-Id: <20170314141856.24560-16-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:51 +0100
+
+The dwmac-sun8i is an Ethernet MAC that supports 10/100/1000 Mbit
+connections. It is very similar to the device found in the Allwinner
+H3, but lacks the internal 100 Mbit PHY and its associated control
+bits.
+This adds the necessary bits to the Allwinner A64 SoC .dtsi, but keeps
+it disabled at this level.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 37 +++++++++++++++++++++++++++
+ 1 file changed, 37 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+index 3b09af2..57d69e5 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+@@ -277,6 +277,23 @@
+ bias-pull-up;
+ };
+
++ rmii_pins: rmii_pins {
++ pins = "PD10", "PD11", "PD13", "PD14",
++ "PD17", "PD18", "PD19", "PD20",
++ "PD22", "PD23";
++ function = "emac";
++ drive-strength = <40>;
++ };
++
++ rgmii_pins: rgmii_pins {
++ pins = "PD8", "PD9", "PD10", "PD11",
++ "PD12", "PD13", "PD15",
++ "PD16", "PD17", "PD18", "PD19",
++ "PD20", "PD21", "PD22", "PD23";
++ function = "emac";
++ drive-strength = <40>;
++ };
++
+ uart0_pins_a: uart0@0 {
+ pins = "PB8", "PB9";
+ function = "uart0";
+@@ -381,6 +398,26 @@
+ #size-cells = <0>;
+ };
+
++ emac: ethernet@1c30000 {
++ compatible = "allwinner,sun50i-a64-emac";
++ syscon = <&syscon>;
++ reg = <0x01c30000 0x100>;
++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "macirq";
++ resets = <&ccu RST_BUS_EMAC>;
++ reset-names = "stmmaceth";
++ clocks = <&ccu CLK_BUS_EMAC>;
++ clock-names = "stmmaceth";
++ status = "disabled";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ mdio: mdio {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ };
++ };
++
+ gic: interrupt-controller@1c81000 {
+ compatible = "arm,gic-400";
+ reg = <0x01c81000 0x1000>,
+From patchwork Tue Mar 14 14:18:52 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,16/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623607
+Message-Id: <20170314141856.24560-17-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:52 +0100
+
+The dwmac-sun8i hardware is present on the pine64
+It uses an external PHY via RMII.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+index c680ed3..b53994d 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+@@ -109,3 +109,18 @@
+ &usbphy {
+ status = "okay";
+ };
++
++&mdio {
++ ext_rmii_phy1: ethernet-phy@1 {
++ reg = <1>;
++ };
++};
++
++&emac {
++ pinctrl-names = "default";
++ pinctrl-0 = <&rmii_pins>;
++ phy-mode = "rmii";
++ phy-handle = <&ext_rmii_phy1>;
++ status = "okay";
++
++};
+From patchwork Tue Mar 14 14:18:53 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,17/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on pine64 plus
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623597
+Message-Id: <20170314141856.24560-18-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:53 +0100
+
+The dwmac-sun8i hardware is present on the pine64 plus.
+It uses an external PHY rtl8211e via RGMII.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
+index 790d14d..8e06aed 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
+@@ -46,5 +46,19 @@
+ model = "Pine64+";
+ compatible = "pine64,pine64-plus", "allwinner,sun50i-a64";
+
+- /* TODO: Camera, Ethernet PHY, touchscreen, etc. */
++ /* TODO: Camera, touchscreen, etc. */
++};
++
++&mdio {
++ ext_rgmii_phy: ethernet-phy@1 {
++ reg = <1>;
++ };
++};
++
++&emac {
++ pinctrl-names = "default";
++ pinctrl-0 = <&rgmii_pins>;
++ phy-mode = "rgmii";
++ phy-handle = <&ext_rgmii_phy>;
++ status = "okay";
+ };
+From patchwork Tue Mar 14 14:18:54 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,
+ 18/20] ARM: dts: sun50i-a64: enable dwmac-sun8i on the BananaPi M64
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+X-Patchwork-Id: 9623595
+Message-Id: <20170314141856.24560-19-clabbe.montjoie@gmail.com>
+To: robh+dt@kernel.org, mark.rutland@arm.com,
+ maxime.ripard@free-electrons.com,
+ wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
+ will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com,
+ davem@davemloft.net
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, netdev@vger.kernel.org,
+ linux-kernel@vger.kernel.org, Corentin Labbe <clabbe.montjoie@gmail.com>,
+ linux-arm-kernel@lists.infradead.org
+Date: Tue, 14 Mar 2017 15:18:54 +0100
+The dwmac-sun8i hardware is present on the BananaPi M64.
+It uses an external PHY rtl8211e via RGMII.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+index 6872135..347c262 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+@@ -77,6 +77,20 @@
+ bias-pull-up;
+ };
+
++&mdio {
++ ext_rgmii_phy: ethernet-phy@1 {
++ reg = <1>;
++ };
++};
++
++&emac {
++ pinctrl-names = "default";
++ pinctrl-0 = <&rgmii_pins>;
++ phy-mode = "rgmii";
++ phy-handle = <&ext_rgmii_phy>;
++ status = "okay";
++};
++
+ &mmc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins>;
diff --git a/CVE-2017-7477.patch b/CVE-2017-7477.patch
new file mode 100644
index 000000000..6405614cc
--- /dev/null
+++ b/CVE-2017-7477.patch
@@ -0,0 +1,73 @@
+From 4d6fa57b4dab0d77f4d8e9d9c73d1e63f6fe8fee Mon Sep 17 00:00:00 2001
+From: "Jason A. Donenfeld" <Jason@zx2c4.com>
+Date: Fri, 21 Apr 2017 23:14:48 +0200
+Subject: macsec: avoid heap overflow in skb_to_sgvec
+
+While this may appear as a humdrum one line change, it's actually quite
+important. An sk_buff stores data in three places:
+
+1. A linear chunk of allocated memory in skb->data. This is the easiest
+ one to work with, but it precludes using scatterdata since the memory
+ must be linear.
+2. The array skb_shinfo(skb)->frags, which is of maximum length
+ MAX_SKB_FRAGS. This is nice for scattergather, since these fragments
+ can point to different pages.
+3. skb_shinfo(skb)->frag_list, which is a pointer to another sk_buff,
+ which in turn can have data in either (1) or (2).
+
+The first two are rather easy to deal with, since they're of a fixed
+maximum length, while the third one is not, since there can be
+potentially limitless chains of fragments. Fortunately dealing with
+frag_list is opt-in for drivers, so drivers don't actually have to deal
+with this mess. For whatever reason, macsec decided it wanted pain, and
+so it explicitly specified NETIF_F_FRAGLIST.
+
+Because dealing with (1), (2), and (3) is insane, most users of sk_buff
+doing any sort of crypto or paging operation calls a convenient function
+called skb_to_sgvec (which happens to be recursive if (3) is in use!).
+This takes a sk_buff as input, and writes into its output pointer an
+array of scattergather list items. Sometimes people like to declare a
+fixed size scattergather list on the stack; othertimes people like to
+allocate a fixed size scattergather list on the heap. However, if you're
+doing it in a fixed-size fashion, you really shouldn't be using
+NETIF_F_FRAGLIST too (unless you're also ensuring the sk_buff and its
+frag_list children arent't shared and then you check the number of
+fragments in total required.)
+
+Macsec specifically does this:
+
+ size += sizeof(struct scatterlist) * (MAX_SKB_FRAGS + 1);
+ tmp = kmalloc(size, GFP_ATOMIC);
+ *sg = (struct scatterlist *)(tmp + sg_offset);
+ ...
+ sg_init_table(sg, MAX_SKB_FRAGS + 1);
+ skb_to_sgvec(skb, sg, 0, skb->len);
+
+Specifying MAX_SKB_FRAGS + 1 is the right answer usually, but not if you're
+using NETIF_F_FRAGLIST, in which case the call to skb_to_sgvec will
+overflow the heap, and disaster ensues.
+
+Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
+Cc: stable@vger.kernel.org
+Cc: security@kernel.org
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/macsec.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
+index ff0a5ed..dbab05a 100644
+--- a/drivers/net/macsec.c
++++ b/drivers/net/macsec.c
+@@ -2716,7 +2716,7 @@ static netdev_tx_t macsec_start_xmit(struct sk_buff *skb,
+ }
+
+ #define MACSEC_FEATURES \
+- (NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST)
++ (NETIF_F_SG | NETIF_F_HIGHDMA)
+ static struct lock_class_key macsec_netdev_addr_lock_key;
+
+ static int macsec_dev_init(struct net_device *dev)
+--
+cgit v1.1
+
diff --git a/CVE-2017-7645.patch b/CVE-2017-7645.patch
new file mode 100644
index 000000000..0be019cc3
--- /dev/null
+++ b/CVE-2017-7645.patch
@@ -0,0 +1,180 @@
+From: "J. Bruce Fields" <bfields@redhat.com>
+Date: 2017-04-14 15:04:40
+Subject: [PATCH] nfsd: check for oversized NFSv2/v3 arguments
+
+A client can append random data to the end of an NFSv2 or NFSv3 RPC call
+without our complaining; we'll just stop parsing at the end of the
+expected data and ignore the rest.
+
+Encoded arguments and replies are stored together in an array of pages,
+and if a call is too large it could leave inadequate space for the
+reply. This is normally OK because NFS RPC's typically have either
+short arguments and long replies (like READ) or long arguments and short
+replies (like WRITE). But a client that sends an incorrectly long reply
+can violate those assumptions. This was observed to cause crashes.
+
+So, insist that the argument not be any longer than we expect.
+
+Also, several operations increment rq_next_page in the decode routine
+before checking the argument size, which can leave rq_next_page pointing
+well past the end of the page array, causing trouble later in
+svc_free_pages.
+
+As followup we may also want to rewrite the encoding routines to check
+more carefully that they aren't running off the end of the page array.
+
+Reported-by: Tuomas Haanpää <thaan@synopsys.com>
+Reported-by: Ari Kauppi <ari@synopsys.com>
+Cc: stable@vger.kernel.org
+Signed-off-by: J. Bruce Fields <bfields@redhat.com>
+---
+ fs/nfsd/nfs3xdr.c | 23 +++++++++++++++++------
+ fs/nfsd/nfsxdr.c | 13 ++++++++++---
+ include/linux/sunrpc/svc.h | 3 +--
+ 3 files changed, 28 insertions(+), 11 deletions(-)
+
+diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c
+index dba2ff8eaa68..be66bcadfaea 100644
+--- a/fs/nfsd/nfs3xdr.c
++++ b/fs/nfsd/nfs3xdr.c
+@@ -334,8 +334,11 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ if (!p)
+ return 0;
+ p = xdr_decode_hyper(p, &args->offset);
+-
+ args->count = ntohl(*p++);
++
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ len = min(args->count, max_blocksize);
+
+ /* set up the kvec */
+@@ -349,7 +352,7 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ v++;
+ }
+ args->vlen = v;
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -536,9 +539,11 @@ nfs3svc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p,
+ p = decode_fh(p, &args->fh);
+ if (!p)
+ return 0;
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -564,10 +569,14 @@ nfs3svc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p,
+ args->verf = p; p += 2;
+ args->dircount = ~0;
+ args->count = ntohl(*p++);
++
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ args->count = min_t(u32, args->count, PAGE_SIZE);
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -585,6 +594,9 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p,
+ args->dircount = ntohl(*p++);
+ args->count = ntohl(*p++);
+
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ len = args->count = min(args->count, max_blocksize);
+ while (len > 0) {
+ struct page *p = *(rqstp->rq_next_page++);
+@@ -592,8 +604,7 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p,
+ args->buffer = page_address(p);
+ len -= PAGE_SIZE;
+ }
+-
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c
+index 41b468a6a90f..79268369f7b3 100644
+--- a/fs/nfsd/nfsxdr.c
++++ b/fs/nfsd/nfsxdr.c
+@@ -257,6 +257,9 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ len = args->count = ntohl(*p++);
+ p++; /* totalcount - unused */
+
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ len = min_t(unsigned int, len, NFSSVC_MAXBLKSIZE_V2);
+
+ /* set up somewhere to store response.
+@@ -272,7 +275,7 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ v++;
+ }
+ args->vlen = v;
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -360,9 +363,11 @@ nfssvc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd_readli
+ p = decode_fh(p, &args->fh);
+ if (!p)
+ return 0;
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -400,9 +405,11 @@ nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p,
+ args->cookie = ntohl(*p++);
+ args->count = ntohl(*p++);
+ args->count = min_t(u32, args->count, PAGE_SIZE);
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ /*
+diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
+index e770abeed32d..6ef19cf658b4 100644
+--- a/include/linux/sunrpc/svc.h
++++ b/include/linux/sunrpc/svc.h
+@@ -336,8 +336,7 @@ xdr_argsize_check(struct svc_rqst *rqstp, __be32 *p)
+ {
+ char *cp = (char *)p;
+ struct kvec *vec = &rqstp->rq_arg.head[0];
+- return cp >= (char*)vec->iov_base
+- && cp <= (char*)vec->iov_base + vec->iov_len;
++ return cp == (char *)vec->iov_base + vec->iov_len;
+ }
+
+ static inline int
+--
+2.9.3
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arm-imx6-hummingboard2.patch b/arm-imx6-hummingboard2.patch
index bcf2961dc..bcb93214e 100644
--- a/arm-imx6-hummingboard2.patch
+++ b/arm-imx6-hummingboard2.patch
@@ -1,34 +1,39 @@
-From e2b55af60f9f498b95ffb458955f4ff787bd55a1 Mon Sep 17 00:00:00 2001
+From e9e601215d294d473a593641b1ecfd1fa4586a90 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
-Date: Fri, 20 Jan 2017 08:32:55 +0000
-Subject: [PATCH] Add support for Hummingobard2 (Edge/Gate)
+Date: Thu, 6 Apr 2017 13:52:54 +0100
+Subject: [PATCH 1/4] [RFC,v2,1/4] ARM: dts: imx6qdl: add HummingBoard2 boards
-http://www.spinics.net/lists/arm-kernel/msg552554.html
+From: Jon Nettleton <jon@solid-run.com>
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+This adds support for the Hummingboard Gate and Edge devices from
+SolidRun.
+
+Signed-off-by: Jon Nettleton <jon@solid-run.com>
+Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
arch/arm/boot/dts/Makefile | 2 +
arch/arm/boot/dts/imx6dl-hummingboard2.dts | 52 +++
arch/arm/boot/dts/imx6q-hummingboard2.dts | 60 +++
- arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 562 +++++++++++++++++++++++++++
- 4 files changed, 676 insertions(+)
+ arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 543 +++++++++++++++++++++++++++
+ 4 files changed, 657 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6dl-hummingboard2.dts
create mode 100644 arch/arm/boot/dts/imx6q-hummingboard2.dts
create mode 100644 arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 7327250..09227cc 100644
+index 011808490fed..ccdff6650541 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -348,6 +348,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
+@@ -353,6 +353,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6dl-gw552x.dtb \
imx6dl-gw553x.dtb \
imx6dl-hummingboard.dtb \
+ imx6dl-hummingboard2.dtb \
imx6dl-icore.dtb \
+ imx6dl-icore-rqs.dtb \
imx6dl-nit6xlite.dtb \
- imx6dl-nitrogen6x.dtb \
-@@ -390,6 +391,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
+@@ -397,6 +398,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-gw553x.dtb \
imx6q-h100.dtb \
imx6q-hummingboard.dtb \
@@ -38,7 +43,7 @@ index 7327250..09227cc 100644
imx6q-marsboard.dtb \
diff --git a/arch/arm/boot/dts/imx6dl-hummingboard2.dts b/arch/arm/boot/dts/imx6dl-hummingboard2.dts
new file mode 100644
-index 0000000..990b505
+index 000000000000..990b5050de5b
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-hummingboard2.dts
@@ -0,0 +1,52 @@
@@ -96,7 +101,7 @@ index 0000000..990b505
+};
diff --git a/arch/arm/boot/dts/imx6q-hummingboard2.dts b/arch/arm/boot/dts/imx6q-hummingboard2.dts
new file mode 100644
-index 0000000..f5eec91
+index 000000000000..f5eec9163bb8
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-hummingboard2.dts
@@ -0,0 +1,60 @@
@@ -162,10 +167,10 @@ index 0000000..f5eec91
+};
diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
new file mode 100644
-index 0000000..66098a5
+index 000000000000..11b63f6f2b89
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
-@@ -0,0 +1,562 @@
+@@ -0,0 +1,543 @@
+/*
+ * Device Tree file for SolidRun HummingBoard2
+ * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.com>
@@ -180,12 +185,12 @@ index 0000000..66098a5
+ * published by the Free Software Foundation; either version 2 of the
+ * License.
+ *
-+ * This file is distributed in the hope that it will be useful
++ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
-+ * Or, alternatively
++ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
@@ -199,11 +204,11 @@ index 0000000..66098a5
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
-+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
@@ -218,88 +223,77 @@ index 0000000..66098a5
+
+ ir_recv: ir-receiver {
+ compatible = "gpio-ir-receiver";
-+ gpios = <&gpio7 9 GPIO_ACTIVE_LOW>;
++ gpios = <&gpio7 9 1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>;
+ linux,rc-map-name = "rc-rc6-mce";
+ };
+
-+ regulators {
-+ compatible = "simple-bus";
-+
-+ reg_3p3v: 3p3v {
-+ compatible = "regulator-fixed";
-+ regulator-name = "3P3V";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-always-on;
-+ };
++ usdhc2_pwrseq: usdhc2-pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
++ };
+
-+ reg_1p8v: 1p8v {
-+ compatible = "regulator-fixed";
-+ regulator-name = "1P8V";
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-always-on;
-+ };
++ reg_3p3v: regulator-3p3v {
++ compatible = "regulator-fixed";
++ regulator-name = "3P3V";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-always-on;
++ };
+
-+ reg_usdhc2_vmmc: reg-usdhc2-vmmc {
-+ compatible = "regulator-fixed";
-+ gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_vmmc>;
-+ regulator-boot-on;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-name = "usdhc2_vmmc";
-+ startup-delay-us = <1000>;
-+ };
++ reg_1p8v: regulator-1p8v {
++ compatible = "regulator-fixed";
++ regulator-name = "1P8V";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-always-on;
++ };
+
-+ reg_usbh1_vbus: usb-h1-vbus {
-+ compatible = "regulator-fixed";
-+ enable-active-high;
-+ gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>;
-+ regulator-name = "usb_h1_vbus";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ };
++ reg_usbh1_vbus: regulator-usb-h1-vbus {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio1 0 0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>;
++ regulator-name = "usb_h1_vbus";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ };
+
-+ reg_usbotg_vbus: usb-otg-vbus {
-+ compatible = "regulator-fixed";
-+ enable-active-high;
-+ gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>;
-+ regulator-name = "usb_otg_vbus";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ };
++ reg_usbotg_vbus: regulator-usb-otg-vbus {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio3 22 0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>;
++ regulator-name = "usb_otg_vbus";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ };
+
-+ reg_usbh2_vbus: usb-h2-vbus {
-+ compatible = "regulator-gpio";
-+ enable-active-high;
-+ enable-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>;
-+ regulator-name = "usb_h2_vbus";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-boot-on;
-+ };
++ reg_usbh2_vbus: regulator-usb-h2-vbus {
++ compatible = "regulator-gpio";
++ enable-active-high;
++ enable-gpio = <&gpio2 13 0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>;
++ regulator-name = "usb_h2_vbus";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-boot-on;
++ };
+
-+ reg_usbh3_vbus: usb-h3-vbus {
-+ compatible = "regulator-gpio";
-+ enable-active-high;
-+ enable-gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>;
-+ regulator-name = "usb_h3_vbus";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-boot-on;
-+ };
++ reg_usbh3_vbus: regulator-usb-h3-vbus {
++ compatible = "regulator-gpio";
++ enable-active-high;
++ enable-gpio = <&gpio7 10 0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>;
++ regulator-name = "usb_h3_vbus";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-boot-on;
+ };
+
+ sound-sgtl5000 {
@@ -323,7 +317,6 @@ index 0000000..66098a5
+&ecspi2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hummingboard2_ecspi2>;
-+ fsl,spi-num-chipselects = <1>;
+ cs-gpios = <&gpio2 26 0>;
+ status = "okay";
+};
@@ -341,13 +334,13 @@ index 0000000..66098a5
+ pinctrl-0 = <&pinctrl_hummingboard2_i2c1>;
+ status = "okay";
+
-+ rtc: pcf8523@68 {
++ pcf8523: rtc@68 {
+ compatible = "nxp,pcf8523";
+ reg = <0x68>;
+ nxp,12p5_pf;
+ };
+
-+ sgtl5000: sgtl5000@0a {
++ sgtl5000: codec@0a {
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+ compatible = "fsl,sgtl5000";
+ pinctrl-names = "default";
@@ -375,6 +368,7 @@ index 0000000..66098a5
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>;
++
+ hummingboard2 {
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
@@ -474,6 +468,15 @@ index 0000000..66098a5
+ >;
+ };
+
++ pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp {
++ fsl,pins = <
++ MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1
++ MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1
++ MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1
++ MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 /* CS */
++ >;
++ };
++
+ pinctrl_hummingboard2_gpio7_9: hummingboard2-gpio7_9 {
+ fsl,pins = <
+ MX6QDL_PAD_SD4_CMD__GPIO7_IO09 0x80000000
@@ -507,13 +510,13 @@ index 0000000..66098a5
+ >;
+ };
+
-+ pinctrl_hummingboard2_mipi: hummingboard2_mipi {
-+ fsl,pins = <
-+ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1
-+ MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1
-+ MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0
-+ >;
-+ };
++ pinctrl_hummingboard2_mipi: hummingboard2_mipi {
++ fsl,pins = <
++ MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1
++ MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1
++ MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0
++ >;
++ };
+
+ pinctrl_hummingboard2_pcie_reset: hummingboard2-pcie-reset {
+ fsl,pins = <
@@ -563,6 +566,7 @@ index 0000000..66098a5
+
+ pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux {
+ fsl,pins = <
++ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071
+ MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
+ MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0
+ >;
@@ -601,12 +605,6 @@ index 0000000..66098a5
+ >;
+ };
+
-+ pinctrl_hummingboard2_vmmc: hummingboard2-vmmc {
-+ fsl,pins = <
-+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071
-+ >;
-+ };
-+
+ pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 {
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
@@ -629,15 +627,6 @@ index 0000000..66098a5
+ MX6QDL_PAD_EIM_D24__UART3_RX_DATA 0x40013000
+ >;
+ };
-+
-+ pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp {
-+ fsl,pins = <
-+ MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x100b1
-+ MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x100b1
-+ MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x100b1
-+ MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000b1 /* CS */
-+ >;
-+ };
+ };
+};
+
@@ -652,9 +641,7 @@ index 0000000..66098a5
+
+&pcie {
+ pinctrl-names = "default";
-+ pinctrl-0 = <
-+ &pinctrl_hummingboard2_pcie_reset
-+ >;
++ pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>;
+ reset-gpio = <&gpio2 11 0>;
+ status = "okay";
+};
@@ -674,7 +661,6 @@ index 0000000..66098a5
+};
+
+&ssi1 {
-+ fsl,mode = "i2s-slave";
+ status = "okay";
+};
+
@@ -706,8 +692,8 @@ index 0000000..66098a5
+ &pinctrl_hummingboard2_usdhc2_aux
+ &pinctrl_hummingboard2_usdhc2_200mhz
+ >;
-+ vmmc-supply = <&reg_usdhc2_vmmc>;
-+ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
++ mmc-pwrseq = <&usdhc2_pwrseq>;
++ cd-gpios = <&gpio1 4 0>;
+ status = "okay";
+};
+
@@ -729,5 +715,188 @@ index 0000000..66098a5
+ status = "okay";
+};
--
-2.9.3
+2.12.2
+
+From 3da2a99c4a8f19e846b19071441d2c6b88e00c06 Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Fri, 13 Jan 2017 14:45:30 +0000
+Subject: [PATCH 2/4] ARM: dts: imx6*-hummingboard2: fix SD card detect
+
+Fix the SD card detect signal, which was missing the polarity
+specification, and the pull-up necessary for proper signalling.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+ arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
+index 11b63f6f2b89..734487edf200 100644
+--- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
++++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
+@@ -393,7 +393,7 @@
+
+ pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux {
+ fsl,pins = <
+- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x13071
++ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071
+ MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
+ MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0
+ >;
+@@ -520,7 +520,7 @@
+ &pinctrl_hummingboard2_usdhc2_200mhz
+ >;
+ mmc-pwrseq = <&usdhc2_pwrseq>;
+- cd-gpios = <&gpio1 4 0>;
++ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+ status = "okay";
+ };
+
+--
+2.12.2
+
+From 57b0103b600a535a35e5ff9714649519a0b3a77a Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@armlinux.org.uk>
+Date: Fri, 13 Jan 2017 14:45:35 +0000
+Subject: [PATCH 3/4] ARM: dts: imx6*-hummingboard2: use proper gpio flags
+ definitions
+
+Use proper gpio flag definitions for GPIOs rather than using opaque
+uninformative numbers.
+
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+---
+ arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
+index 734487edf200..88aaed26dd77 100644
+--- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
++++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
+@@ -50,7 +50,7 @@
+
+ ir_recv: ir-receiver {
+ compatible = "gpio-ir-receiver";
+- gpios = <&gpio7 9 1>;
++ gpios = <&gpio7 9 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>;
+ linux,rc-map-name = "rc-rc6-mce";
+@@ -80,7 +80,7 @@
+ reg_usbh1_vbus: regulator-usb-h1-vbus {
+ compatible = "regulator-fixed";
+ enable-active-high;
+- gpio = <&gpio1 0 0>;
++ gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>;
+ regulator-name = "usb_h1_vbus";
+@@ -91,7 +91,7 @@
+ reg_usbotg_vbus: regulator-usb-otg-vbus {
+ compatible = "regulator-fixed";
+ enable-active-high;
+- gpio = <&gpio3 22 0>;
++ gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>;
+ regulator-name = "usb_otg_vbus";
+@@ -102,7 +102,7 @@
+ reg_usbh2_vbus: regulator-usb-h2-vbus {
+ compatible = "regulator-gpio";
+ enable-active-high;
+- enable-gpio = <&gpio2 13 0>;
++ enable-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>;
+ regulator-name = "usb_h2_vbus";
+@@ -114,7 +114,7 @@
+ reg_usbh3_vbus: regulator-usb-h3-vbus {
+ compatible = "regulator-gpio";
+ enable-active-high;
+- enable-gpio = <&gpio7 10 0>;
++ enable-gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>;
+ regulator-name = "usb_h3_vbus";
+--
+2.12.2
+
+From f931de70370ff576f381cb9745bc54225a1a8056 Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@arm.linux.org.uk>
+Date: Fri, 13 Jan 2017 14:45:40 +0000
+Subject: [PATCH 4/4] ARM: dts: imx6*-hummingboard2: convert to more
+ conventional vmmc-supply
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+ arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
+index 88aaed26dd77..f19d30b34ac4 100644
+--- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
++++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
+@@ -56,11 +56,6 @@
+ linux,rc-map-name = "rc-rc6-mce";
+ };
+
+- usdhc2_pwrseq: usdhc2-pwrseq {
+- compatible = "mmc-pwrseq-simple";
+- reset-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
+- };
+-
+ reg_3p3v: regulator-3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "3P3V";
+@@ -123,6 +118,18 @@
+ regulator-boot-on;
+ };
+
++ reg_usdhc2_vmmc: reg-usdhc2-vmmc {
++ compatible = "regulator-fixed";
++ gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_hummingboard2_vmmc>;
++ regulator-boot-on;
++ regulator-max-microvolt = <3300000>;
++ regulator-min-microvolt = <3300000>;
++ regulator-name = "usdhc2_vmmc";
++ startup-delay-us = <1000>;
++ };
++
+ sound-sgtl5000 {
+ audio-codec = <&sgtl5000>;
+ audio-routing =
+@@ -393,7 +400,6 @@
+
+ pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux {
+ fsl,pins = <
+- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071
+ MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
+ MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0
+ >;
+@@ -432,6 +438,12 @@
+ >;
+ };
+
++ pinctrl_hummingboard2_vmmc: hummingboard2-vmmc {
++ fsl,pins = <
++ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f071
++ >;
++ };
++
+ pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 {
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
+@@ -519,7 +531,7 @@
+ &pinctrl_hummingboard2_usdhc2_aux
+ &pinctrl_hummingboard2_usdhc2_200mhz
+ >;
+- mmc-pwrseq = <&usdhc2_pwrseq>;
++ vmmc-supply = <&reg_usdhc2_vmmc>;
+ cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+ status = "okay";
+ };
+--
+2.12.2
diff --git a/arm-rk3288-tinker.patch b/arm-rk3288-tinker.patch
new file mode 100644
index 000000000..d7a4897b3
--- /dev/null
+++ b/arm-rk3288-tinker.patch
@@ -0,0 +1,573 @@
+From 223599514133293bb9afe7b82937140c3b275877 Mon Sep 17 00:00:00 2001
+From: Eddie Cai <eddie.cai.linux@gmail.com>
+Date: Tue, 14 Feb 2017 18:07:31 +0800
+Subject: ARM: dts: rockchip: add dts for RK3288-Tinker board
+
+This patch add basic support for RK3288-Tinker board. We can boot in to rootfs
+with this patch.
+
+Signed-off-by: Eddie Cai <eddie.cai.linux@gmail.com>
+Signed-off-by: Heiko Stuebner <heiko@sntech.de>
+---
+ arch/arm/boot/dts/Makefile | 1 +
+ arch/arm/boot/dts/rk3288-tinker.dts | 536 ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 537 insertions(+)
+ create mode 100644 arch/arm/boot/dts/rk3288-tinker.dts
+
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index 0118084..fb46849 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -695,6 +695,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
+ rk3288-popmetal.dtb \
+ rk3288-r89.dtb \
+ rk3288-rock2-square.dtb \
++ rk3288-tinker.dtb \
+ rk3288-veyron-brain.dtb \
+ rk3288-veyron-jaq.dtb \
+ rk3288-veyron-jerry.dtb \
+diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts
+new file mode 100644
+index 0000000..f601c78
+--- /dev/null
++++ b/arch/arm/boot/dts/rk3288-tinker.dts
+@@ -0,0 +1,536 @@
++/*
++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ * a) This file is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of the
++ * License, or (at your option) any later version.
++ *
++ * This file is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * Or, alternatively,
++ *
++ * b) Permission is hereby granted, free of charge, to any person
++ * obtaining a copy of this software and associated documentation
++ * files (the "Software"), to deal in the Software without
++ * restriction, including without limitation the rights to use,
++ * copy, modify, merge, publish, distribute, sublicense, and/or
++ * sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following
++ * conditions:
++ *
++ * The above copyright notice and this permission notice shall be
++ * included in all copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ * OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++
++#include "rk3288.dtsi"
++#include <dt-bindings/input/input.h>
++
++/ {
++ model = "Rockchip RK3288 Tinker Board";
++ compatible = "asus,rk3288-tinker", "rockchip,rk3288";
++
++ memory {
++ reg = <0x0 0x80000000>;
++ device_type = "memory";
++ };
++
++ ext_gmac: external-gmac-clock {
++ compatible = "fixed-clock";
++ #clock-cells = <0>;
++ clock-frequency = <125000000>;
++ clock-output-names = "ext_gmac";
++ };
++
++ gpio-keys {
++ compatible = "gpio-keys";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ autorepeat;
++
++ pinctrl-names = "default";
++ pinctrl-0 = <&pwrbtn>;
++
++ button@0 {
++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
++ linux,code = <KEY_POWER>;
++ label = "GPIO Key Power";
++ linux,input-type = <1>;
++ wakeup-source;
++ debounce-interval = <100>;
++ };
++ };
++
++ gpio-leds {
++ compatible = "gpio-leds";
++
++ act-led {
++ gpios=<&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
++ linux,default-trigger="mmc0";
++ };
++
++ heartbeat-led {
++ gpios=<&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
++ linux,default-trigger="heartbeat";
++ };
++
++ pwr-led {
++ gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
++ linux,default-trigger = "default-on";
++ };
++ };
++
++ sound {
++ compatible = "simple-audio-card";
++ simple-audio-card,format = "i2s";
++ simple-audio-card,name = "rockchip,tinker-codec";
++ simple-audio-card,mclk-fs = <512>;
++
++ simple-audio-card,codec {
++ sound-dai = <&hdmi>;
++ };
++
++ simple-audio-card,cpu {
++ sound-dai = <&i2s>;
++ };
++ };
++
++ vcc_sys: vsys-regulator {
++ compatible = "regulator-fixed";
++ regulator-name = "vcc_sys";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-always-on;
++ regulator-boot-on;
++ };
++
++ vcc_sd: sdmmc-regulator {
++ compatible = "regulator-fixed";
++ gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdmmc_pwr>;
++ regulator-name = "vcc_sd";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ startup-delay-us = <100000>;
++ vin-supply = <&vcc_io>;
++ };
++};
++
++&cpu0 {
++ cpu0-supply = <&vdd_cpu>;
++};
++
++&gmac {
++ assigned-clocks = <&cru SCLK_MAC>;
++ assigned-clock-parents = <&ext_gmac>;
++ clock_in_out = "input";
++ phy-mode = "rgmii";
++ phy-supply = <&vcc33_lan>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&rgmii_pins>;
++ snps,reset-gpio = <&gpio4 7 0>;
++ snps,reset-active-low;
++ snps,reset-delays-us = <0 10000 1000000>;
++ tx_delay = <0x30>;
++ rx_delay = <0x10>;
++ status = "ok";
++};
++
++&hdmi {
++ ddc-i2c-bus = <&i2c5>;
++ status = "okay";
++};
++
++&i2c0 {
++ clock-frequency = <400000>;
++ status = "okay";
++
++ rk808: pmic@1b {
++ compatible = "rockchip,rk808";
++ reg = <0x1b>;
++ interrupt-parent = <&gpio0>;
++ interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
++ #clock-cells = <1>;
++ clock-output-names = "xin32k", "rk808-clkout2";
++ dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
++ <&gpio0 12 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>;
++ rockchip,system-power-controller;
++ wakeup-source;
++
++ vcc1-supply = <&vcc_sys>;
++ vcc2-supply = <&vcc_sys>;
++ vcc3-supply = <&vcc_sys>;
++ vcc4-supply = <&vcc_sys>;
++ vcc6-supply = <&vcc_sys>;
++ vcc7-supply = <&vcc_sys>;
++ vcc8-supply = <&vcc_io>;
++ vcc9-supply = <&vcc_io>;
++ vcc10-supply = <&vcc_io>;
++ vcc11-supply = <&vcc_sys>;
++ vcc12-supply = <&vcc_io>;
++ vddio-supply = <&vcc_io>;
++
++ regulators {
++ vdd_cpu: DCDC_REG1 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <750000>;
++ regulator-max-microvolt = <1350000>;
++ regulator-name = "vdd_arm";
++ regulator-ramp-delay = <6000>;
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vdd_gpu: DCDC_REG2 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <850000>;
++ regulator-max-microvolt = <1250000>;
++ regulator-name = "vdd_gpu";
++ regulator-ramp-delay = <6000>;
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1000000>;
++ };
++ };
++
++ vcc_ddr: DCDC_REG3 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-name = "vcc_ddr";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++
++ vcc_io: DCDC_REG4 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc_io";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <3300000>;
++ };
++ };
++
++ vcc18_ldo1: LDO_REG1 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc18_ldo1";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1800000>;
++ };
++ };
++
++ vcc33_mipi: LDO_REG2 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc33_mipi";
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vdd_10: LDO_REG3 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1000000>;
++ regulator-max-microvolt = <1000000>;
++ regulator-name = "vdd_10";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1000000>;
++ };
++ };
++
++ vcc18_codec: LDO_REG4 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc18_codec";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1800000>;
++ };
++ };
++
++ vccio_sd: LDO_REG5 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vccio_sd";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <3300000>;
++ };
++ };
++
++ vdd10_lcd: LDO_REG6 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1000000>;
++ regulator-max-microvolt = <1000000>;
++ regulator-name = "vdd10_lcd";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1000000>;
++ };
++ };
++
++ vcc_18: LDO_REG7 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc_18";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1800000>;
++ };
++ };
++
++ vcc18_lcd: LDO_REG8 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc18_lcd";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1800000>;
++ };
++ };
++
++ vcc33_sd: SWITCH_REG1 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-name = "vcc33_sd";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++
++ vcc33_lan: SWITCH_REG2 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-name = "vcc33_lan";
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++ };
++ };
++};
++
++&i2c2 {
++ status = "okay";
++};
++
++&i2c5 {
++ status = "okay";
++};
++
++&i2s {
++ #sound-dai-cells = <0>;
++ status = "okay";
++};
++
++&io_domains {
++ status = "okay";
++
++ sdcard-supply = <&vccio_sd>;
++};
++
++&pinctrl {
++ pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
++ drive-strength = <8>;
++ };
++
++ pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
++ bias-pull-up;
++ drive-strength = <8>;
++ };
++
++ backlight {
++ bl_en: bl-en {
++ rockchip,pins = <7 2 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ buttons {
++ pwrbtn: pwrbtn {
++ rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
++
++ eth_phy {
++ eth_phy_pwr: eth-phy-pwr {
++ rockchip,pins = <0 6 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ pmic {
++ pmic_int: pmic-int {
++ rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO \
++ &pcfg_pull_up>;
++ };
++
++ dvs_1: dvs-1 {
++ rockchip,pins = <RK_GPIO0 11 RK_FUNC_GPIO \
++ &pcfg_pull_down>;
++ };
++
++ dvs_2: dvs-2 {
++ rockchip,pins = <RK_GPIO0 12 RK_FUNC_GPIO \
++ &pcfg_pull_down>;
++ };
++ };
++
++ sdmmc {
++ sdmmc_bus4: sdmmc-bus4 {
++ rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
++ <6 17 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
++ <6 18 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
++ <6 19 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
++ };
++
++ sdmmc_clk: sdmmc-clk {
++ rockchip,pins = <6 20 RK_FUNC_1 \
++ &pcfg_pull_none_drv_8ma>;
++ };
++
++ sdmmc_cmd: sdmmc-cmd {
++ rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
++ };
++
++ sdmmc_pwr: sdmmc-pwr {
++ rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ usb {
++ host_vbus_drv: host-vbus-drv {
++ rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ pwr_3g: pwr-3g {
++ rockchip,pins = <7 8 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++};
++
++&pwm0 {
++ status = "okay";
++};
++
++&saradc {
++ vref-supply = <&vcc18_ldo1>;
++ status ="okay";
++};
++
++&sdmmc {
++ bus-width = <4>;
++ cap-mmc-highspeed;
++ cap-sd-highspeed;
++ card-detect-delay = <200>;
++ disable-wp; /* wp not hooked up */
++ num-slots = <1>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
++ status = "okay";
++ vmmc-supply = <&vcc33_sd>;
++ vqmmc-supply = <&vccio_sd>;
++};
++
++&tsadc {
++ rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
++ rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
++ status = "okay";
++};
++
++&uart0 {
++ status = "okay";
++};
++
++&uart1 {
++ status = "okay";
++};
++
++&uart2 {
++ status = "okay";
++};
++
++&uart3 {
++ status = "okay";
++};
++
++&uart4 {
++ status = "okay";
++};
++
++&usbphy {
++ status = "okay";
++};
++
++&usb_host0_ehci {
++ status = "okay";
++};
++
++&usb_host1 {
++ status = "okay";
++};
++
++&usb_otg {
++ status= "okay";
++};
++
++&vopb {
++ status = "okay";
++};
++
++&vopb_mmu {
++ status = "okay";
++};
++
++&vopl {
++ status = "okay";
++};
++
++&vopl_mmu {
++ status = "okay";
++};
++
++&wdt {
++ status = "okay";
++};
+--
+cgit v1.1
+
diff --git a/arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch b/arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
new file mode 100644
index 000000000..6417bc29a
--- /dev/null
+++ b/arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
@@ -0,0 +1,29 @@
+From 487ff7b0e537506057960a0c2d9482d19f2acf4a Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Wed, 26 Apr 2017 11:12:54 +0100
+Subject: [PATCH] Add option of 13 for FORCE_MAX_ZONEORDER
+
+This is a hack, but it's what the other distros currently use
+for aarch64 with 4K pages so we'll do the same while upstream
+decides what the best outcome is (which isn't this).
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ arch/arm64/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
+index 3741859765cf..deec9511f1d3 100644
+--- a/arch/arm64/Kconfig
++++ b/arch/arm64/Kconfig
+@@ -751,6 +751,7 @@ config XEN
+ config FORCE_MAX_ZONEORDER
+ int
+ default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
++ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES)
+ default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE)
+ default "11"
+ help
+--
+2.12.2
+
diff --git a/arm64-hikey-fixes.patch b/arm64-hikey-fixes.patch
new file mode 100644
index 000000000..18bc05b2b
--- /dev/null
+++ b/arm64-hikey-fixes.patch
@@ -0,0 +1,77 @@
+From patchwork Sat Apr 8 07:18:40 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: reset: hi6220: Set module license so that it can be loaded
+From: Jeremy Linton <lintonrjeremy@gmail.com>
+X-Patchwork-Id: 9670985
+Message-Id: <20170408071840.29380-1-lintonrjeremy@gmail.com>
+To: linux-kernel@vger.kernel.org
+Cc: p.zabel@pengutronix.de, saberlily.xia@hisilicon.com,
+ puck.chen@hisilicon.com, xinliang.liu@linaro.org,
+ Jeremy Linton <lintonrjeremy@gmail.com>
+Date: Sat, 8 Apr 2017 02:18:40 -0500
+
+The hi6220_reset driver can be built as a standalone module
+yet it cannot be loaded because it depends on GPL exported symbols.
+
+Lets set the module license so that the module loads, and things like
+the on-board kirin drm starts working.
+
+Signed-off-by: Jeremy Linton <lintonrjeremy@gmail.com>
+reviewed-by: Xinliang Liu <xinliang.liu@linaro.org>
+---
+ drivers/reset/hisilicon/hi6220_reset.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/reset/hisilicon/hi6220_reset.c b/drivers/reset/hisilicon/hi6220_reset.c
+index 35ce53e..d5e5229 100644
+--- a/drivers/reset/hisilicon/hi6220_reset.c
++++ b/drivers/reset/hisilicon/hi6220_reset.c
+@@ -155,3 +155,5 @@ static int __init hi6220_reset_init(void)
+ }
+
+ postcore_initcall(hi6220_reset_init);
++
++MODULE_LICENSE("GPL v2");
+From patchwork Mon Apr 3 05:28:42 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2,1/2] regulator: hi655x: Describe consumed platform device
+From: Jeremy Linton <lintonrjeremy@gmail.com>
+X-Patchwork-Id: 9658793
+Message-Id: <20170403052843.12711-2-lintonrjeremy@gmail.com>
+To: linux-kernel@vger.kernel.org
+Cc: broonie@kernel.org, lgirdwood@gmail.com, puck.chen@hisilicon.com,
+ lee.jones@linaro.org, Jeremy Linton <lintonrjeremy@gmail.com>
+Date: Mon, 3 Apr 2017 00:28:42 -0500
+
+The hi655x-regulator driver consumes a similarly named platform device.
+Adding that to the module device table, allows modprobe to locate this
+driver once the device is created.
+
+Signed-off-by: Jeremy Linton <lintonrjeremy@gmail.com>
+---
+ drivers/regulator/hi655x-regulator.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/drivers/regulator/hi655x-regulator.c b/drivers/regulator/hi655x-regulator.c
+index 065c100..36ae54b 100644
+--- a/drivers/regulator/hi655x-regulator.c
++++ b/drivers/regulator/hi655x-regulator.c
+@@ -214,7 +214,14 @@ static int hi655x_regulator_probe(struct platform_device *pdev)
+ return 0;
+ }
+
++static const struct platform_device_id hi655x_regulator_table[] = {
++ { .name = "hi655x-regulator" },
++ {},
++};
++MODULE_DEVICE_TABLE(platform, hi655x_regulator_table);
++
+ static struct platform_driver hi655x_regulator_driver = {
++ .id_table = hi655x_regulator_table,
+ .driver = {
+ .name = "hi655x-regulator",
+ },
diff --git a/arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch b/arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch
deleted file mode 100644
index eaf809d53..000000000
--- a/arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From patchwork Thu Oct 6 09:52:07 2016
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: arm64: mm: Fix memmap to be initialized for the entire section
-From: Robert Richter <rrichter@cavium.com>
-X-Patchwork-Id: 9364537
-Message-Id: <1475747527-32387-1-git-send-email-rrichter@cavium.com>
-To: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon
- <will.deacon@arm.com>
-Cc: Mark Rutland <mark.rutland@arm.com>, linux-efi@vger.kernel.org,
- David Daney <david.daney@cavium.com>,
- Ard Biesheuvel <ard.biesheuvel@linaro.org>,
- linux-kernel@vger.kernel.org, Robert Richter <rrichter@cavium.com>,
- Hanjun Guo <hanjun.guo@linaro.org>, linux-arm-kernel@lists.infradead.org
-Date: Thu, 6 Oct 2016 11:52:07 +0200
-
-There is a memory setup problem on ThunderX systems with certain
-memory configurations. The symptom is
-
- kernel BUG at mm/page_alloc.c:1848!
-
-This happens for some configs with 64k page size enabled. The bug
-triggers for page zones with some pages in the zone not assigned to
-this particular zone. In my case some pages that are marked as nomap
-were not reassigned to the new zone of node 1, so those are still
-assigned to node 0.
-
-The reason for the mis-configuration is a change in pfn_valid() which
-reports pages marked nomap as invalid:
-
- 68709f45385a arm64: only consider memblocks with NOMAP cleared for linear mapping
-
-This causes pages marked as nomap being no long reassigned to the new
-zone in memmap_init_zone() by calling __init_single_pfn().
-
-Fixing this by restoring the old behavior of pfn_valid() to use
-memblock_is_memory(). Also changing users of pfn_valid() in arm64 code
-to use memblock_is_map_memory() where necessary. This only affects
-code in ioremap.c. The code in mmu.c still can use the new version of
-pfn_valid().
-
-Should be marked stable v4.5..
-
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- arch/arm64/mm/init.c | 2 +-
- arch/arm64/mm/ioremap.c | 5 +++--
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
-index bbb7ee76e319..25b8659c2a9f 100644
---- a/arch/arm64/mm/init.c
-+++ b/arch/arm64/mm/init.c
-@@ -147,7 +147,7 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)
- #ifdef CONFIG_HAVE_ARCH_PFN_VALID
- int pfn_valid(unsigned long pfn)
- {
-- return memblock_is_map_memory(pfn << PAGE_SHIFT);
-+ return memblock_is_memory(pfn << PAGE_SHIFT);
- }
- EXPORT_SYMBOL(pfn_valid);
- #endif
-diff --git a/arch/arm64/mm/ioremap.c b/arch/arm64/mm/ioremap.c
-index 01e88c8bcab0..c17c220b0c48 100644
---- a/arch/arm64/mm/ioremap.c
-+++ b/arch/arm64/mm/ioremap.c
-@@ -21,6 +21,7 @@
- */
-
- #include <linux/export.h>
-+#include <linux/memblock.h>
- #include <linux/mm.h>
- #include <linux/vmalloc.h>
- #include <linux/io.h>
-@@ -55,7 +56,7 @@ static void __iomem *__ioremap_caller(phys_addr_t phys_addr, size_t size,
- /*
- * Don't allow RAM to be mapped.
- */
-- if (WARN_ON(pfn_valid(__phys_to_pfn(phys_addr))))
-+ if (WARN_ON(memblock_is_map_memory(phys_addr)))
- return NULL;
-
- area = get_vm_area_caller(size, VM_IOREMAP, caller);
-@@ -96,7 +97,7 @@ EXPORT_SYMBOL(__iounmap);
- void __iomem *ioremap_cache(phys_addr_t phys_addr, size_t size)
- {
- /* For normal memory we already have a cacheable mapping. */
-- if (pfn_valid(__phys_to_pfn(phys_addr)))
-+ if (memblock_is_map_memory(phys_addr))
- return (void __iomem *)__phys_to_virt(phys_addr);
-
- return __ioremap_caller(phys_addr, size, __pgprot(PROT_NORMAL),
diff --git a/baseconfig/CONFIG_ARCH_TEGRA_186_SOC b/baseconfig/CONFIG_ARCH_TEGRA_186_SOC
deleted file mode 100644
index 0439db330..000000000
--- a/baseconfig/CONFIG_ARCH_TEGRA_186_SOC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_ARCH_TEGRA_186_SOC is not set
diff --git a/baseconfig/CONFIG_ARM64_PTDUMP b/baseconfig/CONFIG_ARM64_PTDUMP
deleted file mode 100644
index 5090299f2..000000000
--- a/baseconfig/CONFIG_ARM64_PTDUMP
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_ARM64_PTDUMP is not set
diff --git a/baseconfig/CONFIG_ARM_SCPI_PROTOCOL b/baseconfig/CONFIG_ARM_SCPI_PROTOCOL
deleted file mode 100644
index 438b6d561..000000000
--- a/baseconfig/CONFIG_ARM_SCPI_PROTOCOL
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_ARM_SCPI_PROTOCOL is not set
diff --git a/baseconfig/CONFIG_BATTERY_GOLDFISH b/baseconfig/CONFIG_BATTERY_GOLDFISH
deleted file mode 100644
index 75b9c00e9..000000000
--- a/baseconfig/CONFIG_BATTERY_GOLDFISH
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_BATTERY_GOLDFISH is not set
diff --git a/baseconfig/CONFIG_BLK_DEBUG_FS b/baseconfig/CONFIG_BLK_DEBUG_FS
new file mode 100644
index 000000000..71cc6e708
--- /dev/null
+++ b/baseconfig/CONFIG_BLK_DEBUG_FS
@@ -0,0 +1 @@
+CONFIG_BLK_DEBUG_FS=y
diff --git a/baseconfig/CONFIG_BLK_SED_OPAL b/baseconfig/CONFIG_BLK_SED_OPAL
new file mode 100644
index 000000000..11d139705
--- /dev/null
+++ b/baseconfig/CONFIG_BLK_SED_OPAL
@@ -0,0 +1 @@
+CONFIG_BLK_SED_OPAL=y
diff --git a/baseconfig/CONFIG_BT_HCIUART_NOKIA b/baseconfig/CONFIG_BT_HCIUART_NOKIA
new file mode 100644
index 000000000..6f09b31e6
--- /dev/null
+++ b/baseconfig/CONFIG_BT_HCIUART_NOKIA
@@ -0,0 +1 @@
+CONFIG_BT_HCIUART_NOKIA=m
diff --git a/baseconfig/CONFIG_CGROUP_RDMA b/baseconfig/CONFIG_CGROUP_RDMA
new file mode 100644
index 000000000..94ae4f4bc
--- /dev/null
+++ b/baseconfig/CONFIG_CGROUP_RDMA
@@ -0,0 +1 @@
+# CONFIG_CGROUP_RDMA is not set
diff --git a/baseconfig/CONFIG_CHARGER_DETECTOR_MAX14656 b/baseconfig/CONFIG_CHARGER_DETECTOR_MAX14656
new file mode 100644
index 000000000..434d9466f
--- /dev/null
+++ b/baseconfig/CONFIG_CHARGER_DETECTOR_MAX14656
@@ -0,0 +1 @@
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
diff --git a/baseconfig/CONFIG_CHARGER_SBS b/baseconfig/CONFIG_CHARGER_SBS
new file mode 100644
index 000000000..afb3f2f1d
--- /dev/null
+++ b/baseconfig/CONFIG_CHARGER_SBS
@@ -0,0 +1 @@
+# CONFIG_CHARGER_SBS is not set
diff --git a/baseconfig/CONFIG_CM3605 b/baseconfig/CONFIG_CM3605
new file mode 100644
index 000000000..138742e11
--- /dev/null
+++ b/baseconfig/CONFIG_CM3605
@@ -0,0 +1 @@
+CONFIG_CM3605=m
diff --git a/baseconfig/CONFIG_COMMON_CLK_HI3519 b/baseconfig/CONFIG_COMMON_CLK_HI3519
deleted file mode 100644
index 492b656b1..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_HI3519
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_HI3519 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701 b/baseconfig/CONFIG_COMMON_CLK_MT2701
deleted file mode 100644
index 1f4db7eb4..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS
deleted file mode 100644
index 8836cfeb2..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS
deleted file mode 100644
index ce71bcaf3..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS
deleted file mode 100644
index 687287f1a..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS
deleted file mode 100644
index f50109f52..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS
deleted file mode 100644
index a28dde4dd..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS
deleted file mode 100644
index 2fffe9756..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT8135 b/baseconfig/CONFIG_COMMON_CLK_MT8135
deleted file mode 100644
index 0e5e55f2d..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT8135
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT8135 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT8173 b/baseconfig/CONFIG_COMMON_CLK_MT8173
deleted file mode 100644
index ef1d176f5..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT8173
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT8173 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_OXNAS b/baseconfig/CONFIG_COMMON_CLK_OXNAS
deleted file mode 100644
index 123f7bbbf..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_OXNAS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_OXNAS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_VC5 b/baseconfig/CONFIG_COMMON_CLK_VC5
new file mode 100644
index 000000000..9aaf6ae19
--- /dev/null
+++ b/baseconfig/CONFIG_COMMON_CLK_VC5
@@ -0,0 +1 @@
+# CONFIG_COMMON_CLK_VC5 is not set
diff --git a/baseconfig/CONFIG_COMMON_RESET_HI3660 b/baseconfig/CONFIG_COMMON_RESET_HI3660
new file mode 100644
index 000000000..0d13136e0
--- /dev/null
+++ b/baseconfig/CONFIG_COMMON_RESET_HI3660
@@ -0,0 +1 @@
+# CONFIG_COMMON_RESET_HI3660 is not set
diff --git a/baseconfig/CONFIG_CRYPTO_AES_TI b/baseconfig/CONFIG_CRYPTO_AES_TI
new file mode 100644
index 000000000..fa0a3c5e1
--- /dev/null
+++ b/baseconfig/CONFIG_CRYPTO_AES_TI
@@ -0,0 +1 @@
+CONFIG_CRYPTO_AES_TI=m
diff --git a/baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE b/baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE
deleted file mode 100644
index 242e37489..000000000
--- a/baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRYPTO_CRC32_ARM_CE=m
diff --git a/baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE b/baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE
deleted file mode 100644
index 6b13ea30c..000000000
--- a/baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
diff --git a/baseconfig/CONFIG_DEBUG_REFCOUNT b/baseconfig/CONFIG_DEBUG_REFCOUNT
new file mode 100644
index 000000000..9d1b9de89
--- /dev/null
+++ b/baseconfig/CONFIG_DEBUG_REFCOUNT
@@ -0,0 +1 @@
+# CONFIG_DEBUG_REFCOUNT is not set
diff --git a/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible b/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible
new file mode 100644
index 000000000..fbc8aaef8
--- /dev/null
+++ b/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible
@@ -0,0 +1 @@
+# CONFIG_DEBUG_VM_RB is not set # revisit this if performance isn't horrible
diff --git a/baseconfig/CONFIG_DPM_WATCHDOG b/baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug
index c12b35c43..c12b35c43 100644
--- a/baseconfig/CONFIG_DPM_WATCHDOG
+++ b/baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug
diff --git a/baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST b/baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST
new file mode 100644
index 000000000..9607ae3de
--- /dev/null
+++ b/baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST
@@ -0,0 +1 @@
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
diff --git a/baseconfig/CONFIG_DRM_I2C_ADV7533 b/baseconfig/CONFIG_DRM_I2C_ADV7533
index 1fba3a9be..9f7b3dccf 100644
--- a/baseconfig/CONFIG_DRM_I2C_ADV7533
+++ b/baseconfig/CONFIG_DRM_I2C_ADV7533
@@ -1 +1 @@
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
diff --git a/baseconfig/CONFIG_DRM_MALI_DISPLAY b/baseconfig/CONFIG_DRM_MALI_DISPLAY
deleted file mode 100644
index af3d09fbe..000000000
--- a/baseconfig/CONFIG_DRM_MALI_DISPLAY
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM_MALI_DISPLAY is not set
diff --git a/baseconfig/CONFIG_DRM_TINYDRM b/baseconfig/CONFIG_DRM_TINYDRM
new file mode 100644
index 000000000..be104b06c
--- /dev/null
+++ b/baseconfig/CONFIG_DRM_TINYDRM
@@ -0,0 +1 @@
+# CONFIG_DRM_TINYDRM is not set
diff --git a/baseconfig/CONFIG_DVB_USB_ZD1301 b/baseconfig/CONFIG_DVB_USB_ZD1301
new file mode 100644
index 000000000..4e114ce58
--- /dev/null
+++ b/baseconfig/CONFIG_DVB_USB_ZD1301
@@ -0,0 +1 @@
+CONFIG_DVB_USB_ZD1301=m
diff --git a/baseconfig/CONFIG_EEPROM_IDT_89HPESX b/baseconfig/CONFIG_EEPROM_IDT_89HPESX
new file mode 100644
index 000000000..5ea592932
--- /dev/null
+++ b/baseconfig/CONFIG_EEPROM_IDT_89HPESX
@@ -0,0 +1 @@
+CONFIG_EEPROM_IDT_89HPESX=m
diff --git a/baseconfig/CONFIG_EMAC_ROCKCHIP b/baseconfig/CONFIG_EMAC_ROCKCHIP
deleted file mode 100644
index 65c1db9f3..000000000
--- a/baseconfig/CONFIG_EMAC_ROCKCHIP
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EMAC_ROCKCHIP is not set
diff --git a/baseconfig/CONFIG_EXTCON_INTEL_INT3496 b/baseconfig/CONFIG_EXTCON_INTEL_INT3496
new file mode 100644
index 000000000..3f6c5d6f5
--- /dev/null
+++ b/baseconfig/CONFIG_EXTCON_INTEL_INT3496
@@ -0,0 +1 @@
+CONFIG_EXTCON_INTEL_INT3496=m
diff --git a/baseconfig/CONFIG_FB_GOLDFISH b/baseconfig/CONFIG_FB_GOLDFISH
deleted file mode 100644
index 522a715d1..000000000
--- a/baseconfig/CONFIG_FB_GOLDFISH
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_FB_GOLDFISH is not set
diff --git a/baseconfig/CONFIG_FSI b/baseconfig/CONFIG_FSI
new file mode 100644
index 000000000..1f548f4f0
--- /dev/null
+++ b/baseconfig/CONFIG_FSI
@@ -0,0 +1 @@
+CONFIG_FSI=m
diff --git a/baseconfig/CONFIG_GPIO_EXAR b/baseconfig/CONFIG_GPIO_EXAR
new file mode 100644
index 000000000..e03739e86
--- /dev/null
+++ b/baseconfig/CONFIG_GPIO_EXAR
@@ -0,0 +1 @@
+CONFIG_GPIO_EXAR=m
diff --git a/baseconfig/CONFIG_GPIO_PCI_IDIO_16 b/baseconfig/CONFIG_GPIO_PCI_IDIO_16
new file mode 100644
index 000000000..e3e6eeab0
--- /dev/null
+++ b/baseconfig/CONFIG_GPIO_PCI_IDIO_16
@@ -0,0 +1 @@
+CONFIG_GPIO_PCI_IDIO_16=m
diff --git a/baseconfig/CONFIG_GPIO_SYSFS b/baseconfig/CONFIG_GPIO_SYSFS
index 52708d181..006904523 100644
--- a/baseconfig/CONFIG_GPIO_SYSFS
+++ b/baseconfig/CONFIG_GPIO_SYSFS
@@ -1 +1 @@
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
diff --git a/baseconfig/CONFIG_GPIO_ZX b/baseconfig/CONFIG_GPIO_ZX
deleted file mode 100644
index a6c0a85ac..000000000
--- a/baseconfig/CONFIG_GPIO_ZX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_GPIO_ZX is not set
diff --git a/baseconfig/CONFIG_HX711 b/baseconfig/CONFIG_HX711
new file mode 100644
index 000000000..5378c7339
--- /dev/null
+++ b/baseconfig/CONFIG_HX711
@@ -0,0 +1 @@
+# CONFIG_HX711 is not set
diff --git a/baseconfig/CONFIG_IIO_ST_LSM6DSX b/baseconfig/CONFIG_IIO_ST_LSM6DSX
new file mode 100644
index 000000000..b6ec57836
--- /dev/null
+++ b/baseconfig/CONFIG_IIO_ST_LSM6DSX
@@ -0,0 +1 @@
+# CONFIG_IIO_ST_LSM6DSX is not set
diff --git a/baseconfig/CONFIG_INET6_ESP_OFFLOAD b/baseconfig/CONFIG_INET6_ESP_OFFLOAD
new file mode 100644
index 000000000..24c350004
--- /dev/null
+++ b/baseconfig/CONFIG_INET6_ESP_OFFLOAD
@@ -0,0 +1 @@
+CONFIG_INET6_ESP_OFFLOAD=m
diff --git a/baseconfig/CONFIG_INET_ESP_OFFLOAD b/baseconfig/CONFIG_INET_ESP_OFFLOAD
new file mode 100644
index 000000000..d5cca6d1d
--- /dev/null
+++ b/baseconfig/CONFIG_INET_ESP_OFFLOAD
@@ -0,0 +1 @@
+CONFIG_INET_ESP_OFFLOAD=m
diff --git a/baseconfig/CONFIG_INFINIBAND_BNXT_RE b/baseconfig/CONFIG_INFINIBAND_BNXT_RE
new file mode 100644
index 000000000..47533209e
--- /dev/null
+++ b/baseconfig/CONFIG_INFINIBAND_BNXT_RE
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_BNXT_RE is not set
diff --git a/baseconfig/CONFIG_INTEL_RDT_A b/baseconfig/CONFIG_INTEL_RDT_A
deleted file mode 100644
index 8c02d1afc..000000000
--- a/baseconfig/CONFIG_INTEL_RDT_A
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_INTEL_RDT_A=y
diff --git a/baseconfig/CONFIG_IPVTAP b/baseconfig/CONFIG_IPVTAP
new file mode 100644
index 000000000..4bb385673
--- /dev/null
+++ b/baseconfig/CONFIG_IPVTAP
@@ -0,0 +1 @@
+CONFIG_IPVTAP=m
diff --git a/baseconfig/CONFIG_IR_SPI b/baseconfig/CONFIG_IR_SPI
new file mode 100644
index 000000000..d0e838d38
--- /dev/null
+++ b/baseconfig/CONFIG_IR_SPI
@@ -0,0 +1 @@
+CONFIG_IR_SPI=m
diff --git a/baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY b/baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY
new file mode 100644
index 000000000..e1d0c2b26
--- /dev/null
+++ b/baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY
@@ -0,0 +1 @@
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
diff --git a/baseconfig/CONFIG_KPROBE_EVENT b/baseconfig/CONFIG_KPROBE_EVENT
deleted file mode 100644
index 1ba78399b..000000000
--- a/baseconfig/CONFIG_KPROBE_EVENT
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_KPROBE_EVENT=y
diff --git a/baseconfig/CONFIG_KPROBE_EVENTS b/baseconfig/CONFIG_KPROBE_EVENTS
new file mode 100644
index 000000000..2111c5d1a
--- /dev/null
+++ b/baseconfig/CONFIG_KPROBE_EVENTS
@@ -0,0 +1 @@
+CONFIG_KPROBE_EVENTS=y
diff --git a/baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED b/baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED
new file mode 100644
index 000000000..4ab759066
--- /dev/null
+++ b/baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED
@@ -0,0 +1 @@
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
diff --git a/baseconfig/CONFIG_LPFC_NVME_INITIATOR b/baseconfig/CONFIG_LPFC_NVME_INITIATOR
new file mode 100644
index 000000000..cfa87b693
--- /dev/null
+++ b/baseconfig/CONFIG_LPFC_NVME_INITIATOR
@@ -0,0 +1 @@
+CONFIG_LPFC_NVME_INITIATOR=y
diff --git a/baseconfig/CONFIG_LPFC_NVME_TARGET b/baseconfig/CONFIG_LPFC_NVME_TARGET
new file mode 100644
index 000000000..ebf8bd16d
--- /dev/null
+++ b/baseconfig/CONFIG_LPFC_NVME_TARGET
@@ -0,0 +1 @@
+CONFIG_LPFC_NVME_TARGET=y
diff --git a/baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL b/baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL
new file mode 100644
index 000000000..649399011
--- /dev/null
+++ b/baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL
@@ -0,0 +1 @@
+CONFIG_MAGIC_SYSRQ_SERIAL=y
diff --git a/baseconfig/CONFIG_MAX11100 b/baseconfig/CONFIG_MAX11100
new file mode 100644
index 000000000..90819abc8
--- /dev/null
+++ b/baseconfig/CONFIG_MAX11100
@@ -0,0 +1 @@
+# CONFIG_MAX11100 is not set
diff --git a/baseconfig/CONFIG_MAX5481 b/baseconfig/CONFIG_MAX5481
new file mode 100644
index 000000000..36b3781d6
--- /dev/null
+++ b/baseconfig/CONFIG_MAX5481
@@ -0,0 +1 @@
+# CONFIG_MAX5481 is not set
diff --git a/baseconfig/CONFIG_MESON_GXL_PHY b/baseconfig/CONFIG_MESON_GXL_PHY
deleted file mode 100644
index cc59580cc..000000000
--- a/baseconfig/CONFIG_MESON_GXL_PHY
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MESON_GXL_PHY=m
diff --git a/baseconfig/CONFIG_MFD_CPCAP b/baseconfig/CONFIG_MFD_CPCAP
new file mode 100644
index 000000000..acf5bd3fe
--- /dev/null
+++ b/baseconfig/CONFIG_MFD_CPCAP
@@ -0,0 +1 @@
+CONFIG_MFD_CPCAP=m
diff --git a/baseconfig/CONFIG_MOUSE_PS2_VMMOUSE b/baseconfig/CONFIG_MOUSE_PS2_VMMOUSE
deleted file mode 100644
index 3941478c7..000000000
--- a/baseconfig/CONFIG_MOUSE_PS2_VMMOUSE
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
diff --git a/baseconfig/CONFIG_MQ_IOSCHED_DEADLINE b/baseconfig/CONFIG_MQ_IOSCHED_DEADLINE
new file mode 100644
index 000000000..ad5c7700b
--- /dev/null
+++ b/baseconfig/CONFIG_MQ_IOSCHED_DEADLINE
@@ -0,0 +1 @@
+CONFIG_MQ_IOSCHED_DEADLINE=y
diff --git a/baseconfig/CONFIG_NET_ACT_SAMPLE b/baseconfig/CONFIG_NET_ACT_SAMPLE
new file mode 100644
index 000000000..4582be19d
--- /dev/null
+++ b/baseconfig/CONFIG_NET_ACT_SAMPLE
@@ -0,0 +1 @@
+CONFIG_NET_ACT_SAMPLE=m
diff --git a/baseconfig/CONFIG_NET_IFE b/baseconfig/CONFIG_NET_IFE
new file mode 100644
index 000000000..eea504e0c
--- /dev/null
+++ b/baseconfig/CONFIG_NET_IFE
@@ -0,0 +1 @@
+CONFIG_NET_IFE=m
diff --git a/baseconfig/CONFIG_NET_L3_MASTER_DEV b/baseconfig/CONFIG_NET_L3_MASTER_DEV
index c5825b130..bdf39009e 100644
--- a/baseconfig/CONFIG_NET_L3_MASTER_DEV
+++ b/baseconfig/CONFIG_NET_L3_MASTER_DEV
@@ -1 +1 @@
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
diff --git a/baseconfig/CONFIG_NET_VENDOR_AQUANTIA b/baseconfig/CONFIG_NET_VENDOR_AQUANTIA
new file mode 100644
index 000000000..91af5c7e0
--- /dev/null
+++ b/baseconfig/CONFIG_NET_VENDOR_AQUANTIA
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_AQUANTIA is not set
diff --git a/baseconfig/CONFIG_NFP b/baseconfig/CONFIG_NFP
new file mode 100644
index 000000000..14f22b12c
--- /dev/null
+++ b/baseconfig/CONFIG_NFP
@@ -0,0 +1 @@
+CONFIG_NFP=m
diff --git a/baseconfig/CONFIG_NFP_DEBUG b/baseconfig/CONFIG_NFP_DEBUG
new file mode 100644
index 000000000..b7f75b3f3
--- /dev/null
+++ b/baseconfig/CONFIG_NFP_DEBUG
@@ -0,0 +1 @@
+# CONFIG_NFP_DEBUG is not set
diff --git a/baseconfig/CONFIG_NFT_SET_BITMAP b/baseconfig/CONFIG_NFT_SET_BITMAP
new file mode 100644
index 000000000..a0a3769ff
--- /dev/null
+++ b/baseconfig/CONFIG_NFT_SET_BITMAP
@@ -0,0 +1 @@
+CONFIG_NFT_SET_BITMAP=m
diff --git a/baseconfig/CONFIG_PARMAN b/baseconfig/CONFIG_PARMAN
new file mode 100644
index 000000000..1e5d4dd91
--- /dev/null
+++ b/baseconfig/CONFIG_PARMAN
@@ -0,0 +1 @@
+CONFIG_PARMAN=m
diff --git a/baseconfig/CONFIG_PC104 b/baseconfig/CONFIG_PC104
new file mode 100644
index 000000000..0608d3f72
--- /dev/null
+++ b/baseconfig/CONFIG_PC104
@@ -0,0 +1 @@
+# CONFIG_PC104 is not set
diff --git a/baseconfig/CONFIG_PHY_QCOM_USB_HS b/baseconfig/CONFIG_PHY_QCOM_USB_HS
new file mode 100644
index 000000000..ce9808509
--- /dev/null
+++ b/baseconfig/CONFIG_PHY_QCOM_USB_HS
@@ -0,0 +1 @@
+# CONFIG_PHY_QCOM_USB_HS is not set
diff --git a/baseconfig/CONFIG_PHY_QCOM_USB_HSIC b/baseconfig/CONFIG_PHY_QCOM_USB_HSIC
new file mode 100644
index 000000000..2a37d673c
--- /dev/null
+++ b/baseconfig/CONFIG_PHY_QCOM_USB_HSIC
@@ -0,0 +1 @@
+# CONFIG_PHY_QCOM_USB_HSIC is not set
diff --git a/baseconfig/CONFIG_PINCTRL_TI_IODELAY b/baseconfig/CONFIG_PINCTRL_TI_IODELAY
new file mode 100644
index 000000000..cc5eb6a6c
--- /dev/null
+++ b/baseconfig/CONFIG_PINCTRL_TI_IODELAY
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_TI_IODELAY is not set
diff --git a/baseconfig/CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT b/baseconfig/CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT
new file mode 100644
index 000000000..eb368f2d7
--- /dev/null
+++ b/baseconfig/CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT
@@ -0,0 +1 @@
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
diff --git a/baseconfig/CONFIG_PSAMPLE b/baseconfig/CONFIG_PSAMPLE
new file mode 100644
index 000000000..fca0860ea
--- /dev/null
+++ b/baseconfig/CONFIG_PSAMPLE
@@ -0,0 +1 @@
+CONFIG_PSAMPLE=m
diff --git a/baseconfig/CONFIG_PWRSEQ_SD8787 b/baseconfig/CONFIG_PWRSEQ_SD8787
new file mode 100644
index 000000000..243dba034
--- /dev/null
+++ b/baseconfig/CONFIG_PWRSEQ_SD8787
@@ -0,0 +1 @@
+# CONFIG_PWRSEQ_SD8787 is not set
diff --git a/baseconfig/CONFIG_QCOM_EBI2 b/baseconfig/CONFIG_QCOM_EBI2
deleted file mode 100644
index e96b3544e..000000000
--- a/baseconfig/CONFIG_QCOM_EBI2
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_QCOM_EBI2 is not set
diff --git a/baseconfig/CONFIG_QEDF b/baseconfig/CONFIG_QEDF
new file mode 100644
index 000000000..33c24865a
--- /dev/null
+++ b/baseconfig/CONFIG_QEDF
@@ -0,0 +1 @@
+CONFIG_QEDF=m
diff --git a/baseconfig/CONFIG_RADIO_WL128X b/baseconfig/CONFIG_RADIO_WL128X
deleted file mode 100644
index da0cf2eb9..000000000
--- a/baseconfig/CONFIG_RADIO_WL128X
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
diff --git a/baseconfig/CONFIG_REGULATOR_CPCAP b/baseconfig/CONFIG_REGULATOR_CPCAP
new file mode 100644
index 000000000..02e701e66
--- /dev/null
+++ b/baseconfig/CONFIG_REGULATOR_CPCAP
@@ -0,0 +1 @@
+CONFIG_REGULATOR_CPCAP=m
diff --git a/baseconfig/CONFIG_SENSORS_STTS751 b/baseconfig/CONFIG_SENSORS_STTS751
new file mode 100644
index 000000000..f2f8006af
--- /dev/null
+++ b/baseconfig/CONFIG_SENSORS_STTS751
@@ -0,0 +1 @@
+# CONFIG_SENSORS_STTS751 is not set
diff --git a/baseconfig/CONFIG_SERIAL_8250_EXAR b/baseconfig/CONFIG_SERIAL_8250_EXAR
new file mode 100644
index 000000000..bb519d916
--- /dev/null
+++ b/baseconfig/CONFIG_SERIAL_8250_EXAR
@@ -0,0 +1 @@
+CONFIG_SERIAL_8250_EXAR=m
diff --git a/baseconfig/CONFIG_SERIAL_8250_PCI b/baseconfig/CONFIG_SERIAL_8250_PCI
new file mode 100644
index 000000000..d48086e3e
--- /dev/null
+++ b/baseconfig/CONFIG_SERIAL_8250_PCI
@@ -0,0 +1 @@
+CONFIG_SERIAL_8250_PCI=m
diff --git a/baseconfig/CONFIG_SERIAL_DEV_BUS b/baseconfig/CONFIG_SERIAL_DEV_BUS
new file mode 100644
index 000000000..f73dc688e
--- /dev/null
+++ b/baseconfig/CONFIG_SERIAL_DEV_BUS
@@ -0,0 +1 @@
+CONFIG_SERIAL_DEV_BUS=y
diff --git a/baseconfig/CONFIG_SERIAL_DEV_CTRL_TTYPORT b/baseconfig/CONFIG_SERIAL_DEV_CTRL_TTYPORT
new file mode 100644
index 000000000..4d61eadb1
--- /dev/null
+++ b/baseconfig/CONFIG_SERIAL_DEV_CTRL_TTYPORT
@@ -0,0 +1 @@
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
diff --git a/baseconfig/CONFIG_SMC b/baseconfig/CONFIG_SMC
new file mode 100644
index 000000000..88600dc91
--- /dev/null
+++ b/baseconfig/CONFIG_SMC
@@ -0,0 +1 @@
+# CONFIG_SMC is not set
diff --git a/baseconfig/CONFIG_SND_SIMPLE_SCU_CARD b/baseconfig/CONFIG_SND_SIMPLE_SCU_CARD
index 38757da9f..e50c18374 100644
--- a/baseconfig/CONFIG_SND_SIMPLE_SCU_CARD
+++ b/baseconfig/CONFIG_SND_SIMPLE_SCU_CARD
@@ -1 +1 @@
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
diff --git a/baseconfig/CONFIG_SND_SOC_NAU8540 b/baseconfig/CONFIG_SND_SOC_NAU8540
new file mode 100644
index 000000000..43355fa74
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_NAU8540
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_NAU8540 is not set
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_TAS571X b/baseconfig/CONFIG_SND_SOC_TAS571X
index 5a0960c0f..5a0960c0f 100644
--- a/baseconfig/arm/armv7/CONFIG_SND_SOC_TAS571X
+++ b/baseconfig/CONFIG_SND_SOC_TAS571X
diff --git a/baseconfig/CONFIG_SOC_ZTE b/baseconfig/CONFIG_SOC_ZTE
new file mode 100644
index 000000000..95a233e40
--- /dev/null
+++ b/baseconfig/CONFIG_SOC_ZTE
@@ -0,0 +1 @@
+# CONFIG_SOC_ZTE is not set
diff --git a/baseconfig/CONFIG_SRF08 b/baseconfig/CONFIG_SRF08
new file mode 100644
index 000000000..11f5dbcf5
--- /dev/null
+++ b/baseconfig/CONFIG_SRF08
@@ -0,0 +1 @@
+# CONFIG_SRF08 is not set
diff --git a/baseconfig/CONFIG_STATIC_USERMODEHELPER b/baseconfig/CONFIG_STATIC_USERMODEHELPER
new file mode 100644
index 000000000..9cfc00a5f
--- /dev/null
+++ b/baseconfig/CONFIG_STATIC_USERMODEHELPER
@@ -0,0 +1 @@
+# CONFIG_STATIC_USERMODEHELPER is not set
diff --git a/baseconfig/CONFIG_TEGRA_GMI b/baseconfig/CONFIG_TEGRA_GMI
deleted file mode 100644
index 5def3e891..000000000
--- a/baseconfig/CONFIG_TEGRA_GMI
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_TEGRA_GMI=m
diff --git a/baseconfig/CONFIG_TEST_PARMAN b/baseconfig/CONFIG_TEST_PARMAN
new file mode 100644
index 000000000..2aade4293
--- /dev/null
+++ b/baseconfig/CONFIG_TEST_PARMAN
@@ -0,0 +1 @@
+# CONFIG_TEST_PARMAN is not set
diff --git a/baseconfig/CONFIG_TEST_SORT b/baseconfig/CONFIG_TEST_SORT
new file mode 100644
index 000000000..de9e1bbd6
--- /dev/null
+++ b/baseconfig/CONFIG_TEST_SORT
@@ -0,0 +1 @@
+# CONFIG_TEST_SORT is not set
diff --git a/baseconfig/CONFIG_TI_ADS7950 b/baseconfig/CONFIG_TI_ADS7950
new file mode 100644
index 000000000..f2a68954b
--- /dev/null
+++ b/baseconfig/CONFIG_TI_ADS7950
@@ -0,0 +1 @@
+# CONFIG_TI_ADS7950 is not set
diff --git a/baseconfig/CONFIG_TI_TLC4541 b/baseconfig/CONFIG_TI_TLC4541
new file mode 100644
index 000000000..c8c8183fd
--- /dev/null
+++ b/baseconfig/CONFIG_TI_TLC4541
@@ -0,0 +1 @@
+# CONFIG_TI_TLC4541 is not set
diff --git a/baseconfig/CONFIG_TMP007 b/baseconfig/CONFIG_TMP007
new file mode 100644
index 000000000..a3a96d4a8
--- /dev/null
+++ b/baseconfig/CONFIG_TMP007
@@ -0,0 +1 @@
+# CONFIG_TMP007 is not set
diff --git a/baseconfig/CONFIG_TOUCHSCREEN_ZET6223 b/baseconfig/CONFIG_TOUCHSCREEN_ZET6223
new file mode 100644
index 000000000..134c0c432
--- /dev/null
+++ b/baseconfig/CONFIG_TOUCHSCREEN_ZET6223
@@ -0,0 +1 @@
+CONFIG_TOUCHSCREEN_ZET6223=m
diff --git a/baseconfig/CONFIG_UPROBE_EVENT b/baseconfig/CONFIG_UPROBE_EVENT
deleted file mode 100644
index aba82daa5..000000000
--- a/baseconfig/CONFIG_UPROBE_EVENT
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_UPROBE_EVENT=y
diff --git a/baseconfig/CONFIG_UPROBE_EVENTS b/baseconfig/CONFIG_UPROBE_EVENTS
new file mode 100644
index 000000000..81f7be965
--- /dev/null
+++ b/baseconfig/CONFIG_UPROBE_EVENTS
@@ -0,0 +1 @@
+CONFIG_UPROBE_EVENTS=y
diff --git a/baseconfig/CONFIG_USB_CHIPIDEA_ULPI b/baseconfig/CONFIG_USB_CHIPIDEA_ULPI
new file mode 100644
index 000000000..c97b84c79
--- /dev/null
+++ b/baseconfig/CONFIG_USB_CHIPIDEA_ULPI
@@ -0,0 +1 @@
+# CONFIG_USB_CHIPIDEA_ULPI is not set
diff --git a/baseconfig/CONFIG_USB_HUB_USB251XB b/baseconfig/CONFIG_USB_HUB_USB251XB
new file mode 100644
index 000000000..26e0d11ae
--- /dev/null
+++ b/baseconfig/CONFIG_USB_HUB_USB251XB
@@ -0,0 +1 @@
+CONFIG_USB_HUB_USB251XB=m
diff --git a/baseconfig/CONFIG_USB_SERIAL_UPD78F0730 b/baseconfig/CONFIG_USB_SERIAL_UPD78F0730
new file mode 100644
index 000000000..8258d573c
--- /dev/null
+++ b/baseconfig/CONFIG_USB_SERIAL_UPD78F0730
@@ -0,0 +1 @@
+CONFIG_USB_SERIAL_UPD78F0730=m
diff --git a/baseconfig/CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT b/baseconfig/CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT
new file mode 100644
index 000000000..a0a49c839
--- /dev/null
+++ b/baseconfig/CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT
@@ -0,0 +1 @@
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
diff --git a/baseconfig/CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS b/baseconfig/CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
new file mode 100644
index 000000000..b1ad6abff
--- /dev/null
+++ b/baseconfig/CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS
@@ -0,0 +1 @@
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
diff --git a/baseconfig/CONFIG_VIDEO_SAMSUNG_S5P_CEC b/baseconfig/CONFIG_VIDEO_SAMSUNG_S5P_CEC
deleted file mode 100644
index 67462a76e..000000000
--- a/baseconfig/CONFIG_VIDEO_SAMSUNG_S5P_CEC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
diff --git a/baseconfig/CONFIG_VIRTIO_BLK_SCSI b/baseconfig/CONFIG_VIRTIO_BLK_SCSI
new file mode 100644
index 000000000..dcc60f529
--- /dev/null
+++ b/baseconfig/CONFIG_VIRTIO_BLK_SCSI
@@ -0,0 +1 @@
+CONFIG_VIRTIO_BLK_SCSI=y
diff --git a/baseconfig/CONFIG_W1_SLAVE_DS2405 b/baseconfig/CONFIG_W1_SLAVE_DS2405
new file mode 100644
index 000000000..16e7dd759
--- /dev/null
+++ b/baseconfig/CONFIG_W1_SLAVE_DS2405
@@ -0,0 +1 @@
+CONFIG_W1_SLAVE_DS2405=m
diff --git a/baseconfig/CONFIG_WW_MUTEX_SELFTEST b/baseconfig/CONFIG_WW_MUTEX_SELFTEST
new file mode 100644
index 000000000..014b2354c
--- /dev/null
+++ b/baseconfig/CONFIG_WW_MUTEX_SELFTEST
@@ -0,0 +1 @@
+# CONFIG_WW_MUTEX_SELFTEST is not set
diff --git a/baseconfig/arm/CONFIG_AGP b/baseconfig/arm/CONFIG_AGP
deleted file mode 100644
index f7332ef53..000000000
--- a/baseconfig/arm/CONFIG_AGP
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_AGP is not set
diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_MAX77686 b/baseconfig/arm/CONFIG_COMMON_CLK_MAX77686
index 71ba0b45c..71ba0b45c 100644
--- a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_MAX77686
+++ b/baseconfig/arm/CONFIG_COMMON_CLK_MAX77686
diff --git a/baseconfig/arm/CONFIG_CRYPTO_CHACHA20_NEON b/baseconfig/arm/CONFIG_CRYPTO_CHACHA20_NEON
new file mode 100644
index 000000000..c680f1a05
--- /dev/null
+++ b/baseconfig/arm/CONFIG_CRYPTO_CHACHA20_NEON
@@ -0,0 +1 @@
+CONFIG_CRYPTO_CHACHA20_NEON=m
diff --git a/baseconfig/arm/CONFIG_DMA_SUN6I b/baseconfig/arm/CONFIG_DMA_SUN6I
new file mode 100644
index 000000000..9c50f4fed
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DMA_SUN6I
@@ -0,0 +1 @@
+# CONFIG_DMA_SUN6I is not set
diff --git a/baseconfig/arm/arm64/CONFIG_DRM_MESON b/baseconfig/arm/CONFIG_DRM_MESON
index 638714333..638714333 100644
--- a/baseconfig/arm/arm64/CONFIG_DRM_MESON
+++ b/baseconfig/arm/CONFIG_DRM_MESON
diff --git a/baseconfig/arm/CONFIG_DRM_NXP_PTN3460 b/baseconfig/arm/CONFIG_DRM_NXP_PTN3460
new file mode 100644
index 000000000..e4647af6c
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_NXP_PTN3460
@@ -0,0 +1 @@
+CONFIG_DRM_NXP_PTN3460=m
diff --git a/baseconfig/arm/CONFIG_DRM_PARADE_PS8622 b/baseconfig/arm/CONFIG_DRM_PARADE_PS8622
new file mode 100644
index 000000000..ff6fd7e1b
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_PARADE_PS8622
@@ -0,0 +1 @@
+CONFIG_DRM_PARADE_PS8622=m
diff --git a/baseconfig/arm/CONFIG_DRM_TINYDRM b/baseconfig/arm/CONFIG_DRM_TINYDRM
new file mode 100644
index 000000000..4e6e01bfe
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_TINYDRM
@@ -0,0 +1 @@
+CONFIG_DRM_TINYDRM=m
diff --git a/baseconfig/arm/CONFIG_DRM_VMWGFX b/baseconfig/arm/CONFIG_DRM_VMWGFX
deleted file mode 100644
index 4e22be4d9..000000000
--- a/baseconfig/arm/CONFIG_DRM_VMWGFX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM_VMWGFX is not set
diff --git a/baseconfig/arm/CONFIG_DWMAC_DWC_QOS_ETH b/baseconfig/arm/CONFIG_DWMAC_DWC_QOS_ETH
new file mode 100644
index 000000000..6ed7a8e38
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DWMAC_DWC_QOS_ETH
@@ -0,0 +1 @@
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
diff --git a/baseconfig/arm/armv7/CONFIG_DWMAC_GENERIC b/baseconfig/arm/CONFIG_DWMAC_GENERIC
index fe2550e2b..fe2550e2b 100644
--- a/baseconfig/arm/armv7/CONFIG_DWMAC_GENERIC
+++ b/baseconfig/arm/CONFIG_DWMAC_GENERIC
diff --git a/baseconfig/arm/CONFIG_DWMAC_IPQ806X b/baseconfig/arm/CONFIG_DWMAC_IPQ806X
deleted file mode 100644
index ce2bf0c43..000000000
--- a/baseconfig/arm/CONFIG_DWMAC_IPQ806X
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DWMAC_IPQ806X is not set
diff --git a/baseconfig/arm/CONFIG_I2C_TEGRA_BPMP b/baseconfig/arm/CONFIG_I2C_TEGRA_BPMP
new file mode 100644
index 000000000..71099e082
--- /dev/null
+++ b/baseconfig/arm/CONFIG_I2C_TEGRA_BPMP
@@ -0,0 +1 @@
+CONFIG_I2C_TEGRA_BPMP=m
diff --git a/baseconfig/arm/armv7/CONFIG_IOMMU_IO_PGTABLE_LPAE b/baseconfig/arm/CONFIG_IOMMU_IO_PGTABLE_LPAE
index 73494e9d2..73494e9d2 100644
--- a/baseconfig/arm/armv7/CONFIG_IOMMU_IO_PGTABLE_LPAE
+++ b/baseconfig/arm/CONFIG_IOMMU_IO_PGTABLE_LPAE
diff --git a/baseconfig/arm/armv7/CONFIG_LEDS_GPIO b/baseconfig/arm/CONFIG_LEDS_GPIO
index 65a807afb..65a807afb 100644
--- a/baseconfig/arm/armv7/CONFIG_LEDS_GPIO
+++ b/baseconfig/arm/CONFIG_LEDS_GPIO
diff --git a/baseconfig/arm/armv7/CONFIG_LEDS_GPIO_REGISTER b/baseconfig/arm/CONFIG_LEDS_GPIO_REGISTER
index 101e4404f..101e4404f 100644
--- a/baseconfig/arm/armv7/CONFIG_LEDS_GPIO_REGISTER
+++ b/baseconfig/arm/CONFIG_LEDS_GPIO_REGISTER
diff --git a/baseconfig/arm/armv7/CONFIG_LEDS_PWM b/baseconfig/arm/CONFIG_LEDS_PWM
index fc4cfe6f7..fc4cfe6f7 100644
--- a/baseconfig/arm/armv7/CONFIG_LEDS_PWM
+++ b/baseconfig/arm/CONFIG_LEDS_PWM
diff --git a/baseconfig/arm/armv7/CONFIG_LEDS_SYSCON b/baseconfig/arm/CONFIG_LEDS_SYSCON
index c458741b6..c458741b6 100644
--- a/baseconfig/arm/armv7/CONFIG_LEDS_SYSCON
+++ b/baseconfig/arm/CONFIG_LEDS_SYSCON
diff --git a/baseconfig/arm/armv7/CONFIG_LEDS_TRIGGER_CPU b/baseconfig/arm/CONFIG_LEDS_TRIGGER_CPU
index b017fb086..b017fb086 100644
--- a/baseconfig/arm/armv7/CONFIG_LEDS_TRIGGER_CPU
+++ b/baseconfig/arm/CONFIG_LEDS_TRIGGER_CPU
diff --git a/baseconfig/arm/CONFIG_MESON_SARADC b/baseconfig/arm/CONFIG_MESON_SARADC
new file mode 100644
index 000000000..cae134290
--- /dev/null
+++ b/baseconfig/arm/CONFIG_MESON_SARADC
@@ -0,0 +1 @@
+CONFIG_MESON_SARADC=m
diff --git a/baseconfig/arm/armv7/CONFIG_MFD_MAX77686 b/baseconfig/arm/CONFIG_MFD_MAX77686
index e6791bf7e..e6791bf7e 100644
--- a/baseconfig/arm/armv7/CONFIG_MFD_MAX77686
+++ b/baseconfig/arm/CONFIG_MFD_MAX77686
diff --git a/baseconfig/arm/CONFIG_MMC_BCM2835 b/baseconfig/arm/CONFIG_MMC_BCM2835
new file mode 100644
index 000000000..b3750c1a7
--- /dev/null
+++ b/baseconfig/arm/CONFIG_MMC_BCM2835
@@ -0,0 +1 @@
+CONFIG_MMC_BCM2835=m
diff --git a/baseconfig/arm/CONFIG_MTD_PHYSMAP_OF_GEMINI b/baseconfig/arm/CONFIG_MTD_PHYSMAP_OF_GEMINI
new file mode 100644
index 000000000..cbc329eea
--- /dev/null
+++ b/baseconfig/arm/CONFIG_MTD_PHYSMAP_OF_GEMINI
@@ -0,0 +1 @@
+# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
diff --git a/baseconfig/arm/armv7/CONFIG_MVPP2 b/baseconfig/arm/CONFIG_MVPP2
index e41ec5ca1..e41ec5ca1 100644
--- a/baseconfig/arm/armv7/CONFIG_MVPP2
+++ b/baseconfig/arm/CONFIG_MVPP2
diff --git a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HS b/baseconfig/arm/CONFIG_PHY_QCOM_USB_HS
new file mode 100644
index 000000000..61e98f856
--- /dev/null
+++ b/baseconfig/arm/CONFIG_PHY_QCOM_USB_HS
@@ -0,0 +1 @@
+CONFIG_PHY_QCOM_USB_HS=m
diff --git a/baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC b/baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC
new file mode 100644
index 000000000..0b25aa233
--- /dev/null
+++ b/baseconfig/arm/CONFIG_PHY_QCOM_USB_HSIC
@@ -0,0 +1 @@
+CONFIG_PHY_QCOM_USB_HSIC=m
diff --git a/baseconfig/arm/CONFIG_PINCTRL_GEMINILAKE b/baseconfig/arm/CONFIG_PINCTRL_GEMINILAKE
new file mode 100644
index 000000000..deb3b301d
--- /dev/null
+++ b/baseconfig/arm/CONFIG_PINCTRL_GEMINILAKE
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_GEMINILAKE is not set
diff --git a/baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER b/baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER
new file mode 100644
index 000000000..6c23d15f7
--- /dev/null
+++ b/baseconfig/arm/CONFIG_QCOM_IRQ_COMBINER
@@ -0,0 +1 @@
+CONFIG_QCOM_IRQ_COMBINER=y
diff --git a/baseconfig/arm/CONFIG_QORIQ_CPUFREQ b/baseconfig/arm/CONFIG_QORIQ_CPUFREQ
new file mode 100644
index 000000000..e8e355ba3
--- /dev/null
+++ b/baseconfig/arm/CONFIG_QORIQ_CPUFREQ
@@ -0,0 +1 @@
+# CONFIG_QORIQ_CPUFREQ is not set
diff --git a/baseconfig/arm/armv7/CONFIG_REGULATOR_MAX77686 b/baseconfig/arm/CONFIG_REGULATOR_MAX77686
index 69bd2bdd7..69bd2bdd7 100644
--- a/baseconfig/arm/armv7/CONFIG_REGULATOR_MAX77686
+++ b/baseconfig/arm/CONFIG_REGULATOR_MAX77686
diff --git a/baseconfig/arm/armv7/CONFIG_REGULATOR_MAX77802 b/baseconfig/arm/CONFIG_REGULATOR_MAX77802
index 3f55c214c..3f55c214c 100644
--- a/baseconfig/arm/armv7/CONFIG_REGULATOR_MAX77802
+++ b/baseconfig/arm/CONFIG_REGULATOR_MAX77802
diff --git a/baseconfig/arm/CONFIG_REGULATOR_PWM b/baseconfig/arm/CONFIG_REGULATOR_PWM
index 654817956..e41417821 100644
--- a/baseconfig/arm/CONFIG_REGULATOR_PWM
+++ b/baseconfig/arm/CONFIG_REGULATOR_PWM
@@ -1 +1 @@
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
diff --git a/baseconfig/arm/CONFIG_RFKILL_REGULATOR b/baseconfig/arm/CONFIG_RFKILL_REGULATOR
deleted file mode 100644
index 64e4c4774..000000000
--- a/baseconfig/arm/CONFIG_RFKILL_REGULATOR
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_RFKILL_REGULATOR=m
diff --git a/baseconfig/arm/CONFIG_SERIAL_NONSTANDARD b/baseconfig/arm/CONFIG_SERIAL_NONSTANDARD
new file mode 100644
index 000000000..57688cbec
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SERIAL_NONSTANDARD
@@ -0,0 +1 @@
+# CONFIG_SERIAL_NONSTANDARD is not set
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_AC97_CODEC b/baseconfig/arm/CONFIG_SND_SOC_AC97_CODEC
index f2388a7c0..f2388a7c0 100644
--- a/baseconfig/arm/armv7/CONFIG_SND_SOC_AC97_CODEC
+++ b/baseconfig/arm/CONFIG_SND_SOC_AC97_CODEC
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328 b/baseconfig/arm/CONFIG_SND_SOC_ES8328
index 806f698e1..806f698e1 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328
+++ b/baseconfig/arm/CONFIG_SND_SOC_ES8328
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328_I2C b/baseconfig/arm/CONFIG_SND_SOC_ES8328_I2C
index 9f90cb7e0..9f90cb7e0 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328_I2C
+++ b/baseconfig/arm/CONFIG_SND_SOC_ES8328_I2C
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328_SPI b/baseconfig/arm/CONFIG_SND_SOC_ES8328_SPI
index 0eb8f755c..0eb8f755c 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_ES8328_SPI
+++ b/baseconfig/arm/CONFIG_SND_SOC_ES8328_SPI
diff --git a/baseconfig/arm/CONFIG_SND_SOC_RK3288_HDMI_ANALOG b/baseconfig/arm/CONFIG_SND_SOC_RK3288_HDMI_ANALOG
new file mode 100644
index 000000000..8034e86d4
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SND_SOC_RK3288_HDMI_ANALOG
@@ -0,0 +1 @@
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
diff --git a/baseconfig/arm/CONFIG_SND_SOC_RK3399_GRU_SOUND b/baseconfig/arm/CONFIG_SND_SOC_RK3399_GRU_SOUND
new file mode 100644
index 000000000..a1f8108ff
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SND_SOC_RK3399_GRU_SOUND
@@ -0,0 +1 @@
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_ALC5632 b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_ALC5632
index 63a5d40d0..63a5d40d0 100644
--- a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_ALC5632
+++ b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_ALC5632
diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_TRIMSLICE b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_TRIMSLICE
index 23a6b3005..23a6b3005 100644
--- a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_TRIMSLICE
+++ b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_TRIMSLICE
diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM8903 b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_WM8903
index ff10de901..ff10de901 100644
--- a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM8903
+++ b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_WM8903
diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM9712 b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_WM9712
index 3ced427a6..3ced427a6 100644
--- a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM9712
+++ b/baseconfig/arm/CONFIG_SND_SOC_TEGRA_WM9712
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_TS3A227E b/baseconfig/arm/CONFIG_SND_SOC_TS3A227E
index 1d3522517..1d3522517 100644
--- a/baseconfig/arm/armv7/CONFIG_SND_SOC_TS3A227E
+++ b/baseconfig/arm/CONFIG_SND_SOC_TS3A227E
diff --git a/baseconfig/arm/armv7/CONFIG_STMMAC_PLATFORM b/baseconfig/arm/CONFIG_STMMAC_PLATFORM
index 2ad238de4..2ad238de4 100644
--- a/baseconfig/arm/armv7/CONFIG_STMMAC_PLATFORM
+++ b/baseconfig/arm/CONFIG_STMMAC_PLATFORM
diff --git a/baseconfig/CONFIG_SUN50I_A64_CCU b/baseconfig/arm/CONFIG_SUN50I_A64_CCU
index 9ce6c792a..9ce6c792a 100644
--- a/baseconfig/CONFIG_SUN50I_A64_CCU
+++ b/baseconfig/arm/CONFIG_SUN50I_A64_CCU
diff --git a/baseconfig/arm/CONFIG_SUN5I_CCU b/baseconfig/arm/CONFIG_SUN5I_CCU
new file mode 100644
index 000000000..26856d6b2
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SUN5I_CCU
@@ -0,0 +1 @@
+# CONFIG_SUN5I_CCU is not set
diff --git a/baseconfig/CONFIG_SUN6I_A31_CCU b/baseconfig/arm/CONFIG_SUN6I_A31_CCU
index 5ce1bb3f7..5ce1bb3f7 100644
--- a/baseconfig/CONFIG_SUN6I_A31_CCU
+++ b/baseconfig/arm/CONFIG_SUN6I_A31_CCU
diff --git a/baseconfig/CONFIG_SUN8I_A23_CCU b/baseconfig/arm/CONFIG_SUN8I_A23_CCU
index 26ae1100c..26ae1100c 100644
--- a/baseconfig/CONFIG_SUN8I_A23_CCU
+++ b/baseconfig/arm/CONFIG_SUN8I_A23_CCU
diff --git a/baseconfig/CONFIG_SUN8I_A33_CCU b/baseconfig/arm/CONFIG_SUN8I_A33_CCU
index e1a357ee8..e1a357ee8 100644
--- a/baseconfig/CONFIG_SUN8I_A33_CCU
+++ b/baseconfig/arm/CONFIG_SUN8I_A33_CCU
diff --git a/baseconfig/arm/CONFIG_SUN8I_H3_CCU b/baseconfig/arm/CONFIG_SUN8I_H3_CCU
new file mode 100644
index 000000000..02cfb2c97
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SUN8I_H3_CCU
@@ -0,0 +1 @@
+# CONFIG_SUN8I_H3_CCU is not set
diff --git a/baseconfig/arm/CONFIG_SUN8I_V3S_CCU b/baseconfig/arm/CONFIG_SUN8I_V3S_CCU
new file mode 100644
index 000000000..da333f583
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SUN8I_V3S_CCU
@@ -0,0 +1 @@
+# CONFIG_SUN8I_V3S_CCU is not set
diff --git a/baseconfig/arm/CONFIG_SUN9I_A80_CCU b/baseconfig/arm/CONFIG_SUN9I_A80_CCU
new file mode 100644
index 000000000..82686b27e
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SUN9I_A80_CCU
@@ -0,0 +1 @@
+# CONFIG_SUN9I_A80_CCU is not set
diff --git a/baseconfig/CONFIG_SUNXI_CCU b/baseconfig/arm/CONFIG_SUNXI_CCU
index a383113ef..a383113ef 100644
--- a/baseconfig/CONFIG_SUNXI_CCU
+++ b/baseconfig/arm/CONFIG_SUNXI_CCU
diff --git a/baseconfig/arm/CONFIG_SYSCON_REBOOT_MODE b/baseconfig/arm/CONFIG_SYSCON_REBOOT_MODE
new file mode 100644
index 000000000..b391f88cb
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SYSCON_REBOOT_MODE
@@ -0,0 +1 @@
+CONFIG_SYSCON_REBOOT_MODE=y
diff --git a/baseconfig/arm/CONFIG_TINYDRM_MI0283QT b/baseconfig/arm/CONFIG_TINYDRM_MI0283QT
new file mode 100644
index 000000000..98bb3288d
--- /dev/null
+++ b/baseconfig/arm/CONFIG_TINYDRM_MI0283QT
@@ -0,0 +1 @@
+CONFIG_TINYDRM_MI0283QT=m
diff --git a/baseconfig/arm/CONFIG_TINYDRM_MIPI_DBI b/baseconfig/arm/CONFIG_TINYDRM_MIPI_DBI
new file mode 100644
index 000000000..bb0235842
--- /dev/null
+++ b/baseconfig/arm/CONFIG_TINYDRM_MIPI_DBI
@@ -0,0 +1 @@
+CONFIG_TINYDRM_MIPI_DBI=m
diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_MESON b/baseconfig/arm/arm64/CONFIG_ARCH_MESON
deleted file mode 100644
index 849319f60..000000000
--- a/baseconfig/arm/arm64/CONFIG_ARCH_MESON
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_ARCH_MESON is not set
diff --git a/baseconfig/arm/arm64/CONFIG_ARCH_THUNDER2 b/baseconfig/arm/arm64/CONFIG_ARCH_THUNDER2
new file mode 100644
index 000000000..aa0f1f319
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_ARCH_THUNDER2
@@ -0,0 +1 @@
+CONFIG_ARCH_THUNDER2=y
diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_4K_PAGES b/baseconfig/arm/arm64/CONFIG_ARM64_4K_PAGES
new file mode 100644
index 000000000..5df91df1a
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_ARM64_4K_PAGES
@@ -0,0 +1 @@
+CONFIG_ARM64_4K_PAGES=y
diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_64K_PAGES b/baseconfig/arm/arm64/CONFIG_ARM64_64K_PAGES
deleted file mode 100644
index bda5426de..000000000
--- a/baseconfig/arm/arm64/CONFIG_ARM64_64K_PAGES
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_ARM64_64K_PAGES=y
diff --git a/baseconfig/arm/arm64/CONFIG_ARMADA_AP806_SYSCON b/baseconfig/arm/arm64/CONFIG_ARMADA_AP806_SYSCON
new file mode 100644
index 000000000..c0741cab5
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_ARMADA_AP806_SYSCON
@@ -0,0 +1 @@
+CONFIG_ARMADA_AP806_SYSCON=y
diff --git a/baseconfig/arm/arm64/CONFIG_CAVIUM_CPT b/baseconfig/arm/arm64/CONFIG_CAVIUM_CPT
new file mode 100644
index 000000000..183805687
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_CAVIUM_CPT
@@ -0,0 +1 @@
+CONFIG_CAVIUM_CPT=m
diff --git a/baseconfig/arm/arm64/CONFIG_CHARGER_AXP20X b/baseconfig/arm/arm64/CONFIG_CHARGER_AXP20X
new file mode 100644
index 000000000..2e64e7733
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_CHARGER_AXP20X
@@ -0,0 +1 @@
+CONFIG_CHARGER_AXP20X=m
diff --git a/baseconfig/CONFIG_COMMON_CLK_HI3516CV300 b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3516CV300
index 2c50858a5..2c50858a5 100644
--- a/baseconfig/CONFIG_COMMON_CLK_HI3516CV300
+++ b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3516CV300
diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3519 b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3519
new file mode 100644
index 000000000..5484a59ba
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3519
@@ -0,0 +1 @@
+CONFIG_COMMON_CLK_HI3519=m
diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3660 b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3660
new file mode 100644
index 000000000..44693544d
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3660
@@ -0,0 +1 @@
+CONFIG_COMMON_CLK_HI3660=y
diff --git a/baseconfig/CONFIG_COMMON_CLK_HI3798CV200 b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3798CV200
index 8d91e10e1..8d91e10e1 100644
--- a/baseconfig/CONFIG_COMMON_CLK_HI3798CV200
+++ b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_HI3798CV200
diff --git a/baseconfig/arm/arm64/CONFIG_COMMON_CLK_PWM b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_PWM
new file mode 100644
index 000000000..08193dd2c
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_COMMON_CLK_PWM
@@ -0,0 +1 @@
+CONFIG_COMMON_CLK_PWM=m
diff --git a/baseconfig/arm/arm64/CONFIG_COMPAT b/baseconfig/arm/arm64/CONFIG_COMPAT
new file mode 100644
index 000000000..3e041f1b6
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_COMPAT
@@ -0,0 +1 @@
+# CONFIG_COMPAT is not set
diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 b/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64
new file mode 100644
index 000000000..113c72b8c
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64
@@ -0,0 +1 @@
+CONFIG_CRYPTO_AES_ARM64=m
diff --git a/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_BS b/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_BS
new file mode 100644
index 000000000..6e0427353
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64_BS
@@ -0,0 +1 @@
+CONFIG_CRYPTO_AES_ARM64_BS=m
diff --git a/baseconfig/arm/arm64/CONFIG_DEBUG_EFI b/baseconfig/arm/arm64/CONFIG_DEBUG_EFI
new file mode 100644
index 000000000..68b7b8a1e
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_DEBUG_EFI
@@ -0,0 +1 @@
+# CONFIG_DEBUG_EFI is not set
diff --git a/baseconfig/arm/arm64/CONFIG_DWMAC_IPQ806X b/baseconfig/arm/arm64/CONFIG_DWMAC_IPQ806X
new file mode 100644
index 000000000..49177a6db
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_DWMAC_IPQ806X
@@ -0,0 +1 @@
+CONFIG_DWMAC_IPQ806X=m
diff --git a/baseconfig/arm/arm64/CONFIG_DWMAC_SUN8I b/baseconfig/arm/arm64/CONFIG_DWMAC_SUN8I
new file mode 100644
index 000000000..ce05f93b3
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_DWMAC_SUN8I
@@ -0,0 +1 @@
+CONFIG_DWMAC_SUN8I=m
diff --git a/baseconfig/arm/arm64/CONFIG_DWMAC_SUNXI b/baseconfig/arm/arm64/CONFIG_DWMAC_SUNXI
new file mode 100644
index 000000000..254fc7d8a
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_DWMAC_SUNXI
@@ -0,0 +1 @@
+CONFIG_DWMAC_SUNXI=m
diff --git a/baseconfig/arm/arm64/CONFIG_FORCE_MAX_ZONEORDER b/baseconfig/arm/arm64/CONFIG_FORCE_MAX_ZONEORDER
new file mode 100644
index 000000000..6d42a47fc
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_FORCE_MAX_ZONEORDER
@@ -0,0 +1 @@
+CONFIG_FORCE_MAX_ZONEORDER=13
diff --git a/baseconfig/arm/arm64/CONFIG_HISILICON_ERRATUM_161010101 b/baseconfig/arm/arm64/CONFIG_HISILICON_ERRATUM_161010101
new file mode 100644
index 000000000..b5914254a
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_HISILICON_ERRATUM_161010101
@@ -0,0 +1 @@
+CONFIG_HISILICON_ERRATUM_161010101=y
diff --git a/baseconfig/CONFIG_MFD_SUN4I_GPADC b/baseconfig/arm/arm64/CONFIG_MFD_SUN4I_GPADC
index d156cb188..d156cb188 100644
--- a/baseconfig/CONFIG_MFD_SUN4I_GPADC
+++ b/baseconfig/arm/arm64/CONFIG_MFD_SUN4I_GPADC
diff --git a/baseconfig/arm/arm64/CONFIG_PHY_SUN4I_USB b/baseconfig/arm/arm64/CONFIG_PHY_SUN4I_USB
index a6a26dd17..f619228c3 100644
--- a/baseconfig/arm/arm64/CONFIG_PHY_SUN4I_USB
+++ b/baseconfig/arm/arm64/CONFIG_PHY_SUN4I_USB
@@ -1 +1 @@
-# CONFIG_PHY_SUN4I_USB is not set
+CONFIG_PHY_SUN4I_USB=m
diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1003 b/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1003
new file mode 100644
index 000000000..94d6b177a
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1003
@@ -0,0 +1 @@
+# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1009 b/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1009
new file mode 100644
index 000000000..1449efafb
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_QCOM_FALKOR_ERRATUM_1009
@@ -0,0 +1 @@
+CONFIG_QCOM_FALKOR_ERRATUM_1009=y
diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_L2_PMU b/baseconfig/arm/arm64/CONFIG_QCOM_L2_PMU
new file mode 100644
index 000000000..2a553c8b1
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_QCOM_L2_PMU
@@ -0,0 +1 @@
+CONFIG_QCOM_L2_PMU=y
diff --git a/baseconfig/arm/arm64/CONFIG_SATA_AHCI_PLATFORM b/baseconfig/arm/arm64/CONFIG_SATA_AHCI_PLATFORM
deleted file mode 100644
index f4729baed..000000000
--- a/baseconfig/arm/arm64/CONFIG_SATA_AHCI_PLATFORM
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SATA_AHCI_PLATFORM=y
diff --git a/baseconfig/arm/arm64/CONFIG_SND_KIRKWOOD_SOC b/baseconfig/arm/arm64/CONFIG_SND_KIRKWOOD_SOC
new file mode 100644
index 000000000..05e82f2e9
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_KIRKWOOD_SOC
@@ -0,0 +1 @@
+# CONFIG_SND_KIRKWOOD_SOC is not set
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC b/baseconfig/arm/arm64/CONFIG_SND_SOC
deleted file mode 100644
index a161b8e18..000000000
--- a/baseconfig/arm/arm64/CONFIG_SND_SOC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_SOC is not set
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_APQ8016_SBC b/baseconfig/arm/arm64/CONFIG_SND_SOC_APQ8016_SBC
new file mode 100644
index 000000000..dfe53b84d
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_APQ8016_SBC
@@ -0,0 +1 @@
+CONFIG_SND_SOC_APQ8016_SBC=m
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_QCOM b/baseconfig/arm/arm64/CONFIG_SND_SOC_QCOM
new file mode 100644
index 000000000..719eb4e3d
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_QCOM
@@ -0,0 +1 @@
+CONFIG_SND_SOC_QCOM=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_SGTL5000 b/baseconfig/arm/arm64/CONFIG_SND_SOC_SGTL5000
index ea71dece1..ea71dece1 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_SGTL5000
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_SGTL5000
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_STORM b/baseconfig/arm/arm64/CONFIG_SND_SOC_STORM
new file mode 100644
index 000000000..adab3ae82
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_STORM
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_STORM is not set
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA
new file mode 100644
index 000000000..b32a04ff3
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TEGRA=m
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_MAX98090 b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_MAX98090
new file mode 100644
index 000000000..55f327a38
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_MAX98090
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TEGRA_MAX98090=m
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5640 b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5640
new file mode 100644
index 000000000..3370b8ec2
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5640
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TEGRA_RT5640=m
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5677 b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5677
new file mode 100644
index 000000000..24298d93b
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_RT5677
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TEGRA_RT5677=m
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_SGTL5000 b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_SGTL5000
new file mode 100644
index 000000000..4706a31c1
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_SGTL5000
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
diff --git a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM8753 b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_WM8753
index 9039b1695..9039b1695 100644
--- a/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA_WM8753
+++ b/baseconfig/arm/arm64/CONFIG_SND_SOC_TEGRA_WM8753
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN4I_I2S b/baseconfig/arm/arm64/CONFIG_SND_SUN4I_I2S
new file mode 100644
index 000000000..d9270e25b
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SUN4I_I2S
@@ -0,0 +1 @@
+CONFIG_SND_SUN4I_I2S=m
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN4I_SPDIF b/baseconfig/arm/arm64/CONFIG_SND_SUN4I_SPDIF
new file mode 100644
index 000000000..c0b108aba
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SUN4I_SPDIF
@@ -0,0 +1 @@
+CONFIG_SND_SUN4I_SPDIF=m
diff --git a/baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC b/baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC
new file mode 100644
index 000000000..c30f94369
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC
@@ -0,0 +1 @@
+CONFIG_SND_SUN8I_CODEC=m
diff --git a/baseconfig/CONFIG_SND_SUN8I_CODEC_ANALOG b/baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC_ANALOG
index 28ea30190..28ea30190 100644
--- a/baseconfig/CONFIG_SND_SUN8I_CODEC_ANALOG
+++ b/baseconfig/arm/arm64/CONFIG_SND_SUN8I_CODEC_ANALOG
diff --git a/baseconfig/arm/arm64/CONFIG_SUN50I_A64_CCU b/baseconfig/arm/arm64/CONFIG_SUN50I_A64_CCU
new file mode 100644
index 000000000..7b6c7a687
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_SUN50I_A64_CCU
@@ -0,0 +1 @@
+CONFIG_SUN50I_A64_CCU=y
diff --git a/baseconfig/arm/arm64/CONFIG_SUN8I_EMAC b/baseconfig/arm/arm64/CONFIG_SUN8I_EMAC
deleted file mode 100644
index 1b91ca143..000000000
--- a/baseconfig/arm/arm64/CONFIG_SUN8I_EMAC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SUN8I_EMAC=m
diff --git a/baseconfig/CONFIG_TEGRA_IVC b/baseconfig/arm/arm64/CONFIG_TEGRA_IVC
index cdcacbec2..cdcacbec2 100644
--- a/baseconfig/CONFIG_TEGRA_IVC
+++ b/baseconfig/arm/arm64/CONFIG_TEGRA_IVC
diff --git a/baseconfig/arm/arm64/CONFIG_VDSO b/baseconfig/arm/arm64/CONFIG_VDSO
new file mode 100644
index 000000000..cab5ebafb
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_VDSO
@@ -0,0 +1 @@
+CONFIG_VDSO=y
diff --git a/baseconfig/arm/armv7/CONFIG_ARCH_MESON b/baseconfig/arm/armv7/CONFIG_ARCH_MESON
deleted file mode 100644
index 849319f60..000000000
--- a/baseconfig/arm/armv7/CONFIG_ARCH_MESON
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_ARCH_MESON is not set
diff --git a/baseconfig/arm/armv7/CONFIG_CHARGER_AXP20X b/baseconfig/arm/armv7/CONFIG_CHARGER_AXP20X
new file mode 100644
index 000000000..2e64e7733
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_CHARGER_AXP20X
@@ -0,0 +1 @@
+CONFIG_CHARGER_AXP20X=m
diff --git a/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77686 b/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77686
deleted file mode 100644
index 71ba0b45c..000000000
--- a/baseconfig/arm/armv7/CONFIG_COMMON_CLK_MAX77686
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_COMMON_CLK_MAX77686=m
diff --git a/baseconfig/arm/armv7/CONFIG_DEBUG_RODATA b/baseconfig/arm/armv7/CONFIG_DEBUG_RODATA
deleted file mode 100644
index 8b3ba9432..000000000
--- a/baseconfig/arm/armv7/CONFIG_DEBUG_RODATA
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DEBUG_RODATA is not set
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_MESON b/baseconfig/arm/armv7/CONFIG_DRM_MESON
deleted file mode 100644
index 7a6179102..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_MESON
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM_MESON is not set
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_STI b/baseconfig/arm/armv7/CONFIG_DRM_STI
index 008714f93..d16e09b9b 100644
--- a/baseconfig/arm/armv7/CONFIG_DRM_STI
+++ b/baseconfig/arm/armv7/CONFIG_DRM_STI
@@ -1 +1 @@
-# CONFIG_DRM_STI is not set
+CONFIG_DRM_STI=m
diff --git a/baseconfig/arm/armv7/CONFIG_DWMAC_SUN8I b/baseconfig/arm/armv7/CONFIG_DWMAC_SUN8I
new file mode 100644
index 000000000..ce05f93b3
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_DWMAC_SUN8I
@@ -0,0 +1 @@
+CONFIG_DWMAC_SUN8I=m
diff --git a/baseconfig/arm/CONFIG_FORCE_MAX_ZONEORDER b/baseconfig/arm/armv7/CONFIG_FORCE_MAX_ZONEORDER
index bdbd3377f..bdbd3377f 100644
--- a/baseconfig/arm/CONFIG_FORCE_MAX_ZONEORDER
+++ b/baseconfig/arm/armv7/CONFIG_FORCE_MAX_ZONEORDER
diff --git a/baseconfig/arm/armv7/CONFIG_GPIO_EM b/baseconfig/arm/armv7/CONFIG_GPIO_EM
deleted file mode 100644
index 175c5778a..000000000
--- a/baseconfig/arm/armv7/CONFIG_GPIO_EM
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_GPIO_EM is not set
diff --git a/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO b/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO
new file mode 100644
index 000000000..7b38ce09b
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO
@@ -0,0 +1 @@
+# CONFIG_IIO_CROS_EC_BARO is not set
diff --git a/baseconfig/arm/armv7/CONFIG_MACH_MESON6 b/baseconfig/arm/armv7/CONFIG_MACH_MESON6
new file mode 100644
index 000000000..aff440cc5
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_MACH_MESON6
@@ -0,0 +1 @@
+# CONFIG_MACH_MESON6 is not set
diff --git a/baseconfig/arm/armv7/CONFIG_MACH_MESON8 b/baseconfig/arm/armv7/CONFIG_MACH_MESON8
new file mode 100644
index 000000000..e55c72211
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_MACH_MESON8
@@ -0,0 +1 @@
+# CONFIG_MACH_MESON8 is not set
diff --git a/baseconfig/arm/armv7/CONFIG_MACH_MESON8B b/baseconfig/arm/armv7/CONFIG_MACH_MESON8B
new file mode 100644
index 000000000..5212d2aca
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_MACH_MESON8B
@@ -0,0 +1 @@
+CONFIG_MACH_MESON8B=y
diff --git a/baseconfig/arm/CONFIG_MFD_SUN4I_GPADC b/baseconfig/arm/armv7/CONFIG_MFD_SUN4I_GPADC
index d156cb188..d156cb188 100644
--- a/baseconfig/arm/CONFIG_MFD_SUN4I_GPADC
+++ b/baseconfig/arm/armv7/CONFIG_MFD_SUN4I_GPADC
diff --git a/baseconfig/arm/armv7/CONFIG_PATA_PLATFORM b/baseconfig/arm/armv7/CONFIG_PATA_PLATFORM
deleted file mode 100644
index e385815ec..000000000
--- a/baseconfig/arm/armv7/CONFIG_PATA_PLATFORM
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PATA_PLATFORM is not set
diff --git a/baseconfig/arm/armv7/CONFIG_PHY_EXYNOS_PCIE b/baseconfig/arm/armv7/CONFIG_PHY_EXYNOS_PCIE
new file mode 100644
index 000000000..26417e932
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_PHY_EXYNOS_PCIE
@@ -0,0 +1 @@
+CONFIG_PHY_EXYNOS_PCIE=y
diff --git a/baseconfig/arm/armv7/CONFIG_ROCKCHIP_CDN_DP b/baseconfig/arm/armv7/CONFIG_ROCKCHIP_CDN_DP
new file mode 100644
index 000000000..98a696d76
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_ROCKCHIP_CDN_DP
@@ -0,0 +1 @@
+# CONFIG_ROCKCHIP_CDN_DP is not set
diff --git a/baseconfig/arm/armv7/CONFIG_RPMSG_CHAR b/baseconfig/arm/armv7/CONFIG_RPMSG_CHAR
new file mode 100644
index 000000000..3aa998906
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_RPMSG_CHAR
@@ -0,0 +1 @@
+# CONFIG_RPMSG_CHAR is not set
diff --git a/baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC b/baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC
new file mode 100644
index 000000000..9ac7f69ac
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC
@@ -0,0 +1 @@
+CONFIG_SERIAL_ST_ASC=y
diff --git a/baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC_CONSOLE b/baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC_CONSOLE
new file mode 100644
index 000000000..4f7f87761
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SERIAL_ST_ASC_CONSOLE
@@ -0,0 +1 @@
+CONFIG_SERIAL_ST_ASC_CONSOLE=y
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_RK3399_GRU_SOUND b/baseconfig/arm/armv7/CONFIG_SND_SOC_RK3399_GRU_SOUND
deleted file mode 100644
index 6897e6b54..000000000
--- a/baseconfig/arm/armv7/CONFIG_SND_SOC_RK3399_GRU_SOUND
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_SGTL5000 b/baseconfig/arm/armv7/CONFIG_SND_SOC_SGTL5000
new file mode 100644
index 000000000..ea71dece1
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SND_SOC_SGTL5000
@@ -0,0 +1 @@
+CONFIG_SND_SOC_SGTL5000=m
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_SGTL5000 b/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_SGTL5000
index b3214101c..4706a31c1 100644
--- a/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_SGTL5000
+++ b/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_SGTL5000
@@ -1 +1 @@
-# CONFIG_SND_SOC_TEGRA_SGTL5000 is not set
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_WM8753 b/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_WM8753
new file mode 100644
index 000000000..9039b1695
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA_WM8753
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_TEGRA_WM8753 is not set
diff --git a/baseconfig/arm/armv7/CONFIG_SND_SUN8I_CODEC b/baseconfig/arm/armv7/CONFIG_SND_SUN8I_CODEC
new file mode 100644
index 000000000..c30f94369
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SND_SUN8I_CODEC
@@ -0,0 +1 @@
+CONFIG_SND_SUN8I_CODEC=m
diff --git a/baseconfig/arm/CONFIG_SND_SUN8I_CODEC_ANALOG b/baseconfig/arm/armv7/CONFIG_SND_SUN8I_CODEC_ANALOG
index 28ea30190..28ea30190 100644
--- a/baseconfig/arm/CONFIG_SND_SUN8I_CODEC_ANALOG
+++ b/baseconfig/arm/armv7/CONFIG_SND_SUN8I_CODEC_ANALOG
diff --git a/baseconfig/arm/armv7/CONFIG_SPI_PXA2XX b/baseconfig/arm/armv7/CONFIG_SPI_PXA2XX
deleted file mode 100644
index 266e686b8..000000000
--- a/baseconfig/arm/armv7/CONFIG_SPI_PXA2XX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SPI_PXA2XX is not set
diff --git a/baseconfig/arm/armv7/CONFIG_STRICT_KERNEL_RWX b/baseconfig/arm/armv7/CONFIG_STRICT_KERNEL_RWX
new file mode 100644
index 000000000..8c57b454a
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_STRICT_KERNEL_RWX
@@ -0,0 +1 @@
+CONFIG_STRICT_KERNEL_RWX=y
diff --git a/baseconfig/arm/armv7/CONFIG_STRICT_MODULE_RWX b/baseconfig/arm/armv7/CONFIG_STRICT_MODULE_RWX
new file mode 100644
index 000000000..2f1f100d7
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_STRICT_MODULE_RWX
@@ -0,0 +1 @@
+CONFIG_STRICT_MODULE_RWX=y
diff --git a/baseconfig/arm/armv7/CONFIG_SUN5I_CCU b/baseconfig/arm/armv7/CONFIG_SUN5I_CCU
new file mode 100644
index 000000000..7001f3dd4
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SUN5I_CCU
@@ -0,0 +1 @@
+CONFIG_SUN5I_CCU=y
diff --git a/baseconfig/arm/armv7/CONFIG_SUN6I_A31_CCU b/baseconfig/arm/armv7/CONFIG_SUN6I_A31_CCU
new file mode 100644
index 000000000..7bf2b1a47
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SUN6I_A31_CCU
@@ -0,0 +1 @@
+CONFIG_SUN6I_A31_CCU=y
diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_A23_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_A23_CCU
new file mode 100644
index 000000000..46d0fa87e
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SUN8I_A23_CCU
@@ -0,0 +1 @@
+CONFIG_SUN8I_A23_CCU=y
diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_A33_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_A33_CCU
new file mode 100644
index 000000000..907c87d04
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SUN8I_A33_CCU
@@ -0,0 +1 @@
+CONFIG_SUN8I_A33_CCU=y
diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_EMAC b/baseconfig/arm/armv7/CONFIG_SUN8I_EMAC
deleted file mode 100644
index 1b91ca143..000000000
--- a/baseconfig/arm/armv7/CONFIG_SUN8I_EMAC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SUN8I_EMAC=m
diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_V3S_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_V3S_CCU
new file mode 100644
index 000000000..030c5de49
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SUN8I_V3S_CCU
@@ -0,0 +1 @@
+CONFIG_SUN8I_V3S_CCU=y
diff --git a/baseconfig/arm/armv7/CONFIG_SUN9I_A80_CCU b/baseconfig/arm/armv7/CONFIG_SUN9I_A80_CCU
new file mode 100644
index 000000000..d203816e6
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_SUN9I_A80_CCU
@@ -0,0 +1 @@
+CONFIG_SUN9I_A80_CCU=y
diff --git a/baseconfig/arm/armv7/CONFIG_TEGRA_IVC b/baseconfig/arm/armv7/CONFIG_TEGRA_IVC
new file mode 100644
index 000000000..cdcacbec2
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_TEGRA_IVC
@@ -0,0 +1 @@
+CONFIG_TEGRA_IVC=y
diff --git a/baseconfig/arm/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS b/baseconfig/arm/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS
index 2602e3b97..65db40667 100644
--- a/baseconfig/arm/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS
+++ b/baseconfig/arm/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS
@@ -1 +1 @@
-CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=y
+CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_AHCI_ST b/baseconfig/arm/armv7/armv7/CONFIG_AHCI_ST
new file mode 100644
index 000000000..975ecd425
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_AHCI_ST
@@ -0,0 +1 @@
+CONFIG_AHCI_ST=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ARCH_STI b/baseconfig/arm/armv7/armv7/CONFIG_ARCH_STI
new file mode 100644
index 000000000..7a253ecf5
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ARCH_STI
@@ -0,0 +1 @@
+CONFIG_ARCH_STI=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ARM_STI_CPUFREQ b/baseconfig/arm/armv7/armv7/CONFIG_ARM_STI_CPUFREQ
new file mode 100644
index 000000000..0e26a51f0
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ARM_STI_CPUFREQ
@@ -0,0 +1 @@
+CONFIG_ARM_STI_CPUFREQ=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ b/baseconfig/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ
new file mode 100644
index 000000000..ca125040d
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ
@@ -0,0 +1 @@
+CONFIG_ARM_TI_CPUFREQ=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DWMAC_IPQ806X b/baseconfig/arm/armv7/armv7/CONFIG_DWMAC_IPQ806X
new file mode 100644
index 000000000..49177a6db
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_DWMAC_IPQ806X
@@ -0,0 +1 @@
+CONFIG_DWMAC_IPQ806X=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DWMAC_STI b/baseconfig/arm/armv7/armv7/CONFIG_DWMAC_STI
new file mode 100644
index 000000000..b0da5ddbc
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_DWMAC_STI
@@ -0,0 +1 @@
+CONFIG_DWMAC_STI=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_HW_RANDOM_ST b/baseconfig/arm/armv7/armv7/CONFIG_HW_RANDOM_ST
new file mode 100644
index 000000000..e908df516
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_HW_RANDOM_ST
@@ -0,0 +1 @@
+CONFIG_HW_RANDOM_ST=m
diff --git a/baseconfig/CONFIG_I2C_IMX_LPI2C b/baseconfig/arm/armv7/armv7/CONFIG_I2C_IMX_LPI2C
index 2d866d55f..2d866d55f 100644
--- a/baseconfig/CONFIG_I2C_IMX_LPI2C
+++ b/baseconfig/arm/armv7/armv7/CONFIG_I2C_IMX_LPI2C
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA b/baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA
deleted file mode 100644
index 59d18f0cb..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_I2C_PXA=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA_SLAVE b/baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA_SLAVE
deleted file mode 100644
index 7cc440320..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_I2C_PXA_SLAVE
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_I2C_PXA_SLAVE is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_I2C_ST b/baseconfig/arm/armv7/armv7/CONFIG_I2C_ST
new file mode 100644
index 000000000..dac85894e
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_I2C_ST
@@ -0,0 +1 @@
+CONFIG_I2C_ST=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_KEYBOARD_ST_KEYSCAN b/baseconfig/arm/armv7/armv7/CONFIG_KEYBOARD_ST_KEYSCAN
new file mode 100644
index 000000000..5ad9d0409
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_KEYBOARD_ST_KEYSCAN
@@ -0,0 +1 @@
+CONFIG_KEYBOARD_ST_KEYSCAN=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MMC_SDHCI_ST b/baseconfig/arm/armv7/armv7/CONFIG_MMC_SDHCI_ST
new file mode 100644
index 000000000..4a513a669
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_MMC_SDHCI_ST
@@ -0,0 +1 @@
+CONFIG_MMC_SDHCI_ST=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_OMAP_MUX_DEBUG b/baseconfig/arm/armv7/armv7/CONFIG_OMAP_MUX_DEBUG
deleted file mode 100644
index b61e5b603..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_OMAP_MUX_DEBUG
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_OMAP_MUX_DEBUG is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY28LP b/baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY28LP
new file mode 100644
index 000000000..c0b002711
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY28LP
@@ -0,0 +1 @@
+CONFIG_PHY_MIPHY28LP=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY365X b/baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY365X
new file mode 100644
index 000000000..b824f4d74
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_MIPHY365X
@@ -0,0 +1 @@
+# CONFIG_PHY_MIPHY365X is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH407_USB b/baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH407_USB
new file mode 100644
index 000000000..62d71519e
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH407_USB
@@ -0,0 +1 @@
+CONFIG_PHY_STIH407_USB=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH41X_USB b/baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH41X_USB
new file mode 100644
index 000000000..65f0bc9b7
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_PHY_STIH41X_USB
@@ -0,0 +1 @@
+# CONFIG_PHY_STIH41X_USB is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_ST b/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_ST
new file mode 100644
index 000000000..e14ee1ac1
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_ST
@@ -0,0 +1 @@
+CONFIG_POWER_RESET_ST=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_PWM_STI b/baseconfig/arm/armv7/armv7/CONFIG_PWM_STI
new file mode 100644
index 000000000..8aaff84cb
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_PWM_STI
@@ -0,0 +1 @@
+CONFIG_PWM_STI=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RC_ST b/baseconfig/arm/armv7/armv7/CONFIG_RC_ST
new file mode 100644
index 000000000..878dd631d
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_RC_ST
@@ -0,0 +1 @@
+CONFIG_RC_ST=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP
index 7679dbb81..479a6f546 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP
+++ b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP
@@ -1 +1 @@
-CONFIG_RTC_DRV_OMAP=y
+CONFIG_RTC_DRV_OMAP=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_ST_LPC b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_ST_LPC
new file mode 100644
index 000000000..548d6d6c9
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_ST_LPC
@@ -0,0 +1 @@
+CONFIG_RTC_DRV_ST_LPC=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI
new file mode 100644
index 000000000..af73428f9
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI
@@ -0,0 +1 @@
+CONFIG_SND_SOC_STI=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI_SAS b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI_SAS
new file mode 100644
index 000000000..99ae102fc
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_STI_SAS
@@ -0,0 +1 @@
+CONFIG_SND_SOC_STI_SAS=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA_WM8753 b/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA_WM8753
deleted file mode 100644
index d8bef6a31..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA_WM8753
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SND_SOC_TEGRA_WM8753=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH407 b/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH407
new file mode 100644
index 000000000..e1a2ca5a6
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH407
@@ -0,0 +1 @@
+CONFIG_SOC_STIH407=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH415 b/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH415
new file mode 100644
index 000000000..41502f339
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH415
@@ -0,0 +1 @@
+# CONFIG_SOC_STIH415 is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH416 b/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH416
new file mode 100644
index 000000000..9835ddfc1
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SOC_STIH416
@@ -0,0 +1 @@
+# CONFIG_SOC_STIH416 is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SPI_ST_SSC4 b/baseconfig/arm/armv7/armv7/CONFIG_SPI_ST_SSC4
new file mode 100644
index 000000000..87403eb57
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SPI_ST_SSC4
@@ -0,0 +1 @@
+CONFIG_SPI_ST_SSC4=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_STI_MBOX b/baseconfig/arm/armv7/armv7/CONFIG_STI_MBOX
new file mode 100644
index 000000000..60dd9ded6
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_STI_MBOX
@@ -0,0 +1 @@
+CONFIG_STI_MBOX=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ST_FDMA b/baseconfig/arm/armv7/armv7/CONFIG_ST_FDMA
new file mode 100644
index 000000000..73c09775d
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ST_FDMA
@@ -0,0 +1 @@
+CONFIG_ST_FDMA=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ST_LPC_WATCHDOG b/baseconfig/arm/armv7/armv7/CONFIG_ST_LPC_WATCHDOG
new file mode 100644
index 000000000..5e0a376a8
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ST_LPC_WATCHDOG
@@ -0,0 +1 @@
+CONFIG_ST_LPC_WATCHDOG=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ST_REMOTEPROC b/baseconfig/arm/armv7/armv7/CONFIG_ST_REMOTEPROC
new file mode 100644
index 000000000..73ad95532
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ST_REMOTEPROC
@@ -0,0 +1 @@
+CONFIG_ST_REMOTEPROC=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL b/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL
new file mode 100644
index 000000000..62b32ecb6
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL
@@ -0,0 +1 @@
+CONFIG_ST_THERMAL=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_MEMMAP b/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_MEMMAP
new file mode 100644
index 000000000..22f120d14
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_MEMMAP
@@ -0,0 +1 @@
+CONFIG_ST_THERMAL_MEMMAP=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_SYSCFG b/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_SYSCFG
new file mode 100644
index 000000000..865418b83
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_ST_THERMAL_SYSCFG
@@ -0,0 +1 @@
+# CONFIG_ST_THERMAL_SYSCFG is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS b/baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS
index 163365765..f2dd7ea1f 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS
+++ b/baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS
@@ -1 +1 @@
-CONFIG_TI_CPTS=m
+CONFIG_TI_CPTS=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS_MOD b/baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS_MOD
new file mode 100644
index 000000000..b81356e32
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_TI_CPTS_MOD
@@ -0,0 +1 @@
+CONFIG_TI_CPTS_MOD=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_DWC3_ST b/baseconfig/arm/armv7/armv7/CONFIG_USB_DWC3_ST
new file mode 100644
index 000000000..8c2b8b403
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_USB_DWC3_ST
@@ -0,0 +1 @@
+CONFIG_USB_DWC3_ST=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_EHCI_HCD_STI b/baseconfig/arm/armv7/armv7/CONFIG_USB_EHCI_HCD_STI
new file mode 100644
index 000000000..7f13c6b05
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_USB_EHCI_HCD_STI
@@ -0,0 +1 @@
+CONFIG_USB_EHCI_HCD_STI=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_STI b/baseconfig/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_STI
new file mode 100644
index 000000000..ac20563d8
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_STI
@@ -0,0 +1 @@
+CONFIG_USB_OHCI_HCD_STI=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_IMX_VDOA b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_IMX_VDOA
new file mode 100644
index 000000000..034c99572
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_IMX_VDOA
@@ -0,0 +1 @@
+CONFIG_VIDEO_IMX_VDOA=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS
deleted file mode 100644
index 65db40667..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_BDISP b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_BDISP
new file mode 100644
index 000000000..430657aeb
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_BDISP
@@ -0,0 +1 @@
+CONFIG_VIDEO_STI_BDISP=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA
new file mode 100644
index 000000000..8bb71fa96
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA
@@ -0,0 +1 @@
+CONFIG_VIDEO_STI_DELTA=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_DRIVER b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_DRIVER
new file mode 100644
index 000000000..0292f4baa
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_DRIVER
@@ -0,0 +1 @@
+CONFIG_VIDEO_STI_DELTA_DRIVER=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_MJPEG b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_MJPEG
new file mode 100644
index 000000000..f847894b9
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_DELTA_MJPEG
@@ -0,0 +1 @@
+CONFIG_VIDEO_STI_DELTA_MJPEG=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HDMI_CEC b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HDMI_CEC
new file mode 100644
index 000000000..a1d5539f7
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HDMI_CEC
@@ -0,0 +1 @@
+CONFIG_VIDEO_STI_HDMI_CEC=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA
new file mode 100644
index 000000000..7058385d2
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA
@@ -0,0 +1 @@
+CONFIG_VIDEO_STI_HVA=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA_DEBUGFS b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA_DEBUGFS
new file mode 100644
index 000000000..637bf6eb4
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_STI_HVA_DEBUGFS
@@ -0,0 +1 @@
+# CONFIG_VIDEO_STI_HVA_DEBUGFS is not set
diff --git a/baseconfig/arm/armv7/lpae/CONFIG_VDSO b/baseconfig/arm/armv7/lpae/CONFIG_VDSO
new file mode 100644
index 000000000..cab5ebafb
--- /dev/null
+++ b/baseconfig/arm/armv7/lpae/CONFIG_VDSO
@@ -0,0 +1 @@
+CONFIG_VDSO=y
diff --git a/baseconfig/powerpc/CONFIG_AGP b/baseconfig/powerpc/CONFIG_AGP
index ea543fee8..f7332ef53 100644
--- a/baseconfig/powerpc/CONFIG_AGP
+++ b/baseconfig/powerpc/CONFIG_AGP
@@ -1 +1 @@
-CONFIG_AGP=y
+# CONFIG_AGP is not set
diff --git a/baseconfig/powerpc/CONFIG_GENWQE b/baseconfig/powerpc/CONFIG_GENWQE
new file mode 100644
index 000000000..f1f996ac1
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_GENWQE
@@ -0,0 +1 @@
+CONFIG_GENWQE=m
diff --git a/baseconfig/powerpc/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY b/baseconfig/powerpc/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY
new file mode 100644
index 000000000..b14ba84fb
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY
@@ -0,0 +1 @@
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
diff --git a/baseconfig/powerpc/CONFIG_GPIO_SCH b/baseconfig/powerpc/CONFIG_GPIO_SCH
deleted file mode 100644
index 91a3ab850..000000000
--- a/baseconfig/powerpc/CONFIG_GPIO_SCH
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_GPIO_SCH is not set
diff --git a/baseconfig/powerpc/CONFIG_LEDS_TRIGGER_GPIO b/baseconfig/powerpc/CONFIG_LEDS_TRIGGER_GPIO
deleted file mode 100644
index c45d222a9..000000000
--- a/baseconfig/powerpc/CONFIG_LEDS_TRIGGER_GPIO
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_LEDS_TRIGGER_GPIO=m
diff --git a/baseconfig/powerpc/powerpc64/CONFIG_AGP b/baseconfig/powerpc/powerpc64/CONFIG_AGP
new file mode 100644
index 000000000..ea543fee8
--- /dev/null
+++ b/baseconfig/powerpc/powerpc64/CONFIG_AGP
@@ -0,0 +1 @@
+CONFIG_AGP=y
diff --git a/baseconfig/s390x/CONFIG_ALIM7101_WDT b/baseconfig/s390x/CONFIG_ALIM7101_WDT
new file mode 100644
index 000000000..b5ad49883
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ALIM7101_WDT
@@ -0,0 +1 @@
+# CONFIG_ALIM7101_WDT is not set
diff --git a/baseconfig/s390x/CONFIG_ALTERA_STAPL b/baseconfig/s390x/CONFIG_ALTERA_STAPL
new file mode 100644
index 000000000..f454734fa
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ALTERA_STAPL
@@ -0,0 +1 @@
+# CONFIG_ALTERA_STAPL is not set
diff --git a/baseconfig/s390x/CONFIG_ALTERA_TSE b/baseconfig/s390x/CONFIG_ALTERA_TSE
new file mode 100644
index 000000000..f803036e8
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ALTERA_TSE
@@ -0,0 +1 @@
+# CONFIG_ALTERA_TSE is not set
diff --git a/baseconfig/s390x/CONFIG_APDS9802ALS b/baseconfig/s390x/CONFIG_APDS9802ALS
new file mode 100644
index 000000000..c40795bfa
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_APDS9802ALS
@@ -0,0 +1 @@
+# CONFIG_APDS9802ALS is not set
diff --git a/baseconfig/s390x/CONFIG_BE2ISCSI b/baseconfig/s390x/CONFIG_BE2ISCSI
new file mode 100644
index 000000000..49fffd76e
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_BE2ISCSI
@@ -0,0 +1 @@
+# CONFIG_BE2ISCSI is not set
diff --git a/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA b/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA
new file mode 100644
index 000000000..2e6c723ac
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA
@@ -0,0 +1 @@
+# CONFIG_BLK_CPQ_CISS_DA is not set
diff --git a/baseconfig/s390x/CONFIG_BLK_DEV_3W_XXXX_RAID b/baseconfig/s390x/CONFIG_BLK_DEV_3W_XXXX_RAID
new file mode 100644
index 000000000..0fbe95ebc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_BLK_DEV_3W_XXXX_RAID
@@ -0,0 +1 @@
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
diff --git a/baseconfig/s390x/CONFIG_BLK_DEV_DAC960 b/baseconfig/s390x/CONFIG_BLK_DEV_DAC960
new file mode 100644
index 000000000..4cc1142cb
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_BLK_DEV_DAC960
@@ -0,0 +1 @@
+# CONFIG_BLK_DEV_DAC960 is not set
diff --git a/baseconfig/s390x/CONFIG_BLK_DEV_SKD b/baseconfig/s390x/CONFIG_BLK_DEV_SKD
new file mode 100644
index 000000000..cc05158fb
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_BLK_DEV_SKD
@@ -0,0 +1 @@
+# CONFIG_BLK_DEV_SKD is not set
diff --git a/baseconfig/s390x/CONFIG_BLK_DEV_SX8 b/baseconfig/s390x/CONFIG_BLK_DEV_SX8
new file mode 100644
index 000000000..76e0342ed
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_BLK_DEV_SX8
@@ -0,0 +1 @@
+# CONFIG_BLK_DEV_SX8 is not set
diff --git a/baseconfig/s390x/CONFIG_BLK_DEV_UMEM b/baseconfig/s390x/CONFIG_BLK_DEV_UMEM
new file mode 100644
index 000000000..6265b8162
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_BLK_DEV_UMEM
@@ -0,0 +1 @@
+# CONFIG_BLK_DEV_UMEM is not set
diff --git a/baseconfig/s390x/CONFIG_CAN b/baseconfig/s390x/CONFIG_CAN
new file mode 100644
index 000000000..37ca11c95
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_CAN
@@ -0,0 +1 @@
+# CONFIG_CAN is not set
diff --git a/baseconfig/s390x/CONFIG_CHARGER_SMB347 b/baseconfig/s390x/CONFIG_CHARGER_SMB347
new file mode 100644
index 000000000..d7b8424a8
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_CHARGER_SMB347
@@ -0,0 +1 @@
+# CONFIG_CHARGER_SMB347 is not set
diff --git a/baseconfig/s390x/CONFIG_DMADEVICES b/baseconfig/s390x/CONFIG_DMADEVICES
new file mode 100644
index 000000000..6596e80fc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_DMADEVICES
@@ -0,0 +1 @@
+# CONFIG_DMADEVICES is not set
diff --git a/baseconfig/s390x/CONFIG_DNET b/baseconfig/s390x/CONFIG_DNET
new file mode 100644
index 000000000..f8ac68f29
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_DNET
@@ -0,0 +1 @@
+# CONFIG_DNET is not set
diff --git a/baseconfig/s390x/CONFIG_DP83640_PHY b/baseconfig/s390x/CONFIG_DP83640_PHY
new file mode 100644
index 000000000..24a3a8f31
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_DP83640_PHY
@@ -0,0 +1 @@
+# CONFIG_DP83640_PHY is not set
diff --git a/baseconfig/s390x/CONFIG_ECHO b/baseconfig/s390x/CONFIG_ECHO
new file mode 100644
index 000000000..b84a07b07
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ECHO
@@ -0,0 +1 @@
+# CONFIG_ECHO is not set
diff --git a/baseconfig/s390x/CONFIG_ENCLOSURE_SERVICES b/baseconfig/s390x/CONFIG_ENCLOSURE_SERVICES
new file mode 100644
index 000000000..b463632aa
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ENCLOSURE_SERVICES
@@ -0,0 +1 @@
+# CONFIG_ENCLOSURE_SERVICES is not set
diff --git a/baseconfig/s390x/CONFIG_ETHOC b/baseconfig/s390x/CONFIG_ETHOC
new file mode 100644
index 000000000..15370ca02
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ETHOC
@@ -0,0 +1 @@
+# CONFIG_ETHOC is not set
diff --git a/baseconfig/s390x/CONFIG_FDDI b/baseconfig/s390x/CONFIG_FDDI
new file mode 100644
index 000000000..e13f968a5
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_FDDI
@@ -0,0 +1 @@
+# CONFIG_FDDI is not set
diff --git a/baseconfig/s390x/CONFIG_FEALNX b/baseconfig/s390x/CONFIG_FEALNX
new file mode 100644
index 000000000..4cca6a26d
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_FEALNX
@@ -0,0 +1 @@
+# CONFIG_FEALNX is not set
diff --git a/baseconfig/s390x/CONFIG_GENWQE b/baseconfig/s390x/CONFIG_GENWQE
new file mode 100644
index 000000000..f1f996ac1
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_GENWQE
@@ -0,0 +1 @@
+CONFIG_GENWQE=m
diff --git a/baseconfig/s390x/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY b/baseconfig/s390x/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY
new file mode 100644
index 000000000..b7d077774
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY
@@ -0,0 +1 @@
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
diff --git a/baseconfig/s390x/CONFIG_GPIOLIB b/baseconfig/s390x/CONFIG_GPIOLIB
new file mode 100644
index 000000000..6e685b2be
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_GPIOLIB
@@ -0,0 +1 @@
+# CONFIG_GPIOLIB is not set
diff --git a/baseconfig/s390x/CONFIG_HID b/baseconfig/s390x/CONFIG_HID
index 15d84482e..befe82811 100644
--- a/baseconfig/s390x/CONFIG_HID
+++ b/baseconfig/s390x/CONFIG_HID
@@ -1 +1 @@
-CONFIG_HID=m
+# CONFIG_HID is not set
diff --git a/baseconfig/s390x/CONFIG_HIPPI b/baseconfig/s390x/CONFIG_HIPPI
new file mode 100644
index 000000000..8f4d0983a
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_HIPPI
@@ -0,0 +1 @@
+# CONFIG_HIPPI is not set
diff --git a/baseconfig/s390x/CONFIG_HWMON b/baseconfig/s390x/CONFIG_HWMON
index d67f2b72f..65c3ac9f5 100644
--- a/baseconfig/s390x/CONFIG_HWMON
+++ b/baseconfig/s390x/CONFIG_HWMON
@@ -1 +1 @@
-CONFIG_HWMON=m
+# CONFIG_HWMON is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_ALGOBIT b/baseconfig/s390x/CONFIG_I2C_ALGOBIT
new file mode 100644
index 000000000..e374ebd3c
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_ALGOBIT
@@ -0,0 +1 @@
+# CONFIG_I2C_ALGOBIT is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_ALGOPCA b/baseconfig/s390x/CONFIG_I2C_ALGOPCA
new file mode 100644
index 000000000..545b72f08
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_ALGOPCA
@@ -0,0 +1 @@
+# CONFIG_I2C_ALGOPCA is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_ALGOPCF b/baseconfig/s390x/CONFIG_I2C_ALGOPCF
new file mode 100644
index 000000000..cdb960f9c
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_ALGOPCF
@@ -0,0 +1 @@
+# CONFIG_I2C_ALGOPCF is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_CHARDEV b/baseconfig/s390x/CONFIG_I2C_CHARDEV
new file mode 100644
index 000000000..78053559f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_CHARDEV
@@ -0,0 +1 @@
+# CONFIG_I2C_CHARDEV is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_COMPAT b/baseconfig/s390x/CONFIG_I2C_COMPAT
new file mode 100644
index 000000000..c82c4eb35
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_COMPAT
@@ -0,0 +1 @@
+# CONFIG_I2C_COMPAT is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_DESIGNWARE_PCI b/baseconfig/s390x/CONFIG_I2C_DESIGNWARE_PCI
new file mode 100644
index 000000000..7f371b4dc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_DESIGNWARE_PCI
@@ -0,0 +1 @@
+# CONFIG_I2C_DESIGNWARE_PCI is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_HID b/baseconfig/s390x/CONFIG_I2C_HID
new file mode 100644
index 000000000..30ca18a84
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_HID
@@ -0,0 +1 @@
+# CONFIG_I2C_HID is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_PCA_PLATFORM b/baseconfig/s390x/CONFIG_I2C_PCA_PLATFORM
new file mode 100644
index 000000000..e371d1a8e
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_PCA_PLATFORM
@@ -0,0 +1 @@
+# CONFIG_I2C_PCA_PLATFORM is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_SIMTEC b/baseconfig/s390x/CONFIG_I2C_SIMTEC
new file mode 100644
index 000000000..1fe634955
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_SIMTEC
@@ -0,0 +1 @@
+# CONFIG_I2C_SIMTEC is not set
diff --git a/baseconfig/s390x/CONFIG_I2C_SLAVE b/baseconfig/s390x/CONFIG_I2C_SLAVE
new file mode 100644
index 000000000..364b36792
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I2C_SLAVE
@@ -0,0 +1 @@
+# CONFIG_I2C_SLAVE is not set
diff --git a/baseconfig/s390x/CONFIG_I6300ESB_WDT b/baseconfig/s390x/CONFIG_I6300ESB_WDT
new file mode 100644
index 000000000..8c7bc0f55
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_I6300ESB_WDT
@@ -0,0 +1 @@
+# CONFIG_I6300ESB_WDT is not set
diff --git a/baseconfig/s390x/CONFIG_IIO b/baseconfig/s390x/CONFIG_IIO
new file mode 100644
index 000000000..80d289815
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_IIO
@@ -0,0 +1 @@
+# CONFIG_IIO is not set
diff --git a/baseconfig/s390x/CONFIG_INFINIBAND_CXGB3 b/baseconfig/s390x/CONFIG_INFINIBAND_CXGB3
new file mode 100644
index 000000000..f06c87360
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INFINIBAND_CXGB3
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_CXGB3 is not set
diff --git a/baseconfig/s390x/CONFIG_INFINIBAND_CXGB4 b/baseconfig/s390x/CONFIG_INFINIBAND_CXGB4
new file mode 100644
index 000000000..40ff06894
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INFINIBAND_CXGB4
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_CXGB4 is not set
diff --git a/baseconfig/s390x/CONFIG_INFINIBAND_MTHCA b/baseconfig/s390x/CONFIG_INFINIBAND_MTHCA
new file mode 100644
index 000000000..a134e36a3
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INFINIBAND_MTHCA
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_MTHCA is not set
diff --git a/baseconfig/s390x/CONFIG_INFINIBAND_NES b/baseconfig/s390x/CONFIG_INFINIBAND_NES
new file mode 100644
index 000000000..eee505590
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INFINIBAND_NES
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_NES is not set
diff --git a/baseconfig/s390x/CONFIG_INFINIBAND_OCRDMA b/baseconfig/s390x/CONFIG_INFINIBAND_OCRDMA
new file mode 100644
index 000000000..12ff35161
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INFINIBAND_OCRDMA
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_OCRDMA is not set
diff --git a/baseconfig/s390x/CONFIG_INFINIBAND_QIB b/baseconfig/s390x/CONFIG_INFINIBAND_QIB
new file mode 100644
index 000000000..591f4e962
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INFINIBAND_QIB
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_QIB is not set
diff --git a/baseconfig/s390x/CONFIG_INPUT_FF_MEMLESS b/baseconfig/s390x/CONFIG_INPUT_FF_MEMLESS
new file mode 100644
index 000000000..340af6632
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INPUT_FF_MEMLESS
@@ -0,0 +1 @@
+# CONFIG_INPUT_FF_MEMLESS is not set
diff --git a/baseconfig/s390x/CONFIG_INPUT_MOUSEDEV b/baseconfig/s390x/CONFIG_INPUT_MOUSEDEV
new file mode 100644
index 000000000..1afcd1e58
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INPUT_MOUSEDEV
@@ -0,0 +1 @@
+# CONFIG_INPUT_MOUSEDEV is not set
diff --git a/baseconfig/s390x/CONFIG_INPUT_POLLDEV b/baseconfig/s390x/CONFIG_INPUT_POLLDEV
new file mode 100644
index 000000000..3d67d3920
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INPUT_POLLDEV
@@ -0,0 +1 @@
+# CONFIG_INPUT_POLLDEV is not set
diff --git a/baseconfig/s390x/CONFIG_INPUT_SPARSEKMAP b/baseconfig/s390x/CONFIG_INPUT_SPARSEKMAP
new file mode 100644
index 000000000..dce3d03cc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_INPUT_SPARSEKMAP
@@ -0,0 +1 @@
+# CONFIG_INPUT_SPARSEKMAP is not set
diff --git a/baseconfig/s390x/CONFIG_IP1000 b/baseconfig/s390x/CONFIG_IP1000
new file mode 100644
index 000000000..179adb3cc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_IP1000
@@ -0,0 +1 @@
+# CONFIG_IP1000 is not set
diff --git a/baseconfig/s390x/CONFIG_ISL29003 b/baseconfig/s390x/CONFIG_ISL29003
new file mode 100644
index 000000000..266725319
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ISL29003
@@ -0,0 +1 @@
+# CONFIG_ISL29003 is not set
diff --git a/baseconfig/s390x/CONFIG_ISL29020 b/baseconfig/s390x/CONFIG_ISL29020
new file mode 100644
index 000000000..abf4d72ad
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_ISL29020
@@ -0,0 +1 @@
+# CONFIG_ISL29020 is not set
diff --git a/baseconfig/s390x/CONFIG_JME b/baseconfig/s390x/CONFIG_JME
new file mode 100644
index 000000000..63c5aeb65
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_JME
@@ -0,0 +1 @@
+# CONFIG_JME is not set
diff --git a/baseconfig/s390x/CONFIG_MEGARAID_LEGACY b/baseconfig/s390x/CONFIG_MEGARAID_LEGACY
new file mode 100644
index 000000000..3109de7c1
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MEGARAID_LEGACY
@@ -0,0 +1 @@
+# CONFIG_MEGARAID_LEGACY is not set
diff --git a/baseconfig/s390x/CONFIG_MEGARAID_NEWGEN b/baseconfig/s390x/CONFIG_MEGARAID_NEWGEN
new file mode 100644
index 000000000..a132e5f39
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MEGARAID_NEWGEN
@@ -0,0 +1 @@
+# CONFIG_MEGARAID_NEWGEN is not set
diff --git a/baseconfig/s390x/CONFIG_MEGARAID_SAS b/baseconfig/s390x/CONFIG_MEGARAID_SAS
new file mode 100644
index 000000000..94dae93a5
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MEGARAID_SAS
@@ -0,0 +1 @@
+# CONFIG_MEGARAID_SAS is not set
diff --git a/baseconfig/s390x/CONFIG_MFD_CORE b/baseconfig/s390x/CONFIG_MFD_CORE
index c8855e8a0..61d91aa6e 100644
--- a/baseconfig/s390x/CONFIG_MFD_CORE
+++ b/baseconfig/s390x/CONFIG_MFD_CORE
@@ -1 +1 @@
-CONFIG_MFD_CORE=m
+# CONFIG_MFD_CORE is not set
diff --git a/baseconfig/s390x/CONFIG_MLXSW_CORE b/baseconfig/s390x/CONFIG_MLXSW_CORE
new file mode 100644
index 000000000..31431cecf
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MLXSW_CORE
@@ -0,0 +1 @@
+# CONFIG_MLXSW_CORE is not set
diff --git a/baseconfig/s390x/CONFIG_NET_CADENCE b/baseconfig/s390x/CONFIG_NET_CADENCE
new file mode 100644
index 000000000..8d2c645c2
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_CADENCE
@@ -0,0 +1 @@
+# CONFIG_NET_CADENCE is not set
diff --git a/baseconfig/s390x/CONFIG_NET_PACKET_ENGINE b/baseconfig/s390x/CONFIG_NET_PACKET_ENGINE
new file mode 100644
index 000000000..3ed79f437
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_PACKET_ENGINE
@@ -0,0 +1 @@
+# CONFIG_NET_PACKET_ENGINE is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_3COM b/baseconfig/s390x/CONFIG_NET_VENDOR_3COM
new file mode 100644
index 000000000..ed6108c18
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_3COM
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_3COM is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_8390 b/baseconfig/s390x/CONFIG_NET_VENDOR_8390
new file mode 100644
index 000000000..d0b9f3592
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_8390
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_8390 is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_ADAPTEC b/baseconfig/s390x/CONFIG_NET_VENDOR_ADAPTEC
new file mode 100644
index 000000000..c96958732
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_ADAPTEC
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_ADAPTEC is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_AGERE b/baseconfig/s390x/CONFIG_NET_VENDOR_AGERE
new file mode 100644
index 000000000..3647271ce
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_AGERE
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_AGERE is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_ALTEON b/baseconfig/s390x/CONFIG_NET_VENDOR_ALTEON
new file mode 100644
index 000000000..88beca48e
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_ALTEON
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_ALTEON is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_AMAZON b/baseconfig/s390x/CONFIG_NET_VENDOR_AMAZON
new file mode 100644
index 000000000..707bb5a54
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_AMAZON
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_AMAZON is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_AMD b/baseconfig/s390x/CONFIG_NET_VENDOR_AMD
new file mode 100644
index 000000000..606381824
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_AMD
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_AMD is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_ATHEROS b/baseconfig/s390x/CONFIG_NET_VENDOR_ATHEROS
new file mode 100644
index 000000000..9a99ac7fc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_ATHEROS
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_ATHEROS is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_BROADCOM b/baseconfig/s390x/CONFIG_NET_VENDOR_BROADCOM
new file mode 100644
index 000000000..7cd9cb32f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_BROADCOM
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_BROADCOM is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_BROCADE b/baseconfig/s390x/CONFIG_NET_VENDOR_BROCADE
new file mode 100644
index 000000000..fed5e48a4
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_BROCADE
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_BROCADE is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_CHELSIO b/baseconfig/s390x/CONFIG_NET_VENDOR_CHELSIO
new file mode 100644
index 000000000..71374072a
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_CHELSIO
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_CHELSIO is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_CISCO b/baseconfig/s390x/CONFIG_NET_VENDOR_CISCO
new file mode 100644
index 000000000..7b4bdaa25
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_CISCO
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_CISCO is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_DEC b/baseconfig/s390x/CONFIG_NET_VENDOR_DEC
new file mode 100644
index 000000000..7c3a697fb
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_DEC
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_DEC is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_DLINK b/baseconfig/s390x/CONFIG_NET_VENDOR_DLINK
new file mode 100644
index 000000000..181e6a008
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_DLINK
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_DLINK is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_EMULEX b/baseconfig/s390x/CONFIG_NET_VENDOR_EMULEX
new file mode 100644
index 000000000..e48620d8d
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_EMULEX
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_EMULEX is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_EXAR b/baseconfig/s390x/CONFIG_NET_VENDOR_EXAR
new file mode 100644
index 000000000..90a6a31bb
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_EXAR
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_EXAR is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_HP b/baseconfig/s390x/CONFIG_NET_VENDOR_HP
new file mode 100644
index 000000000..30f3b4050
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_HP
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_HP is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_MICREL b/baseconfig/s390x/CONFIG_NET_VENDOR_MICREL
new file mode 100644
index 000000000..d359479e3
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_MICREL
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_MICREL is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_MYRI b/baseconfig/s390x/CONFIG_NET_VENDOR_MYRI
new file mode 100644
index 000000000..03d6c850f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_MYRI
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_MYRI is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_NETRONOME b/baseconfig/s390x/CONFIG_NET_VENDOR_NETRONOME
new file mode 100644
index 000000000..d08e277d0
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_NETRONOME
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_NETRONOME is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_NVIDIA b/baseconfig/s390x/CONFIG_NET_VENDOR_NVIDIA
new file mode 100644
index 000000000..27ee4d58c
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_NVIDIA
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_NVIDIA is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_OKI b/baseconfig/s390x/CONFIG_NET_VENDOR_OKI
new file mode 100644
index 000000000..e6b6bc896
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_OKI
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_OKI is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_QLOGIC b/baseconfig/s390x/CONFIG_NET_VENDOR_QLOGIC
new file mode 100644
index 000000000..700f6a5e2
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_QLOGIC
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_QLOGIC is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_RDC b/baseconfig/s390x/CONFIG_NET_VENDOR_RDC
new file mode 100644
index 000000000..4d84f77dc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_RDC
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_RDC is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_REALTEK b/baseconfig/s390x/CONFIG_NET_VENDOR_REALTEK
new file mode 100644
index 000000000..f21c4dcb0
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_REALTEK
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_REALTEK is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_ROCKER b/baseconfig/s390x/CONFIG_NET_VENDOR_ROCKER
new file mode 100644
index 000000000..ab286d286
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_ROCKER
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_ROCKER is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_SEEQ b/baseconfig/s390x/CONFIG_NET_VENDOR_SEEQ
new file mode 100644
index 000000000..6fe8245eb
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_SEEQ
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_SEEQ is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_SILAN b/baseconfig/s390x/CONFIG_NET_VENDOR_SILAN
new file mode 100644
index 000000000..07a129493
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_SILAN
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_SILAN is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_SIS b/baseconfig/s390x/CONFIG_NET_VENDOR_SIS
new file mode 100644
index 000000000..5ff2e309b
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_SIS
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_SIS is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_SMSC b/baseconfig/s390x/CONFIG_NET_VENDOR_SMSC
new file mode 100644
index 000000000..4e3e7aec8
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_SMSC
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_SMSC is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_STMICRO b/baseconfig/s390x/CONFIG_NET_VENDOR_STMICRO
new file mode 100644
index 000000000..040f835c6
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_STMICRO
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_STMICRO is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_SUN b/baseconfig/s390x/CONFIG_NET_VENDOR_SUN
new file mode 100644
index 000000000..a4ce77875
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_SUN
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_SUN is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_TEHUTI b/baseconfig/s390x/CONFIG_NET_VENDOR_TEHUTI
new file mode 100644
index 000000000..7c0c6ee39
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_TEHUTI
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_TEHUTI is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_TI b/baseconfig/s390x/CONFIG_NET_VENDOR_TI
new file mode 100644
index 000000000..a9395e8cc
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_TI
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_TI is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_WIZNET b/baseconfig/s390x/CONFIG_NET_VENDOR_WIZNET
new file mode 100644
index 000000000..08efd75ae
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_WIZNET
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_WIZNET is not set
diff --git a/baseconfig/s390x/CONFIG_NET_VENDOR_XIRCOM b/baseconfig/s390x/CONFIG_NET_VENDOR_XIRCOM
new file mode 100644
index 000000000..4c2e6f9fd
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NET_VENDOR_XIRCOM
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_XIRCOM is not set
diff --git a/baseconfig/s390x/CONFIG_NEW_LEDS b/baseconfig/s390x/CONFIG_NEW_LEDS
new file mode 100644
index 000000000..3d1c33f73
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NEW_LEDS
@@ -0,0 +1 @@
+# CONFIG_NEW_LEDS is not set
diff --git a/baseconfig/s390x/CONFIG_NFC b/baseconfig/s390x/CONFIG_NFC
new file mode 100644
index 000000000..73cd9395e
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NFC
@@ -0,0 +1 @@
+# CONFIG_NFC is not set
diff --git a/baseconfig/s390x/CONFIG_NOZOMI b/baseconfig/s390x/CONFIG_NOZOMI
new file mode 100644
index 000000000..35ef1afd5
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_NOZOMI
@@ -0,0 +1 @@
+# CONFIG_NOZOMI is not set
diff --git a/baseconfig/s390x/CONFIG_N_GSM b/baseconfig/s390x/CONFIG_N_GSM
new file mode 100644
index 000000000..e00ec7e28
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_N_GSM
@@ -0,0 +1 @@
+# CONFIG_N_GSM is not set
diff --git a/baseconfig/s390x/CONFIG_PCIPCWATCHDOG b/baseconfig/s390x/CONFIG_PCIPCWATCHDOG
new file mode 100644
index 000000000..717da169d
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_PCIPCWATCHDOG
@@ -0,0 +1 @@
+# CONFIG_PCIPCWATCHDOG is not set
diff --git a/baseconfig/s390x/CONFIG_PM_DEVFREQ b/baseconfig/s390x/CONFIG_PM_DEVFREQ
new file mode 100644
index 000000000..ada3814f1
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_PM_DEVFREQ
@@ -0,0 +1 @@
+# CONFIG_PM_DEVFREQ is not set
diff --git a/baseconfig/s390x/CONFIG_POWER_RESET b/baseconfig/s390x/CONFIG_POWER_RESET
new file mode 100644
index 000000000..ecb8fc786
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_POWER_RESET
@@ -0,0 +1 @@
+# CONFIG_POWER_RESET is not set
diff --git a/baseconfig/s390x/CONFIG_PWM b/baseconfig/s390x/CONFIG_PWM
new file mode 100644
index 000000000..650ee865d
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_PWM
@@ -0,0 +1 @@
+# CONFIG_PWM is not set
diff --git a/baseconfig/s390x/CONFIG_R3964 b/baseconfig/s390x/CONFIG_R3964
new file mode 100644
index 000000000..cca74303c
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_R3964
@@ -0,0 +1 @@
+# CONFIG_R3964 is not set
diff --git a/baseconfig/s390x/CONFIG_RESET_CONTROLLER b/baseconfig/s390x/CONFIG_RESET_CONTROLLER
new file mode 100644
index 000000000..0f97f3f23
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_RESET_CONTROLLER
@@ -0,0 +1 @@
+# CONFIG_RESET_CONTROLLER is not set
diff --git a/baseconfig/s390x/CONFIG_RFKILL b/baseconfig/s390x/CONFIG_RFKILL
new file mode 100644
index 000000000..f840ecd26
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_RFKILL
@@ -0,0 +1 @@
+# CONFIG_RFKILL is not set
diff --git a/baseconfig/s390x/CONFIG_RMI4_CORE b/baseconfig/s390x/CONFIG_RMI4_CORE
new file mode 100644
index 000000000..94b27f88c
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_RMI4_CORE
@@ -0,0 +1 @@
+# CONFIG_RMI4_CORE is not set
diff --git a/baseconfig/s390x/CONFIG_RMI4_F03 b/baseconfig/s390x/CONFIG_RMI4_F03
deleted file mode 100644
index effd70c36..000000000
--- a/baseconfig/s390x/CONFIG_RMI4_F03
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_RMI4_F03 is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_3W_9XXX b/baseconfig/s390x/CONFIG_SCSI_3W_9XXX
new file mode 100644
index 000000000..00de6f158
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_3W_9XXX
@@ -0,0 +1 @@
+# CONFIG_SCSI_3W_9XXX is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_3W_SAS b/baseconfig/s390x/CONFIG_SCSI_3W_SAS
new file mode 100644
index 000000000..06a89f918
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_3W_SAS
@@ -0,0 +1 @@
+# CONFIG_SCSI_3W_SAS is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_AACRAID b/baseconfig/s390x/CONFIG_SCSI_AACRAID
new file mode 100644
index 000000000..5686e689d
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_AACRAID
@@ -0,0 +1 @@
+# CONFIG_SCSI_AACRAID is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_ACARD b/baseconfig/s390x/CONFIG_SCSI_ACARD
new file mode 100644
index 000000000..d4002ddd0
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_ACARD
@@ -0,0 +1 @@
+# CONFIG_SCSI_ACARD is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_AIC79XX b/baseconfig/s390x/CONFIG_SCSI_AIC79XX
new file mode 100644
index 000000000..801fade38
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_AIC79XX
@@ -0,0 +1 @@
+# CONFIG_SCSI_AIC79XX is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_AIC7XXX b/baseconfig/s390x/CONFIG_SCSI_AIC7XXX
new file mode 100644
index 000000000..f305031d0
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_AIC7XXX
@@ -0,0 +1 @@
+# CONFIG_SCSI_AIC7XXX is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_AM53C974 b/baseconfig/s390x/CONFIG_SCSI_AM53C974
new file mode 100644
index 000000000..ce64864a7
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_AM53C974
@@ -0,0 +1 @@
+# CONFIG_SCSI_AM53C974 is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_ARCMSR b/baseconfig/s390x/CONFIG_SCSI_ARCMSR
new file mode 100644
index 000000000..425f89f74
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_ARCMSR
@@ -0,0 +1 @@
+# CONFIG_SCSI_ARCMSR is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_BFA_FC b/baseconfig/s390x/CONFIG_SCSI_BFA_FC
new file mode 100644
index 000000000..8568e1ec8
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_BFA_FC
@@ -0,0 +1 @@
+# CONFIG_SCSI_BFA_FC is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_BNX2X_FCOE b/baseconfig/s390x/CONFIG_SCSI_BNX2X_FCOE
new file mode 100644
index 000000000..5d36d085f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_BNX2X_FCOE
@@ -0,0 +1 @@
+# CONFIG_SCSI_BNX2X_FCOE is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_BNX2_ISCSI b/baseconfig/s390x/CONFIG_SCSI_BNX2_ISCSI
new file mode 100644
index 000000000..d400977df
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_BNX2_ISCSI
@@ -0,0 +1 @@
+# CONFIG_SCSI_BNX2_ISCSI is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_CHELSIO_FCOE b/baseconfig/s390x/CONFIG_SCSI_CHELSIO_FCOE
new file mode 100644
index 000000000..ad8110de9
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_CHELSIO_FCOE
@@ -0,0 +1 @@
+# CONFIG_SCSI_CHELSIO_FCOE is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_CXGB3_ISCSI b/baseconfig/s390x/CONFIG_SCSI_CXGB3_ISCSI
new file mode 100644
index 000000000..d1e803258
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_CXGB3_ISCSI
@@ -0,0 +1 @@
+# CONFIG_SCSI_CXGB3_ISCSI is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_CXGB4_ISCSI b/baseconfig/s390x/CONFIG_SCSI_CXGB4_ISCSI
new file mode 100644
index 000000000..27a4bb985
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_CXGB4_ISCSI
@@ -0,0 +1 @@
+# CONFIG_SCSI_CXGB4_ISCSI is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_DC395x b/baseconfig/s390x/CONFIG_SCSI_DC395x
new file mode 100644
index 000000000..04438189f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_DC395x
@@ -0,0 +1 @@
+# CONFIG_SCSI_DC395x is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_DH b/baseconfig/s390x/CONFIG_SCSI_DH
new file mode 100644
index 000000000..e5b8a74ea
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_DH
@@ -0,0 +1 @@
+# CONFIG_SCSI_DH is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_DMX3191D b/baseconfig/s390x/CONFIG_SCSI_DMX3191D
new file mode 100644
index 000000000..291b9196e
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_DMX3191D
@@ -0,0 +1 @@
+# CONFIG_SCSI_DMX3191D is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_ESAS2R b/baseconfig/s390x/CONFIG_SCSI_ESAS2R
new file mode 100644
index 000000000..190cb39db
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_ESAS2R
@@ -0,0 +1 @@
+# CONFIG_SCSI_ESAS2R is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_HPSA b/baseconfig/s390x/CONFIG_SCSI_HPSA
new file mode 100644
index 000000000..e2d1a299c
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_HPSA
@@ -0,0 +1 @@
+# CONFIG_SCSI_HPSA is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_HPTIOP b/baseconfig/s390x/CONFIG_SCSI_HPTIOP
new file mode 100644
index 000000000..e92d4a91f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_HPTIOP
@@ -0,0 +1 @@
+# CONFIG_SCSI_HPTIOP is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_INIA100 b/baseconfig/s390x/CONFIG_SCSI_INIA100
new file mode 100644
index 000000000..50f5dd42b
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_INIA100
@@ -0,0 +1 @@
+# CONFIG_SCSI_INIA100 is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_INITIO b/baseconfig/s390x/CONFIG_SCSI_INITIO
new file mode 100644
index 000000000..7abe6c2d9
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_INITIO
@@ -0,0 +1 @@
+# CONFIG_SCSI_INITIO is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_IPS b/baseconfig/s390x/CONFIG_SCSI_IPS
new file mode 100644
index 000000000..32e4abe67
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_IPS
@@ -0,0 +1 @@
+# CONFIG_SCSI_IPS is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_LPFC b/baseconfig/s390x/CONFIG_SCSI_LPFC
new file mode 100644
index 000000000..2bbb943d3
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_LPFC
@@ -0,0 +1 @@
+# CONFIG_SCSI_LPFC is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_MPT2SAS b/baseconfig/s390x/CONFIG_SCSI_MPT2SAS
new file mode 100644
index 000000000..aca3c70c3
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_MPT2SAS
@@ -0,0 +1 @@
+# CONFIG_SCSI_MPT2SAS is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_MPT3SAS b/baseconfig/s390x/CONFIG_SCSI_MPT3SAS
new file mode 100644
index 000000000..887255096
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_MPT3SAS
@@ -0,0 +1 @@
+# CONFIG_SCSI_MPT3SAS is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_MVSAS b/baseconfig/s390x/CONFIG_SCSI_MVSAS
new file mode 100644
index 000000000..dd17532f6
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_MVSAS
@@ -0,0 +1 @@
+# CONFIG_SCSI_MVSAS is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_MVUMI b/baseconfig/s390x/CONFIG_SCSI_MVUMI
new file mode 100644
index 000000000..a9b158a85
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_MVUMI
@@ -0,0 +1 @@
+# CONFIG_SCSI_MVUMI is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_PM8001 b/baseconfig/s390x/CONFIG_SCSI_PM8001
new file mode 100644
index 000000000..ddafafd46
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_PM8001
@@ -0,0 +1 @@
+# CONFIG_SCSI_PM8001 is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_PMCRAID b/baseconfig/s390x/CONFIG_SCSI_PMCRAID
new file mode 100644
index 000000000..91c798c43
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_PMCRAID
@@ -0,0 +1 @@
+# CONFIG_SCSI_PMCRAID is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_QLA_FC b/baseconfig/s390x/CONFIG_SCSI_QLA_FC
new file mode 100644
index 000000000..f8042094e
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_QLA_FC
@@ -0,0 +1 @@
+# CONFIG_SCSI_QLA_FC is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_QLA_ISCSI b/baseconfig/s390x/CONFIG_SCSI_QLA_ISCSI
new file mode 100644
index 000000000..14ad3035a
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_QLA_ISCSI
@@ -0,0 +1 @@
+# CONFIG_SCSI_QLA_ISCSI is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_QLOGIC_1280 b/baseconfig/s390x/CONFIG_SCSI_QLOGIC_1280
new file mode 100644
index 000000000..98bf0179a
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_QLOGIC_1280
@@ -0,0 +1 @@
+# CONFIG_SCSI_QLOGIC_1280 is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_SNIC b/baseconfig/s390x/CONFIG_SCSI_SNIC
new file mode 100644
index 000000000..5fa55adc9
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_SNIC
@@ -0,0 +1 @@
+# CONFIG_SCSI_SNIC is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_STEX b/baseconfig/s390x/CONFIG_SCSI_STEX
new file mode 100644
index 000000000..51be1d1eb
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_STEX
@@ -0,0 +1 @@
+# CONFIG_SCSI_STEX is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_SYM53C8XX_2 b/baseconfig/s390x/CONFIG_SCSI_SYM53C8XX_2
new file mode 100644
index 000000000..1cb592105
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_SYM53C8XX_2
@@ -0,0 +1 @@
+# CONFIG_SCSI_SYM53C8XX_2 is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_UFSHCD b/baseconfig/s390x/CONFIG_SCSI_UFSHCD
new file mode 100644
index 000000000..542c89fc7
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_UFSHCD
@@ -0,0 +1 @@
+# CONFIG_SCSI_UFSHCD is not set
diff --git a/baseconfig/s390x/CONFIG_SCSI_WD719X b/baseconfig/s390x/CONFIG_SCSI_WD719X
new file mode 100644
index 000000000..96273e303
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SCSI_WD719X
@@ -0,0 +1 @@
+# CONFIG_SCSI_WD719X is not set
diff --git a/baseconfig/s390x/CONFIG_SENSORS_APDS990X b/baseconfig/s390x/CONFIG_SENSORS_APDS990X
new file mode 100644
index 000000000..3aa738be2
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SENSORS_APDS990X
@@ -0,0 +1 @@
+# CONFIG_SENSORS_APDS990X is not set
diff --git a/baseconfig/s390x/CONFIG_SENSORS_BH1770 b/baseconfig/s390x/CONFIG_SENSORS_BH1770
new file mode 100644
index 000000000..f6d8bfafa
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SENSORS_BH1770
@@ -0,0 +1 @@
+# CONFIG_SENSORS_BH1770 is not set
diff --git a/baseconfig/s390x/CONFIG_SENSORS_LIS3LV02D b/baseconfig/s390x/CONFIG_SENSORS_LIS3LV02D
new file mode 100644
index 000000000..37a6cf6ac
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SENSORS_LIS3LV02D
@@ -0,0 +1 @@
+# CONFIG_SENSORS_LIS3LV02D is not set
diff --git a/baseconfig/s390x/CONFIG_SENSORS_LIS3_I2C b/baseconfig/s390x/CONFIG_SENSORS_LIS3_I2C
new file mode 100644
index 000000000..3086c9ed5
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SENSORS_LIS3_I2C
@@ -0,0 +1 @@
+# CONFIG_SENSORS_LIS3_I2C is not set
diff --git a/baseconfig/s390x/CONFIG_SENSORS_TSL2550 b/baseconfig/s390x/CONFIG_SENSORS_TSL2550
new file mode 100644
index 000000000..c2702cc2c
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SENSORS_TSL2550
@@ -0,0 +1 @@
+# CONFIG_SENSORS_TSL2550 is not set
diff --git a/baseconfig/s390x/CONFIG_SERIAL_NONSTANDARD b/baseconfig/s390x/CONFIG_SERIAL_NONSTANDARD
new file mode 100644
index 000000000..57688cbec
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SERIAL_NONSTANDARD
@@ -0,0 +1 @@
+# CONFIG_SERIAL_NONSTANDARD is not set
diff --git a/baseconfig/s390x/CONFIG_SERIO_LIBPS2 b/baseconfig/s390x/CONFIG_SERIO_LIBPS2
new file mode 100644
index 000000000..b4e848291
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SERIO_LIBPS2
@@ -0,0 +1 @@
+CONFIG_SERIO_LIBPS2=m
diff --git a/baseconfig/s390x/CONFIG_SERIO_SERPORT b/baseconfig/s390x/CONFIG_SERIO_SERPORT
new file mode 100644
index 000000000..80a07531f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SERIO_SERPORT
@@ -0,0 +1 @@
+CONFIG_SERIO_SERPORT=m
diff --git a/baseconfig/s390x/CONFIG_SFC b/baseconfig/s390x/CONFIG_SFC
new file mode 100644
index 000000000..fdc60b90f
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_SFC
@@ -0,0 +1 @@
+# CONFIG_SFC is not set
diff --git a/baseconfig/s390x/CONFIG_UIO b/baseconfig/s390x/CONFIG_UIO
new file mode 100644
index 000000000..566183b75
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_UIO
@@ -0,0 +1 @@
+# CONFIG_UIO is not set
diff --git a/baseconfig/s390x/CONFIG_WDTPCI b/baseconfig/s390x/CONFIG_WDTPCI
new file mode 100644
index 000000000..ca556694d
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_WDTPCI
@@ -0,0 +1 @@
+# CONFIG_WDTPCI is not set
diff --git a/baseconfig/s390x/CONFIG_XILLYBUS b/baseconfig/s390x/CONFIG_XILLYBUS
new file mode 100644
index 000000000..ce2448ee6
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_XILLYBUS
@@ -0,0 +1 @@
+# CONFIG_XILLYBUS is not set
diff --git a/baseconfig/CONFIG_CRYPTO_CRC32C_INTEL b/baseconfig/x86/CONFIG_CRYPTO_CRC32C_INTEL
index c500b4f55..c500b4f55 100644
--- a/baseconfig/CONFIG_CRYPTO_CRC32C_INTEL
+++ b/baseconfig/x86/CONFIG_CRYPTO_CRC32C_INTEL
diff --git a/baseconfig/CONFIG_DRM_I810 b/baseconfig/x86/CONFIG_DRM_I810
index 23cc8b602..23cc8b602 100644
--- a/baseconfig/CONFIG_DRM_I810
+++ b/baseconfig/x86/CONFIG_DRM_I810
diff --git a/baseconfig/CONFIG_DRM_I915 b/baseconfig/x86/CONFIG_DRM_I915
index 1034adf42..1034adf42 100644
--- a/baseconfig/CONFIG_DRM_I915
+++ b/baseconfig/x86/CONFIG_DRM_I915
diff --git a/baseconfig/CONFIG_DRM_I915_ALPHA_SUPPORT b/baseconfig/x86/CONFIG_DRM_I915_ALPHA_SUPPORT
index 49c76cb99..49c76cb99 100644
--- a/baseconfig/CONFIG_DRM_I915_ALPHA_SUPPORT
+++ b/baseconfig/x86/CONFIG_DRM_I915_ALPHA_SUPPORT
diff --git a/baseconfig/CONFIG_DRM_I915_CAPTURE_ERROR b/baseconfig/x86/CONFIG_DRM_I915_CAPTURE_ERROR
index d85c72035..d85c72035 100644
--- a/baseconfig/CONFIG_DRM_I915_CAPTURE_ERROR
+++ b/baseconfig/x86/CONFIG_DRM_I915_CAPTURE_ERROR
diff --git a/baseconfig/CONFIG_DRM_I915_COMPRESS_ERROR b/baseconfig/x86/CONFIG_DRM_I915_COMPRESS_ERROR
index 6d6c129f5..6d6c129f5 100644
--- a/baseconfig/CONFIG_DRM_I915_COMPRESS_ERROR
+++ b/baseconfig/x86/CONFIG_DRM_I915_COMPRESS_ERROR
diff --git a/baseconfig/CONFIG_DRM_I915_GVT b/baseconfig/x86/CONFIG_DRM_I915_GVT
index c6af3c3cc..c6af3c3cc 100644
--- a/baseconfig/CONFIG_DRM_I915_GVT
+++ b/baseconfig/x86/CONFIG_DRM_I915_GVT
diff --git a/baseconfig/CONFIG_DRM_I915_GVT_KVMGT b/baseconfig/x86/CONFIG_DRM_I915_GVT_KVMGT
index 016a41e8a..016a41e8a 100644
--- a/baseconfig/CONFIG_DRM_I915_GVT_KVMGT
+++ b/baseconfig/x86/CONFIG_DRM_I915_GVT_KVMGT
diff --git a/baseconfig/CONFIG_DRM_I915_USERPTR b/baseconfig/x86/CONFIG_DRM_I915_USERPTR
index 4f253abc1..4f253abc1 100644
--- a/baseconfig/CONFIG_DRM_I915_USERPTR
+++ b/baseconfig/x86/CONFIG_DRM_I915_USERPTR
diff --git a/baseconfig/CONFIG_DRM_VMWGFX b/baseconfig/x86/CONFIG_DRM_VMWGFX
index 12fe6b15f..12fe6b15f 100644
--- a/baseconfig/CONFIG_DRM_VMWGFX
+++ b/baseconfig/x86/CONFIG_DRM_VMWGFX
diff --git a/baseconfig/CONFIG_DRM_VMWGFX_FBCON b/baseconfig/x86/CONFIG_DRM_VMWGFX_FBCON
index cc51e115d..cc51e115d 100644
--- a/baseconfig/CONFIG_DRM_VMWGFX_FBCON
+++ b/baseconfig/x86/CONFIG_DRM_VMWGFX_FBCON
diff --git a/baseconfig/CONFIG_FB_ARC b/baseconfig/x86/CONFIG_FB_ARC
index 1d66b92f4..1d66b92f4 100644
--- a/baseconfig/CONFIG_FB_ARC
+++ b/baseconfig/x86/CONFIG_FB_ARC
diff --git a/baseconfig/CONFIG_FB_GEODE b/baseconfig/x86/CONFIG_FB_GEODE
index 3c78c584d..3c78c584d 100644
--- a/baseconfig/CONFIG_FB_GEODE
+++ b/baseconfig/x86/CONFIG_FB_GEODE
diff --git a/baseconfig/CONFIG_FB_HGA b/baseconfig/x86/CONFIG_FB_HGA
index 3c3142a1e..3c3142a1e 100644
--- a/baseconfig/CONFIG_FB_HGA
+++ b/baseconfig/x86/CONFIG_FB_HGA
diff --git a/baseconfig/CONFIG_FB_I810 b/baseconfig/x86/CONFIG_FB_I810
index 9ef6eca18..9ef6eca18 100644
--- a/baseconfig/CONFIG_FB_I810
+++ b/baseconfig/x86/CONFIG_FB_I810
diff --git a/baseconfig/CONFIG_FB_I810_GTF b/baseconfig/x86/CONFIG_FB_I810_GTF
index 71eee1202..71eee1202 100644
--- a/baseconfig/CONFIG_FB_I810_GTF
+++ b/baseconfig/x86/CONFIG_FB_I810_GTF
diff --git a/baseconfig/CONFIG_FB_I810_I2C b/baseconfig/x86/CONFIG_FB_I810_I2C
index 7cfe05740..7cfe05740 100644
--- a/baseconfig/CONFIG_FB_I810_I2C
+++ b/baseconfig/x86/CONFIG_FB_I810_I2C
diff --git a/baseconfig/CONFIG_FB_LE80578 b/baseconfig/x86/CONFIG_FB_LE80578
index 327044a84..327044a84 100644
--- a/baseconfig/CONFIG_FB_LE80578
+++ b/baseconfig/x86/CONFIG_FB_LE80578
diff --git a/baseconfig/CONFIG_FB_VGA16 b/baseconfig/x86/CONFIG_FB_VGA16
index 4fa33dfdc..4fa33dfdc 100644
--- a/baseconfig/CONFIG_FB_VGA16
+++ b/baseconfig/x86/CONFIG_FB_VGA16
diff --git a/baseconfig/CONFIG_FB_VIA b/baseconfig/x86/CONFIG_FB_VIA
index d34242c33..d34242c33 100644
--- a/baseconfig/CONFIG_FB_VIA
+++ b/baseconfig/x86/CONFIG_FB_VIA
diff --git a/baseconfig/CONFIG_FB_VIA_DIRECT_PROCFS b/baseconfig/x86/CONFIG_FB_VIA_DIRECT_PROCFS
index d2ff4278d..d2ff4278d 100644
--- a/baseconfig/CONFIG_FB_VIA_DIRECT_PROCFS
+++ b/baseconfig/x86/CONFIG_FB_VIA_DIRECT_PROCFS
diff --git a/baseconfig/CONFIG_GPIO_AMD8111 b/baseconfig/x86/CONFIG_GPIO_AMD8111
index 097d52ce1..097d52ce1 100644
--- a/baseconfig/CONFIG_GPIO_AMD8111
+++ b/baseconfig/x86/CONFIG_GPIO_AMD8111
diff --git a/baseconfig/CONFIG_GPIO_CS5535 b/baseconfig/x86/CONFIG_GPIO_CS5535
index 0566d4f6f..0566d4f6f 100644
--- a/baseconfig/CONFIG_GPIO_CS5535
+++ b/baseconfig/x86/CONFIG_GPIO_CS5535
diff --git a/baseconfig/CONFIG_GPIO_ML_IOH b/baseconfig/x86/CONFIG_GPIO_ML_IOH
index 9155cc76a..9155cc76a 100644
--- a/baseconfig/CONFIG_GPIO_ML_IOH
+++ b/baseconfig/x86/CONFIG_GPIO_ML_IOH
diff --git a/baseconfig/CONFIG_GPIO_SCH b/baseconfig/x86/CONFIG_GPIO_SCH
index 91a3ab850..91a3ab850 100644
--- a/baseconfig/CONFIG_GPIO_SCH
+++ b/baseconfig/x86/CONFIG_GPIO_SCH
diff --git a/baseconfig/CONFIG_GPIO_VX855 b/baseconfig/x86/CONFIG_GPIO_VX855
index 07b0ce3ab..07b0ce3ab 100644
--- a/baseconfig/CONFIG_GPIO_VX855
+++ b/baseconfig/x86/CONFIG_GPIO_VX855
diff --git a/baseconfig/x86/CONFIG_HDMI_LPE_AUDIO b/baseconfig/x86/CONFIG_HDMI_LPE_AUDIO
new file mode 100644
index 000000000..a901acc4d
--- /dev/null
+++ b/baseconfig/x86/CONFIG_HDMI_LPE_AUDIO
@@ -0,0 +1 @@
+CONFIG_HDMI_LPE_AUDIO=m
diff --git a/baseconfig/CONFIG_I2C_PXA b/baseconfig/x86/CONFIG_I2C_PXA
index 59d18f0cb..59d18f0cb 100644
--- a/baseconfig/CONFIG_I2C_PXA
+++ b/baseconfig/x86/CONFIG_I2C_PXA
diff --git a/baseconfig/CONFIG_I2C_PXA_SLAVE b/baseconfig/x86/CONFIG_I2C_PXA_SLAVE
index 7cc440320..7cc440320 100644
--- a/baseconfig/CONFIG_I2C_PXA_SLAVE
+++ b/baseconfig/x86/CONFIG_I2C_PXA_SLAVE
diff --git a/baseconfig/CONFIG_IB700_WDT b/baseconfig/x86/CONFIG_IB700_WDT
index 3cf068abd..3cf068abd 100644
--- a/baseconfig/CONFIG_IB700_WDT
+++ b/baseconfig/x86/CONFIG_IB700_WDT
diff --git a/baseconfig/CONFIG_IBMASR b/baseconfig/x86/CONFIG_IBMASR
index c5d4eb253..c5d4eb253 100644
--- a/baseconfig/CONFIG_IBMASR
+++ b/baseconfig/x86/CONFIG_IBMASR
diff --git a/baseconfig/CONFIG_INTEL_MENLOW b/baseconfig/x86/CONFIG_INTEL_MENLOW
index 342cd294b..342cd294b 100644
--- a/baseconfig/CONFIG_INTEL_MENLOW
+++ b/baseconfig/x86/CONFIG_INTEL_MENLOW
diff --git a/baseconfig/CONFIG_LEDS_INTEL_SS4200 b/baseconfig/x86/CONFIG_LEDS_INTEL_SS4200
index 9937903af..9937903af 100644
--- a/baseconfig/CONFIG_LEDS_INTEL_SS4200
+++ b/baseconfig/x86/CONFIG_LEDS_INTEL_SS4200
diff --git a/baseconfig/x86/CONFIG_MFD_AXP20X b/baseconfig/x86/CONFIG_MFD_AXP20X
deleted file mode 100644
index 1d658245a..000000000
--- a/baseconfig/x86/CONFIG_MFD_AXP20X
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_MFD_AXP20X is not set
diff --git a/baseconfig/x86/CONFIG_NIC7018_WDT b/baseconfig/x86/CONFIG_NIC7018_WDT
new file mode 100644
index 000000000..9bc7a462a
--- /dev/null
+++ b/baseconfig/x86/CONFIG_NIC7018_WDT
@@ -0,0 +1 @@
+CONFIG_NIC7018_WDT=m
diff --git a/baseconfig/x86/CONFIG_PINCTRL_GEMINILAKE b/baseconfig/x86/CONFIG_PINCTRL_GEMINILAKE
new file mode 100644
index 000000000..deb3b301d
--- /dev/null
+++ b/baseconfig/x86/CONFIG_PINCTRL_GEMINILAKE
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_GEMINILAKE is not set
diff --git a/baseconfig/x86/CONFIG_PTP_1588_CLOCK_KVM b/baseconfig/x86/CONFIG_PTP_1588_CLOCK_KVM
new file mode 100644
index 000000000..203f6b757
--- /dev/null
+++ b/baseconfig/x86/CONFIG_PTP_1588_CLOCK_KVM
@@ -0,0 +1 @@
+CONFIG_PTP_1588_CLOCK_KVM=m
diff --git a/baseconfig/x86/CONFIG_SERIAL_8250_LPSS b/baseconfig/x86/CONFIG_SERIAL_8250_LPSS
new file mode 100644
index 000000000..9d2401a32
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SERIAL_8250_LPSS
@@ -0,0 +1 @@
+CONFIG_SERIAL_8250_LPSS=m
diff --git a/baseconfig/x86/CONFIG_SILEAD_DMI b/baseconfig/x86/CONFIG_SILEAD_DMI
new file mode 100644
index 000000000..3fd766126
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SILEAD_DMI
@@ -0,0 +1 @@
+# CONFIG_SILEAD_DMI is not set
diff --git a/baseconfig/x86/CONFIG_SND_SOC_ES8328 b/baseconfig/x86/CONFIG_SND_SOC_ES8328
new file mode 100644
index 000000000..806f698e1
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SND_SOC_ES8328
@@ -0,0 +1 @@
+CONFIG_SND_SOC_ES8328=m
diff --git a/baseconfig/x86/CONFIG_SND_SOC_ES8328_I2C b/baseconfig/x86/CONFIG_SND_SOC_ES8328_I2C
new file mode 100644
index 000000000..9f90cb7e0
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SND_SOC_ES8328_I2C
@@ -0,0 +1 @@
+CONFIG_SND_SOC_ES8328_I2C=m
diff --git a/baseconfig/x86/CONFIG_SND_SOC_ES8328_SPI b/baseconfig/x86/CONFIG_SND_SOC_ES8328_SPI
new file mode 100644
index 000000000..0eb8f755c
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SND_SOC_ES8328_SPI
@@ -0,0 +1 @@
+CONFIG_SND_SOC_ES8328_SPI=m
diff --git a/baseconfig/x86/CONFIG_SND_SOC_NAU8540 b/baseconfig/x86/CONFIG_SND_SOC_NAU8540
new file mode 100644
index 000000000..9862521b0
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SND_SOC_NAU8540
@@ -0,0 +1 @@
+CONFIG_SND_SOC_NAU8540=m
diff --git a/baseconfig/x86/CONFIG_SND_SOC_TAS571X b/baseconfig/x86/CONFIG_SND_SOC_TAS571X
deleted file mode 100644
index 5a0960c0f..000000000
--- a/baseconfig/x86/CONFIG_SND_SOC_TAS571X
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_SOC_TAS571X is not set
diff --git a/baseconfig/x86/i686/CONFIG_SND_SOC_TS3A227E b/baseconfig/x86/CONFIG_SND_SOC_TS3A227E
index 1d3522517..1d3522517 100644
--- a/baseconfig/x86/i686/CONFIG_SND_SOC_TS3A227E
+++ b/baseconfig/x86/CONFIG_SND_SOC_TS3A227E
diff --git a/baseconfig/x86/CONFIG_SND_X86 b/baseconfig/x86/CONFIG_SND_X86
new file mode 100644
index 000000000..310c61afc
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SND_X86
@@ -0,0 +1 @@
+CONFIG_SND_X86=y
diff --git a/baseconfig/CONFIG_VMWARE_BALLOON b/baseconfig/x86/CONFIG_VMWARE_BALLOON
index 324a0cebc..324a0cebc 100644
--- a/baseconfig/CONFIG_VMWARE_BALLOON
+++ b/baseconfig/x86/CONFIG_VMWARE_BALLOON
diff --git a/baseconfig/CONFIG_VMWARE_PVSCSI b/baseconfig/x86/CONFIG_VMWARE_PVSCSI
index 3568e9188..3568e9188 100644
--- a/baseconfig/CONFIG_VMWARE_PVSCSI
+++ b/baseconfig/x86/CONFIG_VMWARE_PVSCSI
diff --git a/baseconfig/x86/x86_64/CONFIG_XEN_PVH b/baseconfig/x86/CONFIG_XEN_PVH
index 5f8642963..5f8642963 100644
--- a/baseconfig/x86/x86_64/CONFIG_XEN_PVH
+++ b/baseconfig/x86/CONFIG_XEN_PVH
diff --git a/baseconfig/x86/i686/CONFIG_I2C_PXA b/baseconfig/x86/i686/CONFIG_I2C_PXA
deleted file mode 100644
index 59d18f0cb..000000000
--- a/baseconfig/x86/i686/CONFIG_I2C_PXA
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_I2C_PXA=m
diff --git a/baseconfig/x86/i686/CONFIG_LEDS_INTEL_SS4200 b/baseconfig/x86/i686/CONFIG_LEDS_INTEL_SS4200
deleted file mode 100644
index 9937903af..000000000
--- a/baseconfig/x86/i686/CONFIG_LEDS_INTEL_SS4200
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_LEDS_INTEL_SS4200=m
diff --git a/baseconfig/x86/i686PAE/CONFIG_I2C_PXA b/baseconfig/x86/i686PAE/CONFIG_I2C_PXA
deleted file mode 100644
index 59d18f0cb..000000000
--- a/baseconfig/x86/i686PAE/CONFIG_I2C_PXA
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_I2C_PXA=m
diff --git a/baseconfig/x86/i686PAE/CONFIG_LEDS_INTEL_SS4200 b/baseconfig/x86/i686PAE/CONFIG_LEDS_INTEL_SS4200
deleted file mode 100644
index 9937903af..000000000
--- a/baseconfig/x86/i686PAE/CONFIG_LEDS_INTEL_SS4200
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_LEDS_INTEL_SS4200=m
diff --git a/baseconfig/x86/i686PAE/CONFIG_SND_SOC_TS3A227E b/baseconfig/x86/i686PAE/CONFIG_SND_SOC_TS3A227E
deleted file mode 100644
index 1d3522517..000000000
--- a/baseconfig/x86/i686PAE/CONFIG_SND_SOC_TS3A227E
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SND_SOC_TS3A227E=m
diff --git a/baseconfig/x86/x86_64/CONFIG_EDAC_PND2 b/baseconfig/x86/x86_64/CONFIG_EDAC_PND2
new file mode 100644
index 000000000..d0b59df60
--- /dev/null
+++ b/baseconfig/x86/x86_64/CONFIG_EDAC_PND2
@@ -0,0 +1 @@
+CONFIG_EDAC_PND2=m
diff --git a/baseconfig/x86/x86_64/CONFIG_INTEL_TURBO_MAX_3 b/baseconfig/x86/x86_64/CONFIG_INTEL_TURBO_MAX_3
new file mode 100644
index 000000000..9516cd8f6
--- /dev/null
+++ b/baseconfig/x86/x86_64/CONFIG_INTEL_TURBO_MAX_3
@@ -0,0 +1 @@
+CONFIG_INTEL_TURBO_MAX_3=y
diff --git a/baseconfig/x86/x86_64/CONFIG_SND_SOC_TS3A227E b/baseconfig/x86/x86_64/CONFIG_SND_SOC_TS3A227E
deleted file mode 100644
index 1d3522517..000000000
--- a/baseconfig/x86/x86_64/CONFIG_SND_SOC_TS3A227E
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SND_SOC_TS3A227E=m
diff --git a/bcm283x-VEC.patch b/bcm283x-VEC.patch
deleted file mode 100644
index f48105d8a..000000000
--- a/bcm283x-VEC.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 7713257febc1cdecdc55e1372ecef7263c58c03c Mon Sep 17 00:00:00 2001
-From: Boris Brezillon <boris.brezillon@free-electrons.com>
-Date: Fri, 2 Dec 2016 14:48:12 +0100
-Subject: [PATCH] ARM: bcm/dt: Add VEC node in bcm283x.dtsi
-
-Add the VEC (Video EnCoder) node definition in bcm283x.dtsi.
-
-Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- arch/arm/boot/dts/bcm283x.dtsi | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
-index 9a44da1..a3106aa 100644
---- a/arch/arm/boot/dts/bcm283x.dtsi
-+++ b/arch/arm/boot/dts/bcm283x.dtsi
-@@ -476,6 +476,14 @@
- status = "disabled";
- };
-
-+ vec: vec@7e806000 {
-+ compatible = "brcm,bcm2835-vec";
-+ reg = <0x7e806000 0x1000>;
-+ clocks = <&clocks BCM2835_CLOCK_VEC>;
-+ interrupts = <2 27>;
-+ status = "disabled";
-+ };
-+
- pixelvalve@7e807000 {
- compatible = "brcm,bcm2835-pixelvalve2";
- reg = <0x7e807000 0x100>;
-From 38742ca2b8b21bfc2a2cc24278b58485ff781644 Mon Sep 17 00:00:00 2001
-From: Boris Brezillon <boris.brezillon@free-electrons.com>
-Date: Fri, 2 Dec 2016 14:48:13 +0100
-Subject: [PATCH] ARM: bcm/dt: Enable the VEC IP on all RaspberryPi boards
-
-Enable the VEC IP on all RaspberryPi boards.
-
-Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- arch/arm/boot/dts/bcm2835-rpi.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-index 6ddf7dfe..38e6050 100644
---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
-+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-@@ -87,3 +87,8 @@
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
- status = "okay";
- };
-+
-+&vec {
-+ power-domains = <&power RPI_POWER_DOMAIN_VEC>;
-+ status = "okay";
-+};
diff --git a/bcm283x-hdmi-audio.patch b/bcm283x-hdmi-audio.patch
new file mode 100644
index 000000000..3ed3d2d34
--- /dev/null
+++ b/bcm283x-hdmi-audio.patch
@@ -0,0 +1,836 @@
+From bbcb8aacb871edf0360e808180162591b11c6a35 Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@free-electrons.com>
+Date: Mon, 27 Feb 2017 12:28:01 -0800
+Subject: [PATCH 1/3] dt-bindings: Document the dmas and dma-names properties
+ for VC4 HDMI
+
+These are optional, but necessary for HDMI audio support.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Acked-by: Rob Herring <robh@kernel.org>
+Link: http://patchwork.freedesktop.org/patch/msgid/20170227202803.12855-1-eric@anholt.net
+---
+ Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt b/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
+index 34c7fddcea39..ca02d3e4db91 100644
+--- a/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
++++ b/Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
+@@ -34,6 +34,9 @@ Optional properties for HDMI:
+ - hpd-gpios: The GPIO pin for HDMI hotplug detect (if it doesn't appear
+ as an interrupt/status bit in the HDMI controller
+ itself). See bindings/pinctrl/brcm,bcm2835-gpio.txt
++- dmas: Should contain one entry pointing to the DMA channel used to
++ transfer audio data
++- dma-names: Should contain "audio-rx"
+
+ Required properties for DPI:
+ - compatible: Should be "brcm,bcm2835-dpi"
+--
+2.12.0
+
+From 8e13e0d8ecf2202c707225a612d10c9534d849f7 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Mon, 27 Feb 2017 12:28:02 -0800
+Subject: [PATCH 2/3] drm/vc4: Add HDMI audio support
+
+The HDMI encoder IP embeds all needed blocks to output audio, with a
+custom DAI called MAI moving audio between the two parts of the HDMI
+core. This driver now exposes a sound card to let users stream audio
+to their display.
+
+Using the hdmi-codec driver has been considered here, but MAI meant
+having to significantly rework hdmi-codec, and it would have left
+little shared code with the I2S mode anyway.
+
+The encoder requires that the audio be SPDIF-formatted frames only,
+which alsalib will format-convert for us.
+
+This patch is the combined work of Eric Anholt (initial register setup
+with a separate dmaengine driver and using simple-audio-card) and
+Boris Brezillon (moving it all into HDMI, massive debug to get it
+actually working), and which Eric has the permission to release.
+
+v2: Drop "-audio" from sound card name, since that's already implied
+ (suggestion by Boris)
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
+Link: http://patchwork.freedesktop.org/patch/msgid/20170227202803.12855-2-eric@anholt.net
+---
+ drivers/gpu/drm/vc4/Kconfig | 4 +
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 494 ++++++++++++++++++++++++++++++++++++++++-
+ drivers/gpu/drm/vc4/vc4_regs.h | 107 ++++++++-
+ 3 files changed, 603 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig
+index e1517d07cb7d..973b4203c0b2 100644
+--- a/drivers/gpu/drm/vc4/Kconfig
++++ b/drivers/gpu/drm/vc4/Kconfig
+@@ -2,11 +2,15 @@ config DRM_VC4
+ tristate "Broadcom VC4 Graphics"
+ depends on ARCH_BCM2835 || COMPILE_TEST
+ depends on DRM
++ depends on SND && SND_SOC
+ depends on COMMON_CLK
+ select DRM_KMS_HELPER
+ select DRM_KMS_CMA_HELPER
+ select DRM_GEM_CMA_HELPER
+ select DRM_PANEL
++ select SND_PCM
++ select SND_PCM_ELD
++ select SND_SOC_GENERIC_DMAENGINE_PCM
+ select DRM_MIPI_DSI
+ help
+ Choose this option if you have a system that has a Broadcom
+diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
+index 93d5994f3a04..e4abf4bfc464 100644
+--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
+@@ -31,11 +31,27 @@
+ #include "linux/clk.h"
+ #include "linux/component.h"
+ #include "linux/i2c.h"
++#include "linux/of_address.h"
+ #include "linux/of_gpio.h"
+ #include "linux/of_platform.h"
++#include "linux/rational.h"
++#include "sound/dmaengine_pcm.h"
++#include "sound/pcm_drm_eld.h"
++#include "sound/pcm_params.h"
++#include "sound/soc.h"
+ #include "vc4_drv.h"
+ #include "vc4_regs.h"
+
++/* HDMI audio information */
++struct vc4_hdmi_audio {
++ struct snd_soc_card card;
++ struct snd_soc_dai_link link;
++ int samplerate;
++ int channels;
++ struct snd_dmaengine_dai_dma_data dma_data;
++ struct snd_pcm_substream *substream;
++};
++
+ /* General HDMI hardware state. */
+ struct vc4_hdmi {
+ struct platform_device *pdev;
+@@ -43,6 +59,8 @@ struct vc4_hdmi {
+ struct drm_encoder *encoder;
+ struct drm_connector *connector;
+
++ struct vc4_hdmi_audio audio;
++
+ struct i2c_adapter *ddc;
+ void __iomem *hdmicore_regs;
+ void __iomem *hd_regs;
+@@ -98,6 +116,10 @@ static const struct {
+ HDMI_REG(VC4_HDMI_SW_RESET_CONTROL),
+ HDMI_REG(VC4_HDMI_HOTPLUG_INT),
+ HDMI_REG(VC4_HDMI_HOTPLUG),
++ HDMI_REG(VC4_HDMI_MAI_CHANNEL_MAP),
++ HDMI_REG(VC4_HDMI_MAI_CONFIG),
++ HDMI_REG(VC4_HDMI_MAI_FORMAT),
++ HDMI_REG(VC4_HDMI_AUDIO_PACKET_CONFIG),
+ HDMI_REG(VC4_HDMI_RAM_PACKET_CONFIG),
+ HDMI_REG(VC4_HDMI_HORZA),
+ HDMI_REG(VC4_HDMI_HORZB),
+@@ -108,6 +130,7 @@ static const struct {
+ HDMI_REG(VC4_HDMI_VERTB0),
+ HDMI_REG(VC4_HDMI_VERTB1),
+ HDMI_REG(VC4_HDMI_TX_PHY_RESET_CTL),
++ HDMI_REG(VC4_HDMI_TX_PHY_CTL0),
+ };
+
+ static const struct {
+@@ -116,6 +139,9 @@ static const struct {
+ } hd_regs[] = {
+ HDMI_REG(VC4_HD_M_CTL),
+ HDMI_REG(VC4_HD_MAI_CTL),
++ HDMI_REG(VC4_HD_MAI_THR),
++ HDMI_REG(VC4_HD_MAI_FMT),
++ HDMI_REG(VC4_HD_MAI_SMP),
+ HDMI_REG(VC4_HD_VID_CTL),
+ HDMI_REG(VC4_HD_CSC_CTL),
+ HDMI_REG(VC4_HD_FRAME_COUNT),
+@@ -215,6 +241,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector)
+
+ drm_mode_connector_update_edid_property(connector, edid);
+ ret = drm_add_edid_modes(connector, edid);
++ drm_edid_to_eld(connector, edid);
+
+ return ret;
+ }
+@@ -300,7 +327,7 @@ static void vc4_hdmi_write_infoframe(struct drm_encoder *encoder,
+ struct drm_device *dev = encoder->dev;
+ struct vc4_dev *vc4 = to_vc4_dev(dev);
+ u32 packet_id = frame->any.type - 0x80;
+- u32 packet_reg = VC4_HDMI_GCP_0 + VC4_HDMI_PACKET_STRIDE * packet_id;
++ u32 packet_reg = VC4_HDMI_RAM_PACKET(packet_id);
+ uint8_t buffer[VC4_HDMI_PACKET_STRIDE];
+ ssize_t len, i;
+ int ret;
+@@ -381,6 +408,24 @@ static void vc4_hdmi_set_spd_infoframe(struct drm_encoder *encoder)
+ vc4_hdmi_write_infoframe(encoder, &frame);
+ }
+
++static void vc4_hdmi_set_audio_infoframe(struct drm_encoder *encoder)
++{
++ struct drm_device *drm = encoder->dev;
++ struct vc4_dev *vc4 = drm->dev_private;
++ struct vc4_hdmi *hdmi = vc4->hdmi;
++ union hdmi_infoframe frame;
++ int ret;
++
++ ret = hdmi_audio_infoframe_init(&frame.audio);
++
++ frame.audio.coding_type = HDMI_AUDIO_CODING_TYPE_STREAM;
++ frame.audio.sample_frequency = HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM;
++ frame.audio.sample_size = HDMI_AUDIO_SAMPLE_SIZE_STREAM;
++ frame.audio.channels = hdmi->audio.channels;
++
++ vc4_hdmi_write_infoframe(encoder, &frame);
++}
++
+ static void vc4_hdmi_set_infoframes(struct drm_encoder *encoder)
+ {
+ vc4_hdmi_set_avi_infoframe(encoder);
+@@ -589,6 +634,447 @@ static const struct drm_encoder_helper_funcs vc4_hdmi_encoder_helper_funcs = {
+ .enable = vc4_hdmi_encoder_enable,
+ };
+
++/* HDMI audio codec callbacks */
++static void vc4_hdmi_audio_set_mai_clock(struct vc4_hdmi *hdmi)
++{
++ struct drm_device *drm = hdmi->encoder->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(drm);
++ u32 hsm_clock = clk_get_rate(hdmi->hsm_clock);
++ unsigned long n, m;
++
++ rational_best_approximation(hsm_clock, hdmi->audio.samplerate,
++ VC4_HD_MAI_SMP_N_MASK >>
++ VC4_HD_MAI_SMP_N_SHIFT,
++ (VC4_HD_MAI_SMP_M_MASK >>
++ VC4_HD_MAI_SMP_M_SHIFT) + 1,
++ &n, &m);
++
++ HD_WRITE(VC4_HD_MAI_SMP,
++ VC4_SET_FIELD(n, VC4_HD_MAI_SMP_N) |
++ VC4_SET_FIELD(m - 1, VC4_HD_MAI_SMP_M));
++}
++
++static void vc4_hdmi_set_n_cts(struct vc4_hdmi *hdmi)
++{
++ struct drm_encoder *encoder = hdmi->encoder;
++ struct drm_crtc *crtc = encoder->crtc;
++ struct drm_device *drm = encoder->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(drm);
++ const struct drm_display_mode *mode = &crtc->state->adjusted_mode;
++ u32 samplerate = hdmi->audio.samplerate;
++ u32 n, cts;
++ u64 tmp;
++
++ n = 128 * samplerate / 1000;
++ tmp = (u64)(mode->clock * 1000) * n;
++ do_div(tmp, 128 * samplerate);
++ cts = tmp;
++
++ HDMI_WRITE(VC4_HDMI_CRP_CFG,
++ VC4_HDMI_CRP_CFG_EXTERNAL_CTS_EN |
++ VC4_SET_FIELD(n, VC4_HDMI_CRP_CFG_N));
++
++ /*
++ * We could get slightly more accurate clocks in some cases by
++ * providing a CTS_1 value. The two CTS values are alternated
++ * between based on the period fields
++ */
++ HDMI_WRITE(VC4_HDMI_CTS_0, cts);
++ HDMI_WRITE(VC4_HDMI_CTS_1, cts);
++}
++
++static inline struct vc4_hdmi *dai_to_hdmi(struct snd_soc_dai *dai)
++{
++ struct snd_soc_card *card = snd_soc_dai_get_drvdata(dai);
++
++ return snd_soc_card_get_drvdata(card);
++}
++
++static int vc4_hdmi_audio_startup(struct snd_pcm_substream *substream,
++ struct snd_soc_dai *dai)
++{
++ struct vc4_hdmi *hdmi = dai_to_hdmi(dai);
++ struct drm_encoder *encoder = hdmi->encoder;
++ struct vc4_dev *vc4 = to_vc4_dev(encoder->dev);
++ int ret;
++
++ if (hdmi->audio.substream && hdmi->audio.substream != substream)
++ return -EINVAL;
++
++ hdmi->audio.substream = substream;
++
++ /*
++ * If the HDMI encoder hasn't probed, or the encoder is
++ * currently in DVI mode, treat the codec dai as missing.
++ */
++ if (!encoder->crtc || !(HDMI_READ(VC4_HDMI_RAM_PACKET_CONFIG) &
++ VC4_HDMI_RAM_PACKET_ENABLE))
++ return -ENODEV;
++
++ ret = snd_pcm_hw_constraint_eld(substream->runtime,
++ hdmi->connector->eld);
++ if (ret)
++ return ret;
++
++ return 0;
++}
++
++static int vc4_hdmi_audio_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
++{
++ return 0;
++}
++
++static void vc4_hdmi_audio_reset(struct vc4_hdmi *hdmi)
++{
++ struct drm_encoder *encoder = hdmi->encoder;
++ struct drm_device *drm = encoder->dev;
++ struct device *dev = &hdmi->pdev->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(drm);
++ int ret;
++
++ ret = vc4_hdmi_stop_packet(encoder, HDMI_INFOFRAME_TYPE_AUDIO);
++ if (ret)
++ dev_err(dev, "Failed to stop audio infoframe: %d\n", ret);
++
++ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_RESET);
++ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_ERRORF);
++ HD_WRITE(VC4_HD_MAI_CTL, VC4_HD_MAI_CTL_FLUSH);
++}
++
++static void vc4_hdmi_audio_shutdown(struct snd_pcm_substream *substream,
++ struct snd_soc_dai *dai)
++{
++ struct vc4_hdmi *hdmi = dai_to_hdmi(dai);
++
++ if (substream != hdmi->audio.substream)
++ return;
++
++ vc4_hdmi_audio_reset(hdmi);
++
++ hdmi->audio.substream = NULL;
++}
++
++/* HDMI audio codec callbacks */
++static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params,
++ struct snd_soc_dai *dai)
++{
++ struct vc4_hdmi *hdmi = dai_to_hdmi(dai);
++ struct drm_encoder *encoder = hdmi->encoder;
++ struct drm_device *drm = encoder->dev;
++ struct device *dev = &hdmi->pdev->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(drm);
++ u32 audio_packet_config, channel_mask;
++ u32 channel_map, i;
++
++ if (substream != hdmi->audio.substream)
++ return -EINVAL;
++
++ dev_dbg(dev, "%s: %u Hz, %d bit, %d channels\n", __func__,
++ params_rate(params), params_width(params),
++ params_channels(params));
++
++ hdmi->audio.channels = params_channels(params);
++ hdmi->audio.samplerate = params_rate(params);
++
++ HD_WRITE(VC4_HD_MAI_CTL,
++ VC4_HD_MAI_CTL_RESET |
++ VC4_HD_MAI_CTL_FLUSH |
++ VC4_HD_MAI_CTL_DLATE |
++ VC4_HD_MAI_CTL_ERRORE |
++ VC4_HD_MAI_CTL_ERRORF);
++
++ vc4_hdmi_audio_set_mai_clock(hdmi);
++
++ audio_packet_config =
++ VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_SAMPLE_FLAT |
++ VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_INACTIVE_CHANNELS |
++ VC4_SET_FIELD(0xf, VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER);
++
++ channel_mask = GENMASK(hdmi->audio.channels - 1, 0);
++ audio_packet_config |= VC4_SET_FIELD(channel_mask,
++ VC4_HDMI_AUDIO_PACKET_CEA_MASK);
++
++ /* Set the MAI threshold. This logic mimics the firmware's. */
++ if (hdmi->audio.samplerate > 96000) {
++ HD_WRITE(VC4_HD_MAI_THR,
++ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQHIGH) |
++ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW));
++ } else if (hdmi->audio.samplerate > 48000) {
++ HD_WRITE(VC4_HD_MAI_THR,
++ VC4_SET_FIELD(0x14, VC4_HD_MAI_THR_DREQHIGH) |
++ VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW));
++ } else {
++ HD_WRITE(VC4_HD_MAI_THR,
++ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) |
++ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) |
++ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) |
++ VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW));
++ }
++
++ HDMI_WRITE(VC4_HDMI_MAI_CONFIG,
++ VC4_HDMI_MAI_CONFIG_BIT_REVERSE |
++ VC4_SET_FIELD(channel_mask, VC4_HDMI_MAI_CHANNEL_MASK));
++
++ channel_map = 0;
++ for (i = 0; i < 8; i++) {
++ if (channel_mask & BIT(i))
++ channel_map |= i << (3 * i);
++ }
++
++ HDMI_WRITE(VC4_HDMI_MAI_CHANNEL_MAP, channel_map);
++ HDMI_WRITE(VC4_HDMI_AUDIO_PACKET_CONFIG, audio_packet_config);
++ vc4_hdmi_set_n_cts(hdmi);
++
++ return 0;
++}
++
++static int vc4_hdmi_audio_trigger(struct snd_pcm_substream *substream, int cmd,
++ struct snd_soc_dai *dai)
++{
++ struct vc4_hdmi *hdmi = dai_to_hdmi(dai);
++ struct drm_encoder *encoder = hdmi->encoder;
++ struct drm_device *drm = encoder->dev;
++ struct vc4_dev *vc4 = to_vc4_dev(drm);
++
++ switch (cmd) {
++ case SNDRV_PCM_TRIGGER_START:
++ vc4_hdmi_set_audio_infoframe(encoder);
++ HDMI_WRITE(VC4_HDMI_TX_PHY_CTL0,
++ HDMI_READ(VC4_HDMI_TX_PHY_CTL0) &
++ ~VC4_HDMI_TX_PHY_RNG_PWRDN);
++ HD_WRITE(VC4_HD_MAI_CTL,
++ VC4_SET_FIELD(hdmi->audio.channels,
++ VC4_HD_MAI_CTL_CHNUM) |
++ VC4_HD_MAI_CTL_ENABLE);
++ break;
++ case SNDRV_PCM_TRIGGER_STOP:
++ HD_WRITE(VC4_HD_MAI_CTL,
++ VC4_HD_MAI_CTL_DLATE |
++ VC4_HD_MAI_CTL_ERRORE |
++ VC4_HD_MAI_CTL_ERRORF);
++ HDMI_WRITE(VC4_HDMI_TX_PHY_CTL0,
++ HDMI_READ(VC4_HDMI_TX_PHY_CTL0) |
++ VC4_HDMI_TX_PHY_RNG_PWRDN);
++ break;
++ default:
++ break;
++ }
++
++ return 0;
++}
++
++static inline struct vc4_hdmi *
++snd_component_to_hdmi(struct snd_soc_component *component)
++{
++ struct snd_soc_card *card = snd_soc_component_get_drvdata(component);
++
++ return snd_soc_card_get_drvdata(card);
++}
++
++static int vc4_hdmi_audio_eld_ctl_info(struct snd_kcontrol *kcontrol,
++ struct snd_ctl_elem_info *uinfo)
++{
++ struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
++ struct vc4_hdmi *hdmi = snd_component_to_hdmi(component);
++
++ uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES;
++ uinfo->count = sizeof(hdmi->connector->eld);
++
++ return 0;
++}
++
++static int vc4_hdmi_audio_eld_ctl_get(struct snd_kcontrol *kcontrol,
++ struct snd_ctl_elem_value *ucontrol)
++{
++ struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
++ struct vc4_hdmi *hdmi = snd_component_to_hdmi(component);
++
++ memcpy(ucontrol->value.bytes.data, hdmi->connector->eld,
++ sizeof(hdmi->connector->eld));
++
++ return 0;
++}
++
++static const struct snd_kcontrol_new vc4_hdmi_audio_controls[] = {
++ {
++ .access = SNDRV_CTL_ELEM_ACCESS_READ |
++ SNDRV_CTL_ELEM_ACCESS_VOLATILE,
++ .iface = SNDRV_CTL_ELEM_IFACE_PCM,
++ .name = "ELD",
++ .info = vc4_hdmi_audio_eld_ctl_info,
++ .get = vc4_hdmi_audio_eld_ctl_get,
++ },
++};
++
++static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = {
++ SND_SOC_DAPM_OUTPUT("TX"),
++};
++
++static const struct snd_soc_dapm_route vc4_hdmi_audio_routes[] = {
++ { "TX", NULL, "Playback" },
++};
++
++static const struct snd_soc_codec_driver vc4_hdmi_audio_codec_drv = {
++ .component_driver = {
++ .controls = vc4_hdmi_audio_controls,
++ .num_controls = ARRAY_SIZE(vc4_hdmi_audio_controls),
++ .dapm_widgets = vc4_hdmi_audio_widgets,
++ .num_dapm_widgets = ARRAY_SIZE(vc4_hdmi_audio_widgets),
++ .dapm_routes = vc4_hdmi_audio_routes,
++ .num_dapm_routes = ARRAY_SIZE(vc4_hdmi_audio_routes),
++ },
++};
++
++static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = {
++ .startup = vc4_hdmi_audio_startup,
++ .shutdown = vc4_hdmi_audio_shutdown,
++ .hw_params = vc4_hdmi_audio_hw_params,
++ .set_fmt = vc4_hdmi_audio_set_fmt,
++ .trigger = vc4_hdmi_audio_trigger,
++};
++
++static struct snd_soc_dai_driver vc4_hdmi_audio_codec_dai_drv = {
++ .name = "vc4-hdmi-hifi",
++ .playback = {
++ .stream_name = "Playback",
++ .channels_min = 2,
++ .channels_max = 8,
++ .rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
++ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
++ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
++ SNDRV_PCM_RATE_192000,
++ .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE,
++ },
++};
++
++static const struct snd_soc_component_driver vc4_hdmi_audio_cpu_dai_comp = {
++ .name = "vc4-hdmi-cpu-dai-component",
++};
++
++static int vc4_hdmi_audio_cpu_dai_probe(struct snd_soc_dai *dai)
++{
++ struct vc4_hdmi *hdmi = dai_to_hdmi(dai);
++
++ snd_soc_dai_init_dma_data(dai, &hdmi->audio.dma_data, NULL);
++
++ return 0;
++}
++
++static struct snd_soc_dai_driver vc4_hdmi_audio_cpu_dai_drv = {
++ .name = "vc4-hdmi-cpu-dai",
++ .probe = vc4_hdmi_audio_cpu_dai_probe,
++ .playback = {
++ .stream_name = "Playback",
++ .channels_min = 1,
++ .channels_max = 8,
++ .rates = SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |
++ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |
++ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |
++ SNDRV_PCM_RATE_192000,
++ .formats = SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE,
++ },
++ .ops = &vc4_hdmi_audio_dai_ops,
++};
++
++static const struct snd_dmaengine_pcm_config pcm_conf = {
++ .chan_names[SNDRV_PCM_STREAM_PLAYBACK] = "audio-rx",
++ .prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config,
++};
++
++static int vc4_hdmi_audio_init(struct vc4_hdmi *hdmi)
++{
++ struct snd_soc_dai_link *dai_link = &hdmi->audio.link;
++ struct snd_soc_card *card = &hdmi->audio.card;
++ struct device *dev = &hdmi->pdev->dev;
++ const __be32 *addr;
++ int ret;
++
++ if (!of_find_property(dev->of_node, "dmas", NULL)) {
++ dev_warn(dev,
++ "'dmas' DT property is missing, no HDMI audio\n");
++ return 0;
++ }
++
++ /*
++ * Get the physical address of VC4_HD_MAI_DATA. We need to retrieve
++ * the bus address specified in the DT, because the physical address
++ * (the one returned by platform_get_resource()) is not appropriate
++ * for DMA transfers.
++ * This VC/MMU should probably be exposed to avoid this kind of hacks.
++ */
++ addr = of_get_address(dev->of_node, 1, NULL, NULL);
++ hdmi->audio.dma_data.addr = be32_to_cpup(addr) + VC4_HD_MAI_DATA;
++ hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
++ hdmi->audio.dma_data.maxburst = 2;
++
++ ret = devm_snd_dmaengine_pcm_register(dev, &pcm_conf, 0);
++ if (ret) {
++ dev_err(dev, "Could not register PCM component: %d\n", ret);
++ return ret;
++ }
++
++ ret = devm_snd_soc_register_component(dev, &vc4_hdmi_audio_cpu_dai_comp,
++ &vc4_hdmi_audio_cpu_dai_drv, 1);
++ if (ret) {
++ dev_err(dev, "Could not register CPU DAI: %d\n", ret);
++ return ret;
++ }
++
++ /* register codec and codec dai */
++ ret = snd_soc_register_codec(dev, &vc4_hdmi_audio_codec_drv,
++ &vc4_hdmi_audio_codec_dai_drv, 1);
++ if (ret) {
++ dev_err(dev, "Could not register codec: %d\n", ret);
++ return ret;
++ }
++
++ dai_link->name = "MAI";
++ dai_link->stream_name = "MAI PCM";
++ dai_link->codec_dai_name = vc4_hdmi_audio_codec_dai_drv.name;
++ dai_link->cpu_dai_name = dev_name(dev);
++ dai_link->codec_name = dev_name(dev);
++ dai_link->platform_name = dev_name(dev);
++
++ card->dai_link = dai_link;
++ card->num_links = 1;
++ card->name = "vc4-hdmi";
++ card->dev = dev;
++
++ /*
++ * Be careful, snd_soc_register_card() calls dev_set_drvdata() and
++ * stores a pointer to the snd card object in dev->driver_data. This
++ * means we cannot use it for something else. The hdmi back-pointer is
++ * now stored in card->drvdata and should be retrieved with
++ * snd_soc_card_get_drvdata() if needed.
++ */
++ snd_soc_card_set_drvdata(card, hdmi);
++ ret = devm_snd_soc_register_card(dev, card);
++ if (ret) {
++ dev_err(dev, "Could not register sound card: %d\n", ret);
++ goto unregister_codec;
++ }
++
++ return 0;
++
++unregister_codec:
++ snd_soc_unregister_codec(dev);
++
++ return ret;
++}
++
++static void vc4_hdmi_audio_cleanup(struct vc4_hdmi *hdmi)
++{
++ struct device *dev = &hdmi->pdev->dev;
++
++ /*
++ * If drvdata is not set this means the audio card was not
++ * registered, just skip codec unregistration in this case.
++ */
++ if (dev_get_drvdata(dev))
++ snd_soc_unregister_codec(dev);
++}
++
+ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
+ {
+ struct platform_device *pdev = to_platform_device(dev);
+@@ -720,6 +1206,10 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data)
+ goto err_destroy_encoder;
+ }
+
++ ret = vc4_hdmi_audio_init(hdmi);
++ if (ret)
++ goto err_destroy_encoder;
++
+ return 0;
+
+ err_destroy_encoder:
+@@ -741,6 +1231,8 @@ static void vc4_hdmi_unbind(struct device *dev, struct device *master,
+ struct vc4_dev *vc4 = drm->dev_private;
+ struct vc4_hdmi *hdmi = vc4->hdmi;
+
++ vc4_hdmi_audio_cleanup(hdmi);
++
+ vc4_hdmi_connector_destroy(hdmi->connector);
+ vc4_hdmi_encoder_destroy(hdmi->encoder);
+
+diff --git a/drivers/gpu/drm/vc4/vc4_regs.h b/drivers/gpu/drm/vc4/vc4_regs.h
+index 385405a2df05..932093936178 100644
+--- a/drivers/gpu/drm/vc4/vc4_regs.h
++++ b/drivers/gpu/drm/vc4/vc4_regs.h
+@@ -446,11 +446,62 @@
+ #define VC4_HDMI_HOTPLUG 0x00c
+ # define VC4_HDMI_HOTPLUG_CONNECTED BIT(0)
+
++/* 3 bits per field, where each field maps from that corresponding MAI
++ * bus channel to the given HDMI channel.
++ */
++#define VC4_HDMI_MAI_CHANNEL_MAP 0x090
++
++#define VC4_HDMI_MAI_CONFIG 0x094
++# define VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE BIT(27)
++# define VC4_HDMI_MAI_CONFIG_BIT_REVERSE BIT(26)
++# define VC4_HDMI_MAI_CHANNEL_MASK_MASK VC4_MASK(15, 0)
++# define VC4_HDMI_MAI_CHANNEL_MASK_SHIFT 0
++
++/* Last received format word on the MAI bus. */
++#define VC4_HDMI_MAI_FORMAT 0x098
++
++#define VC4_HDMI_AUDIO_PACKET_CONFIG 0x09c
++# define VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_SAMPLE_FLAT BIT(29)
++# define VC4_HDMI_AUDIO_PACKET_ZERO_DATA_ON_INACTIVE_CHANNELS BIT(24)
++# define VC4_HDMI_AUDIO_PACKET_FORCE_SAMPLE_PRESENT BIT(19)
++# define VC4_HDMI_AUDIO_PACKET_FORCE_B_FRAME BIT(18)
++# define VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER_MASK VC4_MASK(13, 10)
++# define VC4_HDMI_AUDIO_PACKET_B_FRAME_IDENTIFIER_SHIFT 10
++/* If set, then multichannel, otherwise 2 channel. */
++# define VC4_HDMI_AUDIO_PACKET_AUDIO_LAYOUT BIT(9)
++/* If set, then AUDIO_LAYOUT overrides audio_cea_mask */
++# define VC4_HDMI_AUDIO_PACKET_FORCE_AUDIO_LAYOUT BIT(8)
++# define VC4_HDMI_AUDIO_PACKET_CEA_MASK_MASK VC4_MASK(7, 0)
++# define VC4_HDMI_AUDIO_PACKET_CEA_MASK_SHIFT 0
++
+ #define VC4_HDMI_RAM_PACKET_CONFIG 0x0a0
+ # define VC4_HDMI_RAM_PACKET_ENABLE BIT(16)
+
+ #define VC4_HDMI_RAM_PACKET_STATUS 0x0a4
+
++#define VC4_HDMI_CRP_CFG 0x0a8
++/* When set, the CTS_PERIOD counts based on MAI bus sync pulse instead
++ * of pixel clock.
++ */
++# define VC4_HDMI_CRP_USE_MAI_BUS_SYNC_FOR_CTS BIT(26)
++/* When set, no CRP packets will be sent. */
++# define VC4_HDMI_CRP_CFG_DISABLE BIT(25)
++/* If set, generates CTS values based on N, audio clock, and video
++ * clock. N must be divisible by 128.
++ */
++# define VC4_HDMI_CRP_CFG_EXTERNAL_CTS_EN BIT(24)
++# define VC4_HDMI_CRP_CFG_N_MASK VC4_MASK(19, 0)
++# define VC4_HDMI_CRP_CFG_N_SHIFT 0
++
++/* 20-bit fields containing CTS values to be transmitted if !EXTERNAL_CTS_EN */
++#define VC4_HDMI_CTS_0 0x0ac
++#define VC4_HDMI_CTS_1 0x0b0
++/* 20-bit fields containing number of clocks to send CTS0/1 before
++ * switching to the other one.
++ */
++#define VC4_HDMI_CTS_PERIOD_0 0x0b4
++#define VC4_HDMI_CTS_PERIOD_1 0x0b8
++
+ #define VC4_HDMI_HORZA 0x0c4
+ # define VC4_HDMI_HORZA_VPOS BIT(14)
+ # define VC4_HDMI_HORZA_HPOS BIT(13)
+@@ -512,7 +563,11 @@
+
+ #define VC4_HDMI_TX_PHY_RESET_CTL 0x2c0
+
+-#define VC4_HDMI_GCP_0 0x400
++#define VC4_HDMI_TX_PHY_CTL0 0x2c4
++# define VC4_HDMI_TX_PHY_RNG_PWRDN BIT(25)
++
++#define VC4_HDMI_GCP(x) (0x400 + ((x) * 0x4))
++#define VC4_HDMI_RAM_PACKET(x) (0x400 + ((x) * 0x24))
+ #define VC4_HDMI_PACKET_STRIDE 0x24
+
+ #define VC4_HD_M_CTL 0x00c
+@@ -522,6 +577,56 @@
+ # define VC4_HD_M_ENABLE BIT(0)
+
+ #define VC4_HD_MAI_CTL 0x014
++/* Set when audio stream is received at a slower rate than the
++ * sampling period, so MAI fifo goes empty. Write 1 to clear.
++ */
++# define VC4_HD_MAI_CTL_DLATE BIT(15)
++# define VC4_HD_MAI_CTL_BUSY BIT(14)
++# define VC4_HD_MAI_CTL_CHALIGN BIT(13)
++# define VC4_HD_MAI_CTL_WHOLSMP BIT(12)
++# define VC4_HD_MAI_CTL_FULL BIT(11)
++# define VC4_HD_MAI_CTL_EMPTY BIT(10)
++# define VC4_HD_MAI_CTL_FLUSH BIT(9)
++/* If set, MAI bus generates SPDIF (bit 31) parity instead of passing
++ * through.
++ */
++# define VC4_HD_MAI_CTL_PAREN BIT(8)
++# define VC4_HD_MAI_CTL_CHNUM_MASK VC4_MASK(7, 4)
++# define VC4_HD_MAI_CTL_CHNUM_SHIFT 4
++# define VC4_HD_MAI_CTL_ENABLE BIT(3)
++/* Underflow error status bit, write 1 to clear. */
++# define VC4_HD_MAI_CTL_ERRORE BIT(2)
++/* Overflow error status bit, write 1 to clear. */
++# define VC4_HD_MAI_CTL_ERRORF BIT(1)
++/* Single-shot reset bit. Read value is undefined. */
++# define VC4_HD_MAI_CTL_RESET BIT(0)
++
++#define VC4_HD_MAI_THR 0x018
++# define VC4_HD_MAI_THR_PANICHIGH_MASK VC4_MASK(29, 24)
++# define VC4_HD_MAI_THR_PANICHIGH_SHIFT 24
++# define VC4_HD_MAI_THR_PANICLOW_MASK VC4_MASK(21, 16)
++# define VC4_HD_MAI_THR_PANICLOW_SHIFT 16
++# define VC4_HD_MAI_THR_DREQHIGH_MASK VC4_MASK(13, 8)
++# define VC4_HD_MAI_THR_DREQHIGH_SHIFT 8
++# define VC4_HD_MAI_THR_DREQLOW_MASK VC4_MASK(5, 0)
++# define VC4_HD_MAI_THR_DREQLOW_SHIFT 0
++
++/* Format header to be placed on the MAI data. Unused. */
++#define VC4_HD_MAI_FMT 0x01c
++
++/* Register for DMAing in audio data to be transported over the MAI
++ * bus to the Falcon core.
++ */
++#define VC4_HD_MAI_DATA 0x020
++
++/* Divider from HDMI HSM clock to MAI serial clock. Sampling period
++ * converges to N / (M + 1) cycles.
++ */
++#define VC4_HD_MAI_SMP 0x02c
++# define VC4_HD_MAI_SMP_N_MASK VC4_MASK(31, 8)
++# define VC4_HD_MAI_SMP_N_SHIFT 8
++# define VC4_HD_MAI_SMP_M_MASK VC4_MASK(7, 0)
++# define VC4_HD_MAI_SMP_M_SHIFT 0
+
+ #define VC4_HD_VID_CTL 0x038
+ # define VC4_HD_VID_CTL_ENABLE BIT(31)
+--
+2.12.0
+
+From 25ea82d7f7c869ff81ff8e64d24c5c4a896239fe Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@free-electrons.com>
+Date: Mon, 27 Feb 2017 12:28:03 -0800
+Subject: [PATCH 3/3] ARM: dts: bcm283x: Add HDMI audio related properties
+
+Add the dmas and dma-names properties to support HDMI audio.
+
+Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ arch/arm/boot/dts/bcm283x.dtsi | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index a3106aa446c6..a31b0b303ddc 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -499,6 +499,8 @@
+ clocks = <&clocks BCM2835_PLLH_PIX>,
+ <&clocks BCM2835_CLOCK_HSM>;
+ clock-names = "pixel", "hdmi";
++ dmas = <&dma 17>;
++ dma-names = "audio-rx";
+ status = "disabled";
+ };
+
+--
+2.12.0
+
diff --git a/bcm283x-mmc-bcm2835.patch b/bcm283x-mmc-bcm2835.patch
new file mode 100644
index 000000000..f3b395db8
--- /dev/null
+++ b/bcm283x-mmc-bcm2835.patch
@@ -0,0 +1,1827 @@
+From patchwork Wed Mar 8 09:19:01 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,1/7] dt-bindings: Add binding for brcm,bcm2835-sdhost.
+From: Gerd Hoffmann <kraxel@redhat.com>
+X-Patchwork-Id: 9610673
+Message-Id: <1488964751-22763-2-git-send-email-kraxel@redhat.com>
+To: linux-rpi-kernel@lists.infradead.org
+Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org,
+ f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org,
+ rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com,
+ linux@armlinux.org.uk,
+ linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org,
+ bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>,
+ catalin.marinas@arm.com, linux-mmc@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Wed, 8 Mar 2017 10:19:01 +0100
+
+From: Eric Anholt <eric@anholt.net>
+
+This is the other SD controller on the platform, which can be swapped
+to the role of SD card host using pin muxing.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Acked-by: Rob Herring <robh@kernel.org>
+---
+ .../bindings/mmc/brcm,bcm2835-sdhost.txt | 23 ++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt
+
+diff --git a/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt
+new file mode 100644
+index 0000000..d876580
+--- /dev/null
++++ b/Documentation/devicetree/bindings/mmc/brcm,bcm2835-sdhost.txt
+@@ -0,0 +1,23 @@
++Broadcom BCM2835 SDHOST controller
++
++This file documents differences between the core properties described
++by mmc.txt and the properties that represent the BCM2835 controller.
++
++Required properties:
++- compatible: Should be "brcm,bcm2835-sdhost".
++- clocks: The clock feeding the SDHOST controller.
++
++Optional properties:
++- dmas: DMA channel for read and write.
++ See Documentation/devicetree/bindings/dma/dma.txt for details
++
++Example:
++
++sdhost: mmc@7e202000 {
++ compatible = "brcm,bcm2835-sdhost";
++ reg = <0x7e202000 0x100>;
++ interrupts = <2 24>;
++ clocks = <&clocks BCM2835_CLOCK_VPU>;
++ dmas = <&dma 13>;
++ dma-names = "rx-tx";
++};
+From patchwork Wed Mar 8 09:19:03 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,2/7] mmc: bcm2835: Add new driver for the sdhost controller.
+From: Gerd Hoffmann <kraxel@redhat.com>
+X-Patchwork-Id: 9610701
+Message-Id: <1488964751-22763-4-git-send-email-kraxel@redhat.com>
+To: linux-rpi-kernel@lists.infradead.org
+Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org,
+ f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org,
+ rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com,
+ linux@armlinux.org.uk,
+ linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org,
+ bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>,
+ catalin.marinas@arm.com, linux-mmc@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Wed, 8 Mar 2017 10:19:03 +0100
+
+From: Eric Anholt <eric@anholt.net>
+
+The 2835 has two SD controllers: The Arasan sdhci controller (supported
+by the iproc driver) and a custom sdhost controller. This patch adds a
+driver for the latter.
+
+The sdhci controller supports both sdcard and sdio. The sdhost
+controller supports the sdcard only, but has better performance. Also
+note that the rpi3 has sdio wifi, so driving the sdcard with the sdhost
+controller allows to use the sdhci controller for wifi support.
+
+The configuration is done by devicetree via pin muxing. Both SD
+controller are available on the same pins (2 pin groups = pin 22 to 27 +
+pin 48 to 53). So it's possible to use both SD controllers at the same
+time with different pin groups.
+
+The code was originally written by Phil Elwell in the downstream
+Rasbperry Pi tree. In preparation for the upstream merge it was
+cleaned up and the code base was moderized by Eric Anholt, Stefan
+Wahren and Gerd Hoffmann.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+---
+ drivers/mmc/host/Kconfig | 14 +
+ drivers/mmc/host/Makefile | 1 +
+ drivers/mmc/host/bcm2835.c | 1465 ++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 1480 insertions(+)
+ create mode 100644 drivers/mmc/host/bcm2835.c
+
+diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
+index f08691a..a638cd0 100644
+--- a/drivers/mmc/host/Kconfig
++++ b/drivers/mmc/host/Kconfig
+@@ -799,6 +799,20 @@ config MMC_TOSHIBA_PCI
+ depends on PCI
+ help
+
++config MMC_BCM2835
++ tristate "Broadcom BCM2835 SDHOST MMC Controller support"
++ depends on ARCH_BCM2835 || COMPILE_TEST
++ depends on HAS_DMA
++ help
++ This selects the BCM2835 SDHOST MMC controller. If you have
++ a BCM2835 platform with SD or MMC devices, say Y or M here.
++
++ Note that the BCM2835 has two SD controllers: The Arasan
++ sdhci controller (supported by MMC_SDHCI_IPROC) and a custom
++ sdhost controller (supported by this driver).
++
++ If unsure, say N.
++
+ config MMC_MTK
+ tristate "MediaTek SD/MMC Card Interface support"
+ depends on HAS_DMA
+diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
+index 6d548c4..bc2c2e2 100644
+--- a/drivers/mmc/host/Makefile
++++ b/drivers/mmc/host/Makefile
+@@ -59,6 +59,7 @@ obj-$(CONFIG_MMC_MOXART) += moxart-mmc.o
+ obj-$(CONFIG_MMC_SUNXI) += sunxi-mmc.o
+ obj-$(CONFIG_MMC_USDHI6ROL0) += usdhi6rol0.o
+ obj-$(CONFIG_MMC_TOSHIBA_PCI) += toshsd.o
++obj-$(CONFIG_MMC_BCM2835) += bcm2835.o
+
+ obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o
+ obj-$(CONFIG_MMC_REALTEK_USB) += rtsx_usb_sdmmc.o
+diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
+new file mode 100644
+index 0000000..7d1b0db7
+--- /dev/null
++++ b/drivers/mmc/host/bcm2835.c
+@@ -0,0 +1,1465 @@
++/*
++ * bcm2835 sdhost driver.
++ *
++ * The 2835 has two SD controllers: The Arasan sdhci controller
++ * (supported by the iproc driver) and a custom sdhost controller
++ * (supported by this driver).
++ *
++ * The sdhci controller supports both sdcard and sdio. The sdhost
++ * controller supports the sdcard only, but has better performance.
++ * Also note that the rpi3 has sdio wifi, so driving the sdcard with
++ * the sdhost controller allows to use the sdhci controller for wifi
++ * support.
++ *
++ * The configuration is done by devicetree via pin muxing. Both
++ * SD controller are available on the same pins (2 pin groups = pin 22
++ * to 27 + pin 48 to 53). So it's possible to use both SD controllers
++ * at the same time with different pin groups.
++ *
++ * Author: Phil Elwell <phil@raspberrypi.org>
++ * Copyright (C) 2015-2016 Raspberry Pi (Trading) Ltd.
++ *
++ * Based on
++ * mmc-bcm2835.c by Gellert Weisz
++ * which is, in turn, based on
++ * sdhci-bcm2708.c by Broadcom
++ * sdhci-bcm2835.c by Stephen Warren and Oleksandr Tymoshenko
++ * sdhci.c and sdhci-pci.c by Pierre Ossman
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms and conditions of the GNU General Public License,
++ * version 2, as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
++ * more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++#include <linux/clk.h>
++#include <linux/delay.h>
++#include <linux/device.h>
++#include <linux/dmaengine.h>
++#include <linux/dma-mapping.h>
++#include <linux/err.h>
++#include <linux/highmem.h>
++#include <linux/interrupt.h>
++#include <linux/io.h>
++#include <linux/iopoll.h>
++#include <linux/module.h>
++#include <linux/of_address.h>
++#include <linux/of_irq.h>
++#include <linux/platform_device.h>
++#include <linux/scatterlist.h>
++#include <linux/time.h>
++#include <linux/workqueue.h>
++
++#include <linux/mmc/host.h>
++#include <linux/mmc/mmc.h>
++#include <linux/mmc/sd.h>
++
++#define SDCMD 0x00 /* Command to SD card - 16 R/W */
++#define SDARG 0x04 /* Argument to SD card - 32 R/W */
++#define SDTOUT 0x08 /* Start value for timeout counter - 32 R/W */
++#define SDCDIV 0x0c /* Start value for clock divider - 11 R/W */
++#define SDRSP0 0x10 /* SD card response (31:0) - 32 R */
++#define SDRSP1 0x14 /* SD card response (63:32) - 32 R */
++#define SDRSP2 0x18 /* SD card response (95:64) - 32 R */
++#define SDRSP3 0x1c /* SD card response (127:96) - 32 R */
++#define SDHSTS 0x20 /* SD host status - 11 R/W */
++#define SDVDD 0x30 /* SD card power control - 1 R/W */
++#define SDEDM 0x34 /* Emergency Debug Mode - 13 R/W */
++#define SDHCFG 0x38 /* Host configuration - 2 R/W */
++#define SDHBCT 0x3c /* Host byte count (debug) - 32 R/W */
++#define SDDATA 0x40 /* Data to/from SD card - 32 R/W */
++#define SDHBLC 0x50 /* Host block count (SDIO/SDHC) - 9 R/W */
++
++#define SDCMD_NEW_FLAG 0x8000
++#define SDCMD_FAIL_FLAG 0x4000
++#define SDCMD_BUSYWAIT 0x800
++#define SDCMD_NO_RESPONSE 0x400
++#define SDCMD_LONG_RESPONSE 0x200
++#define SDCMD_WRITE_CMD 0x80
++#define SDCMD_READ_CMD 0x40
++#define SDCMD_CMD_MASK 0x3f
++
++#define SDCDIV_MAX_CDIV 0x7ff
++
++#define SDHSTS_BUSY_IRPT 0x400
++#define SDHSTS_BLOCK_IRPT 0x200
++#define SDHSTS_SDIO_IRPT 0x100
++#define SDHSTS_REW_TIME_OUT 0x80
++#define SDHSTS_CMD_TIME_OUT 0x40
++#define SDHSTS_CRC16_ERROR 0x20
++#define SDHSTS_CRC7_ERROR 0x10
++#define SDHSTS_FIFO_ERROR 0x08
++/* Reserved */
++/* Reserved */
++#define SDHSTS_DATA_FLAG 0x01
++
++#define SDHSTS_TRANSFER_ERROR_MASK (SDHSTS_CRC7_ERROR | \
++ SDHSTS_CRC16_ERROR | \
++ SDHSTS_REW_TIME_OUT | \
++ SDHSTS_FIFO_ERROR)
++
++#define SDHSTS_ERROR_MASK (SDHSTS_CMD_TIME_OUT | \
++ SDHSTS_TRANSFER_ERROR_MASK)
++
++#define SDHCFG_BUSY_IRPT_EN BIT(10)
++#define SDHCFG_BLOCK_IRPT_EN BIT(8)
++#define SDHCFG_SDIO_IRPT_EN BIT(5)
++#define SDHCFG_DATA_IRPT_EN BIT(4)
++#define SDHCFG_SLOW_CARD BIT(3)
++#define SDHCFG_WIDE_EXT_BUS BIT(2)
++#define SDHCFG_WIDE_INT_BUS BIT(1)
++#define SDHCFG_REL_CMD_LINE BIT(0)
++
++#define SDVDD_POWER_OFF 0
++#define SDVDD_POWER_ON 1
++
++#define SDEDM_FORCE_DATA_MODE BIT(19)
++#define SDEDM_CLOCK_PULSE BIT(20)
++#define SDEDM_BYPASS BIT(21)
++
++#define SDEDM_WRITE_THRESHOLD_SHIFT 9
++#define SDEDM_READ_THRESHOLD_SHIFT 14
++#define SDEDM_THRESHOLD_MASK 0x1f
++
++#define SDEDM_FSM_MASK 0xf
++#define SDEDM_FSM_IDENTMODE 0x0
++#define SDEDM_FSM_DATAMODE 0x1
++#define SDEDM_FSM_READDATA 0x2
++#define SDEDM_FSM_WRITEDATA 0x3
++#define SDEDM_FSM_READWAIT 0x4
++#define SDEDM_FSM_READCRC 0x5
++#define SDEDM_FSM_WRITECRC 0x6
++#define SDEDM_FSM_WRITEWAIT1 0x7
++#define SDEDM_FSM_POWERDOWN 0x8
++#define SDEDM_FSM_POWERUP 0x9
++#define SDEDM_FSM_WRITESTART1 0xa
++#define SDEDM_FSM_WRITESTART2 0xb
++#define SDEDM_FSM_GENPULSES 0xc
++#define SDEDM_FSM_WRITEWAIT2 0xd
++#define SDEDM_FSM_STARTPOWDOWN 0xf
++
++#define SDDATA_FIFO_WORDS 16
++
++#define FIFO_READ_THRESHOLD 4
++#define FIFO_WRITE_THRESHOLD 4
++#define SDDATA_FIFO_PIO_BURST 8
++
++#define PIO_THRESHOLD 1 /* Maximum block count for PIO (0 = always DMA) */
++
++struct bcm2835_host {
++ spinlock_t lock;
++ struct mutex mutex;
++
++ void __iomem *ioaddr;
++ u32 phys_addr;
++
++ struct mmc_host *mmc;
++ struct platform_device *pdev;
++
++ int clock; /* Current clock speed */
++ unsigned int max_clk; /* Max possible freq */
++ struct work_struct dma_work;
++ struct delayed_work timeout_work; /* Timer for timeouts */
++ struct sg_mapping_iter sg_miter; /* SG state for PIO */
++ unsigned int blocks; /* remaining PIO blocks */
++ int irq; /* Device IRQ */
++
++ u32 ns_per_fifo_word;
++
++ /* cached registers */
++ u32 hcfg;
++ u32 cdiv;
++
++ struct mmc_request *mrq; /* Current request */
++ struct mmc_command *cmd; /* Current command */
++ struct mmc_data *data; /* Current data request */
++ bool data_complete:1;/* Data finished before cmd */
++ bool use_busy:1; /* Wait for busy interrupt */
++ bool use_sbc:1; /* Send CMD23 */
++
++ /* for threaded irq handler */
++ bool irq_block;
++ bool irq_busy;
++ bool irq_data;
++
++ /* DMA part */
++ struct dma_chan *dma_chan_rxtx;
++ struct dma_chan *dma_chan;
++ struct dma_slave_config dma_cfg_rx;
++ struct dma_slave_config dma_cfg_tx;
++ struct dma_async_tx_descriptor *dma_desc;
++ u32 dma_dir;
++ u32 drain_words;
++ struct page *drain_page;
++ u32 drain_offset;
++ bool use_dma;
++};
++
++static void bcm2835_dumpcmd(struct bcm2835_host *host, struct mmc_command *cmd,
++ const char *label)
++{
++ struct device *dev = &host->pdev->dev;
++
++ if (!cmd)
++ return;
++
++ dev_dbg(dev, "%c%s op %d arg 0x%x flags 0x%x - resp %08x %08x %08x %08x, err %d\n",
++ (cmd == host->cmd) ? '>' : ' ',
++ label, cmd->opcode, cmd->arg, cmd->flags,
++ cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3],
++ cmd->error);
++}
++
++static void bcm2835_dumpregs(struct bcm2835_host *host)
++{
++ struct mmc_request *mrq = host->mrq;
++ struct device *dev = &host->pdev->dev;
++
++ if (mrq) {
++ bcm2835_dumpcmd(host, mrq->sbc, "sbc");
++ bcm2835_dumpcmd(host, mrq->cmd, "cmd");
++ if (mrq->data) {
++ dev_dbg(dev, "data blocks %x blksz %x - err %d\n",
++ mrq->data->blocks,
++ mrq->data->blksz,
++ mrq->data->error);
++ }
++ bcm2835_dumpcmd(host, mrq->stop, "stop");
++ }
++
++ dev_dbg(dev, "=========== REGISTER DUMP ===========\n");
++ dev_dbg(dev, "SDCMD 0x%08x\n", readl(host->ioaddr + SDCMD));
++ dev_dbg(dev, "SDARG 0x%08x\n", readl(host->ioaddr + SDARG));
++ dev_dbg(dev, "SDTOUT 0x%08x\n", readl(host->ioaddr + SDTOUT));
++ dev_dbg(dev, "SDCDIV 0x%08x\n", readl(host->ioaddr + SDCDIV));
++ dev_dbg(dev, "SDRSP0 0x%08x\n", readl(host->ioaddr + SDRSP0));
++ dev_dbg(dev, "SDRSP1 0x%08x\n", readl(host->ioaddr + SDRSP1));
++ dev_dbg(dev, "SDRSP2 0x%08x\n", readl(host->ioaddr + SDRSP2));
++ dev_dbg(dev, "SDRSP3 0x%08x\n", readl(host->ioaddr + SDRSP3));
++ dev_dbg(dev, "SDHSTS 0x%08x\n", readl(host->ioaddr + SDHSTS));
++ dev_dbg(dev, "SDVDD 0x%08x\n", readl(host->ioaddr + SDVDD));
++ dev_dbg(dev, "SDEDM 0x%08x\n", readl(host->ioaddr + SDEDM));
++ dev_dbg(dev, "SDHCFG 0x%08x\n", readl(host->ioaddr + SDHCFG));
++ dev_dbg(dev, "SDHBCT 0x%08x\n", readl(host->ioaddr + SDHBCT));
++ dev_dbg(dev, "SDHBLC 0x%08x\n", readl(host->ioaddr + SDHBLC));
++ dev_dbg(dev, "===========================================\n");
++}
++
++static void bcm2835_reset_internal(struct bcm2835_host *host)
++{
++ u32 temp;
++
++ writel(SDVDD_POWER_OFF, host->ioaddr + SDVDD);
++ writel(0, host->ioaddr + SDCMD);
++ writel(0, host->ioaddr + SDARG);
++ writel(0xf00000, host->ioaddr + SDTOUT);
++ writel(0, host->ioaddr + SDCDIV);
++ writel(0x7f8, host->ioaddr + SDHSTS); /* Write 1s to clear */
++ writel(0, host->ioaddr + SDHCFG);
++ writel(0, host->ioaddr + SDHBCT);
++ writel(0, host->ioaddr + SDHBLC);
++
++ /* Limit fifo usage due to silicon bug */
++ temp = readl(host->ioaddr + SDEDM);
++ temp &= ~((SDEDM_THRESHOLD_MASK << SDEDM_READ_THRESHOLD_SHIFT) |
++ (SDEDM_THRESHOLD_MASK << SDEDM_WRITE_THRESHOLD_SHIFT));
++ temp |= (FIFO_READ_THRESHOLD << SDEDM_READ_THRESHOLD_SHIFT) |
++ (FIFO_WRITE_THRESHOLD << SDEDM_WRITE_THRESHOLD_SHIFT);
++ writel(temp, host->ioaddr + SDEDM);
++ msleep(20);
++ writel(SDVDD_POWER_ON, host->ioaddr + SDVDD);
++ msleep(20);
++ host->clock = 0;
++ writel(host->hcfg, host->ioaddr + SDHCFG);
++ writel(host->cdiv, host->ioaddr + SDCDIV);
++}
++
++static void bcm2835_reset(struct mmc_host *mmc)
++{
++ struct bcm2835_host *host = mmc_priv(mmc);
++
++ if (host->dma_chan)
++ dmaengine_terminate_sync(host->dma_chan);
++ bcm2835_reset_internal(host);
++}
++
++static void bcm2835_finish_command(struct bcm2835_host *host);
++
++static void bcm2835_wait_transfer_complete(struct bcm2835_host *host)
++{
++ int timediff;
++ u32 alternate_idle;
++
++ alternate_idle = (host->mrq->data->flags & MMC_DATA_READ) ?
++ SDEDM_FSM_READWAIT : SDEDM_FSM_WRITESTART1;
++
++ timediff = 0;
++
++ while (1) {
++ u32 edm, fsm;
++
++ edm = readl(host->ioaddr + SDEDM);
++ fsm = edm & SDEDM_FSM_MASK;
++
++ if ((fsm == SDEDM_FSM_IDENTMODE) ||
++ (fsm == SDEDM_FSM_DATAMODE))
++ break;
++ if (fsm == alternate_idle) {
++ writel(edm | SDEDM_FORCE_DATA_MODE,
++ host->ioaddr + SDEDM);
++ break;
++ }
++
++ timediff++;
++ if (timediff == 100000) {
++ dev_err(&host->pdev->dev,
++ "wait_transfer_complete - still waiting after %d retries\n",
++ timediff);
++ bcm2835_dumpregs(host);
++ host->mrq->data->error = -ETIMEDOUT;
++ return;
++ }
++ cpu_relax();
++ }
++}
++
++static void bcm2835_dma_complete(void *param)
++{
++ struct bcm2835_host *host = param;
++
++ schedule_work(&host->dma_work);
++}
++
++static void bcm2835_transfer_block_pio(struct bcm2835_host *host, bool is_read)
++{
++ unsigned long flags;
++ size_t blksize;
++ unsigned long wait_max;
++
++ blksize = host->data->blksz;
++
++ wait_max = jiffies + msecs_to_jiffies(500);
++
++ local_irq_save(flags);
++
++ while (blksize) {
++ int copy_words;
++ u32 hsts = 0;
++ size_t len;
++ u32 *buf;
++
++ if (!sg_miter_next(&host->sg_miter)) {
++ host->data->error = -EINVAL;
++ break;
++ }
++
++ len = min(host->sg_miter.length, blksize);
++ if (len % 4) {
++ host->data->error = -EINVAL;
++ break;
++ }
++
++ blksize -= len;
++ host->sg_miter.consumed = len;
++
++ buf = (u32 *)host->sg_miter.addr;
++
++ copy_words = len / 4;
++
++ while (copy_words) {
++ int burst_words, words;
++ u32 edm;
++
++ burst_words = min(SDDATA_FIFO_PIO_BURST, copy_words);
++ edm = readl(host->ioaddr + SDEDM);
++ if (is_read)
++ words = ((edm >> 4) & 0x1f);
++ else
++ words = SDDATA_FIFO_WORDS - ((edm >> 4) & 0x1f);
++
++ if (words < burst_words) {
++ int fsm_state = (edm & SDEDM_FSM_MASK);
++ struct device *dev = &host->pdev->dev;
++
++ if ((is_read &&
++ (fsm_state != SDEDM_FSM_READDATA &&
++ fsm_state != SDEDM_FSM_READWAIT &&
++ fsm_state != SDEDM_FSM_READCRC)) ||
++ (!is_read &&
++ (fsm_state != SDEDM_FSM_WRITEDATA &&
++ fsm_state != SDEDM_FSM_WRITESTART1 &&
++ fsm_state != SDEDM_FSM_WRITESTART2))) {
++ hsts = readl(host->ioaddr + SDHSTS);
++ dev_err(dev, "fsm %x, hsts %08x\n",
++ fsm_state, hsts);
++ if (hsts & SDHSTS_ERROR_MASK)
++ break;
++ }
++
++ if (time_after(jiffies, wait_max)) {
++ dev_err(dev, "PIO %s timeout - EDM %08x\n",
++ is_read ? "read" : "write",
++ edm);
++ hsts = SDHSTS_REW_TIME_OUT;
++ break;
++ }
++ ndelay((burst_words - words) *
++ host->ns_per_fifo_word);
++ continue;
++ } else if (words > copy_words) {
++ words = copy_words;
++ }
++
++ copy_words -= words;
++
++ while (words) {
++ if (is_read)
++ *(buf++) = readl(host->ioaddr + SDDATA);
++ else
++ writel(*(buf++), host->ioaddr + SDDATA);
++ words--;
++ }
++ }
++
++ if (hsts & SDHSTS_ERROR_MASK)
++ break;
++ }
++
++ sg_miter_stop(&host->sg_miter);
++
++ local_irq_restore(flags);
++}
++
++static void bcm2835_transfer_pio(struct bcm2835_host *host)
++{
++ struct device *dev = &host->pdev->dev;
++ u32 sdhsts;
++ bool is_read;
++
++ is_read = (host->data->flags & MMC_DATA_READ) != 0;
++ bcm2835_transfer_block_pio(host, is_read);
++
++ sdhsts = readl(host->ioaddr + SDHSTS);
++ if (sdhsts & (SDHSTS_CRC16_ERROR |
++ SDHSTS_CRC7_ERROR |
++ SDHSTS_FIFO_ERROR)) {
++ dev_err(dev, "%s transfer error - HSTS %08x\n",
++ is_read ? "read" : "write", sdhsts);
++ host->data->error = -EILSEQ;
++ } else if ((sdhsts & (SDHSTS_CMD_TIME_OUT |
++ SDHSTS_REW_TIME_OUT))) {
++ dev_err(dev, "%s timeout error - HSTS %08x\n",
++ is_read ? "read" : "write", sdhsts);
++ host->data->error = -ETIMEDOUT;
++ }
++}
++
++static
++void bcm2835_prepare_dma(struct bcm2835_host *host, struct mmc_data *data)
++{
++ int len, dir_data, dir_slave;
++ struct dma_async_tx_descriptor *desc = NULL;
++ struct dma_chan *dma_chan;
++
++ dma_chan = host->dma_chan_rxtx;
++ if (data->flags & MMC_DATA_READ) {
++ dir_data = DMA_FROM_DEVICE;
++ dir_slave = DMA_DEV_TO_MEM;
++ } else {
++ dir_data = DMA_TO_DEVICE;
++ dir_slave = DMA_MEM_TO_DEV;
++ }
++
++ /* The block doesn't manage the FIFO DREQs properly for
++ * multi-block transfers, so don't attempt to DMA the final
++ * few words. Unfortunately this requires the final sg entry
++ * to be trimmed. N.B. This code demands that the overspill
++ * is contained in a single sg entry.
++ */
++
++ host->drain_words = 0;
++ if ((data->blocks > 1) && (dir_data == DMA_FROM_DEVICE)) {
++ struct scatterlist *sg;
++ u32 len;
++ int i;
++
++ len = min((u32)(FIFO_READ_THRESHOLD - 1) * 4,
++ (u32)data->blocks * data->blksz);
++
++ for_each_sg(data->sg, sg, data->sg_len, i) {
++ if (sg_is_last(sg)) {
++ WARN_ON(sg->length < len);
++ sg->length -= len;
++ host->drain_page = sg_page(sg);
++ host->drain_offset = sg->offset + sg->length;
++ }
++ }
++ host->drain_words = len / 4;
++ }
++
++ /* The parameters have already been validated, so this will not fail */
++ (void)dmaengine_slave_config(dma_chan,
++ (dir_data == DMA_FROM_DEVICE) ?
++ &host->dma_cfg_rx :
++ &host->dma_cfg_tx);
++
++ len = dma_map_sg(dma_chan->device->dev, data->sg, data->sg_len,
++ dir_data);
++
++ if (len > 0) {
++ desc = dmaengine_prep_slave_sg(dma_chan, data->sg,
++ len, dir_slave,
++ DMA_PREP_INTERRUPT |
++ DMA_CTRL_ACK);
++ }
++
++ if (desc) {
++ desc->callback = bcm2835_dma_complete;
++ desc->callback_param = host;
++ host->dma_desc = desc;
++ host->dma_chan = dma_chan;
++ host->dma_dir = dir_data;
++ }
++}
++
++static void bcm2835_start_dma(struct bcm2835_host *host)
++{
++ dmaengine_submit(host->dma_desc);
++ dma_async_issue_pending(host->dma_chan);
++}
++
++static void bcm2835_set_transfer_irqs(struct bcm2835_host *host)
++{
++ u32 all_irqs = SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN |
++ SDHCFG_BUSY_IRPT_EN;
++
++ if (host->dma_desc) {
++ host->hcfg = (host->hcfg & ~all_irqs) |
++ SDHCFG_BUSY_IRPT_EN;
++ } else {
++ host->hcfg = (host->hcfg & ~all_irqs) |
++ SDHCFG_DATA_IRPT_EN |
++ SDHCFG_BUSY_IRPT_EN;
++ }
++
++ writel(host->hcfg, host->ioaddr + SDHCFG);
++}
++
++static
++void bcm2835_prepare_data(struct bcm2835_host *host, struct mmc_command *cmd)
++{
++ struct mmc_data *data = cmd->data;
++
++ WARN_ON(host->data);
++
++ host->data = data;
++ if (!data)
++ return;
++
++ host->data_complete = false;
++ host->data->bytes_xfered = 0;
++
++ if (!host->dma_desc) {
++ /* Use PIO */
++ int flags = SG_MITER_ATOMIC;
++
++ if (data->flags & MMC_DATA_READ)
++ flags |= SG_MITER_TO_SG;
++ else
++ flags |= SG_MITER_FROM_SG;
++ sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags);
++ host->blocks = data->blocks;
++ }
++
++ bcm2835_set_transfer_irqs(host);
++
++ writel(data->blksz, host->ioaddr + SDHBCT);
++ writel(data->blocks, host->ioaddr + SDHBLC);
++}
++
++static u32 bcm2835_read_wait_sdcmd(struct bcm2835_host *host, u32 max_ms)
++{
++ struct device *dev = &host->pdev->dev;
++ u32 value;
++ int ret;
++
++ ret = readl_poll_timeout(host->ioaddr + SDCMD, value,
++ !(value & SDCMD_NEW_FLAG), 1, 10);
++ if (ret == -ETIMEDOUT)
++ /* if it takes a while make poll interval bigger */
++ ret = readl_poll_timeout(host->ioaddr + SDCMD, value,
++ !(value & SDCMD_NEW_FLAG),
++ 10, max_ms * 1000);
++ if (ret == -ETIMEDOUT)
++ dev_err(dev, "%s: timeout (%d ms)\n", __func__, max_ms);
++
++ return value;
++}
++
++static void bcm2835_finish_request(struct bcm2835_host *host)
++{
++ struct dma_chan *terminate_chan = NULL;
++ struct mmc_request *mrq;
++
++ cancel_delayed_work(&host->timeout_work);
++
++ mrq = host->mrq;
++
++ host->mrq = NULL;
++ host->cmd = NULL;
++ host->data = NULL;
++
++ host->dma_desc = NULL;
++ terminate_chan = host->dma_chan;
++ host->dma_chan = NULL;
++
++ if (terminate_chan) {
++ int err = dmaengine_terminate_all(terminate_chan);
++
++ if (err)
++ dev_err(&host->pdev->dev,
++ "failed to terminate DMA (%d)\n", err);
++ }
++
++ mmc_request_done(host->mmc, mrq);
++}
++
++static
++bool bcm2835_send_command(struct bcm2835_host *host, struct mmc_command *cmd)
++{
++ struct device *dev = &host->pdev->dev;
++ u32 sdcmd, sdhsts;
++ unsigned long timeout;
++
++ WARN_ON(host->cmd);
++
++ sdcmd = bcm2835_read_wait_sdcmd(host, 100);
++ if (sdcmd & SDCMD_NEW_FLAG) {
++ dev_err(dev, "previous command never completed.\n");
++ bcm2835_dumpregs(host);
++ cmd->error = -EILSEQ;
++ bcm2835_finish_request(host);
++ return false;
++ }
++
++ if (!cmd->data && cmd->busy_timeout > 9000)
++ timeout = DIV_ROUND_UP(cmd->busy_timeout, 1000) * HZ + HZ;
++ else
++ timeout = 10 * HZ;
++ schedule_delayed_work(&host->timeout_work, timeout);
++
++ host->cmd = cmd;
++
++ /* Clear any error flags */
++ sdhsts = readl(host->ioaddr + SDHSTS);
++ if (sdhsts & SDHSTS_ERROR_MASK)
++ writel(sdhsts, host->ioaddr + SDHSTS);
++
++ if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) {
++ dev_err(dev, "unsupported response type!\n");
++ cmd->error = -EINVAL;
++ bcm2835_finish_request(host);
++ return false;
++ }
++
++ bcm2835_prepare_data(host, cmd);
++
++ writel(cmd->arg, host->ioaddr + SDARG);
++
++ sdcmd = cmd->opcode & SDCMD_CMD_MASK;
++
++ host->use_busy = false;
++ if (!(cmd->flags & MMC_RSP_PRESENT)) {
++ sdcmd |= SDCMD_NO_RESPONSE;
++ } else {
++ if (cmd->flags & MMC_RSP_136)
++ sdcmd |= SDCMD_LONG_RESPONSE;
++ if (cmd->flags & MMC_RSP_BUSY) {
++ sdcmd |= SDCMD_BUSYWAIT;
++ host->use_busy = true;
++ }
++ }
++
++ if (cmd->data) {
++ if (cmd->data->flags & MMC_DATA_WRITE)
++ sdcmd |= SDCMD_WRITE_CMD;
++ if (cmd->data->flags & MMC_DATA_READ)
++ sdcmd |= SDCMD_READ_CMD;
++ }
++
++ writel(sdcmd | SDCMD_NEW_FLAG, host->ioaddr + SDCMD);
++
++ return true;
++}
++
++static void bcm2835_transfer_complete(struct bcm2835_host *host)
++{
++ struct mmc_data *data;
++
++ WARN_ON(!host->data_complete);
++
++ data = host->data;
++ host->data = NULL;
++
++ /* Need to send CMD12 if -
++ * a) open-ended multiblock transfer (no CMD23)
++ * b) error in multiblock transfer
++ */
++ if (host->mrq->stop && (data->error || !host->use_sbc)) {
++ if (bcm2835_send_command(host, host->mrq->stop)) {
++ /* No busy, so poll for completion */
++ if (!host->use_busy)
++ bcm2835_finish_command(host);
++ }
++ } else {
++ bcm2835_wait_transfer_complete(host);
++ bcm2835_finish_request(host);
++ }
++}
++
++static void bcm2835_finish_data(struct bcm2835_host *host)
++{
++ struct device *dev = &host->pdev->dev;
++ struct mmc_data *data;
++
++ data = host->data;
++
++ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN);
++ writel(host->hcfg, host->ioaddr + SDHCFG);
++
++ data->bytes_xfered = data->error ? 0 : (data->blksz * data->blocks);
++
++ host->data_complete = true;
++
++ if (host->cmd) {
++ /* Data managed to finish before the
++ * command completed. Make sure we do
++ * things in the proper order.
++ */
++ dev_dbg(dev, "Finished early - HSTS %08x\n",
++ readl(host->ioaddr + SDHSTS));
++ } else {
++ bcm2835_transfer_complete(host);
++ }
++}
++
++static void bcm2835_finish_command(struct bcm2835_host *host)
++{
++ struct device *dev = &host->pdev->dev;
++ struct mmc_command *cmd = host->cmd;
++ u32 sdcmd;
++
++ sdcmd = bcm2835_read_wait_sdcmd(host, 100);
++
++ /* Check for errors */
++ if (sdcmd & SDCMD_NEW_FLAG) {
++ dev_err(dev, "command never completed.\n");
++ bcm2835_dumpregs(host);
++ host->cmd->error = -EIO;
++ bcm2835_finish_request(host);
++ return;
++ } else if (sdcmd & SDCMD_FAIL_FLAG) {
++ u32 sdhsts = readl(host->ioaddr + SDHSTS);
++
++ /* Clear the errors */
++ writel(SDHSTS_ERROR_MASK, host->ioaddr + SDHSTS);
++
++ if (!(sdhsts & SDHSTS_CRC7_ERROR) ||
++ (host->cmd->opcode != MMC_SEND_OP_COND)) {
++ if (sdhsts & SDHSTS_CMD_TIME_OUT) {
++ host->cmd->error = -ETIMEDOUT;
++ } else {
++ dev_err(dev, "unexpected command %d error\n",
++ host->cmd->opcode);
++ bcm2835_dumpregs(host);
++ host->cmd->error = -EILSEQ;
++ }
++ bcm2835_finish_request(host);
++ return;
++ }
++ }
++
++ if (cmd->flags & MMC_RSP_PRESENT) {
++ if (cmd->flags & MMC_RSP_136) {
++ int i;
++
++ for (i = 0; i < 4; i++) {
++ cmd->resp[3 - i] =
++ readl(host->ioaddr + SDRSP0 + i * 4);
++ }
++ } else {
++ cmd->resp[0] = readl(host->ioaddr + SDRSP0);
++ }
++ }
++
++ if (cmd == host->mrq->sbc) {
++ /* Finished CMD23, now send actual command. */
++ host->cmd = NULL;
++ if (bcm2835_send_command(host, host->mrq->cmd)) {
++ if (host->data && host->dma_desc)
++ /* DMA transfer starts now, PIO starts
++ * after irq
++ */
++ bcm2835_start_dma(host);
++
++ if (!host->use_busy)
++ bcm2835_finish_command(host);
++ }
++ } else if (cmd == host->mrq->stop) {
++ /* Finished CMD12 */
++ bcm2835_finish_request(host);
++ } else {
++ /* Processed actual command. */
++ host->cmd = NULL;
++ if (!host->data)
++ bcm2835_finish_request(host);
++ else if (host->data_complete)
++ bcm2835_transfer_complete(host);
++ }
++}
++
++static void bcm2835_timeout(struct work_struct *work)
++{
++ struct delayed_work *d = to_delayed_work(work);
++ struct bcm2835_host *host =
++ container_of(d, struct bcm2835_host, timeout_work);
++ struct device *dev = &host->pdev->dev;
++
++ mutex_lock(&host->mutex);
++
++ if (host->mrq) {
++ dev_err(dev, "timeout waiting for hardware interrupt.\n");
++ bcm2835_dumpregs(host);
++
++ if (host->data) {
++ host->data->error = -ETIMEDOUT;
++ bcm2835_finish_data(host);
++ } else {
++ if (host->cmd)
++ host->cmd->error = -ETIMEDOUT;
++ else
++ host->mrq->cmd->error = -ETIMEDOUT;
++
++ bcm2835_finish_request(host);
++ }
++ }
++
++ mutex_unlock(&host->mutex);
++}
++
++static bool bcm2835_check_cmd_error(struct bcm2835_host *host, u32 intmask)
++{
++ struct device *dev = &host->pdev->dev;
++
++ if (!(intmask & SDHSTS_ERROR_MASK))
++ return false;
++
++ if (!host->cmd)
++ return true;
++
++ dev_err(dev, "sdhost_busy_irq: intmask %08x\n", intmask);
++ if (intmask & SDHSTS_CRC7_ERROR) {
++ host->cmd->error = -EILSEQ;
++ } else if (intmask & (SDHSTS_CRC16_ERROR |
++ SDHSTS_FIFO_ERROR)) {
++ if (host->mrq->data)
++ host->mrq->data->error = -EILSEQ;
++ else
++ host->cmd->error = -EILSEQ;
++ } else if (intmask & SDHSTS_REW_TIME_OUT) {
++ if (host->mrq->data)
++ host->mrq->data->error = -ETIMEDOUT;
++ else
++ host->cmd->error = -ETIMEDOUT;
++ } else if (intmask & SDHSTS_CMD_TIME_OUT) {
++ host->cmd->error = -ETIMEDOUT;
++ }
++ bcm2835_dumpregs(host);
++ return true;
++}
++
++static void bcm2835_check_data_error(struct bcm2835_host *host, u32 intmask)
++{
++ if (!host->data)
++ return;
++ if (intmask & (SDHSTS_CRC16_ERROR | SDHSTS_FIFO_ERROR))
++ host->data->error = -EILSEQ;
++ if (intmask & SDHSTS_REW_TIME_OUT)
++ host->data->error = -ETIMEDOUT;
++}
++
++static void bcm2835_busy_irq(struct bcm2835_host *host)
++{
++ if (WARN_ON(!host->cmd)) {
++ bcm2835_dumpregs(host);
++ return;
++ }
++
++ if (WARN_ON(!host->use_busy)) {
++ bcm2835_dumpregs(host);
++ return;
++ }
++ host->use_busy = false;
++
++ bcm2835_finish_command(host);
++}
++
++static void bcm2835_data_irq(struct bcm2835_host *host, u32 intmask)
++{
++ /* There are no dedicated data/space available interrupt
++ * status bits, so it is necessary to use the single shared
++ * data/space available FIFO status bits. It is therefore not
++ * an error to get here when there is no data transfer in
++ * progress.
++ */
++ if (!host->data)
++ return;
++
++ bcm2835_check_data_error(host, intmask);
++ if (host->data->error)
++ goto finished;
++
++ if (host->data->flags & MMC_DATA_WRITE) {
++ /* Use the block interrupt for writes after the first block */
++ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN);
++ host->hcfg |= SDHCFG_BLOCK_IRPT_EN;
++ writel(host->hcfg, host->ioaddr + SDHCFG);
++ bcm2835_transfer_pio(host);
++ } else {
++ bcm2835_transfer_pio(host);
++ host->blocks--;
++ if ((host->blocks == 0) || host->data->error)
++ goto finished;
++ }
++ return;
++
++finished:
++ host->hcfg &= ~(SDHCFG_DATA_IRPT_EN | SDHCFG_BLOCK_IRPT_EN);
++ writel(host->hcfg, host->ioaddr + SDHCFG);
++}
++
++static void bcm2835_data_threaded_irq(struct bcm2835_host *host)
++{
++ if (!host->data)
++ return;
++ if ((host->blocks == 0) || host->data->error)
++ bcm2835_finish_data(host);
++}
++
++static void bcm2835_block_irq(struct bcm2835_host *host)
++{
++ if (WARN_ON(!host->data)) {
++ bcm2835_dumpregs(host);
++ return;
++ }
++
++ if (!host->dma_desc) {
++ WARN_ON(!host->blocks);
++ if (host->data->error || (--host->blocks == 0))
++ bcm2835_finish_data(host);
++ else
++ bcm2835_transfer_pio(host);
++ } else if (host->data->flags & MMC_DATA_WRITE) {
++ bcm2835_finish_data(host);
++ }
++}
++
++static irqreturn_t bcm2835_irq(int irq, void *dev_id)
++{
++ irqreturn_t result = IRQ_NONE;
++ struct bcm2835_host *host = dev_id;
++ u32 intmask;
++
++ spin_lock(&host->lock);
++
++ intmask = readl(host->ioaddr + SDHSTS);
++
++ writel(SDHSTS_BUSY_IRPT |
++ SDHSTS_BLOCK_IRPT |
++ SDHSTS_SDIO_IRPT |
++ SDHSTS_DATA_FLAG,
++ host->ioaddr + SDHSTS);
++
++ if (intmask & SDHSTS_BLOCK_IRPT) {
++ bcm2835_check_data_error(host, intmask);
++ host->irq_block = true;
++ result = IRQ_WAKE_THREAD;
++ }
++
++ if (intmask & SDHSTS_BUSY_IRPT) {
++ if (!bcm2835_check_cmd_error(host, intmask)) {
++ host->irq_busy = true;
++ result = IRQ_WAKE_THREAD;
++ } else {
++ result = IRQ_HANDLED;
++ }
++ }
++
++ /* There is no true data interrupt status bit, so it is
++ * necessary to qualify the data flag with the interrupt
++ * enable bit.
++ */
++ if ((intmask & SDHSTS_DATA_FLAG) &&
++ (host->hcfg & SDHCFG_DATA_IRPT_EN)) {
++ bcm2835_data_irq(host, intmask);
++ host->irq_data = true;
++ result = IRQ_WAKE_THREAD;
++ }
++
++ spin_unlock(&host->lock);
++
++ return result;
++}
++
++static irqreturn_t bcm2835_threaded_irq(int irq, void *dev_id)
++{
++ struct bcm2835_host *host = dev_id;
++ unsigned long flags;
++ bool block, busy, data;
++
++ spin_lock_irqsave(&host->lock, flags);
++
++ block = host->irq_block;
++ busy = host->irq_busy;
++ data = host->irq_data;
++ host->irq_block = false;
++ host->irq_busy = false;
++ host->irq_data = false;
++
++ spin_unlock_irqrestore(&host->lock, flags);
++
++ mutex_lock(&host->mutex);
++
++ if (block)
++ bcm2835_block_irq(host);
++ if (busy)
++ bcm2835_busy_irq(host);
++ if (data)
++ bcm2835_data_threaded_irq(host);
++
++ mutex_unlock(&host->mutex);
++
++ return IRQ_HANDLED;
++}
++
++static void bcm2835_dma_complete_work(struct work_struct *work)
++{
++ struct bcm2835_host *host =
++ container_of(work, struct bcm2835_host, dma_work);
++ struct mmc_data *data = host->data;
++
++ mutex_lock(&host->mutex);
++
++ if (host->dma_chan) {
++ dma_unmap_sg(host->dma_chan->device->dev,
++ data->sg, data->sg_len,
++ host->dma_dir);
++
++ host->dma_chan = NULL;
++ }
++
++ if (host->drain_words) {
++ unsigned long flags;
++ void *page;
++ u32 *buf;
++
++ if (host->drain_offset & PAGE_MASK) {
++ host->drain_page += host->drain_offset >> PAGE_SHIFT;
++ host->drain_offset &= ~PAGE_MASK;
++ }
++ local_irq_save(flags);
++ page = kmap_atomic(host->drain_page);
++ buf = page + host->drain_offset;
++
++ while (host->drain_words) {
++ u32 edm = readl(host->ioaddr + SDEDM);
++
++ if ((edm >> 4) & 0x1f)
++ *(buf++) = readl(host->ioaddr + SDDATA);
++ host->drain_words--;
++ }
++
++ kunmap_atomic(page);
++ local_irq_restore(flags);
++ }
++
++ bcm2835_finish_data(host);
++
++ mutex_unlock(&host->mutex);
++}
++
++static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
++{
++ int div;
++
++ /* The SDCDIV register has 11 bits, and holds (div - 2). But
++ * in data mode the max is 50MHz wihout a minimum, and only
++ * the bottom 3 bits are used. Since the switch over is
++ * automatic (unless we have marked the card as slow...),
++ * chosen values have to make sense in both modes. Ident mode
++ * must be 100-400KHz, so can range check the requested
++ * clock. CMD15 must be used to return to data mode, so this
++ * can be monitored.
++ *
++ * clock 250MHz -> 0->125MHz, 1->83.3MHz, 2->62.5MHz, 3->50.0MHz
++ * 4->41.7MHz, 5->35.7MHz, 6->31.3MHz, 7->27.8MHz
++ *
++ * 623->400KHz/27.8MHz
++ * reset value (507)->491159/50MHz
++ *
++ * BUT, the 3-bit clock divisor in data mode is too small if
++ * the core clock is higher than 250MHz, so instead use the
++ * SLOW_CARD configuration bit to force the use of the ident
++ * clock divisor at all times.
++ */
++
++ if (clock < 100000) {
++ /* Can't stop the clock, but make it as slow as possible
++ * to show willing
++ */
++ host->cdiv = SDCDIV_MAX_CDIV;
++ writel(host->cdiv, host->ioaddr + SDCDIV);
++ return;
++ }
++
++ div = host->max_clk / clock;
++ if (div < 2)
++ div = 2;
++ if ((host->max_clk / div) > clock)
++ div++;
++ div -= 2;
++
++ if (div > SDCDIV_MAX_CDIV)
++ div = SDCDIV_MAX_CDIV;
++
++ clock = host->max_clk / (div + 2);
++ host->mmc->actual_clock = clock;
++
++ /* Calibrate some delays */
++
++ host->ns_per_fifo_word = (1000000000 / clock) *
++ ((host->mmc->caps & MMC_CAP_4_BIT_DATA) ? 8 : 32);
++
++ host->cdiv = div;
++ writel(host->cdiv, host->ioaddr + SDCDIV);
++
++ /* Set the timeout to 500ms */
++ writel(host->mmc->actual_clock / 2, host->ioaddr + SDTOUT);
++}
++
++static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
++{
++ struct bcm2835_host *host = mmc_priv(mmc);
++ struct device *dev = &host->pdev->dev;
++ u32 edm, fsm;
++
++ /* Reset the error statuses in case this is a retry */
++ if (mrq->sbc)
++ mrq->sbc->error = 0;
++ if (mrq->cmd)
++ mrq->cmd->error = 0;
++ if (mrq->data)
++ mrq->data->error = 0;
++ if (mrq->stop)
++ mrq->stop->error = 0;
++
++ if (mrq->data && !is_power_of_2(mrq->data->blksz)) {
++ dev_err(dev, "unsupported block size (%d bytes)\n",
++ mrq->data->blksz);
++ mrq->cmd->error = -EINVAL;
++ mmc_request_done(mmc, mrq);
++ return;
++ }
++
++ if (host->use_dma && mrq->data && (mrq->data->blocks > PIO_THRESHOLD))
++ bcm2835_prepare_dma(host, mrq->data);
++
++ mutex_lock(&host->mutex);
++
++ WARN_ON(host->mrq);
++ host->mrq = mrq;
++
++ edm = readl(host->ioaddr + SDEDM);
++ fsm = edm & SDEDM_FSM_MASK;
++
++ if ((fsm != SDEDM_FSM_IDENTMODE) &&
++ (fsm != SDEDM_FSM_DATAMODE)) {
++ dev_err(dev, "previous command (%d) not complete (EDM %08x)\n",
++ readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK,
++ edm);
++ bcm2835_dumpregs(host);
++ mrq->cmd->error = -EILSEQ;
++ bcm2835_finish_request(host);
++ mutex_unlock(&host->mutex);
++ return;
++ }
++
++ host->use_sbc = !!mrq->sbc && (host->mrq->data->flags & MMC_DATA_READ);
++ if (host->use_sbc) {
++ if (bcm2835_send_command(host, mrq->sbc)) {
++ if (!host->use_busy)
++ bcm2835_finish_command(host);
++ }
++ } else if (bcm2835_send_command(host, mrq->cmd)) {
++ if (host->data && host->dma_desc) {
++ /* DMA transfer starts now, PIO starts after irq */
++ bcm2835_start_dma(host);
++ }
++
++ if (!host->use_busy)
++ bcm2835_finish_command(host);
++ }
++
++ mutex_unlock(&host->mutex);
++}
++
++static void bcm2835_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
++{
++ struct bcm2835_host *host = mmc_priv(mmc);
++
++ mutex_lock(&host->mutex);
++
++ if (!ios->clock || ios->clock != host->clock) {
++ bcm2835_set_clock(host, ios->clock);
++ host->clock = ios->clock;
++ }
++
++ /* set bus width */
++ host->hcfg &= ~SDHCFG_WIDE_EXT_BUS;
++ if (ios->bus_width == MMC_BUS_WIDTH_4)
++ host->hcfg |= SDHCFG_WIDE_EXT_BUS;
++
++ host->hcfg |= SDHCFG_WIDE_INT_BUS;
++
++ /* Disable clever clock switching, to cope with fast core clocks */
++ host->hcfg |= SDHCFG_SLOW_CARD;
++
++ writel(host->hcfg, host->ioaddr + SDHCFG);
++
++ mutex_unlock(&host->mutex);
++}
++
++static struct mmc_host_ops bcm2835_ops = {
++ .request = bcm2835_request,
++ .set_ios = bcm2835_set_ios,
++ .hw_reset = bcm2835_reset,
++};
++
++static int bcm2835_add_host(struct bcm2835_host *host)
++{
++ struct mmc_host *mmc = host->mmc;
++ struct device *dev = &host->pdev->dev;
++ char pio_limit_string[20];
++ int ret;
++
++ mmc->f_max = host->max_clk;
++ mmc->f_min = host->max_clk / SDCDIV_MAX_CDIV;
++
++ mmc->max_busy_timeout = ~0 / (mmc->f_max / 1000);
++
++ dev_dbg(dev, "f_max %d, f_min %d, max_busy_timeout %d\n",
++ mmc->f_max, mmc->f_min, mmc->max_busy_timeout);
++
++ /* host controller capabilities */
++ mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED |
++ MMC_CAP_NEEDS_POLL | MMC_CAP_HW_RESET | MMC_CAP_ERASE |
++ MMC_CAP_CMD23;
++
++ spin_lock_init(&host->lock);
++ mutex_init(&host->mutex);
++
++ if (IS_ERR_OR_NULL(host->dma_chan_rxtx)) {
++ dev_warn(dev, "unable to initialise DMA channel. Falling back to PIO\n");
++ host->use_dma = false;
++ } else {
++ host->use_dma = true;
++
++ host->dma_cfg_tx.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
++ host->dma_cfg_tx.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
++ host->dma_cfg_tx.slave_id = 13; /* DREQ channel */
++ host->dma_cfg_tx.direction = DMA_MEM_TO_DEV;
++ host->dma_cfg_tx.src_addr = 0;
++ host->dma_cfg_tx.dst_addr = host->phys_addr + SDDATA;
++
++ host->dma_cfg_rx.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
++ host->dma_cfg_rx.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
++ host->dma_cfg_rx.slave_id = 13; /* DREQ channel */
++ host->dma_cfg_rx.direction = DMA_DEV_TO_MEM;
++ host->dma_cfg_rx.src_addr = host->phys_addr + SDDATA;
++ host->dma_cfg_rx.dst_addr = 0;
++
++ if (dmaengine_slave_config(host->dma_chan_rxtx,
++ &host->dma_cfg_tx) != 0 ||
++ dmaengine_slave_config(host->dma_chan_rxtx,
++ &host->dma_cfg_rx) != 0)
++ host->use_dma = false;
++ }
++
++ mmc->max_segs = 128;
++ mmc->max_req_size = 524288;
++ mmc->max_seg_size = mmc->max_req_size;
++ mmc->max_blk_size = 1024;
++ mmc->max_blk_count = 65535;
++
++ /* report supported voltage ranges */
++ mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
++
++ INIT_WORK(&host->dma_work, bcm2835_dma_complete_work);
++ INIT_DELAYED_WORK(&host->timeout_work, bcm2835_timeout);
++
++ /* Set interrupt enables */
++ host->hcfg = SDHCFG_BUSY_IRPT_EN;
++
++ bcm2835_reset_internal(host);
++
++ ret = request_threaded_irq(host->irq, bcm2835_irq,
++ bcm2835_threaded_irq,
++ 0, mmc_hostname(mmc), host);
++ if (ret) {
++ dev_err(dev, "failed to request IRQ %d: %d\n", host->irq, ret);
++ return ret;
++ }
++
++ ret = mmc_add_host(mmc);
++ if (ret) {
++ free_irq(host->irq, host);
++ return ret;
++ }
++
++ pio_limit_string[0] = '\0';
++ if (host->use_dma && (PIO_THRESHOLD > 0))
++ sprintf(pio_limit_string, " (>%d)", PIO_THRESHOLD);
++ dev_info(dev, "loaded - DMA %s%s\n",
++ host->use_dma ? "enabled" : "disabled", pio_limit_string);
++
++ return 0;
++}
++
++static int bcm2835_probe(struct platform_device *pdev)
++{
++ struct device *dev = &pdev->dev;
++ struct clk *clk;
++ struct resource *iomem;
++ struct bcm2835_host *host;
++ struct mmc_host *mmc;
++ const __be32 *regaddr_p;
++ int ret;
++
++ dev_dbg(dev, "%s\n", __func__);
++ mmc = mmc_alloc_host(sizeof(*host), dev);
++ if (!mmc)
++ return -ENOMEM;
++
++ mmc->ops = &bcm2835_ops;
++ host = mmc_priv(mmc);
++ host->mmc = mmc;
++ host->pdev = pdev;
++ spin_lock_init(&host->lock);
++
++ iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ host->ioaddr = devm_ioremap_resource(dev, iomem);
++ if (IS_ERR(host->ioaddr)) {
++ ret = PTR_ERR(host->ioaddr);
++ goto err;
++ }
++
++ /* Parse OF address directly to get the physical address for
++ * DMA to our registers.
++ */
++ regaddr_p = of_get_address(pdev->dev.of_node, 0, NULL, NULL);
++ if (!regaddr_p) {
++ dev_err(dev, "Can't get phys address\n");
++ ret = -EINVAL;
++ goto err;
++ }
++
++ host->phys_addr = be32_to_cpup(regaddr_p);
++
++ host->dma_chan = NULL;
++ host->dma_desc = NULL;
++
++ host->dma_chan_rxtx = dma_request_slave_channel(dev, "rx-tx");
++
++ clk = devm_clk_get(dev, NULL);
++ if (IS_ERR(clk)) {
++ ret = PTR_ERR(clk);
++ if (ret != -EPROBE_DEFER)
++ dev_err(dev, "could not get clk: %d\n", ret);
++ goto err;
++ }
++
++ host->max_clk = clk_get_rate(clk);
++
++ host->irq = platform_get_irq(pdev, 0);
++ if (host->irq <= 0) {
++ dev_err(dev, "get IRQ failed\n");
++ ret = -EINVAL;
++ goto err;
++ }
++
++ ret = mmc_of_parse(mmc);
++ if (ret)
++ goto err;
++
++ ret = bcm2835_add_host(host);
++ if (ret)
++ goto err;
++
++ platform_set_drvdata(pdev, host);
++
++ dev_dbg(dev, "%s -> OK\n", __func__);
++
++ return 0;
++
++err:
++ dev_dbg(dev, "%s -> err %d\n", __func__, ret);
++ mmc_free_host(mmc);
++
++ return ret;
++}
++
++static int bcm2835_remove(struct platform_device *pdev)
++{
++ struct bcm2835_host *host = platform_get_drvdata(pdev);
++
++ mmc_remove_host(host->mmc);
++
++ writel(SDVDD_POWER_OFF, host->ioaddr + SDVDD);
++
++ free_irq(host->irq, host);
++
++ cancel_work_sync(&host->dma_work);
++ cancel_delayed_work_sync(&host->timeout_work);
++
++ mmc_free_host(host->mmc);
++ platform_set_drvdata(pdev, NULL);
++
++ return 0;
++}
++
++static const struct of_device_id bcm2835_match[] = {
++ { .compatible = "brcm,bcm2835-sdhost" },
++ { }
++};
++MODULE_DEVICE_TABLE(of, bcm2835_match);
++
++static struct platform_driver bcm2835_driver = {
++ .probe = bcm2835_probe,
++ .remove = bcm2835_remove,
++ .driver = {
++ .name = "sdhost-bcm2835",
++ .of_match_table = bcm2835_match,
++ },
++};
++module_platform_driver(bcm2835_driver);
++
++MODULE_ALIAS("platform:sdhost-bcm2835");
++MODULE_DESCRIPTION("BCM2835 SDHost driver");
++MODULE_LICENSE("GPL v2");
++MODULE_AUTHOR("Phil Elwell");
+From patchwork Wed Mar 8 09:19:05 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,3/7] mmc: bcm2835: add sdhost controller to devicetree
+From: Gerd Hoffmann <kraxel@redhat.com>
+X-Patchwork-Id: 9610693
+Message-Id: <1488964751-22763-6-git-send-email-kraxel@redhat.com>
+To: linux-rpi-kernel@lists.infradead.org
+Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org,
+ f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org,
+ rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com,
+ linux@armlinux.org.uk,
+ linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org,
+ bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>,
+ catalin.marinas@arm.com, linux-mmc@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Wed, 8 Mar 2017 10:19:05 +0100
+
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Acked-by: Eric Anholt <eric@anholt.net>
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 6 ++++++
+ arch/arm/boot/dts/bcm283x.dtsi | 10 ++++++++++
+ 2 files changed, 16 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+index 1e00a28..8b95832 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -69,6 +69,12 @@
+ bus-width = <4>;
+ };
+
++&sdhost {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdhost_gpio48>;
++ bus-width = <4>;
++};
++
+ &pwm {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index 9798bc9..19099a5 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -350,6 +350,16 @@
+ arm,primecell-periphid = <0x00241011>;
+ };
+
++ sdhost: mmc@7e202000 {
++ compatible = "brcm,bcm2835-sdhost";
++ reg = <0x7e202000 0x100>;
++ interrupts = <2 24>;
++ clocks = <&clocks BCM2835_CLOCK_VPU>;
++ dmas = <&dma 13>;
++ dma-names = "rx-tx";
++ status = "disabled";
++ };
++
+ i2s: i2s@7e203000 {
+ compatible = "brcm,bcm2835-i2s";
+ reg = <0x7e203000 0x20>,
+From patchwork Wed Mar 8 09:19:07 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4, 4/7] arm: set CONFIG_MMC_BCM2835=y in bcm2835_defconfig and
+ multi_v7_defconfig
+From: Gerd Hoffmann <kraxel@redhat.com>
+X-Patchwork-Id: 9610689
+Message-Id: <1488964751-22763-8-git-send-email-kraxel@redhat.com>
+To: linux-rpi-kernel@lists.infradead.org
+Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org,
+ f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org,
+ rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com,
+ linux@armlinux.org.uk,
+ linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org,
+ bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>,
+ catalin.marinas@arm.com, linux-mmc@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Wed, 8 Mar 2017 10:19:07 +0100
+
+We need to enable this controller so that we can switch the SD card's
+pinmux over to it by default, which will improve storage performance.
+
+Read access (dd with 64k blocks on rpi2):
+ CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s
+ CONFIG_MMC_BCM2835: 19-20 MB/s
+
+Differences on write access are pretty much in the noise.
+
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+---
+ arch/arm/configs/bcm2835_defconfig | 1 +
+ arch/arm/configs/multi_v7_defconfig | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig
+index 4b89f4e..3767c24 100644
+--- a/arch/arm/configs/bcm2835_defconfig
++++ b/arch/arm/configs/bcm2835_defconfig
+@@ -92,6 +92,7 @@ CONFIG_MMC=y
+ CONFIG_MMC_SDHCI=y
+ CONFIG_MMC_SDHCI_PLTFM=y
+ CONFIG_MMC_SDHCI_IPROC=y
++CONFIG_MMC_BCM2835=y
+ CONFIG_NEW_LEDS=y
+ CONFIG_LEDS_CLASS=y
+ CONFIG_LEDS_GPIO=y
+diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
+index a94126f..63b94d0 100644
+--- a/arch/arm/configs/multi_v7_defconfig
++++ b/arch/arm/configs/multi_v7_defconfig
+@@ -730,6 +730,7 @@ CONFIG_MMC_DW_EXYNOS=y
+ CONFIG_MMC_DW_ROCKCHIP=y
+ CONFIG_MMC_SH_MMCIF=y
+ CONFIG_MMC_SUNXI=y
++CONFIG_MMC_BCM2835=y
+ CONFIG_NEW_LEDS=y
+ CONFIG_LEDS_CLASS=y
+ CONFIG_LEDS_CLASS_FLASH=m
+From patchwork Wed Mar 8 09:19:09 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,5/7] arm64: set CONFIG_MMC_BCM2835=y in defconfig
+From: Gerd Hoffmann <kraxel@redhat.com>
+X-Patchwork-Id: 9610647
+Message-Id: <1488964751-22763-10-git-send-email-kraxel@redhat.com>
+To: linux-rpi-kernel@lists.infradead.org
+Cc: mark.rutland@arm.com, stefan.wahren@i2se.com, ulf.hansson@linaro.org,
+ f.fainelli@gmail.com, sbranden@broadcom.com, devicetree@vger.kernel.org,
+ rjui@broadcom.com, lee@kernel.org, will.deacon@arm.com,
+ linux@armlinux.org.uk,
+ linux-kernel@vger.kernel.org, eric@anholt.net, robh+dt@kernel.org,
+ bcm-kernel-feedback-list@broadcom.com, Gerd Hoffmann <kraxel@redhat.com>,
+ catalin.marinas@arm.com, linux-mmc@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Wed, 8 Mar 2017 10:19:09 +0100
+
+We need to enable this controller so that we can switch the SD card's
+pinmux over to it by default, which will improve storage performance.
+
+Read access (dd with 64k blocks on rpi2):
+ CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s
+ CONFIG_MMC_BCM2835: 19-20 MB/s
+
+Differences on write access are pretty much in the noise.
+
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+---
+ arch/arm64/configs/defconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
+index 7c48028..519a55c 100644
+--- a/arch/arm64/configs/defconfig
++++ b/arch/arm64/configs/defconfig
+@@ -398,6 +398,7 @@ CONFIG_MMC_DW_EXYNOS=y
+ CONFIG_MMC_DW_K3=y
+ CONFIG_MMC_DW_ROCKCHIP=y
+ CONFIG_MMC_SUNXI=y
++CONFIG_MMC_BCM2835=y
+ CONFIG_NEW_LEDS=y
+ CONFIG_LEDS_CLASS=y
+ CONFIG_LEDS_GPIO=y
+From patchwork Sat Mar 25 13:17:00 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: mmc: bcm2835: Fix possible NULL ptr dereference in bcm2835_request
+From: Stefan Wahren <stefan.wahren@i2se.com>
+X-Patchwork-Id: 9644591
+Message-Id: <1490447820-751-1-git-send-email-stefan.wahren@i2se.com>
+To: Ulf Hansson <ulf.hansson@linaro.org>, Eric Anholt <eric@anholt.net>,
+ Gerd Hoffmann <kraxel@redhat.com>
+Cc: Jaehoon Chung <jh80.chung@samsung.com>,
+ Dan Carpenter <dan.carpenter@oracle.com>,
+ linux-rpi-kernel@lists.infradead.org, linux-mmc@vger.kernel.org,
+ Stefan Wahren <stefan.wahren@i2se.com>
+Date: Sat, 25 Mar 2017 13:17:00 +0000
+
+This fixes a NULL pointer dereference in case of a MMC request with a
+set block count command and no data.
+
+Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ drivers/mmc/host/bcm2835.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
+index 7d1b0db..1f343a4 100644
+--- a/drivers/mmc/host/bcm2835.c
++++ b/drivers/mmc/host/bcm2835.c
+@@ -1200,7 +1200,8 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
+ return;
+ }
+
+- host->use_sbc = !!mrq->sbc && (host->mrq->data->flags & MMC_DATA_READ);
++ host->use_sbc = !!mrq->sbc && host->mrq->data &&
++ (host->mrq->data->flags & MMC_DATA_READ);
+ if (host->use_sbc) {
+ if (bcm2835_send_command(host, mrq->sbc)) {
+ if (!host->use_busy)
diff --git a/bcm283x-mmc-imp-speed.patch b/bcm283x-mmc-imp-speed.patch
deleted file mode 100644
index bad003a3c..000000000
--- a/bcm283x-mmc-imp-speed.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From patchwork Fri Dec 30 15:24:32 2016
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/2] mmc: sdhci-iproc: Apply caps from bcm2835-mmc driver
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 9492281
-Message-Id: <1483111474-29907-2-git-send-email-stefan.wahren@i2se.com>
-To: Eric Anholt <eric@anholt.net>, Gerd Hoffmann <kraxel@redhat.com>,
- Adrian Hunter <adrian.hunter@intel.com>,
- Ulf Hansson <ulf.hansson@linaro.org>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>,
- Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
- Ray Jui <rjui@broadcom.com>, linux-mmc@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
-Date: Fri, 30 Dec 2016 15:24:32 +0000
-
-Since the mmc module on bcm2835 neither provide a capabilities register nor
-free documentation we must rely on the downstream implementation [1].
-
-So enable the following capabilities for bcm2835:
-
-MMC_CAP_MMC_HIGHSPEED
-MMC_CAP_SD_HIGHSPEED
-MMC_CAP_DRIVER_TYPE_A
-MMC_CAP_DRIVER_TYPE_C
-
-[1] - https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/mmc/host/bcm2835-mmc.c
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
----
- drivers/mmc/host/sdhci-iproc.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
-index d7046d6..30b3fdf 100644
---- a/drivers/mmc/host/sdhci-iproc.c
-+++ b/drivers/mmc/host/sdhci-iproc.c
-@@ -211,14 +211,17 @@ static void sdhci_iproc_writeb(struct sdhci_host *host, u8 val, int reg)
- static const struct sdhci_pltfm_data sdhci_bcm2835_pltfm_data = {
- .quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION |
- SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
-- SDHCI_QUIRK_MISSING_CAPS,
-+ SDHCI_QUIRK_MISSING_CAPS |
-+ SDHCI_QUIRK_NO_HISPD_BIT,
- .ops = &sdhci_iproc_32only_ops,
- };
-
- static const struct sdhci_iproc_data bcm2835_data = {
- .pdata = &sdhci_bcm2835_pltfm_data,
-- .caps = SDHCI_CAN_VDD_330,
-- .caps1 = 0x00000000,
-+ .caps = SDHCI_CAN_VDD_330 |
-+ SDHCI_CAN_DO_HISPD,
-+ .caps1 = SDHCI_DRIVER_TYPE_A |
-+ SDHCI_DRIVER_TYPE_C,
- .mmc_caps = 0x00000000,
- };
-
-From patchwork Fri Dec 30 15:24:33 2016
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [2/2] mmc: sdhci-iproc: Increase max_blk_size for bcm2835
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 9492273
-Message-Id: <1483111474-29907-3-git-send-email-stefan.wahren@i2se.com>
-To: Eric Anholt <eric@anholt.net>, Gerd Hoffmann <kraxel@redhat.com>,
- Adrian Hunter <adrian.hunter@intel.com>,
- Ulf Hansson <ulf.hansson@linaro.org>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>,
- Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
- Ray Jui <rjui@broadcom.com>, linux-mmc@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
-Date: Fri, 30 Dec 2016 15:24:33 +0000
-
-According to the BCM2835 datasheet the maximum block size for the
-eMMC module is restricted to the internal data FIFO which is 1024 byte.
-But this is still an improvement to the default of 512 byte.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Acked-by: Scott Branden <scott.branden@broadcom.com>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
----
- drivers/mmc/host/sdhci-iproc.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
-index 30b3fdf..3275d49 100644
---- a/drivers/mmc/host/sdhci-iproc.c
-+++ b/drivers/mmc/host/sdhci-iproc.c
-@@ -218,7 +218,9 @@ static void sdhci_iproc_writeb(struct sdhci_host *host, u8 val, int reg)
-
- static const struct sdhci_iproc_data bcm2835_data = {
- .pdata = &sdhci_bcm2835_pltfm_data,
-- .caps = SDHCI_CAN_VDD_330 |
-+ .caps = ((0x1 << SDHCI_MAX_BLOCK_SHIFT)
-+ & SDHCI_MAX_BLOCK_MASK) |
-+ SDHCI_CAN_VDD_330 |
- SDHCI_CAN_DO_HISPD,
- .caps1 = SDHCI_DRIVER_TYPE_A |
- SDHCI_DRIVER_TYPE_C,
diff --git a/debugconfig/CONFIG_DEBUG_REFCOUNT b/debugconfig/CONFIG_DEBUG_REFCOUNT
new file mode 100644
index 000000000..cf296c8de
--- /dev/null
+++ b/debugconfig/CONFIG_DEBUG_REFCOUNT
@@ -0,0 +1 @@
+CONFIG_DEBUG_REFCOUNT=y
diff --git a/efi-lockdown.patch b/efi-lockdown.patch
index 6bbc24fa1..54a7caa24 100644
--- a/efi-lockdown.patch
+++ b/efi-lockdown.patch
@@ -1,667 +1,4 @@
-From d1d5053106cd1f8b2ae52fb6ffb2962f76053bf0 Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Date: Wed, 23 Nov 2016 10:42:44 +0000
-Subject: [PATCH 01/32] efi: use typed function pointers for runtime services
- table
-
-Instead of using void pointers, and casting them to correctly typed
-function pointers upon use, declare the runtime services pointers
-as function pointers using their respective prototypes, for which
-typedefs are already available.
-
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- include/linux/efi.h | 36 ++++++++++++++++++------------------
- 1 file changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index a07a476..93a82de 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -508,24 +508,6 @@ typedef struct {
- u64 query_variable_info;
- } efi_runtime_services_64_t;
-
--typedef struct {
-- efi_table_hdr_t hdr;
-- void *get_time;
-- void *set_time;
-- void *get_wakeup_time;
-- void *set_wakeup_time;
-- void *set_virtual_address_map;
-- void *convert_pointer;
-- void *get_variable;
-- void *get_next_variable;
-- void *set_variable;
-- void *get_next_high_mono_count;
-- void *reset_system;
-- void *update_capsule;
-- void *query_capsule_caps;
-- void *query_variable_info;
--} efi_runtime_services_t;
--
- typedef efi_status_t efi_get_time_t (efi_time_t *tm, efi_time_cap_t *tc);
- typedef efi_status_t efi_set_time_t (efi_time_t *tm);
- typedef efi_status_t efi_get_wakeup_time_t (efi_bool_t *enabled, efi_bool_t *pending,
-@@ -560,6 +542,24 @@ typedef efi_status_t efi_query_variable_store_t(u32 attributes,
- unsigned long size,
- bool nonblocking);
-
-+typedef struct {
-+ efi_table_hdr_t hdr;
-+ efi_get_time_t *get_time;
-+ efi_set_time_t *set_time;
-+ efi_get_wakeup_time_t *get_wakeup_time;
-+ efi_set_wakeup_time_t *set_wakeup_time;
-+ efi_set_virtual_address_map_t *set_virtual_address_map;
-+ void *convert_pointer;
-+ efi_get_variable_t *get_variable;
-+ efi_get_next_variable_t *get_next_variable;
-+ efi_set_variable_t *set_variable;
-+ efi_get_next_high_mono_count_t *get_next_high_mono_count;
-+ efi_reset_system_t *reset_system;
-+ efi_update_capsule_t *update_capsule;
-+ efi_query_capsule_caps_t *query_capsule_caps;
-+ efi_query_variable_info_t *query_variable_info;
-+} efi_runtime_services_t;
-+
- void efi_native_runtime_setup(void);
-
- /*
---
-2.9.3
-
-From 150ebd38630a3ac558b8ab839a7c7e5fd41cc5a8 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Mon, 21 Nov 2016 23:36:31 +0000
-Subject: [PATCH 02/32] x86/efi: Allow invocation of arbitrary runtime services
-
-Provide the ability to perform mixed-mode runtime service calls for x86 in
-the same way that commit 0a637ee61247bd4bed9b2a07568ef7a1cfc76187
-("x86/efi: Allow invocation of arbitrary boot services") provides the
-ability to invoke arbitrary boot services.
-
-Suggested-by: Lukas Wunner <lukas@wunner.de>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- arch/x86/boot/compressed/eboot.c | 1 +
- arch/x86/boot/compressed/head_32.S | 6 +++---
- arch/x86/boot/compressed/head_64.S | 8 ++++----
- arch/x86/include/asm/efi.h | 5 +++++
- 4 files changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index ff01c8f..c8c32eb 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -32,6 +32,7 @@ static void setup_boot_services##bits(struct efi_config *c) \
- \
- table = (typeof(table))sys_table; \
- \
-+ c->runtime_services = table->runtime; \
- c->boot_services = table->boottime; \
- c->text_output = table->con_out; \
- }
-diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
-index fd0b6a2..d85b962 100644
---- a/arch/x86/boot/compressed/head_32.S
-+++ b/arch/x86/boot/compressed/head_32.S
-@@ -82,7 +82,7 @@ ENTRY(efi_pe_entry)
-
- /* Relocate efi_config->call() */
- leal efi32_config(%esi), %eax
-- add %esi, 32(%eax)
-+ add %esi, 40(%eax)
- pushl %eax
-
- call make_boot_params
-@@ -108,7 +108,7 @@ ENTRY(efi32_stub_entry)
-
- /* Relocate efi_config->call() */
- leal efi32_config(%esi), %eax
-- add %esi, 32(%eax)
-+ add %esi, 40(%eax)
- pushl %eax
- 2:
- call efi_main
-@@ -264,7 +264,7 @@ relocated:
- #ifdef CONFIG_EFI_STUB
- .data
- efi32_config:
-- .fill 4,8,0
-+ .fill 5,8,0
- .long efi_call_phys
- .long 0
- .byte 0
-diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
-index efdfba2..beab832 100644
---- a/arch/x86/boot/compressed/head_64.S
-+++ b/arch/x86/boot/compressed/head_64.S
-@@ -265,7 +265,7 @@ ENTRY(efi_pe_entry)
- /*
- * Relocate efi_config->call().
- */
-- addq %rbp, efi64_config+32(%rip)
-+ addq %rbp, efi64_config+40(%rip)
-
- movq %rax, %rdi
- call make_boot_params
-@@ -285,7 +285,7 @@ handover_entry:
- * Relocate efi_config->call().
- */
- movq efi_config(%rip), %rax
-- addq %rbp, 32(%rax)
-+ addq %rbp, 40(%rax)
- 2:
- movq efi_config(%rip), %rdi
- call efi_main
-@@ -457,14 +457,14 @@ efi_config:
- #ifdef CONFIG_EFI_MIXED
- .global efi32_config
- efi32_config:
-- .fill 4,8,0
-+ .fill 5,8,0
- .quad efi64_thunk
- .byte 0
- #endif
-
- .global efi64_config
- efi64_config:
-- .fill 4,8,0
-+ .fill 5,8,0
- .quad efi_call
- .byte 1
- #endif /* CONFIG_EFI_STUB */
-diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
-index e99675b..2f77bce 100644
---- a/arch/x86/include/asm/efi.h
-+++ b/arch/x86/include/asm/efi.h
-@@ -191,6 +191,7 @@ static inline efi_status_t efi_thunk_set_virtual_address_map(
- struct efi_config {
- u64 image_handle;
- u64 table;
-+ u64 runtime_services;
- u64 boot_services;
- u64 text_output;
- efi_status_t (*call)(unsigned long, ...);
-@@ -226,6 +227,10 @@ static inline bool efi_is_64bit(void)
- #define __efi_call_early(f, ...) \
- __efi_early()->call((unsigned long)f, __VA_ARGS__);
-
-+#define efi_call_runtime(f, ...) \
-+ __efi_early()->call(efi_table_attr(efi_runtime_services, f, \
-+ __efi_early()->runtime_services), __VA_ARGS__)
-+
- extern bool efi_reboot_required(void);
-
- #else
---
-2.9.3
-
-From 1342301133b5619b79f3288acf7e39450f8ba34f Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Tue, 22 Nov 2016 00:20:00 +0000
-Subject: [PATCH 03/32] arm/efi: Allow invocation of arbitrary runtime services
-
-efi_call_runtime() is provided for x86 to be able abstract mixed mode
-support. Provide this for ARM also so that common code work in mixed mode
-also.
-
-Suggested-by: Lukas Wunner <lukas@wunner.de>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- arch/arm/include/asm/efi.h | 1 +
- arch/arm64/include/asm/efi.h | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/arch/arm/include/asm/efi.h b/arch/arm/include/asm/efi.h
-index 0b06f53..e4e6a9d6 100644
---- a/arch/arm/include/asm/efi.h
-+++ b/arch/arm/include/asm/efi.h
-@@ -55,6 +55,7 @@ void efi_virtmap_unload(void);
-
- #define efi_call_early(f, ...) sys_table_arg->boottime->f(__VA_ARGS__)
- #define __efi_call_early(f, ...) f(__VA_ARGS__)
-+#define efi_call_runtime(f, ...) sys_table_arg->runtime->f(__VA_ARGS__)
- #define efi_is_64bit() (false)
-
- #define efi_call_proto(protocol, f, instance, ...) \
-diff --git a/arch/arm64/include/asm/efi.h b/arch/arm64/include/asm/efi.h
-index 771b3f0..d74ae22 100644
---- a/arch/arm64/include/asm/efi.h
-+++ b/arch/arm64/include/asm/efi.h
-@@ -49,6 +49,7 @@ int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md);
-
- #define efi_call_early(f, ...) sys_table_arg->boottime->f(__VA_ARGS__)
- #define __efi_call_early(f, ...) f(__VA_ARGS__)
-+#define efi_call_runtime(f, ...) sys_table_arg->runtime->f(__VA_ARGS__)
- #define efi_is_64bit() (true)
-
- #define efi_call_proto(protocol, f, instance, ...) \
---
-2.9.3
-
-From 2e25c5beef2a97abbb660e707bced77c0eb0ace9 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Tue, 22 Nov 2016 00:10:55 +0000
-Subject: [PATCH 04/32] efi: Add SHIM and image security database GUID
- definitions
-
-Add the definitions for shim and image security database, both of which
-are used widely in various Linux distros.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
-Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
----
- include/linux/efi.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 93a82de..c790455 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -610,6 +610,9 @@ void efi_native_runtime_setup(void);
- #define EFI_CONSOLE_OUT_DEVICE_GUID EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
- #define APPLE_PROPERTIES_PROTOCOL_GUID EFI_GUID(0x91bd12fe, 0xf6c3, 0x44fb, 0xa5, 0xb7, 0x51, 0x22, 0xab, 0x30, 0x3a, 0xe0)
-
-+#define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f)
-+#define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23)
-+
- /*
- * This GUID is used to pass to the kernel proper the struct screen_info
- * structure that was populated by the stub based on the GOP protocol instance
---
-2.9.3
-
-From 820d2f84670080c406bad4c8469e80e1e5f8a191 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Mon, 21 Nov 2016 23:55:55 +0000
-Subject: [PATCH 05/32] efi: Get the secure boot status
-
-Get the firmware's secure-boot status in the kernel boot wrapper and stash
-it somewhere that the main kernel image can find.
-
-The efi_get_secureboot() function is extracted from the arm stub and (a)
-generalised so that it can be called from x86 and (b) made to use
-efi_call_runtime() so that it can be run in mixed-mode.
-
-Suggested-by: Lukas Wunner <lukas@wunner.de>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- Documentation/x86/zero-page.txt | 2 +
- arch/x86/boot/compressed/eboot.c | 2 +
- arch/x86/boot/compressed/head_32.S | 1 +
- arch/x86/boot/compressed/head_64.S | 1 +
- arch/x86/include/asm/bootparam_utils.h | 5 ++-
- arch/x86/include/uapi/asm/bootparam.h | 3 +-
- arch/x86/kernel/asm-offsets.c | 1 +
- drivers/firmware/efi/libstub/Makefile | 2 +-
- drivers/firmware/efi/libstub/arm-stub.c | 58 ++-------------------------
- drivers/firmware/efi/libstub/secureboot.c | 66 +++++++++++++++++++++++++++++++
- include/linux/efi.h | 8 ++++
- 11 files changed, 90 insertions(+), 59 deletions(-)
- create mode 100644 drivers/firmware/efi/libstub/secureboot.c
-
-diff --git a/Documentation/x86/zero-page.txt b/Documentation/x86/zero-page.txt
-index 95a4d34..b8527c6 100644
---- a/Documentation/x86/zero-page.txt
-+++ b/Documentation/x86/zero-page.txt
-@@ -31,6 +31,8 @@ Offset Proto Name Meaning
- 1E9/001 ALL eddbuf_entries Number of entries in eddbuf (below)
- 1EA/001 ALL edd_mbr_sig_buf_entries Number of entries in edd_mbr_sig_buffer
- (below)
-+1EB/001 ALL kbd_status Numlock is enabled
-+1EC/001 ALL secure_boot Secure boot is enabled in the firmware
- 1EF/001 ALL sentinel Used to detect broken bootloaders
- 290/040 ALL edd_mbr_sig_buffer EDD MBR signatures
- 2D0/A00 ALL e820_map E820 memory map table
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index c8c32eb..5b151c2 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -1158,6 +1158,8 @@ struct boot_params *efi_main(struct efi_config *c,
- else
- setup_boot_services32(efi_early);
-
-+ boot_params->secure_boot = efi_get_secureboot(sys_table);
-+
- setup_graphics(boot_params);
-
- setup_efi_pci(boot_params);
-diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
-index d85b962..c635f7e 100644
---- a/arch/x86/boot/compressed/head_32.S
-+++ b/arch/x86/boot/compressed/head_32.S
-@@ -61,6 +61,7 @@
-
- __HEAD
- ENTRY(startup_32)
-+ movb $0, BP_secure_boot(%esi)
- #ifdef CONFIG_EFI_STUB
- jmp preferred_addr
-
-diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
-index beab832..ccd2c74 100644
---- a/arch/x86/boot/compressed/head_64.S
-+++ b/arch/x86/boot/compressed/head_64.S
-@@ -244,6 +244,7 @@ ENTRY(startup_64)
- * that maps our entire kernel(text+data+bss+brk), zero page
- * and command line.
- */
-+ movb $0, BP_secure_boot(%rsi)
- #ifdef CONFIG_EFI_STUB
- /*
- * The entry point for the PE/COFF executable is efi_pe_entry, so
-diff --git a/arch/x86/include/asm/bootparam_utils.h b/arch/x86/include/asm/bootparam_utils.h
-index 4a8cb8d..7e16d53 100644
---- a/arch/x86/include/asm/bootparam_utils.h
-+++ b/arch/x86/include/asm/bootparam_utils.h
-@@ -38,9 +38,10 @@ static void sanitize_boot_params(struct boot_params *boot_params)
- memset(&boot_params->ext_ramdisk_image, 0,
- (char *)&boot_params->efi_info -
- (char *)&boot_params->ext_ramdisk_image);
-- memset(&boot_params->kbd_status, 0,
-+ boot_params->kbd_status = 0;
-+ memset(&boot_params->_pad5, 0,
- (char *)&boot_params->hdr -
-- (char *)&boot_params->kbd_status);
-+ (char *)&boot_params->_pad5);
- memset(&boot_params->_pad7[0], 0,
- (char *)&boot_params->edd_mbr_sig_buffer[0] -
- (char *)&boot_params->_pad7[0]);
-diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
-index b10bf31..5138dac 100644
---- a/arch/x86/include/uapi/asm/bootparam.h
-+++ b/arch/x86/include/uapi/asm/bootparam.h
-@@ -135,7 +135,8 @@ struct boot_params {
- __u8 eddbuf_entries; /* 0x1e9 */
- __u8 edd_mbr_sig_buf_entries; /* 0x1ea */
- __u8 kbd_status; /* 0x1eb */
-- __u8 _pad5[3]; /* 0x1ec */
-+ __u8 secure_boot; /* 0x1ec */
-+ __u8 _pad5[2]; /* 0x1ed */
- /*
- * The sentinel is set to a nonzero value (0xff) in header.S.
- *
-diff --git a/arch/x86/kernel/asm-offsets.c b/arch/x86/kernel/asm-offsets.c
-index c62e015..de827d6 100644
---- a/arch/x86/kernel/asm-offsets.c
-+++ b/arch/x86/kernel/asm-offsets.c
-@@ -81,6 +81,7 @@ void common(void) {
-
- BLANK();
- OFFSET(BP_scratch, boot_params, scratch);
-+ OFFSET(BP_secure_boot, boot_params, secure_boot);
- OFFSET(BP_loadflags, boot_params, hdr.loadflags);
- OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch);
- OFFSET(BP_version, boot_params, hdr.version);
-diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
-index 6621b13..9af9668 100644
---- a/drivers/firmware/efi/libstub/Makefile
-+++ b/drivers/firmware/efi/libstub/Makefile
-@@ -28,7 +28,7 @@ OBJECT_FILES_NON_STANDARD := y
- # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
- KCOV_INSTRUMENT := n
-
--lib-y := efi-stub-helper.o gop.o
-+lib-y := efi-stub-helper.o gop.o secureboot.o
-
- # include the stub's generic dependencies from lib/ when building for ARM/arm64
- arm-deps := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c fdt_empty_tree.c fdt_sw.c sort.c
-diff --git a/drivers/firmware/efi/libstub/arm-stub.c b/drivers/firmware/efi/libstub/arm-stub.c
-index b4f7d78..06d5034 100644
---- a/drivers/firmware/efi/libstub/arm-stub.c
-+++ b/drivers/firmware/efi/libstub/arm-stub.c
-@@ -20,52 +20,6 @@
-
- bool __nokaslr;
-
--static int efi_get_secureboot(efi_system_table_t *sys_table_arg)
--{
-- static efi_char16_t const sb_var_name[] = {
-- 'S', 'e', 'c', 'u', 'r', 'e', 'B', 'o', 'o', 't', 0 };
-- static efi_char16_t const sm_var_name[] = {
-- 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0 };
--
-- efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID;
-- efi_get_variable_t *f_getvar = sys_table_arg->runtime->get_variable;
-- u8 val;
-- unsigned long size = sizeof(val);
-- efi_status_t status;
--
-- status = f_getvar((efi_char16_t *)sb_var_name, (efi_guid_t *)&var_guid,
-- NULL, &size, &val);
--
-- if (status != EFI_SUCCESS)
-- goto out_efi_err;
--
-- if (val == 0)
-- return 0;
--
-- status = f_getvar((efi_char16_t *)sm_var_name, (efi_guid_t *)&var_guid,
-- NULL, &size, &val);
--
-- if (status != EFI_SUCCESS)
-- goto out_efi_err;
--
-- if (val == 1)
-- return 0;
--
-- return 1;
--
--out_efi_err:
-- switch (status) {
-- case EFI_NOT_FOUND:
-- return 0;
-- case EFI_DEVICE_ERROR:
-- return -EIO;
-- case EFI_SECURITY_VIOLATION:
-- return -EACCES;
-- default:
-- return -EINVAL;
-- }
--}
--
- efi_status_t efi_open_volume(efi_system_table_t *sys_table_arg,
- void *__image, void **__fh)
- {
-@@ -226,7 +180,7 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,
- efi_guid_t loaded_image_proto = LOADED_IMAGE_PROTOCOL_GUID;
- unsigned long reserve_addr = 0;
- unsigned long reserve_size = 0;
-- int secure_boot = 0;
-+ enum efi_secureboot_mode secure_boot = efi_secureboot_mode_unknown;
- struct screen_info *si;
-
- /* Check if we were booted by the EFI firmware */
-@@ -296,19 +250,13 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,
- pr_efi_err(sys_table, "Failed to parse EFI cmdline options\n");
-
- secure_boot = efi_get_secureboot(sys_table);
-- if (secure_boot > 0)
-- pr_efi(sys_table, "UEFI Secure Boot is enabled.\n");
--
-- if (secure_boot < 0) {
-- pr_efi_err(sys_table,
-- "could not determine UEFI Secure Boot status.\n");
-- }
-
- /*
- * Unauthenticated device tree data is a security hazard, so
- * ignore 'dtb=' unless UEFI Secure Boot is disabled.
- */
-- if (secure_boot != 0 && strstr(cmdline_ptr, "dtb=")) {
-+ if (secure_boot != efi_secureboot_mode_disabled &&
-+ strstr(cmdline_ptr, "dtb=")) {
- pr_efi(sys_table, "Ignoring DTB from command line.\n");
- } else {
- status = handle_cmdline_files(sys_table, image, cmdline_ptr,
-diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c
-new file mode 100644
-index 0000000..70e2a36
---- /dev/null
-+++ b/drivers/firmware/efi/libstub/secureboot.c
-@@ -0,0 +1,66 @@
-+/*
-+ * Secure boot handling.
-+ *
-+ * Copyright (C) 2013,2014 Linaro Limited
-+ * Roy Franz <roy.franz@linaro.org
-+ * Copyright (C) 2013 Red Hat, Inc.
-+ * Mark Salter <msalter@redhat.com>
-+ *
-+ * This file is part of the Linux kernel, and is made available under the
-+ * terms of the GNU General Public License version 2.
-+ *
-+ */
-+
-+#include <linux/efi.h>
-+#include <asm/efi.h>
-+
-+/* BIOS variables */
-+static const efi_guid_t efi_variable_guid = EFI_GLOBAL_VARIABLE_GUID;
-+static const efi_char16_t const efi_SecureBoot_name[] = {
-+ 'S', 'e', 'c', 'u', 'r', 'e', 'B', 'o', 'o', 't', 0
-+};
-+static const efi_char16_t const efi_SetupMode_name[] = {
-+ 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0
-+};
-+
-+#define get_efi_var(name, vendor, ...) \
-+ efi_call_runtime(get_variable, \
-+ (efi_char16_t *)(name), (efi_guid_t *)(vendor), \
-+ __VA_ARGS__);
-+
-+/*
-+ * Determine whether we're in secure boot mode. We return:
-+ */
-+enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
-+{
-+ u8 secboot, setupmode;
-+ unsigned long size;
-+ efi_status_t status;
-+
-+ size = sizeof(secboot);
-+ status = get_efi_var(efi_SecureBoot_name, &efi_variable_guid,
-+ NULL, &size, &secboot);
-+ if (status != EFI_SUCCESS)
-+ goto out_efi_err;
-+
-+ size = sizeof(setupmode);
-+ status = get_efi_var(efi_SetupMode_name, &efi_variable_guid,
-+ NULL, &size, &setupmode);
-+ if (status != EFI_SUCCESS)
-+ goto out_efi_err;
-+
-+ if (secboot == 0 || setupmode == 1)
-+ goto secure_boot_disabled;
-+
-+ pr_efi(sys_table_arg, "UEFI Secure Boot is enabled.\n");
-+ return efi_secureboot_mode_enabled;
-+
-+secure_boot_disabled:
-+ return efi_secureboot_mode_disabled;
-+
-+out_efi_err:
-+ pr_efi_err(sys_table_arg, "Could not determine UEFI Secure Boot status.\n");
-+ if (status == EFI_NOT_FOUND)
-+ goto secure_boot_disabled;
-+ return efi_secureboot_mode_unknown;
-+}
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index c790455..92e23f0 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -1477,6 +1477,14 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg,
- bool efi_runtime_disabled(void);
- extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
-
-+enum efi_secureboot_mode {
-+ efi_secureboot_mode_unset,
-+ efi_secureboot_mode_unknown,
-+ efi_secureboot_mode_disabled,
-+ efi_secureboot_mode_enabled,
-+};
-+enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table);
-+
- /*
- * Arch code can implement the following three template macros, avoiding
- * reptition for the void/non-void return cases of {__,}efi_call_virt():
---
-2.9.3
-
-From baa6cdc01e6017c6bd798b1af89458359e13155e Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Mon, 21 Nov 2016 23:55:55 +0000
-Subject: [PATCH 06/32] efi: Disable secure boot if shim is in insecure mode
-
-A user can manually tell the shim boot loader to disable validation of
-images it loads. When a user does this, it creates a UEFI variable called
-MokSBState that does not have the runtime attribute set. Given that the
-user explicitly disabled validation, we can honor that and not enable
-secure boot mode if that variable is set.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- drivers/firmware/efi/libstub/secureboot.c | 24 +++++++++++++++++++++++-
- 1 file changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c
-index 70e2a36..ba6ef71 100644
---- a/drivers/firmware/efi/libstub/secureboot.c
-+++ b/drivers/firmware/efi/libstub/secureboot.c
-@@ -23,6 +23,12 @@ static const efi_char16_t const efi_SetupMode_name[] = {
- 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0
- };
-
-+/* SHIM variables */
-+static const efi_guid_t shim_guid = EFI_SHIM_LOCK_GUID;
-+static efi_char16_t const shim_MokSBState_name[] = {
-+ 'M', 'o', 'k', 'S', 'B', 'S', 't', 'a', 't', 'e', 0
-+};
-+
- #define get_efi_var(name, vendor, ...) \
- efi_call_runtime(get_variable, \
- (efi_char16_t *)(name), (efi_guid_t *)(vendor), \
-@@ -33,7 +39,8 @@ static const efi_char16_t const efi_SetupMode_name[] = {
- */
- enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- {
-- u8 secboot, setupmode;
-+ u32 attr;
-+ u8 secboot, setupmode, moksbstate;
- unsigned long size;
- efi_status_t status;
-
-@@ -52,6 +59,21 @@ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- if (secboot == 0 || setupmode == 1)
- goto secure_boot_disabled;
-
-+ /* See if a user has put shim into insecure mode. If so, and if the
-+ * variable doesn't have the runtime attribute set, we might as well
-+ * honor that.
-+ */
-+ size = sizeof(moksbstate);
-+ status = get_efi_var(shim_MokSBState_name, &shim_guid,
-+ &attr, &size, &moksbstate);
-+
-+ /* If it fails, we don't care why. Default to secure */
-+ if (status != EFI_SUCCESS)
-+ goto secure_boot_enabled;
-+ if (!(attr & EFI_VARIABLE_RUNTIME_ACCESS) && moksbstate == 1)
-+ goto secure_boot_disabled;
-+
-+secure_boot_enabled:
- pr_efi(sys_table_arg, "UEFI Secure Boot is enabled.\n");
- return efi_secureboot_mode_enabled;
-
---
-2.9.3
-
-From 9079547f4808ea5c8cd844bf40d3895994bd175e Mon Sep 17 00:00:00 2001
+From df7d76ae50f18d4465e59fdf7f19d3df44906cb5 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Mon, 21 Nov 2016 23:55:55 +0000
Subject: [PATCH 07/32] efi: Add EFI_SECURE_BOOT bit
@@ -676,126 +13,38 @@ out whether secure boot mode is enabled so that it can be disabled.
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: David Howells <dhowells@redhat.com>
---
- arch/x86/kernel/setup.c | 15 +++++++++++++++
- include/linux/efi.h | 1 +
- 2 files changed, 16 insertions(+)
+ arch/x86/kernel/setup.c | 1 +
+ include/linux/efi.h | 1 +
+ 2 files changed, 2 insertions(+)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 9c337b0..d8972ec 100644
+index 69780ed..447905e 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -1152,6 +1152,21 @@ void __init setup_arch(char **cmdline_p)
- /* Allocate bigger log buffer */
- setup_log_buf(1);
-
-+ if (IS_ENABLED(CONFIG_EFI)) {
-+ switch (boot_params.secure_boot) {
-+ case efi_secureboot_mode_disabled:
-+ pr_info("Secure boot disabled\n");
-+ break;
-+ case efi_secureboot_mode_enabled:
+@@ -1182,6 +1182,7 @@ void __init setup_arch(char **cmdline_p)
+ pr_info("Secure boot disabled\n");
+ break;
+ case efi_secureboot_mode_enabled:
+ set_bit(EFI_SECURE_BOOT, &efi.flags);
-+ pr_info("Secure boot enabled\n");
-+ break;
-+ default:
-+ pr_info("Secure boot could not be determined\n");
-+ break;
-+ }
-+ }
-+
- reserve_initrd();
-
- acpi_table_upgrade();
+ pr_info("Secure boot enabled\n");
+ break;
+ default:
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 92e23f0..135ca9c 100644
+index 94d34e0..6049600 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
-@@ -1066,6 +1066,7 @@ extern int __init efi_setup_pcdp_console(char *);
- #define EFI_ARCH_1 7 /* First arch-specific bit */
+@@ -1069,6 +1069,7 @@ extern int __init efi_setup_pcdp_console(char *);
#define EFI_DBG 8 /* Print additional debug info at runtime */
#define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */
-+#define EFI_SECURE_BOOT 10 /* Are we in Secure Boot mode? */
-
+ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
++#define EFI_SECURE_BOOT 11 /* Are we in Secure Boot mode? */
+
#ifdef CONFIG_EFI
/*
--
-2.9.3
-
-From eada0243f0b8fc21588a21c564187219dee03e3c Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Fri, 25 Nov 2016 11:52:05 +0000
-Subject: [PATCH 08/32] efi: Handle secure boot from UEFI-2.6
-
-UEFI-2.6 adds a new variable, DeployedMode. If it exists, this must be 1
-if we're to engage lockdown mode.
-
-Reported-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- drivers/firmware/efi/libstub/secureboot.c | 16 +++++++++++++++-
- include/linux/efi.h | 4 ++++
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c
-index ba6ef71..333b159 100644
---- a/drivers/firmware/efi/libstub/secureboot.c
-+++ b/drivers/firmware/efi/libstub/secureboot.c
-@@ -22,6 +22,9 @@ static const efi_char16_t const efi_SecureBoot_name[] = {
- static const efi_char16_t const efi_SetupMode_name[] = {
- 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0
- };
-+static const efi_char16_t const efi_DeployedMode_name[] = {
-+ 'D', 'e', 'p', 'l', 'o', 'y', 'e', 'd', 'M', 'o', 'd', 'e', 0
-+};
-
- /* SHIM variables */
- static const efi_guid_t shim_guid = EFI_SHIM_LOCK_GUID;
-@@ -40,7 +43,7 @@ static efi_char16_t const shim_MokSBState_name[] = {
- enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- {
- u32 attr;
-- u8 secboot, setupmode, moksbstate;
-+ u8 secboot, setupmode, deployedmode, moksbstate;
- unsigned long size;
- efi_status_t status;
-
-@@ -59,6 +62,17 @@ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- if (secboot == 0 || setupmode == 1)
- goto secure_boot_disabled;
-
-+ /* UEFI-2.6 requires DeployedMode to be 1. */
-+ if (sys_table_arg->hdr.revision >= EFI_2_60_SYSTEM_TABLE_REVISION) {
-+ size = sizeof(deployedmode);
-+ status = get_efi_var(efi_DeployedMode_name, &efi_variable_guid,
-+ NULL, &size, &deployedmode);
-+ if (status != EFI_SUCCESS)
-+ goto out_efi_err;
-+ if (deployedmode == 0)
-+ goto secure_boot_disabled;
-+ }
-+
- /* See if a user has put shim into insecure mode. If so, and if the
- * variable doesn't have the runtime attribute set, we might as well
- * honor that.
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 135ca9c..e1893f5 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -645,6 +645,10 @@ typedef struct {
-
- #define EFI_SYSTEM_TABLE_SIGNATURE ((u64)0x5453595320494249ULL)
-
-+#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
-+#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
-+#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
-+#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
- #define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
- #define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
- #define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
---
-2.9.3
+2.7.4
-From 3b0695eda22ad712a2b9be9bb70979d875a37816 Mon Sep 17 00:00:00 2001
+From f05a90c19a9613d8d50597319ed91f691e25b689 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Mon, 21 Nov 2016 23:36:17 +0000
Subject: [PATCH 09/32] Add the ability to lock down access to the running
@@ -818,13 +67,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
create mode 100644 security/lock_down.c
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
-index bc6ed52..8ab309d 100644
+index cb09238..3cd3be9 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -268,6 +268,15 @@ extern int oops_may_print(void);
+@@ -273,6 +273,15 @@ extern int oops_may_print(void);
void do_exit(long error_code) __noreturn;
void complete_and_exit(struct completion *, long) __noreturn;
-
+
+#ifdef CONFIG_LOCK_DOWN_KERNEL
+extern bool kernel_is_locked_down(void);
+#else
@@ -838,13 +87,13 @@ index bc6ed52..8ab309d 100644
int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res);
int __must_check _kstrtol(const char *s, unsigned int base, long *res);
diff --git a/include/linux/security.h b/include/linux/security.h
-index c2125e9..41a7325 100644
+index d3868f2..187b74b 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -1685,5 +1685,16 @@ static inline void free_secdata(void *secdata)
+@@ -1679,5 +1679,16 @@ static inline void free_secdata(void *secdata)
{ }
#endif /* CONFIG_SECURITY */
-
+
+#ifdef CONFIG_LOCK_DOWN_KERNEL
+extern void lock_kernel_down(void);
+#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT
@@ -857,15 +106,15 @@ index c2125e9..41a7325 100644
+#endif
+
#endif /* ! __LINUX_SECURITY_H */
-
+
diff --git a/security/Kconfig b/security/Kconfig
-index 118f454..fa1a678 100644
+index d900f47..d9b391d 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -158,6 +158,21 @@ config HARDENED_USERCOPY_PAGESPAN
- been removed. This config is intended to be used only while
- trying to find such users.
-
+@@ -193,6 +193,21 @@ config STATIC_USERMODEHELPER_PATH
+ If you wish for all usermode helper programs to be disabled,
+ specify an empty string here (i.e. "").
+
+config LOCK_DOWN_KERNEL
+ bool "Allow the kernel to be 'locked down'"
+ help
@@ -942,9 +191,9 @@ index 0000000..5788c60
+}
+EXPORT_SYMBOL(kernel_is_locked_down);
--
-2.9.3
+2.7.4
-From c1cc643f82e1c9efee123eb81befb58e41b87310 Mon Sep 17 00:00:00 2001
+From fb6feb38e297260d050fc477c72683ac51d07ae3 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Mon, 21 Nov 2016 23:55:55 +0000
Subject: [PATCH 10/32] efi: Lock down the kernel if booted in secure boot mode
@@ -962,13 +211,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index bada636..5b19997 100644
+index 874c123..a315974 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1786,6 +1786,18 @@ config EFI_MIXED
-
+@@ -1816,6 +1816,18 @@ config EFI_MIXED
+
If unsure, say N.
-
+
+config EFI_SECURE_BOOT_LOCK_DOWN
+ def_bool n
+ depends on EFI
@@ -985,7 +234,7 @@ index bada636..5b19997 100644
def_bool y
prompt "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index d8972ec..facaeb9 100644
+index 447905e..d44e60e 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -69,6 +69,7 @@
@@ -993,10 +242,10 @@ index d8972ec..facaeb9 100644
#include <linux/tboot.h>
#include <linux/jiffies.h>
+#include <linux/security.h>
-
+
#include <video/edid.h>
-
-@@ -1159,7 +1160,12 @@ void __init setup_arch(char **cmdline_p)
+
+@@ -1183,7 +1184,12 @@ void __init setup_arch(char **cmdline_p)
break;
case efi_secureboot_mode_enabled:
set_bit(EFI_SECURE_BOOT, &efi.flags);
@@ -1011,9 +260,9 @@ index d8972ec..facaeb9 100644
default:
pr_info("Secure boot could not be determined\n");
--
-2.9.3
+2.7.4
-From 03ff1bcf82c3acc3df8e8fd1badbbc9f6a27a2e6 Mon Sep 17 00:00:00 2001
+From 7182f2f5b254d6dc6d3105d2f99219a76adf9de0 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Wed, 23 Nov 2016 13:22:22 +0000
Subject: [PATCH 11/32] Enforce module signatures if the kernel is locked down
@@ -1027,22 +276,22 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/module.c b/kernel/module.c
-index f57dd63..2a021c3 100644
+index 7eba6de..3331f2e 100644
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -2744,7 +2744,7 @@ static int module_sig_check(struct load_info *info, int flags)
+@@ -2756,7 +2756,7 @@ static int module_sig_check(struct load_info *info, int flags)
}
-
+
/* Not having a signature is only an error if we're strict. */
- if (err == -ENOKEY && !sig_enforce)
+ if (err == -ENOKEY && !sig_enforce && !kernel_is_locked_down())
err = 0;
-
+
return err;
--
-2.9.3
+2.7.4
-From 328104a3a9859084a25240ea031572e0d20ceaf4 Mon Sep 17 00:00:00 2001
+From 7e97c58bcd0b4c082b889fb093a2779147532b9f Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is
@@ -1059,23 +308,23 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 5bb1985..6441d21 100644
+index 6d9cc2d..f814404 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -163,6 +163,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
if (p != *ppos)
return -EFBIG;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
if (!valid_phys_addr_range(p, count))
return -EFAULT;
-
-@@ -515,6 +518,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
+
+@@ -513,6 +516,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */
int err = 0;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1083,9 +332,9 @@ index 5bb1985..6441d21 100644
unsigned long to_write = min_t(unsigned long, count,
(unsigned long)high_memory - p);
--
-2.9.3
+2.7.4
-From 2cfe484bdc7e42b42be4887f2b4d23ac9de79593 Mon Sep 17 00:00:00 2001
+From b83b68a9a13120664eaabf21a7b3ff0b065bd5b2 Mon Sep 17 00:00:00 2001
From: Kyle McMartin <kyle@redhat.com>
Date: Mon, 21 Nov 2016 23:55:56 +0000
Subject: [PATCH 13/32] Add a sysrq option to exit secure boot mode
@@ -1105,13 +354,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
7 files changed, 68 insertions(+), 8 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 5b19997..c2b481b 100644
+index a315974..6931e68 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1798,6 +1798,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
+@@ -1828,6 +1828,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
image. Say Y here to automatically lock down the kernel when a
system boots with UEFI Secure Boot enabled.
-
+
+config EFI_ALLOW_SECURE_BOOT_EXIT
+ def_bool n
+ depends on EFI_SECURE_BOOT_LOCK_DOWN && MAGIC_SYSRQ
@@ -1126,25 +375,25 @@ index 5b19997..c2b481b 100644
def_bool y
prompt "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index facaeb9..de24041 100644
+index d44e60e..f7635d0 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -71,6 +71,11 @@
#include <linux/jiffies.h>
#include <linux/security.h>
-
+
+#include <linux/fips.h>
+#include <linux/cred.h>
+#include <linux/sysrq.h>
+#include <linux/init_task.h>
+
#include <video/edid.h>
-
+
#include <asm/mtrr.h>
-@@ -1304,6 +1309,32 @@ void __init i386_reserve_resources(void)
-
+@@ -1328,6 +1333,32 @@ void __init i386_reserve_resources(void)
+
#endif /* CONFIG_X86_32 */
-
+
+#ifdef CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT
+
+static void sysrq_handle_secure_boot(int key)
@@ -1175,19 +424,19 @@ index facaeb9..de24041 100644
.notifier_call = dump_kernel_offset
};
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
-index 92595b9..894ed3f 100644
+index 022be0e..4a054a5 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
-@@ -379,6 +379,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
+@@ -387,6 +387,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
if (!udev->dev)
return -ENOMEM;
-
+
+ udev->dev->flags |= INPUTDEV_FLAGS_SYNTHETIC;
udev->dev->event = uinput_dev_event;
input_set_drvdata(udev->dev, udev);
-
+
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
-index 52bbd27..72f46a1 100644
+index 7113674..e1addc3 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
@@ -479,6 +479,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
@@ -1201,14 +450,14 @@ index 52bbd27..72f46a1 100644
@@ -522,7 +523,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
sysrq_key_table[i] = op_p;
}
-
+
-void __handle_sysrq(int key, bool check_mask)
+void __handle_sysrq(int key, unsigned int from)
{
struct sysrq_key_op *op_p;
int orig_log_level;
@@ -542,11 +543,15 @@ void __handle_sysrq(int key, bool check_mask)
-
+
op_p = __sysrq_get_key_op(key);
if (op_p) {
+ /* Ban synthetic events from some sysrq functionality */
@@ -1232,18 +481,18 @@ index 52bbd27..72f46a1 100644
+ __handle_sysrq(key, SYSRQ_FROM_KERNEL);
}
EXPORT_SYMBOL(handle_sysrq);
-
+
@@ -659,7 +664,7 @@ static void sysrq_do_reset(unsigned long _state)
static void sysrq_handle_reset_request(struct sysrq_state *state)
{
if (state->reset_requested)
- __handle_sysrq(sysrq_xlate[KEY_B], false);
+ __handle_sysrq(sysrq_xlate[KEY_B], SYSRQ_FROM_KERNEL);
-
+
if (sysrq_reset_downtime_ms)
mod_timer(&state->keyreset_timer,
@@ -810,8 +815,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
-
+
default:
if (sysrq->active && value && value != 2) {
+ int from = sysrq->handle.dev->flags & INPUTDEV_FLAGS_SYNTHETIC ?
@@ -1255,13 +504,13 @@ index 52bbd27..72f46a1 100644
break;
}
@@ -1095,7 +1102,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
-
+
if (get_user(c, buf))
return -EFAULT;
- __handle_sysrq(c, false);
+ __handle_sysrq(c, SYSRQ_FROM_PROC);
}
-
+
return count;
diff --git a/include/linux/input.h b/include/linux/input.h
index a65e3b2..8b03571 100644
@@ -1278,16 +527,16 @@ index a65e3b2..8b03571 100644
@@ -124,6 +125,8 @@ struct input_dev {
const char *uniq;
struct input_id id;
-
+
+ unsigned int flags;
+
unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)];
-
+
unsigned long evbit[BITS_TO_LONGS(EV_CNT)];
@@ -190,6 +193,8 @@ struct input_dev {
};
#define to_input_dev(d) container_of(d, struct input_dev, dev)
-
+
+#define INPUTDEV_FLAGS_SYNTHETIC 0x000000001
+
/*
@@ -1300,7 +549,7 @@ index 387fa7d..f7c52a9 100644
@@ -28,6 +28,8 @@
#define SYSRQ_ENABLE_BOOT 0x0080
#define SYSRQ_ENABLE_RTNICE 0x0100
-
+
+#define SYSRQ_DISABLE_USERSPACE 0x00010000
+
struct sysrq_key_op {
@@ -1309,7 +558,7 @@ index 387fa7d..f7c52a9 100644
@@ -42,8 +44,12 @@ struct sysrq_key_op {
* are available -- else NULL's).
*/
-
+
+#define SYSRQ_FROM_KERNEL 0x0001
+#define SYSRQ_FROM_PROC 0x0002
+#define SYSRQ_FROM_SYNTHETIC 0x0004
@@ -1321,22 +570,22 @@ index 387fa7d..f7c52a9 100644
int unregister_sysrq_key(int key, struct sysrq_key_op *op);
struct sysrq_key_op *__sysrq_get_key_op(int key);
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
-index 2a20c0d..d46d2e1 100644
+index ca18391..c4524b8 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
-@@ -1968,7 +1968,7 @@ static int kdb_sr(int argc, const char **argv)
+@@ -1967,7 +1967,7 @@ static int kdb_sr(int argc, const char **argv)
return KDB_ARGCOUNT;
-
+
kdb_trap_printk++;
- __handle_sysrq(*argv[1], check_mask);
+ __handle_sysrq(*argv[1], check_mask ? SYSRQ_FROM_KERNEL : 0);
kdb_trap_printk--;
-
+
return 0;
--
-2.9.3
+2.7.4
-From a82fdfceffac8e9cdc0287d874a8ba1b9d875e70 Mon Sep 17 00:00:00 2001
+From 8884bd44932e595323fcddfb09c2a2a586134cdf Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 14/32] kexec: Disable at runtime if the kernel is locked down
@@ -1360,7 +609,7 @@ index 980936a..46de8e6 100644
+++ b/kernel/kexec.c
@@ -194,6 +194,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
return -EPERM;
-
+
/*
+ * kexec can be used to circumvent module loading restrictions, so
+ * prevent loading in that case
@@ -1373,9 +622,9 @@ index 980936a..46de8e6 100644
* This leaves us room for future extensions.
*/
--
-2.9.3
+2.7.4
-From 43d4cec4b9acbe2954afb355cc32dbd456ca77bd Mon Sep 17 00:00:00 2001
+From cace563d1743c3d2faf1e46bd4df8e63e2310207 Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 15/32] Copy secure_boot flag in boot params across kexec
@@ -1399,21 +648,21 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
-index 3407b14..b843a4e 100644
+index d0a814a..3551bca 100644
--- a/arch/x86/kernel/kexec-bzimage64.c
+++ b/arch/x86/kernel/kexec-bzimage64.c
@@ -179,6 +179,7 @@ setup_efi_state(struct boot_params *params, unsigned long params_load_addr,
if (efi_enabled(EFI_OLD_MEMMAP))
return 0;
-
+
+ params->secure_boot = boot_params.secure_boot;
ei->efi_loader_signature = current_ei->efi_loader_signature;
ei->efi_systab = current_ei->efi_systab;
ei->efi_systab_hi = current_ei->efi_systab_hi;
--
-2.9.3
+2.7.4
-From 7f303a867209a3641d3da378d914967314b60254 Mon Sep 17 00:00:00 2001
+From 08a3467acbc28bb469d1eebd0f5fd40b944d984a Mon Sep 17 00:00:00 2001
From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
Date: Wed, 23 Nov 2016 13:49:19 +0000
Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been
@@ -1433,13 +682,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
-index 037c321..04f48f2 100644
+index b56a558..003cade 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
-@@ -264,6 +264,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
+@@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
return -EPERM;
-
+
+ /* Don't permit images to be loaded into trusted kernels if we're not
+ * going to verify the signature on them
+ */
@@ -1450,9 +699,9 @@ index 037c321..04f48f2 100644
if (flags != (flags & KEXEC_FILE_FLAGS))
return -EINVAL;
--
-2.9.3
+2.7.4
-From 7b42e60e328109fc2a04434c3cfedeb53eae6426 Mon Sep 17 00:00:00 2001
+From 925fd10d7a99a6f999dde76daf2b1ef1238b251a Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 17/32] hibernate: Disable when the kernel is locked down
@@ -1469,22 +718,22 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
-index b26dbc4..3732187 100644
+index 86385af..1629798 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -67,7 +67,7 @@ static const struct platform_hibernation_ops *hibernation_ops;
-
+
bool hibernation_available(void)
{
- return (nohibernate == 0);
+ return nohibernate == 0 && !kernel_is_locked_down();
}
-
+
/**
--
-2.9.3
+2.7.4
-From a2a550718c501375c22f5afdead9d25225abdcd3 Mon Sep 17 00:00:00 2001
+From b14fb5fcd60c84a09a15bd7ec974b6fbce68335c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@srcf.ucam.org>
Date: Wed, 23 Nov 2016 13:28:17 +0000
Subject: [PATCH 18/32] uswsusp: Disable when the kernel is locked down
@@ -1500,23 +749,23 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 3 insertions(+)
diff --git a/kernel/power/user.c b/kernel/power/user.c
-index 35310b6..c9ef5e1 100644
+index 22df9f7..e4b926d 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -52,6 +52,9 @@ static int snapshot_open(struct inode *inode, struct file *filp)
if (!hibernation_available())
return -EPERM;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
lock_system_sleep();
-
+
if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
--
-2.9.3
+2.7.4
-From 81204660ab5d1914cb59fb246f103288ecf9a177 Mon Sep 17 00:00:00 2001
+From d8167273e7562e5aa866d2b65e25bb1962de972c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked
@@ -1537,30 +786,30 @@ Signed-off-by: David Howells <dhowells@redhat.com>
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
-index bcd10c7..02b9c9e 100644
+index 0666287..b10992c 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
-@@ -716,6 +716,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
+@@ -718,6 +718,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
loff_t init_off = off;
u8 *data = (u8 *) buf;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
if (off > dev->cfg_size)
return 0;
if (off + count > dev->cfg_size) {
-@@ -1007,6 +1010,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+@@ -1009,6 +1012,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
resource_size_t start, end;
int i;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
for (i = 0; i < PCI_ROM_RESOURCE; i++)
if (res == &pdev->resource[i])
break;
-@@ -1106,6 +1112,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
+@@ -1108,6 +1114,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
{
@@ -1569,15 +818,15 @@ index bcd10c7..02b9c9e 100644
+
return pci_resource_io(filp, kobj, attr, buf, off, count, true);
}
-
+
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
-index 2408abe..eaccf9b 100644
+index f82710a..139d6f0 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -116,6 +116,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
int size = dev->cfg_size;
int cnt;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1587,7 +836,7 @@ index 2408abe..eaccf9b 100644
@@ -195,6 +198,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
#endif /* HAVE_PCI_MMAP */
int ret = 0;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1597,29 +846,29 @@ index 2408abe..eaccf9b 100644
@@ -233,7 +239,7 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
struct pci_filp_private *fpriv = file->private_data;
int i, ret, write_combine;
-
+
- if (!capable(CAP_SYS_RAWIO))
+ if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down())
return -EPERM;
-
+
/* Make sure the caller is mapping a real resource for this device */
diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
-index b91c4da..81544dc 100644
+index 9bf993e..c095247 100644
--- a/drivers/pci/syscall.c
+++ b/drivers/pci/syscall.c
@@ -92,7 +92,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
u32 dword;
int err = 0;
-
+
- if (!capable(CAP_SYS_ADMIN))
+ if (!capable(CAP_SYS_ADMIN) || kernel_is_locked_down())
return -EPERM;
-
+
dev = pci_get_bus_and_slot(bus, dfn);
--
-2.9.3
+2.7.4
-From 18f4177e0a147adccbbacb1fa95e340352228db3 Mon Sep 17 00:00:00 2001
+From 169d13e0c5240ac6aad13aace5ecbdb3de2cfada Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked
@@ -1641,19 +890,19 @@ Signed-off-by: David Howells <dhowells@redhat.com>
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
-index 589b319..f0789ab 100644
+index b01bc8517..4ccaace 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
-@@ -28,7 +28,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
-
+@@ -29,7 +29,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
+
if ((from + num <= from) || (from + num > IO_BITMAP_BITS))
return -EINVAL;
- if (turn_on && !capable(CAP_SYS_RAWIO))
+ if (turn_on && (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down()))
return -EPERM;
-
+
/*
-@@ -108,7 +108,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
+@@ -113,7 +113,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
return -EINVAL;
/* Trying to gain more privileges? */
if (level > old) {
@@ -1663,22 +912,22 @@ index 589b319..f0789ab 100644
}
regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) |
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 6441d21..f653c36 100644
+index f814404..9afebb6 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
-@@ -743,6 +743,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
-
+@@ -741,6 +741,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
+
static int open_port(struct inode *inode, struct file *filp)
{
+ if (kernel_is_locked_down())
+ return -EPERM;
return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
}
-
+
--
-2.9.3
+2.7.4
-From bdd2ae6c0c8ce5a4dadaa41019a6e065e9aa9128 Mon Sep 17 00:00:00 2001
+From efd24f7e9af624b62f39efce4f60b31f0ca643d8 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:17 +0000
Subject: [PATCH 21/32] x86: Restrict MSR access when the kernel is locked down
@@ -1695,20 +944,20 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 7 insertions(+)
diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c
-index 7f3550a..90cddc1 100644
+index ef68880..fbcce02 100644
--- a/arch/x86/kernel/msr.c
+++ b/arch/x86/kernel/msr.c
-@@ -83,6 +83,9 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
+@@ -84,6 +84,9 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
int err = 0;
ssize_t bytes = 0;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
if (count % 8)
return -EINVAL; /* Invalid chunk size */
-
-@@ -130,6 +133,10 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg)
+
+@@ -131,6 +134,10 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg)
err = -EBADF;
break;
}
@@ -1720,9 +969,9 @@ index 7f3550a..90cddc1 100644
err = -EFAULT;
break;
--
-2.9.3
+2.7.4
-From 50d0b2fd4e13f1da62d7bfabe7559cdaaceee06b Mon Sep 17 00:00:00 2001
+From 62ebdffbcb0726b98562e9f1173a6d5967755764 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 22/32] asus-wmi: Restrict debugfs interface when the kernel is
@@ -1741,33 +990,33 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 9 insertions(+)
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index ce6ca31..d860017 100644
+index 43cb680..9be3e08 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
-@@ -1872,6 +1872,9 @@ static int show_dsts(struct seq_file *m, void *data)
+@@ -1898,6 +1898,9 @@ static int show_dsts(struct seq_file *m, void *data)
int err;
u32 retval = -1;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
-
+
if (err < 0)
-@@ -1888,6 +1891,9 @@ static int show_devs(struct seq_file *m, void *data)
+@@ -1914,6 +1917,9 @@ static int show_devs(struct seq_file *m, void *data)
int err;
u32 retval = -1;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
&retval);
-
-@@ -1912,6 +1918,9 @@ static int show_call(struct seq_file *m, void *data)
+
+@@ -1938,6 +1944,9 @@ static int show_call(struct seq_file *m, void *data)
union acpi_object *obj;
acpi_status status;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1775,9 +1024,9 @@ index ce6ca31..d860017 100644
1, asus->debug.method_id,
&input, &output);
--
-2.9.3
+2.7.4
-From 88156357adede0ba4060adb0934d08e75afb6e9d Mon Sep 17 00:00:00 2001
+From 31f493d03dde1854fa9e540f87a751fbeeb41cb9 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is
@@ -1800,7 +1049,7 @@ index c68e724..e4d721c 100644
@@ -29,6 +29,9 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf,
struct acpi_table_header table;
acpi_status status;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1808,9 +1057,9 @@ index c68e724..e4d721c 100644
/* parse the table header to get the table length */
if (count <= sizeof(struct acpi_table_header))
--
-2.9.3
+2.7.4
-From 960205f64271826552eec6d7ba34144b1615c376 Mon Sep 17 00:00:00 2001
+From 1dec5dc62c78f78b9efe44aac3d6119d97b67017 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has
@@ -1827,10 +1076,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
-index 416953a..79f3d03 100644
+index db78d35..d4d4ba3 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
-@@ -191,7 +191,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
+@@ -192,7 +192,7 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
acpi_physical_address pa = 0;
#ifdef CONFIG_KEXEC
@@ -1838,11 +1087,11 @@ index 416953a..79f3d03 100644
+ if (acpi_rsdp && !kernel_is_locked_down())
return acpi_rsdp;
#endif
-
+
--
-2.9.3
+2.7.4
-From 2f200d295a041b154f3938940c2d8aa1742f1379 Mon Sep 17 00:00:00 2001
+From 96eaf04100d7365d93f898013175351c7d2702a6 Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
Date: Wed, 23 Nov 2016 13:32:27 +0000
Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is
@@ -1865,13 +1114,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 5 insertions(+)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
-index cdd56c4..c657c08 100644
+index 2604189..601096d 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
-@@ -545,6 +545,11 @@ void __init acpi_table_upgrade(void)
+@@ -542,6 +542,11 @@ void __init acpi_table_upgrade(void)
if (table_nr == 0)
return;
-
+
+ if (kernel_is_locked_down()) {
+ pr_notice("kernel is locked down, ignoring table override\n");
+ return;
@@ -1881,9 +1130,9 @@ index cdd56c4..c657c08 100644
memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS,
all_tables_size, PAGE_SIZE);
--
-2.9.3
+2.7.4
-From 6244dff831988f59797add76cee80c73961d5ac5 Mon Sep 17 00:00:00 2001
+From 521979b819b853f7578ba8edef8b33bc2077026d Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
Date: Wed, 23 Nov 2016 13:39:41 +0000
Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is
@@ -1911,13 +1160,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 3 insertions(+)
diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
-index eebb7e3..e4f126a 100644
+index ec50c32..e082718 100644
--- a/drivers/acpi/apei/einj.c
+++ b/drivers/acpi/apei/einj.c
@@ -518,6 +518,9 @@ static int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
int rc;
u64 base_addr, size;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1925,9 +1174,9 @@ index eebb7e3..e4f126a 100644
if (flags && (flags &
~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF)))
--
-2.9.3
+2.7.4
-From a17a541d1af379c3d6ff21924c212f9e2e38c1c8 Mon Sep 17 00:00:00 2001
+From fe597dad1cba83345d62c4079c0d8861c426698c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Wed, 23 Nov 2016 13:41:23 +0000
Subject: [PATCH 27/32] Enable cold boot attack mitigation
@@ -1937,13 +1186,13 @@ Subject: [PATCH 27/32] Enable cold boot attack mitigation
1 file changed, 28 insertions(+)
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index 5b151c2..5093a76 100644
+index 801c7a1..ef9409b 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
-@@ -774,6 +774,31 @@ void setup_graphics(struct boot_params *boot_params)
+@@ -604,6 +604,31 @@ void setup_graphics(struct boot_params *boot_params)
}
}
-
+
+#define MEMORY_ONLY_RESET_CONTROL_GUID \
+ EFI_GUID (0xe20939be, 0x32d4, 0x41be, 0xa1, 0x50, 0x89, 0x7f, 0x85, 0xd4, 0x98, 0x29)
+
@@ -1972,20 +1221,20 @@ index 5b151c2..5093a76 100644
/*
* Because the x86 boot code expects to be passed a boot_params we
* need to create one ourselves (usually the bootloader would create
-@@ -1158,6 +1183,9 @@ struct boot_params *efi_main(struct efi_config *c,
+@@ -988,6 +1013,9 @@ struct boot_params *efi_main(struct efi_config *c,
else
setup_boot_services32(efi_early);
-
+
+ /* Ask the firmware to clear memory if we don't have a clean shutdown */
+ enable_reset_attack_mitigation();
+
- boot_params->secure_boot = efi_get_secureboot(sys_table);
-
- setup_graphics(boot_params);
+ /*
+ * If the boot loader gave us a value for secure_boot then we use that,
+ * otherwise we ask the BIOS.
--
-2.9.3
+2.7.4
-From c9c34942d873f7a09b9c7211bda3063354ff5706 Mon Sep 17 00:00:00 2001
+From 04fac895731801bc6cb26a6061f1c353c80a866c Mon Sep 17 00:00:00 2001
From: "Lee, Chun-Yi" <jlee@suse.com>
Date: Wed, 23 Nov 2016 13:52:16 +0000
Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the
@@ -2004,13 +1253,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 11 insertions(+)
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
-index 5dcb992..474e001 100644
+index cee9802..7fde851 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -65,6 +65,11 @@ BPF_CALL_3(bpf_probe_read, void *, dst, u32, size, const void *, unsafe_ptr)
{
int ret;
-
+
+ if (kernel_is_locked_down()) {
+ memset(dst, 0, size);
+ return -EPERM;
@@ -2032,7 +1281,7 @@ index 5dcb992..474e001 100644
@@ -143,6 +151,9 @@ BPF_CALL_5(bpf_trace_printk, char *, fmt, u32, fmt_size, u64, arg1,
if (fmt[--fmt_size] != 0)
return -EINVAL;
-
+
+ if (kernel_is_locked_down())
+ return __trace_printk(1, fmt, 0, 0, 0);
+
@@ -2040,9 +1289,9 @@ index 5dcb992..474e001 100644
for (i = 0; i < fmt_size; i++) {
if ((!isprint(fmt[i]) && !isspace(fmt[i])) || !isascii(fmt[i]))
--
-2.9.3
+2.7.4
-From 04485aa7865dc340f38e32ad29793c625167acf3 Mon Sep 17 00:00:00 2001
+From 707d0e14c2c0d6c3139ff4bcb16ee22c462b4304 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Tue, 22 Nov 2016 10:10:34 +0000
Subject: [PATCH 29/32] scsi: Lock down the eata driver
@@ -2068,13 +1317,13 @@ cc: linux-scsi@vger.kernel.org
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
-index 227dd2c..5c036d1 100644
+index 227dd2c..5c036d10 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1552,8 +1552,13 @@ static int eata2x_detect(struct scsi_host_template *tpnt)
-
+
tpnt->proc_name = "eata2x";
-
+
- if (strlen(boot_options))
+ if (strlen(boot_options)) {
+ if (kernel_is_locked_down()) {
@@ -2083,13 +1332,13 @@ index 227dd2c..5c036d1 100644
+ }
option_setup(boot_options);
+ }
-
+
#if defined(MODULE)
/* io_port could have been modified when loading as a module */
--
-2.9.3
+2.7.4
-From b1e8f012b7b17e0146f8e63de51f6f45819c859e Mon Sep 17 00:00:00 2001
+From 07e05e0b7d806a05eba55092630bb75a92311344 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Fri, 25 Nov 2016 14:37:45 +0000
Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked
@@ -2110,19 +1359,19 @@ index 55ef7d1..193e4f7 100644
@@ -1578,6 +1578,11 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj,
struct pcmcia_socket *s;
int error;
-
+
+ if (kernel_is_locked_down()) {
+ pr_err("Direct CIS storage isn't permitted when the kernel is locked down\n");
+ return -EPERM;
+ }
+
s = to_socket(container_of(kobj, struct device, kobj));
-
+
if (off)
--
-2.9.3
+2.7.4
-From 66d9c09b9427719e3c6a34132e9ca0724cb1e3a8 Mon Sep 17 00:00:00 2001
+From cf1e877adbe35c5f72a9d85570b494aa3f35be6a Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Wed, 7 Dec 2016 10:28:39 +0000
Subject: [PATCH 31/32] Lock down TIOCSSERIAL
@@ -2139,13 +1388,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index f2303f3..f2c07fa 100644
+index 9939c3d..7c040e2 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -819,6 +819,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
+@@ -820,6 +820,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
new_flags = new_info->flags;
old_custom_divisor = uport->custom_divisor;
-
+
+ if ((change_port || change_irq) && kernel_is_locked_down()) {
+ pr_err("Using TIOCSSERIAL to change device addresses, irqs and dma channels is not permitted when the kernel is locked down\n");
+ retval = -EPERM;
@@ -2156,4 +1405,5 @@ index f2303f3..f2c07fa 100644
retval = -EPERM;
if (change_irq || change_port ||
--
-2.9.3
+2.7.4
+
diff --git a/filter-aarch64.sh b/filter-aarch64.sh
index de039f17f..70d6338b0 100644
--- a/filter-aarch64.sh
+++ b/filter-aarch64.sh
@@ -13,4 +13,4 @@ driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds medi
ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom"
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr vc4"
diff --git a/filter-armv7hl.sh b/filter-armv7hl.sh
index 863e1aeac..2141dfef4 100644
--- a/filter-armv7hl.sh
+++ b/filter-armv7hl.sh
@@ -15,4 +15,4 @@ ethdrvs="3com adaptec alteon altera amd atheros broadcom cadence chelsio cisco d
drmdrvs="amd armada bridge ast exynos i2c imx mgag200 msm omapdrm panel nouveau radeon rockchip tegra tilcdc via"
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr vc4"
diff --git a/filter-modules.sh b/filter-modules.sh
index d4d40f9ca..c3fbaad03 100755
--- a/filter-modules.sh
+++ b/filter-modules.sh
@@ -24,7 +24,7 @@ ethdrvs="3com adaptec alteon amd atheros broadcom cadence calxeda chelsio cisco
inputdrvs="gameport tablet touchscreen"
-scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs"
+scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
usbdrvs="atm image misc serial wusbcore"
diff --git a/geekbox-v4-device-tree-support.patch b/geekbox-v4-device-tree-support.patch
deleted file mode 100644
index 54f2bbe7e..000000000
--- a/geekbox-v4-device-tree-support.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 11aa129d33635fb33304b6e9b945e502f5ba707a Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Thu, 17 Mar 2016 15:19:04 +0000
-Subject: [PATCH] geekbox v4 patchset
-
----
- Documentation/devicetree/bindings/arm/rockchip.txt | 9 ++++
- arch/arm64/boot/dts/rockchip/Makefile | 1 +
- arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi | 2 +-
- .../dts/rockchip/rk3368-geekbox-landingship.dts | 57 ++++++++++++++++++++++
- arch/arm64/boot/dts/rockchip/rk3368-r88.dts | 2 +-
- 5 files changed, 69 insertions(+), 2 deletions(-)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
-
-diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
-index 55f388f..989a039 100644
---- a/Documentation/devicetree/bindings/arm/rockchip.txt
-+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
-@@ -99,6 +99,15 @@ Rockchip platforms device tree bindings
- Required root node properties:
- - compatible = "rockchip,rk1108-evb", "rockchip,rk1108";
-
-+- GeekBuying GeekBox:
-+ Required root node properties:
-+ - compatible = "geekbuying,geekbox", "rockchip,rk3368";
-+
-+- GeekBuying Landingship with GeekBox module:
-+ Required root node properties:
-+ - compatible = "geekbuying,geekbox-landingship",
-+ "geekbuying,geekbox", "rockchip,rk3368";
-+
- - Rockchip RK3368 evb:
- Required root node properties:
- - compatible = "rockchip,rk3368-evb-act8846", "rockchip,rk3368";
-diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
-index 87669f6..9aec54e 100644
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -1,6 +1,7 @@
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox-landingship.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb.dtb
-diff --git a/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi b/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
-index fff8b19..bd4f2cf 100644
---- a/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi
-@@ -49,7 +49,7 @@
- stdout-path = "serial2:115200n8";
- };
-
-- memory {
-+ memory@0 {
- device_type = "memory";
- reg = <0x0 0x0 0x0 0x40000000>;
- };
-diff --git a/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts b/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
-new file mode 100644
-index 0000000..a28ace9
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3368-geekbox-landingship.dts
-@@ -0,0 +1,57 @@
-+/*
-+ * Copyright (c) 2016 Andreas Färber
-+ *
-+ * This file is dual-licensed: you can use it either under the terms
-+ * of the GPL or the X11 license, at your option. Note that this dual
-+ * licensing only applies to this file, and not this project as a
-+ * whole.
-+ *
-+ * a) This file is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This file is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * Or, alternatively,
-+ *
-+ * b) Permission is hereby granted, free of charge, to any person
-+ * obtaining a copy of this software and associated documentation
-+ * files (the "Software"), to deal in the Software without
-+ * restriction, including without limitation the rights to use,
-+ * copy, modify, merge, publish, distribute, sublicense, and/or
-+ * sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following
-+ * conditions:
-+ *
-+ * The above copyright notice and this permission notice shall be
-+ * included in all copies or substantial portions of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-+ * OTHER DEALINGS IN THE SOFTWARE.
-+ */
-+
-+#include "rk3368-geekbox.dts"
-+
-+/ {
-+ model = "GeekBox on Landingship";
-+ compatible = "geekbuying,geekbox-landingship",
-+ "geekbuying,geekbox", "rockchip,rk3368";
-+};
-+
-+&i2c1 {
-+ status = "disabled";
-+};
-+
-+&i2c2 {
-+ status = "okay";
-+};
-diff --git a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
-index eed1ef6..18e2b77 100644
---- a/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3368-r88.dts
-@@ -52,7 +52,7 @@
- stdout-path = "serial2:115200n8";
- };
-
-- memory {
-+ memory@0 {
- device_type = "memory";
- reg = <0x0 0x0 0x0 0x40000000>;
- };
---
-2.7.4
-
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index 968ed9315..a21c4c941 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -145,7 +145,6 @@ CONFIG_ADAPTEC_STARFIRE=m
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
@@ -216,7 +215,7 @@ CONFIG_ARCH_HISI=y
# CONFIG_ARCH_LAYERSCAPE is not set
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
+CONFIG_ARCH_MESON=y
CONFIG_ARCH_MVEBU=y
CONFIG_ARCH_QCOM=y
# CONFIG_ARCH_RENESAS is not set
@@ -229,6 +228,7 @@ CONFIG_ARCH_TEGRA_132_SOC=y
# CONFIG_ARCH_TEGRA_186_SOC is not set
CONFIG_ARCH_TEGRA_210_SOC=y
CONFIG_ARCH_TEGRA=y
+CONFIG_ARCH_THUNDER2=y
CONFIG_ARCH_THUNDER=y
# CONFIG_ARCH_UNIPHIER is not set
CONFIG_ARCH_VEXPRESS=y
@@ -237,7 +237,7 @@ CONFIG_ARCH_XGENE=y
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQMP is not set
# CONFIG_ARCNET is not set
-CONFIG_ARM64_64K_PAGES=y
+CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_ERRATUM_819472=y
@@ -259,6 +259,7 @@ CONFIG_ARM64_VA_BITS=48
CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARM64_VHE=y
CONFIG_ARM64=y
+CONFIG_ARMADA_AP806_SYSCON=y
CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
@@ -453,7 +454,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -501,6 +501,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -539,6 +540,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -636,6 +638,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -722,6 +725,7 @@ CONFIG_CARL9170_DEBUGFS=y
CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170=m
CONFIG_CASSINI=m
+CONFIG_CAVIUM_CPT=m
CONFIG_CAVIUM_ERRATUM_22375=y
CONFIG_CAVIUM_ERRATUM_23144=y
CONFIG_CAVIUM_ERRATUM_23154=y
@@ -761,13 +765,16 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
+CONFIG_CHARGER_AXP20X=m
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24190 is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -776,6 +783,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHELSIO_T1_1G=y
@@ -819,6 +827,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
@@ -840,20 +849,11 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
+CONFIG_COMMON_CLK_HI3519=m
+CONFIG_COMMON_CLK_HI3660=y
# CONFIG_COMMON_CLK_HI3798CV200 is not set
CONFIG_COMMON_CLK_HI6220=y
CONFIG_COMMON_CLK_MAX77686=m
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_QCOM=m
CONFIG_COMMON_CLK_RK808=m
@@ -861,13 +861,16 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_COMMON_CLK_XGENE=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMMON_RESET_HI6220=m
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
+# CONFIG_COMPAT is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
@@ -913,12 +916,15 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64=m
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
CONFIG_CRYPTO_AES_ARM_BS=y
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -932,12 +938,12 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_CRC32_ARM64_CE=m
CONFIG_CRYPTO_CRC32_ARM64=m
CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
@@ -1051,6 +1057,7 @@ CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_DEBUG_CREDENTIALS=y
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_EFI is not set
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_GPIO is not set
@@ -1089,6 +1096,7 @@ CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SECTION_MISMATCH=y
@@ -1148,6 +1156,7 @@ CONFIG_DMA_OF=y
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
CONFIG_DMARD10=m
+# CONFIG_DMA_SUN6I is not set
# CONFIG_DMATEST is not set
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE_CLEANER=m
@@ -1203,6 +1212,7 @@ CONFIG_DRM_ANALOGIX_DP=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1213,18 +1223,10 @@ CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_HISI_KIRIN=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
@@ -1239,7 +1241,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
+CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
@@ -1249,7 +1251,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8622=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1263,6 +1265,7 @@ CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_TEGRA_DEBUG is not set
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
+CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1270,8 +1273,6 @@ CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-# CONFIG_DRM_VMWGFX is not set
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1359,13 +1360,18 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
-# CONFIG_DWMAC_IPQ806X is not set
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
+CONFIG_DWMAC_GENERIC=m
+CONFIG_DWMAC_IPQ806X=m
CONFIG_DWMAC_MESON=m
CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_SUN8I=m
+CONFIG_DWMAC_SUNXI=m
CONFIG_DW_WATCHDOG=m
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_FTRACE=y
@@ -1388,6 +1394,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1438,6 +1445,7 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_ADC_JACK=m
CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_INTEL_INT3496=m
CONFIG_EXTCON=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
@@ -1473,7 +1481,6 @@ CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_FB_ASILIANT is not set
@@ -1491,18 +1498,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1546,9 +1546,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1576,7 +1573,7 @@ CONFIG_FMC_TRIVIAL=m
CONFIG_FMC_WRITE_EEPROM=m
# CONFIG_FONTS is not set
CONFIG_FORCEDETH=m
-CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_FORCE_MAX_ZONEORDER=13
# CONFIG_FPGA is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
@@ -1591,6 +1588,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ERRATUM_A008585=y
# CONFIG_FSL_MC_BUS is not set
@@ -1657,13 +1655,12 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
CONFIG_GPIO_AXP209=m
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
+CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
@@ -1675,7 +1672,6 @@ CONFIG_GPIOLIB=y
CONFIG_GPIO_MAX77620=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
@@ -1683,26 +1679,24 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
# CONFIG_GPIO_WS16C48 is not set
CONFIG_GPIO_XGENE_SB=m
CONFIG_GPIO_XGENE=y
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1852,6 +1846,7 @@ CONFIG_HISAX_TELES_CS=m
CONFIG_HISAX_TELESPCI=y
CONFIG_HISAX_W6692=y
CONFIG_HISI_KIRIN_DW_DSI=m
+CONFIG_HISILICON_ERRATUM_161010101=y
CONFIG_HISILICON_IRQ_MBIGEN=y
CONFIG_HISI_THERMAL=m
CONFIG_HIST_TRIGGERS=y
@@ -1905,6 +1900,7 @@ CONFIG_HW_RANDOM_XGENE=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
CONFIG_HWSPINLOCK_QCOM=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1943,7 +1939,6 @@ CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_HIX5HD2 is not set
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C_MESON=m
CONFIG_I2C_MLXCPLD=m
@@ -1979,6 +1974,7 @@ CONFIG_I2C_SLAVE_EEPROM=m
CONFIG_I2C_SLAVE=y
CONFIG_I2C_STUB=m
# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TEGRA_BPMP=m
CONFIG_I2C_TEGRA=m
CONFIG_I2C_THUNDERX=m
CONFIG_I2C_TINY_USB=m
@@ -1997,8 +1993,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2040,6 +2034,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS=m
@@ -2059,6 +2054,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -2068,6 +2064,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -2076,6 +2073,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2171,8 +2169,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2182,6 +2178,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_DEADLINE=y
@@ -2323,6 +2320,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2365,6 +2363,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_SUNXI=m
CONFIG_IR_TTUSBIR=m
@@ -2523,6 +2522,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_TEGRA=m
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2534,7 +2534,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2581,13 +2581,14 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
-# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_REGISTER=y
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2611,15 +2612,15 @@ CONFIG_LEDS_NIC78BX=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
-# CONFIG_LEDS_PWM is not set
+CONFIG_LEDS_PWM=m
CONFIG_LEDS_REGULATOR=m
# CONFIG_LEDS_S3C24XX is not set
-# CONFIG_LEDS_SYSCON is not set
+CONFIG_LEDS_SYSCON=y
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
-# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
@@ -2696,6 +2697,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2728,6 +2731,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2735,10 +2739,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2821,6 +2827,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
CONFIG_MESON_GXBB_WATCHDOG=m
CONFIG_MESON_GXL_PHY=m
+CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
# CONFIG_MESON_WATCHDOG is not set
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -2843,6 +2850,7 @@ CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2862,7 +2870,7 @@ CONFIG_MFD_HI655X_PMIC=m
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_MAX14577 is not set
CONFIG_MFD_MAX77620=y
-# CONFIG_MFD_MAX77686 is not set
+CONFIG_MFD_MAX77686=y
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
@@ -2972,6 +2980,7 @@ CONFIG_MMA7660=m
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
@@ -3044,7 +3053,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3060,6 +3068,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3124,6 +3133,7 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
CONFIG_MTD_PHYSMAP_OF=m
CONFIG_MTD_PHYSMAP_OF_VERSATILE=y
# CONFIG_MTD_PLATRAM is not set
@@ -3152,6 +3162,7 @@ CONFIG_MVEBU_MBUS=y
CONFIG_MVMDIO=m
CONFIG_MVNETA_BM_ENABLE=m
CONFIG_MVNETA=m
+CONFIG_MVPP2=m
# CONFIG_MV_XOR_V2 is not set
CONFIG_MV_XOR=y
CONFIG_MWAVE=m
@@ -3195,6 +3206,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3328,6 +3340,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3338,7 +3351,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3394,6 +3407,7 @@ CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3517,6 +3531,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3588,6 +3604,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3734,6 +3751,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -3793,6 +3811,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCC=y
@@ -3867,6 +3886,8 @@ CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_QCOM_APQ8064_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_UFS is not set
+CONFIG_PHY_QCOM_USB_HSIC=m
+CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
@@ -3876,7 +3897,7 @@ CONFIG_PHY_ROCKCHIP_USB=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
-# CONFIG_PHY_SUN4I_USB is not set
+CONFIG_PHY_SUN4I_USB=m
# CONFIG_PHY_SUN9I_USB is not set
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -3890,6 +3911,7 @@ CONFIG_PINCTRL_AMD=y
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
+# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
CONFIG_PINCTRL_MAX77620=m
@@ -3908,6 +3930,7 @@ CONFIG_PINCTRL_QDF2XXX=y
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3982,6 +4005,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3996,6 +4020,7 @@ CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -4014,6 +4039,7 @@ CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
@@ -4023,9 +4049,13 @@ CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
# CONFIG_QCOM_EBI2 is not set
CONFIG_QCOM_EMAC=m
+# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
+CONFIG_QCOM_FALKOR_ERRATUM_1009=y
CONFIG_QCOM_GSBI=y
CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
+CONFIG_QCOM_IRQ_COMBINER=y
+CONFIG_QCOM_L2_PMU=y
# CONFIG_QCOM_Q6V5_PIL is not set
CONFIG_QCOM_QDF2400_ERRATUM_0065=y
CONFIG_QCOM_QFPROM=m
@@ -4042,6 +4072,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
# CONFIG_QCOM_WCNSS_PIL is not set
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -4055,6 +4086,7 @@ CONFIG_QLCNIC_SRIOV=y
CONFIG_QLGE=m
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
+# CONFIG_QORIQ_CPUFREQ is not set
# CONFIG_QORIQ_THERMAL is not set
# CONFIG_QRTR is not set
CONFIG_QSEMI_PHY=m
@@ -4089,7 +4121,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4141,6 +4172,7 @@ CONFIG_REGULATOR_ACT8865=m
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4158,6 +4190,8 @@ CONFIG_REGULATOR_HI655X=m
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
CONFIG_REGULATOR_MAX77620=m
+CONFIG_REGULATOR_MAX77686=m
+CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4167,7 +4201,7 @@ CONFIG_REGULATOR_MAX77620=m
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_RPM=m
CONFIG_REGULATOR_QCOM_SMD_RPM=m
CONFIG_REGULATOR_QCOM_SPMI=m
@@ -4198,7 +4232,6 @@ CONFIG_RESET_HISI=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RFKILL_REGULATOR=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
@@ -4382,7 +4415,7 @@ CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
CONFIG_SATA_ACARD_AHCI=m
-CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_AHCI_SEATTLE=m
CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
@@ -4677,6 +4710,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4714,6 +4748,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4721,6 +4756,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4736,6 +4772,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4749,7 +4787,7 @@ CONFIG_SERIAL_MSM_CONSOLE=y
CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
@@ -4809,6 +4847,7 @@ CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC911X=m
CONFIG_SMC91X=m
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4917,6 +4956,7 @@ CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_JACK=y
+# CONFIG_SND_KIRKWOOD_SOC is not set
CONFIG_SND_KORG1212=m
CONFIG_SND_LAYLA20=m
CONFIG_SND_LAYLA24=m
@@ -4955,8 +4995,9 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
+CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
# CONFIG_SND_SOC_AK4104 is not set
@@ -4967,6 +5008,7 @@ CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ALC5623 is not set
CONFIG_SND_SOC_ALL_CODECS=m
CONFIG_SND_SOC_AMD_ACP=m
+CONFIG_SND_SOC_APQ8016_SBC=m
# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -4986,7 +5028,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -5001,11 +5045,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
-# CONFIG_SND_SOC is not set
+CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -5016,6 +5061,9 @@ CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_SPI=m
+CONFIG_SND_SOC_QCOM=m
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
CONFIG_SND_SOC_ROCKCHIP_I2S=m
CONFIG_SND_SOC_ROCKCHIP=m
CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
@@ -5023,7 +5071,7 @@ CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
+CONFIG_SND_SOC_SGTL5000=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_SSM2602_I2C is not set
@@ -5032,16 +5080,28 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STA32X is not set
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_STORM is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TEGRA_ALC5632 is not set
+CONFIG_SND_SOC_TEGRA=m
+CONFIG_SND_SOC_TEGRA_MAX98090=m
+CONFIG_SND_SOC_TEGRA_RT5640=m
+CONFIG_SND_SOC_TEGRA_RT5677=m
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
+# CONFIG_SND_SOC_TEGRA_TRIMSLICE is not set
+# CONFIG_SND_SOC_TEGRA_WM8753 is not set
+# CONFIG_SND_SOC_TEGRA_WM8903 is not set
+# CONFIG_SND_SOC_TEGRA_WM9712 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=m
-# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
# CONFIG_SND_SOC_WM8580 is not set
@@ -5067,7 +5127,10 @@ CONFIG_SND_SOC_WM8804_SPI=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SUN4I_CODEC=m
+CONFIG_SND_SUN4I_I2S=m
+CONFIG_SND_SUN4I_SPDIF=m
CONFIG_SND_SUN8I_CODEC_ANALOG=m
+CONFIG_SND_SUN8I_CODEC=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5093,6 +5156,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -5157,6 +5221,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SRAM=y
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -5174,6 +5239,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -5183,19 +5249,21 @@ CONFIG_STK3310=m
# CONFIG_STM is not set
CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
-# CONFIG_STMMAC_PLATFORM is not set
+CONFIG_STMMAC_PLATFORM=m
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_STUB_CLK_HI6220=y
# CONFIG_SUN4I_EMAC is not set
-# CONFIG_SUN50I_A64_CCU is not set
+CONFIG_SUN50I_A64_CCU=y
+# CONFIG_SUN5I_CCU is not set
# CONFIG_SUN6I_A31_CCU is not set
# CONFIG_SUN8I_A23_CCU is not set
# CONFIG_SUN8I_A33_CCU is not set
-CONFIG_SUN8I_EMAC=m
# CONFIG_SUN8I_H3_CCU is not set
+# CONFIG_SUN8I_V3S_CCU is not set
+# CONFIG_SUN9I_A80_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5221,7 +5289,7 @@ CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
+CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
@@ -5317,9 +5385,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5349,6 +5419,7 @@ CONFIG_THUNDER_NIC_VF=m
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5357,15 +5428,19 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_MI0283QT=m
+CONFIG_TINYDRM_MIPI_DBI=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5435,6 +5510,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5502,7 +5578,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5523,6 +5599,7 @@ CONFIG_USB_CHAOSKEY=m
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_UDC=y
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -5646,6 +5723,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5804,6 +5882,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5884,7 +5963,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
# CONFIG_VCNL4000 is not set
-# CONFIG_VDSO is not set
+CONFIG_VDSO=y
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -5903,6 +5982,7 @@ CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m
CONFIG_VFIO_PLATFORM=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
# CONFIG_VGA_CONSOLE is not set
@@ -5953,6 +6033,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5974,7 +6055,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -6010,6 +6090,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -6025,8 +6106,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -6048,6 +6127,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -6120,6 +6200,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 8e2264045..8282fcf19 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -145,7 +145,6 @@ CONFIG_ADAPTEC_STARFIRE=m
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
@@ -216,7 +215,7 @@ CONFIG_ARCH_HISI=y
# CONFIG_ARCH_LAYERSCAPE is not set
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
+CONFIG_ARCH_MESON=y
CONFIG_ARCH_MVEBU=y
CONFIG_ARCH_QCOM=y
# CONFIG_ARCH_RENESAS is not set
@@ -229,6 +228,7 @@ CONFIG_ARCH_TEGRA_132_SOC=y
# CONFIG_ARCH_TEGRA_186_SOC is not set
CONFIG_ARCH_TEGRA_210_SOC=y
CONFIG_ARCH_TEGRA=y
+CONFIG_ARCH_THUNDER2=y
CONFIG_ARCH_THUNDER=y
# CONFIG_ARCH_UNIPHIER is not set
CONFIG_ARCH_VEXPRESS=y
@@ -237,7 +237,7 @@ CONFIG_ARCH_XGENE=y
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQMP is not set
# CONFIG_ARCNET is not set
-CONFIG_ARM64_64K_PAGES=y
+CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_ERRATUM_819472=y
@@ -259,6 +259,7 @@ CONFIG_ARM64_VA_BITS=48
CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARM64_VHE=y
CONFIG_ARM64=y
+CONFIG_ARMADA_AP806_SYSCON=y
CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
@@ -453,7 +454,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -501,6 +501,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -539,6 +540,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -636,6 +638,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -722,6 +725,7 @@ CONFIG_CARDMAN_4040=m
CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170=m
CONFIG_CASSINI=m
+CONFIG_CAVIUM_CPT=m
CONFIG_CAVIUM_ERRATUM_22375=y
CONFIG_CAVIUM_ERRATUM_23144=y
CONFIG_CAVIUM_ERRATUM_23154=y
@@ -761,13 +765,16 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
+CONFIG_CHARGER_AXP20X=m
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24190 is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -776,6 +783,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHELSIO_T1_1G=y
@@ -819,6 +827,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
@@ -840,20 +849,11 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
+CONFIG_COMMON_CLK_HI3519=m
+CONFIG_COMMON_CLK_HI3660=y
# CONFIG_COMMON_CLK_HI3798CV200 is not set
CONFIG_COMMON_CLK_HI6220=y
CONFIG_COMMON_CLK_MAX77686=m
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_QCOM=m
CONFIG_COMMON_CLK_RK808=m
@@ -861,13 +861,16 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_COMMON_CLK_XGENE=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMMON_RESET_HI6220=m
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
+# CONFIG_COMPAT is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
@@ -912,12 +915,15 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64=m
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
CONFIG_CRYPTO_AES_ARM_BS=y
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -931,12 +937,12 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_CRC32_ARM64_CE=m
CONFIG_CRYPTO_CRC32_ARM64=m
CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
@@ -1050,6 +1056,7 @@ CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_EFI is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_GPIO is not set
@@ -1081,6 +1088,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
@@ -1138,6 +1146,7 @@ CONFIG_DMA_OF=y
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
CONFIG_DMARD10=m
+# CONFIG_DMA_SUN6I is not set
# CONFIG_DMATEST is not set
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE_CLEANER=m
@@ -1193,6 +1202,7 @@ CONFIG_DRM_ANALOGIX_DP=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1203,18 +1213,10 @@ CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_HISI_KIRIN=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
@@ -1229,7 +1231,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
+CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
@@ -1239,7 +1241,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8622=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1253,6 +1255,7 @@ CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_TEGRA_DEBUG is not set
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
+CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1260,8 +1263,6 @@ CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-# CONFIG_DRM_VMWGFX is not set
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1349,13 +1350,18 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
-# CONFIG_DWMAC_IPQ806X is not set
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
+CONFIG_DWMAC_GENERIC=m
+CONFIG_DWMAC_IPQ806X=m
CONFIG_DWMAC_MESON=m
CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_SUN8I=m
+CONFIG_DWMAC_SUNXI=m
CONFIG_DW_WATCHDOG=m
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_FTRACE=y
@@ -1378,6 +1384,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1428,6 +1435,7 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_ADC_JACK=m
CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_INTEL_INT3496=m
CONFIG_EXTCON=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
@@ -1456,7 +1464,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_FS=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_FB_ASILIANT is not set
@@ -1474,18 +1481,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1529,9 +1529,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1559,7 +1556,7 @@ CONFIG_FMC_TRIVIAL=m
CONFIG_FMC_WRITE_EEPROM=m
# CONFIG_FONTS is not set
CONFIG_FORCEDETH=m
-CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_FORCE_MAX_ZONEORDER=13
# CONFIG_FPGA is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
@@ -1574,6 +1571,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ERRATUM_A008585=y
# CONFIG_FSL_MC_BUS is not set
@@ -1640,13 +1638,12 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
CONFIG_GPIO_AXP209=m
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
+CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
@@ -1658,7 +1655,6 @@ CONFIG_GPIOLIB=y
CONFIG_GPIO_MAX77620=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
@@ -1666,26 +1662,24 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
# CONFIG_GPIO_WS16C48 is not set
CONFIG_GPIO_XGENE_SB=m
CONFIG_GPIO_XGENE=y
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1835,6 +1829,7 @@ CONFIG_HISAX_TELES_CS=m
CONFIG_HISAX_TELESPCI=y
CONFIG_HISAX_W6692=y
CONFIG_HISI_KIRIN_DW_DSI=m
+CONFIG_HISILICON_ERRATUM_161010101=y
CONFIG_HISILICON_IRQ_MBIGEN=y
CONFIG_HISI_THERMAL=m
CONFIG_HIST_TRIGGERS=y
@@ -1888,6 +1883,7 @@ CONFIG_HW_RANDOM_XGENE=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
CONFIG_HWSPINLOCK_QCOM=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1926,7 +1922,6 @@ CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_HIX5HD2 is not set
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C_MESON=m
CONFIG_I2C_MLXCPLD=m
@@ -1962,6 +1957,7 @@ CONFIG_I2C_SLAVE_EEPROM=m
CONFIG_I2C_SLAVE=y
CONFIG_I2C_STUB=m
# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TEGRA_BPMP=m
CONFIG_I2C_TEGRA=m
CONFIG_I2C_THUNDERX=m
CONFIG_I2C_TINY_USB=m
@@ -1980,8 +1976,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2023,6 +2017,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS=m
@@ -2042,6 +2037,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -2051,6 +2047,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -2059,6 +2056,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2154,8 +2152,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2165,6 +2161,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_SPI is not set
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_DEADLINE=y
@@ -2306,6 +2303,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2348,6 +2346,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_SUNXI=m
CONFIG_IR_TTUSBIR=m
@@ -2504,6 +2503,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_TEGRA=m
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2515,7 +2515,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2562,13 +2562,14 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
-# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_REGISTER=y
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2592,15 +2593,15 @@ CONFIG_LEDS_NIC78BX=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
-# CONFIG_LEDS_PWM is not set
+CONFIG_LEDS_PWM=m
CONFIG_LEDS_REGULATOR=m
# CONFIG_LEDS_S3C24XX is not set
-# CONFIG_LEDS_SYSCON is not set
+CONFIG_LEDS_SYSCON=y
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
-# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
@@ -2677,6 +2678,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2709,6 +2712,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2716,10 +2720,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2801,6 +2807,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
CONFIG_MESON_GXBB_WATCHDOG=m
CONFIG_MESON_GXL_PHY=m
+CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
# CONFIG_MESON_WATCHDOG is not set
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -2823,6 +2830,7 @@ CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2842,7 +2850,7 @@ CONFIG_MFD_HI655X_PMIC=m
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_MAX14577 is not set
CONFIG_MFD_MAX77620=y
-# CONFIG_MFD_MAX77686 is not set
+CONFIG_MFD_MAX77686=y
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
@@ -2952,6 +2960,7 @@ CONFIG_MMA7660=m
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
@@ -3023,7 +3032,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3039,6 +3047,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3103,6 +3112,7 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
CONFIG_MTD_PHYSMAP_OF=m
CONFIG_MTD_PHYSMAP_OF_VERSATILE=y
# CONFIG_MTD_PLATRAM is not set
@@ -3131,6 +3141,7 @@ CONFIG_MVEBU_MBUS=y
CONFIG_MVMDIO=m
CONFIG_MVNETA_BM_ENABLE=m
CONFIG_MVNETA=m
+CONFIG_MVPP2=m
# CONFIG_MV_XOR_V2 is not set
CONFIG_MV_XOR=y
CONFIG_MWAVE=m
@@ -3174,6 +3185,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3307,6 +3319,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3317,7 +3330,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3373,6 +3386,7 @@ CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3496,6 +3510,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3567,6 +3583,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3713,6 +3730,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -3772,6 +3790,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCC=y
@@ -3846,6 +3865,8 @@ CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_QCOM_APQ8064_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_UFS is not set
+CONFIG_PHY_QCOM_USB_HSIC=m
+CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
@@ -3855,7 +3876,7 @@ CONFIG_PHY_ROCKCHIP_USB=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
-# CONFIG_PHY_SUN4I_USB is not set
+CONFIG_PHY_SUN4I_USB=m
# CONFIG_PHY_SUN9I_USB is not set
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -3869,6 +3890,7 @@ CONFIG_PINCTRL_AMD=y
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
+# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
CONFIG_PINCTRL_MAX77620=m
@@ -3887,6 +3909,7 @@ CONFIG_PINCTRL_QDF2XXX=y
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3961,6 +3984,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3974,6 +3998,7 @@ CONFIG_PROC_VMCORE=y
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -3992,6 +4017,7 @@ CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
@@ -4001,9 +4027,13 @@ CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
# CONFIG_QCOM_EBI2 is not set
CONFIG_QCOM_EMAC=m
+# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
+CONFIG_QCOM_FALKOR_ERRATUM_1009=y
CONFIG_QCOM_GSBI=y
CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
+CONFIG_QCOM_IRQ_COMBINER=y
+CONFIG_QCOM_L2_PMU=y
# CONFIG_QCOM_Q6V5_PIL is not set
CONFIG_QCOM_QDF2400_ERRATUM_0065=y
CONFIG_QCOM_QFPROM=m
@@ -4020,6 +4050,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
# CONFIG_QCOM_WCNSS_PIL is not set
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -4033,6 +4064,7 @@ CONFIG_QLCNIC_SRIOV=y
CONFIG_QLGE=m
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
+# CONFIG_QORIQ_CPUFREQ is not set
# CONFIG_QORIQ_THERMAL is not set
# CONFIG_QRTR is not set
CONFIG_QSEMI_PHY=m
@@ -4067,7 +4099,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4119,6 +4150,7 @@ CONFIG_REGULATOR_ACT8865=m
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4136,6 +4168,8 @@ CONFIG_REGULATOR_HI655X=m
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
CONFIG_REGULATOR_MAX77620=m
+CONFIG_REGULATOR_MAX77686=m
+CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4145,7 +4179,7 @@ CONFIG_REGULATOR_MAX77620=m
# CONFIG_REGULATOR_PV88060 is not set
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_RPM=m
CONFIG_REGULATOR_QCOM_SMD_RPM=m
CONFIG_REGULATOR_QCOM_SPMI=m
@@ -4176,7 +4210,6 @@ CONFIG_RESET_HISI=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RFKILL_REGULATOR=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
@@ -4360,7 +4393,7 @@ CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
CONFIG_SATA_ACARD_AHCI=m
-CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_AHCI_SEATTLE=m
CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
@@ -4655,6 +4688,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4692,6 +4726,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4699,6 +4734,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4714,6 +4750,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4727,7 +4765,7 @@ CONFIG_SERIAL_MSM_CONSOLE=y
CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
@@ -4787,6 +4825,7 @@ CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC911X=m
CONFIG_SMC91X=m
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4895,6 +4934,7 @@ CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_JACK=y
+# CONFIG_SND_KIRKWOOD_SOC is not set
CONFIG_SND_KORG1212=m
CONFIG_SND_LAYLA20=m
CONFIG_SND_LAYLA24=m
@@ -4932,8 +4972,9 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
+CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
# CONFIG_SND_SOC_AK4104 is not set
@@ -4944,6 +4985,7 @@ CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ALC5623 is not set
CONFIG_SND_SOC_ALL_CODECS=m
CONFIG_SND_SOC_AMD_ACP=m
+CONFIG_SND_SOC_APQ8016_SBC=m
# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -4963,7 +5005,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -4978,11 +5022,12 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
-# CONFIG_SND_SOC is not set
+CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4993,6 +5038,9 @@ CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_SPI=m
+CONFIG_SND_SOC_QCOM=m
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
CONFIG_SND_SOC_ROCKCHIP_I2S=m
CONFIG_SND_SOC_ROCKCHIP=m
CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
@@ -5000,7 +5048,7 @@ CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
+CONFIG_SND_SOC_SGTL5000=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_SSM2602_I2C is not set
@@ -5009,16 +5057,28 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STA32X is not set
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_STORM is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TEGRA_ALC5632 is not set
+CONFIG_SND_SOC_TEGRA=m
+CONFIG_SND_SOC_TEGRA_MAX98090=m
+CONFIG_SND_SOC_TEGRA_RT5640=m
+CONFIG_SND_SOC_TEGRA_RT5677=m
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
+# CONFIG_SND_SOC_TEGRA_TRIMSLICE is not set
+# CONFIG_SND_SOC_TEGRA_WM8753 is not set
+# CONFIG_SND_SOC_TEGRA_WM8903 is not set
+# CONFIG_SND_SOC_TEGRA_WM9712 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=m
-# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
# CONFIG_SND_SOC_WM8580 is not set
@@ -5044,7 +5104,10 @@ CONFIG_SND_SOC_WM8804_SPI=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SUN4I_CODEC=m
+CONFIG_SND_SUN4I_I2S=m
+CONFIG_SND_SUN4I_SPDIF=m
CONFIG_SND_SUN8I_CODEC_ANALOG=m
+CONFIG_SND_SUN8I_CODEC=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5070,6 +5133,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -5134,6 +5198,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SRAM=y
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -5151,6 +5216,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -5160,19 +5226,21 @@ CONFIG_STK3310=m
# CONFIG_STM is not set
CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
-# CONFIG_STMMAC_PLATFORM is not set
+CONFIG_STMMAC_PLATFORM=m
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_STUB_CLK_HI6220=y
# CONFIG_SUN4I_EMAC is not set
-# CONFIG_SUN50I_A64_CCU is not set
+CONFIG_SUN50I_A64_CCU=y
+# CONFIG_SUN5I_CCU is not set
# CONFIG_SUN6I_A31_CCU is not set
# CONFIG_SUN8I_A23_CCU is not set
# CONFIG_SUN8I_A33_CCU is not set
-CONFIG_SUN8I_EMAC=m
# CONFIG_SUN8I_H3_CCU is not set
+# CONFIG_SUN8I_V3S_CCU is not set
+# CONFIG_SUN9I_A80_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5198,7 +5266,7 @@ CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
+CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
@@ -5294,9 +5362,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5326,6 +5396,7 @@ CONFIG_THUNDER_NIC_VF=m
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5334,15 +5405,19 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_MI0283QT=m
+CONFIG_TINYDRM_MIPI_DBI=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5412,6 +5487,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5479,7 +5555,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5500,6 +5576,7 @@ CONFIG_USB_CHAOSKEY=m
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_UDC=y
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -5623,6 +5700,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5781,6 +5859,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5861,7 +5940,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
# CONFIG_VCNL4000 is not set
-# CONFIG_VDSO is not set
+CONFIG_VDSO=y
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -5880,6 +5959,7 @@ CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m
CONFIG_VFIO_PLATFORM=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
# CONFIG_VGA_CONSOLE is not set
@@ -5930,6 +6010,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5951,7 +6032,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5987,6 +6067,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -6002,8 +6083,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -6025,6 +6104,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -6097,6 +6177,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_PTDUMP=y
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 299eba11c..6619ed9df 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -124,11 +124,11 @@ CONFIG_AEABI=y
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
CONFIG_AHCI_IMX=m
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
+CONFIG_AHCI_ST=m
CONFIG_AHCI_SUNXI=m
CONFIG_AHCI_TEGRA=m
# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
@@ -205,7 +205,7 @@ CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MDM9615 is not set
# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
+CONFIG_ARCH_MESON=y
CONFIG_ARCH_MMP=y
CONFIG_ARCH_MSM8960=y
CONFIG_ARCH_MSM8974=y
@@ -225,12 +225,11 @@ CONFIG_ARCH_ROCKCHIP=y
# 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_STI=y
CONFIG_ARCH_SUNXI=y
# CONFIG_ARCH_TANGO is not set
CONFIG_ARCH_TEGRA_114_SOC=y
CONFIG_ARCH_TEGRA_124_SOC=y
-# CONFIG_ARCH_TEGRA_186_SOC is not set
CONFIG_ARCH_TEGRA_2x_SOC=y
CONFIG_ARCH_TEGRA_3x_SOC=y
CONFIG_ARCH_TEGRA=y
@@ -319,11 +318,13 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
+CONFIG_ARM_STI_CPUFREQ=m
CONFIG_ARM_TEGRA124_CPUFREQ=m
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
+CONFIG_ARM_TI_CPUFREQ=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_ARM_UNWIND=y
CONFIG_ARM_VEXPRESS_SPC_CPUFREQ=m
@@ -497,7 +498,6 @@ CONFIG_BATTERY_DA9052=m
# 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_RX51=m
@@ -545,6 +545,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -583,6 +584,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -681,6 +683,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -808,13 +811,16 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
+CONFIG_CHARGER_AXP20X=m
CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
# CONFIG_CHARGER_BQ24257 is not set
CONFIG_CHARGER_BQ24735=m
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
CONFIG_CHARGER_GPIO=m
CONFIG_CHARGER_ISP1704=m
# CONFIG_CHARGER_LP8727 is not set
@@ -824,6 +830,7 @@ CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
CONFIG_CHARGER_TPS65217=m
@@ -870,6 +877,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
CONFIG_CM36651=m
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
@@ -891,21 +899,8 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
CONFIG_COMMON_CLK_MAX77686=m
CONFIG_COMMON_CLK_MAX77802=m
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
CONFIG_COMMON_CLK_PALMAS=m
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_QCOM=m
@@ -916,9 +911,11 @@ CONFIG_COMMON_CLK_SCPI=m
CONFIG_COMMON_CLK_SI5351=m
CONFIG_COMMON_CLK_SI570=m
CONFIG_COMMON_CLK_TI_ADPLL=m
+# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -974,6 +971,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -987,11 +985,11 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_CRC32_ARM64_CE=m
CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
@@ -1164,7 +1162,7 @@ CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_DEBUG_RODATA is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1285,6 +1283,7 @@ CONFIG_DRM_ARMADA=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
@@ -1316,18 +1315,10 @@ CONFIG_DRM_HDLCD=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_IMX_HDMI=m
CONFIG_DRM_IMX_IPUV3=m
CONFIG_DRM_IMX_LDB=m
@@ -1338,7 +1329,7 @@ CONFIG_DRM_IMX_TVE=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
-# CONFIG_DRM_MESON is not set
+CONFIG_DRM_MESON=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_MSM_DSI is not set
@@ -1348,7 +1339,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
+CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m
CONFIG_DRM_OMAP_CONNECTOR_DVI=m
CONFIG_DRM_OMAP_CONNECTOR_HDMI=m
@@ -1374,7 +1365,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8622=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1384,7 +1375,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_STI is not set
+CONFIG_DRM_STI=m
CONFIG_DRM_SUN4I=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_TEGRA_DEBUG is not set
@@ -1392,6 +1383,7 @@ CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
CONFIG_DRM_TILCDC=m
CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
+CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1399,8 +1391,6 @@ CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-# CONFIG_DRM_VMWGFX is not set
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1488,14 +1478,18 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
CONFIG_DWMAC_GENERIC=m
-# CONFIG_DWMAC_IPQ806X is not set
+CONFIG_DWMAC_IPQ806X=m
CONFIG_DWMAC_MESON=m
CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_STI=m
+CONFIG_DWMAC_SUN8I=m
CONFIG_DWMAC_SUNXI=m
CONFIG_DW_WATCHDOG=m
CONFIG_DYNAMIC_DEBUG=y
@@ -1521,6 +1515,7 @@ CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1571,6 +1566,7 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_ADC_JACK=m
CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
CONFIG_EXTCON_PALMAS=m
@@ -1614,7 +1610,6 @@ CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_FB_ASILIANT is not set
@@ -1632,19 +1627,12 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# 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_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1691,9 +1679,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1738,6 +1723,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_XGMAC_MDIO is not set
@@ -1802,16 +1788,14 @@ CONFIG_GPIO_74X164=m
# 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_AMDPT is not set
CONFIG_GPIO_AXP209=m
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DA9052=m
CONFIG_GPIO_DA9055=m
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
-# CONFIG_GPIO_EM is not set
+CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
@@ -1822,7 +1806,6 @@ CONFIG_GPIO_MAX7301=m
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_MC33880=m
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
@@ -1832,15 +1815,15 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
CONFIG_GPIO_STMPE=y
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65218=m
@@ -1853,13 +1836,11 @@ CONFIG_GPIO_TS4800=m
CONFIG_GPIO_TWL4030=m
CONFIG_GPIO_TWL6040=m
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
CONFIG_GPIO_WM8994=m
# CONFIG_GPIO_WS16C48 is not set
CONFIG_GPIO_XILINX=y
# CONFIG_GPIO_ZEVIO is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GPIO_ZYNQ=m
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
@@ -2058,6 +2039,7 @@ CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_MXC_RNGA=m
CONFIG_HW_RANDOM_OMAP3_ROM=m
CONFIG_HW_RANDOM_OMAP=m
+CONFIG_HW_RANDOM_ST=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
@@ -2065,6 +2047,7 @@ CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
CONFIG_HWSPINLOCK_OMAP=m
CONFIG_HWSPINLOCK_QCOM=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2138,9 +2121,11 @@ CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_SIS96X is not set
CONFIG_I2C_SLAVE_EEPROM=m
CONFIG_I2C_SLAVE=y
+CONFIG_I2C_ST=m
CONFIG_I2C_STUB=m
CONFIG_I2C_SUN6I_P2WI=m
# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TEGRA_BPMP=m
CONFIG_I2C_TEGRA=m
CONFIG_I2C_TINY_USB=m
CONFIG_I2C_VERSATILE=m
@@ -2157,8 +2142,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2185,6 +2168,7 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+# CONFIG_IIO_CROS_EC_BARO is not set
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
@@ -2200,6 +2184,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS=m
@@ -2226,6 +2211,7 @@ CONFIG_IMX_WEIM=y
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -2235,6 +2221,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -2243,6 +2230,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2348,8 +2336,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2501,6 +2487,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2545,6 +2532,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_SUNXI=m
CONFIG_IR_TTUSBIR=m
@@ -2713,6 +2701,7 @@ CONFIG_KEYBOARD_PXA27x=y
CONFIG_KEYBOARD_SAMSUNG=m
# CONFIG_KEYBOARD_SH_KEYSC is not set
CONFIG_KEYBOARD_SNVS_PWRKEY=m
+CONFIG_KEYBOARD_ST_KEYSCAN=m
CONFIG_KEYBOARD_STMPE=m
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_SUN4I_LRADC=m
@@ -2720,6 +2709,7 @@ CONFIG_KEYBOARD_SUN4I_LRADC=m
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_TEGRA=m
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
CONFIG_KEYBOARD_TWL4030=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
@@ -2732,7 +2722,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2779,6 +2769,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2787,7 +2778,6 @@ CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_GPIO_REGISTER=y
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2899,6 +2889,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
# CONFIG_LTC2485 is not set
@@ -2933,6 +2925,9 @@ CONFIG_MACH_ARMADA_XP=y
CONFIG_MACH_DOVE=y
# CONFIG_MACH_FLINT is not set
# CONFIG_MACH_MARVELL_JASPER is not set
+# CONFIG_MACH_MESON6 is not set
+CONFIG_MACH_MESON8B=y
+# CONFIG_MACH_MESON8 is not set
CONFIG_MACH_MMP2_DT=y
# CONFIG_MACH_OMAP3517EVM is not set
# CONFIG_MACH_OMAP3_PANDORA is not set
@@ -2950,6 +2945,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2957,10 +2953,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -3041,6 +3039,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3063,6 +3062,7 @@ CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3197,6 +3197,7 @@ CONFIG_MMA7660=m
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
@@ -3237,6 +3238,7 @@ CONFIG_MMC_SDHCI_PXAV2=m
CONFIG_MMC_SDHCI_PXAV3=m
CONFIG_MMC_SDHCI_S3C_DMA=y
CONFIG_MMC_SDHCI_S3C=m
+CONFIG_MMC_SDHCI_ST=m
CONFIG_MMC_SDHCI_TEGRA=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_SPI=m
@@ -3280,7 +3282,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3296,6 +3297,7 @@ CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3385,6 +3387,7 @@ CONFIG_MTD_ONENAND_OMAP2=m
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
CONFIG_MTD_PHYSMAP_OF=m
CONFIG_MTD_PHYSMAP_OF_VERSATILE=y
# CONFIG_MTD_PLATRAM is not set
@@ -3464,6 +3467,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3597,6 +3601,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3607,7 +3612,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3662,6 +3667,7 @@ CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3788,6 +3794,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3859,6 +3867,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -4001,7 +4010,6 @@ CONFIG_OMAP_INTERCONNECT=y
# CONFIG_OMAP_IOMMU_DEBUG is not set
CONFIG_OMAP_IOMMU=y
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
-# CONFIG_OMAP_MUX_DEBUG is not set
CONFIG_OMAP_MUX_WARNINGS=y
CONFIG_OMAP_MUX=y
CONFIG_OMAP_OCP2SCP=m
@@ -4045,6 +4053,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -4105,6 +4114,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -4175,14 +4185,19 @@ CONFIG_PHY_EXYNOS5250_SATA=m
CONFIG_PHY_EXYNOS5_USBDRD=m
CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
+CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MIPHY28LP=m
+# CONFIG_PHY_MIPHY365X is not set
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
CONFIG_PHY_QCOM_APQ8064_SATA=m
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HSIC=m
+CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
@@ -4190,6 +4205,8 @@ CONFIG_PHY_ROCKCHIP_PCIE=m
CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
CONFIG_PHY_SAMSUNG_USB2=m
+CONFIG_PHY_STIH407_USB=m
+# CONFIG_PHY_STIH41X_USB is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
CONFIG_PHY_SUN4I_USB=m
@@ -4210,6 +4227,7 @@ CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IMX35 is not set
CONFIG_PINCTRL_IMX6SL=y
# CONFIG_PINCTRL_IPQ4019 is not set
@@ -4229,6 +4247,7 @@ CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINCTRL_ZYNQ=y
CONFIG_PINMUX=y
@@ -4279,6 +4298,7 @@ CONFIG_POWER_RESET_IMX=y
CONFIG_POWER_RESET_MSM=y
# CONFIG_POWER_RESET_QNAP is not set
CONFIG_POWER_RESET_RESTART=y
+CONFIG_POWER_RESET_ST=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_VERSATILE=y
@@ -4312,6 +4332,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -4326,6 +4347,7 @@ CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -4343,6 +4365,7 @@ CONFIG_PWM_OMAP_DMTIMER=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_ROCKCHIP=m
CONFIG_PWM_SAMSUNG=m
+CONFIG_PWM_STI=m
# CONFIG_PWM_STMPE is not set
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
@@ -4354,6 +4377,7 @@ CONFIG_PWM_TWL_LED=m
CONFIG_PWM_TWL=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
CONFIG_PXA_DMA=y
# CONFIG_QCA7000 is not set
@@ -4367,6 +4391,7 @@ CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_GSBI=m
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_PM=y
# CONFIG_QCOM_Q6V5_PIL is not set
CONFIG_QCOM_QFPROM=m
@@ -4383,6 +4408,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
# CONFIG_QCOM_WCNSS_PIL is not set
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -4445,6 +4471,7 @@ CONFIG_RC_DECODERS=y
CONFIG_RC_DEVICES=y
CONFIG_RC_LOOPBACK=m
CONFIG_RC_MAP=m
+CONFIG_RC_ST=m
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_RCU_EXPERT is not set
@@ -4487,6 +4514,7 @@ CONFIG_REGULATOR_AD5398=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_CPCAP=m
CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_DA9055=m
CONFIG_REGULATOR_DA9210=m
@@ -4521,7 +4549,7 @@ CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
CONFIG_REGULATOR_PV88090=m
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_RPM=m
CONFIG_REGULATOR_QCOM_SMD_RPM=m
CONFIG_REGULATOR_QCOM_SPMI=m
@@ -4563,7 +4591,6 @@ CONFIG_RESET_GPIO=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RFKILL_REGULATOR=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
@@ -4579,6 +4606,7 @@ CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
CONFIG_ROCKCHIP_ANALOGIX_DP=m
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=m
CONFIG_ROCKCHIP_DW_MIPI_DSI=m
CONFIG_ROCKCHIP_EFUSE=m
@@ -4594,6 +4622,7 @@ CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPMSG_CHAR is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4680,7 +4709,7 @@ CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_MV=m
CONFIG_RTC_DRV_MXC=m
-CONFIG_RTC_DRV_OMAP=y
+CONFIG_RTC_DRV_OMAP=m
CONFIG_RTC_DRV_PALMAS=m
CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
@@ -4712,6 +4741,7 @@ CONFIG_RTC_DRV_S5M=m
# CONFIG_RTC_DRV_SA1100 is not set
CONFIG_RTC_DRV_SNVS=m
CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_ST_LPC=m
CONFIG_RTC_DRV_SUN6I=y
CONFIG_RTC_DRV_SUNXI=m
CONFIG_RTC_DRV_TEGRA=m
@@ -5063,6 +5093,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -5102,6 +5133,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_EM is not set
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -5110,6 +5142,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_OMAP=m
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -5127,6 +5160,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
@@ -5143,7 +5178,7 @@ CONFIG_SERIAL_MSM_CONSOLE=y
CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_OMAP_CONSOLE=y
CONFIG_SERIAL_OMAP=y
@@ -5156,7 +5191,8 @@ CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_ST_ASC is not set
+CONFIG_SERIAL_ST_ASC_CONSOLE=y
+CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_TEGRA=y
# CONFIG_SERIAL_TIMBERDALE is not set
CONFIG_SERIAL_UARTLITE_CONSOLE=y
@@ -5213,6 +5249,7 @@ CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC911X=m
CONFIG_SMC91X=m
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
@@ -5385,7 +5422,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_BUS=y
CONFIG_SND_SOC_AC97_CODEC=m
@@ -5456,6 +5493,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -5467,7 +5505,8 @@ CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_SPI=m
CONFIG_SND_SOC_QCOM=m
-# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
CONFIG_SND_SOC_ROCKCHIP_I2S=m
CONFIG_SND_SOC_ROCKCHIP=m
CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
@@ -5488,7 +5527,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_SSM4567 is not set
# CONFIG_SND_SOC_STA32X is not set
# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_STI_SAS is not set
+CONFIG_SND_SOC_STI=m
+CONFIG_SND_SOC_STI_SAS=m
CONFIG_SND_SOC_STORM=m
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
@@ -5504,9 +5544,9 @@ CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA_RT5677=m
-# CONFIG_SND_SOC_TEGRA_SGTL5000 is not set
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
-CONFIG_SND_SOC_TEGRA_WM8753=m
+# CONFIG_SND_SOC_TEGRA_WM8753 is not set
CONFIG_SND_SOC_TEGRA_WM8903=m
CONFIG_SND_SOC_TEGRA_WM9712=m
# CONFIG_SND_SOC_TFA9879 is not set
@@ -5547,6 +5587,7 @@ CONFIG_SND_SUN4I_CODEC=m
CONFIG_SND_SUN4I_I2S=m
CONFIG_SND_SUN4I_SPDIF=m
CONFIG_SND_SUN8I_CODEC_ANALOG=m
+CONFIG_SND_SUN8I_CODEC=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5598,9 +5639,13 @@ CONFIG_SOC_IMX7D=y
# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP3430=y
CONFIG_SOC_OMAP5=y
+CONFIG_SOC_STIH407=y
+# CONFIG_SOC_STIH415 is not set
+# CONFIG_SOC_STIH416 is not set
CONFIG_SOC_TI81XX=y
# CONFIG_SOC_TI is not set
# CONFIG_SOC_VF610 is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -5647,6 +5692,7 @@ CONFIG_SPI_ROCKCHIP=m
CONFIG_SPI_S3C64XX=m
# CONFIG_SPI_SC18IS602 is not set
CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_ST_SSC4=m
CONFIG_SPI_SUN4I=m
CONFIG_SPI_SUN6I=m
CONFIG_SPI_TEGRA114=m
@@ -5670,6 +5716,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SRAM=y
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -5687,11 +5734,15 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
+CONFIG_ST_FDMA=m
+CONFIG_STI_MBOX=m
CONFIG_STK3310=m
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
+CONFIG_ST_LPC_WATCHDOG=m
# CONFIG_STM_DUMMY is not set
# CONFIG_STM is not set
CONFIG_STMMAC_ETH=m
@@ -5700,16 +5751,24 @@ CONFIG_STMMAC_PLATFORM=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
# CONFIG_STM_SOURCE_CONSOLE is not set
+CONFIG_ST_REMOTEPROC=m
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_THERMAL=m
+CONFIG_ST_THERMAL_MEMMAP=m
+# CONFIG_ST_THERMAL_SYSCFG is not set
CONFIG_SUN4I_EMAC=m
# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
-CONFIG_SUN8I_EMAC=m
+CONFIG_SUN5I_CCU=y
+CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN8I_A23_CCU=y
+CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_V3S_CCU=y
+CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_SUNGEM is not set
@@ -5737,7 +5796,7 @@ CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
+CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
@@ -5832,9 +5891,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5861,13 +5922,15 @@ CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AM335X_ADC=m
CONFIG_TI_CPPI41=m
CONFIG_TI_CPSW_ALE=m
CONFIG_TI_CPSW=m
CONFIG_TI_CPSW_PHY_SEL=y
-CONFIG_TI_CPTS=m
+CONFIG_TI_CPTS_MOD=m
+CONFIG_TI_CPTS=y
CONFIG_TI_DAC7512=m
CONFIG_TI_DAVINCI_CPDMA=m
CONFIG_TI_DAVINCI_EMAC=m
@@ -5879,6 +5942,8 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_MI0283QT=m
+CONFIG_TINYDRM_MIPI_DBI=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5888,9 +5953,11 @@ CONFIG_TI_SOC_THERMAL=m
CONFIG_TI_ST=m
CONFIG_TI_SYSCON_RESET=m
CONFIG_TI_THERMAL=y
+# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5963,6 +6030,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -6039,7 +6107,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -6060,6 +6128,7 @@ CONFIG_USB_CHAOSKEY=m
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_UDC=y
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -6097,6 +6166,7 @@ CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_OF_SIMPLE=m
CONFIG_USB_DWC3_OMAP=m
CONFIG_USB_DWC3_PCI=m
+CONFIG_USB_DWC3_ST=m
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EG20T is not set
@@ -6104,6 +6174,7 @@ CONFIG_USB_EHCI_EXYNOS=m
CONFIG_USB_EHCI_HCD_OMAP=m
CONFIG_USB_EHCI_HCD_ORION=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_EHCI_HCD_STI=m
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_MSM=m
# CONFIG_USB_EHCI_MV is not set
@@ -6190,6 +6261,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IMX21_HCD=m
@@ -6272,6 +6344,7 @@ CONFIG_USB_OHCI_HCD_OMAP3=m
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
+CONFIG_USB_OHCI_HCD_STI=m
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_OTG_FSM is not set
@@ -6356,6 +6429,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -6459,6 +6533,7 @@ CONFIG_VFPv3=y
CONFIG_VFP=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -6516,7 +6591,9 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IMX_VDOA=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -6556,6 +6633,13 @@ CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
# CONFIG_VIDEO_SH_VEU is not set
CONFIG_VIDEO_SOLO6X10=m
CONFIG_VIDEO_SR030PC30=m
+CONFIG_VIDEO_STI_BDISP=m
+CONFIG_VIDEO_STI_DELTA_DRIVER=m
+CONFIG_VIDEO_STI_DELTA=m
+CONFIG_VIDEO_STI_DELTA_MJPEG=y
+CONFIG_VIDEO_STI_HDMI_CEC=m
+# CONFIG_VIDEO_STI_HVA_DEBUGFS is not set
+CONFIG_VIDEO_STI_HVA=m
CONFIG_VIDEO_STK1160_AC97=y
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160=m
@@ -6586,6 +6670,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -6601,8 +6686,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -6625,6 +6708,7 @@ CONFIG_W1_MASTER_GPIO=m
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_MASTER_MXC=m
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -6699,6 +6783,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 3029b8591..1dd956c60 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -124,7 +124,6 @@ CONFIG_AEABI=y
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
@@ -201,7 +200,7 @@ CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_HISI is not set
CONFIG_ARCH_KEYSTONE=y
# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
+CONFIG_ARCH_MESON=y
# CONFIG_ARCH_MMP is not set
# CONFIG_ARCH_MULTI_V6 is not set
CONFIG_ARCH_MULTI_V7=y
@@ -222,7 +221,6 @@ CONFIG_ARCH_SUNXI=y
# CONFIG_ARCH_TANGO is not set
CONFIG_ARCH_TEGRA_114_SOC=y
CONFIG_ARCH_TEGRA_124_SOC=y
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCH_TEGRA_2x_SOC is not set
# CONFIG_ARCH_TEGRA_3x_SOC is not set
CONFIG_ARCH_TEGRA=y
@@ -480,7 +478,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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=m
@@ -526,6 +523,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -564,6 +562,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -662,6 +661,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -789,13 +789,16 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
+CONFIG_CHARGER_AXP20X=m
CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
# CONFIG_CHARGER_BQ24257 is not set
CONFIG_CHARGER_BQ24735=m
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
CONFIG_CHARGER_GPIO=m
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -805,6 +808,7 @@ CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
CONFIG_CHECKPOINT_RESTORE=y
@@ -848,6 +852,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
@@ -868,21 +873,8 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
CONFIG_COMMON_CLK_MAX77686=m
CONFIG_COMMON_CLK_MAX77802=m
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_RK808=m
CONFIG_COMMON_CLK_S2MPS11=m
@@ -890,9 +882,11 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI514 is not set
CONFIG_COMMON_CLK_SI5351=m
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -948,6 +942,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -961,11 +956,11 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_CRC32_ARM64_CE=m
CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
@@ -1118,7 +1113,7 @@ CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_DEBUG_RODATA is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1238,6 +1233,7 @@ CONFIG_DRM_ARMADA=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
@@ -1267,30 +1263,22 @@ CONFIG_DRM_HDLCD=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_IMX is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
-# CONFIG_DRM_MESON is not set
+CONFIG_DRM_MESON=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
+CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_OMAP is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1301,7 +1289,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8622=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1311,13 +1299,14 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_STI is not set
+CONFIG_DRM_STI=m
CONFIG_DRM_SUN4I=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_TEGRA_DEBUG is not set
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_TILCDC is not set
+CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1325,8 +1314,6 @@ CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-# CONFIG_DRM_VMWGFX is not set
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1414,14 +1401,16 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
CONFIG_DWMAC_GENERIC=m
-# CONFIG_DWMAC_IPQ806X is not set
CONFIG_DWMAC_MESON=m
CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_SUN8I=m
CONFIG_DWMAC_SUNXI=m
CONFIG_DW_WATCHDOG=m
CONFIG_DYNAMIC_DEBUG=y
@@ -1446,6 +1435,7 @@ CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1496,6 +1486,7 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_ADC_JACK=m
CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
@@ -1538,7 +1529,6 @@ CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_FB_ASILIANT is not set
@@ -1556,18 +1546,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1612,9 +1595,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1658,6 +1638,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_XGMAC_MDIO is not set
@@ -1721,15 +1702,13 @@ CONFIG_GPIO_74X164=m
# 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_AMDPT is not set
CONFIG_GPIO_AXP209=m
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DAVINCI=y
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
-# CONFIG_GPIO_EM is not set
+CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
@@ -1740,7 +1719,6 @@ CONFIG_GPIO_MAX7301=m
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_MC33880=m
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
@@ -1748,14 +1726,14 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65910=y
@@ -1763,13 +1741,11 @@ CONFIG_GPIO_TPS65912=m
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
CONFIG_GPIO_WM8994=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_ZEVIO is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1971,6 +1947,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2009,7 +1986,6 @@ CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C_MESON=m
CONFIG_I2C_MLXCPLD=m
@@ -2045,6 +2021,7 @@ CONFIG_I2C_SLAVE=y
CONFIG_I2C_STUB=m
CONFIG_I2C_SUN6I_P2WI=m
# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TEGRA_BPMP=m
CONFIG_I2C_TEGRA=m
CONFIG_I2C_TINY_USB=m
CONFIG_I2C_VERSATILE=m
@@ -2061,8 +2038,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2089,6 +2064,7 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+# CONFIG_IIO_CROS_EC_BARO is not set
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
@@ -2104,6 +2080,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS=m
@@ -2123,6 +2100,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -2132,6 +2110,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -2140,6 +2119,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2237,8 +2217,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2390,6 +2368,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2433,6 +2412,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_SUNXI=m
CONFIG_IR_TTUSBIR=m
@@ -2603,6 +2583,7 @@ CONFIG_KEYBOARD_SUN4I_LRADC=m
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_TEGRA=m
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYSTONE_IRQ=m
@@ -2616,7 +2597,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2665,6 +2646,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2672,7 +2654,6 @@ CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_GPIO_REGISTER=y
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2782,6 +2763,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
# CONFIG_LTC2485 is not set
@@ -2813,6 +2796,9 @@ CONFIG_MACH_ARMADA_38X=y
CONFIG_MACH_ARMADA_39X=y
CONFIG_MACH_ARMADA_XP=y
CONFIG_MACH_DOVE=y
+# CONFIG_MACH_MESON6 is not set
+CONFIG_MACH_MESON8B=y
+# CONFIG_MACH_MESON8 is not set
# CONFIG_MACH_SUN4I is not set
# CONFIG_MACH_SUN5I is not set
CONFIG_MACH_SUN6I=y
@@ -2826,6 +2812,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2833,10 +2820,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2915,6 +2904,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -2937,6 +2927,7 @@ CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3069,6 +3060,7 @@ CONFIG_MMA7660=m
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
@@ -3145,7 +3137,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3161,6 +3152,7 @@ CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3237,6 +3229,7 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
CONFIG_MTD_PHYSMAP_OF=m
CONFIG_MTD_PHYSMAP_OF_VERSATILE=y
# CONFIG_MTD_PLATRAM is not set
@@ -3312,6 +3305,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3445,6 +3439,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3455,7 +3450,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3510,6 +3505,7 @@ CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3633,6 +3629,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3704,6 +3702,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3851,6 +3850,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -3910,6 +3910,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3976,12 +3977,15 @@ CONFIG_PHY_EXYNOS5250_SATA=m
CONFIG_PHY_EXYNOS5_USBDRD=m
CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
+CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
CONFIG_PHY_MESON8B_USB2=m
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
+CONFIG_PHY_QCOM_USB_HSIC=m
+CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
@@ -4007,6 +4011,7 @@ CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IMX35 is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
@@ -4018,6 +4023,7 @@ CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PJ4B_ERRATA_4742=y
@@ -4097,6 +4103,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -4111,6 +4118,7 @@ CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -4131,6 +4139,7 @@ CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
@@ -4138,10 +4147,12 @@ CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+CONFIG_QCOM_IRQ_COMBINER=y
# CONFIG_QCOM_SPMI_IADC is not set
# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
# CONFIG_QCOM_SPMI_VADC is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -4190,7 +4201,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4245,6 +4255,7 @@ CONFIG_REGULATOR_AD5398=m
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_CPCAP=m
CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
# CONFIG_REGULATOR_DEBUG is not set
@@ -4272,7 +4283,7 @@ CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
CONFIG_REGULATOR_PV88090=m
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
# CONFIG_REGULATOR_QCOM_SPMI is not set
CONFIG_REGULATOR_RK808=m
CONFIG_REGULATOR_S2MPA01=m
@@ -4309,7 +4320,6 @@ CONFIG_RESET_GPIO=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RFKILL_REGULATOR=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
@@ -4325,6 +4335,7 @@ CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
CONFIG_ROCKCHIP_ANALOGIX_DP=m
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=m
CONFIG_ROCKCHIP_DW_MIPI_DSI=m
CONFIG_ROCKCHIP_EFUSE=m
@@ -4340,6 +4351,7 @@ CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPMSG_CHAR is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4795,6 +4807,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4833,6 +4846,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_EM is not set
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4840,6 +4854,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4857,6 +4872,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4869,7 +4886,7 @@ CONFIG_SERIAL_MESON=y
# CONFIG_SERIAL_MPS2_UART is not set
CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
@@ -4878,7 +4895,8 @@ CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_ST_ASC is not set
+CONFIG_SERIAL_ST_ASC_CONSOLE=y
+CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_TEGRA=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -4932,6 +4950,7 @@ CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC911X=m
CONFIG_SMC91X=m
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
@@ -5085,7 +5104,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_BUS=y
CONFIG_SND_SOC_AC97_CODEC=m
@@ -5119,7 +5138,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -5139,6 +5160,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -5149,7 +5171,8 @@ CONFIG_SND_SOC=m
CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_SPI=m
-# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
CONFIG_SND_SOC_ROCKCHIP_I2S=m
CONFIG_SND_SOC_ROCKCHIP=m
CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
@@ -5160,7 +5183,7 @@ CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_SAMSUNG=m
CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
-# CONFIG_SND_SOC_SGTL5000 is not set
+CONFIG_SND_SOC_SGTL5000=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
@@ -5185,7 +5208,7 @@ CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA_RT5677=m
-# CONFIG_SND_SOC_TEGRA_SGTL5000 is not set
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
# CONFIG_SND_SOC_TEGRA_TRIMSLICE is not set
# CONFIG_SND_SOC_TEGRA_WM8753 is not set
# CONFIG_SND_SOC_TEGRA_WM8903 is not set
@@ -5225,6 +5248,7 @@ CONFIG_SND_SUN4I_CODEC=m
CONFIG_SND_SUN4I_I2S=m
CONFIG_SND_SUN4I_SPDIF=m
CONFIG_SND_SUN8I_CODEC_ANALOG=m
+CONFIG_SND_SUN8I_CODEC=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5262,6 +5286,7 @@ CONFIG_SOC_EXYNOS5440=y
CONFIG_SOC_EXYNOS5800=y
# CONFIG_SOC_OMAP5 is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -5324,6 +5349,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SRAM=y
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -5341,6 +5367,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -5353,15 +5380,19 @@ CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUN4I_EMAC=m
# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
-CONFIG_SUN8I_EMAC=m
+CONFIG_SUN5I_CCU=y
+CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN8I_A23_CCU=y
+CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_V3S_CCU=y
+CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_SUNGEM is not set
@@ -5389,7 +5420,7 @@ CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
+CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
@@ -5485,9 +5516,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5514,6 +5547,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AEMIF=m
# CONFIG_TI_CPSW_ALE is not set
@@ -5526,6 +5560,8 @@ CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
# CONFIG_TIMER_STATS is not set
CONFIG_TI_MESSAGE_MANAGER=m
+CONFIG_TINYDRM_MI0283QT=m
+CONFIG_TINYDRM_MIPI_DBI=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5534,9 +5570,11 @@ CONFIG_TI_SOC_THERMAL=m
# CONFIG_TI_ST is not set
CONFIG_TI_SYSCON_RESET=m
CONFIG_TI_THERMAL=y
+# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5607,6 +5645,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5677,7 +5716,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5696,6 +5735,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -5822,6 +5862,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5979,6 +6020,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -6060,7 +6102,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
# CONFIG_VCNL4000 is not set
-# CONFIG_VDSO is not set
+CONFIG_VDSO=y
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -6081,6 +6123,7 @@ CONFIG_VFPv3=y
CONFIG_VFP=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -6134,6 +6177,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -6157,7 +6201,7 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=y
+CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m
# CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC is not set
CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
CONFIG_VIDEO_SAMSUNG_S5P_G2D=m
@@ -6199,6 +6243,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -6214,8 +6259,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -6237,6 +6280,7 @@ CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_GPIO=m
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -6309,6 +6353,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index 236035c11..f138e32e5 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -124,7 +124,6 @@ CONFIG_AEABI=y
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
@@ -201,7 +200,7 @@ CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_HISI is not set
CONFIG_ARCH_KEYSTONE=y
# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
+CONFIG_ARCH_MESON=y
# CONFIG_ARCH_MMP is not set
# CONFIG_ARCH_MULTI_V6 is not set
CONFIG_ARCH_MULTI_V7=y
@@ -222,7 +221,6 @@ CONFIG_ARCH_SUNXI=y
# CONFIG_ARCH_TANGO is not set
CONFIG_ARCH_TEGRA_114_SOC=y
CONFIG_ARCH_TEGRA_124_SOC=y
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCH_TEGRA_2x_SOC is not set
# CONFIG_ARCH_TEGRA_3x_SOC is not set
CONFIG_ARCH_TEGRA=y
@@ -238,7 +236,6 @@ CONFIG_ARCH_VIRT=y
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
CONFIG_ARM_APPENDED_DTB=y
@@ -480,7 +477,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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=m
@@ -526,6 +522,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -564,6 +561,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -662,6 +660,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -789,13 +788,16 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
+CONFIG_CHARGER_AXP20X=m
CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
# CONFIG_CHARGER_BQ24257 is not set
CONFIG_CHARGER_BQ24735=m
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
CONFIG_CHARGER_GPIO=m
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -805,6 +807,7 @@ CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
CONFIG_CHECKPOINT_RESTORE=y
@@ -848,6 +851,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
@@ -868,21 +872,8 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
CONFIG_COMMON_CLK_MAX77686=m
CONFIG_COMMON_CLK_MAX77802=m
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_RK808=m
CONFIG_COMMON_CLK_S2MPS11=m
@@ -890,9 +881,11 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI514 is not set
CONFIG_COMMON_CLK_SI5351=m
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -947,6 +940,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -960,11 +954,11 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_CRC32_ARM64_CE=m
CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
@@ -1110,7 +1104,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1229,6 +1223,7 @@ CONFIG_DRM_ARMADA=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
@@ -1258,30 +1253,22 @@ CONFIG_DRM_HDLCD=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_IMX is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
-# CONFIG_DRM_MESON is not set
+CONFIG_DRM_MESON=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
+CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_OMAP is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1292,7 +1279,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8622=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1302,13 +1289,14 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_STI is not set
+CONFIG_DRM_STI=m
CONFIG_DRM_SUN4I=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_TEGRA_DEBUG is not set
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_TILCDC is not set
+CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1316,8 +1304,6 @@ CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-# CONFIG_DRM_VMWGFX is not set
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1405,14 +1391,16 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
CONFIG_DWMAC_GENERIC=m
-# CONFIG_DWMAC_IPQ806X is not set
CONFIG_DWMAC_MESON=m
CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_SUN8I=m
CONFIG_DWMAC_SUNXI=m
CONFIG_DW_WATCHDOG=m
CONFIG_DYNAMIC_DEBUG=y
@@ -1437,6 +1425,7 @@ CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1487,6 +1476,7 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_ADC_JACK=m
CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
@@ -1522,7 +1512,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_FS=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_FB_ASILIANT is not set
@@ -1540,18 +1529,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1596,9 +1578,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1642,6 +1621,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_XGMAC_MDIO is not set
@@ -1705,15 +1685,13 @@ CONFIG_GPIO_74X164=m
# 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_AMDPT is not set
CONFIG_GPIO_AXP209=m
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DAVINCI=y
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
-# CONFIG_GPIO_EM is not set
+CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
@@ -1724,7 +1702,6 @@ CONFIG_GPIO_MAX7301=m
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_MC33880=m
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
@@ -1732,14 +1709,14 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65910=y
@@ -1747,13 +1724,11 @@ CONFIG_GPIO_TPS65912=m
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
CONFIG_GPIO_WM8994=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
# CONFIG_GPIO_ZEVIO is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1955,6 +1930,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -1993,7 +1969,6 @@ CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C_MESON=m
CONFIG_I2C_MLXCPLD=m
@@ -2029,6 +2004,7 @@ CONFIG_I2C_SLAVE=y
CONFIG_I2C_STUB=m
CONFIG_I2C_SUN6I_P2WI=m
# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TEGRA_BPMP=m
CONFIG_I2C_TEGRA=m
CONFIG_I2C_TINY_USB=m
CONFIG_I2C_VERSATILE=m
@@ -2045,8 +2021,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2073,6 +2047,7 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+# CONFIG_IIO_CROS_EC_BARO is not set
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
@@ -2088,6 +2063,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS=m
@@ -2107,6 +2083,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -2116,6 +2093,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -2124,6 +2102,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2221,8 +2200,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2374,6 +2351,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2417,6 +2395,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_SUNXI=m
CONFIG_IR_TTUSBIR=m
@@ -2585,6 +2564,7 @@ CONFIG_KEYBOARD_SUN4I_LRADC=m
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_TEGRA=m
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYSTONE_IRQ=m
@@ -2598,7 +2578,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2647,6 +2627,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2654,7 +2635,6 @@ CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_GPIO_REGISTER=y
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2764,6 +2744,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
# CONFIG_LTC2485 is not set
@@ -2795,6 +2777,9 @@ CONFIG_MACH_ARMADA_38X=y
CONFIG_MACH_ARMADA_39X=y
CONFIG_MACH_ARMADA_XP=y
CONFIG_MACH_DOVE=y
+# CONFIG_MACH_MESON6 is not set
+CONFIG_MACH_MESON8B=y
+# CONFIG_MACH_MESON8 is not set
# CONFIG_MACH_SUN4I is not set
# CONFIG_MACH_SUN5I is not set
CONFIG_MACH_SUN6I=y
@@ -2808,6 +2793,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2815,10 +2801,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2896,6 +2884,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -2918,6 +2907,7 @@ CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3050,6 +3040,7 @@ CONFIG_MMA7660=m
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
@@ -3125,7 +3116,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3141,6 +3131,7 @@ CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3217,6 +3208,7 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
CONFIG_MTD_PHYSMAP_OF=m
CONFIG_MTD_PHYSMAP_OF_VERSATILE=y
# CONFIG_MTD_PLATRAM is not set
@@ -3292,6 +3284,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3425,6 +3418,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3435,7 +3429,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3490,6 +3484,7 @@ CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3613,6 +3608,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3684,6 +3681,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3831,6 +3829,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -3890,6 +3889,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3956,12 +3956,15 @@ CONFIG_PHY_EXYNOS5250_SATA=m
CONFIG_PHY_EXYNOS5_USBDRD=m
CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
+CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
CONFIG_PHY_MESON8B_USB2=m
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
+CONFIG_PHY_QCOM_USB_HSIC=m
+CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
@@ -3987,6 +3990,7 @@ CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IMX35 is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
@@ -3998,6 +4002,7 @@ CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PJ4B_ERRATA_4742=y
@@ -4077,6 +4082,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -4090,6 +4096,7 @@ CONFIG_PROC_VMCORE=y
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -4110,6 +4117,7 @@ CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
@@ -4117,10 +4125,12 @@ CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+CONFIG_QCOM_IRQ_COMBINER=y
# CONFIG_QCOM_SPMI_IADC is not set
# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
# CONFIG_QCOM_SPMI_VADC is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -4169,7 +4179,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4224,6 +4233,7 @@ CONFIG_REGULATOR_AD5398=m
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_CPCAP=m
CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
# CONFIG_REGULATOR_DEBUG is not set
@@ -4251,7 +4261,7 @@ CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
CONFIG_REGULATOR_PV88090=m
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
# CONFIG_REGULATOR_QCOM_SPMI is not set
CONFIG_REGULATOR_RK808=m
CONFIG_REGULATOR_S2MPA01=m
@@ -4288,7 +4298,6 @@ CONFIG_RESET_GPIO=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RFKILL_REGULATOR=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
@@ -4304,6 +4313,7 @@ CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
CONFIG_ROCKCHIP_ANALOGIX_DP=m
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=m
CONFIG_ROCKCHIP_DW_MIPI_DSI=m
CONFIG_ROCKCHIP_EFUSE=m
@@ -4319,6 +4329,7 @@ CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPMSG_CHAR is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4774,6 +4785,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4812,6 +4824,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_EM is not set
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4819,6 +4832,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4836,6 +4850,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4848,7 +4864,7 @@ CONFIG_SERIAL_MESON=y
# CONFIG_SERIAL_MPS2_UART is not set
CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
@@ -4857,7 +4873,8 @@ CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_ST_ASC is not set
+CONFIG_SERIAL_ST_ASC_CONSOLE=y
+CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_TEGRA=y
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -4911,6 +4928,7 @@ CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC911X=m
CONFIG_SMC91X=m
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
@@ -5063,7 +5081,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_BUS=y
CONFIG_SND_SOC_AC97_CODEC=m
@@ -5097,7 +5115,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -5117,6 +5137,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -5127,7 +5148,8 @@ CONFIG_SND_SOC=m
CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_SPI=m
-# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
CONFIG_SND_SOC_ROCKCHIP_I2S=m
CONFIG_SND_SOC_ROCKCHIP=m
CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
@@ -5138,7 +5160,7 @@ CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_SAMSUNG=m
CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
-# CONFIG_SND_SOC_SGTL5000 is not set
+CONFIG_SND_SOC_SGTL5000=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
@@ -5163,7 +5185,7 @@ CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA_RT5677=m
-# CONFIG_SND_SOC_TEGRA_SGTL5000 is not set
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
# CONFIG_SND_SOC_TEGRA_TRIMSLICE is not set
# CONFIG_SND_SOC_TEGRA_WM8753 is not set
# CONFIG_SND_SOC_TEGRA_WM8903 is not set
@@ -5203,6 +5225,7 @@ CONFIG_SND_SUN4I_CODEC=m
CONFIG_SND_SUN4I_I2S=m
CONFIG_SND_SUN4I_SPDIF=m
CONFIG_SND_SUN8I_CODEC_ANALOG=m
+CONFIG_SND_SUN8I_CODEC=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5240,6 +5263,7 @@ CONFIG_SOC_EXYNOS5440=y
CONFIG_SOC_EXYNOS5800=y
# CONFIG_SOC_OMAP5 is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -5302,6 +5326,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SRAM=y
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -5319,6 +5344,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -5331,15 +5357,19 @@ CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUN4I_EMAC=m
# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
-CONFIG_SUN8I_EMAC=m
+CONFIG_SUN5I_CCU=y
+CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN8I_A23_CCU=y
+CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_V3S_CCU=y
+CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_SUNGEM is not set
@@ -5367,7 +5397,7 @@ CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
+CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
@@ -5463,9 +5493,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5492,6 +5524,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AEMIF=m
# CONFIG_TI_CPSW_ALE is not set
@@ -5504,6 +5537,8 @@ CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
# CONFIG_TIMER_STATS is not set
CONFIG_TI_MESSAGE_MANAGER=m
+CONFIG_TINYDRM_MI0283QT=m
+CONFIG_TINYDRM_MIPI_DBI=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5512,9 +5547,11 @@ CONFIG_TI_SOC_THERMAL=m
# CONFIG_TI_ST is not set
CONFIG_TI_SYSCON_RESET=m
CONFIG_TI_THERMAL=y
+# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5585,6 +5622,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5655,7 +5693,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5674,6 +5712,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -5800,6 +5839,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5957,6 +5997,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -6038,7 +6079,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
# CONFIG_VCNL4000 is not set
-# CONFIG_VDSO is not set
+CONFIG_VDSO=y
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -6059,6 +6100,7 @@ CONFIG_VFPv3=y
CONFIG_VFP=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -6112,6 +6154,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -6135,7 +6178,7 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=y
+CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=m
# CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC is not set
CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
CONFIG_VIDEO_SAMSUNG_S5P_G2D=m
@@ -6177,6 +6220,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -6192,8 +6236,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -6215,6 +6257,7 @@ CONFIG_W1_MASTER_DS2490=m
CONFIG_W1_MASTER_GPIO=m
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -6287,6 +6330,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_PTDUMP=y
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 30d46cad8..d8b2302ca 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -124,11 +124,11 @@ CONFIG_AEABI=y
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
CONFIG_AHCI_IMX=m
CONFIG_AHCI_MVEBU=m
# CONFIG_AHCI_QORIQ is not set
+CONFIG_AHCI_ST=m
CONFIG_AHCI_SUNXI=m
CONFIG_AHCI_TEGRA=m
# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
@@ -205,7 +205,7 @@ CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MDM9615 is not set
# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
+CONFIG_ARCH_MESON=y
CONFIG_ARCH_MMP=y
CONFIG_ARCH_MSM8960=y
CONFIG_ARCH_MSM8974=y
@@ -225,12 +225,11 @@ CONFIG_ARCH_ROCKCHIP=y
# 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_STI=y
CONFIG_ARCH_SUNXI=y
# CONFIG_ARCH_TANGO is not set
CONFIG_ARCH_TEGRA_114_SOC=y
CONFIG_ARCH_TEGRA_124_SOC=y
-# CONFIG_ARCH_TEGRA_186_SOC is not set
CONFIG_ARCH_TEGRA_2x_SOC=y
CONFIG_ARCH_TEGRA_3x_SOC=y
CONFIG_ARCH_TEGRA=y
@@ -246,7 +245,6 @@ CONFIG_ARCH_VIRT=y
# CONFIG_ARCH_ZX is not set
CONFIG_ARCH_ZYNQ=y
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
CONFIG_ARM_APPENDED_DTB=y
@@ -319,11 +317,13 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
+CONFIG_ARM_STI_CPUFREQ=m
CONFIG_ARM_TEGRA124_CPUFREQ=m
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
+CONFIG_ARM_TI_CPUFREQ=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_ARM_UNWIND=y
CONFIG_ARM_VEXPRESS_SPC_CPUFREQ=m
@@ -497,7 +497,6 @@ CONFIG_BATTERY_DA9052=m
# 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_RX51=m
@@ -545,6 +544,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -583,6 +583,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -681,6 +682,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -808,13 +810,16 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
+CONFIG_CHARGER_AXP20X=m
CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
# CONFIG_CHARGER_BQ24257 is not set
CONFIG_CHARGER_BQ24735=m
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
CONFIG_CHARGER_GPIO=m
CONFIG_CHARGER_ISP1704=m
# CONFIG_CHARGER_LP8727 is not set
@@ -824,6 +829,7 @@ CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHARGER_TPS65090=m
CONFIG_CHARGER_TPS65217=m
@@ -870,6 +876,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
CONFIG_CM36651=m
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
@@ -891,21 +898,8 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
CONFIG_COMMON_CLK_MAX77686=m
CONFIG_COMMON_CLK_MAX77802=m
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
CONFIG_COMMON_CLK_PALMAS=m
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_QCOM=m
@@ -916,9 +910,11 @@ CONFIG_COMMON_CLK_SCPI=m
CONFIG_COMMON_CLK_SI5351=m
CONFIG_COMMON_CLK_SI570=m
CONFIG_COMMON_CLK_TI_ADPLL=m
+# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -973,6 +969,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -986,11 +983,11 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_CRC32_ARM64_CE=m
CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
@@ -1156,7 +1153,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_DEBUG_RODATA is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1276,6 +1273,7 @@ CONFIG_DRM_ARMADA=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
@@ -1307,18 +1305,10 @@ CONFIG_DRM_HDLCD=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_IMX_HDMI=m
CONFIG_DRM_IMX_IPUV3=m
CONFIG_DRM_IMX_LDB=m
@@ -1329,7 +1319,7 @@ CONFIG_DRM_IMX_TVE=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
-# CONFIG_DRM_MESON is not set
+CONFIG_DRM_MESON=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_MSM_DSI is not set
@@ -1339,7 +1329,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
+CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m
CONFIG_DRM_OMAP_CONNECTOR_DVI=m
CONFIG_DRM_OMAP_CONNECTOR_HDMI=m
@@ -1365,7 +1355,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8622=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1375,7 +1365,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_STI is not set
+CONFIG_DRM_STI=m
CONFIG_DRM_SUN4I=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_TEGRA_DEBUG is not set
@@ -1383,6 +1373,7 @@ CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
CONFIG_DRM_TILCDC=m
CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
+CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1390,8 +1381,6 @@ CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-# CONFIG_DRM_VMWGFX is not set
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1479,14 +1468,18 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=m
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
CONFIG_DWMAC_GENERIC=m
-# CONFIG_DWMAC_IPQ806X is not set
+CONFIG_DWMAC_IPQ806X=m
CONFIG_DWMAC_MESON=m
CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_STI=m
+CONFIG_DWMAC_SUN8I=m
CONFIG_DWMAC_SUNXI=m
CONFIG_DW_WATCHDOG=m
CONFIG_DYNAMIC_DEBUG=y
@@ -1512,6 +1505,7 @@ CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
CONFIG_EEPROM_AT24=m
CONFIG_EEPROM_AT25=m
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1562,6 +1556,7 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_ADC_JACK=m
CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
CONFIG_EXTCON_PALMAS=m
@@ -1598,7 +1593,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_FS=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_FB_ASILIANT is not set
@@ -1616,19 +1610,12 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_DA8XX is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# 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_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1675,9 +1662,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1722,6 +1706,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_XGMAC_MDIO is not set
@@ -1786,16 +1771,14 @@ CONFIG_GPIO_74X164=m
# 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_AMDPT is not set
CONFIG_GPIO_AXP209=m
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DA9052=m
CONFIG_GPIO_DA9055=m
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
-# CONFIG_GPIO_EM is not set
+CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
@@ -1806,7 +1789,6 @@ CONFIG_GPIO_MAX7301=m
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_MC33880=m
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
@@ -1816,15 +1798,15 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
CONFIG_GPIO_STMPE=y
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65218=m
@@ -1837,13 +1819,11 @@ CONFIG_GPIO_TS4800=m
CONFIG_GPIO_TWL4030=m
CONFIG_GPIO_TWL6040=m
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
CONFIG_GPIO_WM8994=m
# CONFIG_GPIO_WS16C48 is not set
CONFIG_GPIO_XILINX=y
# CONFIG_GPIO_ZEVIO is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GPIO_ZYNQ=m
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
@@ -2042,6 +2022,7 @@ CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_MXC_RNGA=m
CONFIG_HW_RANDOM_OMAP3_ROM=m
CONFIG_HW_RANDOM_OMAP=m
+CONFIG_HW_RANDOM_ST=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
@@ -2049,6 +2030,7 @@ CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
CONFIG_HWSPINLOCK_OMAP=m
CONFIG_HWSPINLOCK_QCOM=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2122,9 +2104,11 @@ CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_SIS96X is not set
CONFIG_I2C_SLAVE_EEPROM=m
CONFIG_I2C_SLAVE=y
+CONFIG_I2C_ST=m
CONFIG_I2C_STUB=m
CONFIG_I2C_SUN6I_P2WI=m
# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TEGRA_BPMP=m
CONFIG_I2C_TEGRA=m
CONFIG_I2C_TINY_USB=m
CONFIG_I2C_VERSATILE=m
@@ -2141,8 +2125,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2169,6 +2151,7 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+# CONFIG_IIO_CROS_EC_BARO is not set
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
@@ -2184,6 +2167,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
CONFIG_IIO_ST_PRESS_I2C=m
CONFIG_IIO_ST_PRESS=m
@@ -2210,6 +2194,7 @@ CONFIG_IMX_WEIM=y
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -2219,6 +2204,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -2227,6 +2213,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2332,8 +2319,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2485,6 +2470,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2529,6 +2515,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_SUNXI=m
CONFIG_IR_TTUSBIR=m
@@ -2695,6 +2682,7 @@ CONFIG_KEYBOARD_PXA27x=y
CONFIG_KEYBOARD_SAMSUNG=m
# CONFIG_KEYBOARD_SH_KEYSC is not set
CONFIG_KEYBOARD_SNVS_PWRKEY=m
+CONFIG_KEYBOARD_ST_KEYSCAN=m
CONFIG_KEYBOARD_STMPE=m
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_KEYBOARD_SUN4I_LRADC=m
@@ -2702,6 +2690,7 @@ CONFIG_KEYBOARD_SUN4I_LRADC=m
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
CONFIG_KEYBOARD_TEGRA=m
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
CONFIG_KEYBOARD_TWL4030=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
@@ -2714,7 +2703,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2761,6 +2750,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2769,7 +2759,6 @@ CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_DELL_NETBOOKS=m
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_GPIO_REGISTER=y
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2881,6 +2870,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
# CONFIG_LTC2485 is not set
@@ -2915,6 +2906,9 @@ CONFIG_MACH_ARMADA_XP=y
CONFIG_MACH_DOVE=y
# CONFIG_MACH_FLINT is not set
# CONFIG_MACH_MARVELL_JASPER is not set
+# CONFIG_MACH_MESON6 is not set
+CONFIG_MACH_MESON8B=y
+# CONFIG_MACH_MESON8 is not set
CONFIG_MACH_MMP2_DT=y
# CONFIG_MACH_OMAP3517EVM is not set
# CONFIG_MACH_OMAP3_PANDORA is not set
@@ -2932,6 +2926,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2939,10 +2934,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -3022,6 +3019,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3044,6 +3042,7 @@ CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3178,6 +3177,7 @@ CONFIG_MMA7660=m
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
+CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
@@ -3218,6 +3218,7 @@ CONFIG_MMC_SDHCI_PXAV2=m
CONFIG_MMC_SDHCI_PXAV3=m
CONFIG_MMC_SDHCI_S3C_DMA=y
CONFIG_MMC_SDHCI_S3C=m
+CONFIG_MMC_SDHCI_ST=m
CONFIG_MMC_SDHCI_TEGRA=m
CONFIG_MMC_SDRICOH_CS=m
CONFIG_MMC_SPI=m
@@ -3260,7 +3261,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -3276,6 +3276,7 @@ CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3365,6 +3366,7 @@ CONFIG_MTD_ONENAND_OMAP2=m
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_OF_GEMINI is not set
CONFIG_MTD_PHYSMAP_OF=m
CONFIG_MTD_PHYSMAP_OF_VERSATILE=y
# CONFIG_MTD_PLATRAM is not set
@@ -3444,6 +3446,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3577,6 +3580,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3587,7 +3591,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3642,6 +3646,7 @@ CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3768,6 +3773,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3839,6 +3846,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3981,7 +3989,6 @@ CONFIG_OMAP_INTERCONNECT=y
# CONFIG_OMAP_IOMMU_DEBUG is not set
CONFIG_OMAP_IOMMU=y
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
-# CONFIG_OMAP_MUX_DEBUG is not set
CONFIG_OMAP_MUX_WARNINGS=y
CONFIG_OMAP_MUX=y
CONFIG_OMAP_OCP2SCP=m
@@ -4025,6 +4032,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -4085,6 +4093,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -4155,14 +4164,19 @@ CONFIG_PHY_EXYNOS5250_SATA=m
CONFIG_PHY_EXYNOS5_USBDRD=m
CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
+CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MIPHY28LP=m
+# CONFIG_PHY_MIPHY365X is not set
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
CONFIG_PHY_QCOM_APQ8064_SATA=m
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HSIC=m
+CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
@@ -4170,6 +4184,8 @@ CONFIG_PHY_ROCKCHIP_PCIE=m
CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
CONFIG_PHY_SAMSUNG_USB2=m
+CONFIG_PHY_STIH407_USB=m
+# CONFIG_PHY_STIH41X_USB is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
CONFIG_PHY_SUN4I_USB=m
@@ -4190,6 +4206,7 @@ CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IMX35 is not set
CONFIG_PINCTRL_IMX6SL=y
# CONFIG_PINCTRL_IPQ4019 is not set
@@ -4209,6 +4226,7 @@ CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINCTRL_ZYNQ=y
CONFIG_PINMUX=y
@@ -4259,6 +4277,7 @@ CONFIG_POWER_RESET_IMX=y
CONFIG_POWER_RESET_MSM=y
# CONFIG_POWER_RESET_QNAP is not set
CONFIG_POWER_RESET_RESTART=y
+CONFIG_POWER_RESET_ST=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_VERSATILE=y
@@ -4292,6 +4311,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -4305,6 +4325,7 @@ CONFIG_PROC_VMCORE=y
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -4322,6 +4343,7 @@ CONFIG_PWM_OMAP_DMTIMER=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_ROCKCHIP=m
CONFIG_PWM_SAMSUNG=m
+CONFIG_PWM_STI=m
# CONFIG_PWM_STMPE is not set
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
@@ -4333,6 +4355,7 @@ CONFIG_PWM_TWL_LED=m
CONFIG_PWM_TWL=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
CONFIG_PXA_DMA=y
# CONFIG_QCA7000 is not set
@@ -4346,6 +4369,7 @@ CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_GSBI=m
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_PM=y
# CONFIG_QCOM_Q6V5_PIL is not set
CONFIG_QCOM_QFPROM=m
@@ -4362,6 +4386,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
# CONFIG_QCOM_WCNSS_PIL is not set
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -4424,6 +4449,7 @@ CONFIG_RC_DECODERS=y
CONFIG_RC_DEVICES=y
CONFIG_RC_LOOPBACK=m
CONFIG_RC_MAP=m
+CONFIG_RC_ST=m
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_EQS_DEBUG is not set
# CONFIG_RCU_EXPERT is not set
@@ -4466,6 +4492,7 @@ CONFIG_REGULATOR_AD5398=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_CPCAP=m
CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_DA9055=m
CONFIG_REGULATOR_DA9210=m
@@ -4500,7 +4527,7 @@ CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
CONFIG_REGULATOR_PV88090=m
-CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_RPM=m
CONFIG_REGULATOR_QCOM_SMD_RPM=m
CONFIG_REGULATOR_QCOM_SPMI=m
@@ -4542,7 +4569,6 @@ CONFIG_RESET_GPIO=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RFKILL_REGULATOR=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
@@ -4558,6 +4584,7 @@ CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
CONFIG_ROCKCHIP_ANALOGIX_DP=m
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=m
CONFIG_ROCKCHIP_DW_MIPI_DSI=m
CONFIG_ROCKCHIP_EFUSE=m
@@ -4573,6 +4600,7 @@ CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPMSG_CHAR is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4659,7 +4687,7 @@ CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_MV=m
CONFIG_RTC_DRV_MXC=m
-CONFIG_RTC_DRV_OMAP=y
+CONFIG_RTC_DRV_OMAP=m
CONFIG_RTC_DRV_PALMAS=m
CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
@@ -4691,6 +4719,7 @@ CONFIG_RTC_DRV_S5M=m
# CONFIG_RTC_DRV_SA1100 is not set
CONFIG_RTC_DRV_SNVS=m
CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_ST_LPC=m
CONFIG_RTC_DRV_SUN6I=y
CONFIG_RTC_DRV_SUNXI=m
CONFIG_RTC_DRV_TEGRA=m
@@ -5042,6 +5071,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -5081,6 +5111,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_EM is not set
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -5089,6 +5120,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_OMAP=m
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -5106,6 +5138,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
@@ -5122,7 +5156,7 @@ CONFIG_SERIAL_MSM_CONSOLE=y
CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_OMAP_CONSOLE=y
CONFIG_SERIAL_OMAP=y
@@ -5135,7 +5169,8 @@ CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_ST_ASC is not set
+CONFIG_SERIAL_ST_ASC_CONSOLE=y
+CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_TEGRA=y
# CONFIG_SERIAL_TIMBERDALE is not set
CONFIG_SERIAL_UARTLITE_CONSOLE=y
@@ -5192,6 +5227,7 @@ CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC911X=m
CONFIG_SMC91X=m
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
@@ -5363,7 +5399,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_BUS=y
CONFIG_SND_SOC_AC97_CODEC=m
@@ -5434,6 +5470,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -5445,7 +5482,8 @@ CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_SPI=m
CONFIG_SND_SOC_QCOM=m
-# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
CONFIG_SND_SOC_ROCKCHIP_I2S=m
CONFIG_SND_SOC_ROCKCHIP=m
CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
@@ -5466,7 +5504,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_SSM4567 is not set
# CONFIG_SND_SOC_STA32X is not set
# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_STI_SAS is not set
+CONFIG_SND_SOC_STI=m
+CONFIG_SND_SOC_STI_SAS=m
CONFIG_SND_SOC_STORM=m
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
@@ -5482,9 +5521,9 @@ CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
CONFIG_SND_SOC_TEGRA_RT5640=m
CONFIG_SND_SOC_TEGRA_RT5677=m
-# CONFIG_SND_SOC_TEGRA_SGTL5000 is not set
+CONFIG_SND_SOC_TEGRA_SGTL5000=m
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
-CONFIG_SND_SOC_TEGRA_WM8753=m
+# CONFIG_SND_SOC_TEGRA_WM8753 is not set
CONFIG_SND_SOC_TEGRA_WM8903=m
CONFIG_SND_SOC_TEGRA_WM9712=m
# CONFIG_SND_SOC_TFA9879 is not set
@@ -5525,6 +5564,7 @@ CONFIG_SND_SUN4I_CODEC=m
CONFIG_SND_SUN4I_I2S=m
CONFIG_SND_SUN4I_SPDIF=m
CONFIG_SND_SUN8I_CODEC_ANALOG=m
+CONFIG_SND_SUN8I_CODEC=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5576,9 +5616,13 @@ CONFIG_SOC_IMX7D=y
# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP3430=y
CONFIG_SOC_OMAP5=y
+CONFIG_SOC_STIH407=y
+# CONFIG_SOC_STIH415 is not set
+# CONFIG_SOC_STIH416 is not set
CONFIG_SOC_TI81XX=y
# CONFIG_SOC_TI is not set
# CONFIG_SOC_VF610 is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -5625,6 +5669,7 @@ CONFIG_SPI_ROCKCHIP=m
CONFIG_SPI_S3C64XX=m
# CONFIG_SPI_SC18IS602 is not set
CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_ST_SSC4=m
CONFIG_SPI_SUN4I=m
CONFIG_SPI_SUN6I=m
CONFIG_SPI_TEGRA114=m
@@ -5648,6 +5693,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SRAM=y
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -5665,11 +5711,15 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
+CONFIG_ST_FDMA=m
+CONFIG_STI_MBOX=m
CONFIG_STK3310=m
# CONFIG_STK8312 is not set
# CONFIG_STK8BA50 is not set
+CONFIG_ST_LPC_WATCHDOG=m
# CONFIG_STM_DUMMY is not set
# CONFIG_STM is not set
CONFIG_STMMAC_ETH=m
@@ -5678,16 +5728,24 @@ CONFIG_STMMAC_PLATFORM=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
# CONFIG_STM_SOURCE_CONSOLE is not set
+CONFIG_ST_REMOTEPROC=m
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_THERMAL=m
+CONFIG_ST_THERMAL_MEMMAP=m
+# CONFIG_ST_THERMAL_SYSCFG is not set
CONFIG_SUN4I_EMAC=m
# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
-CONFIG_SUN8I_EMAC=m
+CONFIG_SUN5I_CCU=y
+CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN8I_A23_CCU=y
+CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_V3S_CCU=y
+CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_SUNGEM is not set
@@ -5715,7 +5773,7 @@ CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
+CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
@@ -5810,9 +5868,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5839,13 +5899,15 @@ CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AM335X_ADC=m
CONFIG_TI_CPPI41=m
CONFIG_TI_CPSW_ALE=m
CONFIG_TI_CPSW=m
CONFIG_TI_CPSW_PHY_SEL=y
-CONFIG_TI_CPTS=m
+CONFIG_TI_CPTS_MOD=m
+CONFIG_TI_CPTS=y
CONFIG_TI_DAC7512=m
CONFIG_TI_DAVINCI_CPDMA=m
CONFIG_TI_DAVINCI_EMAC=m
@@ -5857,6 +5919,8 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_MI0283QT=m
+CONFIG_TINYDRM_MIPI_DBI=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5866,9 +5930,11 @@ CONFIG_TI_SOC_THERMAL=m
CONFIG_TI_ST=m
CONFIG_TI_SYSCON_RESET=m
CONFIG_TI_THERMAL=y
+# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5941,6 +6007,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -6017,7 +6084,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -6038,6 +6105,7 @@ CONFIG_USB_CHAOSKEY=m
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_UDC=y
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -6075,6 +6143,7 @@ CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_OF_SIMPLE=m
CONFIG_USB_DWC3_OMAP=m
CONFIG_USB_DWC3_PCI=m
+CONFIG_USB_DWC3_ST=m
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EG20T is not set
@@ -6082,6 +6151,7 @@ CONFIG_USB_EHCI_EXYNOS=m
CONFIG_USB_EHCI_HCD_OMAP=m
CONFIG_USB_EHCI_HCD_ORION=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_EHCI_HCD_STI=m
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_MSM=m
# CONFIG_USB_EHCI_MV is not set
@@ -6168,6 +6238,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IMX21_HCD=m
@@ -6250,6 +6321,7 @@ CONFIG_USB_OHCI_HCD_OMAP3=m
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
+CONFIG_USB_OHCI_HCD_STI=m
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
# CONFIG_USB_OTG_FSM is not set
@@ -6334,6 +6406,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -6437,6 +6510,7 @@ CONFIG_VFPv3=y
CONFIG_VFP=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -6494,7 +6568,9 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IMX_VDOA=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -6534,6 +6610,13 @@ CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
# CONFIG_VIDEO_SH_VEU is not set
CONFIG_VIDEO_SOLO6X10=m
CONFIG_VIDEO_SR030PC30=m
+CONFIG_VIDEO_STI_BDISP=m
+CONFIG_VIDEO_STI_DELTA_DRIVER=m
+CONFIG_VIDEO_STI_DELTA=m
+CONFIG_VIDEO_STI_DELTA_MJPEG=y
+CONFIG_VIDEO_STI_HDMI_CEC=m
+# CONFIG_VIDEO_STI_HVA_DEBUGFS is not set
+CONFIG_VIDEO_STI_HVA=m
CONFIG_VIDEO_STK1160_AC97=y
CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160=m
@@ -6564,6 +6647,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -6579,8 +6663,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -6603,6 +6685,7 @@ CONFIG_W1_MASTER_GPIO=m
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_MASTER_MXC=m
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -6677,6 +6760,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_PTDUMP=y
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index fb4ea2473..77daef22c 100644
--- a/kernel-i686-PAE.config
+++ b/kernel-i686-PAE.config
@@ -222,10 +222,7 @@ CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_NB_WMI=m
@@ -383,7 +380,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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_OLPC=y
@@ -427,6 +423,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_BSGLIB=y
@@ -466,6 +463,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -561,6 +559,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -679,6 +678,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -686,6 +686,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -693,6 +694,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -733,6 +735,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
# CONFIG_CMA is not set
# CONFIG_CMDLINE_BOOL is not set
@@ -743,24 +746,13 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
# CONFIG_COMPAT_BRK is not set
@@ -809,6 +801,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -824,13 +817,11 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -973,6 +964,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1087,6 +1079,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1097,7 +1090,7 @@ CONFIG_DRM_GMA500=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
@@ -1112,7 +1105,6 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1138,6 +1130,7 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1232,6 +1225,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
@@ -1282,6 +1276,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT=y
@@ -1303,7 +1298,6 @@ CONFIG_EFIVAR_FS=y
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_EFI=y
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1336,6 +1330,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1381,7 +1376,6 @@ CONFIG_FB_EFI=y
CONFIG_FB_GEODE_GX=y
CONFIG_FB_GEODE_LX=y
CONFIG_FB_GEODE=y
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
CONFIG_FB_HYPERV=m
@@ -1482,6 +1476,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1557,6 +1552,7 @@ CONFIG_GIRBIL_DONGLE=m
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
@@ -1576,6 +1572,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
@@ -1583,7 +1580,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1593,7 +1590,6 @@ CONFIG_GPIO_VIPERBOARD=m
CONFIG_GPIO_WHISKEY_COVE=y
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1604,6 +1600,7 @@ CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
# CONFIG_HDC100X is not set
+CONFIG_HDMI_LPE_AUDIO=m
CONFIG_HEADERS_CHECK=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
@@ -1802,6 +1799,7 @@ CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
@@ -1843,7 +1841,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
CONFIG_I2C_I801=m
-CONFIG_I2C_IMX_LPI2C=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_MLXCPLD=m
@@ -1938,6 +1935,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1954,6 +1952,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1963,6 +1962,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1971,6 +1971,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2241,6 +2242,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
@@ -2287,6 +2289,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2441,6 +2444,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2452,7 +2456,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2505,6 +2509,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2621,6 +2626,8 @@ CONFIG_LOOPBACK_TARGET=m
CONFIG_LPC_ICH=m
CONFIG_LP_CONSOLE=y
CONFIG_LPC_SCH=m
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2659,6 +2666,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2667,10 +2675,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2746,7 +2756,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2765,6 +2774,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
CONFIG_MFD_CS5535=m
# CONFIG_MFD_DA9052_I2C is not set
@@ -2814,7 +2824,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2976,6 +2985,7 @@ CONFIG_MPILIB=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3095,6 +3105,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3228,6 +3239,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3238,7 +3250,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3293,6 +3305,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3417,6 +3430,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3488,11 +3503,13 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
+CONFIG_NIC7018_WDT=m
CONFIG_NILFS2_FS=m
CONFIG_NIU=m
# CONFIG_NL80211_TESTMODE is not set
@@ -3628,6 +3645,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3685,6 +3703,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
CONFIG_PC8736x_GPIO=m
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
@@ -3756,6 +3775,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHYSICAL_ALIGN=0x400000
CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
@@ -3768,10 +3789,12 @@ CONFIG_PINCTRL_BAYTRAIL=y
# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CHERRYVIEW=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SINGLE is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3839,6 +3862,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3853,11 +3877,13 @@ CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
+CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -3871,14 +3897,15 @@ CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3924,7 +3951,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3970,6 +3996,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4456,6 +4483,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4492,13 +4520,16 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
+CONFIG_SERIAL_8250_LPSS=m
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4511,6 +4542,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4554,6 +4587,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGMATEL_FIR=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_SILEAD_DMI is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4574,6 +4608,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
# CONFIG_SMSC37B787_WDT is not set
@@ -4718,7 +4753,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
@@ -4750,7 +4785,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -4788,6 +4825,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4843,7 +4881,6 @@ CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4866,9 +4903,11 @@ CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
+CONFIG_SND_X86=y
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4917,6 +4956,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4935,6 +4975,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4949,10 +4990,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4961,7 +4998,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
@@ -5045,8 +5081,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -5060,9 +5094,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5094,6 +5130,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5108,9 +5145,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5185,6 +5224,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5252,7 +5292,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5269,6 +5309,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5353,6 +5394,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5497,6 +5539,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5586,6 +5629,7 @@ CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5638,6 +5682,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5659,7 +5704,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5696,6 +5740,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5737,6 +5782,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5809,6 +5855,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_32_IRIS=m
# CONFIG_X86_32_NON_STANDARD is not set
@@ -5883,6 +5930,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_XEN_PVH=y
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_SCSI_BACKEND=m
diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config
index f950ff72c..5d6a84534 100644
--- a/kernel-i686-PAEdebug.config
+++ b/kernel-i686-PAEdebug.config
@@ -222,10 +222,8 @@ CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
CONFIG_ARM64_PTDUMP=y
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_NB_WMI=m
@@ -383,7 +381,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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_OLPC=y
@@ -427,6 +424,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_BSGLIB=y
@@ -466,6 +464,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -561,6 +560,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -679,6 +679,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -686,6 +687,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -693,6 +695,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -733,6 +736,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
# CONFIG_CMA is not set
# CONFIG_CMDLINE_BOOL is not set
@@ -743,24 +747,13 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
# CONFIG_COMPAT_BRK is not set
@@ -810,6 +803,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -825,13 +819,11 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -981,6 +973,7 @@ CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1097,6 +1090,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1107,7 +1101,7 @@ CONFIG_DRM_GMA500=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
@@ -1122,7 +1116,6 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1148,6 +1141,7 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1242,6 +1236,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
@@ -1292,6 +1287,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT=y
@@ -1313,7 +1309,6 @@ CONFIG_EFIVAR_FS=y
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_EFI=y
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1346,6 +1341,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1398,7 +1394,6 @@ CONFIG_FB_EFI=y
CONFIG_FB_GEODE_GX=y
CONFIG_FB_GEODE_LX=y
CONFIG_FB_GEODE=y
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
CONFIG_FB_HYPERV=m
@@ -1499,6 +1494,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1574,6 +1570,7 @@ CONFIG_GIRBIL_DONGLE=m
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
@@ -1593,6 +1590,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
@@ -1600,7 +1598,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1610,7 +1608,6 @@ CONFIG_GPIO_VIPERBOARD=m
CONFIG_GPIO_WHISKEY_COVE=y
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1621,6 +1618,7 @@ CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
# CONFIG_HDC100X is not set
+CONFIG_HDMI_LPE_AUDIO=m
CONFIG_HEADERS_CHECK=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
@@ -1819,6 +1817,7 @@ CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
@@ -1860,7 +1859,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
CONFIG_I2C_I801=m
-CONFIG_I2C_IMX_LPI2C=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_MLXCPLD=m
@@ -1955,6 +1953,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1971,6 +1970,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1980,6 +1980,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1988,6 +1989,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2258,6 +2260,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
@@ -2304,6 +2307,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2460,6 +2464,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2471,7 +2476,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2524,6 +2529,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2640,6 +2646,8 @@ CONFIG_LOOPBACK_TARGET=m
CONFIG_LPC_ICH=m
CONFIG_LP_CONSOLE=y
CONFIG_LPC_SCH=m
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2678,6 +2686,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2686,10 +2695,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2765,7 +2776,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2784,6 +2794,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
CONFIG_MFD_CS5535=m
# CONFIG_MFD_DA9052_I2C is not set
@@ -2833,7 +2844,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2995,6 +3005,7 @@ CONFIG_MPILIB=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3114,6 +3125,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3247,6 +3259,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3257,7 +3270,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3312,6 +3325,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3436,6 +3450,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3507,11 +3523,13 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
+CONFIG_NIC7018_WDT=m
CONFIG_NILFS2_FS=m
CONFIG_NIU=m
# CONFIG_NL80211_TESTMODE is not set
@@ -3647,6 +3665,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3704,6 +3723,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
CONFIG_PC8736x_GPIO=m
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
@@ -3775,6 +3795,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHYSICAL_ALIGN=0x400000
CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
@@ -3787,10 +3809,12 @@ CONFIG_PINCTRL_BAYTRAIL=y
# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CHERRYVIEW=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SINGLE is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3858,6 +3882,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3873,11 +3898,13 @@ CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
+CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -3891,14 +3918,15 @@ CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3944,7 +3972,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3990,6 +4017,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4476,6 +4504,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4512,13 +4541,16 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
+CONFIG_SERIAL_8250_LPSS=m
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4531,6 +4563,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4574,6 +4608,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGMATEL_FIR=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_SILEAD_DMI is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4594,6 +4629,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
# CONFIG_SMSC37B787_WDT is not set
@@ -4739,7 +4775,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
@@ -4771,7 +4807,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -4809,6 +4847,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4864,7 +4903,6 @@ CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4887,9 +4925,11 @@ CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
+CONFIG_SND_X86=y
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4938,6 +4978,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4956,6 +4997,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4970,10 +5012,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4982,7 +5020,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
@@ -5066,8 +5103,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -5081,9 +5116,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5115,6 +5152,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5129,9 +5167,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5206,6 +5246,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5273,7 +5314,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5290,6 +5331,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5374,6 +5416,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5518,6 +5561,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5607,6 +5651,7 @@ CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5659,6 +5704,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5680,7 +5726,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5717,6 +5762,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5758,6 +5804,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5830,6 +5877,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_32_IRIS=m
# CONFIG_X86_32_NON_STANDARD is not set
@@ -5904,6 +5952,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_XEN_PVH=y
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_SCSI_BACKEND=m
diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config
index 0ba3ebfe6..024755175 100644
--- a/kernel-i686-debug.config
+++ b/kernel-i686-debug.config
@@ -222,10 +222,8 @@ CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
CONFIG_ARM64_PTDUMP=y
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_NB_WMI=m
@@ -383,7 +381,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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_OLPC=y
@@ -427,6 +424,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_BSGLIB=y
@@ -466,6 +464,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -561,6 +560,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -679,6 +679,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -686,6 +687,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -693,6 +695,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -733,6 +736,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
# CONFIG_CMA is not set
# CONFIG_CMDLINE_BOOL is not set
@@ -743,24 +747,13 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
# CONFIG_COMPAT_BRK is not set
@@ -810,6 +803,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -825,13 +819,11 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -981,6 +973,7 @@ CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1097,6 +1090,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1107,7 +1101,7 @@ CONFIG_DRM_GMA500=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
@@ -1122,7 +1116,6 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1148,6 +1141,7 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1242,6 +1236,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
@@ -1292,6 +1287,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT=y
@@ -1313,7 +1309,6 @@ CONFIG_EFIVAR_FS=y
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_EFI=y
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1346,6 +1341,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1398,7 +1394,6 @@ CONFIG_FB_EFI=y
CONFIG_FB_GEODE_GX=y
CONFIG_FB_GEODE_LX=y
CONFIG_FB_GEODE=y
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
CONFIG_FB_HYPERV=m
@@ -1499,6 +1494,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1574,6 +1570,7 @@ CONFIG_GIRBIL_DONGLE=m
CONFIG_GPIO_CRYSTAL_COVE=y
CONFIG_GPIO_CS5535=y
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
@@ -1593,6 +1590,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
@@ -1600,7 +1598,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1610,7 +1608,6 @@ CONFIG_GPIO_VIPERBOARD=m
CONFIG_GPIO_WHISKEY_COVE=y
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1621,6 +1618,7 @@ CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
# CONFIG_HDC100X is not set
+CONFIG_HDMI_LPE_AUDIO=m
CONFIG_HEADERS_CHECK=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
@@ -1819,6 +1817,7 @@ CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
@@ -1860,7 +1859,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
CONFIG_I2C_I801=m
-CONFIG_I2C_IMX_LPI2C=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_MLXCPLD=m
@@ -1955,6 +1953,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1971,6 +1970,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1980,6 +1980,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1988,6 +1989,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2258,6 +2260,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
@@ -2304,6 +2307,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2460,6 +2464,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2471,7 +2476,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2524,6 +2529,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2640,6 +2646,8 @@ CONFIG_LOOPBACK_TARGET=m
CONFIG_LPC_ICH=m
CONFIG_LP_CONSOLE=y
CONFIG_LPC_SCH=m
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2678,6 +2686,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2686,10 +2695,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2765,7 +2776,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2784,6 +2794,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
CONFIG_MFD_CS5535=m
# CONFIG_MFD_DA9052_I2C is not set
@@ -2833,7 +2844,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2995,6 +3005,7 @@ CONFIG_MPILIB=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3114,6 +3125,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3247,6 +3259,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3257,7 +3270,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3312,6 +3325,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3436,6 +3450,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3507,11 +3523,13 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
+CONFIG_NIC7018_WDT=m
CONFIG_NILFS2_FS=m
CONFIG_NIU=m
# CONFIG_NL80211_TESTMODE is not set
@@ -3647,6 +3665,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3704,6 +3723,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
CONFIG_PC8736x_GPIO=m
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
@@ -3775,6 +3795,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHYSICAL_ALIGN=0x400000
CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
@@ -3787,10 +3809,12 @@ CONFIG_PINCTRL_BAYTRAIL=y
# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CHERRYVIEW=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SINGLE is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3858,6 +3882,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3873,11 +3898,13 @@ CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
+CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -3891,14 +3918,15 @@ CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3944,7 +3972,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3990,6 +4017,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4476,6 +4504,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4512,13 +4541,16 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
+CONFIG_SERIAL_8250_LPSS=m
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4531,6 +4563,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4574,6 +4608,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGMATEL_FIR=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_SILEAD_DMI is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4594,6 +4629,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
# CONFIG_SMSC37B787_WDT is not set
@@ -4739,7 +4775,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
@@ -4771,7 +4807,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -4809,6 +4847,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4864,7 +4903,6 @@ CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4887,9 +4925,11 @@ CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
+CONFIG_SND_X86=y
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4938,6 +4978,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4956,6 +4997,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4970,10 +5012,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4982,7 +5020,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
@@ -5066,8 +5103,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -5081,9 +5116,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5115,6 +5152,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5129,9 +5167,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5206,6 +5246,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5273,7 +5314,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5290,6 +5331,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5374,6 +5416,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5518,6 +5561,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5607,6 +5651,7 @@ CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5659,6 +5704,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5680,7 +5726,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5717,6 +5762,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5758,6 +5804,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5830,6 +5877,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_32_IRIS=m
# CONFIG_X86_32_NON_STANDARD is not set
@@ -5903,6 +5951,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_XEN_PVH=y
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_SCSI_BACKEND=m
diff --git a/kernel-i686.config b/kernel-i686.config
index 87df775bc..72ce387b9 100644
--- a/kernel-i686.config
+++ b/kernel-i686.config
@@ -222,10 +222,7 @@ CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_NB_WMI=m
@@ -383,7 +380,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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_OLPC=y
@@ -427,6 +423,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_BSGLIB=y
@@ -466,6 +463,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -561,6 +559,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -679,6 +678,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -686,6 +686,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -693,6 +694,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -733,6 +735,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
# CONFIG_CMA is not set
# CONFIG_CMDLINE_BOOL is not set
@@ -743,24 +746,13 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
# CONFIG_COMPAT_BRK is not set
@@ -809,6 +801,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -824,13 +817,11 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -973,6 +964,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1087,6 +1079,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1097,7 +1090,7 @@ CONFIG_DRM_GMA500=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
@@ -1112,7 +1105,6 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1138,6 +1130,7 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1232,6 +1225,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
@@ -1282,6 +1276,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT=y
@@ -1303,7 +1298,6 @@ CONFIG_EFIVAR_FS=y
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_EFI=y
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1336,6 +1330,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1381,7 +1376,6 @@ CONFIG_FB_EFI=y
CONFIG_FB_GEODE_GX=y
CONFIG_FB_GEODE_LX=y
CONFIG_FB_GEODE=y
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
CONFIG_FB_HYPERV=m
@@ -1482,6 +1476,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1557,6 +1552,7 @@ CONFIG_GIRBIL_DONGLE=m
CONFIG_GPIO_CRYSTAL_COVE=y
CONFIG_GPIO_CS5535=y
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
@@ -1576,6 +1572,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
@@ -1583,7 +1580,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1593,7 +1590,6 @@ CONFIG_GPIO_VIPERBOARD=m
CONFIG_GPIO_WHISKEY_COVE=y
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1604,6 +1600,7 @@ CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
# CONFIG_HDC100X is not set
+CONFIG_HDMI_LPE_AUDIO=m
CONFIG_HEADERS_CHECK=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
@@ -1802,6 +1799,7 @@ CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
@@ -1843,7 +1841,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
CONFIG_I2C_I801=m
-CONFIG_I2C_IMX_LPI2C=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_MLXCPLD=m
@@ -1938,6 +1935,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1954,6 +1952,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1963,6 +1962,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1971,6 +1971,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2241,6 +2242,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
@@ -2287,6 +2289,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2441,6 +2444,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2452,7 +2456,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2505,6 +2509,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2621,6 +2626,8 @@ CONFIG_LOOPBACK_TARGET=m
CONFIG_LPC_ICH=m
CONFIG_LP_CONSOLE=y
CONFIG_LPC_SCH=m
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2659,6 +2666,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2667,10 +2675,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2746,7 +2756,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2765,6 +2774,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
CONFIG_MFD_CS5535=m
# CONFIG_MFD_DA9052_I2C is not set
@@ -2814,7 +2824,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2976,6 +2985,7 @@ CONFIG_MPILIB=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3095,6 +3105,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3228,6 +3239,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3238,7 +3250,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3293,6 +3305,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3417,6 +3430,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3488,11 +3503,13 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
+CONFIG_NIC7018_WDT=m
CONFIG_NILFS2_FS=m
CONFIG_NIU=m
# CONFIG_NL80211_TESTMODE is not set
@@ -3628,6 +3645,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3685,6 +3703,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
CONFIG_PC8736x_GPIO=m
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
@@ -3756,6 +3775,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHYSICAL_ALIGN=0x400000
CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
@@ -3768,10 +3789,12 @@ CONFIG_PINCTRL_BAYTRAIL=y
# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CHERRYVIEW=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SINGLE is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3839,6 +3862,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3853,11 +3877,13 @@ CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
+CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -3871,14 +3897,15 @@ CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3924,7 +3951,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3970,6 +3996,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4456,6 +4483,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4492,13 +4520,16 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
+CONFIG_SERIAL_8250_LPSS=m
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4511,6 +4542,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4554,6 +4587,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGMATEL_FIR=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_SILEAD_DMI is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4574,6 +4608,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
# CONFIG_SMSC37B787_WDT is not set
@@ -4718,7 +4753,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
@@ -4750,7 +4785,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -4788,6 +4825,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4843,7 +4881,6 @@ CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4866,9 +4903,11 @@ CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
+CONFIG_SND_X86=y
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4917,6 +4956,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4935,6 +4975,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4949,10 +4990,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4961,7 +4998,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
@@ -5045,8 +5081,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -5060,9 +5094,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5094,6 +5130,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5108,9 +5145,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5185,6 +5224,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5252,7 +5292,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5269,6 +5309,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5353,6 +5394,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5497,6 +5539,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5586,6 +5629,7 @@ CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5638,6 +5682,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5659,7 +5704,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5696,6 +5740,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5737,6 +5782,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5809,6 +5855,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_32_IRIS=m
# CONFIG_X86_32_NON_STANDARD is not set
@@ -5882,6 +5929,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_XEN_PVH=y
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_SCSI_BACKEND=m
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index 5050e08c0..150765726 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -174,10 +174,8 @@ CONFIG_APPLE_AIRPORT=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
CONFIG_ARM64_PTDUMP=y
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -331,7 +329,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -374,6 +371,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -451,6 +449,7 @@ CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -547,6 +546,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -665,6 +665,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -672,6 +673,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -679,6 +681,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -717,6 +720,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -732,23 +736,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -796,6 +789,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -811,12 +805,9 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -959,6 +950,7 @@ CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1065,6 +1057,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1072,22 +1065,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1108,14 +1092,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1203,6 +1186,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
@@ -1230,6 +1214,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1240,7 +1225,6 @@ CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
CONFIG_EHEA=m
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1272,6 +1256,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1306,7 +1291,6 @@ CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1324,18 +1308,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX_MILLENIUM is not set
@@ -1386,8 +1363,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VALKYRIE is not set
CONFIG_FB_VESA=y
# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1432,6 +1407,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
# CONFIG_FS_ENET is not set
+CONFIG_FSI=m
# CONFIG_FSL_DMA is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_LBC is not set
@@ -1479,7 +1455,8 @@ CONFIG_GAMEPORT_NS558=m
CONFIG_GENERIC_PHY=y
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1499,11 +1476,10 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
@@ -1513,30 +1489,27 @@ CONFIG_GPIOLIB=y
# 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1738,6 +1711,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1773,7 +1747,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1794,8 +1767,6 @@ CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_POWERMAC=m
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
@@ -1821,8 +1792,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_BSR=m
CONFIG_IBMEBUS=y
# CONFIG_IBM_EMAC is not set
@@ -1876,6 +1845,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1892,6 +1862,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1901,6 +1872,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1909,6 +1881,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -1999,8 +1972,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2148,6 +2119,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2191,6 +2163,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2344,6 +2317,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2355,7 +2329,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2408,13 +2382,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2524,6 +2498,8 @@ CONFIG_LPARCFG=y
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2557,6 +2533,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2565,10 +2542,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2647,7 +2626,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2666,6 +2644,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=m
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2712,7 +2691,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2848,7 +2826,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2866,6 +2843,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2974,6 +2952,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3107,6 +3086,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3117,7 +3097,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3171,6 +3151,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3296,6 +3277,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3367,6 +3350,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3497,6 +3481,7 @@ CONFIG_PACKET=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3557,6 +3542,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3611,6 +3597,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3619,6 +3607,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3719,6 +3708,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_PRINT_STACK_DEPTH=64
@@ -3735,6 +3725,7 @@ CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
# CONFIG_PS3_VRAM is not set
+CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
CONFIG_PSERIES_ENERGY=m
# CONFIG_PSTORE_CONSOLE is not set
@@ -3749,14 +3740,15 @@ CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3802,7 +3794,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3847,6 +3838,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4327,6 +4319,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4362,6 +4355,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4370,6 +4364,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4382,6 +4377,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_CPM is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_ICOM=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4449,6 +4446,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4603,7 +4601,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4654,6 +4652,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4676,6 +4675,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4708,7 +4708,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4734,6 +4733,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4777,6 +4777,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4794,6 +4795,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4808,10 +4810,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4820,7 +4818,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SUSPEND_FREEZER=y
@@ -4903,8 +4900,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4918,9 +4913,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4946,6 +4943,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4960,9 +4958,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5031,6 +5031,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5100,7 +5101,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5117,6 +5118,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5203,6 +5205,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5350,6 +5353,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5438,6 +5442,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5488,6 +5493,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5509,7 +5515,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5545,6 +5550,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5560,8 +5566,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5584,6 +5588,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5664,6 +5669,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index 22d377c2d..cb00d554b 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -174,10 +174,7 @@ CONFIG_APPLE_AIRPORT=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -331,7 +328,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -374,6 +370,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
@@ -451,6 +448,7 @@ CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -547,6 +545,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -665,6 +664,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -672,6 +672,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -679,6 +680,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -717,6 +719,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -732,23 +735,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -795,6 +787,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -810,12 +803,9 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -951,6 +941,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1055,6 +1046,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1062,22 +1054,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1098,14 +1081,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1193,6 +1175,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
@@ -1220,6 +1203,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1230,7 +1214,6 @@ CONFIG_EFI_PARTITION=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
CONFIG_EHEA=m
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1262,6 +1245,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1289,7 +1273,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_FS=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1307,18 +1290,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX_MILLENIUM is not set
@@ -1369,8 +1345,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VALKYRIE is not set
CONFIG_FB_VESA=y
# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1415,6 +1389,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
# CONFIG_FS_ENET is not set
+CONFIG_FSI=m
# CONFIG_FSL_DMA is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_LBC is not set
@@ -1462,7 +1437,8 @@ CONFIG_GAMEPORT_NS558=m
CONFIG_GENERIC_PHY=y
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1482,11 +1458,10 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
@@ -1496,30 +1471,27 @@ CONFIG_GPIOLIB=y
# 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1721,6 +1693,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1756,7 +1729,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1777,8 +1749,6 @@ CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_POWERMAC=m
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
@@ -1804,8 +1774,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_BSR=m
CONFIG_IBMEBUS=y
# CONFIG_IBM_EMAC is not set
@@ -1859,6 +1827,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1875,6 +1844,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1884,6 +1854,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1892,6 +1863,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -1982,8 +1954,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2131,6 +2101,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2174,6 +2145,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2325,6 +2297,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2336,7 +2309,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2389,13 +2362,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2505,6 +2478,8 @@ CONFIG_LPARCFG=y
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2538,6 +2513,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2546,10 +2522,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2627,7 +2605,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2646,6 +2623,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=m
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2692,7 +2670,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2827,7 +2804,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2845,6 +2821,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2953,6 +2930,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3086,6 +3064,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3096,7 +3075,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3150,6 +3129,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3275,6 +3255,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3346,6 +3328,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3476,6 +3459,7 @@ CONFIG_PACKET=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3536,6 +3520,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3590,6 +3575,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3598,6 +3585,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3698,6 +3686,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_PRINT_STACK_DEPTH=64
@@ -3713,6 +3702,7 @@ CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
# CONFIG_PS3_VRAM is not set
+CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
CONFIG_PSERIES_ENERGY=m
# CONFIG_PSTORE_CONSOLE is not set
@@ -3727,14 +3717,15 @@ CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3780,7 +3771,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3825,6 +3815,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4305,6 +4296,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4340,6 +4332,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4348,6 +4341,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4360,6 +4354,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_CPM is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_ICOM=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4427,6 +4423,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4580,7 +4577,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4631,6 +4628,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4653,6 +4651,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4685,7 +4684,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4711,6 +4709,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4754,6 +4753,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4771,6 +4771,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4785,10 +4786,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4797,7 +4794,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SUSPEND_FREEZER=y
@@ -4880,8 +4876,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4895,9 +4889,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4923,6 +4919,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4937,9 +4934,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5008,6 +5007,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5077,7 +5077,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5094,6 +5094,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5180,6 +5181,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5327,6 +5329,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5415,6 +5418,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5465,6 +5469,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5486,7 +5491,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5522,6 +5526,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5537,8 +5542,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5561,6 +5564,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5641,6 +5645,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_PTDUMP=y
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index e26bff1c9..ca57664e1 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-CONFIG_AGP=y
+# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_AHCI_QORIQ is not set
# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
@@ -168,10 +168,8 @@ CONFIG_APM_POWER=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
CONFIG_ARM64_PTDUMP=y
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -325,7 +323,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -368,6 +365,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -408,6 +406,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -504,6 +503,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -622,6 +622,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -629,6 +630,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -636,6 +638,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHELSIO_T1_1G=y
@@ -674,6 +677,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -689,23 +693,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -751,6 +744,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -766,12 +760,9 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -914,6 +905,7 @@ CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1021,6 +1013,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1028,22 +1021,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1064,14 +1048,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1159,6 +1142,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
@@ -1184,6 +1168,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1194,7 +1179,6 @@ CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
CONFIG_EHEA=m
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1226,6 +1210,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1260,7 +1245,6 @@ CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1278,18 +1262,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX_MILLENIUM is not set
@@ -1340,8 +1317,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VALKYRIE is not set
CONFIG_FB_VESA=y
# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1386,6 +1361,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
# CONFIG_FS_ENET is not set
+CONFIG_FSI=m
# CONFIG_FSL_DMA is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_LBC is not set
@@ -1433,7 +1409,8 @@ CONFIG_GAMEPORT_NS558=m
CONFIG_GENERIC_PHY=y
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1453,11 +1430,10 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
@@ -1467,30 +1443,27 @@ CONFIG_GPIOLIB=y
# 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1691,6 +1664,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1726,7 +1700,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1746,8 +1719,6 @@ CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
@@ -1773,8 +1744,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_BSR=m
CONFIG_IBMEBUS=y
# CONFIG_IBM_EMAC is not set
@@ -1822,6 +1791,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1838,6 +1808,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1847,6 +1818,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1855,6 +1827,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -1945,8 +1918,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2094,6 +2065,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2137,6 +2109,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2290,6 +2263,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2301,7 +2275,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2354,13 +2328,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2470,6 +2444,8 @@ CONFIG_LPARCFG=y
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2503,6 +2479,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2511,10 +2488,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2593,7 +2572,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2612,6 +2590,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=m
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2658,7 +2637,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2793,7 +2771,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2811,6 +2788,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2919,6 +2897,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3052,6 +3031,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3062,7 +3042,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3116,6 +3096,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3241,6 +3222,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3312,6 +3295,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3442,6 +3426,7 @@ CONFIG_PACKET=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3500,6 +3485,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3554,6 +3540,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3562,6 +3550,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3659,6 +3648,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_PRINT_STACK_DEPTH=64
@@ -3675,6 +3665,7 @@ CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
# CONFIG_PS3_VRAM is not set
+CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
CONFIG_PSERIES_ENERGY=m
# CONFIG_PSTORE_CONSOLE is not set
@@ -3689,14 +3680,15 @@ CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3742,7 +3734,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3787,6 +3778,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4267,6 +4259,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4302,6 +4295,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4310,6 +4304,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4322,6 +4317,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_CPM is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_ICOM=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4387,6 +4384,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4532,7 +4530,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4583,6 +4581,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4605,6 +4604,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4637,7 +4637,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4663,6 +4662,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4706,6 +4706,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4723,6 +4724,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4737,10 +4739,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4749,7 +4747,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SUSPEND_FREEZER=y
@@ -4832,8 +4829,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4847,9 +4842,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4875,6 +4872,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4889,9 +4887,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -4960,6 +4960,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5029,7 +5030,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5046,6 +5047,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5132,6 +5134,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5279,6 +5282,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5367,6 +5371,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5417,6 +5422,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5438,7 +5444,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5474,6 +5479,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5489,8 +5495,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5513,6 +5517,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5587,6 +5592,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index 3d7deb1dc..6e734ceff 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-CONFIG_AGP=y
+# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_AHCI_QORIQ is not set
# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
@@ -168,10 +168,7 @@ CONFIG_APM_POWER=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -325,7 +322,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -368,6 +364,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -408,6 +405,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -504,6 +502,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -622,6 +621,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -629,6 +629,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -636,6 +637,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHELSIO_T1_1G=y
@@ -674,6 +676,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -689,23 +692,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -750,6 +742,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -765,12 +758,9 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -906,6 +896,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1011,6 +1002,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1018,22 +1010,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1054,14 +1037,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1149,6 +1131,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
@@ -1174,6 +1157,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1184,7 +1168,6 @@ CONFIG_EFI_PARTITION=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
CONFIG_EHEA=m
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1216,6 +1199,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1243,7 +1227,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_FS=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1261,18 +1244,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX_MILLENIUM is not set
@@ -1323,8 +1299,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VALKYRIE is not set
CONFIG_FB_VESA=y
# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1369,6 +1343,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
# CONFIG_FS_ENET is not set
+CONFIG_FSI=m
# CONFIG_FSL_DMA is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_LBC is not set
@@ -1416,7 +1391,8 @@ CONFIG_GAMEPORT_NS558=m
CONFIG_GENERIC_PHY=y
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1436,11 +1412,10 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
@@ -1450,30 +1425,27 @@ CONFIG_GPIOLIB=y
# 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1674,6 +1646,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1709,7 +1682,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1729,8 +1701,6 @@ CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
@@ -1756,8 +1726,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_BSR=m
CONFIG_IBMEBUS=y
# CONFIG_IBM_EMAC is not set
@@ -1805,6 +1773,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1821,6 +1790,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1830,6 +1800,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1838,6 +1809,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -1928,8 +1900,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2077,6 +2047,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2120,6 +2091,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2271,6 +2243,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2282,7 +2255,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2335,13 +2308,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2451,6 +2424,8 @@ CONFIG_LPARCFG=y
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2484,6 +2459,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2492,10 +2468,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2573,7 +2551,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2592,6 +2569,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=m
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2638,7 +2616,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2772,7 +2749,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2790,6 +2766,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2898,6 +2875,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3031,6 +3009,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3041,7 +3020,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3095,6 +3074,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3220,6 +3200,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3291,6 +3273,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3421,6 +3404,7 @@ CONFIG_PACKET=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3479,6 +3463,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3533,6 +3518,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3541,6 +3528,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3638,6 +3626,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_PRINT_STACK_DEPTH=64
@@ -3653,6 +3642,7 @@ CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
# CONFIG_PS3_VRAM is not set
+CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
CONFIG_PSERIES_ENERGY=m
# CONFIG_PSTORE_CONSOLE is not set
@@ -3667,14 +3657,15 @@ CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3720,7 +3711,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3765,6 +3755,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4245,6 +4236,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4280,6 +4272,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4288,6 +4281,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4300,6 +4294,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_CPM is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_ICOM=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4365,6 +4361,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4509,7 +4506,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4560,6 +4557,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4582,6 +4580,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4614,7 +4613,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4640,6 +4638,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4683,6 +4682,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4700,6 +4700,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4714,10 +4715,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4726,7 +4723,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SUSPEND_FREEZER=y
@@ -4809,8 +4805,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4824,9 +4818,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4852,6 +4848,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4866,9 +4863,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -4937,6 +4936,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5006,7 +5006,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5023,6 +5023,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5109,6 +5110,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5256,6 +5258,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5344,6 +5347,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5394,6 +5398,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5415,7 +5420,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5451,6 +5455,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5466,8 +5471,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5490,6 +5493,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5564,6 +5568,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_PTDUMP=y
diff --git a/kernel-ppc64p7-debug.config b/kernel-ppc64p7-debug.config
index b30959d66..9009a2e8c 100644
--- a/kernel-ppc64p7-debug.config
+++ b/kernel-ppc64p7-debug.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-CONFIG_AGP=y
+# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_AHCI_QORIQ is not set
# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
@@ -168,10 +168,8 @@ CONFIG_APM_POWER=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
CONFIG_ARM64_PTDUMP=y
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -325,7 +323,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -368,6 +365,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -408,6 +406,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -504,6 +503,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -622,6 +622,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -629,6 +630,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -636,6 +638,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -674,6 +677,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -689,23 +693,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -751,6 +744,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -766,12 +760,9 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -914,6 +905,7 @@ CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1020,6 +1012,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1027,22 +1020,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1063,14 +1047,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1158,6 +1141,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
@@ -1183,6 +1167,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1193,7 +1178,6 @@ CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
CONFIG_EHEA=m
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1225,6 +1209,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1259,7 +1244,6 @@ CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1277,18 +1261,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX_MILLENIUM is not set
@@ -1339,8 +1316,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VALKYRIE is not set
CONFIG_FB_VESA=y
# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1385,6 +1360,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
# CONFIG_FS_ENET is not set
+CONFIG_FSI=m
# CONFIG_FSL_DMA is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_LBC is not set
@@ -1432,7 +1408,8 @@ CONFIG_GAMEPORT_NS558=m
CONFIG_GENERIC_PHY=y
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1452,11 +1429,10 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
@@ -1466,30 +1442,27 @@ CONFIG_GPIOLIB=y
# 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1690,6 +1663,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1725,7 +1699,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1745,8 +1718,6 @@ CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
@@ -1772,8 +1743,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_BSR=m
CONFIG_IBMEBUS=y
# CONFIG_IBM_EMAC is not set
@@ -1821,6 +1790,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1837,6 +1807,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1846,6 +1817,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1854,6 +1826,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -1944,8 +1917,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2093,6 +2064,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2136,6 +2108,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2289,6 +2262,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2300,7 +2274,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2353,13 +2327,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2469,6 +2443,8 @@ CONFIG_LPARCFG=y
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2502,6 +2478,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2510,10 +2487,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2592,7 +2571,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2611,6 +2589,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=m
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2657,7 +2636,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2792,7 +2770,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2810,6 +2787,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2918,6 +2896,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3051,6 +3030,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3061,7 +3041,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3115,6 +3095,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3240,6 +3221,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3311,6 +3294,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3441,6 +3425,7 @@ CONFIG_PACKET=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3499,6 +3484,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3553,6 +3539,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3561,6 +3549,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3658,6 +3647,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_PRINT_STACK_DEPTH=64
@@ -3674,6 +3664,7 @@ CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
# CONFIG_PS3_VRAM is not set
+CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
CONFIG_PSERIES_ENERGY=m
# CONFIG_PSTORE_CONSOLE is not set
@@ -3688,14 +3679,15 @@ CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3741,7 +3733,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3786,6 +3777,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4266,6 +4258,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4301,6 +4294,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4309,6 +4303,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4321,6 +4316,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_CPM is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_ICOM=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4386,6 +4383,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4531,7 +4529,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4582,6 +4580,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4604,6 +4603,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4636,7 +4636,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4662,6 +4661,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4705,6 +4705,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4722,6 +4723,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4736,10 +4738,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4748,7 +4746,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SUSPEND_FREEZER=y
@@ -4831,8 +4828,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4846,9 +4841,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4874,6 +4871,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4888,9 +4886,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -4959,6 +4959,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5028,7 +5029,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5045,6 +5046,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5131,6 +5133,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5278,6 +5281,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5366,6 +5370,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5416,6 +5421,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5437,7 +5443,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5473,6 +5478,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5488,8 +5494,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5512,6 +5516,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5586,6 +5591,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
diff --git a/kernel-ppc64p7.config b/kernel-ppc64p7.config
index 26942a3a3..1ab2950f0 100644
--- a/kernel-ppc64p7.config
+++ b/kernel-ppc64p7.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
CONFIG_AF_KCM=m
# CONFIG_AF_RXRPC is not set
# CONFIG_AFS_FS is not set
-CONFIG_AGP=y
+# CONFIG_AGP is not set
# CONFIG_AHCI_CEVA is not set
# CONFIG_AHCI_QORIQ is not set
# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
@@ -168,10 +168,7 @@ CONFIG_APM_POWER=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -325,7 +322,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -368,6 +364,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
@@ -408,6 +405,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -504,6 +502,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -622,6 +621,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -629,6 +629,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -636,6 +637,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHELSIO_T1_1G=y
@@ -674,6 +676,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -689,23 +692,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
@@ -750,6 +742,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -765,12 +758,9 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -906,6 +896,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1010,6 +1001,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1017,22 +1009,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1053,14 +1036,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1148,6 +1130,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
CONFIG_DW_DMAC=m
@@ -1173,6 +1156,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1183,7 +1167,6 @@ CONFIG_EFI_PARTITION=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
CONFIG_EHEA=m
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1215,6 +1198,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1242,7 +1226,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_FS=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1260,18 +1243,11 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
CONFIG_FB_IBM_GXT4500=y
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX_MILLENIUM is not set
@@ -1322,8 +1298,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VALKYRIE is not set
CONFIG_FB_VESA=y
# CONFIG_FB_VGA16 is not set
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1368,6 +1342,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
# CONFIG_FS_ENET is not set
+CONFIG_FSI=m
# CONFIG_FSL_DMA is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_LBC is not set
@@ -1415,7 +1390,8 @@ CONFIG_GAMEPORT_NS558=m
CONFIG_GENERIC_PHY=y
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1435,11 +1411,10 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
@@ -1449,30 +1424,27 @@ CONFIG_GPIOLIB=y
# 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1673,6 +1645,7 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ=100
@@ -1708,7 +1681,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1728,8 +1700,6 @@ CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
@@ -1755,8 +1725,6 @@ CONFIG_I40EVF=m
CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_BSR=m
CONFIG_IBMEBUS=y
# CONFIG_IBM_EMAC is not set
@@ -1804,6 +1772,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1820,6 +1789,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1829,6 +1799,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1837,6 +1808,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -1927,8 +1899,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -2076,6 +2046,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2119,6 +2090,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2270,6 +2242,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2281,7 +2254,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2334,13 +2307,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2450,6 +2423,8 @@ CONFIG_LPARCFG=y
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2483,6 +2458,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2491,10 +2467,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2572,7 +2550,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2591,6 +2568,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=m
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2637,7 +2615,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2771,7 +2748,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2789,6 +2765,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2897,6 +2874,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3030,6 +3008,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3040,7 +3019,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3094,6 +3073,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3219,6 +3199,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3290,6 +3272,7 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
@@ -3420,6 +3403,7 @@ CONFIG_PACKET=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3478,6 +3462,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3532,6 +3517,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3540,6 +3527,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3637,6 +3625,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_PRINT_STACK_DEPTH=64
@@ -3652,6 +3641,7 @@ CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
# CONFIG_PS3_VRAM is not set
+CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
CONFIG_PSERIES_ENERGY=m
# CONFIG_PSTORE_CONSOLE is not set
@@ -3666,14 +3656,15 @@ CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3719,7 +3710,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3764,6 +3754,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4244,6 +4235,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4279,6 +4271,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4287,6 +4280,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4299,6 +4293,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
# CONFIG_SERIAL_CPM is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
CONFIG_SERIAL_ICOM=m
# CONFIG_SERIAL_IFX6X60 is not set
@@ -4364,6 +4360,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4508,7 +4505,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4559,6 +4556,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4581,6 +4579,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4613,7 +4612,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4639,6 +4637,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4682,6 +4681,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4699,6 +4699,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4713,10 +4714,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4725,7 +4722,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SUSPEND_FREEZER=y
@@ -4808,8 +4804,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4823,9 +4817,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4851,6 +4847,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4865,9 +4862,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -4936,6 +4935,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5005,7 +5005,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5022,6 +5022,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5108,6 +5109,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5255,6 +5257,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5343,6 +5346,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5393,6 +5397,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5414,7 +5419,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5450,6 +5454,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5465,8 +5470,6 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
# CONFIG_VME_BUS is not set
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5489,6 +5492,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5563,6 +5567,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_PTDUMP=y
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index 9d80de3f0..de69bd62f 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -145,10 +145,10 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AL3320A is not set
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
+# CONFIG_ALIM7101_WDT is not set
# CONFIG_ALTERA_MBOX is not set
-CONFIG_ALTERA_STAPL=m
-CONFIG_ALTERA_TSE=m
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_ALTERA_TSE is not set
CONFIG_ALX=m
# CONFIG_AM2315 is not set
CONFIG_AMD8111_ETH=m
@@ -158,7 +158,7 @@ CONFIG_AMD_PHY=m
CONFIG_AMIGA_PARTITION=y
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
-CONFIG_APDS9802ALS=m
+# CONFIG_APDS9802ALS is not set
# CONFIG_APDS9960 is not set
CONFIG_APM_POWER=m
CONFIG_APPLDATA_BASE=y
@@ -169,10 +169,8 @@ CONFIG_APPLDATA_OS=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
CONFIG_ARM64_PTDUMP=y
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -325,7 +323,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -351,7 +348,7 @@ CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA is not set
CONFIG_BCMGENET=m
# CONFIG_BCM_KONA_USB2_PHY is not set
-CONFIG_BE2ISCSI=m
+# CONFIG_BE2ISCSI is not set
# CONFIG_BE2NET_HWMON is not set
CONFIG_BE2NET=m
# CONFIG_BEFS_DEBUG is not set
@@ -367,12 +364,13 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
+# CONFIG_BLK_CPQ_CISS_DA is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_DRBD=m
CONFIG_BLK_DEV_FD=m
@@ -397,16 +395,17 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_BLK_DEV_RBD=m
# CONFIG_BLK_DEV_RSXX is not set
CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SKD=m
+# CONFIG_BLK_DEV_SKD is not set
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_XPRAM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -502,6 +501,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -552,10 +552,10 @@ CONFIG_CAN_ESD_USB2=m
CONFIG_CAN_GS_USB=m
CONFIG_CAN_GW=m
CONFIG_CAN_IFI_CANFD=m
+# CONFIG_CAN is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_KVASER_USB=m
CONFIG_CAN_LEDS=y
-CONFIG_CAN=m
CONFIG_CAN_M_CAN=m
# CONFIG_CAN_MCP251X is not set
CONFIG_CAN_PEAK_PCIEC=y
@@ -620,6 +620,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -627,6 +628,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -634,7 +636,8 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
-CONFIG_CHARGER_SMB347=m
+# CONFIG_CHARGER_SBS is not set
+# CONFIG_CHARGER_SMB347 is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHECK_STACK=y
CONFIG_CHELSIO_T1_1G=y
@@ -674,6 +677,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
# CONFIG_CMA is not set
# CONFIG_CMDLINE_PARTITION is not set
@@ -685,23 +689,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
CONFIG_COMPAT=y
@@ -747,6 +740,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_S390=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -762,13 +756,10 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_S390=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -912,6 +903,7 @@ CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -960,8 +952,8 @@ CONFIG_DM9102=m
CONFIG_DMA_API_DEBUG=y
# CONFIG_DMA_CMA is not set
CONFIG_DMADEVICES_DEBUG=y
+# CONFIG_DMADEVICES is not set
# CONFIG_DMADEVICES_VDEBUG is not set
-CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMARD06 is not set
@@ -993,11 +985,11 @@ CONFIG_DM_UEVENT=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
-CONFIG_DNET=m
+# CONFIG_DNET is not set
CONFIG_DNOTIFY=y
CONFIG_DNS_RESOLVER=m
CONFIG_DONGLE=y
-CONFIG_DP83640_PHY=m
+# CONFIG_DP83640_PHY is not set
CONFIG_DP83848_PHY=m
CONFIG_DP83867_PHY=m
# CONFIG_DPM_WATCHDOG is not set # revisit this in debug
@@ -1016,6 +1008,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1023,22 +1016,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1059,14 +1043,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1153,6 +1136,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
# CONFIG_DW_DMAC is not set
@@ -1166,7 +1150,7 @@ CONFIG_E100=m
CONFIG_EADM_SCH=m
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EBC_C384_WDT is not set
-CONFIG_ECHO=m
+# CONFIG_ECHO is not set
CONFIG_ECRYPT_FS=m
# CONFIG_ECRYPT_FS_MESSAGING is not set
# CONFIG_EDAC_DEBUG is not set
@@ -1177,6 +1161,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1186,13 +1171,12 @@ CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_SIGNATURE_LIST_PARSER is not set
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_EMU_SIZE=0x10000000
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENC28J60 is not set
-CONFIG_ENCLOSURE_SERVICES=m
+# CONFIG_ENCLOSURE_SERVICES is not set
CONFIG_ENCRYPTED_KEYS=y
CONFIG_ENIC=m
CONFIG_ENVELOPE_DETECTOR=m
@@ -1202,7 +1186,7 @@ CONFIG_EQUALIZER=m
CONFIG_ESI_DONGLE=m
CONFIG_ET131X=m
CONFIG_ETHERNET=y
-CONFIG_ETHOC=m
+# CONFIG_ETHOC is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
@@ -1219,6 +1203,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1250,7 +1235,6 @@ CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1266,19 +1250,12 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1321,9 +1298,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1331,7 +1305,7 @@ CONFIG_FB_VIRTUAL=m
CONFIG_FCOE_FNIC=m
# CONFIG_FCOE is not set
# CONFIG_FDDI is not set
-CONFIG_FEALNX=m
+# CONFIG_FEALNX is not set
CONFIG_FHANDLE=y
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
@@ -1364,6 +1338,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1405,7 +1380,8 @@ CONFIG_GAMEPORT_NS558=m
# CONFIG_GENERIC_PHY is not set
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1424,42 +1400,38 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
-CONFIG_GPIOLIB=y
+# CONFIG_GPIOLIB 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1509,6 +1481,7 @@ CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
+# CONFIG_HID is not set
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1518,7 +1491,6 @@ CONFIG_HID_LENOVO=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_HID_LOGITECH=m
-CONFIG_HID=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MAYFLASH=m
CONFIG_HID_MICROSOFT=m
@@ -1640,7 +1612,7 @@ CONFIG_HVC_IUCV=y
CONFIG_HW_CONSOLE=y
CONFIG_HWLAT_TRACER=y
# CONFIG_HWMON_DEBUG_CHIP is not set
-CONFIG_HWMON=m
+# CONFIG_HWMON is not set
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -1648,13 +1620,14 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_ALGOPCF=m
+# 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
@@ -1665,23 +1638,22 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_BCM2048 is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_COMPAT=y
+# 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_DEMUX_PINCTRL is not set
# CONFIG_I2C_DESIGNWARE is not set
-CONFIG_I2C_DESIGNWARE_PCI=m
+# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_HID=m
+# CONFIG_I2C_HID is not set
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1697,20 +1669,18 @@ CONFIG_I2C_MUX_MLXCPLD=m
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
-CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PIIX4 is not set
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
# CONFIG_I2C_SI4713 is not set
-CONFIG_I2C_SIMTEC=m
+# 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_EEPROM=m
-CONFIG_I2C_SLAVE=y
+# 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
@@ -1724,11 +1694,9 @@ CONFIG_I2C_VIPERBOARD=m
# CONFIG_I40E_FCOE is not set
CONFIG_I40E=m
CONFIG_I40EVF=m
-CONFIG_I6300ESB_WDT=m
+# CONFIG_I6300ESB_WDT is not set
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_PARTITION=y
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
@@ -1761,8 +1729,8 @@ CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
+# CONFIG_IIO is not set
CONFIG_IIO_KFIFO_BUF=m
-CONFIG_IIO=m
# CONFIG_IIO_SIMPLE_DUMMY is not set
# CONFIG_IIO_SSP_SENSORHUB is not set
CONFIG_IIO_ST_ACCEL_3AXIS=m
@@ -1771,6 +1739,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1787,6 +1756,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1796,6 +1766,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1804,9 +1775,10 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_CXGB3 is not set
+# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1815,14 +1787,14 @@ CONFIG_INFINIBAND_IPOIB=m
CONFIG_INFINIBAND_ISER=m
CONFIG_INFINIBAND_ISERT=m
CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
+# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
+# CONFIG_INFINIBAND_NES is not set
+# CONFIG_INFINIBAND_OCRDMA is not set
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
# CONFIG_INFINIBAND_QEDR is not set
CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
+# CONFIG_INFINIBAND_QIB is not set
CONFIG_INFINIBAND_RDMAVT=m
CONFIG_INFINIBAND_SRP=m
CONFIG_INFINIBAND_SRPT=m
@@ -1850,7 +1822,7 @@ CONFIG_INPUT_CMA3000=m
CONFIG_INPUT_E3X0_BUTTON=m
# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_GP2A=m
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_DECODER is not set
@@ -1869,10 +1841,10 @@ CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
# CONFIG_INPUT_MISC is not set
CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_MPU3050=m
CONFIG_INPUT_PCF50633_PMU=m
@@ -1880,11 +1852,11 @@ CONFIG_INPUT_PCF50633_PMU=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_PM8XXX_VIBRATOR=m
CONFIG_INPUT_PMIC8XXX_PWRKEY=m
-CONFIG_INPUT_POLLDEV=m
+# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
-CONFIG_INPUT_SPARSEKMAP=m
+# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_UINPUT=m
@@ -1894,8 +1866,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -1908,6 +1878,7 @@ CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IO_STRICT_DEVMEM=y
+# CONFIG_IP1000 is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MANGLE=m
@@ -2042,6 +2013,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2083,6 +2055,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2123,8 +2096,8 @@ CONFIG_ISDN_PPP=y
CONFIG_ISDN_TTY_FAX=y
CONFIG_ISDN=y
# CONFIG_ISI is not set
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
# CONFIG_ISL29125 is not set
CONFIG_ISO9660_FS=m
CONFIG_IT8712F_WDT=m
@@ -2161,7 +2134,7 @@ CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_STATISTICS is not set
-CONFIG_JME=m
+# CONFIG_JME is not set
CONFIG_JOLIET=y
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
@@ -2235,6 +2208,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2246,7 +2220,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2294,13 +2268,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2408,6 +2382,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2440,6 +2416,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2450,10 +2427,12 @@ CONFIG_MARCH_Z9_109=y
# CONFIG_MARCH_Z990 is not set
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2507,11 +2486,11 @@ CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
# CONFIG_MEDIA_SUPPORT is not set
# CONFIG_MEDIA_TUNER_MSI001 is not set
CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_MEGARAID_LEGACY=m
+# CONFIG_MEGARAID_LEGACY is not set
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_SAS=m
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_SAS is not set
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2530,7 +2509,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2548,7 +2526,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
-CONFIG_MFD_CORE=m
+# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2595,7 +2574,6 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2654,7 +2632,7 @@ CONFIG_MLX5_INFINIBAND=m
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXSW_CORE_HWMON=y
-CONFIG_MLXSW_CORE=m
+# CONFIG_MLXSW_CORE is not set
CONFIG_MLXSW_CORE_THERMAL=y
CONFIG_MLXSW_I2C=m
CONFIG_MLXSW_MINIMAL=m
@@ -2730,7 +2708,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2746,6 +2723,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2850,12 +2828,13 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
CONFIG_NET_ACT_TUNNEL_KEY=m
CONFIG_NET_ACT_VLAN=m
-CONFIG_NET_CADENCE=y
+# CONFIG_NET_CADENCE is not set
CONFIG_NET_CALXEDA_XGMAC=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BASIC=m
@@ -2983,6 +2962,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -2994,13 +2974,13 @@ CONFIG_NET_IPVTI=m
# CONFIG_NETIUCV is not set
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
CONFIG_NET_NS=y
-CONFIG_NET_PACKET_ENGINE=y
+# CONFIG_NET_PACKET_ENGINE is not set
CONFIG_NET_PKTGEN=m
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_NETROM=m
@@ -3040,26 +3020,27 @@ CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_NET_TEAM_MODE_RANDOM=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TULIP=y
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_NET_VENDOR_8390=y
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_NET_VENDOR_AGERE=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_8390 is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_NET_VENDOR_AMAZON=y
-CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
-CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_AURORA is not set
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_NET_VENDOR_BROCADE=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
-CONFIG_NET_VENDOR_CHELSIO=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_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_EXAR is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FARADAY is not set
# CONFIG_NET_VENDOR_FUJITSU is not set
@@ -3068,43 +3049,43 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_I825XX is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
-CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
-CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
-CONFIG_NET_VENDOR_NETRONOME=y
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_NET_VENDOR_QLOGIC=y
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
-CONFIG_NET_VENDOR_ROCKER=y
+# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_NET_VENDOR_SUN=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_NET_VENDOR_TI=y
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
-CONFIG_NET_VENDOR_WIZNET=y
-CONFIG_NET_VENDOR_XIRCOM=y
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_NET_VRF=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETXEN_NIC=m
CONFIG_NET=y
-CONFIG_NEW_LEDS=y
+# CONFIG_NEW_LEDS is not set
CONFIG_NFC_DIGITAL=m
# CONFIG_NFC_FDP is not set
CONFIG_NFC_HCI=m
-CONFIG_NFC=m
+# CONFIG_NFC is not set
CONFIG_NFC_MICROREAD_I2C=m
CONFIG_NFC_MICROREAD=m
# CONFIG_NFC_MRVL_I2C is not set
@@ -3169,6 +3150,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3240,9 +3223,10 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
-CONFIG_N_GSM=m
+# CONFIG_N_GSM is not set
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
CONFIG_NILFS2_FS=m
@@ -3309,7 +3293,7 @@ CONFIG_NORTEL_HERMES=m
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
-CONFIG_NOZOMI=m
+# CONFIG_NOZOMI is not set
CONFIG_NR_CPUS=64
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3368,6 +3352,7 @@ CONFIG_PACK_STACK=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -3425,6 +3410,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3445,7 +3431,7 @@ CONFIG_PCI_IOV=y
CONFIG_PCI_MSI=y
CONFIG_PCI_NR_FUNCTIONS=64
CONFIG_PCI_PASID=y
-CONFIG_PCIPCWATCHDOG=m
+# CONFIG_PCIPCWATCHDOG is not set
CONFIG_PCI_PRI=y
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=y
@@ -3481,6 +3467,8 @@ CONFIG_PFAULT=y
CONFIG_PHYLIB=m
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3489,6 +3477,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3500,7 +3489,7 @@ CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_PMBUS=m
CONFIG_PM_DEBUG=y
# CONFIG_PM_DEVFREQ_EVENT is not set
-CONFIG_PM_DEVFREQ=y
+# CONFIG_PM_DEVFREQ is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PM_OPP is not set
@@ -3516,11 +3505,11 @@ CONFIG_POSIX_MQUEUE=y
# CONFIG_POWER_AVS is not set
CONFIG_POWERCAP=y
# CONFIG_POWER_RESET_BRCMKONA is not set
+# CONFIG_POWER_RESET 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=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_PPC_PTDUMP is not set
@@ -3550,6 +3539,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3564,6 +3554,7 @@ CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -3573,18 +3564,19 @@ CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
+# CONFIG_PWM is not set
# CONFIG_PWM_PCA9685 is not set
-CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QDIO=m
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3607,7 +3599,7 @@ CONFIG_QUOTACTL=y
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_QUOTA=y
-CONFIG_R3964=m
+# CONFIG_R3964 is not set
CONFIG_R6040=m
CONFIG_R8169=m
# CONFIG_R8188EU is not set
@@ -3634,7 +3626,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3678,6 +3669,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -3689,15 +3681,16 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+# CONFIG_RESET_CONTROLLER is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL=m
+# CONFIG_RFKILL is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
-CONFIG_RMI4_CORE=m
-# CONFIG_RMI4_F03 is not set
+# CONFIG_RMI4_CORE is not set
+CONFIG_RMI4_F03=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
@@ -3911,51 +3904,51 @@ CONFIG_SCM_BLOCK_CLUSTER_WRITE=y
CONFIG_SCM_BLOCK=m
CONFIG_SCM_BUS=y
# CONFIG_SCR24X is not set
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_ACARD=m
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_ADVANSYS is not set
-CONFIG_SCSI_AIC79XX=m
-CONFIG_SCSI_AIC7XXX=m
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC94XX is not set
-CONFIG_SCSI_AM53C974=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_BFA_FC is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_SCSI_BNX2X_FCOE is not set
CONFIG_SCSI_BUSLOGIC=m
-CONFIG_SCSI_CHELSIO_FCOE=m
+# CONFIG_SCSI_CHELSIO_FCOE is not set
CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_DC395x=m
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_HP_SW=m
+# CONFIG_SCSI_DH is not set
CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH=y
-CONFIG_SCSI_DMX3191D=m
+# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_ESAS2R=m
+# CONFIG_SCSI_ESAS2R is not set
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FLASHPOINT=y
# CONFIG_SCSI_FUTURE_DOMAIN is not set
CONFIG_SCSI_GDTH=m
# CONFIG_SCSI_HISI_SAS is not set
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_HPTIOP=m
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_IMM is not set
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_INITIO=m
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_INITIO is not set
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_IPR=m
CONFIG_SCSI_IPR_TRACE=y
-CONFIG_SCSI_IPS=m
+# CONFIG_SCSI_IPS is not set
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_ISCSI_ATTRS=m
# CONFIG_SCSI_IZIP_EPP16 is not set
@@ -3964,28 +3957,28 @@ CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_LPFC=m
-CONFIG_SCSI_MPT2SAS=m
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-CONFIG_SCSI_MPT3SAS=m
+# CONFIG_SCSI_MPT3SAS is not set
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS is not set
CONFIG_SCSI_MVSAS_TASKLET=y
-CONFIG_SCSI_MVUMI=m
+# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_SCSI_OSD_DPRINT_SENSE=1
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_PMCRAID=m
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PPA is not set
CONFIG_SCSI_PROC_FS=y
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_QLOGIC_1280=m
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_HOST_SMP=y
@@ -3993,22 +3986,22 @@ CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_SMARTPQI=m
# CONFIG_SCSI_SNIC_DEBUG_FS is not set
-CONFIG_SCSI_SNIC=m
+# CONFIG_SCSI_SNIC is not set
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP=m
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
-CONFIG_SCSI_UFSHCD=m
+# CONFIG_SCSI_UFSHCD is not set
CONFIG_SCSI_UFSHCD_PCI=m
# CONFIG_SCSI_UFSHCD_PLATFORM is not set
CONFIG_SCSI_VIRTIO=m
-CONFIG_SCSI_WD719X=m
+# CONFIG_SCSI_WD719X is not set
CONFIG_SCSI=y
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
@@ -4061,10 +4054,10 @@ CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_APDS990X=m
+# CONFIG_SENSORS_APDS990X is not set
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_BH1770=m
+# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
@@ -4097,8 +4090,8 @@ CONFIG_SENSORS_INA3221=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LIS3_I2C=m
-CONFIG_SENSORS_LIS3LV02D=m
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_SENSORS_LIS3_SPI is not set
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LM63=m
@@ -4165,6 +4158,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4174,7 +4168,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
-CONFIG_SENSORS_TSL2550=m
+# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
@@ -4200,6 +4194,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4208,6 +4203,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4219,13 +4215,15 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_KGDB_NMI is not set
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_SC16IS7XX is not set
@@ -4240,13 +4238,13 @@ CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_I8042=y
# CONFIG_SERIO is not set
-CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_LIBPS2=m
# CONFIG_SERIO_OLPC_APSP is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_PS2MULT is not set
CONFIG_SERIO_RAW=m
-CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_SERPORT=m
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
@@ -4280,6 +4278,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4426,7 +4425,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4477,6 +4476,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4499,6 +4499,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4531,7 +4532,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4557,6 +4557,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4597,6 +4598,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4615,6 +4617,7 @@ CONFIG_STACK_VALIDATION=y
CONFIG_STAGING_MEDIA=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4629,10 +4632,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4641,7 +4640,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
# CONFIG_SUSPEND is not set
@@ -4722,8 +4720,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4737,9 +4733,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4765,6 +4763,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4779,9 +4778,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -4856,6 +4857,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -4906,7 +4908,7 @@ CONFIG_UIO_AEC=m
CONFIG_UIO_CIF=m
# CONFIG_UIO_DMEM_GENIRQ is not set
CONFIG_UIO_HV_GENERIC=m
-CONFIG_UIO=m
+# CONFIG_UIO is not set
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
CONFIG_UIO_PCI_GENERIC=m
@@ -4922,7 +4924,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -4939,6 +4941,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5023,6 +5026,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5167,6 +5171,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5255,6 +5260,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5305,6 +5311,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5326,7 +5333,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5362,6 +5368,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5379,8 +5386,6 @@ CONFIG_VLSI_FIR=m
CONFIG_VMCP=y
# CONFIG_VME_BUS is not set
CONFIG_VMLOGRDR=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5402,6 +5407,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5430,7 +5436,7 @@ CONFIG_WATCHDOG=y
# CONFIG_WCN36XX_DEBUGFS is not set
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
-CONFIG_WDTPCI=m
+# CONFIG_WDTPCI is not set
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5475,6 +5481,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_X86_PTDUMP=y
@@ -5492,7 +5499,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
# CONFIG_XILINX_WATCHDOG is not set
-CONFIG_XILLYBUS=m
+# CONFIG_XILLYBUS is not set
# CONFIG_XILLYBUS_OF is not set
CONFIG_XILLYBUS_PCIE=m
CONFIG_XZ_DEC_IA64=y
diff --git a/kernel-s390x.config b/kernel-s390x.config
index ba3c06f49..024696649 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -145,10 +145,10 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AL3320A is not set
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
+# CONFIG_ALIM7101_WDT is not set
# CONFIG_ALTERA_MBOX is not set
-CONFIG_ALTERA_STAPL=m
-CONFIG_ALTERA_TSE=m
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_ALTERA_TSE is not set
CONFIG_ALX=m
# CONFIG_AM2315 is not set
CONFIG_AMD8111_ETH=m
@@ -158,7 +158,7 @@ CONFIG_AMD_PHY=m
CONFIG_AMIGA_PARTITION=y
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
-CONFIG_APDS9802ALS=m
+# CONFIG_APDS9802ALS is not set
# CONFIG_APDS9960 is not set
CONFIG_APM_POWER=m
CONFIG_APPLDATA_BASE=y
@@ -169,10 +169,7 @@ CONFIG_APPLDATA_OS=m
# CONFIG_APPLICOM is not set
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYNC_RAID6_TEST=m
@@ -325,7 +322,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -351,7 +347,7 @@ CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA is not set
CONFIG_BCMGENET=m
# CONFIG_BCM_KONA_USB2_PHY is not set
-CONFIG_BE2ISCSI=m
+# CONFIG_BE2ISCSI is not set
# CONFIG_BE2NET_HWMON is not set
CONFIG_BE2NET=m
# CONFIG_BEFS_DEBUG is not set
@@ -367,12 +363,13 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
+# CONFIG_BLK_CPQ_CISS_DA is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_DRBD=m
CONFIG_BLK_DEV_FD=m
@@ -397,16 +394,17 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_BLK_DEV_RBD=m
# CONFIG_BLK_DEV_RSXX is not set
CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SKD=m
+# CONFIG_BLK_DEV_SKD is not set
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SX8=m
+# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_UMEM=m
+# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_XPRAM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -502,6 +500,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -552,10 +551,10 @@ CONFIG_CAN_ESD_USB2=m
CONFIG_CAN_GS_USB=m
CONFIG_CAN_GW=m
CONFIG_CAN_IFI_CANFD=m
+# CONFIG_CAN is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_KVASER_USB=m
CONFIG_CAN_LEDS=y
-CONFIG_CAN=m
CONFIG_CAN_M_CAN=m
# CONFIG_CAN_MCP251X is not set
CONFIG_CAN_PEAK_PCIEC=y
@@ -620,6 +619,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -627,6 +627,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -634,7 +635,8 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
-CONFIG_CHARGER_SMB347=m
+# CONFIG_CHARGER_SBS is not set
+# CONFIG_CHARGER_SMB347 is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHECK_STACK=y
CONFIG_CHELSIO_T1_1G=y
@@ -674,6 +676,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
# CONFIG_CMA is not set
# CONFIG_CMDLINE_PARTITION is not set
@@ -685,23 +688,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
CONFIG_COMPAT=y
@@ -746,6 +738,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_S390=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -761,13 +754,10 @@ CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
-CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_S390=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
@@ -904,6 +894,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -951,7 +942,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
-CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES is not set
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMARD06 is not set
@@ -983,11 +974,11 @@ CONFIG_DM_UEVENT=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
-CONFIG_DNET=m
+# CONFIG_DNET is not set
CONFIG_DNOTIFY=y
CONFIG_DNS_RESOLVER=m
CONFIG_DONGLE=y
-CONFIG_DP83640_PHY=m
+# CONFIG_DP83640_PHY is not set
CONFIG_DP83848_PHY=m
CONFIG_DP83867_PHY=m
# CONFIG_DPM_WATCHDOG is not set # revisit this in debug
@@ -1006,6 +997,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1013,22 +1005,13 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_I810 is not set
-# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
-CONFIG_DRM_I915_CAPTURE_ERROR=y
-CONFIG_DRM_I915_COMPRESS_ERROR=y
-CONFIG_DRM_I915_GVT_KVMGT=m
-CONFIG_DRM_I915_GVT=y
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1049,14 +1032,13 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_VMWGFX=m
# CONFIG_DS1682 is not set
# CONFIG_DS1803 is not set
# CONFIG_DT3155 is not set
@@ -1143,6 +1125,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=m
# CONFIG_DW_DMAC is not set
@@ -1156,7 +1139,7 @@ CONFIG_E100=m
CONFIG_EADM_SCH=m
CONFIG_EARLY_PRINTK_DBGP=y
# CONFIG_EBC_C384_WDT is not set
-CONFIG_ECHO=m
+# CONFIG_ECHO is not set
CONFIG_ECRYPT_FS=m
# CONFIG_ECRYPT_FS_MESSAGING is not set
# CONFIG_EDAC_DEBUG is not set
@@ -1167,6 +1150,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
@@ -1176,13 +1160,12 @@ CONFIG_EFI_PARTITION=y
# CONFIG_EFI_SIGNATURE_LIST_PARSER is not set
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_EMU_SIZE=0x10000000
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENC28J60 is not set
-CONFIG_ENCLOSURE_SERVICES=m
+# CONFIG_ENCLOSURE_SERVICES is not set
CONFIG_ENCRYPTED_KEYS=y
CONFIG_ENIC=m
CONFIG_ENVELOPE_DETECTOR=m
@@ -1192,7 +1175,7 @@ CONFIG_EQUALIZER=m
CONFIG_ESI_DONGLE=m
CONFIG_ET131X=m
CONFIG_ETHERNET=y
-CONFIG_ETHOC=m
+# CONFIG_ETHOC is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
@@ -1209,6 +1192,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1233,7 +1217,6 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_FS=m
# CONFIG_FAULT_INJECTION is not set
# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARC is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_ASILIANT is not set
CONFIG_FB_ATY128_BACKLIGHT=y
@@ -1249,19 +1232,12 @@ CONFIG_FB_ATY_BACKLIGHT=y
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_HGA is not set
# CONFIG_FB_I740 is not set
-CONFIG_FB_I810_GTF=y
-CONFIG_FB_I810_I2C=y
-CONFIG_FB_I810=m
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB is not set
# CONFIG_FB_KYRO is not set
-# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX_G is not set
# CONFIG_FB_MATROX_I2C is not set
# CONFIG_FB_MATROX is not set
@@ -1304,9 +1280,6 @@ CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_UDL is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
-CONFIG_FB_VGA16=m
-# CONFIG_FB_VIA_DIRECT_PROCFS is not set
-# CONFIG_FB_VIA is not set
CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
@@ -1314,7 +1287,7 @@ CONFIG_FB_VIRTUAL=m
CONFIG_FCOE_FNIC=m
# CONFIG_FCOE is not set
# CONFIG_FDDI is not set
-CONFIG_FEALNX=m
+# CONFIG_FEALNX is not set
CONFIG_FHANDLE=y
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
@@ -1347,6 +1320,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1388,7 +1362,8 @@ CONFIG_GAMEPORT_NS558=m
# CONFIG_GENERIC_PHY is not set
CONFIG_GENEVE=m
# CONFIG_GEN_RTC is not set
-# CONFIG_GENWQE is not set
+CONFIG_GENWQE=m
+CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIGASET_BASE=m
@@ -1407,42 +1382,38 @@ CONFIG_GIRBIL_DONGLE=m
# 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_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
-CONFIG_GPIOLIB=y
+# CONFIG_GPIOLIB 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_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1492,6 +1463,7 @@ CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
+# CONFIG_HID is not set
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1501,7 +1473,6 @@ CONFIG_HID_LENOVO=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_HID_LOGITECH_HIDPP=m
CONFIG_HID_LOGITECH=m
-CONFIG_HID=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MAYFLASH=m
CONFIG_HID_MICROSOFT=m
@@ -1623,7 +1594,7 @@ CONFIG_HVC_IUCV=y
CONFIG_HW_CONSOLE=y
CONFIG_HWLAT_TRACER=y
# CONFIG_HWMON_DEBUG_CHIP is not set
-CONFIG_HWMON=m
+# CONFIG_HWMON is not set
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -1631,13 +1602,14 @@ CONFIG_HW_RANDOM_TPM=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_ALGOPCF=m
+# 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
@@ -1648,23 +1620,22 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_BCM2048 is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_COMPAT=y
+# 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_DEMUX_PINCTRL is not set
# CONFIG_I2C_DESIGNWARE is not set
-CONFIG_I2C_DESIGNWARE_PCI=m
+# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_HELPER_AUTO is not set
-CONFIG_I2C_HID=m
+# CONFIG_I2C_HID is not set
# CONFIG_I2C_I801 is not set
-CONFIG_I2C_IMX_LPI2C=m
# CONFIG_I2C_ISCH is not set
CONFIG_I2C=m
CONFIG_I2C_MLXCPLD=m
@@ -1680,20 +1651,18 @@ CONFIG_I2C_MUX_MLXCPLD=m
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
-CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PIIX4 is not set
-CONFIG_I2C_PXA=m
-# CONFIG_I2C_PXA_SLAVE is not set
# CONFIG_I2C_RK3X is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
CONFIG_I2C_SI470X=m
# CONFIG_I2C_SI4713 is not set
-CONFIG_I2C_SIMTEC=m
+# 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_EEPROM=m
-CONFIG_I2C_SLAVE=y
+# 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
@@ -1707,11 +1676,9 @@ CONFIG_I2C_VIPERBOARD=m
# CONFIG_I40E_FCOE is not set
CONFIG_I40E=m
CONFIG_I40EVF=m
-CONFIG_I6300ESB_WDT=m
+# CONFIG_I6300ESB_WDT is not set
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
-CONFIG_IB700_WDT=m
-CONFIG_IBMASR=m
CONFIG_IBM_PARTITION=y
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
@@ -1744,8 +1711,8 @@ CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
+# CONFIG_IIO is not set
CONFIG_IIO_KFIFO_BUF=m
-CONFIG_IIO=m
# CONFIG_IIO_SIMPLE_DUMMY is not set
# CONFIG_IIO_SSP_SENSORHUB is not set
CONFIG_IIO_ST_ACCEL_3AXIS=m
@@ -1754,6 +1721,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1770,6 +1738,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1779,6 +1748,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1787,9 +1757,10 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_CXGB3 is not set
+# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1798,14 +1769,14 @@ CONFIG_INFINIBAND_IPOIB=m
CONFIG_INFINIBAND_ISER=m
CONFIG_INFINIBAND_ISERT=m
CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
+# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
+# CONFIG_INFINIBAND_NES is not set
+# CONFIG_INFINIBAND_OCRDMA is not set
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
# CONFIG_INFINIBAND_QEDR is not set
CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
+# CONFIG_INFINIBAND_QIB is not set
CONFIG_INFINIBAND_RDMAVT=m
CONFIG_INFINIBAND_SRP=m
CONFIG_INFINIBAND_SRPT=m
@@ -1833,7 +1804,7 @@ CONFIG_INPUT_CMA3000=m
CONFIG_INPUT_E3X0_BUTTON=m
# CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_GP2A=m
# CONFIG_INPUT_GPIO_BEEPER is not set
# CONFIG_INPUT_GPIO_DECODER is not set
@@ -1852,10 +1823,10 @@ CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
# CONFIG_INPUT_MISC is not set
CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_MPU3050=m
CONFIG_INPUT_PCF50633_PMU=m
@@ -1863,11 +1834,11 @@ CONFIG_INPUT_PCF50633_PMU=m
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_PM8XXX_VIBRATOR=m
CONFIG_INPUT_PMIC8XXX_PWRKEY=m
-CONFIG_INPUT_POLLDEV=m
+# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
-CONFIG_INPUT_SPARSEKMAP=m
+# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_UINPUT=m
@@ -1877,8 +1848,6 @@ CONFIG_INPUT=y
CONFIG_INPUT_YEALINK=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_MENLOW is not set
-CONFIG_INTEL_RDT_A=y
# CONFIG_INTEL_SOC_PMIC is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
@@ -1891,6 +1860,7 @@ CONFIG_IOSCHED_CFQ=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IO_STRICT_DEVMEM=y
+# CONFIG_IP1000 is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MANGLE=m
@@ -2025,6 +1995,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200_DEBUG is not set
@@ -2066,6 +2037,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2106,8 +2078,8 @@ CONFIG_ISDN_PPP=y
CONFIG_ISDN_TTY_FAX=y
CONFIG_ISDN=y
# CONFIG_ISI is not set
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
# CONFIG_ISL29125 is not set
CONFIG_ISO9660_FS=m
CONFIG_IT8712F_WDT=m
@@ -2144,7 +2116,7 @@ CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_STATISTICS is not set
-CONFIG_JME=m
+# CONFIG_JME is not set
CONFIG_JOLIET=y
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
@@ -2216,6 +2188,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2227,7 +2200,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2275,13 +2248,13 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_DELL_NETBOOKS=m
# CONFIG_LEDS_GPIO is not set
-CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
# CONFIG_LEDS_IS31FL32XX is not set
# CONFIG_LEDS_KTD2692 is not set
@@ -2389,6 +2362,8 @@ CONFIG_LOOPBACK_TARGET=m
# CONFIG_LPC_ICH is not set
CONFIG_LP_CONSOLE=y
# CONFIG_LPC_SCH is not set
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2421,6 +2396,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
# CONFIG_MAILBOX_TEST is not set
@@ -2431,10 +2407,12 @@ CONFIG_MARCH_Z9_109=y
# CONFIG_MARCH_Z990 is not set
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2487,11 +2465,11 @@ CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
# CONFIG_MEDIA_SUPPORT is not set
# CONFIG_MEDIA_TUNER_MSI001 is not set
CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_MEGARAID_LEGACY=m
+# CONFIG_MEGARAID_LEGACY is not set
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_SAS=m
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_SAS is not set
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2510,7 +2488,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2528,7 +2505,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
-CONFIG_MFD_CORE=m
+# CONFIG_MFD_CORE is not set
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2575,7 +2553,6 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_SM501 is not set
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -2634,7 +2611,7 @@ CONFIG_MLX5_INFINIBAND=m
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXSW_CORE_HWMON=y
-CONFIG_MLXSW_CORE=m
+# CONFIG_MLXSW_CORE is not set
CONFIG_MLXSW_CORE_THERMAL=y
CONFIG_MLXSW_I2C=m
CONFIG_MLXSW_MINIMAL=m
@@ -2709,7 +2686,6 @@ CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
@@ -2725,6 +2701,7 @@ CONFIG_MOVABLE_NODE=y
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -2829,12 +2806,13 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
CONFIG_NET_ACT_TUNNEL_KEY=m
CONFIG_NET_ACT_VLAN=m
-CONFIG_NET_CADENCE=y
+# CONFIG_NET_CADENCE is not set
CONFIG_NET_CALXEDA_XGMAC=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_CLS_BASIC=m
@@ -2962,6 +2940,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -2973,13 +2952,13 @@ CONFIG_NET_IPVTI=m
# CONFIG_NETIUCV is not set
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
CONFIG_NET_NS=y
-CONFIG_NET_PACKET_ENGINE=y
+# CONFIG_NET_PACKET_ENGINE is not set
CONFIG_NET_PKTGEN=m
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_NETROM=m
@@ -3019,26 +2998,27 @@ CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_NET_TEAM_MODE_RANDOM=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TULIP=y
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_NET_VENDOR_8390=y
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_NET_VENDOR_AGERE=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_8390 is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALACRITECH is not set
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_NET_VENDOR_AMAZON=y
-CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
# CONFIG_NET_VENDOR_ARC is not set
-CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_AURORA is not set
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_NET_VENDOR_BROCADE=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
-CONFIG_NET_VENDOR_CHELSIO=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_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_EXAR is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
# CONFIG_NET_VENDOR_FARADAY is not set
# CONFIG_NET_VENDOR_FUJITSU is not set
@@ -3047,43 +3027,43 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_I825XX is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
-CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
-CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
-CONFIG_NET_VENDOR_NETRONOME=y
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_NET_VENDOR_OKI=y
-CONFIG_NET_VENDOR_QLOGIC=y
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RENESAS is not set
-CONFIG_NET_VENDOR_ROCKER=y
+# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_NET_VENDOR_SUN=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_NET_VENDOR_TI=y
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
-CONFIG_NET_VENDOR_WIZNET=y
-CONFIG_NET_VENDOR_XIRCOM=y
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_NET_VRF=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETXEN_NIC=m
CONFIG_NET=y
-CONFIG_NEW_LEDS=y
+# CONFIG_NEW_LEDS is not set
CONFIG_NFC_DIGITAL=m
# CONFIG_NFC_FDP is not set
CONFIG_NFC_HCI=m
-CONFIG_NFC=m
+# CONFIG_NFC is not set
CONFIG_NFC_MICROREAD_I2C=m
CONFIG_NFC_MICROREAD=m
# CONFIG_NFC_MRVL_I2C is not set
@@ -3148,6 +3128,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3219,9 +3201,10 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
-CONFIG_N_GSM=m
+# CONFIG_N_GSM is not set
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
CONFIG_NILFS2_FS=m
@@ -3288,7 +3271,7 @@ CONFIG_NORTEL_HERMES=m
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
-CONFIG_NOZOMI=m
+# CONFIG_NOZOMI is not set
CONFIG_NR_CPUS=64
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3347,6 +3330,7 @@ CONFIG_PACK_STACK=y
CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
@@ -3404,6 +3388,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
CONFIG_PCF50633_ADC=m
@@ -3424,7 +3409,7 @@ CONFIG_PCI_IOV=y
CONFIG_PCI_MSI=y
CONFIG_PCI_NR_FUNCTIONS=64
CONFIG_PCI_PASID=y
-CONFIG_PCIPCWATCHDOG=m
+# CONFIG_PCIPCWATCHDOG is not set
CONFIG_PCI_PRI=y
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=y
@@ -3460,6 +3445,8 @@ CONFIG_PFAULT=y
CONFIG_PHYLIB=m
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
@@ -3468,6 +3455,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL is not set
CONFIG_PINCTRL_MSM8994=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3479,7 +3467,7 @@ CONFIG_PLX_HERMES=m
CONFIG_PMBUS=m
CONFIG_PM_DEBUG=y
# CONFIG_PM_DEVFREQ_EVENT is not set
-CONFIG_PM_DEVFREQ=y
+# CONFIG_PM_DEVFREQ is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_PM_OPP is not set
@@ -3495,11 +3483,11 @@ CONFIG_POSIX_MQUEUE=y
# CONFIG_POWER_AVS is not set
CONFIG_POWERCAP=y
# CONFIG_POWER_RESET_BRCMKONA is not set
+# CONFIG_POWER_RESET 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=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_PPC_PTDUMP is not set
@@ -3529,6 +3517,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3542,6 +3531,7 @@ CONFIG_PROC_VMCORE=y
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
@@ -3551,18 +3541,19 @@ CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
+# CONFIG_PWM is not set
# CONFIG_PWM_PCA9685 is not set
-CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QDIO=m
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3585,7 +3576,7 @@ CONFIG_QUOTACTL=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_QUOTA=y
-CONFIG_R3964=m
+# CONFIG_R3964 is not set
CONFIG_R6040=m
CONFIG_R8169=m
# CONFIG_R8188EU is not set
@@ -3612,7 +3603,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3656,6 +3646,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -3667,15 +3658,16 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+# CONFIG_RESET_CONTROLLER is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL=m
+# CONFIG_RFKILL is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RIO is not set
-CONFIG_RMI4_CORE=m
-# CONFIG_RMI4_F03 is not set
+# CONFIG_RMI4_CORE is not set
+CONFIG_RMI4_F03=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
@@ -3889,51 +3881,51 @@ CONFIG_SCM_BLOCK_CLUSTER_WRITE=y
CONFIG_SCM_BLOCK=m
CONFIG_SCM_BUS=y
# CONFIG_SCR24X is not set
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_ACARD=m
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_ADVANSYS is not set
-CONFIG_SCSI_AIC79XX=m
-CONFIG_SCSI_AIC7XXX=m
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC94XX is not set
-CONFIG_SCSI_AM53C974=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_BFA_FC is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_SCSI_BNX2X_FCOE is not set
CONFIG_SCSI_BUSLOGIC=m
-CONFIG_SCSI_CHELSIO_FCOE=m
+# CONFIG_SCSI_CHELSIO_FCOE is not set
CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_DC395x=m
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
CONFIG_SCSI_DEBUG=m
CONFIG_SCSI_DH_ALUA=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_HP_SW=m
+# CONFIG_SCSI_DH is not set
CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH=y
-CONFIG_SCSI_DMX3191D=m
+# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_ESAS2R=m
+# CONFIG_SCSI_ESAS2R is not set
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_FLASHPOINT=y
# CONFIG_SCSI_FUTURE_DOMAIN is not set
CONFIG_SCSI_GDTH=m
# CONFIG_SCSI_HISI_SAS is not set
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_HPTIOP=m
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_IMM is not set
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_INITIO=m
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_INITIO is not set
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_IPR=m
CONFIG_SCSI_IPR_TRACE=y
-CONFIG_SCSI_IPS=m
+# CONFIG_SCSI_IPS is not set
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_ISCSI_ATTRS=m
# CONFIG_SCSI_IZIP_EPP16 is not set
@@ -3942,28 +3934,28 @@ CONFIG_SCSI_LOGGING=y
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_LPFC=m
-CONFIG_SCSI_MPT2SAS=m
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_MPT2SAS is not set
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-CONFIG_SCSI_MPT3SAS=m
+# CONFIG_SCSI_MPT3SAS is not set
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_MVSAS_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS is not set
CONFIG_SCSI_MVSAS_TASKLET=y
-CONFIG_SCSI_MVUMI=m
+# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_OSD_DEBUG is not set
CONFIG_SCSI_OSD_DPRINT_SENSE=1
CONFIG_SCSI_OSD_INITIATOR=m
CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_PMCRAID=m
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PPA is not set
CONFIG_SCSI_PROC_FS=y
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_QLOGIC_1280=m
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_HOST_SMP=y
@@ -3971,22 +3963,22 @@ CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_SMARTPQI=m
# CONFIG_SCSI_SNIC_DEBUG_FS is not set
-CONFIG_SCSI_SNIC=m
+# CONFIG_SCSI_SNIC is not set
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_SRP_ATTRS=m
CONFIG_SCSI_SRP=m
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
-CONFIG_SCSI_UFSHCD=m
+# CONFIG_SCSI_UFSHCD is not set
CONFIG_SCSI_UFSHCD_PCI=m
# CONFIG_SCSI_UFSHCD_PLATFORM is not set
CONFIG_SCSI_VIRTIO=m
-CONFIG_SCSI_WD719X=m
+# CONFIG_SCSI_WD719X is not set
CONFIG_SCSI=y
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
@@ -4039,10 +4031,10 @@ CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_APDS990X=m
+# CONFIG_SENSORS_APDS990X is not set
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_BH1770=m
+# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
@@ -4075,8 +4067,8 @@ CONFIG_SENSORS_INA3221=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LIS3_I2C=m
-CONFIG_SENSORS_LIS3LV02D=m
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_SENSORS_LIS3_SPI is not set
CONFIG_SENSORS_LM25066=m
CONFIG_SENSORS_LM63=m
@@ -4143,6 +4135,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4152,7 +4145,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
-CONFIG_SENSORS_TSL2550=m
+# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
@@ -4178,6 +4171,7 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
@@ -4186,6 +4180,7 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4197,13 +4192,15 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=m
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_KGDB_NMI is not set
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
-CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_SC16IS7XX is not set
@@ -4218,13 +4215,13 @@ CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_I8042=y
# CONFIG_SERIO is not set
-CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_LIBPS2=m
# CONFIG_SERIO_OLPC_APSP is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_PS2MULT is not set
CONFIG_SERIO_RAW=m
-CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_SERPORT=m
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
@@ -4258,6 +4255,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -4403,7 +4401,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
# CONFIG_SND_SOC_ADAU1701 is not set
# CONFIG_SND_SOC_ADAU7002 is not set
@@ -4454,6 +4452,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4476,6 +4475,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TFA9879 is not set
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
@@ -4508,7 +4508,6 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4534,6 +4533,7 @@ CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4574,6 +4574,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4592,6 +4593,7 @@ CONFIG_STACK_VALIDATION=y
CONFIG_STAGING_MEDIA=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4606,10 +4608,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4618,7 +4616,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
# CONFIG_SUSPEND is not set
@@ -4699,8 +4696,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -4714,9 +4709,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -4742,6 +4739,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -4756,9 +4754,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -4833,6 +4833,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -4883,7 +4884,7 @@ CONFIG_UIO_AEC=m
CONFIG_UIO_CIF=m
# CONFIG_UIO_DMEM_GENIRQ is not set
CONFIG_UIO_HV_GENERIC=m
-CONFIG_UIO=m
+# CONFIG_UIO is not set
# CONFIG_UIO_MF624 is not set
# CONFIG_UIO_NETX is not set
CONFIG_UIO_PCI_GENERIC=m
@@ -4899,7 +4900,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -4916,6 +4917,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5000,6 +5002,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5144,6 +5147,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5232,6 +5236,7 @@ CONFIG_VFIO_MDEV=m
CONFIG_VFIO_PCI=m
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5282,6 +5287,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5303,7 +5309,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5339,6 +5344,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5356,8 +5362,6 @@ CONFIG_VLSI_FIR=m
CONFIG_VMCP=y
# CONFIG_VME_BUS is not set
CONFIG_VMLOGRDR=m
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_PVSCSI=m
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS=m
@@ -5379,6 +5383,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5407,7 +5412,7 @@ CONFIG_WATCHDOG=y
# CONFIG_WCN36XX_DEBUGFS is not set
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
-CONFIG_WDTPCI=m
+# CONFIG_WDTPCI is not set
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5452,6 +5457,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_PTDUMP=y
@@ -5469,7 +5475,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
# CONFIG_XILINX_WATCHDOG is not set
-CONFIG_XILLYBUS=m
+# CONFIG_XILLYBUS is not set
# CONFIG_XILLYBUS_OF is not set
CONFIG_XILLYBUS_PCIE=m
CONFIG_XZ_DEC_IA64=y
diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config
index 54bcb2a83..d676999e1 100644
--- a/kernel-x86_64-debug.config
+++ b/kernel-x86_64-debug.config
@@ -221,10 +221,8 @@ CONFIG_APPLE_PROPERTIES=y
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
# CONFIG_ARCH_MEMORY_PROBE is not set
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
CONFIG_ARM64_PTDUMP=y
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_NB_WMI=m
@@ -381,7 +379,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -424,6 +421,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_BSGLIB=y
@@ -469,6 +467,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -564,6 +563,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -683,6 +683,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -690,6 +691,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -697,6 +699,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHELSIO_T1_1G=y
@@ -737,6 +740,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -750,23 +754,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
# CONFIG_COMPAT_BRK is not set
@@ -816,6 +809,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
@@ -839,13 +833,11 @@ CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA20_X86_64=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
@@ -1009,6 +1001,7 @@ CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_DEBUG_REFCOUNT=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_DEBUG_RT_MUTEXES=y
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1129,6 +1122,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1139,7 +1133,7 @@ CONFIG_DRM_GMA500=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
@@ -1154,7 +1148,6 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1178,6 +1171,7 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1272,6 +1266,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
@@ -1311,6 +1306,7 @@ CONFIG_EDAC_I82975X=m
CONFIG_EDAC_IE31200=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_PND2=m
CONFIG_EDAC_R82600=m
CONFIG_EDAC_SBRIDGE=m
CONFIG_EDAC_SKX=m
@@ -1324,6 +1320,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT=y
@@ -1346,7 +1343,6 @@ CONFIG_EFIVAR_FS=y
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_EFI=y
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1379,6 +1375,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1428,7 +1425,6 @@ CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
CONFIG_FB_HYPERV=m
@@ -1527,6 +1523,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1601,6 +1598,7 @@ CONFIG_GIRBIL_DONGLE=m
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
@@ -1620,13 +1618,14 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1636,7 +1635,6 @@ CONFIG_GPIO_VIPERBOARD=m
CONFIG_GPIO_WHISKEY_COVE=y
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1648,6 +1646,7 @@ CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_HDC100X is not set
+CONFIG_HDMI_LPE_AUDIO=m
CONFIG_HEADERS_CHECK=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
@@ -1844,6 +1843,7 @@ CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
@@ -1885,7 +1885,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
CONFIG_I2C_I801=m
-CONFIG_I2C_IMX_LPI2C=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_MLXCPLD=m
@@ -1983,6 +1982,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1999,6 +1999,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -2008,6 +2009,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -2016,6 +2018,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2144,6 +2147,7 @@ CONFIG_INTEL_SMARTCONNECT=y
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INTEL_SOC_PMIC=y
# CONFIG_INTEL_TH is not set
+CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_VBTN=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2293,6 +2297,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
@@ -2340,6 +2345,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2496,6 +2502,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2507,7 +2514,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2559,6 +2566,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2675,6 +2683,8 @@ CONFIG_LOOPBACK_TARGET=m
CONFIG_LPC_ICH=m
CONFIG_LP_CONSOLE=y
CONFIG_LPC_SCH=m
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2708,6 +2718,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2715,10 +2726,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2796,7 +2809,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2815,6 +2827,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2864,7 +2877,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -3022,6 +3034,7 @@ CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPSC is not set
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3136,6 +3149,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3269,6 +3283,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3279,7 +3294,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3334,6 +3349,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3458,6 +3474,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3529,11 +3547,13 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
+CONFIG_NIC7018_WDT=m
CONFIG_NILFS2_FS=m
CONFIG_NIU=m
# CONFIG_NL80211_TESTMODE is not set
@@ -3677,6 +3697,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3734,6 +3755,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
@@ -3800,6 +3822,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
@@ -3811,9 +3835,11 @@ CONFIG_PINCONF=y
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CHERRYVIEW=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_MSM8994=m
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3879,6 +3905,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3894,11 +3921,13 @@ CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVE_RCU=y
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
+CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -3912,14 +3941,15 @@ CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3965,7 +3995,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4012,6 +4041,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4499,6 +4529,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4535,13 +4566,16 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
+CONFIG_SERIAL_8250_LPSS=m
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4554,6 +4588,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
CONFIG_SERIAL_JSM=m
@@ -4602,6 +4638,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGMATEL_FIR=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_SILEAD_DMI is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4622,6 +4659,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
# CONFIG_SMSC37B787_WDT is not set
@@ -4767,7 +4805,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
@@ -4799,7 +4837,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -4837,6 +4877,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4892,7 +4933,6 @@ CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4915,9 +4955,11 @@ CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
+CONFIG_SND_X86=y
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4970,6 +5012,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4987,6 +5030,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -5001,10 +5045,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5013,7 +5053,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
@@ -5097,8 +5136,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -5112,9 +5149,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5146,6 +5185,7 @@ CONFIG_THUNDERBOLT=m
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5160,9 +5200,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5236,6 +5278,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5304,7 +5347,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5321,6 +5364,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5405,6 +5449,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5549,6 +5594,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5639,6 +5685,7 @@ CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5691,6 +5738,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5712,7 +5760,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5749,6 +5796,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5793,6 +5841,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5865,6 +5914,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
CONFIG_WQ_WATCHDOG=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
diff --git a/kernel-x86_64.config b/kernel-x86_64.config
index fe1d82d0f..fc4ee1c5d 100644
--- a/kernel-x86_64.config
+++ b/kernel-x86_64.config
@@ -221,10 +221,7 @@ CONFIG_APPLE_PROPERTIES=y
CONFIG_AQUANTIA_PHY=m
CONFIG_AR5523=m
# CONFIG_ARCH_MEMORY_PROBE is not set
-# CONFIG_ARCH_TEGRA_186_SOC is not set
# CONFIG_ARCNET is not set
-# CONFIG_ARM64_PTDUMP is not set
-# CONFIG_ARM_SCPI_PROTOCOL is not set
# CONFIG_AS3935 is not set
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_NB_WMI=m
@@ -381,7 +378,6 @@ CONFIG_BATMAN_ADV_NC=y
# 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
@@ -424,6 +420,7 @@ CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
CONFIG_BLK_CPQ_CISS_DA=m
+CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_BSGLIB=y
@@ -469,6 +466,7 @@ CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_WBT_SQ is not set
CONFIG_BLK_WBT=y
@@ -564,6 +562,7 @@ CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_MRVL=y
+CONFIG_BT_HCIUART_NOKIA=m
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIVHCI=m
CONFIG_BT_HIDP=m
@@ -683,6 +682,7 @@ CONFIG_CGROUP_NET_CLASSID=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ2415X is not set
@@ -690,6 +690,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_ISP1704 is not set
# CONFIG_CHARGER_LP8727 is not set
@@ -697,6 +698,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_PCF50633 is not set
# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHELSIO_T1_1G=y
@@ -737,6 +739,7 @@ CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
# CONFIG_CM3232 is not set
# CONFIG_CM3323 is not set
+CONFIG_CM3605=m
# CONFIG_CM36651 is not set
CONFIG_CMA_AREAS=7
# CONFIG_CMA_DEBUGFS is not set
@@ -750,23 +753,12 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_HI3516CV300 is not set
-# CONFIG_COMMON_CLK_HI3519 is not set
-# CONFIG_COMMON_CLK_HI3798CV200 is not set
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2701 is not set
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8135 is not set
-# CONFIG_COMMON_CLK_MT8173 is not set
-# CONFIG_COMMON_CLK_OXNAS is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
# CONFIG_COMPAT_BRK is not set
@@ -815,6 +807,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
@@ -838,13 +831,11 @@ CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA20_X86_64=m
CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32_ARM_CE=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32C_VPMSUM=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
@@ -1001,6 +992,7 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_DEBUG_REFCOUNT is not set
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -1119,6 +1111,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_AST=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DUMB_VGA_DAC is not set
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
@@ -1129,7 +1122,7 @@ CONFIG_DRM_GMA500=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511=m
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
@@ -1144,7 +1137,6 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
-# CONFIG_DRM_MALI_DISPLAY is not set
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
CONFIG_DRM_MXSFB=m
@@ -1168,6 +1160,7 @@ CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_TINYDRM is not set
CONFIG_DRM_TI_TFP410=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_UDL=m
@@ -1262,6 +1255,7 @@ CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_ZD1301=m
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
@@ -1301,6 +1295,7 @@ CONFIG_EDAC_I82975X=m
CONFIG_EDAC_IE31200=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_PND2=m
CONFIG_EDAC_R82600=m
CONFIG_EDAC_SBRIDGE=m
CONFIG_EDAC_SKX=m
@@ -1314,6 +1309,7 @@ CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
CONFIG_EEPROM_AT24=m
# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT=y
@@ -1336,7 +1332,6 @@ CONFIG_EFIVAR_FS=y
# CONFIG_EFI_VARS_PSTORE is not set
CONFIG_EFI=y
# CONFIG_EFS_FS is not set
-# CONFIG_EMAC_ROCKCHIP is not set
# CONFIG_EMBEDDED is not set
CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
@@ -1369,6 +1364,7 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_ADC_JACK is not set
+CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON is not set
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
CONFIG_EXTRA_FIRMWARE=""
@@ -1411,7 +1407,6 @@ CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
-# CONFIG_FB_GOLDFISH is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
CONFIG_FB_HYPERV=m
@@ -1510,6 +1505,7 @@ CONFIG_FSCACHE_OBJECT_LIST=y
CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
+CONFIG_FSI=m
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_PQ_MDIO is not set
CONFIG_FS_MBCACHE=y
@@ -1584,6 +1580,7 @@ CONFIG_GIRBIL_DONGLE=m
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
@@ -1603,13 +1600,14 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1619,7 +1617,6 @@ CONFIG_GPIO_VIPERBOARD=m
CONFIG_GPIO_WHISKEY_COVE=y
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1631,6 +1628,7 @@ CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_HDC100X is not set
+CONFIG_HDMI_LPE_AUDIO=m
CONFIG_HEADERS_CHECK=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
@@ -1827,6 +1825,7 @@ CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=m
+# CONFIG_HX711 is not set
CONFIG_HYPERV_BALLOON=m
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HYPERV_KEYBOARD=m
@@ -1868,7 +1867,6 @@ CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
CONFIG_I2C_I801=m
-CONFIG_I2C_IMX_LPI2C=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_MLXCPLD=m
@@ -1966,6 +1964,7 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
+# CONFIG_IIO_ST_LSM6DSX is not set
CONFIG_IIO_ST_MAGN_3AXIS=m
# CONFIG_IIO_ST_PRESS is not set
CONFIG_IIO_SW_DEVICE=m
@@ -1982,6 +1981,7 @@ CONFIG_IMA_MEASURE_PCR_IDX=10
# CONFIG_INA2XX_ADC is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
+CONFIG_INET6_ESP_OFFLOAD=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
@@ -1991,6 +1991,7 @@ CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
CONFIG_INET_ESP=m
+CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_RAW_DIAG=m
CONFIG_INET_TUNNEL=m
@@ -1999,6 +2000,7 @@ CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET=y
+# CONFIG_INFINIBAND_BNXT_RE is not set
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
@@ -2127,6 +2129,7 @@ CONFIG_INTEL_SMARTCONNECT=y
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INTEL_SOC_PMIC=y
# CONFIG_INTEL_TH is not set
+CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_VBTN=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2276,6 +2279,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_WRR=m
+CONFIG_IPVTAP=m
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
@@ -2323,6 +2327,7 @@ CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_SPI=m
CONFIG_IR_STREAMZAP=m
CONFIG_IR_TTUSBIR=m
CONFIG_IRTTY_SIR=m
@@ -2477,6 +2482,7 @@ CONFIG_KEYBOARD_PMIC8XXX=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEYS=y
@@ -2488,7 +2494,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
CONFIG_KINGSUN_DONGLE=m
# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENT=y
+CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
CONFIG_KPROBES=y
CONFIG_KS0108_DELAY=2
@@ -2540,6 +2546,7 @@ CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
CONFIG_LEDS_CLASS_FLASH=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
@@ -2656,6 +2663,8 @@ CONFIG_LOOPBACK_TARGET=m
CONFIG_LPC_ICH=m
CONFIG_LP_CONSOLE=y
CONFIG_LPC_SCH=m
+CONFIG_LPFC_NVME_INITIATOR=y
+CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
# CONFIG_LTC2485 is not set
@@ -2689,6 +2698,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MAILBOX=y
@@ -2696,10 +2706,12 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
# CONFIG_MAX1363 is not set
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
+# CONFIG_MAX5481 is not set
# CONFIG_MAX5487 is not set
# CONFIG_MAX5821 is not set
# CONFIG_MAX63XX_WATCHDOG is not set
@@ -2777,7 +2789,6 @@ CONFIG_MEMSTICK_TIFM_MS=m
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MEMTEST is not set
# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESON_GXL_PHY=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
@@ -2796,6 +2807,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
+CONFIG_MFD_CPCAP=m
# CONFIG_MFD_CROS_EC is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -2845,7 +2857,6 @@ CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SUN4I_GPADC=m
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6393XB is not set
@@ -3003,6 +3014,7 @@ CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPSC is not set
# CONFIG_MPU3050_I2C is not set
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
# CONFIG_MS_BLOCK is not set
@@ -3117,6 +3129,7 @@ CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_SAMPLE=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_SKBMOD=m
@@ -3250,6 +3263,7 @@ CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_NET_FOU=m
+CONFIG_NET_IFE=m
CONFIG_NET_IFE_SKBMARK=m
CONFIG_NET_IFE_SKBPRIO=m
CONFIG_NET_IFE_SKBTCINDEX=m
@@ -3260,7 +3274,7 @@ CONFIG_NET_IPIP=m
CONFIG_NET_IPVTI=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
@@ -3315,6 +3329,7 @@ CONFIG_NET_VENDOR_AGERE=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_NET_VENDOR_AMD=y
+# CONFIG_NET_VENDOR_AQUANTIA is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_NET_VENDOR_AURORA is not set
@@ -3439,6 +3454,8 @@ CONFIG_NF_LOG_IPV6=m
CONFIG_NF_LOG_NETDEV=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_SNMP_BASIC=m
+# CONFIG_NFP_DEBUG is not set
+CONFIG_NFP=m
# CONFIG_NFP_NET_DEBUG is not set
CONFIG_NFP_NETVF=m
CONFIG_NF_REJECT_IPV6=m
@@ -3510,11 +3527,13 @@ CONFIG_NFT_REDIR=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_RT=m
+CONFIG_NFT_SET_BITMAP=m
CONFIG_NFT_SET_HASH=m
CONFIG_NFT_SET_RBTREE=m
CONFIG_N_GSM=m
CONFIG_N_HDLC=m
# CONFIG_NI903X_WDT is not set
+CONFIG_NIC7018_WDT=m
CONFIG_NILFS2_FS=m
CONFIG_NIU=m
# CONFIG_NL80211_TESTMODE is not set
@@ -3658,6 +3677,7 @@ CONFIG_PANTHERLORD_FF=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
+CONFIG_PARMAN=m
CONFIG_PARPORT_1284=y
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT=m
@@ -3715,6 +3735,7 @@ CONFIG_PATA_TOSHIBA=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
+# CONFIG_PC104 is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_PC87413_WDT is not set
CONFIG_PCCARD=y
@@ -3781,6 +3802,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHYLIB=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
@@ -3792,9 +3815,11 @@ CONFIG_PINCONF=y
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CHERRYVIEW=y
+# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_MSM8994=m
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PINCTRL_TI_IODELAY is not set
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3860,6 +3885,7 @@ CONFIG_PPTP=m
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_PRINTER=m
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
CONFIG_PRINTK_TIME=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_PRISM2_USB is not set
@@ -3874,11 +3900,13 @@ CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_PROVE_RCU_REPEATEDLY is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
+CONFIG_PSAMPLE=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
# CONFIG_PSTORE_PMSG is not set
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
+CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -3892,14 +3920,15 @@ CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=m
+# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
CONFIG_QCOM_ADSP_PIL=m
-# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
+CONFIG_QEDF=m
CONFIG_QEDI=m
CONFIG_QED=m
CONFIG_QED_SRIOV=y
@@ -3945,7 +3974,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-# CONFIG_RADIO_WL128X is not set # depends on TI_ST which we don't enable
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -3992,6 +4020,7 @@ CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REISERFS_CHECK is not set
@@ -4479,6 +4508,7 @@ CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47M1=m
+# CONFIG_SENSORS_STTS751 is not set
CONFIG_SENSORS_TC654=m
CONFIG_SENSORS_TC74=m
CONFIG_SENSORS_THMC50=m
@@ -4515,13 +4545,16 @@ CONFIG_SERIAL_8250_CS=m
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_FINTEK is not set
# CONFIG_SERIAL_8250_INGENIC is not set
+CONFIG_SERIAL_8250_LPSS=m
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_MOXA=m
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
@@ -4534,6 +4567,8 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_IFX6X60 is not set
CONFIG_SERIAL_JSM=m
@@ -4582,6 +4617,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGMATEL_FIR=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_SILEAD_DMI is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4602,6 +4638,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SLUB=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_SMC_IRCC_FIR=m
+# CONFIG_SMC is not set
# CONFIG_SM_FTL is not set
CONFIG_SMP=y
# CONFIG_SMSC37B787_WDT is not set
@@ -4746,7 +4783,7 @@ CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
+CONFIG_SND_SIMPLE_SCU_CARD=m
CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_AC97_CODEC=m
# CONFIG_SND_SOC_ADAU1701 is not set
@@ -4778,7 +4815,9 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DMIC=m
-# CONFIG_SND_SOC_ES8328 is not set
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_SPI=m
# 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
@@ -4816,6 +4855,7 @@ CONFIG_SND_SOC=m
# CONFIG_SND_SOC_MAX9860 is not set
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
# CONFIG_SND_SOC_PCM1681 is not set
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -4871,7 +4911,6 @@ CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_XTFPGA_I2S is not set
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
-CONFIG_SND_SUN8I_CODEC_ANALOG=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -4894,9 +4933,11 @@ CONFIG_SND_VIA82XX_MODEM=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
+CONFIG_SND_X86=y
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOC_TI is not set
+# CONFIG_SOC_ZTE is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_SOLO6X10 is not set
@@ -4949,6 +4990,7 @@ CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SRAM is not set
+# CONFIG_SRF08 is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_SSB_DRIVER_PCICORE=y
@@ -4966,6 +5008,7 @@ CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
CONFIG_STANDALONE=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_STE10XP=m
# CONFIG_STE_MODEM_RPROC is not set
CONFIG_STK3310=m
@@ -4980,10 +5023,6 @@ CONFIG_STMMAC_ETH=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
-# CONFIG_SUN50I_A64_CCU is not set
-# CONFIG_SUN6I_A31_CCU is not set
-# CONFIG_SUN8I_A23_CCU is not set
-# CONFIG_SUN8I_A33_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4992,7 +5031,6 @@ CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
-# CONFIG_SUNXI_CCU is not set
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
@@ -5076,8 +5114,6 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_MD5SIG=y
# CONFIG_TCS3414 is not set
# CONFIG_TCS3472 is not set
-CONFIG_TEGRA_GMI=m
-CONFIG_TEGRA_IVC=y
CONFIG_TEHUTI=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TELCLOCK=m
@@ -5091,9 +5127,11 @@ CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_PARMAN is not set
# CONFIG_TEST_POWER is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_SORT is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_UDELAY is not set
@@ -5125,6 +5163,7 @@ CONFIG_THUNDERBOLT=m
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
# CONFIG_TI_DAC7512 is not set
@@ -5139,9 +5178,11 @@ CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
@@ -5215,6 +5256,7 @@ CONFIG_TOUCHSCREEN_WACOM_I2C=m
CONFIG_TOUCHSCREEN_WACOM_W8001=m
# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
+CONFIG_TOUCHSCREEN_ZET6223=m
CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TPL0102 is not set
# CONFIG_TPS6105X is not set
@@ -5283,7 +5325,7 @@ CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_UNIX=y
CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENT=y
+CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
@@ -5300,6 +5342,7 @@ CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_CHIPIDEA_ULPI is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
@@ -5384,6 +5427,7 @@ CONFIG_USB_HID=y
CONFIG_USB_HSIC_USB3503=m
CONFIG_USB_HSIC_USB4604=m
CONFIG_USB_HSO=m
+CONFIG_USB_HUB_USB251XB=m
CONFIG_USB_HWA_HCD=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_IOWARRIOR=m
@@ -5528,6 +5572,7 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_SSU100=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_UPD78F0730=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_WHITEHEAT=m
# CONFIG_USB_SERIAL_WISHBONE is not set
@@ -5618,6 +5663,7 @@ CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_ARB=y
+# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
@@ -5670,6 +5716,7 @@ CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
# CONFIG_VIDEO_IVTV_ALSA is not set
+# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
@@ -5691,7 +5738,6 @@ CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_SAA7164=m
-CONFIG_VIDEO_SAMSUNG_S5P_CEC=m
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_VEU is not set
@@ -5728,6 +5774,7 @@ CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_BLK_SCSI=y
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
@@ -5772,6 +5819,7 @@ CONFIG_W1_MASTER_DS2490=m
# CONFIG_W1_MASTER_GPIO is not set
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_SLAVE_BQ27000=m
+CONFIG_W1_SLAVE_DS2405=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
@@ -5844,6 +5892,7 @@ CONFIG_WM8350_POWER=m
CONFIG_WM8350_WATCHDOG=m
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
diff --git a/kernel.spec b/kernel.spec
index 452199735..895a57e0c 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -50,7 +50,7 @@ Summary: The Linux kernel
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 10
+%define base_sublevel 11
## If this is a released kernel ##
%if 0%{?released_kernel}
@@ -58,7 +58,7 @@ Summary: The Linux kernel
%define stable_rc 0
# Do we have a -stable update to apply?
-%define stable_update 17
+%define stable_update 2
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -196,6 +196,9 @@ Summary: The Linux kernel
%define _enable_debug_packages 0
%endif
%define debuginfodir /usr/lib/debug
+# Needed because we override almost everything involving build-ids
+# and debuginfo generation. Currently we rely on the old alldebug setting.
+%global _build_id_links alldebug
# kernel PAE is only built on i686 and ARMv7.
%ifnarch i686 armv7hl
@@ -229,7 +232,7 @@ Summary: The Linux kernel
%if %{with_vdso_install}
# These arches install vdso/ directories.
-%define vdso_arches %{all_x86} x86_64 %{power64} s390 s390x aarch64
+%define vdso_arches %{all_x86} x86_64 %{power64} s390x aarch64
%endif
# Overrides for generic default options
@@ -339,7 +342,7 @@ Summary: The Linux kernel
# Which is a BadThing(tm).
# We only build kernel-headers on the following...
-%define nobuildarches i386 s390
+%define nobuildarches i386
%ifarch %nobuildarches
%define with_up 0
@@ -374,7 +377,7 @@ Version: %{rpmversion}
Release: %{pkg_release}
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
# SET %%nobuildarches (ABOVE) INSTEAD
-ExclusiveArch: %{all_x86} x86_64 ppc64 ppc64p7 s390 s390x %{arm} aarch64 ppc64le
+ExclusiveArch: %{all_x86} x86_64 ppc64 ppc64p7 s390x %{arm} aarch64 ppc64le
ExclusiveOS: Linux
%ifnarch %{nobuildarches}
Requires: kernel-core-uname-r = %{KVERREL}%{?variant}
@@ -395,7 +398,7 @@ BuildRequires: sparse
%if %{with_perf}
BuildRequires: zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed) bison flex xz-devel
BuildRequires: audit-libs-devel
-%ifnarch s390 s390x %{arm}
+%ifnarch s390x %{arm}
BuildRequires: numactl-devel
%endif
%endif
@@ -420,7 +423,7 @@ BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
%define cross_opts CROSS_COMPILE=%{_build_arch}-linux-gnu-
%endif
-Source0: ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-%{kversion}.tar.xz
+Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{kversion}.tar.xz
Source10: perf-man-%{kversion}.tar.gz
Source11: x509.genkey
@@ -504,8 +507,15 @@ Source5000: patch-4.%{base_sublevel}-git%{gitrev}.xz
%endif
%endif
+## Patches needed for building this package
+
# build tweak for build ID magic, even for -vanilla
-Source5005: kbuild-AFTER_LINK.patch
+Patch001: kbuild-AFTER_LINK.patch
+
+## compile fixes
+
+# ongoing complaint, full discussion delayed until ksummit/plumbers
+Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch
%if !%{nopatches}
@@ -516,46 +526,51 @@ Source5005: kbuild-AFTER_LINK.patch
# a tempory patch for QCOM hardware enablement. Will be gone by end of 2016/F-26 GA
Patch420: qcom-QDF2432-tmp-errata.patch
-# http://www.spinics.net/lists/arm-kernel/msg490981.html
-Patch421: geekbox-v4-device-tree-support.patch
-
# http://www.spinics.net/lists/linux-tegra/msg26029.html
Patch422: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
# Fix OMAP4 (pandaboard)
Patch423: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch
-# Not particularly happy we don't yet have a proper upstream resolution this is the right direction
-# https://www.spinics.net/lists/arm-kernel/msg535191.html
-Patch424: arm64-mm-Fix-memmap-to-be-initialized-for-the-entire-section.patch
-
# http://patchwork.ozlabs.org/patch/587554/
Patch425: ARM-tegra-usb-no-reset.patch
-Patch426: AllWinner-net-emac.patch
+Patch426: AllWinner-h3.patch
+Patch427: AllWinner-net-emac.patch
+
+# http://www.spinics.net/lists/linux-bluetooth/msg70169.html
+# https://www.spinics.net/lists/devicetree/msg170619.html
+Patch428: ti-bluetooth.patch
-Patch427: xgene_enet-remove-bogus-forward-declarations.patch
-Patch428: xgene-Fix-crash-on-DT-systems.patch
+Patch429: arm64-hikey-fixes.patch
# http://www.spinics.net/lists/devicetree/msg163238.html
Patch430: bcm2837-initial-support.patch
-# http://www.spinics.net/lists/linux-mmc/msg41151.html
-Patch431: bcm283x-mmc-imp-speed.patch
-
-Patch432: bcm283x-VEC.patch
+Patch431: arm-rk3288-tinker.patch
# http://www.spinics.net/lists/dri-devel/msg132235.html
Patch433: drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch
+# bcm283x mmc for wifi http://www.spinics.net/lists/arm-kernel/msg567077.html
+Patch434: bcm283x-mmc-bcm2835.patch
+
# Upstream fixes for i2c/serial/ethernet MAC addresses
Patch435: bcm283x-fixes.patch
+# https://lists.freedesktop.org/archives/dri-devel/2017-February/133823.html
Patch436: vc4-fix-vblank-cursor-update-issue.patch
-# http://www.spinics.net/lists/arm-kernel/msg552554.html
+Patch437: bcm283x-hdmi-audio.patch
+
+# https://www.spinics.net/lists/arm-kernel/msg554183.html
Patch438: arm-imx6-hummingboard2.patch
+# https://lkml.org/lkml/2017/4/4/316
+Patch339: media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
+
+Patch440: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
+
Patch460: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
Patch466: input-kill-stupid-messages.patch
@@ -610,13 +625,14 @@ Patch509: MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch
#CVE-2016-3134 rhbz 1317383 1317384
Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch
-#ongoing complaint, full discussion delayed until ksummit/plumbers
-Patch849: 0001-iio-Use-event-header-from-kernel-tree.patch
+#rhbz 1435154
+Patch666: powerpc-prom-Increase-RMA-size-to-512MB.patch
-# selinux: allow context mounts on tmpfs, ramfs, devpts within user namespaces
-Patch852: selinux-allow-context-mounts-on-tmpfs-etc.patch
+# CVE-2017-7645 rhbz 1443615 1443617
+Patch667: CVE-2017-7645.patch
-Patch861: 0001-efi-libstub-Treat-missing-SecureBoot-variable-as-Sec.patch
+# CVE-2017-7477 rhbz 1445207 1445208
+Patch668: CVE-2017-7477.patch
#rhbz 1436686
Patch864: dell-laptop-Adds-support-for-keyboard-backlight-timeout-AC-settings.patch
@@ -628,6 +644,18 @@ Patch865: 0001-ipx-call-ipxitf_put-in-ioctl-error-path.patch
Patch866: 0001-SUNRPC-Refactor-svc_set_num_threads.patch
Patch867: 0002-NFSv4-Fix-callback-server-shutdown.patch
+#CVE-2017-8890 rhbz 1450972
+Patch868: 0001-dccp-tcp-do-not-inherit-mc_list-from-parent.patch
+
+#CVE-2017-9074 rhbz 1452679
+Patch869: 0001-ipv6-Prevent-overrun-when-parsing-v6-header-options.patch
+
+#CVE-2017-9075 rhbz 1452691
+Patch870: 0001-sctp-do-not-inherit-ipv6_-mc-ac-fl-_list-from-parent.patch
+
+#CVE-2017-9076 CVE-2017-9077 rhbz 1452688 1452744
+Patch871: 0001-ipv6-dccp-do-not-inherit-ipv6_mc_list-from-parent.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1230,18 +1258,13 @@ do
done
%endif
-# The kbuild-AFTER_LINK patch is needed regardless so we list it as a Source
-# file and apply it separately from the rest.
-git am %{SOURCE5005}
-
-%if !%{nopatches}
+# Note: Even in the "nopatches" path some patches (build tweaks and compile
+# fixes) will always get applied; see patch defition above for details
git am %{patches}
# END OF PATCH APPLICATIONS
-%endif
-
# Any further pre-build tree manipulations happen here.
chmod +x scripts/checkpatch.pl
@@ -2200,6 +2223,14 @@ fi
#
#
%changelog
+* Mon May 22 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.2-200
+- Linux v4.11.2
+
+* Mon May 22 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.17-200
+- Linux v4.10.17
+- Fix CVE-2017-8890 CVE-2017-9074 CVE-2017-9075 CVE-2017-9076 CVE-2017-9077
+ (rhbz 1452688 1450972 1452679 1452691 1452688 1452744)
+
* Thu May 18 2017 Justin M. Forbes <jforbes@fedoraproject.org>
- Fix CVE-2017-9059 (rhbz 1451386 1451996)
diff --git a/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch b/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
new file mode 100644
index 000000000..7a29d72bf
--- /dev/null
+++ b/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
@@ -0,0 +1,45 @@
+From patchwork Tue Apr 4 12:32:19 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [2/2, media] cec: Fix runtime BUG when (CONFIG_RC_CORE && !CEC_CAP_RC)
+From: Lee Jones <lee.jones@linaro.org>
+X-Patchwork-Id: 9661691
+Message-Id: <20170404123219.22040-2-lee.jones@linaro.org>
+To: hans.verkuil@cisco.com,
+ mchehab@kernel.org
+Cc: benjamin.gaignard@st.com, patrice.chotard@st.com,
+ linux-kernel@vger.kernel.org, kernel@stlinux.com,
+ Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org,
+ linux-media@vger.kernel.org
+Date: Tue, 4 Apr 2017 13:32:19 +0100
+
+Currently when the RC Core is enabled (reachable) core code located
+in cec_register_adapter() attempts to populate the RC structure with
+a pointer to the 'parent' passed in by the caller.
+
+Unfortunately if the caller did not specify RC capibility when calling
+cec_allocate_adapter(), then there will be no RC structure to populate.
+
+This causes a "NULL pointer dereference" error.
+
+Fixes: f51e80804f0 ("[media] cec: pass parent device in register(), not allocate()")
+Signed-off-by: Lee Jones <lee.jones@linaro.org>
+---
+ drivers/media/cec/cec-core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/media/cec/cec-core.c b/drivers/media/cec/cec-core.c
+index 06a312c..d64937b 100644
+--- a/drivers/media/cec/cec-core.c
++++ b/drivers/media/cec/cec-core.c
+@@ -286,8 +286,8 @@ int cec_register_adapter(struct cec_adapter *adap,
+ adap->devnode.dev.parent = parent;
+
+ #if IS_REACHABLE(CONFIG_RC_CORE)
+- adap->rc->dev.parent = parent;
+ if (adap->capabilities & CEC_CAP_RC) {
++ adap->rc->dev.parent = parent;
+ res = rc_register_device(adap->rc);
+
+ if (res) {
diff --git a/powerpc-prom-Increase-RMA-size-to-512MB.patch b/powerpc-prom-Increase-RMA-size-to-512MB.patch
new file mode 100644
index 000000000..422f0a9ec
--- /dev/null
+++ b/powerpc-prom-Increase-RMA-size-to-512MB.patch
@@ -0,0 +1,52 @@
+From patchwork Thu Mar 30 04:03:49 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: powerpc/prom: Increase RMA size to 512MB
+From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+X-Patchwork-Id: 745044
+Message-Id: <20170330040349.GA31756@us.ibm.com>
+To: Michael Ellerman <mpe@ellerman.id.au>
+Cc: praveen.pandey@in.ibm.com, linuxppc-dev@lists.ozlabs.org,
+ linux-kernel@vger.kernel.org
+Date: Wed, 29 Mar 2017 21:03:49 -0700
+
+>From 3ae8d1ed31b01b92b172fe20e4560cfbfab135ec Mon Sep 17 00:00:00 2001
+From: root <root@furatripa-lp2.aus.stglabs.ibm.com>
+Date: Mon, 27 Mar 2017 19:43:14 -0400
+Subject: [PATCH] powerpc/prom: Increase RMA size to 512MB
+
+When booting very large systems with a large initrd, we run out of
+space for either the RTAS or the flattened device tree (FDT). Boot
+fails with messages like:
+
+ Could not allocate memory for RTAS
+or
+ No memory for flatten_device_tree (no room)
+
+Increasing the minimum RMA size to 512MB fixes the problem. This
+should not have an impact on smaller LPARs (with 256MB memory),
+as the firmware will cap the RMA to the memory assigned to the LPAR.
+
+Fix is based on input/discussions with Michael Ellerman. Thanks to
+Praveen K. Pandey for testing on a large system.
+
+Reported-by: Praveen K. Pandey <preveen.pandey@in.ibm.com>
+Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+---
+ arch/powerpc/kernel/prom_init.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
+index 1c1b44e..dd8a04f 100644
+--- a/arch/powerpc/kernel/prom_init.c
++++ b/arch/powerpc/kernel/prom_init.c
+@@ -815,7 +815,7 @@ struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = {
+ .virt_base = cpu_to_be32(0xffffffff),
+ .virt_size = cpu_to_be32(0xffffffff),
+ .load_base = cpu_to_be32(0xffffffff),
+- .min_rma = cpu_to_be32(256), /* 256MB min RMA */
++ .min_rma = cpu_to_be32(512), /* 512MB min RMA */
+ .min_load = cpu_to_be32(0xffffffff), /* full client load */
+ .min_rma_percent = 0, /* min RMA percentage of total RAM */
+ .max_pft_size = 48, /* max log_2(hash table size) */
diff --git a/selinux-allow-context-mounts-on-tmpfs-etc.patch b/selinux-allow-context-mounts-on-tmpfs-etc.patch
deleted file mode 100644
index cbb5b8cdf..000000000
--- a/selinux-allow-context-mounts-on-tmpfs-etc.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 01593d3299a1cfdb5e08acf95f63ec59dd674906 Mon Sep 17 00:00:00 2001
-From: Stephen Smalley <sds@tycho.nsa.gov>
-Date: Mon, 9 Jan 2017 10:07:31 -0500
-Subject: [PATCH] selinux: allow context mounts on tmpfs, ramfs, devpts within
- user namespaces
-
-commit aad82892af261b9903cc11c55be3ecf5f0b0b4f8 ("selinux: Add support for
-unprivileged mounts from user namespaces") prohibited any use of context
-mount options within non-init user namespaces. However, this breaks
-use of context mount options for tmpfs mounts within user namespaces,
-which are being used by Docker/runc. There is no reason to block such
-usage for tmpfs, ramfs or devpts. Exempt these filesystem types
-from this restriction.
-
-Before:
-sh$ userns_child_exec -p -m -U -M '0 1000 1' -G '0 1000 1' bash
-sh# mount -t tmpfs -o context=system_u:object_r:user_tmp_t:s0:c13 none /tmp
-mount: tmpfs is write-protected, mounting read-only
-mount: cannot mount tmpfs read-only
-
-After:
-sh$ userns_child_exec -p -m -U -M '0 1000 1' -G '0 1000 1' bash
-sh# mount -t tmpfs -o context=system_u:object_r:user_tmp_t:s0:c13 none /tmp
-sh# ls -Zd /tmp
-unconfined_u:object_r:user_tmp_t:s0:c13 /tmp
-
-Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
-Signed-off-by: Paul Moore <paul@paul-moore.com>
----
- security/selinux/hooks.c | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
-index e4b953f..e32f4b5 100644
---- a/security/selinux/hooks.c
-+++ b/security/selinux/hooks.c
-@@ -834,10 +834,14 @@ static int selinux_set_mnt_opts(struct super_block *sb,
- }
-
- /*
-- * If this is a user namespace mount, no contexts are allowed
-- * on the command line and security labels must be ignored.
-+ * If this is a user namespace mount and the filesystem type is not
-+ * explicitly whitelisted, then no contexts are allowed on the command
-+ * line and security labels must be ignored.
- */
-- if (sb->s_user_ns != &init_user_ns) {
-+ if (sb->s_user_ns != &init_user_ns &&
-+ strcmp(sb->s_type->name, "tmpfs") &&
-+ strcmp(sb->s_type->name, "ramfs") &&
-+ strcmp(sb->s_type->name, "devpts")) {
- if (context_sid || fscontext_sid || rootcontext_sid ||
- defcontext_sid) {
- rc = -EACCES;
---
-2.9.3
-
diff --git a/sources b/sources
index 296b822c5..389b57d00 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (linux-4.10.tar.xz) = c3690125a8402df638095bd98a613fcf1a257b81de7611c84711d315cd11e2634ab4636302b3742aedf1e3ba9ce0fea53fe8c7d48e37865d8ee5db3565220d90
-SHA512 (perf-man-4.10.tar.gz) = 2c830e06f47211d70a8330961487af73a8bc01073019475e6b6131d3bb8c95658b77ca0ae5f1b44371accf103658bc5a3a4366b3e017a4088a8fd408dd6867e8
-SHA512 (patch-4.10.16.xz) = 636a7e81490d3053be3e6a042ce6f861308669de57988611cd2f6a7541491a3f0cf0ababa27a229e39105f3a60c2044f64ef61bab6d8ebcd68bb1275a7eed83c
+SHA512 (perf-man-4.11.tar.gz) = 0b070d2f10a743329de2f532e2d7e19ef385a3e6ef3c700b591ae2697604dbe542b36e31121b3e37517ee8071ab800386fa8663c24a5b36520a18e096c6eefc8
+SHA512 (linux-4.11.tar.xz) = 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3
+SHA512 (patch-4.11.2.xz) = e090598bb339f04a92febe9c03317b76e51f67c2e3bfebaddb97177b19a2c195332477333be29e9f46483ff937fc85fd63fea1bb4ae18dec0fbe5bc1738afbcb
diff --git a/ti-bluetooth.patch b/ti-bluetooth.patch
new file mode 100644
index 000000000..288eb7c94
--- /dev/null
+++ b/ti-bluetooth.patch
@@ -0,0 +1,2480 @@
+From patchwork Sat Aug 13 03:14:32 2016
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [RFC,1/7] tty: serial: omap: add UPF_BOOT_AUTOCONF flag for DT init
+From: Sebastian Reichel <sre@kernel.org>
+X-Patchwork-Id: 9278297
+Message-Id: <1471058078-5579-2-git-send-email-sre@kernel.org>
+To: Sebastian Reichel <sre@kernel.org>, Tony Lindgren <tony@atomide.com>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Marcel Holtmann <marcel@holtmann.org>,
+ Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
+ Jiri Slaby <jslaby@suse.com>
+Cc: Ville Tervo <ville.tervo@iki.fi>,
+ =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>,
+ Aaro Koskinen <aaro.koskinen@iki.fi>, Pavel Machek <pavel@ucw.cz>,
+ =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali.rohar@gmail.com>,
+ ivo.g.dimitrov.75@gmail.com, linux-bluetooth@vger.kernel.org,
+ linux-serial@vger.kernel.org, linux-omap@vger.kernel.org,
+ devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
+Date: Sat, 13 Aug 2016 05:14:32 +0200
+
+---
+ drivers/tty/serial/omap-serial.c | 3 +++
+ 1 file changed, 3 insertions(+)
+Acked-by: Pavel Machek <pavel@ucw.cz>
+
+diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
+index a2a529994ba5..7c2c77789c2c 100644
+--- a/drivers/tty/serial/omap-serial.c
++++ b/drivers/tty/serial/omap-serial.c
+@@ -1542,6 +1542,9 @@ static struct omap_uart_port_info *of_get_uart_port_info(struct device *dev)
+
+ of_property_read_u32(dev->of_node, "clock-frequency",
+ &omap_up_info->uartclk);
++
++ omap_up_info->flags = UPF_BOOT_AUTOCONF;
++
+ return omap_up_info;
+ }
+
+From 6102245c5711e73b83ad79ab0f2c3ec040262a87 Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:31 +0200
+Subject: [PATCH 01/13] serdev: add serdev_device_wait_until_sent
+
+Add method, which waits until the transmission buffer has been sent.
+Note, that the change in ttyport_write_wakeup is related, since
+tty_wait_until_sent will hang without that change.
+
+Acked-by: Rob Herring <robh@kernel.org>
+Acked-by: Pavel Machek <pavel@ucw.cz>
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ drivers/tty/serdev/core.c | 11 +++++++++++
+ drivers/tty/serdev/serdev-ttyport.c | 18 ++++++++++++++----
+ include/linux/serdev.h | 3 +++
+ 3 files changed, 28 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
+index f4c6c90add78..a63b74031e22 100644
+--- a/drivers/tty/serdev/core.c
++++ b/drivers/tty/serdev/core.c
+@@ -173,6 +173,17 @@ void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable)
+ }
+ EXPORT_SYMBOL_GPL(serdev_device_set_flow_control);
+
++void serdev_device_wait_until_sent(struct serdev_device *serdev, long timeout)
++{
++ struct serdev_controller *ctrl = serdev->ctrl;
++
++ if (!ctrl || !ctrl->ops->wait_until_sent)
++ return;
++
++ ctrl->ops->wait_until_sent(ctrl, timeout);
++}
++EXPORT_SYMBOL_GPL(serdev_device_wait_until_sent);
++
+ static int serdev_drv_probe(struct device *dev)
+ {
+ const struct serdev_device_driver *sdrv = to_serdev_device_driver(dev->driver);
+diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c
+index d05393594f15..50dc75c4d204 100644
+--- a/drivers/tty/serdev/serdev-ttyport.c
++++ b/drivers/tty/serdev/serdev-ttyport.c
+@@ -14,6 +14,7 @@
+ #include <linux/serdev.h>
+ #include <linux/tty.h>
+ #include <linux/tty_driver.h>
++#include <linux/poll.h>
+
+ #define SERPORT_ACTIVE 1
+
+@@ -46,11 +47,11 @@ static void ttyport_write_wakeup(struct tty_port *port)
+ struct serdev_controller *ctrl = port->client_data;
+ struct serport *serport = serdev_controller_get_drvdata(ctrl);
+
+- if (!test_and_clear_bit(TTY_DO_WRITE_WAKEUP, &port->tty->flags))
+- return;
+-
+- if (test_bit(SERPORT_ACTIVE, &serport->flags))
++ if (test_and_clear_bit(TTY_DO_WRITE_WAKEUP, &port->tty->flags) &&
++ test_bit(SERPORT_ACTIVE, &serport->flags))
+ serdev_controller_write_wakeup(ctrl);
++
++ wake_up_interruptible_poll(&port->tty->write_wait, POLLOUT);
+ }
+
+ static const struct tty_port_client_operations client_ops = {
+@@ -167,6 +168,14 @@ static void ttyport_set_flow_control(struct serdev_controller *ctrl, bool enable
+ tty_set_termios(tty, &ktermios);
+ }
+
++static void ttyport_wait_until_sent(struct serdev_controller *ctrl, long timeout)
++{
++ struct serport *serport = serdev_controller_get_drvdata(ctrl);
++ struct tty_struct *tty = serport->tty;
++
++ tty_wait_until_sent(tty, timeout);
++}
++
+ static const struct serdev_controller_ops ctrl_ops = {
+ .write_buf = ttyport_write_buf,
+ .write_flush = ttyport_write_flush,
+@@ -175,6 +184,7 @@ static const struct serdev_controller_ops ctrl_ops = {
+ .close = ttyport_close,
+ .set_flow_control = ttyport_set_flow_control,
+ .set_baudrate = ttyport_set_baudrate,
++ .wait_until_sent = ttyport_wait_until_sent,
+ };
+
+ struct device *serdev_tty_port_register(struct tty_port *port,
+diff --git a/include/linux/serdev.h b/include/linux/serdev.h
+index 9519da6253a8..a308b206d204 100644
+--- a/include/linux/serdev.h
++++ b/include/linux/serdev.h
+@@ -81,6 +81,7 @@ struct serdev_controller_ops {
+ void (*close)(struct serdev_controller *);
+ void (*set_flow_control)(struct serdev_controller *, bool);
+ unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int);
++ void (*wait_until_sent)(struct serdev_controller *, long);
+ };
+
+ /**
+@@ -186,6 +187,7 @@ int serdev_device_open(struct serdev_device *);
+ void serdev_device_close(struct serdev_device *);
+ unsigned int serdev_device_set_baudrate(struct serdev_device *, unsigned int);
+ void serdev_device_set_flow_control(struct serdev_device *, bool);
++void serdev_device_wait_until_sent(struct serdev_device *, long);
+ int serdev_device_write_buf(struct serdev_device *, const unsigned char *, size_t);
+ void serdev_device_write_flush(struct serdev_device *);
+ int serdev_device_write_room(struct serdev_device *);
+@@ -223,6 +225,7 @@ static inline unsigned int serdev_device_set_baudrate(struct serdev_device *sdev
+ return 0;
+ }
+ static inline void serdev_device_set_flow_control(struct serdev_device *sdev, bool enable) {}
++static inline void serdev_device_wait_until_sent(struct serdev_device *sdev, long timeout) {}
+ static inline int serdev_device_write_buf(struct serdev_device *sdev, const unsigned char *buf, size_t count)
+ {
+ return -ENODEV;
+--
+2.12.2
+
+From 6e1713b03eab6f42251bad76ab05e7e1aa28b199 Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:32 +0200
+Subject: [PATCH 02/13] serdev: implement get/set tiocm
+
+Add method for getting and setting tiocm.
+
+Acked-by: Pavel Machek <pavel@ucw.cz>
+Acked-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ drivers/tty/serdev/core.c | 22 ++++++++++++++++++++++
+ drivers/tty/serdev/serdev-ttyport.c | 24 ++++++++++++++++++++++++
+ include/linux/serdev.h | 13 +++++++++++++
+ 3 files changed, 59 insertions(+)
+
+diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
+index a63b74031e22..1e1cbae3a0ea 100644
+--- a/drivers/tty/serdev/core.c
++++ b/drivers/tty/serdev/core.c
+@@ -184,6 +184,28 @@ void serdev_device_wait_until_sent(struct serdev_device *serdev, long timeout)
+ }
+ EXPORT_SYMBOL_GPL(serdev_device_wait_until_sent);
+
++int serdev_device_get_tiocm(struct serdev_device *serdev)
++{
++ struct serdev_controller *ctrl = serdev->ctrl;
++
++ if (!ctrl || !ctrl->ops->get_tiocm)
++ return -ENOTSUPP;
++
++ return ctrl->ops->get_tiocm(ctrl);
++}
++EXPORT_SYMBOL_GPL(serdev_device_get_tiocm);
++
++int serdev_device_set_tiocm(struct serdev_device *serdev, int set, int clear)
++{
++ struct serdev_controller *ctrl = serdev->ctrl;
++
++ if (!ctrl || !ctrl->ops->set_tiocm)
++ return -ENOTSUPP;
++
++ return ctrl->ops->set_tiocm(ctrl, set, clear);
++}
++EXPORT_SYMBOL_GPL(serdev_device_set_tiocm);
++
+ static int serdev_drv_probe(struct device *dev)
+ {
+ const struct serdev_device_driver *sdrv = to_serdev_device_driver(dev->driver);
+diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c
+index 50dc75c4d204..487c88f6aa0e 100644
+--- a/drivers/tty/serdev/serdev-ttyport.c
++++ b/drivers/tty/serdev/serdev-ttyport.c
+@@ -176,6 +176,28 @@ static void ttyport_wait_until_sent(struct serdev_controller *ctrl, long timeout
+ tty_wait_until_sent(tty, timeout);
+ }
+
++static int ttyport_get_tiocm(struct serdev_controller *ctrl)
++{
++ struct serport *serport = serdev_controller_get_drvdata(ctrl);
++ struct tty_struct *tty = serport->tty;
++
++ if (!tty->ops->tiocmget)
++ return -ENOTSUPP;
++
++ return tty->driver->ops->tiocmget(tty);
++}
++
++static int ttyport_set_tiocm(struct serdev_controller *ctrl, unsigned int set, unsigned int clear)
++{
++ struct serport *serport = serdev_controller_get_drvdata(ctrl);
++ struct tty_struct *tty = serport->tty;
++
++ if (!tty->ops->tiocmset)
++ return -ENOTSUPP;
++
++ return tty->driver->ops->tiocmset(tty, set, clear);
++}
++
+ static const struct serdev_controller_ops ctrl_ops = {
+ .write_buf = ttyport_write_buf,
+ .write_flush = ttyport_write_flush,
+@@ -185,6 +207,8 @@ static const struct serdev_controller_ops ctrl_ops = {
+ .set_flow_control = ttyport_set_flow_control,
+ .set_baudrate = ttyport_set_baudrate,
+ .wait_until_sent = ttyport_wait_until_sent,
++ .get_tiocm = ttyport_get_tiocm,
++ .set_tiocm = ttyport_set_tiocm,
+ };
+
+ struct device *serdev_tty_port_register(struct tty_port *port,
+diff --git a/include/linux/serdev.h b/include/linux/serdev.h
+index a308b206d204..e29a270f603c 100644
+--- a/include/linux/serdev.h
++++ b/include/linux/serdev.h
+@@ -15,6 +15,7 @@
+
+ #include <linux/types.h>
+ #include <linux/device.h>
++#include <linux/termios.h>
+
+ struct serdev_controller;
+ struct serdev_device;
+@@ -82,6 +83,8 @@ struct serdev_controller_ops {
+ void (*set_flow_control)(struct serdev_controller *, bool);
+ unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int);
+ void (*wait_until_sent)(struct serdev_controller *, long);
++ int (*get_tiocm)(struct serdev_controller *);
++ int (*set_tiocm)(struct serdev_controller *, unsigned int, unsigned int);
+ };
+
+ /**
+@@ -188,6 +191,8 @@ void serdev_device_close(struct serdev_device *);
+ unsigned int serdev_device_set_baudrate(struct serdev_device *, unsigned int);
+ void serdev_device_set_flow_control(struct serdev_device *, bool);
+ void serdev_device_wait_until_sent(struct serdev_device *, long);
++int serdev_device_get_tiocm(struct serdev_device *);
++int serdev_device_set_tiocm(struct serdev_device *, int, int);
+ int serdev_device_write_buf(struct serdev_device *, const unsigned char *, size_t);
+ void serdev_device_write_flush(struct serdev_device *);
+ int serdev_device_write_room(struct serdev_device *);
+@@ -226,6 +231,14 @@ static inline unsigned int serdev_device_set_baudrate(struct serdev_device *sdev
+ }
+ static inline void serdev_device_set_flow_control(struct serdev_device *sdev, bool enable) {}
+ static inline void serdev_device_wait_until_sent(struct serdev_device *sdev, long timeout) {}
++static inline int serdev_device_get_tiocm(struct serdev_device *serdev)
++{
++ return -ENOTSUPP;
++}
++static inline int serdev_device_set_tiocm(struct serdev_device *serdev, int set, int clear)
++{
++ return -ENOTSUPP;
++}
+ static inline int serdev_device_write_buf(struct serdev_device *sdev, const unsigned char *buf, size_t count)
+ {
+ return -ENODEV;
+--
+2.12.2
+
+From 9425a7e94dba6d5585c542c50f253f8fbf764a81 Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:33 +0200
+Subject: [PATCH 03/13] serdev: add helpers for cts and rts handling
+
+Add serdev helper functions for handling of cts and rts
+lines using the serdev's tiocm functions.
+
+Acked-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ include/linux/serdev.h | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+diff --git a/include/linux/serdev.h b/include/linux/serdev.h
+index e29a270f603c..37395b8eb8f1 100644
+--- a/include/linux/serdev.h
++++ b/include/linux/serdev.h
+@@ -16,6 +16,7 @@
+ #include <linux/types.h>
+ #include <linux/device.h>
+ #include <linux/termios.h>
++#include <linux/delay.h>
+
+ struct serdev_controller;
+ struct serdev_device;
+@@ -254,6 +255,36 @@ static inline int serdev_device_write_room(struct serdev_device *sdev)
+
+ #endif /* CONFIG_SERIAL_DEV_BUS */
+
++static inline bool serdev_device_get_cts(struct serdev_device *serdev)
++{
++ int status = serdev_device_get_tiocm(serdev);
++ return !!(status & TIOCM_CTS);
++}
++
++static inline int serdev_device_wait_for_cts(struct serdev_device *serdev, bool state, int timeout_ms)
++{
++ unsigned long timeout;
++ bool signal;
++
++ timeout = jiffies + msecs_to_jiffies(timeout_ms);
++ while (time_is_after_jiffies(timeout)) {
++ signal = serdev_device_get_cts(serdev);
++ if (signal == state)
++ return 0;
++ usleep_range(1000, 2000);
++ }
++
++ return -ETIMEDOUT;
++}
++
++static inline int serdev_device_set_rts(struct serdev_device *serdev, bool enable)
++{
++ if (enable)
++ return serdev_device_set_tiocm(serdev, TIOCM_RTS, 0);
++ else
++ return serdev_device_set_tiocm(serdev, 0, TIOCM_RTS);
++}
++
+ /*
+ * serdev hooks into TTY core
+ */
+--
+2.12.2
+
+From 8656be75e893514bac2aa817f1c1b35e8dbd9e5b Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:34 +0200
+Subject: [PATCH 04/13] Bluetooth: hci_uart: add support for word alignment
+
+This will be used by Nokia's H4+ protocol, which
+uses 2-byte aligned packets.
+
+Acked-by: Pavel Machek <pavel@ucw.cz>
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ drivers/bluetooth/hci_h4.c | 17 +++++++++++++++++
+ drivers/bluetooth/hci_ldisc.c | 4 ++++
+ drivers/bluetooth/hci_uart.h | 3 +++
+ 3 files changed, 24 insertions(+)
+
+diff --git a/drivers/bluetooth/hci_h4.c b/drivers/bluetooth/hci_h4.c
+index 635597b6e168..82e5a32b87a4 100644
+--- a/drivers/bluetooth/hci_h4.c
++++ b/drivers/bluetooth/hci_h4.c
+@@ -171,9 +171,20 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,
+ const unsigned char *buffer, int count,
+ const struct h4_recv_pkt *pkts, int pkts_count)
+ {
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++ u8 alignment = hu->alignment;
++
+ while (count) {
+ int i, len;
+
++ /* remove padding bytes from buffer */
++ for (; hu->padding && count > 0; hu->padding--) {
++ count--;
++ buffer++;
++ }
++ if (!count)
++ break;
++
+ if (!skb) {
+ for (i = 0; i < pkts_count; i++) {
+ if (buffer[0] != (&pkts[i])->type)
+@@ -253,11 +264,17 @@ struct sk_buff *h4_recv_buf(struct hci_dev *hdev, struct sk_buff *skb,
+ }
+
+ if (!dlen) {
++ hu->padding = (skb->len - 1) % alignment;
++ hu->padding = (alignment - hu->padding) % alignment;
++
+ /* No more data, complete frame */
+ (&pkts[i])->recv(hdev, skb);
+ skb = NULL;
+ }
+ } else {
++ hu->padding = (skb->len - 1) % alignment;
++ hu->padding = (alignment - hu->padding) % alignment;
++
+ /* Complete frame */
+ (&pkts[i])->recv(hdev, skb);
+ skb = NULL;
+diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
+index 9497c469efd2..0ec8a94bd712 100644
+--- a/drivers/bluetooth/hci_ldisc.c
++++ b/drivers/bluetooth/hci_ldisc.c
+@@ -459,6 +459,10 @@ static int hci_uart_tty_open(struct tty_struct *tty)
+ hu->tty = tty;
+ tty->receive_room = 65536;
+
++ /* disable alignment support by default */
++ hu->alignment = 1;
++ hu->padding = 0;
++
+ INIT_WORK(&hu->init_ready, hci_uart_init_work);
+ INIT_WORK(&hu->write_work, hci_uart_write_work);
+
+diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h
+index 070139513e65..4aff50960cac 100644
+--- a/drivers/bluetooth/hci_uart.h
++++ b/drivers/bluetooth/hci_uart.h
+@@ -92,6 +92,9 @@ struct hci_uart {
+
+ unsigned int init_speed;
+ unsigned int oper_speed;
++
++ u8 alignment;
++ u8 padding;
+ };
+
+ /* HCI_UART proto flag bits */
+--
+2.12.2
+
+From f2d830b35ce8c834eaa895ff29c461455024f05e Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:35 +0200
+Subject: [PATCH 05/13] Bluetooth: hci_uart: add serdev driver support library
+
+This adds library functions for serdev based BT drivers. This is largely
+copied from hci_ldisc.c and modified to use serdev calls. There's a little
+bit of duplication, but I avoided intermixing this as the ldisc code should
+eventually go away.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+Cc: Marcel Holtmann <marcel@holtmann.org>
+Cc: Gustavo Padovan <gustavo@padovan.org>
+Cc: Johan Hedberg <johan.hedberg@gmail.com>
+Cc: linux-bluetooth@vger.kernel.org
+Acked-by: Pavel Machek <pavel@ucw.cz>
+[Fix style issues reported by Pavel]
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ drivers/bluetooth/Makefile | 1 +
+ drivers/bluetooth/hci_serdev.c | 361 +++++++++++++++++++++++++++++++++++++++++
+ drivers/bluetooth/hci_uart.h | 4 +
+ 3 files changed, 366 insertions(+)
+ create mode 100644 drivers/bluetooth/hci_serdev.c
+
+diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile
+index 80627187c8b6..fd571689eed6 100644
+--- a/drivers/bluetooth/Makefile
++++ b/drivers/bluetooth/Makefile
+@@ -29,6 +29,7 @@ btmrvl-y := btmrvl_main.o
+ btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o
+
+ hci_uart-y := hci_ldisc.o
++hci_uart-$(CONFIG_SERIAL_DEV_BUS) += hci_serdev.o
+ hci_uart-$(CONFIG_BT_HCIUART_H4) += hci_h4.o
+ hci_uart-$(CONFIG_BT_HCIUART_BCSP) += hci_bcsp.o
+ hci_uart-$(CONFIG_BT_HCIUART_LL) += hci_ll.o
+diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c
+new file mode 100644
+index 000000000000..f5ccb2c7ef92
+--- /dev/null
++++ b/drivers/bluetooth/hci_serdev.c
+@@ -0,0 +1,361 @@
++/*
++ * Bluetooth HCI serdev driver lib
++ *
++ * Copyright (C) 2017 Linaro, Ltd., Rob Herring <robh@kernel.org>
++ *
++ * Based on hci_ldisc.c:
++ *
++ * Copyright (C) 2000-2001 Qualcomm Incorporated
++ * Copyright (C) 2002-2003 Maxim Krasnyansky <maxk@qualcomm.com>
++ * Copyright (C) 2004-2005 Marcel Holtmann <marcel@holtmann.org>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ */
++
++#include <linux/kernel.h>
++#include <linux/types.h>
++#include <linux/serdev.h>
++#include <linux/skbuff.h>
++
++#include <net/bluetooth/bluetooth.h>
++#include <net/bluetooth/hci_core.h>
++
++#include "hci_uart.h"
++
++struct serdev_device_ops hci_serdev_client_ops;
++
++static inline void hci_uart_tx_complete(struct hci_uart *hu, int pkt_type)
++{
++ struct hci_dev *hdev = hu->hdev;
++
++ /* Update HCI stat counters */
++ switch (pkt_type) {
++ case HCI_COMMAND_PKT:
++ hdev->stat.cmd_tx++;
++ break;
++
++ case HCI_ACLDATA_PKT:
++ hdev->stat.acl_tx++;
++ break;
++
++ case HCI_SCODATA_PKT:
++ hdev->stat.sco_tx++;
++ break;
++ }
++}
++
++static inline struct sk_buff *hci_uart_dequeue(struct hci_uart *hu)
++{
++ struct sk_buff *skb = hu->tx_skb;
++
++ if (!skb)
++ skb = hu->proto->dequeue(hu);
++ else
++ hu->tx_skb = NULL;
++
++ return skb;
++}
++
++static void hci_uart_write_work(struct work_struct *work)
++{
++ struct hci_uart *hu = container_of(work, struct hci_uart, write_work);
++ struct serdev_device *serdev = hu->serdev;
++ struct hci_dev *hdev = hu->hdev;
++ struct sk_buff *skb;
++
++ /* REVISIT:
++ * should we cope with bad skbs or ->write() returning an error value?
++ */
++ do {
++ clear_bit(HCI_UART_TX_WAKEUP, &hu->tx_state);
++
++ while ((skb = hci_uart_dequeue(hu))) {
++ int len;
++
++ len = serdev_device_write_buf(serdev,
++ skb->data, skb->len);
++ hdev->stat.byte_tx += len;
++
++ skb_pull(skb, len);
++ if (skb->len) {
++ hu->tx_skb = skb;
++ break;
++ }
++
++ hci_uart_tx_complete(hu, hci_skb_pkt_type(skb));
++ kfree_skb(skb);
++ }
++ } while(test_bit(HCI_UART_TX_WAKEUP, &hu->tx_state));
++
++ clear_bit(HCI_UART_SENDING, &hu->tx_state);
++}
++
++/* ------- Interface to HCI layer ------ */
++
++/* Initialize device */
++static int hci_uart_open(struct hci_dev *hdev)
++{
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++
++ BT_DBG("%s %p", hdev->name, hdev);
++
++ serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops);
++
++ return serdev_device_open(hu->serdev);
++}
++
++/* Reset device */
++static int hci_uart_flush(struct hci_dev *hdev)
++{
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++
++ BT_DBG("hdev %p serdev %p", hdev, hu->serdev);
++
++ if (hu->tx_skb) {
++ kfree_skb(hu->tx_skb); hu->tx_skb = NULL;
++ }
++
++ /* Flush any pending characters in the driver and discipline. */
++ serdev_device_write_flush(hu->serdev);
++
++ if (test_bit(HCI_UART_PROTO_READY, &hu->flags))
++ hu->proto->flush(hu);
++
++ return 0;
++}
++
++/* Close device */
++static int hci_uart_close(struct hci_dev *hdev)
++{
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++
++ BT_DBG("hdev %p", hdev);
++
++ hci_uart_flush(hdev);
++ hdev->flush = NULL;
++
++ serdev_device_close(hu->serdev);
++
++ return 0;
++}
++
++/* Send frames from HCI layer */
++static int hci_uart_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
++{
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++
++ BT_DBG("%s: type %d len %d", hdev->name, hci_skb_pkt_type(skb),
++ skb->len);
++
++ hu->proto->enqueue(hu, skb);
++
++ hci_uart_tx_wakeup(hu);
++
++ return 0;
++}
++
++static int hci_uart_setup(struct hci_dev *hdev)
++{
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++ struct hci_rp_read_local_version *ver;
++ struct sk_buff *skb;
++ unsigned int speed;
++ int err;
++
++ /* Init speed if any */
++ if (hu->init_speed)
++ speed = hu->init_speed;
++ else if (hu->proto->init_speed)
++ speed = hu->proto->init_speed;
++ else
++ speed = 0;
++
++ if (speed)
++ serdev_device_set_baudrate(hu->serdev, speed);
++
++ /* Operational speed if any */
++ if (hu->oper_speed)
++ speed = hu->oper_speed;
++ else if (hu->proto->oper_speed)
++ speed = hu->proto->oper_speed;
++ else
++ speed = 0;
++
++ if (hu->proto->set_baudrate && speed) {
++ err = hu->proto->set_baudrate(hu, speed);
++ if (err)
++ BT_ERR("%s: failed to set baudrate", hdev->name);
++ else
++ serdev_device_set_baudrate(hu->serdev, speed);
++ }
++
++ if (hu->proto->setup)
++ return hu->proto->setup(hu);
++
++ if (!test_bit(HCI_UART_VND_DETECT, &hu->hdev_flags))
++ return 0;
++
++ skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL,
++ HCI_INIT_TIMEOUT);
++ if (IS_ERR(skb)) {
++ BT_ERR("%s: Reading local version information failed (%ld)",
++ hdev->name, PTR_ERR(skb));
++ return 0;
++ }
++
++ if (skb->len != sizeof(*ver)) {
++ BT_ERR("%s: Event length mismatch for version information",
++ hdev->name);
++ }
++
++ kfree_skb(skb);
++ return 0;
++}
++
++/** hci_uart_write_wakeup - transmit buffer wakeup
++ * @serdev: serial device
++ *
++ * This function is called by the serdev framework when it accepts
++ * more data being sent.
++ */
++static void hci_uart_write_wakeup(struct serdev_device *serdev)
++{
++ struct hci_uart *hu = serdev_device_get_drvdata(serdev);
++
++ BT_DBG("");
++
++ if (!hu || serdev != hu->serdev) {
++ WARN_ON(1);
++ return;
++ }
++
++ if (test_bit(HCI_UART_PROTO_READY, &hu->flags))
++ hci_uart_tx_wakeup(hu);
++}
++
++/** hci_uart_receive_buf - receive buffer wakeup
++ * @serdev: serial device
++ * @data: pointer to received data
++ * @count: count of received data in bytes
++ *
++ * This function is called by the serdev framework when it received data
++ * in the RX buffer.
++ *
++ * Return: number of processed bytes
++ */
++static int hci_uart_receive_buf(struct serdev_device *serdev, const u8 *data,
++ size_t count)
++{
++ struct hci_uart *hu = serdev_device_get_drvdata(serdev);
++
++ if (!hu || serdev != hu->serdev) {
++ WARN_ON(1);
++ return 0;
++ }
++
++ if (!test_bit(HCI_UART_PROTO_READY, &hu->flags))
++ return 0;
++
++ /* It does not need a lock here as it is already protected by a mutex in
++ * tty caller
++ */
++ hu->proto->recv(hu, data, count);
++
++ if (hu->hdev)
++ hu->hdev->stat.byte_rx += count;
++
++ return count;
++}
++
++struct serdev_device_ops hci_serdev_client_ops = {
++ .receive_buf = hci_uart_receive_buf,
++ .write_wakeup = hci_uart_write_wakeup,
++};
++
++int hci_uart_register_device(struct hci_uart *hu,
++ const struct hci_uart_proto *p)
++{
++ int err;
++ struct hci_dev *hdev;
++
++ BT_DBG("");
++
++ err = p->open(hu);
++ if (err)
++ return err;
++
++ hu->proto = p;
++ set_bit(HCI_UART_PROTO_READY, &hu->flags);
++
++ /* Initialize and register HCI device */
++ hdev = hci_alloc_dev();
++ if (!hdev) {
++ BT_ERR("Can't allocate HCI device");
++ err = -ENOMEM;
++ goto err_alloc;
++ }
++
++ hu->hdev = hdev;
++
++ hdev->bus = HCI_UART;
++ hci_set_drvdata(hdev, hu);
++
++ INIT_WORK(&hu->write_work, hci_uart_write_work);
++
++ /* Only when vendor specific setup callback is provided, consider
++ * the manufacturer information valid. This avoids filling in the
++ * value for Ericsson when nothing is specified.
++ */
++ if (hu->proto->setup)
++ hdev->manufacturer = hu->proto->manufacturer;
++
++ hdev->open = hci_uart_open;
++ hdev->close = hci_uart_close;
++ hdev->flush = hci_uart_flush;
++ hdev->send = hci_uart_send_frame;
++ hdev->setup = hci_uart_setup;
++ SET_HCIDEV_DEV(hdev, &hu->serdev->dev);
++
++ if (test_bit(HCI_UART_RAW_DEVICE, &hu->hdev_flags))
++ set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks);
++
++ if (test_bit(HCI_UART_EXT_CONFIG, &hu->hdev_flags))
++ set_bit(HCI_QUIRK_EXTERNAL_CONFIG, &hdev->quirks);
++
++ if (!test_bit(HCI_UART_RESET_ON_INIT, &hu->hdev_flags))
++ set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks);
++
++ if (test_bit(HCI_UART_CREATE_AMP, &hu->hdev_flags))
++ hdev->dev_type = HCI_AMP;
++ else
++ hdev->dev_type = HCI_PRIMARY;
++
++ if (test_bit(HCI_UART_INIT_PENDING, &hu->hdev_flags))
++ return 0;
++
++ if (hci_register_dev(hdev) < 0) {
++ BT_ERR("Can't register HCI device");
++ err = -ENODEV;
++ goto err_register;
++ }
++
++ set_bit(HCI_UART_REGISTERED, &hu->flags);
++
++ return 0;
++
++err_register:
++ hci_free_dev(hdev);
++err_alloc:
++ clear_bit(HCI_UART_PROTO_READY, &hu->flags);
++ p->close(hu);
++ return err;
++}
+diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h
+index 4aff50960cac..1b41c661bbb8 100644
+--- a/drivers/bluetooth/hci_uart.h
++++ b/drivers/bluetooth/hci_uart.h
+@@ -58,6 +58,7 @@
+ #define HCI_UART_VND_DETECT 5
+
+ struct hci_uart;
++struct serdev_device;
+
+ struct hci_uart_proto {
+ unsigned int id;
+@@ -77,6 +78,7 @@ struct hci_uart_proto {
+
+ struct hci_uart {
+ struct tty_struct *tty;
++ struct serdev_device *serdev;
+ struct hci_dev *hdev;
+ unsigned long flags;
+ unsigned long hdev_flags;
+@@ -108,6 +110,8 @@ struct hci_uart {
+
+ int hci_uart_register_proto(const struct hci_uart_proto *p);
+ int hci_uart_unregister_proto(const struct hci_uart_proto *p);
++int hci_uart_register_device(struct hci_uart *hu, const struct hci_uart_proto *p);
++
+ int hci_uart_tx_wakeup(struct hci_uart *hu);
+ int hci_uart_init_ready(struct hci_uart *hu);
+ void hci_uart_init_tty(struct hci_uart *hu);
+--
+2.12.2
+
+From c76b6c5106713b00e183ccb757bc15732d369a33 Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:36 +0200
+Subject: [PATCH 06/13] Bluetooth: hci_serdev: do not open device in hci open
+
+The device driver may need to communicate with the UART
+device while the Bluetooth device is closed (e.g. due
+to interrupts).
+
+Acked-by: Pavel Machek <pavel@ucw.cz>
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ drivers/bluetooth/hci_serdev.c | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c
+index f5ccb2c7ef92..3b8ac0ece3fb 100644
+--- a/drivers/bluetooth/hci_serdev.c
++++ b/drivers/bluetooth/hci_serdev.c
+@@ -104,13 +104,9 @@ static void hci_uart_write_work(struct work_struct *work)
+ /* Initialize device */
+ static int hci_uart_open(struct hci_dev *hdev)
+ {
+- struct hci_uart *hu = hci_get_drvdata(hdev);
+-
+ BT_DBG("%s %p", hdev->name, hdev);
+
+- serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops);
+-
+- return serdev_device_open(hu->serdev);
++ return 0;
+ }
+
+ /* Reset device */
+@@ -136,15 +132,11 @@ static int hci_uart_flush(struct hci_dev *hdev)
+ /* Close device */
+ static int hci_uart_close(struct hci_dev *hdev)
+ {
+- struct hci_uart *hu = hci_get_drvdata(hdev);
+-
+ BT_DBG("hdev %p", hdev);
+
+ hci_uart_flush(hdev);
+ hdev->flush = NULL;
+
+- serdev_device_close(hu->serdev);
+-
+ return 0;
+ }
+
+@@ -289,6 +281,8 @@ int hci_uart_register_device(struct hci_uart *hu,
+
+ BT_DBG("");
+
++ serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops);
++
+ err = p->open(hu);
+ if (err)
+ return err;
+--
+2.12.2
+
+From 7fe8800d90c5e0f614e72c475687a68a76592241 Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:37 +0200
+Subject: [PATCH 07/13] Bluetooth: hci_serdev: allow modular drivers
+
+For bluetooth protocol driver only supporting serdev it makes
+sense to follow common practice and built them into their own
+module.
+
+Such modules need access to hci_uart_register_device and
+hci_uart_tx_wakeup for using the common protocol helpers.
+
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ drivers/bluetooth/hci_ldisc.c | 1 +
+ drivers/bluetooth/hci_serdev.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
+index 0ec8a94bd712..17bcbc13623f 100644
+--- a/drivers/bluetooth/hci_ldisc.c
++++ b/drivers/bluetooth/hci_ldisc.c
+@@ -134,6 +134,7 @@ int hci_uart_tx_wakeup(struct hci_uart *hu)
+
+ return 0;
+ }
++EXPORT_SYMBOL_GPL(hci_uart_tx_wakeup);
+
+ static void hci_uart_write_work(struct work_struct *work)
+ {
+diff --git a/drivers/bluetooth/hci_serdev.c b/drivers/bluetooth/hci_serdev.c
+index 3b8ac0ece3fb..7de0edc0ff8c 100644
+--- a/drivers/bluetooth/hci_serdev.c
++++ b/drivers/bluetooth/hci_serdev.c
+@@ -353,3 +353,4 @@ int hci_uart_register_device(struct hci_uart *hu,
+ p->close(hu);
+ return err;
+ }
++EXPORT_SYMBOL_GPL(hci_uart_register_device);
+--
+2.12.2
+
+From 68bfebdd86741d45508148c6fa13b5bd21116c7e Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:38 +0200
+Subject: [PATCH 08/13] dt-bindings: net: bluetooth: Add nokia-bluetooth
+
+Add binding document for serial bluetooth chips using
+Nokia H4+ protocol.
+
+Acked-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+
+Changes since PATCHv1:
+ * change compatible strings
+ * mention active high/low state for GPIOs
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ .../devicetree/bindings/net/nokia-bluetooth.txt | 51 ++++++++++++++++++++++
+ 1 file changed, 51 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/net/nokia-bluetooth.txt
+
+diff --git a/Documentation/devicetree/bindings/net/nokia-bluetooth.txt b/Documentation/devicetree/bindings/net/nokia-bluetooth.txt
+new file mode 100644
+index 000000000000..42be7dc9a70b
+--- /dev/null
++++ b/Documentation/devicetree/bindings/net/nokia-bluetooth.txt
+@@ -0,0 +1,51 @@
++Nokia Bluetooth Chips
++---------------------
++
++Nokia phones often come with UART connected bluetooth chips from different
++vendors and modified device API. Those devices speak a protocol named H4+
++(also known as h4p) by Nokia, which is similar to the H4 protocol from the
++Bluetooth standard. In addition to the H4 protocol it specifies two more
++UART status lines for wakeup of UART transceivers to improve power management
++and a few new packet types used to negotiate uart speed.
++
++Required properties:
++
++ - compatible: should contain "nokia,h4p-bluetooth" as well as one of the following:
++ * "brcm,bcm2048-nokia"
++ * "ti,wl1271-bluetooth-nokia"
++ - reset-gpios: GPIO specifier, used to reset the BT module (active low)
++ - bluetooth-wakeup-gpios: GPIO specifier, used to wakeup the BT module (active high)
++ - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor (active high)
++ - clock-names: should be "sysclk"
++ - clocks: should contain a clock specifier for every name in clock-names
++
++Optional properties:
++
++ - None
++
++Example:
++
++/ {
++ /* controlled (enabled/disabled) directly by BT module */
++ bluetooth_clk: vctcxo {
++ compatible = "fixed-clock";
++ #clock-cells = <0>;
++ clock-frequency = <38400000>;
++ };
++};
++
++&uart2 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart2_pins>;
++
++ bluetooth {
++ compatible = "ti,wl1271-bluetooth-nokia", "nokia,h4p-bluetooth";
++
++ reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; /* gpio26 */
++ host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* gpio101 */
++ bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* gpio37 */
++
++ clocks = <&bluetooth_clk>;
++ clock-names = "sysclk";
++ };
++};
+--
+2.12.2
+
+From 90753299ed56ee7c5807c09b2185094a91a2cbbe Mon Sep 17 00:00:00 2001
+From: Sebastian Reichel <sre@kernel.org>
+Date: Tue, 28 Mar 2017 17:59:39 +0200
+Subject: [PATCH 09/13] Bluetooth: add nokia driver
+
+This adds a driver for the Nokia H4+ protocol, which is used
+at least on the Nokia N9, N900 & N950.
+
+Signed-off-by: Sebastian Reichel <sre@kernel.org>
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ drivers/bluetooth/Kconfig | 12 +
+ drivers/bluetooth/Makefile | 2 +
+ drivers/bluetooth/hci_nokia.c | 819 ++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 833 insertions(+)
+ create mode 100644 drivers/bluetooth/hci_nokia.c
+
+diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
+index 08e054507d0b..479e2eacd1aa 100644
+--- a/drivers/bluetooth/Kconfig
++++ b/drivers/bluetooth/Kconfig
+@@ -86,6 +86,18 @@ config BT_HCIUART_H4
+
+ Say Y here to compile support for HCI UART (H4) protocol.
+
++config BT_HCIUART_NOKIA
++ tristate "UART Nokia H4+ protocol support"
++ depends on BT_HCIUART
++ depends on SERIAL_DEV_BUS
++ depends on PM
++ help
++ Nokia H4+ is serial protocol for communication between Bluetooth
++ device and host. This protocol is required for Bluetooth devices
++ with UART interface in Nokia devices.
++
++ Say Y here to compile support for Nokia's H4+ protocol.
++
+ config BT_HCIUART_BCSP
+ bool "BCSP protocol support"
+ depends on BT_HCIUART
+diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile
+index fd571689eed6..a7f237320f4b 100644
+--- a/drivers/bluetooth/Makefile
++++ b/drivers/bluetooth/Makefile
+@@ -25,6 +25,8 @@ obj-$(CONFIG_BT_BCM) += btbcm.o
+ obj-$(CONFIG_BT_RTL) += btrtl.o
+ obj-$(CONFIG_BT_QCA) += btqca.o
+
++obj-$(CONFIG_BT_HCIUART_NOKIA) += hci_nokia.o
++
+ btmrvl-y := btmrvl_main.o
+ btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o
+
+diff --git a/drivers/bluetooth/hci_nokia.c b/drivers/bluetooth/hci_nokia.c
+new file mode 100644
+index 000000000000..c77f04af01bf
+--- /dev/null
++++ b/drivers/bluetooth/hci_nokia.c
+@@ -0,0 +1,819 @@
++/*
++ * Bluetooth HCI UART H4 driver with Nokia Extensions AKA Nokia H4+
++ *
++ * Copyright (C) 2015 Marcel Holtmann <marcel@holtmann.org>
++ * Copyright (C) 2015-2017 Sebastian Reichel <sre@kernel.org>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ */
++
++#include <linux/module.h>
++#include <linux/clk.h>
++#include <linux/kernel.h>
++#include <linux/types.h>
++#include <linux/interrupt.h>
++#include <linux/pm_runtime.h>
++#include <linux/firmware.h>
++#include <linux/slab.h>
++#include <linux/string.h>
++#include <linux/errno.h>
++#include <linux/skbuff.h>
++#include <linux/gpio/consumer.h>
++#include <linux/unaligned/le_struct.h>
++#include <net/bluetooth/bluetooth.h>
++#include <net/bluetooth/hci_core.h>
++#include <linux/serdev.h>
++
++#include "hci_uart.h"
++#include "btbcm.h"
++
++#define NOKIA_ID_BCM2048 0x04
++#define NOKIA_ID_TI1271 0x31
++
++#define FIRMWARE_BCM2048 "nokia/bcmfw.bin"
++#define FIRMWARE_TI1271 "nokia/ti1273.bin"
++
++#define HCI_NOKIA_NEG_PKT 0x06
++#define HCI_NOKIA_ALIVE_PKT 0x07
++#define HCI_NOKIA_RADIO_PKT 0x08
++
++#define HCI_NOKIA_NEG_HDR_SIZE 1
++#define HCI_NOKIA_MAX_NEG_SIZE 255
++#define HCI_NOKIA_ALIVE_HDR_SIZE 1
++#define HCI_NOKIA_MAX_ALIVE_SIZE 255
++#define HCI_NOKIA_RADIO_HDR_SIZE 2
++#define HCI_NOKIA_MAX_RADIO_SIZE 255
++
++#define NOKIA_PROTO_PKT 0x44
++#define NOKIA_PROTO_BYTE 0x4c
++
++#define NOKIA_NEG_REQ 0x00
++#define NOKIA_NEG_ACK 0x20
++#define NOKIA_NEG_NAK 0x40
++
++#define H4_TYPE_SIZE 1
++
++#define NOKIA_RECV_ALIVE \
++ .type = HCI_NOKIA_ALIVE_PKT, \
++ .hlen = HCI_NOKIA_ALIVE_HDR_SIZE, \
++ .loff = 0, \
++ .lsize = 1, \
++ .maxlen = HCI_NOKIA_MAX_ALIVE_SIZE \
++
++#define NOKIA_RECV_NEG \
++ .type = HCI_NOKIA_NEG_PKT, \
++ .hlen = HCI_NOKIA_NEG_HDR_SIZE, \
++ .loff = 0, \
++ .lsize = 1, \
++ .maxlen = HCI_NOKIA_MAX_NEG_SIZE \
++
++#define NOKIA_RECV_RADIO \
++ .type = HCI_NOKIA_RADIO_PKT, \
++ .hlen = HCI_NOKIA_RADIO_HDR_SIZE, \
++ .loff = 1, \
++ .lsize = 1, \
++ .maxlen = HCI_NOKIA_MAX_RADIO_SIZE \
++
++struct hci_nokia_neg_hdr {
++ u8 dlen;
++} __packed;
++
++struct hci_nokia_neg_cmd {
++ u8 ack;
++ u16 baud;
++ u16 unused1;
++ u8 proto;
++ u16 sys_clk;
++ u16 unused2;
++} __packed;
++
++#define NOKIA_ALIVE_REQ 0x55
++#define NOKIA_ALIVE_RESP 0xcc
++
++struct hci_nokia_alive_hdr {
++ u8 dlen;
++} __packed;
++
++struct hci_nokia_alive_pkt {
++ u8 mid;
++ u8 unused;
++} __packed;
++
++struct hci_nokia_neg_evt {
++ u8 ack;
++ u16 baud;
++ u16 unused1;
++ u8 proto;
++ u16 sys_clk;
++ u16 unused2;
++ u8 man_id;
++ u8 ver_id;
++} __packed;
++
++#define MAX_BAUD_RATE 3692300
++#define SETUP_BAUD_RATE 921600
++#define INIT_BAUD_RATE 120000
++
++struct hci_nokia_radio_hdr {
++ u8 evt;
++ u8 dlen;
++} __packed;
++
++struct nokia_bt_dev {
++ struct hci_uart hu;
++ struct serdev_device *serdev;
++
++ struct gpio_desc *reset;
++ struct gpio_desc *wakeup_host;
++ struct gpio_desc *wakeup_bt;
++ unsigned long sysclk_speed;
++
++ int wake_irq;
++ struct sk_buff *rx_skb;
++ struct sk_buff_head txq;
++ bdaddr_t bdaddr;
++
++ int init_error;
++ struct completion init_completion;
++
++ u8 man_id;
++ u8 ver_id;
++
++ bool initialized;
++ bool tx_enabled;
++ bool rx_enabled;
++};
++
++static int nokia_enqueue(struct hci_uart *hu, struct sk_buff *skb);
++
++static void nokia_flow_control(struct serdev_device *serdev, bool enable)
++{
++ if (enable) {
++ serdev_device_set_rts(serdev, true);
++ serdev_device_set_flow_control(serdev, true);
++ } else {
++ serdev_device_set_flow_control(serdev, false);
++ serdev_device_set_rts(serdev, false);
++ }
++}
++
++static irqreturn_t wakeup_handler(int irq, void *data)
++{
++ struct nokia_bt_dev *btdev = data;
++ struct device *dev = &btdev->serdev->dev;
++ int wake_state = gpiod_get_value(btdev->wakeup_host);
++
++ if (btdev->rx_enabled == wake_state)
++ return IRQ_HANDLED;
++
++ if (wake_state)
++ pm_runtime_get(dev);
++ else
++ pm_runtime_put(dev);
++
++ btdev->rx_enabled = wake_state;
++
++ return IRQ_HANDLED;
++}
++
++static int nokia_reset(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ int err;
++
++ /* reset routine */
++ gpiod_set_value_cansleep(btdev->reset, 1);
++ gpiod_set_value_cansleep(btdev->wakeup_bt, 1);
++
++ msleep(100);
++
++ /* safety check */
++ err = gpiod_get_value_cansleep(btdev->wakeup_host);
++ if (err == 1) {
++ dev_err(dev, "reset: host wakeup not low!");
++ return -EPROTO;
++ }
++
++ /* flush queue */
++ serdev_device_write_flush(btdev->serdev);
++
++ /* init uart */
++ nokia_flow_control(btdev->serdev, false);
++ serdev_device_set_baudrate(btdev->serdev, INIT_BAUD_RATE);
++
++ gpiod_set_value_cansleep(btdev->reset, 0);
++
++ /* wait for cts */
++ err = serdev_device_wait_for_cts(btdev->serdev, true, 200);
++ if (err < 0) {
++ dev_err(dev, "CTS not received: %d", err);
++ return err;
++ }
++
++ nokia_flow_control(btdev->serdev, true);
++
++ return 0;
++}
++
++static int nokia_send_alive_packet(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ struct hci_nokia_alive_hdr *hdr;
++ struct hci_nokia_alive_pkt *pkt;
++ struct sk_buff *skb;
++ int len;
++
++ init_completion(&btdev->init_completion);
++
++ len = H4_TYPE_SIZE + sizeof(*hdr) + sizeof(*pkt);
++ skb = bt_skb_alloc(len, GFP_KERNEL);
++ if (!skb)
++ return -ENOMEM;
++
++ hci_skb_pkt_type(skb) = HCI_NOKIA_ALIVE_PKT;
++ memset(skb->data, 0x00, len);
++
++ hdr = (struct hci_nokia_alive_hdr *)skb_put(skb, sizeof(*hdr));
++ hdr->dlen = sizeof(*pkt);
++ pkt = (struct hci_nokia_alive_pkt *)skb_put(skb, sizeof(*pkt));
++ pkt->mid = NOKIA_ALIVE_REQ;
++
++ nokia_enqueue(hu, skb);
++ hci_uart_tx_wakeup(hu);
++
++ dev_dbg(dev, "Alive sent");
++
++ if (!wait_for_completion_interruptible_timeout(&btdev->init_completion,
++ msecs_to_jiffies(1000))) {
++ return -ETIMEDOUT;
++ }
++
++ if (btdev->init_error < 0)
++ return btdev->init_error;
++
++ return 0;
++}
++
++static int nokia_send_negotiation(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ struct hci_nokia_neg_cmd *neg_cmd;
++ struct hci_nokia_neg_hdr *neg_hdr;
++ struct sk_buff *skb;
++ int len, err;
++ u16 baud = DIV_ROUND_CLOSEST(btdev->sysclk_speed * 10, SETUP_BAUD_RATE);
++ int sysclk = btdev->sysclk_speed / 1000;
++
++ len = H4_TYPE_SIZE + sizeof(*neg_hdr) + sizeof(*neg_cmd);
++ skb = bt_skb_alloc(len, GFP_KERNEL);
++ if (!skb)
++ return -ENOMEM;
++
++ hci_skb_pkt_type(skb) = HCI_NOKIA_NEG_PKT;
++
++ neg_hdr = (struct hci_nokia_neg_hdr *)skb_put(skb, sizeof(*neg_hdr));
++ neg_hdr->dlen = sizeof(*neg_cmd);
++
++ neg_cmd = (struct hci_nokia_neg_cmd *)skb_put(skb, sizeof(*neg_cmd));
++ neg_cmd->ack = NOKIA_NEG_REQ;
++ neg_cmd->baud = cpu_to_le16(baud);
++ neg_cmd->unused1 = 0x0000;
++ neg_cmd->proto = NOKIA_PROTO_BYTE;
++ neg_cmd->sys_clk = cpu_to_le16(sysclk);
++ neg_cmd->unused2 = 0x0000;
++
++ btdev->init_error = 0;
++ init_completion(&btdev->init_completion);
++
++ nokia_enqueue(hu, skb);
++ hci_uart_tx_wakeup(hu);
++
++ dev_dbg(dev, "Negotiation sent");
++
++ if (!wait_for_completion_interruptible_timeout(&btdev->init_completion,
++ msecs_to_jiffies(10000))) {
++ return -ETIMEDOUT;
++ }
++
++ if (btdev->init_error < 0)
++ return btdev->init_error;
++
++ /* Change to previously negotiated speed. Flow Control
++ * is disabled until bluetooth adapter is ready to avoid
++ * broken bytes being received.
++ */
++ nokia_flow_control(btdev->serdev, false);
++ serdev_device_set_baudrate(btdev->serdev, SETUP_BAUD_RATE);
++ err = serdev_device_wait_for_cts(btdev->serdev, true, 200);
++ if (err < 0) {
++ dev_err(dev, "CTS not received: %d", err);
++ return err;
++ }
++ nokia_flow_control(btdev->serdev, true);
++
++ dev_dbg(dev, "Negotiation successful");
++
++ return 0;
++}
++
++static int nokia_setup_fw(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ const char *fwname;
++ const struct firmware *fw;
++ const u8 *fw_ptr;
++ size_t fw_size;
++ int err;
++
++ dev_dbg(dev, "setup firmware");
++
++ if (btdev->man_id == NOKIA_ID_BCM2048) {
++ fwname = FIRMWARE_BCM2048;
++ } else if (btdev->man_id == NOKIA_ID_TI1271) {
++ fwname = FIRMWARE_TI1271;
++ } else {
++ dev_err(dev, "Unsupported bluetooth device!");
++ return -ENODEV;
++ }
++
++ err = request_firmware(&fw, fwname, dev);
++ if (err < 0) {
++ dev_err(dev, "%s: Failed to load Nokia firmware file (%d)",
++ hu->hdev->name, err);
++ return err;
++ }
++
++ fw_ptr = fw->data;
++ fw_size = fw->size;
++
++ while (fw_size >= 4) {
++ u16 pkt_size = get_unaligned_le16(fw_ptr);
++ u8 pkt_type = fw_ptr[2];
++ const struct hci_command_hdr *cmd;
++ u16 opcode;
++ struct sk_buff *skb;
++
++ switch (pkt_type) {
++ case HCI_COMMAND_PKT:
++ cmd = (struct hci_command_hdr *)(fw_ptr + 3);
++ opcode = le16_to_cpu(cmd->opcode);
++
++ skb = __hci_cmd_sync(hu->hdev, opcode, cmd->plen,
++ fw_ptr + 3 + HCI_COMMAND_HDR_SIZE,
++ HCI_INIT_TIMEOUT);
++ if (IS_ERR(skb)) {
++ err = PTR_ERR(skb);
++ dev_err(dev, "%s: FW command %04x failed (%d)",
++ hu->hdev->name, opcode, err);
++ goto done;
++ }
++ kfree_skb(skb);
++ break;
++ case HCI_NOKIA_RADIO_PKT:
++ case HCI_NOKIA_NEG_PKT:
++ case HCI_NOKIA_ALIVE_PKT:
++ break;
++ }
++
++ fw_ptr += pkt_size + 2;
++ fw_size -= pkt_size + 2;
++ }
++
++done:
++ release_firmware(fw);
++ return err;
++}
++
++static int nokia_setup(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ int err;
++
++ btdev->initialized = false;
++
++ nokia_flow_control(btdev->serdev, false);
++
++ pm_runtime_get_sync(dev);
++
++ if (btdev->tx_enabled) {
++ gpiod_set_value_cansleep(btdev->wakeup_bt, 0);
++ pm_runtime_put(&btdev->serdev->dev);
++ btdev->tx_enabled = false;
++ }
++
++ dev_dbg(dev, "protocol setup");
++
++ /* 0. reset connection */
++ err = nokia_reset(hu);
++ if (err < 0) {
++ dev_err(dev, "Reset failed: %d", err);
++ goto out;
++ }
++
++ /* 1. negotiate speed etc */
++ err = nokia_send_negotiation(hu);
++ if (err < 0) {
++ dev_err(dev, "Negotiation failed: %d", err);
++ goto out;
++ }
++
++ /* 2. verify correct setup using alive packet */
++ err = nokia_send_alive_packet(hu);
++ if (err < 0) {
++ dev_err(dev, "Alive check failed: %d", err);
++ goto out;
++ }
++
++ /* 3. send firmware */
++ err = nokia_setup_fw(hu);
++ if (err < 0) {
++ dev_err(dev, "Could not setup FW: %d", err);
++ goto out;
++ }
++
++ nokia_flow_control(btdev->serdev, false);
++ serdev_device_set_baudrate(btdev->serdev, MAX_BAUD_RATE);
++ nokia_flow_control(btdev->serdev, true);
++
++ if (btdev->man_id == NOKIA_ID_BCM2048) {
++ hu->hdev->set_bdaddr = btbcm_set_bdaddr;
++ set_bit(HCI_QUIRK_INVALID_BDADDR, &hu->hdev->quirks);
++ dev_dbg(dev, "bcm2048 has invalid bluetooth address!");
++ }
++
++ dev_dbg(dev, "protocol setup done!");
++
++ gpiod_set_value_cansleep(btdev->wakeup_bt, 0);
++ pm_runtime_put(dev);
++ btdev->tx_enabled = false;
++ btdev->initialized = true;
++
++ return 0;
++out:
++ pm_runtime_put(dev);
++
++ return err;
++}
++
++static int nokia_open(struct hci_uart *hu)
++{
++ struct device *dev = &hu->serdev->dev;
++
++ dev_dbg(dev, "protocol open");
++
++ serdev_device_open(hu->serdev);
++
++ pm_runtime_enable(dev);
++
++ return 0;
++}
++
++static int nokia_flush(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++
++ dev_dbg(&btdev->serdev->dev, "flush device");
++
++ skb_queue_purge(&btdev->txq);
++
++ return 0;
++}
++
++static int nokia_close(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++
++ dev_dbg(dev, "close device");
++
++ btdev->initialized = false;
++
++ skb_queue_purge(&btdev->txq);
++
++ kfree_skb(btdev->rx_skb);
++
++ /* disable module */
++ gpiod_set_value(btdev->reset, 1);
++ gpiod_set_value(btdev->wakeup_bt, 0);
++
++ pm_runtime_disable(&btdev->serdev->dev);
++ serdev_device_close(btdev->serdev);
++
++ return 0;
++}
++
++/* Enqueue frame for transmittion (padding, crc, etc) */
++static int nokia_enqueue(struct hci_uart *hu, struct sk_buff *skb)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ int err;
++
++ /* Prepend skb with frame type */
++ memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1);
++
++ /* Packets must be word aligned */
++ if (skb->len % 2) {
++ err = skb_pad(skb, 1);
++ if (err)
++ return err;
++ *skb_put(skb, 1) = 0x00;
++ }
++
++ skb_queue_tail(&btdev->txq, skb);
++
++ return 0;
++}
++
++static int nokia_recv_negotiation_packet(struct hci_dev *hdev,
++ struct sk_buff *skb)
++{
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ struct hci_nokia_neg_hdr *hdr;
++ struct hci_nokia_neg_evt *evt;
++ int ret = 0;
++
++ hdr = (struct hci_nokia_neg_hdr *)skb->data;
++ if (hdr->dlen != sizeof(*evt)) {
++ btdev->init_error = -EIO;
++ ret = -EIO;
++ goto finish_neg;
++ }
++
++ evt = (struct hci_nokia_neg_evt *)skb_pull(skb, sizeof(*hdr));
++
++ if (evt->ack != NOKIA_NEG_ACK) {
++ dev_err(dev, "Negotiation received: wrong reply");
++ btdev->init_error = -EINVAL;
++ ret = -EINVAL;
++ goto finish_neg;
++ }
++
++ btdev->man_id = evt->man_id;
++ btdev->ver_id = evt->ver_id;
++
++ dev_dbg(dev, "Negotiation received: baud=%u:clk=%u:manu=%u:vers=%u",
++ evt->baud, evt->sys_clk, evt->man_id, evt->ver_id);
++
++finish_neg:
++ complete(&btdev->init_completion);
++ kfree_skb(skb);
++ return ret;
++}
++
++static int nokia_recv_alive_packet(struct hci_dev *hdev, struct sk_buff *skb)
++{
++ struct hci_uart *hu = hci_get_drvdata(hdev);
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ struct hci_nokia_alive_hdr *hdr;
++ struct hci_nokia_alive_pkt *pkt;
++ int ret = 0;
++
++ hdr = (struct hci_nokia_alive_hdr *)skb->data;
++ if (hdr->dlen != sizeof(*pkt)) {
++ dev_err(dev, "Corrupted alive message");
++ btdev->init_error = -EIO;
++ ret = -EIO;
++ goto finish_alive;
++ }
++
++ pkt = (struct hci_nokia_alive_pkt *)skb_pull(skb, sizeof(*hdr));
++
++ if (pkt->mid != NOKIA_ALIVE_RESP) {
++ dev_err(dev, "Alive received: invalid response: 0x%02x!",
++ pkt->mid);
++ btdev->init_error = -EINVAL;
++ ret = -EINVAL;
++ goto finish_alive;
++ }
++
++ dev_dbg(dev, "Alive received");
++
++finish_alive:
++ complete(&btdev->init_completion);
++ kfree_skb(skb);
++ return ret;
++}
++
++static int nokia_recv_radio(struct hci_dev *hdev, struct sk_buff *skb)
++{
++ /* Packets received on the dedicated radio channel are
++ * HCI events and so feed them back into the core.
++ */
++ hci_skb_pkt_type(skb) = HCI_EVENT_PKT;
++ return hci_recv_frame(hdev, skb);
++}
++
++/* Recv data */
++static const struct h4_recv_pkt nokia_recv_pkts[] = {
++ { H4_RECV_ACL, .recv = hci_recv_frame },
++ { H4_RECV_SCO, .recv = hci_recv_frame },
++ { H4_RECV_EVENT, .recv = hci_recv_frame },
++ { NOKIA_RECV_ALIVE, .recv = nokia_recv_alive_packet },
++ { NOKIA_RECV_NEG, .recv = nokia_recv_negotiation_packet },
++ { NOKIA_RECV_RADIO, .recv = nokia_recv_radio },
++};
++
++static int nokia_recv(struct hci_uart *hu, const void *data, int count)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ int err;
++
++ if (!test_bit(HCI_UART_REGISTERED, &hu->flags))
++ return -EUNATCH;
++
++ btdev->rx_skb = h4_recv_buf(hu->hdev, btdev->rx_skb, data, count,
++ nokia_recv_pkts, ARRAY_SIZE(nokia_recv_pkts));
++ if (IS_ERR(btdev->rx_skb)) {
++ err = PTR_ERR(btdev->rx_skb);
++ dev_err(dev, "Frame reassembly failed (%d)", err);
++ btdev->rx_skb = NULL;
++ return err;
++ }
++
++ return count;
++}
++
++static struct sk_buff *nokia_dequeue(struct hci_uart *hu)
++{
++ struct nokia_bt_dev *btdev = hu->priv;
++ struct device *dev = &btdev->serdev->dev;
++ struct sk_buff *result = skb_dequeue(&btdev->txq);
++
++ if (!btdev->initialized)
++ return result;
++
++ if (btdev->tx_enabled == !!result)
++ return result;
++
++ if (result) {
++ pm_runtime_get_sync(dev);
++ gpiod_set_value_cansleep(btdev->wakeup_bt, 1);
++ } else {
++ serdev_device_wait_until_sent(btdev->serdev, 0);
++ gpiod_set_value_cansleep(btdev->wakeup_bt, 0);
++ pm_runtime_put(dev);
++ }
++
++ btdev->tx_enabled = !!result;
++
++ return result;
++}
++
++static const struct hci_uart_proto nokia_proto = {
++ .id = HCI_UART_NOKIA,
++ .name = "Nokia",
++ .open = nokia_open,
++ .close = nokia_close,
++ .recv = nokia_recv,
++ .enqueue = nokia_enqueue,
++ .dequeue = nokia_dequeue,
++ .flush = nokia_flush,
++ .setup = nokia_setup,
++ .manufacturer = 1,
++};
++
++static int nokia_bluetooth_serdev_probe(struct serdev_device *serdev)
++{
++ struct device *dev = &serdev->dev;
++ struct nokia_bt_dev *btdev;
++ struct clk *sysclk;
++ int err = 0;
++
++ btdev = devm_kzalloc(dev, sizeof(*btdev), GFP_KERNEL);
++ if (!btdev)
++ return -ENOMEM;
++
++ btdev->hu.serdev = btdev->serdev = serdev;
++ serdev_device_set_drvdata(serdev, btdev);
++
++ btdev->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
++ if (IS_ERR(btdev->reset)) {
++ err = PTR_ERR(btdev->reset);
++ dev_err(dev, "could not get reset gpio: %d", err);
++ return err;
++ }
++
++ btdev->wakeup_host = devm_gpiod_get(dev, "host-wakeup", GPIOD_IN);
++ if (IS_ERR(btdev->wakeup_host)) {
++ err = PTR_ERR(btdev->wakeup_host);
++ dev_err(dev, "could not get host wakeup gpio: %d", err);
++ return err;
++ }
++
++ btdev->wake_irq = gpiod_to_irq(btdev->wakeup_host);
++
++ err = devm_request_threaded_irq(dev, btdev->wake_irq, NULL,
++ wakeup_handler,
++ IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
++ "wakeup", btdev);
++ if (err) {
++ dev_err(dev, "could request wakeup irq: %d", err);
++ return err;
++ }
++
++ btdev->wakeup_bt = devm_gpiod_get(dev, "bluetooth-wakeup",
++ GPIOD_OUT_LOW);
++ if (IS_ERR(btdev->wakeup_bt)) {
++ err = PTR_ERR(btdev->wakeup_bt);
++ dev_err(dev, "could not get BT wakeup gpio: %d", err);
++ return err;
++ }
++
++ sysclk = devm_clk_get(dev, "sysclk");
++ if (IS_ERR(sysclk)) {
++ err = PTR_ERR(sysclk);
++ dev_err(dev, "could not get sysclk: %d", err);
++ return err;
++ }
++
++ clk_prepare_enable(sysclk);
++ btdev->sysclk_speed = clk_get_rate(sysclk);
++ clk_disable_unprepare(sysclk);
++
++ skb_queue_head_init(&btdev->txq);
++
++ btdev->hu.priv = btdev;
++ btdev->hu.alignment = 2; /* Nokia H4+ is word aligned */
++
++ err = hci_uart_register_device(&btdev->hu, &nokia_proto);
++ if (err) {
++ dev_err(dev, "could not register bluetooth uart: %d", err);
++ return err;
++ }
++
++ return 0;
++}
++
++static void nokia_bluetooth_serdev_remove(struct serdev_device *serdev)
++{
++ struct nokia_bt_dev *btdev = serdev_device_get_drvdata(serdev);
++ struct hci_uart *hu = &btdev->hu;
++ struct hci_dev *hdev = hu->hdev;
++
++ cancel_work_sync(&hu->write_work);
++
++ hci_unregister_dev(hdev);
++ hci_free_dev(hdev);
++ hu->proto->close(hu);
++
++ pm_runtime_disable(&btdev->serdev->dev);
++}
++
++static int nokia_bluetooth_runtime_suspend(struct device *dev)
++{
++ struct serdev_device *serdev = to_serdev_device(dev);
++
++ nokia_flow_control(serdev, false);
++ return 0;
++}
++
++static int nokia_bluetooth_runtime_resume(struct device *dev)
++{
++ struct serdev_device *serdev = to_serdev_device(dev);
++
++ nokia_flow_control(serdev, true);
++ return 0;
++}
++
++static const struct dev_pm_ops nokia_bluetooth_pm_ops = {
++ SET_RUNTIME_PM_OPS(nokia_bluetooth_runtime_suspend,
++ nokia_bluetooth_runtime_resume,
++ NULL)
++};
++
++#ifdef CONFIG_OF
++static const struct of_device_id nokia_bluetooth_of_match[] = {
++ { .compatible = "nokia,h4p-bluetooth", },
++ {},
++};
++MODULE_DEVICE_TABLE(of, nokia_bluetooth_of_match);
++#endif
++
++static struct serdev_device_driver nokia_bluetooth_serdev_driver = {
++ .probe = nokia_bluetooth_serdev_probe,
++ .remove = nokia_bluetooth_serdev_remove,
++ .driver = {
++ .name = "nokia-bluetooth",
++ .pm = &nokia_bluetooth_pm_ops,
++ .of_match_table = of_match_ptr(nokia_bluetooth_of_match),
++ },
++};
++
++module_serdev_device_driver(nokia_bluetooth_serdev_driver);
+--
+2.12.2
+
+From 5593378d18f2487bdce87a687b4263c9626510cb Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Wed, 5 Apr 2017 12:10:13 -0500
+Subject: [PATCH 10/13] dt-bindings: net: Add TI WiLink shared transport
+ binding
+
+Add serial slave device binding for the TI WiLink series of Bluetooth/FM/GPS
+devices.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: netdev@vger.kernel.org
+Cc: devicetree@vger.kernel.org
+---
+ .../devicetree/bindings/net/ti,wilink-st.txt | 35 ++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/net/ti,wilink-st.txt
+
+diff --git a/Documentation/devicetree/bindings/net/ti,wilink-st.txt b/Documentation/devicetree/bindings/net/ti,wilink-st.txt
+new file mode 100644
+index 000000000000..cbad73a84ac4
+--- /dev/null
++++ b/Documentation/devicetree/bindings/net/ti,wilink-st.txt
+@@ -0,0 +1,35 @@
++TI WiLink 7/8 (wl12xx/wl18xx) Shared Transport BT/FM/GPS devices
++
++TI WiLink devices have a UART interface for providing Bluetooth, FM radio,
++and GPS over what's called "shared transport". The shared transport is
++standard BT HCI protocol with additional channels for the other functions.
++
++These devices also have a separate WiFi interface as described in
++wireless/ti,wlcore.txt.
++
++This bindings follows the UART slave device binding in
++../serial/slave-device.txt.
++
++Required properties:
++ - compatible: should be one of the following:
++ "ti,wl1271-st"
++ "ti,wl1273-st"
++ "ti,wl1831-st"
++ "ti,wl1835-st"
++ "ti,wl1837-st"
++
++Optional properties:
++ - enable-gpios : GPIO signal controlling enabling of BT. Active high.
++ - vio-supply : Vio input supply (1.8V)
++ - vbat-supply : Vbat input supply (2.9-4.8V)
++
++Example:
++
++&serial0 {
++ compatible = "ns16550a";
++ ...
++ bluetooth {
++ compatible = "ti,wl1835-st";
++ enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
++ };
++};
+--
+2.12.2
+
+From d22a4564d1b8e1eeb7c442171cedcc3ae809cfff Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Tue, 17 Jan 2017 09:58:10 -0600
+Subject: [PATCH 11/13] bluetooth: hci_uart: remove unused hci_uart_init_tty
+
+There are no users of hci_uart_init_tty, so remove it.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+Cc: Marcel Holtmann <marcel@holtmann.org>
+Cc: Gustavo Padovan <gustavo@padovan.org>
+Cc: Johan Hedberg <johan.hedberg@gmail.com>
+Cc: linux-bluetooth@vger.kernel.org
+---
+ drivers/bluetooth/hci_ldisc.c | 19 -------------------
+ drivers/bluetooth/hci_uart.h | 1 -
+ 2 files changed, 20 deletions(-)
+
+diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
+index 17bcbc13623f..cec4438ede01 100644
+--- a/drivers/bluetooth/hci_ldisc.c
++++ b/drivers/bluetooth/hci_ldisc.c
+@@ -319,25 +319,6 @@ void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed,
+ hu->oper_speed = oper_speed;
+ }
+
+-void hci_uart_init_tty(struct hci_uart *hu)
+-{
+- struct tty_struct *tty = hu->tty;
+- struct ktermios ktermios;
+-
+- /* Bring the UART into a known 8 bits no parity hw fc state */
+- ktermios = tty->termios;
+- ktermios.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP |
+- INLCR | IGNCR | ICRNL | IXON);
+- ktermios.c_oflag &= ~OPOST;
+- ktermios.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
+- ktermios.c_cflag &= ~(CSIZE | PARENB);
+- ktermios.c_cflag |= CS8;
+- ktermios.c_cflag |= CRTSCTS;
+-
+- /* tty_set_termios() return not checked as it is always 0 */
+- tty_set_termios(tty, &ktermios);
+-}
+-
+ void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed)
+ {
+ struct tty_struct *tty = hu->tty;
+diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h
+index 1b41c661bbb8..2b05e557fad0 100644
+--- a/drivers/bluetooth/hci_uart.h
++++ b/drivers/bluetooth/hci_uart.h
+@@ -114,7 +114,6 @@ int hci_uart_register_device(struct hci_uart *hu, const struct hci_uart_proto *p
+
+ int hci_uart_tx_wakeup(struct hci_uart *hu);
+ int hci_uart_init_ready(struct hci_uart *hu);
+-void hci_uart_init_tty(struct hci_uart *hu);
+ void hci_uart_set_baudrate(struct hci_uart *hu, unsigned int speed);
+ void hci_uart_set_flow_control(struct hci_uart *hu, bool enable);
+ void hci_uart_set_speeds(struct hci_uart *hu, unsigned int init_speed,
+--
+2.12.2
+
+From 4664fe8eb293288c1fba2ebc50ac50131f6125cf Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Wed, 18 Jan 2017 11:41:25 -0600
+Subject: [PATCH 12/13] bluetooth: hci_uart: add LL protocol serdev driver
+ support
+
+Turns out that the LL protocol and the TI-ST are the same thing AFAICT.
+The TI-ST adds firmware loading, GPIO control, and shared access for
+NFC, FM radio, etc. For now, we're only implementing what is needed for
+BT. This mirrors other drivers like BCM and Intel, but uses the new
+serdev bus.
+
+The firmware loading is greatly simplified by using existing
+infrastructure to send commands. It may be a bit slower than the
+original code using synchronous functions, but the real bottleneck is
+likely doing firmware load at 115.2kbps.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+Cc: Marcel Holtmann <marcel@holtmann.org>
+Cc: Gustavo Padovan <gustavo@padovan.org>
+Cc: Johan Hedberg <johan.hedberg@gmail.com>
+Cc: linux-bluetooth@vger.kernel.org
+---
+ drivers/bluetooth/hci_ll.c | 261 ++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 260 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c
+index 02692fe30279..9b2054f5502d 100644
+--- a/drivers/bluetooth/hci_ll.c
++++ b/drivers/bluetooth/hci_ll.c
+@@ -34,20 +34,23 @@
+ #include <linux/sched.h>
+ #include <linux/types.h>
+ #include <linux/fcntl.h>
++#include <linux/firmware.h>
+ #include <linux/interrupt.h>
+ #include <linux/ptrace.h>
+ #include <linux/poll.h>
+
+ #include <linux/slab.h>
+-#include <linux/tty.h>
+ #include <linux/errno.h>
+ #include <linux/string.h>
+ #include <linux/signal.h>
+ #include <linux/ioctl.h>
++#include <linux/serdev.h>
+ #include <linux/skbuff.h>
++#include <linux/ti_wilink_st.h>
+
+ #include <net/bluetooth/bluetooth.h>
+ #include <net/bluetooth/hci_core.h>
++#include <linux/gpio/consumer.h>
+
+ #include "hci_uart.h"
+
+@@ -76,6 +79,12 @@ struct hcill_cmd {
+ u8 cmd;
+ } __packed;
+
++struct ll_device {
++ struct hci_uart hu;
++ struct serdev_device *serdev;
++ struct gpio_desc *enable_gpio;
++};
++
+ struct ll_struct {
+ unsigned long rx_state;
+ unsigned long rx_count;
+@@ -136,6 +145,9 @@ static int ll_open(struct hci_uart *hu)
+
+ hu->priv = ll;
+
++ if (hu->serdev)
++ serdev_device_open(hu->serdev);
++
+ return 0;
+ }
+
+@@ -164,6 +176,13 @@ static int ll_close(struct hci_uart *hu)
+
+ kfree_skb(ll->rx_skb);
+
++ if (hu->serdev) {
++ struct ll_device *lldev = serdev_device_get_drvdata(hu->serdev);
++ gpiod_set_value_cansleep(lldev->enable_gpio, 0);
++
++ serdev_device_close(hu->serdev);
++ }
++
+ hu->priv = NULL;
+
+ kfree(ll);
+@@ -505,9 +524,245 @@ static struct sk_buff *ll_dequeue(struct hci_uart *hu)
+ return skb_dequeue(&ll->txq);
+ }
+
++#ifdef CONFIG_SERIAL_DEV_BUS
++static int read_local_version(struct hci_dev *hdev)
++{
++ int err = 0;
++ unsigned short version = 0;
++ struct sk_buff *skb;
++ struct hci_rp_read_local_version *ver;
++
++ skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_VERSION, 0, NULL, HCI_INIT_TIMEOUT);
++ if (IS_ERR(skb)) {
++ bt_dev_err(hdev, "Reading TI version information failed (%ld)",
++ PTR_ERR(skb));
++ err = PTR_ERR(skb);
++ goto out;
++ }
++ if (skb->len != sizeof(*ver)) {
++ err = -EILSEQ;
++ goto out;
++ }
++
++ ver = (struct hci_rp_read_local_version *)skb->data;
++ if (le16_to_cpu(ver->manufacturer) != 13) {
++ err = -ENODEV;
++ goto out;
++ }
++
++ version = le16_to_cpu(ver->lmp_subver);
++
++out:
++ if (err) bt_dev_err(hdev, "Failed to read TI version info: %d", err);
++ kfree_skb(skb);
++ return err ? err : version;
++}
++
++/**
++ * download_firmware -
++ * internal function which parses through the .bts firmware
++ * script file intreprets SEND, DELAY actions only as of now
++ */
++static int download_firmware(struct ll_device *lldev)
++{
++ unsigned short chip, min_ver, maj_ver;
++ int version, err, len;
++ unsigned char *ptr, *action_ptr;
++ unsigned char bts_scr_name[40]; /* 40 char long bts scr name? */
++ const struct firmware *fw;
++ struct sk_buff *skb;
++ struct hci_command *cmd;
++
++ version = read_local_version(lldev->hu.hdev);
++ if (version < 0)
++ return version;
++
++ chip = (version & 0x7C00) >> 10;
++ min_ver = (version & 0x007F);
++ maj_ver = (version & 0x0380) >> 7;
++ if (version & 0x8000)
++ maj_ver |= 0x0008;
++
++ snprintf(bts_scr_name, sizeof(bts_scr_name),
++ "ti-connectivity/TIInit_%d.%d.%d.bts",
++ chip, maj_ver, min_ver);
++
++ err = request_firmware(&fw, bts_scr_name, &lldev->serdev->dev);
++ if (err || !fw->data || !fw->size) {
++ bt_dev_err(lldev->hu.hdev, "request_firmware failed(errno %d) for %s",
++ err, bts_scr_name);
++ return -EINVAL;
++ }
++ ptr = (void *)fw->data;
++ len = fw->size;
++ /* bts_header to remove out magic number and
++ * version
++ */
++ ptr += sizeof(struct bts_header);
++ len -= sizeof(struct bts_header);
++
++ while (len > 0 && ptr) {
++ bt_dev_dbg(lldev->hu.hdev, " action size %d, type %d ",
++ ((struct bts_action *)ptr)->size,
++ ((struct bts_action *)ptr)->type);
++
++ action_ptr = &(((struct bts_action *)ptr)->data[0]);
++
++ switch (((struct bts_action *)ptr)->type) {
++ case ACTION_SEND_COMMAND: /* action send */
++ bt_dev_dbg(lldev->hu.hdev, "S");
++ cmd = (struct hci_command *)action_ptr;
++ if (cmd->opcode == 0xff36) {
++ /* ignore remote change
++ * baud rate HCI VS command */
++ bt_dev_warn(lldev->hu.hdev, "change remote baud rate command in firmware");
++ break;
++ }
++ if (cmd->prefix != 1)
++ bt_dev_dbg(lldev->hu.hdev, "command type %d\n", cmd->prefix);
++
++ skb = __hci_cmd_sync(lldev->hu.hdev, cmd->opcode, cmd->plen, &cmd->speed, HCI_INIT_TIMEOUT);
++ if (IS_ERR(skb)) {
++ bt_dev_err(lldev->hu.hdev, "send command failed\n");
++ goto out_rel_fw;
++ }
++ kfree_skb(skb);
++ break;
++ case ACTION_WAIT_EVENT: /* wait */
++ /* no need to wait as command was synchronous */
++ bt_dev_dbg(lldev->hu.hdev, "W");
++ break;
++ case ACTION_DELAY: /* sleep */
++ bt_dev_info(lldev->hu.hdev, "sleep command in scr");
++ mdelay(((struct bts_action_delay *)action_ptr)->msec);
++ break;
++ }
++ len -= (sizeof(struct bts_action) +
++ ((struct bts_action *)ptr)->size);
++ ptr += sizeof(struct bts_action) +
++ ((struct bts_action *)ptr)->size;
++ }
++
++out_rel_fw:
++ /* fw download complete */
++ release_firmware(fw);
++ return err;
++}
++
++static int ll_setup(struct hci_uart *hu)
++{
++ int err, retry = 3;
++ struct ll_device *lldev;
++ struct serdev_device *serdev = hu->serdev;
++ u32 speed;
++
++ if (!serdev)
++ return 0;
++
++ lldev = serdev_device_get_drvdata(serdev);
++
++ serdev_device_set_flow_control(serdev, true);
++
++ do {
++ /* Configure BT_EN to HIGH state */
++ gpiod_set_value_cansleep(lldev->enable_gpio, 0);
++ msleep(5);
++ gpiod_set_value_cansleep(lldev->enable_gpio, 1);
++ msleep(100);
++
++ err = download_firmware(lldev);
++ if (!err)
++ break;
++
++ /* Toggle BT_EN and retry */
++ bt_dev_err(hu->hdev, "download firmware failed, retrying...");
++ } while (retry--);
++
++ if (err)
++ return err;
++
++ /* Operational speed if any */
++ if (hu->oper_speed)
++ speed = hu->oper_speed;
++ else if (hu->proto->oper_speed)
++ speed = hu->proto->oper_speed;
++ else
++ speed = 0;
++
++ if (speed) {
++ struct sk_buff *skb = __hci_cmd_sync(hu->hdev, 0xff36, sizeof(speed), &speed, HCI_INIT_TIMEOUT);
++ if (!IS_ERR(skb)) {
++ kfree_skb(skb);
++ serdev_device_set_baudrate(serdev, speed);
++ }
++ }
++
++ return 0;
++}
++
++static const struct hci_uart_proto llp;
++
++static int hci_ti_probe(struct serdev_device *serdev)
++{
++ struct hci_uart *hu;
++ struct ll_device *lldev;
++ u32 max_speed = 3000000;
++
++ lldev = devm_kzalloc(&serdev->dev, sizeof(struct ll_device), GFP_KERNEL);
++ if (!lldev)
++ return -ENOMEM;
++ hu = &lldev->hu;
++
++ serdev_device_set_drvdata(serdev, lldev);
++ lldev->serdev = hu->serdev = serdev;
++
++ lldev->enable_gpio = devm_gpiod_get_optional(&serdev->dev, "enable", GPIOD_OUT_LOW);
++ if (IS_ERR(lldev->enable_gpio))
++ return PTR_ERR(lldev->enable_gpio);
++
++ of_property_read_u32(serdev->dev.of_node, "max-speed", &max_speed);
++ hci_uart_set_speeds(hu, 115200, max_speed);
++
++ return hci_uart_register_device(hu, &llp);
++}
++
++static void hci_ti_remove(struct serdev_device *serdev)
++{
++ struct ll_device *lldev = serdev_device_get_drvdata(serdev);
++ struct hci_uart *hu = &lldev->hu;
++ struct hci_dev *hdev = hu->hdev;
++
++ cancel_work_sync(&hu->write_work);
++
++ hci_unregister_dev(hdev);
++ hci_free_dev(hdev);
++ hu->proto->close(hu);
++}
++
++static const struct of_device_id hci_ti_of_match[] = {
++ { .compatible = "ti,wl1831-st" },
++ { .compatible = "ti,wl1835-st" },
++ { .compatible = "ti,wl1837-st" },
++ {},
++};
++MODULE_DEVICE_TABLE(of, hci_ti_of_match);
++
++static struct serdev_device_driver hci_ti_drv = {
++ .driver = {
++ .name = "hci-ti",
++ .of_match_table = of_match_ptr(hci_ti_of_match),
++ },
++ .probe = hci_ti_probe,
++ .remove = hci_ti_remove,
++};
++#else
++#define ll_setup NULL
++#endif
++
+ static const struct hci_uart_proto llp = {
+ .id = HCI_UART_LL,
+ .name = "LL",
++ .setup = ll_setup,
+ .open = ll_open,
+ .close = ll_close,
+ .recv = ll_recv,
+@@ -518,10 +773,14 @@ static const struct hci_uart_proto llp = {
+
+ int __init ll_init(void)
+ {
++ serdev_device_driver_register(&hci_ti_drv);
++
+ return hci_uart_register_proto(&llp);
+ }
+
+ int __exit ll_deinit(void)
+ {
++ serdev_device_driver_unregister(&hci_ti_drv);
++
+ return hci_uart_unregister_proto(&llp);
+ }
+--
+2.12.2
+
+From 33bbcaa7b1a4639a5e149e725a674324e7487b17 Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Mon, 21 Nov 2016 15:21:56 -0600
+Subject: [PATCH 13/13] arm64: dts: hikey: add WL1835 Bluetooth device node
+
+This adds the serial slave device for the WL1835 Bluetooth interface.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+Cc: Wei Xu <xuwei5@hisilicon.com>
+Cc: Mark Rutland <mark.rutland@arm.com>
+---
+ arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+index dba3c131c62c..9b4ba7169210 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
++++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+@@ -98,6 +98,11 @@
+ assigned-clocks = <&sys_ctrl HI6220_UART1_SRC>;
+ assigned-clock-rates = <150000000>;
+ status = "ok";
++
++ bluetooth {
++ compatible = "ti,wl1835-st";
++ enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
++ };
+ };
+
+ uart2: uart@f7112000 {
+--
+2.12.2
+
diff --git a/xgene-Fix-crash-on-DT-systems.patch b/xgene-Fix-crash-on-DT-systems.patch
deleted file mode 100644
index d91005af9..000000000
--- a/xgene-Fix-crash-on-DT-systems.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From patchwork Tue Feb 28 17:08:55 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: drivers: net: xgene: Fix crash on DT systems
-From: Alban Bedel <alban.bedel@avionic-design.de>
-X-Patchwork-Id: 733734
-X-Patchwork-Delegate: davem@davemloft.net
-Message-Id: <20170228170855.8123-1-alban.bedel@avionic-design.de>
-To: netdev@vger.kernel.org
-Cc: Iyappan Subramanian <isubramanian@apm.com>,
- Keyur Chudgar <kchudgar@apm.com>, linux-kernel@vger.kernel.org,
- Alban Bedel <alban.bedel@avionic-design.de>
-Date: Tue, 28 Feb 2017 18:08:55 +0100
-
-On DT systems the driver require a clock, but the probe just print a
-warning and continue, leading to a crash when resetting the device.
-To fix this crash and properly handle probe deferals only ignore the
-missing clock if DT isn't used or if the clock doesn't exist.
-
-Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de>
-Acked-by: Iyappan Subramanian <isubramanian@apm.com>
----
- drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
-index d0d0d12b531f..68b48edc5921 100644
---- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
-+++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
-@@ -1756,6 +1756,12 @@ static int xgene_enet_get_resources(struct xgene_enet_pdata *pdata)
-
- pdata->clk = devm_clk_get(&pdev->dev, NULL);
- if (IS_ERR(pdata->clk)) {
-+ /* Abort if the clock is defined but couldn't be retrived.
-+ * Always abort if the clock is missing on DT system as
-+ * the driver can't cope with this case.
-+ */
-+ if (PTR_ERR(pdata->clk) != -ENOENT || dev->of_node)
-+ return PTR_ERR(pdata->clk);
- /* Firmware may have set up the clock already. */
- dev_info(dev, "clocks have been setup already\n");
- }
diff --git a/xgene_enet-remove-bogus-forward-declarations.patch b/xgene_enet-remove-bogus-forward-declarations.patch
deleted file mode 100644
index f1262db85..000000000
--- a/xgene_enet-remove-bogus-forward-declarations.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-From patchwork Wed Feb 1 16:46:02 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [net-next] xgene_enet: remove bogus forward declarations
-From: Arnd Bergmann <arnd@arndb.de>
-X-Patchwork-Id: 9550123
-Message-Id: <20170201164639.2474782-1-arnd@arndb.de>
-To: "David S . Miller" <davem@davemloft.net>
-Cc: Arnd Bergmann <arnd@arndb.de>, Iyappan Subramanian <isubramanian@apm.com>,
- Keyur Chudgar <kchudgar@apm.com>,
- Florian Fainelli <f.fainelli@gmail.com>, Quan Nguyen <qnguyen@apm.com>,
- Tanmay Inamdar <tinamdar@apm.com>,
- stephen hemminger <stephen@networkplumber.org>,
- netdev@vger.kernel.org, linux-kernel@vger.kernel.org
-Date: Wed, 1 Feb 2017 17:46:02 +0100
-
-The device match tables for both the xgene_enet driver and its phy driver
-have forward declarations that declare an array without a length, leading
-to a clang warning when they are not followed by an actual defitinition:
-
-drivers/net/ethernet/apm/xgene/../../../phy/mdio-xgene.h:135:34: warning: tentative array definition assumed to have one element
-drivers/net/ethernet/apm/xgene/xgene_enet_main.c:33:36: warning: tentative array definition assumed to have one element
-
-The declarations for the mdio driver are even in a header file, so they
-cause duplicate definitions of the tables for each file that includes
-them.
-
-This removes all four forward declarations and moves the actual
-definitions up a little, so they are in front of their first user. For
-the OF match tables, this means having to remove the #ifdef around them,
-and passing the actual structure into of_match_device(). This has no
-effect on the generated object code though, as the of_match_device
-function has an empty stub that does not evaluate its argument, and
-the symbol gets dropped either way.
-
-Fixes: 43b3cf6634a4 ("drivers: net: phy: xgene: Add MDIO driver")
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
----
-The bug is old, but relatively harmless, so not needed as a fixup for 4.10
----
- drivers/net/ethernet/apm/xgene/xgene_enet_main.c | 50 ++++++++++++------------
- drivers/net/phy/mdio-xgene.c | 50 ++++++++++++------------
- drivers/net/phy/mdio-xgene.h | 4 --
- 3 files changed, 48 insertions(+), 56 deletions(-)
-
-diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
-index ab43c52723df..d0d0d12b531f 100644
---- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
-+++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
-@@ -1964,6 +1964,30 @@ static void xgene_enet_napi_add(struct xgene_enet_pdata *pdata)
- }
- }
-
-+#ifdef CONFIG_ACPI
-+static const struct acpi_device_id xgene_enet_acpi_match[] = {
-+ { "APMC0D05", XGENE_ENET1},
-+ { "APMC0D30", XGENE_ENET1},
-+ { "APMC0D31", XGENE_ENET1},
-+ { "APMC0D3F", XGENE_ENET1},
-+ { "APMC0D26", XGENE_ENET2},
-+ { "APMC0D25", XGENE_ENET2},
-+ { }
-+};
-+MODULE_DEVICE_TABLE(acpi, xgene_enet_acpi_match);
-+#endif
-+
-+static const struct of_device_id xgene_enet_of_match[] = {
-+ {.compatible = "apm,xgene-enet", .data = (void *)XGENE_ENET1},
-+ {.compatible = "apm,xgene1-sgenet", .data = (void *)XGENE_ENET1},
-+ {.compatible = "apm,xgene1-xgenet", .data = (void *)XGENE_ENET1},
-+ {.compatible = "apm,xgene2-sgenet", .data = (void *)XGENE_ENET2},
-+ {.compatible = "apm,xgene2-xgenet", .data = (void *)XGENE_ENET2},
-+ {},
-+};
-+
-+MODULE_DEVICE_TABLE(of, xgene_enet_of_match);
-+
- static int xgene_enet_probe(struct platform_device *pdev)
- {
- struct net_device *ndev;
-@@ -2110,32 +2134,6 @@ static void xgene_enet_shutdown(struct platform_device *pdev)
- xgene_enet_remove(pdev);
- }
-
--#ifdef CONFIG_ACPI
--static const struct acpi_device_id xgene_enet_acpi_match[] = {
-- { "APMC0D05", XGENE_ENET1},
-- { "APMC0D30", XGENE_ENET1},
-- { "APMC0D31", XGENE_ENET1},
-- { "APMC0D3F", XGENE_ENET1},
-- { "APMC0D26", XGENE_ENET2},
-- { "APMC0D25", XGENE_ENET2},
-- { }
--};
--MODULE_DEVICE_TABLE(acpi, xgene_enet_acpi_match);
--#endif
--
--#ifdef CONFIG_OF
--static const struct of_device_id xgene_enet_of_match[] = {
-- {.compatible = "apm,xgene-enet", .data = (void *)XGENE_ENET1},
-- {.compatible = "apm,xgene1-sgenet", .data = (void *)XGENE_ENET1},
-- {.compatible = "apm,xgene1-xgenet", .data = (void *)XGENE_ENET1},
-- {.compatible = "apm,xgene2-sgenet", .data = (void *)XGENE_ENET2},
-- {.compatible = "apm,xgene2-xgenet", .data = (void *)XGENE_ENET2},
-- {},
--};
--
--MODULE_DEVICE_TABLE(of, xgene_enet_of_match);
--#endif
--
- static struct platform_driver xgene_enet_driver = {
- .driver = {
- .name = "xgene-enet",
-diff --git a/drivers/net/phy/mdio-xgene.c b/drivers/net/phy/mdio-xgene.c
-index 92af182951be..f095051beb54 100644
---- a/drivers/net/phy/mdio-xgene.c
-+++ b/drivers/net/phy/mdio-xgene.c
-@@ -311,6 +311,30 @@ static acpi_status acpi_register_phy(acpi_handle handle, u32 lvl,
- }
- #endif
-
-+static const struct of_device_id xgene_mdio_of_match[] = {
-+ {
-+ .compatible = "apm,xgene-mdio-rgmii",
-+ .data = (void *)XGENE_MDIO_RGMII
-+ },
-+ {
-+ .compatible = "apm,xgene-mdio-xfi",
-+ .data = (void *)XGENE_MDIO_XFI
-+ },
-+ {},
-+};
-+MODULE_DEVICE_TABLE(of, xgene_mdio_of_match);
-+
-+#ifdef CONFIG_ACPI
-+static const struct acpi_device_id xgene_mdio_acpi_match[] = {
-+ { "APMC0D65", XGENE_MDIO_RGMII },
-+ { "APMC0D66", XGENE_MDIO_XFI },
-+ { }
-+};
-+
-+MODULE_DEVICE_TABLE(acpi, xgene_mdio_acpi_match);
-+#endif
-+
-+
- static int xgene_mdio_probe(struct platform_device *pdev)
- {
- struct device *dev = &pdev->dev;
-@@ -430,32 +454,6 @@ static int xgene_mdio_remove(struct platform_device *pdev)
- return 0;
- }
-
--#ifdef CONFIG_OF
--static const struct of_device_id xgene_mdio_of_match[] = {
-- {
-- .compatible = "apm,xgene-mdio-rgmii",
-- .data = (void *)XGENE_MDIO_RGMII
-- },
-- {
-- .compatible = "apm,xgene-mdio-xfi",
-- .data = (void *)XGENE_MDIO_XFI
-- },
-- {},
--};
--
--MODULE_DEVICE_TABLE(of, xgene_mdio_of_match);
--#endif
--
--#ifdef CONFIG_ACPI
--static const struct acpi_device_id xgene_mdio_acpi_match[] = {
-- { "APMC0D65", XGENE_MDIO_RGMII },
-- { "APMC0D66", XGENE_MDIO_XFI },
-- { }
--};
--
--MODULE_DEVICE_TABLE(acpi, xgene_mdio_acpi_match);
--#endif
--
- static struct platform_driver xgene_mdio_driver = {
- .driver = {
- .name = "xgene-mdio",
-diff --git a/drivers/net/phy/mdio-xgene.h b/drivers/net/phy/mdio-xgene.h
-index 354241b53c1d..594a11d42401 100644
---- a/drivers/net/phy/mdio-xgene.h
-+++ b/drivers/net/phy/mdio-xgene.h
-@@ -132,10 +132,6 @@ static inline u64 xgene_enet_get_field_value(int pos, int len, u64 src)
- #define GET_BIT(field, src) \
- xgene_enet_get_field_value(field ## _POS, 1, src)
-
--static const struct of_device_id xgene_mdio_of_match[];
--#ifdef CONFIG_ACPI
--static const struct acpi_device_id xgene_mdio_acpi_match[];
--#endif
- int xgene_mdio_rgmii_read(struct mii_bus *bus, int phy_id, int reg);
- int xgene_mdio_rgmii_write(struct mii_bus *bus, int phy_id, int reg, u16 data);
- struct phy_device *xgene_enet_phy_register(struct mii_bus *bus, int phy_addr);