summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2017-06-07 14:36:51 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2017-06-07 14:36:51 +0200
commit7dcdf316d961913035e5090d4ca2b3df406501a9 (patch)
tree566e4a15ffcd373b8101bfef97dc9c89c374bacf
parent7e9c8170d92acc1e98eaa3c27c6cdb67a4fb1447 (diff)
parentee81a40fa3186d75cbaad3a862d9ae5a02758817 (diff)
downloadkernel-4.11.3-101.vanilla.knurd.1.fc24.tar.gz
kernel-4.11.3-101.vanilla.knurd.1.fc24.tar.xz
kernel-4.11.3-101.vanilla.knurd.1.fc24.zip
Merge remote-tracking branch 'origin/f24' into f24-user-thl-vanilla-fedorakernel-4.11.3-101.vanilla.knurd.1.fc24
-rw-r--r--0001-efi-libstub-Treat-missing-SecureBoot-variable-as-Sec.patch53
-rw-r--r--0001-ipx-call-ipxitf_put-in-ioctl-error-path.patch38
-rw-r--r--0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch71
-rw-r--r--0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch158
-rw-r--r--2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.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--actual_udpencap_fix.patch45
-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_CROS_KBD_LED_BACKLIGHT2
-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_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--drm-i915-Do-not-drop-pagetables-when-empty.patch95
-rw-r--r--efi-lockdown.patch1221
-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.spec121
-rw-r--r--net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch156
-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
585 files changed, 12942 insertions, 5923 deletions
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-ipx-call-ipxitf_put-in-ioctl-error-path.patch b/0001-ipx-call-ipxitf_put-in-ioctl-error-path.patch
deleted file mode 100644
index ca809297a..000000000
--- a/0001-ipx-call-ipxitf_put-in-ioctl-error-path.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From ee0d8d8482345ff97a75a7d747efc309f13b0d80 Mon Sep 17 00:00:00 2001
-From: Dan Carpenter <dan.carpenter@oracle.com>
-Date: Tue, 2 May 2017 13:58:53 +0300
-Subject: [PATCH] ipx: call ipxitf_put() in ioctl error path
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We should call ipxitf_put() if the copy_to_user() fails.
-
-Reported-by: 李强 <liqiang6-s@360.cn>
-Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/ipx/af_ipx.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c
-index 8a9219f..fa31ef2 100644
---- a/net/ipx/af_ipx.c
-+++ b/net/ipx/af_ipx.c
-@@ -1168,11 +1168,10 @@ static int ipxitf_ioctl(unsigned int cmd, void __user *arg)
- sipx->sipx_network = ipxif->if_netnum;
- memcpy(sipx->sipx_node, ipxif->if_node,
- sizeof(sipx->sipx_node));
-- rc = -EFAULT;
-+ rc = 0;
- if (copy_to_user(arg, &ifr, sizeof(ifr)))
-- break;
-+ rc = -EFAULT;
- ipxitf_put(ipxif);
-- rc = 0;
- break;
- }
- case SIOCAIPXITFCRT:
---
-2.9.3
-
diff --git a/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch b/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch
new file mode 100644
index 000000000..847c70ce8
--- /dev/null
+++ b/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch
@@ -0,0 +1,71 @@
+From 6bb84c0f9da1144e0d443798a76d5769b7d554af Mon Sep 17 00:00:00 2001
+From: Christian Kellner <christian@kellner.me>
+Date: Tue, 28 Feb 2017 17:10:56 +0100
+Subject: [PATCH 1/2] platform/x86: thinkpad_acpi: guard generic hotkey case
+
+Currently when dispatching hotkeys we check if the scancode is in
+the range of 0 and TPACPI_HOTKEY_MAP_LEN, although the bottom 20
+entries in the hotkey keymap are already adaptive keycodes.
+Therefore we introduce a TP_ACPI_HOTKEYSCAN_ADAPTIVE_START and
+ensure that we are in the range 0 and ADAPTIVE_START for the generic
+keycode case.
+
+Signed-off-by: Christian Kellner <ckellner@redhat.com>
+Reviewed-by: Hans de Goede <hdegoede@redhat.com>
+Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+---
+ drivers/platform/x86/thinkpad_acpi.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
+index 1d18b32..e2b962f 100644
+--- a/drivers/platform/x86/thinkpad_acpi.c
++++ b/drivers/platform/x86/thinkpad_acpi.c
+@@ -1922,7 +1922,9 @@ enum { /* hot key scan codes (derived from ACPI DSDT) */
+ TP_ACPI_HOTKEYSCAN_UNK7,
+ TP_ACPI_HOTKEYSCAN_UNK8,
+
+- TP_ACPI_HOTKEYSCAN_MUTE2,
++ /* Adaptive keyboard keycodes */
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START,
++ TP_ACPI_HOTKEYSCAN_MUTE2 = TP_ACPI_HOTKEYSCAN_ADAPTIVE_START,
+ TP_ACPI_HOTKEYSCAN_BRIGHTNESS_ZERO,
+ TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL,
+ TP_ACPI_HOTKEYSCAN_CLOUD,
+@@ -3656,7 +3658,6 @@ static const int adaptive_keyboard_modes[] = {
+ #define DFR_CHANGE_ROW 0x101
+ #define DFR_SHOW_QUICKVIEW_ROW 0x102
+ #define FIRST_ADAPTIVE_KEY 0x103
+-#define ADAPTIVE_KEY_OFFSET 0x020
+
+ /* press Fn key a while second, it will switch to Function Mode. Then
+ * release Fn key, previous mode be restored.
+@@ -3747,12 +3748,13 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode)
+ default:
+ if (scancode < FIRST_ADAPTIVE_KEY ||
+ scancode >= FIRST_ADAPTIVE_KEY + TPACPI_HOTKEY_MAP_LEN -
+- ADAPTIVE_KEY_OFFSET) {
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+ pr_info("Unhandled adaptive keyboard key: 0x%x\n",
+ scancode);
+ return false;
+ }
+- keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY + ADAPTIVE_KEY_OFFSET];
++ keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY +
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START];
+ if (keycode != KEY_RESERVED) {
+ mutex_lock(&tpacpi_inputdev_send_mutex);
+
+@@ -3778,7 +3780,7 @@ static bool hotkey_notify_hotkey(const u32 hkey,
+ *ignore_acpi_ev = false;
+
+ /* HKEY event 0x1001 is scancode 0x00 */
+- if (scancode > 0 && scancode <= TPACPI_HOTKEY_MAP_LEN) {
++ if (scancode > 0 && scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+ scancode--;
+ if (!(hotkey_source_mask & (1 << scancode))) {
+ tpacpi_input_send_key_masked(scancode);
+--
+2.9.4
+
diff --git a/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch b/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch
new file mode 100644
index 000000000..2c9bcbbeb
--- /dev/null
+++ b/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch
@@ -0,0 +1,158 @@
+From 82e71b57b1b4347126b1ffd7b2beed2bc8b795bd Mon Sep 17 00:00:00 2001
+From: Christian Kellner <christian@kellner.me>
+Date: Tue, 28 Feb 2017 17:10:57 +0100
+Subject: [PATCH 2/2] platform/x86: thinkpad_acpi: add mapping for new hotkeys
+
+The T470, X270 emits new hkey events in the 0x1311 - 0x1315 range.
+According to the user manual they should launch a user selected
+favorite application (star icon, 0x1311), snipping tool (0x1312,
+currently ignored), enable/disable bluetooth (0x1314) and open they
+keyboard settings (0x1315).
+
+The third nibble (0xf00) is used to differentiate between the original
+hotkeys, the adaptive keyboard codes and the new, additional ones.
+
+Signed-off-by: Christian Kellner <ckellner@redhat.com>
+Reviewed-by: Hans de Goede <hdegoede@redhat.com>
+Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+---
+ drivers/platform/x86/thinkpad_acpi.c | 91 +++++++++++++++++++++++++++++++-----
+ 1 file changed, 79 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
+index e2b962f..7b6cb0c 100644
+--- a/drivers/platform/x86/thinkpad_acpi.c
++++ b/drivers/platform/x86/thinkpad_acpi.c
+@@ -1945,6 +1945,15 @@ enum { /* hot key scan codes (derived from ACPI DSDT) */
+ TP_ACPI_HOTKEYSCAN_CAMERA_MODE,
+ TP_ACPI_HOTKEYSCAN_ROTATE_DISPLAY,
+
++ /* Lenovo extended keymap, starting at 0x1300 */
++ TP_ACPI_HOTKEYSCAN_EXTENDED_START,
++ /* first new observed key (star, favorites) is 0x1311 */
++ TP_ACPI_HOTKEYSCAN_STAR = 69,
++ TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL2,
++ TP_ACPI_HOTKEYSCAN_UNK25,
++ TP_ACPI_HOTKEYSCAN_BLUETOOTH,
++ TP_ACPI_HOTKEYSCAN_KEYBOARD,
++
+ /* Hotkey keymap size */
+ TPACPI_HOTKEY_MAP_LEN
+ };
+@@ -3252,6 +3261,15 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++
++ /* No assignment, used for newer Lenovo models */
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN
++
+ },
+
+ /* Generic keymap for Lenovo ThinkPads */
+@@ -3337,6 +3355,29 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
+ KEY_RESERVED, /* Microphone cancellation */
+ KEY_RESERVED, /* Camera mode */
+ KEY_RESERVED, /* Rotate display, 0x116 */
++
++ /*
++ * These are found in 2017 models (e.g. T470s, X270).
++ * The lowest known value is 0x311, which according to
++ * the manual should launch a user defined favorite
++ * application.
++ *
++ * The offset for these is TP_ACPI_HOTKEYSCAN_EXTENDED_START,
++ * corresponding to 0x34.
++ */
++
++ /* (assignments unknown, please report if found) */
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN,
++
++ KEY_FAVORITES, /* Favorite app, 0x311 */
++ KEY_RESERVED, /* Clipping tool */
++ KEY_RESERVED,
++ KEY_BLUETOOTH, /* Bluetooth */
++ KEY_KEYBOARD /* Keyboard, 0x315 */
+ },
+ };
+
+@@ -3747,8 +3788,9 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode)
+
+ default:
+ if (scancode < FIRST_ADAPTIVE_KEY ||
+- scancode >= FIRST_ADAPTIVE_KEY + TPACPI_HOTKEY_MAP_LEN -
+- TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
++ scancode >= FIRST_ADAPTIVE_KEY +
++ TP_ACPI_HOTKEYSCAN_EXTENDED_START -
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+ pr_info("Unhandled adaptive keyboard key: 0x%x\n",
+ scancode);
+ return false;
+@@ -3779,19 +3821,44 @@ static bool hotkey_notify_hotkey(const u32 hkey,
+ *send_acpi_ev = true;
+ *ignore_acpi_ev = false;
+
+- /* HKEY event 0x1001 is scancode 0x00 */
+- if (scancode > 0 && scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+- scancode--;
+- if (!(hotkey_source_mask & (1 << scancode))) {
+- tpacpi_input_send_key_masked(scancode);
+- *send_acpi_ev = false;
+- } else {
+- *ignore_acpi_ev = true;
++ /*
++ * Original events are in the 0x10XX range, the adaptive keyboard
++ * found in 2014 X1 Carbon emits events are of 0x11XX. In 2017
++ * models, additional keys are emitted through 0x13XX.
++ */
++ switch ((hkey >> 8) & 0xf) {
++ case 0:
++ if (scancode > 0 &&
++ scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
++ /* HKEY event 0x1001 is scancode 0x00 */
++ scancode--;
++ if (!(hotkey_source_mask & (1 << scancode))) {
++ tpacpi_input_send_key_masked(scancode);
++ *send_acpi_ev = false;
++ } else {
++ *ignore_acpi_ev = true;
++ }
++ return true;
+ }
+- return true;
+- } else {
++ break;
++
++ case 1:
+ return adaptive_keyboard_hotkey_notify_hotkey(scancode);
++
++ case 3:
++ /* Extended keycodes start at 0x300 and our offset into the map
++ * TP_ACPI_HOTKEYSCAN_EXTENDED_START. The calculated scancode
++ * will be positive, but might not be in the correct range.
++ */
++ scancode -= (0x300 - TP_ACPI_HOTKEYSCAN_EXTENDED_START);
++ if (scancode >= TP_ACPI_HOTKEYSCAN_EXTENDED_START &&
++ scancode < TPACPI_HOTKEY_MAP_LEN) {
++ tpacpi_input_send_key(scancode);
++ return true;
++ }
++ break;
+ }
++
+ return false;
+ }
+
+--
+2.9.4
+
diff --git a/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch b/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch
new file mode 100644
index 000000000..088d921a7
--- /dev/null
+++ b/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch
@@ -0,0 +1,33 @@
+From 596bbd8d3752b0a922b7a5a059f47607a36ecc2e Mon Sep 17 00:00:00 2001
+From: Andrew Lutomirski <luto@kernel.org>
+Date: Wed, 24 May 2017 15:06:31 -0700
+Subject: [PATCH] nvme: Quirk APST on Intel 600P/P3100 devices
+
+They have known firmware bugs. A fix is apparently in the works --
+once fixed firmware is available, someone from Intel (Hi, Keith!)
+can adjust the quirk accordingly.
+
+Cc: stable@vger.kernel.org # v4.11
+Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>
+Cc: Mario Limonciello <mario_limonciello@dell.com>
+Signed-off-by: Andy Lutomirski <luto@kernel.org>
+---
+ drivers/nvme/host/pci.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
+index d8a1707..993d16c 100644
+--- a/drivers/nvme/host/pci.c
++++ b/drivers/nvme/host/pci.c
+@@ -2171,6 +2171,8 @@ static const struct pci_device_id nvme_id_table[] = {
+ { PCI_VDEVICE(INTEL, 0x0a54),
+ .driver_data = NVME_QUIRK_STRIPE_SIZE |
+ NVME_QUIRK_DISCARD_ZEROES, },
++ { PCI_VDEVICE(INTEL, 0xf1a5), /* Intel 600P/P3100 */
++ .driver_data = NVME_QUIRK_NO_DEEPEST_PS },
+ { PCI_VDEVICE(INTEL, 0x5845), /* Qemu emulated controller */
+ .driver_data = NVME_QUIRK_IDENTIFY_CNS, },
+ { PCI_DEVICE(0x1c58, 0x0003), /* HGST adapter */
+--
+2.7.5
+
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/actual_udpencap_fix.patch b/actual_udpencap_fix.patch
new file mode 100644
index 000000000..bba8b7676
--- /dev/null
+++ b/actual_udpencap_fix.patch
@@ -0,0 +1,45 @@
+From: Steffen Klassert <steffen.klassert@secunet.com>
+Subject: [PATCH] esp4: Fix udpencap for local TCP packets.
+
+Locally generated TCP packets are usually cloned, so we
+do skb_cow_data() on this packets. After that we need to
+reload the pointer to the esp header. On udpencap this
+header has an offset to skb_transport_header, so take this
+offset into account.
+
+Fixes: commit cac2661c53f ("esp4: Avoid skb_cow_data whenever possible")
+Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+---
+ net/ipv4/esp4.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
+index b1e2444..ab71fbb 100644
+--- a/net/ipv4/esp4.c
++++ b/net/ipv4/esp4.c
+@@ -223,6 +223,7 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
+ int extralen;
+ int tailen;
+ __be64 seqno;
++ int esp_offset = 0;
+ __u8 proto = *skb_mac_header(skb);
+
+ /* skb is pure payload to encrypt */
+@@ -288,6 +289,8 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
+ break;
+ }
+
++ esp_offset = (unsigned char *)esph - (unsigned char *)uh;
++
+ *skb_mac_header(skb) = IPPROTO_UDP;
+ }
+
+@@ -397,7 +400,7 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
+ goto error;
+ nfrags = err;
+ tail = skb_tail_pointer(trailer);
+- esph = ip_esp_hdr(skb);
++ esph = (struct ip_esp_hdr *)(skb_transport_header(skb) + esp_offset);
+
+ skip_cow:
+ esp_output_fill_trailer(tail, tfclen, plen, proto);
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_CROS_KBD_LED_BACKLIGHT b/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT
index 95f043d68..83b61e1e1 100644
--- a/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT
+++ b/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT
@@ -1 +1 @@
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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_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/drm-i915-Do-not-drop-pagetables-when-empty.patch b/drm-i915-Do-not-drop-pagetables-when-empty.patch
new file mode 100644
index 000000000..8dcbc81bb
--- /dev/null
+++ b/drm-i915-Do-not-drop-pagetables-when-empty.patch
@@ -0,0 +1,95 @@
+From patchwork Fri May 26 08:29:06 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+Subject: drm/i915: Do not drop pagetables when empty
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+X-Patchwork-Id: 158340
+Message-Id: <20170526082906.8982-1-daniel.vetter@ffwll.ch>
+To: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
+Cc: "# v4 . 10+" <stable@vger.kernel.org>,
+ Daniel Vetter <daniel.vetter@intel.com>,
+ Mika Kuoppala <mika.kuoppala@intel.com>
+Date: Fri, 26 May 2017 10:29:06 +0200
+
+From: Chris Wilson <chris@chris-wilson.co.uk>
+
+This is the minimal backport for stable of the upstream commit:
+
+commit dd19674bacba227ae5d3ce680cbc5668198894dc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 15 08:43:46 2017 +0000
+
+ drm/i915: Remove bitmap tracking for used-ptes
+
+Due to a race with the shrinker, when we try to allocate a pagetable, we
+may end up shrinking it instead. This comes as a nasty surprise as we
+try to dereference it to fill in the pagetable entries for the object.
+
+In linus/master this is fixed by pinning the pagetables prior to
+allocation, but that backport is roughly
+ drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
+ drivers/gpu/drm/i915/i915_gem_evict.c | 12 +-
+ drivers/gpu/drm/i915/i915_gem_gtt.c | 2017 ++++++++++++++-------------------
+ drivers/gpu/drm/i915/i915_gem_gtt.h | 123 +-
+ drivers/gpu/drm/i915/i915_trace.h | 104 --
+ drivers/gpu/drm/i915/i915_vgpu.c | 9 +-
+ drivers/gpu/drm/i915/i915_vma.c | 9 -
+ drivers/gpu/drm/i915/intel_lrc.c | 4 +-
+ 8 files changed, 946 insertions(+), 1334 deletions(-)
+i.e. unsuitable for stable. Instead we neuter the code that tried to
+free the pagetables.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99295
+Fixes: 2ce5179fe826 ("drm/i915/gtt: Free unused lower-level page tables")
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Michel Thierry <michel.thierry@intel.com>
+Cc: Mika Kuoppala <mika.kuoppala@intel.com>
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
+Cc: Michał Winiarski <michal.winiarski@intel.com>
+Cc: Daniel Vetter <daniel.vetter@intel.com>
+Cc: Jani Nikula <jani.nikula@linux.intel.com>
+Cc: intel-gfx@lists.freedesktop.org
+Cc: <stable@vger.kernel.org> # v4.10+
+Tested-by: Maël Lavault <mael.lavault@protonmail.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
+---
+ drivers/gpu/drm/i915/i915_gem_gtt.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
+index 96e45a4d5441..4f581adf2fcf 100644
+--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
++++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
+@@ -755,10 +755,6 @@ static bool gen8_ppgtt_clear_pt(struct i915_address_space *vm,
+ GEM_BUG_ON(pte_end > GEN8_PTES);
+
+ bitmap_clear(pt->used_ptes, pte, num_entries);
+- if (USES_FULL_PPGTT(vm->i915)) {
+- if (bitmap_empty(pt->used_ptes, GEN8_PTES))
+- return true;
+- }
+
+ pt_vaddr = kmap_px(pt);
+
+@@ -798,9 +794,6 @@ static bool gen8_ppgtt_clear_pd(struct i915_address_space *vm,
+ }
+ }
+
+- if (bitmap_empty(pd->used_pdes, I915_PDES))
+- return true;
+-
+ return false;
+ }
+
+@@ -829,9 +822,6 @@ static bool gen8_ppgtt_clear_pdp(struct i915_address_space *vm,
+
+ mark_tlbs_dirty(ppgtt);
+
+- if (bitmap_empty(pdp->used_pdpes, I915_PDPES_PER_PDP(dev_priv)))
+- return true;
+-
+ return false;
+ }
+
diff --git a/efi-lockdown.patch b/efi-lockdown.patch
index 6bbc24fa1..7803d6dff 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 85255f3885abdd1d2e5dc9f6e51f2fc9db075843 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,130 +13,42 @@ 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 4bf0c89..396285b 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:
+@@ -1184,6 +1184,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.5
-From 3b0695eda22ad712a2b9be9bb70979d875a37816 Mon Sep 17 00:00:00 2001
+From 341507e80b888b5b587bdb60f0d95275dbbcad89 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
- kernel image
+Subject: [PATCH 09/32] Add the ability to lock down access to the running kernel
+ image
Provide a single call to allow kernel code to determine whether the system
should be locked down, thereby disallowing various accesses that might
@@ -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 4c26dc3..b820a80 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -268,6 +268,15 @@ extern int oops_may_print(void);
+@@ -275,6 +275,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 96899fa..5808570 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -1685,5 +1685,16 @@ static inline void free_secdata(void *secdata)
+@@ -1678,5 +1678,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.5
-From c1cc643f82e1c9efee123eb81befb58e41b87310 Mon Sep 17 00:00:00 2001
+From dfabd5c5acc95a2de69d44f794e6f1ce894fd3ff 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 cc98d5a..21f3985 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1786,6 +1786,18 @@ config EFI_MIXED
-
+@@ -1817,6 +1817,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 396285b..85dfa74 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)
+
+@@ -1185,7 +1186,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.5
-From 03ff1bcf82c3acc3df8e8fd1badbbc9f6a27a2e6 Mon Sep 17 00:00:00 2001
+From 0329e34894da0599619b03fa6cb16d575bfc68d4 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,26 +276,26 @@ 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.5
-From 328104a3a9859084a25240ea031572e0d20ceaf4 Mon Sep 17 00:00:00 2001
+From 236e7dcbf5eb7b27416a819d6cb69d3006481cef 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
- locked down
+Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is locked
+ down
Allowing users to write to address space makes it possible for the kernel to
be subverted, avoiding module loading restrictions. Prevent this when the
@@ -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 6e0cbe0..a97b22f 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,
+@@ -179,6 +179,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,
+
+@@ -540,6 +543,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.5
-From 2cfe484bdc7e42b42be4887f2b4d23ac9de79593 Mon Sep 17 00:00:00 2001
+From 58a5ca7a67b9091800f61c1c411b3f411fcd857b 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 21f3985..457c049 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1798,6 +1798,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
+@@ -1829,6 +1829,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 85dfa74..a415a48 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)
-
+@@ -1330,6 +1335,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,22 +424,22 @@ 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 c6fc714..0c96cf6 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
-@@ -479,6 +479,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
+@@ -481,6 +481,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
/* x: May be registered on mips for TLB dump */
/* x: May be registered on ppc/powerpc for xmon */
/* x: May be registered on sparc64 for global PMU dump */
@@ -1198,17 +447,17 @@ index 52bbd27..72f46a1 100644
NULL, /* x */
/* y: May be registered on sparc64 for global register dump */
NULL, /* y */
-@@ -522,7 +523,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
+@@ -524,7 +525,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)
-
+@@ -544,11 +545,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 */
@@ -1224,7 +473,7 @@ index 52bbd27..72f46a1 100644
pr_cont("%s\n", op_p->action_msg);
console_loglevel = orig_log_level;
op_p->handler(key);
-@@ -578,7 +583,7 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -580,7 +585,7 @@ void __handle_sysrq(int key, bool check_mask)
void handle_sysrq(int key)
{
if (sysrq_on())
@@ -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)
+
+@@ -661,7 +666,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,
-
+@@ -812,8 +817,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 ?
@@ -1254,14 +503,14 @@ index 52bbd27..72f46a1 100644
}
break;
}
-@@ -1095,7 +1102,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
-
+@@ -1097,7 +1104,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 c8146d5..b480cad 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)
+@@ -1970,7 +1970,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.5
-From a82fdfceffac8e9cdc0287d874a8ba1b9d875e70 Mon Sep 17 00:00:00 2001
+From 1b5f90719268c27616172f00cde6e1078eb413c5 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,13 +622,12 @@ index 980936a..46de8e6 100644
* This leaves us room for future extensions.
*/
--
-2.9.3
+2.7.5
-From 43d4cec4b9acbe2954afb355cc32dbd456ca77bd Mon Sep 17 00:00:00 2001
+From 85eaf32ad6cb1ce6ab88601daac8e601386929bb 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
- reboot
+Subject: [PATCH] Copy secure_boot flag in boot params across kexec reboot
Kexec reboot in case secure boot being enabled does not keep the secure
boot mode in new kernel, so later one can load unsigned kernel via legacy
@@ -1399,25 +647,24 @@ 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.5
-From 7f303a867209a3641d3da378d914967314b60254 Mon Sep 17 00:00:00 2001
+From 421f4933387c7663b99d63624bdc23d4037e9c26 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
- set
+Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been set
When KEXEC_VERIFY_SIG is not enabled, kernel should not loads image
through kexec_file systemcall if securelevel has been set.
@@ -1433,13 +680,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 b118735..f6937ee 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 +697,9 @@ index 037c321..04f48f2 100644
if (flags != (flags & KEXEC_FILE_FLAGS))
return -EINVAL;
--
-2.9.3
+2.7.5
-From 7b42e60e328109fc2a04434c3cfedeb53eae6426 Mon Sep 17 00:00:00 2001
+From 0376070dd24c4226e047cf5ab8d68c8341b8d521 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,25 +716,25 @@ 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 a8b978c..50cca5d 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
-@@ -67,7 +67,7 @@ static const struct platform_hibernation_ops *hibernation_ops;
-
+@@ -70,7 +70,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.5
-From a2a550718c501375c22f5afdead9d25225abdcd3 Mon Sep 17 00:00:00 2001
+From fff7953fd653f695d0a43872726086637cad224b 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
+Subject: [PATCH] uswsusp: Disable when the kernel is locked down
uswsusp allows a user process to dump and then restore kernel state, which
makes it possible to modify the running kernel. Disable this if the kernel
@@ -1500,27 +747,26 @@ 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.5
-From 81204660ab5d1914cb59fb246f103288ecf9a177 Mon Sep 17 00:00:00 2001
+From a4cb6a7d28d27aa8166b7e0d5f75fe16f2f18ac8 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
- down
+Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked down
Any hardware that can potentially generate DMA has to be locked down in
order to avoid it being possible for an attacker to modify kernel code,
@@ -1537,30 +783,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 7ac258f..7d29b03 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,
+@@ -727,6 +727,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,
+@@ -1022,6 +1025,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,
+@@ -1121,6 +1127,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 +815,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 dc8912e..e2c5eff 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 +833,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;
+
@@ -1596,34 +842,33 @@ index 2408abe..eaccf9b 100644
ret = pci_domain_nr(dev->bus);
@@ -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;
-
+ int i, ret, write_combine = 0, res_bit;
+
- 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 */
+
+ if (fpriv->mmap_state == pci_mmap_io)
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.5
-From 18f4177e0a147adccbbacb1fa95e340352228db3 Mon Sep 17 00:00:00 2001
+From 4f9b39483a30ae4bd6e9c90caaf3a0466161d024 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
- down
+Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked down
IO port access would permit users to gain access to PCI configuration
registers, which in turn (on a lot of hardware) give access to MMIO
@@ -1641,19 +886,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 9c3cf09..4a613fe 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)
-
+@@ -30,7 +30,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)
+@@ -120,7 +120,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
return -EINVAL;
/* Trying to gain more privileges? */
if (level > old) {
@@ -1663,22 +908,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 a97b22f..8705f8f 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)
-
+@@ -768,6 +768,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.5
-From bdd2ae6c0c8ce5a4dadaa41019a6e065e9aa9128 Mon Sep 17 00:00:00 2001
+From b746ba587c937240794cd7006c15a0fb3b2f8128 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 +940,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 +965,9 @@ index 7f3550a..90cddc1 100644
err = -EFAULT;
break;
--
-2.9.3
+2.7.5
-From 50d0b2fd4e13f1da62d7bfabe7559cdaaceee06b Mon Sep 17 00:00:00 2001
+From 5aff4c16ee0a6441b1abbf6e80a5da9cf2007469 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 +986,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 8fe5890..feef250 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)
+@@ -1900,6 +1900,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)
+@@ -1916,6 +1919,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)
+
+@@ -1940,6 +1946,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,13 +1020,13 @@ index ce6ca31..d860017 100644
1, asus->debug.method_id,
&input, &output);
--
-2.9.3
+2.7.5
-From 88156357adede0ba4060adb0934d08e75afb6e9d Mon Sep 17 00:00:00 2001
+From f0b27fdb42b57c2044ea3cf49371f786acc7b58e 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
- locked down
+Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is locked
+ down
custom_method effectively allows arbitrary access to system memory, making
it possible for an attacker to circumvent restrictions on module loading.
@@ -1800,7 +1045,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,13 +1053,13 @@ 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.5
-From 960205f64271826552eec6d7ba34144b1615c376 Mon Sep 17 00:00:00 2001
+From d67f882220ae3d969b496ad93fcbbcd3b09288cd 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
- been locked down
+Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has been
+ locked down
This option allows userspace to pass the RSDP address to the kernel, which
makes it possible for a user to circumvent any restrictions imposed on
@@ -1827,10 +1072,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,15 +1083,15 @@ index 416953a..79f3d03 100644
+ if (acpi_rsdp && !kernel_is_locked_down())
return acpi_rsdp;
#endif
-
+
--
-2.9.3
+2.7.5
-From 2f200d295a041b154f3938940c2d8aa1742f1379 Mon Sep 17 00:00:00 2001
+From 15b10045321ac2af988918726a461178237d2d24 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
- locked down
+Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is locked
+ down
From the kernel documentation (initrd_table_override.txt):
@@ -1865,13 +1110,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,13 +1126,13 @@ index cdd56c4..c657c08 100644
memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS,
all_tables_size, PAGE_SIZE);
--
-2.9.3
+2.7.5
-From 6244dff831988f59797add76cee80c73961d5ac5 Mon Sep 17 00:00:00 2001
+From dec3a108f63021d82b132847a02e8496f613ac6f 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
- locked down
+Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is locked
+ down
ACPI provides an error injection mechanism, EINJ, for debugging and testing
the ACPI Platform Error Interface (APEI) and other RAS features. If
@@ -1911,13 +1156,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 +1170,9 @@ index eebb7e3..e4f126a 100644
if (flags && (flags &
~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF)))
--
-2.9.3
+2.7.5
-From a17a541d1af379c3d6ff21924c212f9e2e38c1c8 Mon Sep 17 00:00:00 2001
+From dcc51d5b69c23c3f955b332d959f13cb61b4500c 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 +1182,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,24 +1217,24 @@ 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.5
-From c9c34942d873f7a09b9c7211bda3063354ff5706 Mon Sep 17 00:00:00 2001
+From 6cff44c809671affbf65ac2e0d0c2b0a0f705756 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
- kernel is locked down
+Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the kernel
+ is locked down
There are some bpf functions can be used to read kernel memory:
bpf_probe_read, bpf_probe_write_user and bpf_trace_printk. These allow
@@ -2004,13 +1249,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 +1277,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 +1285,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.5
-From 04485aa7865dc340f38e32ad29793c625167acf3 Mon Sep 17 00:00:00 2001
+From 9c7dd48309e4d8e18a9979f6c0cbf9c7b8bf4ea1 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
@@ -2072,9 +1317,9 @@ index 227dd2c..5c036d1 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,17 +1328,16 @@ 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.5
-From b1e8f012b7b17e0146f8e63de51f6f45819c859e Mon Sep 17 00:00:00 2001
+From 5e2b99e099ba52131c7a87695b294961a0bf54f1 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
- down
+Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked down
Prohibit replacement of the PCMCIA Card Information Structure when the
kernel is locked down.
@@ -2110,19 +1354,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.5
-From 66d9c09b9427719e3c6a34132e9ca0724cb1e3a8 Mon Sep 17 00:00:00 2001
+From 6d6e052a6c2df0a7a492439efe1ac6d62498e0d4 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 +1383,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 3fe5689..4181b00 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,
+@@ -821,6 +821,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 +1400,5 @@ index f2303f3..f2c07fa 100644
retval = -EPERM;
if (change_irq || change_port ||
--
-2.9.3
+2.7.5
+
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..44a0ae1d9 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
@@ -909,16 +912,19 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,11 +1679,11 @@ 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
@@ -1696,13 +1692,11 @@ CONFIG_GPIO_TEGRA=y
# 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..3cb49dc32 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
@@ -908,16 +911,19 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,11 +1662,11 @@ 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
@@ -1679,13 +1675,11 @@ CONFIG_GPIO_TEGRA=y
# 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..86e855181 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
@@ -967,13 +964,14 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
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,11 +1815,11 @@ 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
@@ -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..dcc3f6968 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
@@ -941,13 +935,14 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
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,11 +1726,11 @@ 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
@@ -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..c73231c33 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
@@ -940,13 +933,14 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
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,11 +1709,11 @@ 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
@@ -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..6453d392c 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
@@ -966,13 +962,14 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
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,11 +1798,11 @@ 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
@@ -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..b78f88d58 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
@@ -803,12 +795,13 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
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
@@ -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..1971d52db 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
@@ -804,12 +797,13 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
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
@@ -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..ad302fa5e 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
@@ -804,12 +797,13 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
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
@@ -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..66104bf5f 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
@@ -803,12 +795,13 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
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
@@ -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..4c127db1b 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
@@ -792,10 +785,11 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,16 +1489,15 @@ 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
@@ -1531,12 +1506,10 @@ CONFIG_GPIO_SYSFS=y
# 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..11ae013e5 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
@@ -791,10 +783,11 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,16 +1471,15 @@ 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
@@ -1514,12 +1488,10 @@ CONFIG_GPIO_SYSFS=y
# 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..805609631 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
@@ -747,10 +740,11 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,16 +1443,15 @@ 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
@@ -1485,12 +1460,10 @@ CONFIG_GPIO_SYSFS=y
# 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..b1bdc13e1 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
@@ -746,10 +738,11 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,16 +1425,15 @@ 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
@@ -1468,12 +1442,10 @@ CONFIG_GPIO_SYSFS=y
# 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..930ad0336 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
@@ -747,10 +740,11 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,16 +1442,15 @@ 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
@@ -1484,12 +1459,10 @@ CONFIG_GPIO_SYSFS=y
# 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..d405b8ba9 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
@@ -746,10 +738,11 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,16 +1424,15 @@ 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
@@ -1467,12 +1441,10 @@ CONFIG_GPIO_SYSFS=y
# 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..9465b3503 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
@@ -742,11 +735,12 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,30 +1400,28 @@ 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
@@ -1455,11 +1429,9 @@ CONFIG_GPIO_SYSFS=y
# 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..ff799a3bd 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
@@ -741,11 +733,12 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,30 +1382,28 @@ 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
@@ -1438,11 +1411,9 @@ CONFIG_GPIO_SYSFS=y
# 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..6cff372e8 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
@@ -811,11 +804,12 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,6 +1618,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
@@ -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..8f09d8b87 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
@@ -810,11 +802,12 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
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,6 +1600,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
@@ -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 773a24527..719207a5a 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -44,13 +44,13 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 100
+%global baserelease 101
%global fedora_build %{baserelease}
# 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}
@@ -59,7 +59,7 @@ Summary: The Linux kernel
# Do we have a -stable update to apply?
-%define stable_update 17
+%define stable_update 3
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -197,6 +197,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
@@ -230,7 +233,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
@@ -340,7 +343,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
@@ -375,7 +378,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}
@@ -396,7 +399,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
@@ -421,7 +424,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
@@ -505,8 +508,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}
@@ -517,46 +527,48 @@ 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
+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
@@ -611,20 +623,18 @@ 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
-#CVE-2017-7487 rhbz 1447734 1450417
-Patch865: 0001-ipx-call-ipxitf_put-in-ioctl-error-path.patch
-
#CVE-2017-9059 rhbz 1451386 1451996
Patch866: 0001-SUNRPC-Refactor-svc_set_num_threads.patch
Patch867: 0002-NFSv4-Fix-callback-server-shutdown.patch
@@ -641,6 +651,23 @@ 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
+#Fix broadwell issues
+Patch675: drm-i915-Do-not-drop-pagetables-when-empty.patch
+
+# rhbz 1455780
+Patch676: 2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch
+
+# Networking fix reported on bodhi
+Patch678: net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch
+
+# rhbz 1458222 1458499
+# As linked from http://marc.info/?l=linux-netdev&m=149336766030175&w=2
+Patch679: actual_udpencap_fix.patch
+
+# rhbz 1459272
+Patch680: 0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch
+Patch681: 0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1243,18 +1270,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
@@ -2213,6 +2235,27 @@ fi
#
#
%changelog
+* Tue Jun 06 2017 Laura Abbott <labbott@redhat.com>
+- Backport hotkey event support for 2017 thinkpad models (rhbz 1459272)
+
+* Mon Jun 05 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-101
+- Bump and build once again
+
+* Mon Jun 05 2017 Laura Abbott <labbott@fedoraproject.org>
+- Actually fix ipsec encapsulation problems (rhbz 1458222 1458499)
+
+* Fri Jun 02 2017 Laura Abbott <labbott@fedoraproject.org>
+- Turn CONFIG_GPIO_SYSFS back on
+
+* Fri Jun 02 2017 Laura Abbott <labbott@fedoraproject.org>
+- Enable Chromebook keyboard backlight (rhbz 1447031)
+
+* Thu Jun 01 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-100
+- Linux v4.11.3
+- Fix for some broadwell issues
+- NVME firmware quirk (rhbz 1455780)
+- Fix for IPv6 tunnels reported on bodhi)
+
* Mon May 22 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.17-100
- Linux v4.10.17
- Fix CVE-2017-8890 CVE-2017-9074 CVE-2017-9075 CVE-2017-9076 CVE-2017-9077
diff --git a/net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch b/net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch
new file mode 100644
index 000000000..ce6ff6cb6
--- /dev/null
+++ b/net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch
@@ -0,0 +1,156 @@
+From 479c281e52ae159f09bb7467c1ef47e3d77ef23a Mon Sep 17 00:00:00 2001
+From: Peter Dawson <petedaws@gmail.com>
+Date: Fri, 26 May 2017 06:35:18 +1000
+Subject: [PATCH] ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated
+ packets
+
+This fix addresses two problems in the way the DSCP field is formulated
+ on the encapsulating header of IPv6 tunnels.
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=195661
+
+1) The IPv6 tunneling code was manipulating the DSCP field of the
+ encapsulating packet using the 32b flowlabel. Since the flowlabel is
+ only the lower 20b it was incorrect to assume that the upper 12b
+ containing the DSCP and ECN fields would remain intact when formulating
+ the encapsulating header. This fix handles the 'inherit' and
+ 'fixed-value' DSCP cases explicitly using the extant dsfield u8 variable.
+
+2) The use of INET_ECN_encapsulate(0, dsfield) in ip6_tnl_xmit was
+ incorrect and resulted in the DSCP value always being set to 0.
+
+Commit 90427ef5d2a4 ("ipv6: fix flow labels when the traffic class
+ is non-0") caused the regression by masking out the flowlabel
+ which exposed the incorrect handling of the DSCP portion of the
+ flowlabel in ip6_tunnel and ip6_gre.
+
+Fixes: 90427ef5d2a4 ("ipv6: fix flow labels when the traffic class is non-0")
+Signed-off-by: Peter Dawson <peter.a.dawson@boeing.com>
+---
+ net/ipv6/ip6_gre.c | 13 +++++++------
+ net/ipv6/ip6_tunnel.c | 21 +++++++++++++--------
+ 2 files changed, 20 insertions(+), 14 deletions(-)
+
+diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c
+index 6fcb7cb..4d60164 100644
+--- a/net/ipv6/ip6_gre.c
++++ b/net/ipv6/ip6_gre.c
+@@ -537,11 +537,10 @@ static inline int ip6gre_xmit_ipv4(struct sk_buff *skb, struct net_device *dev)
+
+ memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6));
+
+- dsfield = ipv4_get_dsfield(iph);
+-
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT)
+- & IPV6_TCLASS_MASK;
++ dsfield = ipv4_get_dsfield(iph);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+ fl6.flowi6_mark = skb->mark;
+
+@@ -596,9 +595,11 @@ static inline int ip6gre_xmit_ipv6(struct sk_buff *skb, struct net_device *dev)
+
+ memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6));
+
+- dsfield = ipv6_get_dsfield(ipv6h);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK);
++ dsfield = ipv6_get_dsfield(ipv6h);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
++
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
+ fl6.flowlabel |= ip6_flowlabel(ipv6h);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
+index a9692ec..15ff339 100644
+--- a/net/ipv6/ip6_tunnel.c
++++ b/net/ipv6/ip6_tunnel.c
+@@ -1196,7 +1196,7 @@ int ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev, __u8 dsfield,
+ skb_push(skb, sizeof(struct ipv6hdr));
+ skb_reset_network_header(skb);
+ ipv6h = ipv6_hdr(skb);
+- ip6_flow_hdr(ipv6h, INET_ECN_encapsulate(0, dsfield),
++ ip6_flow_hdr(ipv6h, dsfield,
+ ip6_make_flowlabel(net, skb, fl6->flowlabel, true, fl6));
+ ipv6h->hop_limit = hop_limit;
+ ipv6h->nexthdr = proto;
+@@ -1231,8 +1231,6 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ if (tproto != IPPROTO_IPIP && tproto != 0)
+ return -1;
+
+- dsfield = ipv4_get_dsfield(iph);
+-
+ if (t->parms.collect_md) {
+ struct ip_tunnel_info *tun_info;
+ const struct ip_tunnel_key *key;
+@@ -1246,6 +1244,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPIP;
+ fl6.daddr = key->u.ipv6.dst;
+ fl6.flowlabel = key->label;
++ dsfield = ip6_tclass(key->label);
+ } else {
+ if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT))
+ encap_limit = t->parms.encap_limit;
+@@ -1254,8 +1253,9 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPIP;
+
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT)
+- & IPV6_TCLASS_MASK;
++ dsfield = ipv4_get_dsfield(iph);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+ fl6.flowi6_mark = skb->mark;
+ }
+@@ -1265,6 +1265,8 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
+ return -1;
+
++ dsfield = INET_ECN_encapsulate(dsfield, ipv4_get_dsfield(iph));
++
+ skb_set_inner_ipproto(skb, IPPROTO_IPIP);
+
+ err = ip6_tnl_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu,
+@@ -1298,8 +1300,6 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ ip6_tnl_addr_conflict(t, ipv6h))
+ return -1;
+
+- dsfield = ipv6_get_dsfield(ipv6h);
+-
+ if (t->parms.collect_md) {
+ struct ip_tunnel_info *tun_info;
+ const struct ip_tunnel_key *key;
+@@ -1313,6 +1313,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPV6;
+ fl6.daddr = key->u.ipv6.dst;
+ fl6.flowlabel = key->label;
++ dsfield = ip6_tclass(key->label);
+ } else {
+ offset = ip6_tnl_parse_tlv_enc_lim(skb, skb_network_header(skb));
+ /* ip6_tnl_parse_tlv_enc_lim() might have reallocated skb->head */
+@@ -1335,7 +1336,9 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPV6;
+
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= (*(__be32 *)ipv6h & IPV6_TCLASS_MASK);
++ dsfield = ipv6_get_dsfield(ipv6h);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
+ fl6.flowlabel |= ip6_flowlabel(ipv6h);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+@@ -1347,6 +1350,8 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
+ return -1;
+
++ dsfield = INET_ECN_encapsulate(dsfield, ipv6_get_dsfield(ipv6h));
++
+ skb_set_inner_ipproto(skb, IPPROTO_IPV6);
+
+ err = ip6_tnl_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu,
+--
+2.7.5
+
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 ea9d93497..c41ee7534 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.17.xz) = 98700d32b4787eae26bdece45563c171b6b8af43a1a15cf5674530fa5cd1dd47fced054b740b568a4a7a1fdbe1b10cdb8126ef43dc92551e06dc4d3245b2fb56
+SHA512 (perf-man-4.11.tar.gz) = 0b070d2f10a743329de2f532e2d7e19ef385a3e6ef3c700b591ae2697604dbe542b36e31121b3e37517ee8071ab800386fa8663c24a5b36520a18e096c6eefc8
+SHA512 (linux-4.11.tar.xz) = 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3
+SHA512 (patch-4.11.3.xz) = d1beb9b48ce12e87bb6ec53f0cf03d5650fd421edd8757d31dda20821c9a9f5b5c3dc8f131058ea8b9de45d67c43424ad246baf5c33e0174372f952cce26ad72
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);