summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0001-HID-multitouch-enable-the-Surface-3-Type-Cover-to-re.patch99
-rw-r--r--0001-Work-around-for-gcc7-and-arm64.patch62
-rw-r--r--0001-drm-mgag200-Black-screen-fix-for-G200e-rev-4.patch58
-rw-r--r--0001-i2c-bcm2835-Debug-test-for-curr_msg.patch29
-rw-r--r--0002-HID-multitouch-enable-the-Surface-4-Type-Cover-Pro-J.patch83
-rw-r--r--0002-drm-nouveau-fbcon-fix-out-of-bounds-memory-accesses.patch138
-rw-r--r--0003-HID-multitouch-enable-Surface-4-Type-Cover-Pro-non-J.patch88
-rw-r--r--0003-drm-nouveau-disp-sor-gf119-both-links-use-the-same-t.patch46
-rw-r--r--0004-drm-nouveau-disp-sor-gm107-training-pattern-register.patch195
-rw-r--r--0005-i915-fbc-Disable-on-HSW-by-default-for-now.patch55
-rw-r--r--ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS.patch33
-rw-r--r--ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca.patch34
-rw-r--r--ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin.patch34
-rw-r--r--Add-option-to-automatically-enforce-module-signature.patch217
-rw-r--r--AllWinner-h3.patch1080
-rw-r--r--AllWinner-net-emac.patch3930
-rw-r--r--Armada-trace-build-fix.patch20
-rw-r--r--CVE-2017-7477.patch73
-rw-r--r--CVE-2017-7645.patch180
-rw-r--r--Fix-tegra-to-use-stdout-path-for-serial-console.patch318
-rw-r--r--Initial-AllWinner-A64-and-PINE64-support.patch1200
-rw-r--r--KEYS-potential-uninitialized-variable.patch30
-rw-r--r--USB-usbfs-fix-potential-infoleak-in-devio.patch41
-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-acpi-drop-expert-patch.patch21
-rw-r--r--arm64-avoid-needing-console-to-enable-serial-console.patch46
-rw-r--r--arm64-hikey-fixes.patch77
-rw-r--r--arm64-pcie-acpi.patch1247
-rw-r--r--arm64-pcie-quirks-xgene.patch508
-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_CFG80211_CRDA_SUPPORT1
-rw-r--r--baseconfig/CONFIG_CGROUP_RDMA1
-rw-r--r--baseconfig/CONFIG_CHARGER_DETECTOR_MAX146561
-rw-r--r--baseconfig/CONFIG_CHARGER_SBS1
-rw-r--r--baseconfig/CONFIG_CM36051
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_HI35191
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT27011
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT81351
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_MT81731
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_OXNAS1
-rw-r--r--baseconfig/CONFIG_COMMON_CLK_VC51
-rw-r--r--baseconfig/CONFIG_COMMON_RESET_HI36601
-rw-r--r--baseconfig/CONFIG_CRYPTO_AES_TI1
-rw-r--r--baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE1
-rw-r--r--baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE1
-rw-r--r--baseconfig/CONFIG_DEBUG_REFCOUNT1
-rw-r--r--baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible1
-rw-r--r--baseconfig/CONFIG_DEVPORT1
-rw-r--r--baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug (renamed from baseconfig/CONFIG_DPM_WATCHDOG)0
-rw-r--r--baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST1
-rw-r--r--baseconfig/CONFIG_DRM_I2C_ADV75332
-rw-r--r--baseconfig/CONFIG_DRM_MALI_DISPLAY1
-rw-r--r--baseconfig/CONFIG_DRM_TINYDRM1
-rw-r--r--baseconfig/CONFIG_DVB_USB_ZD13011
-rw-r--r--baseconfig/CONFIG_EEPROM_IDT_89HPESX1
-rw-r--r--baseconfig/CONFIG_EMAC_ROCKCHIP1
-rw-r--r--baseconfig/CONFIG_EXTCON_INTEL_INT34961
-rw-r--r--baseconfig/CONFIG_FB_GOLDFISH1
-rw-r--r--baseconfig/CONFIG_FSI1
-rw-r--r--baseconfig/CONFIG_GPIO_EXAR1
-rw-r--r--baseconfig/CONFIG_GPIO_PCI_IDIO_161
-rw-r--r--baseconfig/CONFIG_GPIO_SYSFS2
-rw-r--r--baseconfig/CONFIG_GPIO_ZX1
-rw-r--r--baseconfig/CONFIG_HX7111
-rw-r--r--baseconfig/CONFIG_IIO_ST_LSM6DSX1
-rw-r--r--baseconfig/CONFIG_INET6_ESP_OFFLOAD1
-rw-r--r--baseconfig/CONFIG_INET_ESP_OFFLOAD1
-rw-r--r--baseconfig/CONFIG_INFINIBAND_BNXT_RE1
-rw-r--r--baseconfig/CONFIG_INTEL_RDT_A1
-rw-r--r--baseconfig/CONFIG_IPVTAP1
-rw-r--r--baseconfig/CONFIG_IR_SPI1
-rw-r--r--baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY1
-rw-r--r--baseconfig/CONFIG_KPROBE_EVENT1
-rw-r--r--baseconfig/CONFIG_KPROBE_EVENTS1
-rw-r--r--baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED1
-rw-r--r--baseconfig/CONFIG_LPFC_NVME_INITIATOR1
-rw-r--r--baseconfig/CONFIG_LPFC_NVME_TARGET1
-rw-r--r--baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL1
-rw-r--r--baseconfig/CONFIG_MAX111001
-rw-r--r--baseconfig/CONFIG_MAX54811
-rw-r--r--baseconfig/CONFIG_MESON_GXL_PHY1
-rw-r--r--baseconfig/CONFIG_MFD_CPCAP1
-rw-r--r--baseconfig/CONFIG_MOUSE_PS2_VMMOUSE1
-rw-r--r--baseconfig/CONFIG_MQ_IOSCHED_DEADLINE1
-rw-r--r--baseconfig/CONFIG_NET_ACT_SAMPLE1
-rw-r--r--baseconfig/CONFIG_NET_IFE1
-rw-r--r--baseconfig/CONFIG_NET_L3_MASTER_DEV2
-rw-r--r--baseconfig/CONFIG_NET_VENDOR_AMAZON2
-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_HAMRADIO1
-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_QCOM_QDF2400_ERRATUM_00651
-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_DEV_DAX1
-rw-r--r--baseconfig/powerpc/CONFIG_DEV_DAX_PMEM1
-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/CONFIG_NR_DEV_DAX1
-rw-r--r--baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE2
-rw-r--r--baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE_MADVISE1
-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_ENA_ETHERNET1
-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.patch1932
-rw-r--r--bcm283x-mmc-imp-speed.patch107
-rw-r--r--debugconfig/CONFIG_DEBUG_REFCOUNT1
-rw-r--r--efi-Add-EFI_SECURE_BOOT-bit.patch43
-rw-r--r--efi-Add-SHIM-and-image-security-database-GUID-defini.patch31
-rw-r--r--efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch58
-rw-r--r--efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch30
-rw-r--r--efi-lockdown.patch1156
-rw-r--r--ideapad-laptop-Add-Lenovo-ideapad-Y700-17ISK-to-no_h.patch40
-rw-r--r--ipv4-fib-don-t-warn-when-primary-address-is-missing-.patch40
-rw-r--r--kernel-aarch64-debug.config254
-rw-r--r--kernel-aarch64.config254
-rw-r--r--kernel-armv7hl-debug.config257
-rw-r--r--kernel-armv7hl-lpae-debug.config217
-rw-r--r--kernel-armv7hl-lpae.config218
-rw-r--r--kernel-armv7hl.config258
-rw-r--r--kernel-i686-PAE.config141
-rw-r--r--kernel-i686-PAEdebug.config140
-rw-r--r--kernel-i686-debug.config140
-rw-r--r--kernel-i686.config141
-rw-r--r--kernel-ppc64-debug.config172
-rw-r--r--kernel-ppc64.config173
-rw-r--r--kernel-ppc64le-debug.config174
-rw-r--r--kernel-ppc64le.config175
-rw-r--r--kernel-ppc64p7-debug.config174
-rw-r--r--kernel-ppc64p7.config175
-rw-r--r--kernel-s390x-debug.config465
-rw-r--r--kernel-s390x.config466
-rw-r--r--kernel-x86_64-debug.config141
-rw-r--r--kernel-x86_64.config142
-rw-r--r--kernel.spec91
-rw-r--r--kvm-fix-page-struct-leak-in-handle_vmon.patch49
-rw-r--r--kvm-vmx-more-complete-state-update-on-APICv-on-off.patch112
-rw-r--r--media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch45
-rw-r--r--powerpc-prom-Increase-RMA-size-to-512MB.patch52
-rw-r--r--sctp-deny-peeloff-operation-on-asocs-with-threads-sl.patch66
-rw-r--r--selinux-allow-context-mounts-on-tmpfs-etc.patch57
-rw-r--r--sources6
-rw-r--r--ti-bluetooth.patch2480
-rw-r--r--tipc-fix-an-infoleak-in-tipc_nl_compat_link_dump.patch32
-rw-r--r--ucount-Remove-the-atomicity-from-ucount-count.patch89
616 files changed, 12578 insertions, 10549 deletions
diff --git a/0001-HID-multitouch-enable-the-Surface-3-Type-Cover-to-re.patch b/0001-HID-multitouch-enable-the-Surface-3-Type-Cover-to-re.patch
deleted file mode 100644
index 37c896420..000000000
--- a/0001-HID-multitouch-enable-the-Surface-3-Type-Cover-to-re.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 8fe89ef076fa104f514da6ef61d90f5bf93488e3 Mon Sep 17 00:00:00 2001
-From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Date: Fri, 25 Nov 2016 14:27:23 +0100
-Subject: [PATCH] HID: multitouch: enable the Surface 3 Type Cover to report
- multitouch data
-
-There is no reasons to filter out keyboard and consumer control collections
-in hid-multitouch.
-With the previous hid-input fix, there is now a full support of the Type
-Cover and we can remove all specific bits from hid-core and hid-microsoft.
-
-hid-multitouch will automatically set HID_QUIRK_NO_INIT_REPORTS so we can
-also remove it from the list of ushbid quirks.
-
-Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
----
- drivers/hid/hid-core.c | 2 --
- drivers/hid/hid-ids.h | 1 -
- drivers/hid/hid-microsoft.c | 2 --
- drivers/hid/hid-multitouch.c | 4 +++-
- drivers/hid/usbhid/hid-quirks.c | 1 -
- 5 files changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
-index 2b89c70..a5dd7e6 100644
---- a/drivers/hid/hid-core.c
-+++ b/drivers/hid/hid-core.c
-@@ -728,7 +728,6 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 ||
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP ||
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP ||
-- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3 ||
- hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
- hid->group == HID_GROUP_MULTITOUCH)
- hid->group = HID_GROUP_GENERIC;
-@@ -1984,7 +1983,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP) },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) },
-diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index 575aa65..10d1535 100644
---- a/drivers/hid/hid-ids.h
-+++ b/drivers/hid/hid-ids.h
-@@ -719,7 +719,6 @@
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 0x07e2
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP 0x07e9
--#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07de
- #define USB_DEVICE_ID_MS_POWER_COVER 0x07da
-
- #define USB_VENDOR_ID_MOJO 0x8282
-diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c
-index c6cd392..ba02667 100644
---- a/drivers/hid/hid-microsoft.c
-+++ b/drivers/hid/hid-microsoft.c
-@@ -282,8 +282,6 @@ static const struct hid_device_id ms_devices[] = {
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP),
- .driver_data = MS_HIDINPUT },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3),
-- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER),
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD),
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index fb6f1f4..84c56e6 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -842,7 +842,9 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- if (!td->mtclass.export_all_inputs &&
- field->application != HID_DG_TOUCHSCREEN &&
- field->application != HID_DG_PEN &&
-- field->application != HID_DG_TOUCHPAD)
-+ field->application != HID_DG_TOUCHPAD &&
-+ field->application != HID_GD_KEYBOARD &&
-+ field->application != HID_CP_CONSUMER_CONTROL)
- return -1;
-
- /*
-diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
-index e6cfd32..18ae715 100644
---- a/drivers/hid/usbhid/hid-quirks.c
-+++ b/drivers/hid/usbhid/hid-quirks.c
-@@ -102,7 +102,6 @@ static const struct hid_blacklist {
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP, HID_QUIRK_NO_INIT_REPORTS },
-- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS },
---
-2.9.3
-
diff --git a/0001-Work-around-for-gcc7-and-arm64.patch b/0001-Work-around-for-gcc7-and-arm64.patch
deleted file mode 100644
index 88f40be5d..000000000
--- a/0001-Work-around-for-gcc7-and-arm64.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 975dcf140bd307b431aff7b6d671155c796cfe5e Mon Sep 17 00:00:00 2001
-From: Laura Abbott <labbott@redhat.com>
-Date: Sat, 28 Jan 2017 16:13:49 +0100
-Subject: [PATCH] Work around for gcc7 and arm64
-
-Originally proposed by Will Deacon <will.deacon@arm.com>
-
-http://lists.infradead.org/pipermail/linux-arm-kernel/2016-October/462224.html
-
-Signed-off-by: Laura Abbott <labbott@redhat.com>
----
- include/linux/log2.h | 13 ++-----------
- 1 file changed, 2 insertions(+), 11 deletions(-)
-
-diff --git a/include/linux/log2.h b/include/linux/log2.h
-index fd7ff3d91e6a..1ab22b79681e 100644
---- a/include/linux/log2.h
-+++ b/include/linux/log2.h
-@@ -16,12 +16,6 @@
- #include <linux/bitops.h>
-
- /*
-- * deal with unrepresentable constant logarithms
-- */
--extern __attribute__((const, noreturn))
--int ____ilog2_NaN(void);
--
--/*
- * non-constant log of base 2 calculators
- * - the arch may override these in asm/bitops.h if they can be implemented
- * more efficiently than using fls() and fls64()
-@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
- #define ilog2(n) \
- ( \
- __builtin_constant_p(n) ? ( \
-- (n) < 1 ? ____ilog2_NaN() : \
-+ (n) < 1 ? 0 : \
- (n) & (1ULL << 63) ? 63 : \
- (n) & (1ULL << 62) ? 62 : \
- (n) & (1ULL << 61) ? 61 : \
-@@ -149,9 +143,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
- (n) & (1ULL << 3) ? 3 : \
- (n) & (1ULL << 2) ? 2 : \
- (n) & (1ULL << 1) ? 1 : \
-- (n) & (1ULL << 0) ? 0 : \
-- ____ilog2_NaN() \
-- ) : \
-+ 0 ) : \
- (sizeof(n) <= 4) ? \
- __ilog2_u32(n) : \
- __ilog2_u64(n) \
-@@ -194,7 +186,6 @@ unsigned long __rounddown_pow_of_two(unsigned long n)
- * @n: parameter
- *
- * The first few values calculated by this routine:
-- * ob2(0) = 0
- * ob2(1) = 0
- * ob2(2) = 1
- * ob2(3) = 2
---
-2.11.0
-
diff --git a/0001-drm-mgag200-Black-screen-fix-for-G200e-rev-4.patch b/0001-drm-mgag200-Black-screen-fix-for-G200e-rev-4.patch
deleted file mode 100644
index e583d09e8..000000000
--- a/0001-drm-mgag200-Black-screen-fix-for-G200e-rev-4.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 1e5895f2c6068fb9ae5356e3a751a29a22af5f01 Mon Sep 17 00:00:00 2001
-From: Fedora Kernel Team <kernel-team@fedoraproject.org>
-Date: Mon, 20 Jun 2016 14:53:03 +0200
-Subject: [PATCH 1/6] drm/mgag200: Black screen fix for G200e rev 4
-
-Upstream: since drm-fixes-for-v4.7
-commit d3922b69617b62bb2509936b68301f837229d9f0
-
-Author: Mathieu Larouche <mathieu.larouche@matrox.com>
-AuthorDate: Fri May 27 15:12:50 2016 -0400
-Commit: Dave Airlie <airlied@redhat.com>
-CommitDate: Wed Jun 1 15:25:04 2016 +1000
-
- drm/mgag200: Black screen fix for G200e rev 4
-
- - Fixed black screen for some resolutions of G200e rev4
- - Fixed testm & testn which had predetermined value.
-
- Reported-by: Jan Beulich <jbeulich@suse.com>
-
- Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>
- Cc: stable@vger.kernel.org
- Signed-off-by: Dave Airlie <airlied@redhat.com>
----
- drivers/gpu/drm/mgag200/mgag200_mode.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
-index 14e64e0..d347dca 100644
---- a/drivers/gpu/drm/mgag200/mgag200_mode.c
-+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
-@@ -182,7 +182,7 @@ static int mga_g200se_set_plls(struct mga_device *mdev, long clock)
- }
- }
-
-- fvv = pllreffreq * testn / testm;
-+ fvv = pllreffreq * (n + 1) / (m + 1);
- fvv = (fvv - 800000) / 50000;
-
- if (fvv > 15)
-@@ -202,6 +202,14 @@ static int mga_g200se_set_plls(struct mga_device *mdev, long clock)
- WREG_DAC(MGA1064_PIX_PLLC_M, m);
- WREG_DAC(MGA1064_PIX_PLLC_N, n);
- WREG_DAC(MGA1064_PIX_PLLC_P, p);
-+
-+ if (mdev->unique_rev_id >= 0x04) {
-+ WREG_DAC(0x1a, 0x09);
-+ msleep(20);
-+ WREG_DAC(0x1a, 0x01);
-+
-+ }
-+
- return 0;
- }
-
---
-2.7.4
-
diff --git a/0001-i2c-bcm2835-Debug-test-for-curr_msg.patch b/0001-i2c-bcm2835-Debug-test-for-curr_msg.patch
deleted file mode 100644
index 4d4f0cb0f..000000000
--- a/0001-i2c-bcm2835-Debug-test-for-curr_msg.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 81c53729ee7c7f721c357ed3b531ebc97ca44051 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Wed, 15 Feb 2017 11:57:57 -0800
-Subject: [PATCH] i2c-bcm2835: Debug test for curr_msg
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- drivers/i2c/busses/i2c-bcm2835.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
-index c3436f627028..a75fab4dd660 100644
---- a/drivers/i2c/busses/i2c-bcm2835.c
-+++ b/drivers/i2c/busses/i2c-bcm2835.c
-@@ -195,7 +195,10 @@ static irqreturn_t bcm2835_i2c_isr(int this_irq, void *data)
- }
-
- if (val & BCM2835_I2C_S_DONE) {
-- if (i2c_dev->curr_msg->flags & I2C_M_RD) {
-+ if (!i2c_dev->curr_msg) {
-+ dev_info(i2c_dev->dev,
-+ "Processing DONE interrupt with no msg\n");
-+ } else if (i2c_dev->curr_msg->flags & I2C_M_RD) {
- bcm2835_drain_rxfifo(i2c_dev);
- val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S);
- }
---
-2.11.0
-
diff --git a/0002-HID-multitouch-enable-the-Surface-4-Type-Cover-Pro-J.patch b/0002-HID-multitouch-enable-the-Surface-4-Type-Cover-Pro-J.patch
deleted file mode 100644
index 40b010bb3..000000000
--- a/0002-HID-multitouch-enable-the-Surface-4-Type-Cover-Pro-J.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 4fed0231994b27b3896bc63885ac66d02fff625b Mon Sep 17 00:00:00 2001
-From: Yuta Kobayashi <alu.ula@outlook.com>
-Date: Mon, 19 Dec 2016 02:36:45 +0000
-Subject: [PATCH] HID: multitouch: enable the Surface 4 Type Cover Pro (JP) to
- report multitouch data
-
-Since commit 8fe89ef076fa1 ("HID: multitouch: enable the Surface 3 Type
-Cover to report multitouch data"), the TypeCover can be properly handled
-by hid-multitouch and don't require any special quirk in the kernel.
-
-Remove the support of the Surface 4 Type Cover Pro (JP) from
-hid-microsoft so it can properly report multitouch from the touchpad.
-
-Signed-off-by: Yuta Kobayashi <alu.ula@outlook.com>
-Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
----
- drivers/hid/hid-core.c | 2 --
- drivers/hid/hid-ids.h | 1 -
- drivers/hid/hid-microsoft.c | 2 --
- drivers/hid/usbhid/hid-quirks.c | 1 -
- 4 files changed, 6 deletions(-)
-
-diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
-index cff060b..db87d91 100644
---- a/drivers/hid/hid-core.c
-+++ b/drivers/hid/hid-core.c
-@@ -729,7 +729,6 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP ||
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 ||
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2 ||
-- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP ||
- hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
- hid->group == HID_GROUP_MULTITOUCH)
- hid->group = HID_GROUP_GENERIC;
-@@ -1990,7 +1989,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2) },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) },
-diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index ec277b9..55758f7 100644
---- a/drivers/hid/hid-ids.h
-+++ b/drivers/hid/hid-ids.h
-@@ -723,7 +723,6 @@
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e4
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2 0x07e8
--#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP 0x07e9
- #define USB_DEVICE_ID_MS_POWER_COVER 0x07da
-
- #define USB_VENDOR_ID_MOJO 0x8282
-diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c
-index 74b7b84..2b706b5 100644
---- a/drivers/hid/hid-microsoft.c
-+++ b/drivers/hid/hid-microsoft.c
-@@ -284,8 +284,6 @@ static const struct hid_device_id ms_devices[] = {
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2),
- .driver_data = MS_HIDINPUT },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP),
-- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER),
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD),
-diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
-index b3e01c8..ebb8e95c 100644
---- a/drivers/hid/usbhid/hid-quirks.c
-+++ b/drivers/hid/usbhid/hid-quirks.c
-@@ -105,7 +105,6 @@ static const struct hid_blacklist {
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2, HID_QUIRK_NO_INIT_REPORTS },
-- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS },
---
-2.9.3
-
diff --git a/0002-drm-nouveau-fbcon-fix-out-of-bounds-memory-accesses.patch b/0002-drm-nouveau-fbcon-fix-out-of-bounds-memory-accesses.patch
deleted file mode 100644
index d1c32b439..000000000
--- a/0002-drm-nouveau-fbcon-fix-out-of-bounds-memory-accesses.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 02510a8805db2c3f8ca2926f90c4b3793934404a Mon Sep 17 00:00:00 2001
-From: Fedora Kernel Team <kernel-team@fedoraproject.org>
-Date: Mon, 20 Jun 2016 14:51:45 +0200
-Subject: [PATCH 2/6] drm/nouveau/fbcon: fix out-of-bounds memory accesses
-
-Upstream: drm-fixes for 4.7 (and cc'd 4.6-stable)
-commit f045f459d925138fe7d6193a8c86406bda7e49da
-
-Author: Ben Skeggs <bskeggs@redhat.com>
-AuthorDate: Thu Jun 2 12:23:31 2016 +1000
-Commit: Ben Skeggs <bskeggs@redhat.com>
-CommitDate: Thu Jun 2 13:53:44 2016 +1000
-
- drm/nouveau/fbcon: fix out-of-bounds memory accesses
-
- Reported by KASAN.
-
- Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
- Cc: stable@vger.kernel.org
----
- drivers/gpu/drm/nouveau/nouveau_fbcon.c | 1 +
- drivers/gpu/drm/nouveau/nv04_fbcon.c | 7 ++-----
- drivers/gpu/drm/nouveau/nv50_fbcon.c | 6 ++----
- drivers/gpu/drm/nouveau/nvc0_fbcon.c | 6 ++----
- 4 files changed, 7 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
-index 59f27e7..bd89c86 100644
---- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
-+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
-@@ -557,6 +557,7 @@ nouveau_fbcon_init(struct drm_device *dev)
- if (ret)
- goto fini;
-
-+ fbcon->helper.fbdev->pixmap.buf_align = 4;
- return 0;
-
- fini:
-diff --git a/drivers/gpu/drm/nouveau/nv04_fbcon.c b/drivers/gpu/drm/nouveau/nv04_fbcon.c
-index 789dc29..8f715fe 100644
---- a/drivers/gpu/drm/nouveau/nv04_fbcon.c
-+++ b/drivers/gpu/drm/nouveau/nv04_fbcon.c
-@@ -82,7 +82,6 @@ nv04_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- uint32_t fg;
- uint32_t bg;
- uint32_t dsize;
-- uint32_t width;
- uint32_t *data = (uint32_t *)image->data;
- int ret;
-
-@@ -93,9 +92,6 @@ nv04_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- if (ret)
- return ret;
-
-- width = ALIGN(image->width, 8);
-- dsize = ALIGN(width * image->height, 32) >> 5;
--
- if (info->fix.visual == FB_VISUAL_TRUECOLOR ||
- info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
- fg = ((uint32_t *) info->pseudo_palette)[image->fg_color];
-@@ -111,10 +107,11 @@ nv04_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- ((image->dx + image->width) & 0xffff));
- OUT_RING(chan, bg);
- OUT_RING(chan, fg);
-- OUT_RING(chan, (image->height << 16) | width);
-+ OUT_RING(chan, (image->height << 16) | image->width);
- OUT_RING(chan, (image->height << 16) | image->width);
- OUT_RING(chan, (image->dy << 16) | (image->dx & 0xffff));
-
-+ dsize = ALIGN(image->width * image->height, 32) >> 5;
- while (dsize) {
- int iter_len = dsize > 128 ? 128 : dsize;
-
-diff --git a/drivers/gpu/drm/nouveau/nv50_fbcon.c b/drivers/gpu/drm/nouveau/nv50_fbcon.c
-index e05499d..a4e259a 100644
---- a/drivers/gpu/drm/nouveau/nv50_fbcon.c
-+++ b/drivers/gpu/drm/nouveau/nv50_fbcon.c
-@@ -95,7 +95,7 @@ nv50_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- struct nouveau_fbdev *nfbdev = info->par;
- struct nouveau_drm *drm = nouveau_drm(nfbdev->dev);
- struct nouveau_channel *chan = drm->channel;
-- uint32_t width, dwords, *data = (uint32_t *)image->data;
-+ uint32_t dwords, *data = (uint32_t *)image->data;
- uint32_t mask = ~(~0 >> (32 - info->var.bits_per_pixel));
- uint32_t *palette = info->pseudo_palette;
- int ret;
-@@ -107,9 +107,6 @@ nv50_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- if (ret)
- return ret;
-
-- width = ALIGN(image->width, 32);
-- dwords = (width * image->height) >> 5;
--
- BEGIN_NV04(chan, NvSub2D, 0x0814, 2);
- if (info->fix.visual == FB_VISUAL_TRUECOLOR ||
- info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
-@@ -128,6 +125,7 @@ nv50_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- OUT_RING(chan, 0);
- OUT_RING(chan, image->dy);
-
-+ dwords = ALIGN(image->width * image->height, 32) >> 5;
- while (dwords) {
- int push = dwords > 2047 ? 2047 : dwords;
-
-diff --git a/drivers/gpu/drm/nouveau/nvc0_fbcon.c b/drivers/gpu/drm/nouveau/nvc0_fbcon.c
-index c97395b..f28315e 100644
---- a/drivers/gpu/drm/nouveau/nvc0_fbcon.c
-+++ b/drivers/gpu/drm/nouveau/nvc0_fbcon.c
-@@ -95,7 +95,7 @@ nvc0_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- struct nouveau_fbdev *nfbdev = info->par;
- struct nouveau_drm *drm = nouveau_drm(nfbdev->dev);
- struct nouveau_channel *chan = drm->channel;
-- uint32_t width, dwords, *data = (uint32_t *)image->data;
-+ uint32_t dwords, *data = (uint32_t *)image->data;
- uint32_t mask = ~(~0 >> (32 - info->var.bits_per_pixel));
- uint32_t *palette = info->pseudo_palette;
- int ret;
-@@ -107,9 +107,6 @@ nvc0_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- if (ret)
- return ret;
-
-- width = ALIGN(image->width, 32);
-- dwords = (width * image->height) >> 5;
--
- BEGIN_NVC0(chan, NvSub2D, 0x0814, 2);
- if (info->fix.visual == FB_VISUAL_TRUECOLOR ||
- info->fix.visual == FB_VISUAL_DIRECTCOLOR) {
-@@ -128,6 +125,7 @@ nvc0_fbcon_imageblit(struct fb_info *info, const struct fb_image *image)
- OUT_RING (chan, 0);
- OUT_RING (chan, image->dy);
-
-+ dwords = ALIGN(image->width * image->height, 32) >> 5;
- while (dwords) {
- int push = dwords > 2047 ? 2047 : dwords;
-
---
-2.7.4
-
diff --git a/0003-HID-multitouch-enable-Surface-4-Type-Cover-Pro-non-J.patch b/0003-HID-multitouch-enable-Surface-4-Type-Cover-Pro-non-J.patch
deleted file mode 100644
index 22bc8b482..000000000
--- a/0003-HID-multitouch-enable-Surface-4-Type-Cover-Pro-non-J.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 66e5c5ffc7a5e4d36d136ce4fd8bdb4e92ecec7b Mon Sep 17 00:00:00 2001
-From: Daniel Keller <daniel.keller@gcd.de>
-Date: Tue, 10 Jan 2017 20:39:31 +0100
-Subject: [PATCH] HID: multitouch: enable Surface 4 Type Cover Pro (non-JP) to
- report multitouch data
-
-Nearly identical to the patch "multitouch: enable the Surface 4 Type Cover Pro
-(JP) to report multitouch data"
-
-We can now remove the support of the Surface 4 Type Cover Pro (not JP versions)
-from hid-microsoft so it can properly report multi touch from the touchpad.
-
-Signed-off-by: Daniel Keller <daniel.keller@gcd.de>
-Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
----
- drivers/hid/hid-core.c | 4 ----
- drivers/hid/hid-ids.h | 2 --
- drivers/hid/hid-microsoft.c | 4 ----
- drivers/hid/usbhid/hid-quirks.c | 2 --
- 4 files changed, 12 deletions(-)
-
-diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
-index db87d91..1ff9142 100644
---- a/drivers/hid/hid-core.c
-+++ b/drivers/hid/hid-core.c
-@@ -727,8 +727,6 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)
- (hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 ||
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 ||
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP ||
-- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 ||
-- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2 ||
- hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
- hid->group == HID_GROUP_MULTITOUCH)
- hid->group = HID_GROUP_GENERIC;
-@@ -1987,8 +1985,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4) },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) },
-diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index 55758f7..9d87716 100644
---- a/drivers/hid/hid-ids.h
-+++ b/drivers/hid/hid-ids.h
-@@ -721,8 +721,6 @@
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 0x07dc
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 0x07e2
- #define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd
--#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4 0x07e4
--#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2 0x07e8
- #define USB_DEVICE_ID_MS_POWER_COVER 0x07da
-
- #define USB_VENDOR_ID_MOJO 0x8282
-diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c
-index 2b706b5..d856726 100644
---- a/drivers/hid/hid-microsoft.c
-+++ b/drivers/hid/hid-microsoft.c
-@@ -280,10 +280,6 @@ static const struct hid_device_id ms_devices[] = {
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP),
- .driver_data = MS_HIDINPUT },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4),
-- .driver_data = MS_HIDINPUT },
-- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2),
-- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER),
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD),
-diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
-index ebb8e95c..6108649 100644
---- a/drivers/hid/usbhid/hid-quirks.c
-+++ b/drivers/hid/usbhid/hid-quirks.c
-@@ -103,8 +103,6 @@ static const struct hid_blacklist {
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP, HID_QUIRK_NO_INIT_REPORTS },
-- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4, HID_QUIRK_NO_INIT_REPORTS },
-- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_2, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS },
- { USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS },
---
-2.9.3
-
diff --git a/0003-drm-nouveau-disp-sor-gf119-both-links-use-the-same-t.patch b/0003-drm-nouveau-disp-sor-gf119-both-links-use-the-same-t.patch
deleted file mode 100644
index b93bdff17..000000000
--- a/0003-drm-nouveau-disp-sor-gf119-both-links-use-the-same-t.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From de35f524e89daf8862d49724b9045f9254bfdfea Mon Sep 17 00:00:00 2001
-From: Fedora Kernel Team <kernel-team@fedoraproject.org>
-Date: Mon, 20 Jun 2016 14:52:01 +0200
-Subject: [PATCH 3/6] drm/nouveau/disp/sor/gf119: both links use the same
- training register
-
-Upstream: drm-fixes for 4.7 (and cc'd 4.6-stable)
-commit a8953c52b95167b5d21a66f0859751570271d834
-
-Author: Ben Skeggs <bskeggs@redhat.com>
-AuthorDate: Fri Jun 3 14:37:40 2016 +1000
-Commit: Ben Skeggs <bskeggs@redhat.com>
-CommitDate: Tue Jun 7 08:11:14 2016 +1000
-
- drm/nouveau/disp/sor/gf119: both links use the same training register
-
- It appears that, for whatever reason, both link A and B use the same
- register to control the training pattern. It's a little odd, as the
- GPUs before this (Tesla/Fermi1) have per-link registers, as do newer
- GPUs (Maxwell).
-
- Fixes the third DP output on NVS 510 (GK107).
-
- Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
- Cc: stable@vger.kernel.org
----
- drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
-index b4b41b1..5111560 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
-@@ -40,8 +40,7 @@ static int
- gf119_sor_dp_pattern(struct nvkm_output_dp *outp, int pattern)
- {
- struct nvkm_device *device = outp->base.disp->engine.subdev.device;
-- const u32 loff = gf119_sor_loff(outp);
-- nvkm_mask(device, 0x61c110 + loff, 0x0f0f0f0f, 0x01010101 * pattern);
-+ nvkm_mask(device, 0x61c110, 0x0f0f0f0f, 0x01010101 * pattern);
- return 0;
- }
-
---
-2.7.4
-
diff --git a/0004-drm-nouveau-disp-sor-gm107-training-pattern-register.patch b/0004-drm-nouveau-disp-sor-gm107-training-pattern-register.patch
deleted file mode 100644
index a0b6171d8..000000000
--- a/0004-drm-nouveau-disp-sor-gm107-training-pattern-register.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From eb4668302adce316f53896b0fd8144ffe380a3ad Mon Sep 17 00:00:00 2001
-From: Fedora Kernel Team <kernel-team@fedoraproject.org>
-Date: Mon, 20 Jun 2016 14:52:06 +0200
-Subject: [PATCH 4/6] drm/nouveau/disp/sor/gm107: training pattern registers
- are like gm200
-
-Upstream: drm-fixes for 4.7 (and cc'd 4.6-stable)
-commit 4691409b3e2250ed66aa8dcefa23fe765daf7add
-
-Author: Ben Skeggs <bskeggs@redhat.com>
-AuthorDate: Fri Jun 3 15:05:52 2016 +1000
-Commit: Ben Skeggs <bskeggs@redhat.com>
-CommitDate: Tue Jun 7 08:11:25 2016 +1000
-
- drm/nouveau/disp/sor/gm107: training pattern registers are like gm200
-
- Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
- Cc: stable@vger.kernel.org
----
- drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 +
- drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c | 2 +-
- drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h | 9 +++-
- .../gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c | 2 +-
- .../nvkm/engine/disp/{gm107.c => sorgm107.c} | 50 +++++++++++-----------
- .../gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c | 15 +------
- 6 files changed, 36 insertions(+), 43 deletions(-)
- copy drivers/gpu/drm/nouveau/nvkm/engine/disp/{gm107.c => sorgm107.c} (55%)
-
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
-index a74c5dd..e2a64ed 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild
-@@ -18,6 +18,7 @@ nvkm-y += nvkm/engine/disp/piornv50.o
- nvkm-y += nvkm/engine/disp/sornv50.o
- nvkm-y += nvkm/engine/disp/sorg94.o
- nvkm-y += nvkm/engine/disp/sorgf119.o
-+nvkm-y += nvkm/engine/disp/sorgm107.o
- nvkm-y += nvkm/engine/disp/sorgm200.o
- nvkm-y += nvkm/engine/disp/dport.o
-
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
-index b694414..f4b9cf8 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
-@@ -36,7 +36,7 @@ gm107_disp = {
- .outp.internal.crt = nv50_dac_output_new,
- .outp.internal.tmds = nv50_sor_output_new,
- .outp.internal.lvds = nv50_sor_output_new,
-- .outp.internal.dp = gf119_sor_dp_new,
-+ .outp.internal.dp = gm107_sor_dp_new,
- .dac.nr = 3,
- .dac.power = nv50_dac_power,
- .dac.sense = nv50_dac_sense,
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h
-index e9067ba..4e983f6 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outpdp.h
-@@ -62,7 +62,12 @@ int g94_sor_dp_lnk_pwr(struct nvkm_output_dp *, int);
- int gf119_sor_dp_new(struct nvkm_disp *, int, struct dcb_output *,
- struct nvkm_output **);
- int gf119_sor_dp_lnk_ctl(struct nvkm_output_dp *, int, int, bool);
-+int gf119_sor_dp_drv_ctl(struct nvkm_output_dp *, int, int, int, int);
-
--int gm200_sor_dp_new(struct nvkm_disp *, int, struct dcb_output *,
-- struct nvkm_output **);
-+int gm107_sor_dp_new(struct nvkm_disp *, int, struct dcb_output *,
-+ struct nvkm_output **);
-+int gm107_sor_dp_pattern(struct nvkm_output_dp *, int);
-+
-+int gm200_sor_dp_new(struct nvkm_disp *, int, struct dcb_output *,
-+ struct nvkm_output **);
- #endif
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
-index 5111560..22706c0 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c
-@@ -63,7 +63,7 @@ gf119_sor_dp_lnk_ctl(struct nvkm_output_dp *outp, int nr, int bw, bool ef)
- return 0;
- }
-
--static int
-+int
- gf119_sor_dp_drv_ctl(struct nvkm_output_dp *outp,
- int ln, int vs, int pe, int pc)
- {
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c
-similarity index 55%
-copy from drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
-copy to drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c
-index b694414..37790b2 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gm107.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2012 Red Hat Inc.
-+ * Copyright 2016 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
-@@ -19,35 +19,35 @@
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
-- * Authors: Ben Skeggs
-+ * Authors: Ben Skeggs <bskeggs@redhat.com>
- */
- #include "nv50.h"
--#include "rootnv50.h"
-+#include "outpdp.h"
-
--static const struct nv50_disp_func
--gm107_disp = {
-- .intr = gf119_disp_intr,
-- .uevent = &gf119_disp_chan_uevent,
-- .super = gf119_disp_intr_supervisor,
-- .root = &gm107_disp_root_oclass,
-- .head.vblank_init = gf119_disp_vblank_init,
-- .head.vblank_fini = gf119_disp_vblank_fini,
-- .head.scanoutpos = gf119_disp_root_scanoutpos,
-- .outp.internal.crt = nv50_dac_output_new,
-- .outp.internal.tmds = nv50_sor_output_new,
-- .outp.internal.lvds = nv50_sor_output_new,
-- .outp.internal.dp = gf119_sor_dp_new,
-- .dac.nr = 3,
-- .dac.power = nv50_dac_power,
-- .dac.sense = nv50_dac_sense,
-- .sor.nr = 4,
-- .sor.power = nv50_sor_power,
-- .sor.hda_eld = gf119_hda_eld,
-- .sor.hdmi = gk104_hdmi_ctrl,
-+int
-+gm107_sor_dp_pattern(struct nvkm_output_dp *outp, int pattern)
-+{
-+ struct nvkm_device *device = outp->base.disp->engine.subdev.device;
-+ const u32 soff = outp->base.or * 0x800;
-+ const u32 data = 0x01010101 * pattern;
-+ if (outp->base.info.sorconf.link & 1)
-+ nvkm_mask(device, 0x61c110 + soff, 0x0f0f0f0f, data);
-+ else
-+ nvkm_mask(device, 0x61c12c + soff, 0x0f0f0f0f, data);
-+ return 0;
-+}
-+
-+static const struct nvkm_output_dp_func
-+gm107_sor_dp_func = {
-+ .pattern = gm107_sor_dp_pattern,
-+ .lnk_pwr = g94_sor_dp_lnk_pwr,
-+ .lnk_ctl = gf119_sor_dp_lnk_ctl,
-+ .drv_ctl = gf119_sor_dp_drv_ctl,
- };
-
- int
--gm107_disp_new(struct nvkm_device *device, int index, struct nvkm_disp **pdisp)
-+gm107_sor_dp_new(struct nvkm_disp *disp, int index,
-+ struct dcb_output *dcbE, struct nvkm_output **poutp)
- {
-- return gf119_disp_new_(&gm107_disp, device, index, pdisp);
-+ return nvkm_output_dp_new_(&gm107_sor_dp_func, disp, index, dcbE, poutp);
- }
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c
-index 2cfbef9..c44fa7e 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c
-@@ -57,19 +57,6 @@ gm200_sor_dp_lane_map(struct nvkm_device *device, u8 lane)
- }
-
- static int
--gm200_sor_dp_pattern(struct nvkm_output_dp *outp, int pattern)
--{
-- struct nvkm_device *device = outp->base.disp->engine.subdev.device;
-- const u32 soff = gm200_sor_soff(outp);
-- const u32 data = 0x01010101 * pattern;
-- if (outp->base.info.sorconf.link & 1)
-- nvkm_mask(device, 0x61c110 + soff, 0x0f0f0f0f, data);
-- else
-- nvkm_mask(device, 0x61c12c + soff, 0x0f0f0f0f, data);
-- return 0;
--}
--
--static int
- gm200_sor_dp_lnk_pwr(struct nvkm_output_dp *outp, int nr)
- {
- struct nvkm_device *device = outp->base.disp->engine.subdev.device;
-@@ -129,7 +116,7 @@ gm200_sor_dp_drv_ctl(struct nvkm_output_dp *outp,
-
- static const struct nvkm_output_dp_func
- gm200_sor_dp_func = {
-- .pattern = gm200_sor_dp_pattern,
-+ .pattern = gm107_sor_dp_pattern,
- .lnk_pwr = gm200_sor_dp_lnk_pwr,
- .lnk_ctl = gf119_sor_dp_lnk_ctl,
- .drv_ctl = gm200_sor_dp_drv_ctl,
---
-2.7.4
-
diff --git a/0005-i915-fbc-Disable-on-HSW-by-default-for-now.patch b/0005-i915-fbc-Disable-on-HSW-by-default-for-now.patch
deleted file mode 100644
index d95f2f4d0..000000000
--- a/0005-i915-fbc-Disable-on-HSW-by-default-for-now.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 28d0147bded959b2c4d3eb1aa957452d5dbb0cc9 Mon Sep 17 00:00:00 2001
-From: Fedora Kernel Team <kernel-team@fedoraproject.org>
-Date: Mon, 20 Jun 2016 14:52:10 +0200
-Subject: [PATCH 5/6] i915/fbc: Disable on HSW by default for now
-
-Upstream: posted on dri-devel (and r-b'd)
-
-Author: cpaul@redhat.com <cpaul@redhat.com>
-AuthorDate: Thu Jun 9 11:58:15 2016 -0400
-Commit: Rob Clark <rclark@redhat.com>
-CommitDate: Thu Jun 9 15:43:07 2016 -0400
-
- i915/fbc: Disable on HSW by default for now
-
- >From https://bugs.freedesktop.org/show_bug.cgi?id=96461 :
-
- This was kind of a difficult bug to track down. If you're using a
- Haswell system running GNOME and you have fbc completely enabled and
- working, playing videos can result in video artifacts. Steps to
- reproduce:
-
- - Run GNOME
- - Ensure FBC is enabled and active
- - Download a movie, I used the ogg version of Big Buck Bunny for this
- - Run `gst-launch-1.0 filesrc location='some_movie.ogg' ! decodebin !
- glimagesink` in a terminal
- - Watch for about over a minute, you'll see small horizontal lines go
- down the screen.
-
- For the time being, disable FBC for Haswell by default.
-
- Signed-off-by: Lyude <cpaul@redhat.com>
- Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
- Cc: stable@vger.kernel.org
----
- drivers/gpu/drm/i915/intel_fbc.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
-index 0f0492f..28f4407 100644
---- a/drivers/gpu/drm/i915/intel_fbc.c
-+++ b/drivers/gpu/drm/i915/intel_fbc.c
-@@ -823,8 +823,7 @@ static bool intel_fbc_can_choose(struct intel_crtc *crtc)
- {
- struct drm_i915_private *dev_priv = crtc->base.dev->dev_private;
- struct intel_fbc *fbc = &dev_priv->fbc;
-- bool enable_by_default = IS_HASWELL(dev_priv) ||
-- IS_BROADWELL(dev_priv);
-+ bool enable_by_default = IS_BROADWELL(dev_priv);
-
- if (intel_vgpu_active(dev_priv->dev)) {
- fbc->no_fbc_reason = "VGPU is active";
---
-2.7.4
-
diff --git a/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS.patch b/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS.patch
deleted file mode 100644
index 3eb8bf183..000000000
--- a/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 527a5767c165abd2b4dba99da992c51ca7547562 Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu@gmail.com>
-Date: Tue, 3 May 2016 16:44:07 -0400
-Subject: [PATCH 1/3] ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The stack object “tread” has a total size of 32 bytes. Its field
-“event” and “val” both contain 4 bytes padding. These 8 bytes
-padding bytes are sent to user without being initialized.
-
-Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
----
- sound/core/timer.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/core/timer.c b/sound/core/timer.c
-index 6469bedda2f3..964f5ebf495e 100644
---- a/sound/core/timer.c
-+++ b/sound/core/timer.c
-@@ -1739,6 +1739,7 @@ static int snd_timer_user_params(struct file *file,
- if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) {
- if (tu->tread) {
- struct snd_timer_tread tread;
-+ memset(&tread, 0, sizeof(tread));
- tread.event = SNDRV_TIMER_EVENT_EARLY;
- tread.tstamp.tv_sec = 0;
- tread.tstamp.tv_nsec = 0;
---
-2.5.5
-
diff --git a/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca.patch b/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca.patch
deleted file mode 100644
index e6f46f8a8..000000000
--- a/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From addd6e9f0e25efb00d813d54528607c75b77c416 Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu@gmail.com>
-Date: Tue, 3 May 2016 16:44:20 -0400
-Subject: [PATCH 2/3] ALSA: timer: Fix leak in events via
- snd_timer_user_ccallback
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The stack object “r1” has a total size of 32 bytes. Its field
-“event” and “val” both contain 4 bytes padding. These 8 bytes
-padding bytes are sent to user without being initialized.
-
-Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
----
- sound/core/timer.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/core/timer.c b/sound/core/timer.c
-index 964f5ebf495e..e98fa5feb731 100644
---- a/sound/core/timer.c
-+++ b/sound/core/timer.c
-@@ -1225,6 +1225,7 @@ static void snd_timer_user_ccallback(struct snd_timer_instance *timeri,
- tu->tstamp = *tstamp;
- if ((tu->filter & (1 << event)) == 0 || !tu->tread)
- return;
-+ memset(&r1, 0, sizeof(r1));
- r1.event = event;
- r1.tstamp = *tstamp;
- r1.val = resolution;
---
-2.5.5
-
diff --git a/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin.patch b/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin.patch
deleted file mode 100644
index 7851c55a2..000000000
--- a/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From b06a443b5679e9a0298e2f206ddb60845569f62f Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu@gmail.com>
-Date: Tue, 3 May 2016 16:44:32 -0400
-Subject: [PATCH 3/3] ALSA: timer: Fix leak in events via
- snd_timer_user_tinterrupt
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The stack object “r1” has a total size of 32 bytes. Its field
-“event” and “val” both contain 4 bytes padding. These 8 bytes
-padding bytes are sent to user without being initialized.
-
-Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
----
- sound/core/timer.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/core/timer.c b/sound/core/timer.c
-index e98fa5feb731..c69a27155433 100644
---- a/sound/core/timer.c
-+++ b/sound/core/timer.c
-@@ -1268,6 +1268,7 @@ static void snd_timer_user_tinterrupt(struct snd_timer_instance *timeri,
- }
- if ((tu->filter & (1 << SNDRV_TIMER_EVENT_RESOLUTION)) &&
- tu->last_resolution != resolution) {
-+ memset(&r1, 0, sizeof(r1));
- r1.event = SNDRV_TIMER_EVENT_RESOLUTION;
- r1.tstamp = tstamp;
- r1.val = resolution;
---
-2.5.5
-
diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch
deleted file mode 100644
index ebabac62e..000000000
--- a/Add-option-to-automatically-enforce-module-signature.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-From 6b6203b92cfb457a0669a9c87a29b360405bffc6 Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Fri, 9 Aug 2013 18:36:30 -0400
-Subject: [PATCH 10/20] Add option to automatically enforce module signatures
- when in Secure Boot mode
-
-UEFI Secure Boot provides a mechanism for ensuring that the firmware will
-only load signed bootloaders and kernels. Certain use cases may also
-require that all kernel modules also be signed. Add a configuration option
-that enforces this automatically when enabled.
-
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
----
- Documentation/x86/zero-page.txt | 2 ++
- arch/x86/Kconfig | 11 ++++++
- arch/x86/boot/compressed/eboot.c | 66 +++++++++++++++++++++++++++++++++++
- arch/x86/include/uapi/asm/bootparam.h | 3 +-
- arch/x86/kernel/setup.c | 6 ++++
- include/linux/module.h | 6 ++++
- kernel/module.c | 7 ++++
- 7 files changed, 100 insertions(+), 1 deletion(-)
-
-diff --git a/Documentation/x86/zero-page.txt b/Documentation/x86/zero-page.txt
-index 95a4d34af3fd..b8527c6b7646 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/Kconfig b/arch/x86/Kconfig
-index bada636d1065..d666ef8b616c 100644
---- a/arch/x86/Kconfig
-+++ b/arch/x86/Kconfig
-@@ -1786,6 +1786,17 @@ config EFI_MIXED
-
- If unsure, say N.
-
-+config EFI_SECURE_BOOT_SIG_ENFORCE
-+ def_bool n
-+ depends on EFI
-+ prompt "Force module signing when UEFI Secure Boot is enabled"
-+ ---help---
-+ UEFI Secure Boot provides a mechanism for ensuring that the
-+ firmware will only load signed bootloaders and kernels. Certain
-+ use cases may also require that all kernel modules also be signed.
-+ Say Y here to automatically enable module signature enforcement
-+ when a system boots with UEFI Secure Boot enabled.
-+
- config SECCOMP
- def_bool y
- prompt "Enable seccomp to safely compute untrusted bytecode"
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index cc69e37548db..ebc85c1eefd6 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -12,6 +12,7 @@
- #include <asm/efi.h>
- #include <asm/setup.h>
- #include <asm/desc.h>
-+#include <asm/bootparam_utils.h>
-
- #include "../string.h"
- #include "eboot.h"
-@@ -537,6 +538,67 @@ static void setup_efi_pci(struct boot_params *params)
- efi_call_early(free_pool, pci_handle);
- }
-
-+static int get_secure_boot(void)
-+{
-+ u8 sb, setup;
-+ unsigned long datasize = sizeof(sb);
-+ efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID;
-+ efi_status_t status;
-+
-+ status = efi_early->call((unsigned long)sys_table->runtime->get_variable,
-+ L"SecureBoot", &var_guid, NULL, &datasize, &sb);
-+
-+ if (status != EFI_SUCCESS)
-+ return 0;
-+
-+ if (sb == 0)
-+ return 0;
-+
-+
-+ status = efi_early->call((unsigned long)sys_table->runtime->get_variable,
-+ L"SetupMode", &var_guid, NULL, &datasize,
-+ &setup);
-+
-+ if (status != EFI_SUCCESS)
-+ return 0;
-+
-+ if (setup == 1)
-+ return 0;
-+
-+ return 1;
-+}
-+
-+
-+/*
-+ * See if we have Graphics Output Protocol
-+ */
-+static efi_status_t setup_gop(struct screen_info *si, efi_guid_t *proto,
-+ unsigned long size)
-+{
-+ efi_status_t status;
-+ void **gop_handle = NULL;
-+
-+ status = efi_call_early(allocate_pool, EFI_LOADER_DATA,
-+ size, (void **)&gop_handle);
-+ if (status != EFI_SUCCESS)
-+ return status;
-+
-+ status = efi_call_early(locate_handle,
-+ EFI_LOCATE_BY_PROTOCOL,
-+ proto, NULL, &size, gop_handle);
-+ if (status != EFI_SUCCESS)
-+ goto free_handle;
-+
-+ if (efi_early->is64)
-+ status = setup_gop64(si, proto, size, gop_handle);
-+ else
-+ status = setup_gop32(si, proto, size, gop_handle);
-+
-+free_handle:
-+ efi_call_early(free_pool, gop_handle);
-+ return status;
-+}
-+
- static efi_status_t
- setup_uga32(void **uga_handle, unsigned long size, u32 *width, u32 *height)
- {
-@@ -1094,6 +1156,10 @@ struct boot_params *efi_main(struct efi_config *c,
- else
- setup_boot_services32(efi_early);
-
-+ sanitize_boot_params(boot_params);
-+
-+ boot_params->secure_boot = get_secure_boot();
-+
- setup_graphics(boot_params);
-
- setup_efi_pci(boot_params);
-diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
-index c18ce67495fa..2b3e5427097b 100644
---- a/arch/x86/include/uapi/asm/bootparam.h
-+++ b/arch/x86/include/uapi/asm/bootparam.h
-@@ -134,7 +134,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/setup.c b/arch/x86/kernel/setup.c
-index bbfbca5fea0c..d40e961753c9 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -1160,6 +1160,12 @@ void __init setup_arch(char **cmdline_p)
-
- io_delay_init();
-
-+#ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE
-+ if (boot_params.secure_boot) {
-+ enforce_signed_modules();
-+ }
-+#endif
-+
- /*
- * Parse the ACPI tables for possible boot-time SMP configuration.
- */
-diff --git a/include/linux/module.h b/include/linux/module.h
-index 05bd6c989a0c..32327704e18d 100644
---- a/include/linux/module.h
-+++ b/include/linux/module.h
-@@ -260,6 +260,12 @@ extern const typeof(name) __mod_##type##__##name##_device_table \
-
- struct notifier_block;
-
-+#ifdef CONFIG_MODULE_SIG
-+extern void enforce_signed_modules(void);
-+#else
-+static inline void enforce_signed_modules(void) {};
-+#endif
-+
- #ifdef CONFIG_MODULES
-
- extern int modules_disabled; /* for sysctl */
-diff --git a/kernel/module.c b/kernel/module.c
-index cb864505d020..cb1f1da69bf4 100644
---- a/kernel/module.c
-+++ b/kernel/module.c
-@@ -4285,6 +4285,13 @@ void module_layout(struct module *mod,
- EXPORT_SYMBOL(module_layout);
- #endif
-
-+#ifdef CONFIG_MODULE_SIG
-+void enforce_signed_modules(void)
-+{
-+ sig_enforce = true;
-+}
-+#endif
-+
- bool secure_modules(void)
- {
- #ifdef CONFIG_MODULE_SIG
---
-2.9.3
-
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/Armada-trace-build-fix.patch b/Armada-trace-build-fix.patch
deleted file mode 100644
index f78b121c0..000000000
--- a/Armada-trace-build-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From: Fedora Kernel Team <kernel-team@fedoraproject.org>
-Date: Wed, 14 Dec 2016 16:53:21 -0600
-Subject: [PATCH] Armada trace build fix
-
----
- drivers/gpu/drm/armada/Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/gpu/drm/armada/Makefile b/drivers/gpu/drm/armada/Makefile
---- a/drivers/gpu/drm/armada/Makefile
-+++ b/drivers/gpu/drm/armada/Makefile
-@@ -4,3 +4,5 @@ armada-y += armada_510.o
- armada-$(CONFIG_DEBUG_FS) += armada_debugfs.o
-
- obj-$(CONFIG_DRM_ARMADA) := armada.o
-+
-+CFLAGS_armada_trace.o := -I$(src)
---
-2.9.3
-
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/Fix-tegra-to-use-stdout-path-for-serial-console.patch b/Fix-tegra-to-use-stdout-path-for-serial-console.patch
deleted file mode 100644
index 80a2d1b95..000000000
--- a/Fix-tegra-to-use-stdout-path-for-serial-console.patch
+++ /dev/null
@@ -1,318 +0,0 @@
-From 15b8caef5f380d9465876478ff5e365bc6afa5b6 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sun, 6 Mar 2016 10:59:13 +0000
-Subject: [PATCH] Fix tegra to use stdout-path for serial console
-
----
- arch/arm/boot/dts/tegra114-dalmore.dts | 4 ++++
- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 4 ++++
- arch/arm/boot/dts/tegra124-nyan.dtsi | 4 ++++
- arch/arm/boot/dts/tegra124-venice2.dts | 4 ++++
- arch/arm/boot/dts/tegra20-harmony.dts | 4 ++++
- arch/arm/boot/dts/tegra20-iris-512.dts | 4 ++++
- arch/arm/boot/dts/tegra20-medcom-wide.dts | 4 ++++
- arch/arm/boot/dts/tegra20-paz00.dts | 4 ++++
- arch/arm/boot/dts/tegra20-seaboard.dts | 4 ++++
- arch/arm/boot/dts/tegra20-tamonten.dtsi | 4 ++++
- arch/arm/boot/dts/tegra20-trimslice.dts | 4 ++++
- arch/arm/boot/dts/tegra20-ventana.dts | 4 ++++
- arch/arm/boot/dts/tegra20-whistler.dts | 4 ++++
- arch/arm/boot/dts/tegra30-apalis-eval.dts | 4 ++++
- arch/arm/boot/dts/tegra30-beaver.dts | 4 ++++
- arch/arm/boot/dts/tegra30-cardhu.dtsi | 4 ++++
- arch/arm/boot/dts/tegra30-colibri-eval-v3.dts | 4 ++++
- arch/arm64/boot/dts/nvidia/tegra132-norrin.dts | 5 ++++-
- arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi | 4 ++++
- 19 files changed, 76 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
-index 8b7aa0d..b5748ee 100644
---- a/arch/arm/boot/dts/tegra114-dalmore.dts
-+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
-@@ -18,6 +18,10 @@
- serial0 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x80000000 0x40000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
-index 66b4451..abf046a 100644
---- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
-+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
-@@ -15,6 +15,10 @@
- serial0 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x0 0x80000000 0x0 0x80000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra124-nyan.dtsi b/arch/arm/boot/dts/tegra124-nyan.dtsi
-index ec1aa64..e2cd39e 100644
---- a/arch/arm/boot/dts/tegra124-nyan.dtsi
-+++ b/arch/arm/boot/dts/tegra124-nyan.dtsi
-@@ -8,6 +8,10 @@
- serial0 = &uarta;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x0 0x80000000 0x0 0x80000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
-index cfbdf42..604f4b7 100644
---- a/arch/arm/boot/dts/tegra124-venice2.dts
-+++ b/arch/arm/boot/dts/tegra124-venice2.dts
-@@ -13,6 +13,10 @@
- serial0 = &uarta;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x0 0x80000000 0x0 0x80000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
-index b926a07..4b73c76 100644
---- a/arch/arm/boot/dts/tegra20-harmony.dts
-+++ b/arch/arm/boot/dts/tegra20-harmony.dts
-@@ -13,6 +13,10 @@
- serial0 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x00000000 0x40000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra20-iris-512.dts b/arch/arm/boot/dts/tegra20-iris-512.dts
-index 1dd7d7b..bb56dfe 100644
---- a/arch/arm/boot/dts/tegra20-iris-512.dts
-+++ b/arch/arm/boot/dts/tegra20-iris-512.dts
-@@ -11,6 +11,10 @@
- serial1 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- host1x@50000000 {
- hdmi@54280000 {
- status = "okay";
-diff --git a/arch/arm/boot/dts/tegra20-medcom-wide.dts b/arch/arm/boot/dts/tegra20-medcom-wide.dts
-index 9b87526..34c6588 100644
---- a/arch/arm/boot/dts/tegra20-medcom-wide.dts
-+++ b/arch/arm/boot/dts/tegra20-medcom-wide.dts
-@@ -10,6 +10,10 @@
- serial0 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- pwm@7000a000 {
- status = "okay";
- };
-diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
-index ed7e100..81a10a9 100644
---- a/arch/arm/boot/dts/tegra20-paz00.dts
-+++ b/arch/arm/boot/dts/tegra20-paz00.dts
-@@ -14,6 +14,10 @@
- serial1 = &uartc;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x00000000 0x20000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
-index aea8994..0aed748 100644
---- a/arch/arm/boot/dts/tegra20-seaboard.dts
-+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
-@@ -13,6 +13,10 @@
- serial0 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x00000000 0x40000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra20-tamonten.dtsi b/arch/arm/boot/dts/tegra20-tamonten.dtsi
-index 13d4e61..025e9e8 100644
---- a/arch/arm/boot/dts/tegra20-tamonten.dtsi
-+++ b/arch/arm/boot/dts/tegra20-tamonten.dtsi
-@@ -10,6 +10,10 @@
- serial0 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x00000000 0x20000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
-index d99af4e..69d25ca 100644
---- a/arch/arm/boot/dts/tegra20-trimslice.dts
-+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
-@@ -13,6 +13,10 @@
- serial0 = &uarta;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x00000000 0x40000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
-index 04c58e9..c61533a 100644
---- a/arch/arm/boot/dts/tegra20-ventana.dts
-+++ b/arch/arm/boot/dts/tegra20-ventana.dts
-@@ -13,6 +13,10 @@
- serial0 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x00000000 0x40000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra20-whistler.dts b/arch/arm/boot/dts/tegra20-whistler.dts
-index 340d811..bd76585 100644
---- a/arch/arm/boot/dts/tegra20-whistler.dts
-+++ b/arch/arm/boot/dts/tegra20-whistler.dts
-@@ -13,6 +13,10 @@
- serial0 = &uarta;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x00000000 0x20000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra30-apalis-eval.dts b/arch/arm/boot/dts/tegra30-apalis-eval.dts
-index f2879cf..b914bcb 100644
---- a/arch/arm/boot/dts/tegra30-apalis-eval.dts
-+++ b/arch/arm/boot/dts/tegra30-apalis-eval.dts
-@@ -17,6 +17,10 @@
- serial3 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- pcie-controller@00003000 {
- status = "okay";
-
-diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
-index 3dede39..1eca3b2 100644
---- a/arch/arm/boot/dts/tegra30-beaver.dts
-+++ b/arch/arm/boot/dts/tegra30-beaver.dts
-@@ -12,6 +12,10 @@
- serial0 = &uarta;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x80000000 0x7ff00000>;
- };
-diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
-index bb1ca15..de9d6cc 100644
---- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
-+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
-@@ -35,6 +35,10 @@
- serial1 = &uartc;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- reg = <0x80000000 0x40000000>;
- };
-diff --git a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
-index 3ff019f..93e1ffd 100644
---- a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
-+++ b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
-@@ -15,6 +15,10 @@
- serial2 = &uartd;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- host1x@50000000 {
- dc@54200000 {
- rgb {
-diff --git a/arch/arm64/boot/dts/nvidia/tegra132-norrin.dts b/arch/arm64/boot/dts/nvidia/tegra132-norrin.dts
-index 62f33fc..3c0b4d7 100644
---- a/arch/arm64/boot/dts/nvidia/tegra132-norrin.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra132-norrin.dts
-@@ -10,9 +10,12 @@
- aliases {
- rtc0 = "/i2c@0,7000d000/as3722@40";
- rtc1 = "/rtc@0,7000e000";
-+ serial0 = &uarta;
- };
-
-- chosen { };
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-
- memory {
- device_type = "memory";
-diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
-index ece0dec..73ba582 100644
---- a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
-@@ -9,6 +9,10 @@
- serial0 = &uarta;
- };
-
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
- memory {
- device_type = "memory";
- reg = <0x0 0x80000000 0x0 0xc0000000>;
---
-2.5.0
-
diff --git a/Initial-AllWinner-A64-and-PINE64-support.patch b/Initial-AllWinner-A64-and-PINE64-support.patch
deleted file mode 100644
index 966275a8f..000000000
--- a/Initial-AllWinner-A64-and-PINE64-support.patch
+++ /dev/null
@@ -1,1200 +0,0 @@
-From 97f002d28e975991226ab70599731bd2ccc8c060 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sun, 6 Mar 2016 12:06:41 +0000
-Subject: [PATCH] Initial AllWinner A64 and PINE64 support
-
----
- Documentation/devicetree/bindings/arm/sunxi.txt | 1 +
- Documentation/devicetree/bindings/clock/sunxi.txt | 7 +
- .../devicetree/bindings/vendor-prefixes.txt | 1 +
- arch/arm/boot/dts/sun8i-h3.dtsi | 18 +-
- arch/arm/mach-sunxi/Kconfig | 7 +
- arch/arm64/Kconfig.platforms | 6 +
- arch/arm64/boot/dts/Makefile | 1 +
- arch/arm64/boot/dts/allwinner/Makefile | 5 +
- .../dts/allwinner/sun50i-a64-pine64-common.dtsi | 80 +++
- .../boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 59 ++
- .../arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 58 ++
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 624 +++++++++++++++++++++
- drivers/clk/sunxi/Makefile | 1 +
- drivers/clk/sunxi/clk-factors.c | 3 +-
- drivers/clk/sunxi/clk-factors.h | 1 +
- drivers/clk/sunxi/clk-multi-gates.c | 105 ++++
- drivers/clk/sunxi/clk-sunxi.c | 4 +-
- drivers/crypto/Kconfig | 2 +-
- 23 files changed, 1582 insertions(+), 16 deletions(-)
- create mode 100644 arch/arm64/boot/dts/allwinner/Makefile
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-common.dtsi
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
- create mode 100644 drivers/clk/sunxi/clk-multi-gates.c
- create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun50i-a64.c
-
-diff --git a/Documentation/devicetree/bindings/arm/sunxi.txt b/Documentation/devicetree/bindings/arm/sunxi.txt
-index bb9b0faa..8b39d2b 100644
---- a/Documentation/devicetree/bindings/arm/sunxi.txt
-+++ b/Documentation/devicetree/bindings/arm/sunxi.txt
-@@ -13,3 +13,4 @@ using one of the following compatible strings:
- allwinner,sun8i-a83t
- allwinner,sun8i-h3
- allwinner,sun9i-a80
-+ allwinner,sun50i-a64
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index e59f57b..8af12b5 100644
---- a/Documentation/devicetree/bindings/clock/sunxi.txt
-+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
-@@ -77,6 +77,8 @@ Required properties:
- "allwinner,sun9i-a80-usb-mod-clk" - for usb gates + resets on A80
- "allwinner,sun9i-a80-usb-phy-clk" - for usb phy gates + resets on A80
- "allwinner,sun4i-a10-ve-clk" - for the Video Engine clock
-+ "allwinner,sunxi-multi-bus-gates-clk" - for the multi-parent bus gates
-+ "allwinner,sun50i-a64-bus-gates-clk" - for the bus gates on A64
-
- Required properties for all clocks:
- - reg : shall be the control register address for the clock.
-@@ -117,6 +119,11 @@ For "allwinner,sun6i-a31-pll6-clk", there are 2 outputs. The first output
- is the normal PLL6 output, or "pll6". The second output is rate doubled
- PLL6, or "pll6x2".
-
-+The "allwinner,sunxi-multi-bus-gates-clk" holds the actual clocks in
-+child nodes, where each one specifies the parent clock that the particular
-+gates are depending from. The child nodes each follow the common clock
-+binding as described in this document.
-+
- The "allwinner,*-mmc-clk" clocks have three different outputs: the
- main clock, with the ID 0, and the output and sample clocks, with the
- IDs 1 and 2, respectively.
-diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
-index 72e2c5a..0c22fa9 100644
---- a/Documentation/devicetree/bindings/vendor-prefixes.txt
-+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
-@@ -175,6 +175,7 @@ parade Parade Technologies Inc.
- pericom Pericom Technology Inc.
- phytec PHYTEC Messtechnik GmbH
- picochip Picochip Ltd
-+pine64 Pine64
- plathome Plat'Home Co., Ltd.
- plda PLDA
- pixcir PIXCIR MICROELECTRONICS Co., Ltd
-diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
-index 1524130e..7c50fa0 100644
---- a/arch/arm/boot/dts/sun8i-h3.dtsi
-+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
-@@ -137,12 +137,12 @@
- clock-output-names = "pll6d2";
- };
-
-- /* dummy clock until pll6 can be reused */
-- pll8: pll8_clk {
-- #clock-cells = <0>;
-- compatible = "fixed-clock";
-- clock-frequency = <1>;
-- clock-output-names = "pll8";
-+ pll8: clk@c01c20044 {
-+ #clock-cells = <1>;
-+ compatible = "allwinner,sun6i-a31-pll6-clk";
-+ reg = <0x01c20044 0x4>;
-+ clocks = <&osc24M>;
-+ clock-output-names = "pll8", "pll8x2";
- };
-
- cpu: cpu_clk@01c20050 {
-@@ -243,7 +243,7 @@
- #clock-cells = <1>;
- compatible = "allwinner,sun4i-a10-mmc-clk";
- reg = <0x01c20088 0x4>;
-- clocks = <&osc24M>, <&pll6 0>, <&pll8>;
-+ clocks = <&osc24M>, <&pll6 0>, <&pll8 0>;
- clock-output-names = "mmc0",
- "mmc0_output",
- "mmc0_sample";
-@@ -253,7 +253,7 @@
- #clock-cells = <1>;
- compatible = "allwinner,sun4i-a10-mmc-clk";
- reg = <0x01c2008c 0x4>;
-- clocks = <&osc24M>, <&pll6 0>, <&pll8>;
-+ clocks = <&osc24M>, <&pll6 0>, <&pll8 0>;
- clock-output-names = "mmc1",
- "mmc1_output",
- "mmc1_sample";
-@@ -263,7 +263,7 @@
- #clock-cells = <1>;
- compatible = "allwinner,sun4i-a10-mmc-clk";
- reg = <0x01c20090 0x4>;
-- clocks = <&osc24M>, <&pll6 0>, <&pll8>;
-+ clocks = <&osc24M>, <&pll6 0>, <&pll8 0>;
- clock-output-names = "mmc2",
- "mmc2_output",
- "mmc2_sample";
-diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
-index c124d65..b305f5b 100644
---- a/arch/arm/mach-sunxi/Kconfig
-+++ b/arch/arm/mach-sunxi/Kconfig
-@@ -46,4 +46,11 @@ config MACH_SUN9I
- default ARCH_SUNXI
- select ARM_GIC
-
-+config MACH_SUN50I
-+ bool "Allwinner A64 (sun50i) SoCs support"
-+ default ARCH_SUNXI
-+ select ARM_GIC
-+ select HAVE_ARM_ARCH_TIMER
-+ select PINCTRL_SUN50I_A64
-+
- endif
-diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
-index 21074f6..63a690d 100644
---- a/arch/arm64/Kconfig.platforms
-+++ b/arch/arm64/Kconfig.platforms
-@@ -72,6 +72,12 @@ config ARCH_SEATTLE
- config ARCH_SHMOBILE
- bool
-
-+config ARCH_SUNXI
-+ bool "Allwinner sunxi 64-bit SoC Family"
-+ select PINCTRL_SUN50I_A64
-+ help
-+ This enables support for Allwinner sunxi based SoCs like the A64.
-+
- config ARCH_RENESAS
- bool "Renesas SoC Platforms"
- select ARCH_SHMOBILE
-diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
-index f832b8a..3b7428a 100644
---- a/arch/arm64/boot/dts/Makefile
-+++ b/arch/arm64/boot/dts/Makefile
-@@ -2,3 +2,4 @@
- dts-dirs += al
-+dts-dirs += allwinner
- dts-dirs += altera
- dts-dirs += amd
-diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
-new file mode 100644
-index 0000000..1e29a5a
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/Makefile
-@@ -0,0 +1,5 @@
-+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
-+
-+always := $(dtb-y)
-+subdir-y := $(dts-dirs)
-+clean-files := *.dtb
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-common.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-common.dtsi
-new file mode 100644
-index 0000000..d5a7249
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-common.dtsi
-@@ -0,0 +1,80 @@
-+/*
-+ * Copyright (c) 2016 ARM 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 library 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 library 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 "sun50i-a64.dtsi"
-+
-+/ {
-+
-+ aliases {
-+ serial0 = &uart0;
-+ };
-+
-+ soc {
-+ reg_vcc3v3: vcc3v3 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "vcc3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ };
-+ };
-+};
-+
-+&mmc0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc0_pins>, <&mmc0_default_cd_pin>;
-+ vmmc-supply = <&reg_vcc3v3>;
-+ cd-gpios = <&pio 5 6 0>;
-+ cd-inverted;
-+ status = "okay";
-+};
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pins_a>;
-+ status = "okay";
-+};
-+
-+&i2c1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2c1_pins>;
-+ status = "okay";
-+};
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
-new file mode 100644
-index 0000000..549dc15
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
-@@ -0,0 +1,59 @@
-+/*
-+ * Copyright (c) 2016 ARM 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 library 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 library 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 "sun50i-a64-pine64-common.dtsi"
-+
-+/ {
-+ model = "Pine64+";
-+ compatible = "pine64,pine64-plus", "allwinner,sun50i-a64";
-+
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
-+ /* There is a model with 2GB of DRAM, but U-Boot fixes this for us. */
-+ memory {
-+ reg = <0x40000000 0x40000000>;
-+ };
-+};
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-new file mode 100644
-index 0000000..ebe029e
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-@@ -0,0 +1,58 @@
-+/*
-+ * Copyright (c) 2016 ARM 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 library 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 library 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 "sun50i-a64-pine64-common.dtsi"
-+
-+/ {
-+ model = "Pine64";
-+ compatible = "pine64,pine64", "allwinner,sun50i-a64";
-+
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
-+ memory {
-+ reg = <0x40000000 0x20000000>;
-+ };
-+};
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-new file mode 100644
-index 0000000..1bd436f
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-@@ -0,0 +1,624 @@
-+/*
-+ * Copyright (C) 2016 ARM Ltd.
-+ * based on the Allwinner H3 dtsi:
-+ * 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/interrupt-controller/arm-gic.h>
-+#include <dt-bindings/pinctrl/sun4i-a10.h>
-+
-+/ {
-+ interrupt-parent = <&gic>;
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+
-+ cpus {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ cpu@0 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ reg = <0>;
-+ enable-method = "psci";
-+ };
-+
-+ cpu@1 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ reg = <1>;
-+ enable-method = "psci";
-+ };
-+
-+ cpu@2 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ reg = <2>;
-+ enable-method = "psci";
-+ };
-+
-+ cpu@3 {
-+ compatible = "arm,cortex-a53", "arm,armv8";
-+ device_type = "cpu";
-+ reg = <3>;
-+ enable-method = "psci";
-+ };
-+ };
-+
-+ psci {
-+ compatible = "arm,psci-0.2";
-+ method = "smc";
-+ };
-+
-+ memory {
-+ device_type = "memory";
-+ reg = <0x40000000 0>;
-+ };
-+
-+ gic: interrupt-controller@1c81000 {
-+ compatible = "arm,gic-400";
-+ interrupt-controller;
-+ #interrupt-cells = <3>;
-+ #address-cells = <0>;
-+
-+ reg = <0x01c81000 0x1000>,
-+ <0x01c82000 0x2000>,
-+ <0x01c84000 0x2000>,
-+ <0x01c86000 0x2000>;
-+ interrupts = <GIC_PPI 9
-+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
-+ };
-+
-+ timer {
-+ compatible = "arm,armv8-timer";
-+ interrupts = <GIC_PPI 13
-+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
-+ <GIC_PPI 14
-+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
-+ <GIC_PPI 11
-+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
-+ <GIC_PPI 10
-+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
-+ };
-+
-+ 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";
-+ };
-+
-+ pll1: pll1_clk@1c20000 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun8i-a23-pll1-clk";
-+ reg = <0x01c20000 0x4>;
-+ clocks = <&osc24M>;
-+ clock-output-names = "pll1";
-+ };
-+
-+ pll6: pll6_clk@1c20028 {
-+ #clock-cells = <1>;
-+ compatible = "allwinner,sun6i-a31-pll6-clk";
-+ reg = <0x01c20028 0x4>;
-+ clocks = <&osc24M>;
-+ clock-output-names = "pll6", "pll6x2";
-+ };
-+
-+ pll6d2: pll6d2_clk {
-+ #clock-cells = <0>;
-+ compatible = "fixed-factor-clock";
-+ clock-div = <2>;
-+ clock-mult = <1>;
-+ clocks = <&pll6 0>;
-+ clock-output-names = "pll6d2";
-+ };
-+
-+ pll7: pll7_clk@1c2002c {
-+ #clock-cells = <1>;
-+ compatible = "allwinner,sun6i-a31-pll6-clk";
-+ reg = <0x01c2002c 0x4>;
-+ clocks = <&osc24M>;
-+ clock-output-names = "pll7", "pll7x2";
-+ };
-+
-+ cpu: cpu_clk@1c20050 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun4i-a10-cpu-clk";
-+ reg = <0x01c20050 0x4>;
-+ clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll1>;
-+ clock-output-names = "cpu";
-+ critical-clocks = <0>;
-+ };
-+
-+ axi: axi_clk@1c20050 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun4i-a10-axi-clk";
-+ reg = <0x01c20050 0x4>;
-+ clocks = <&cpu>;
-+ clock-output-names = "axi";
-+ };
-+
-+ ahb1: ahb1_clk@1c20054 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun6i-a31-ahb1-clk";
-+ reg = <0x01c20054 0x4>;
-+ clocks = <&osc32k>, <&osc24M>, <&axi>, <&pll6 0>;
-+ clock-output-names = "ahb1";
-+ };
-+
-+ ahb2: ahb2_clk@1c2005c {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun8i-h3-ahb2-clk";
-+ reg = <0x01c2005c 0x4>;
-+ clocks = <&ahb1>, <&pll6d2>;
-+ clock-output-names = "ahb2";
-+ };
-+
-+ apb1: apb1_clk@1c20054 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun4i-a10-apb0-clk";
-+ reg = <0x01c20054 0x4>;
-+ clocks = <&ahb1>;
-+ clock-output-names = "apb1";
-+ };
-+
-+ apb2: apb2_clk@1c20058 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun4i-a10-apb1-clk";
-+ reg = <0x01c20058 0x4>;
-+ clocks = <&osc32k>, <&osc24M>, <&pll6 1>, <&pll6 1>;
-+ clock-output-names = "apb2";
-+ };
-+
-+ bus_gates: bus_gates_clk@1c20060 {
-+ #clock-cells = <1>;
-+ compatible = "allwinner,sun50i-a64-bus-gates-clk",
-+ "allwinner,sunxi-multi-bus-gates-clk";
-+ reg = <0x01c20060 0x14>;
-+ ahb1_parent {
-+ clocks = <&ahb1>;
-+ clock-indices = <1>, <5>,
-+ <6>, <8>,
-+ <9>, <10>,
-+ <13>, <14>,
-+ <18>, <19>,
-+ <20>, <21>,
-+ <23>, <24>,
-+ <25>, <28>,
-+ <32>, <35>,
-+ <36>, <37>,
-+ <40>, <43>,
-+ <44>, <52>,
-+ <53>, <54>,
-+ <135>;
-+ clock-output-names = "bus_mipidsi", "bus_ce",
-+ "bus_dma", "bus_mmc0",
-+ "bus_mmc1", "bus_mmc2",
-+ "bus_nand", "bus_sdram",
-+ "bus_ts", "bus_hstimer",
-+ "bus_spi0", "bus_spi1",
-+ "bus_otg", "bus_otg_ehci0",
-+ "bus_ehci0", "bus_otg_ohci0",
-+ "bus_ve", "bus_lcd0",
-+ "bus_lcd1", "bus_deint",
-+ "bus_csi", "bus_hdmi",
-+ "bus_de", "bus_gpu",
-+ "bus_msgbox", "bus_spinlock",
-+ "bus_dbg";
-+ };
-+ ahb2_parent {
-+ clocks = <&ahb2>;
-+ clock-indices = <17>, <29>;
-+ clock-output-names = "bus_gmac", "bus_ohci0";
-+ };
-+ apb1_parent {
-+ clocks = <&apb1>;
-+ clock-indices = <64>, <65>,
-+ <69>, <72>,
-+ <76>, <77>,
-+ <78>;
-+ clock-output-names = "bus_codec", "bus_spdif",
-+ "bus_pio", "bus_ths",
-+ "bus_i2s0", "bus_i2s1",
-+ "bus_i2s2";
-+ };
-+ abp2_parent {
-+ clocks = <&apb2>;
-+ clock-indices = <96>, <97>,
-+ <98>, <101>,
-+ <112>, <113>,
-+ <114>, <115>,
-+ <116>;
-+ clock-output-names = "bus_i2c0", "bus_i2c1",
-+ "bus_i2c2", "bus_scr",
-+ "bus_uart0", "bus_uart1",
-+ "bus_uart2", "bus_uart3",
-+ "bus_uart4";
-+ };
-+ };
-+
-+ mmc0_clk: mmc0_clk@1c20088 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun4i-a10-mod0-clk";
-+ reg = <0x01c20088 0x4>;
-+ clocks = <&osc24M>, <&pll6 1>, <&pll7 1>;
-+ clock-output-names = "mmc0";
-+ };
-+
-+ mmc1_clk: mmc1_clk@1c2008c {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun4i-a10-mod0-clk";
-+ reg = <0x01c2008c 0x4>;
-+ clocks = <&osc24M>, <&pll6 1>, <&pll7 1>;
-+ clock-output-names = "mmc1";
-+ };
-+
-+ mmc2_clk: mmc2_clk@1c20090 {
-+ #clock-cells = <0>;
-+ compatible = "allwinner,sun4i-a10-mod0-clk";
-+ reg = <0x01c20090 0x4>;
-+ clocks = <&osc24M>, <&pll6 1>, <&pll7 1>;
-+ clock-output-names = "mmc2";
-+ };
-+ };
-+
-+ soc {
-+ compatible = "simple-bus";
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ ranges;
-+
-+ mmc0: mmc@1c0f000 {
-+ compatible = "allwinner,sun50i-a64-mmc",
-+ "allwinner,sun5i-a13-mmc";
-+ reg = <0x01c0f000 0x1000>;
-+ clocks = <&bus_gates 8>, <&mmc0_clk>,
-+ <&mmc0_clk>, <&mmc0_clk>;
-+ clock-names = "ahb", "mmc",
-+ "output", "sample";
-+ resets = <&ahb_rst 8>;
-+ reset-names = "ahb";
-+ interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ mmc1: mmc@1c10000 {
-+ compatible = "allwinner,sun50i-a64-mmc",
-+ "allwinner,sun5i-a13-mmc";
-+ reg = <0x01c10000 0x1000>;
-+ clocks = <&bus_gates 9>, <&mmc1_clk>,
-+ <&mmc1_clk>, <&mmc1_clk>;
-+ clock-names = "ahb", "mmc",
-+ "output", "sample";
-+ resets = <&ahb_rst 9>;
-+ reset-names = "ahb";
-+ interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ mmc2: mmc@1c11000 {
-+ compatible = "allwinner,sun50i-a64-mmc",
-+ "allwinner,sun5i-a13-mmc";
-+ reg = <0x01c11000 0x1000>;
-+ clocks = <&bus_gates 10>, <&mmc2_clk>,
-+ <&mmc2_clk>, <&mmc2_clk>;
-+ clock-names = "ahb", "mmc",
-+ "output", "sample";
-+ resets = <&ahb_rst 10>;
-+ reset-names = "ahb";
-+ interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ pio: pinctrl@1c20800 {
-+ compatible = "allwinner,sun50i-a64-pinctrl";
-+ reg = <0x01c20800 0x400>;
-+ interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
-+ <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
-+ <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&bus_gates 69>;
-+ gpio-controller;
-+ #gpio-cells = <3>;
-+ interrupt-controller;
-+ #interrupt-cells = <2>;
-+
-+ uart0_pins_a: uart0@0 {
-+ allwinner,pins = "PB8", "PB9";
-+ allwinner,function = "uart0";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart0_pins_b: uart0@1 {
-+ allwinner,pins = "PF2", "PF3";
-+ allwinner,function = "uart0";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart1_2pins: uart1_2@0 {
-+ allwinner,pins = "PG6", "PG7";
-+ allwinner,function = "uart1";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart1_4pins: uart1_4@0 {
-+ allwinner,pins = "PG6", "PG7", "PG8", "PG9";
-+ allwinner,function = "uart1";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart2_2pins: uart2_2@0 {
-+ allwinner,pins = "PB0", "PB1";
-+ allwinner,function = "uart2";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart2_4pins: uart2_4@0 {
-+ allwinner,pins = "PB0", "PB1", "PB2", "PB3";
-+ allwinner,function = "uart2";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart3_pins_a: uart3@0 {
-+ allwinner,pins = "PD0", "PD1";
-+ allwinner,function = "uart3";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart3_2pins_b: uart3_2@1 {
-+ allwinner,pins = "PH4", "PH5";
-+ allwinner,function = "uart3";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart3_4pins_b: uart3_4@1 {
-+ allwinner,pins = "PH4", "PH5", "PH6", "PH7";
-+ allwinner,function = "uart3";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart4_2pins: uart4_2@0 {
-+ allwinner,pins = "PD2", "PD3";
-+ allwinner,function = "uart4";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ uart4_4pins: uart4_4@0 {
-+ allwinner,pins = "PD2", "PD3", "PD4", "PD5";
-+ allwinner,function = "uart4";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ mmc0_pins: mmc0@0 {
-+ allwinner,pins = "PF0", "PF1", "PF2", "PF3",
-+ "PF4", "PF5";
-+ allwinner,function = "mmc0";
-+ allwinner,drive = <SUN4I_PINCTRL_30_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ mmc0_default_cd_pin: mmc0_cd_pin@0 {
-+ allwinner,pins = "PF6";
-+ allwinner,function = "gpio_in";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
-+ };
-+
-+ mmc1_pins: mmc1@0 {
-+ allwinner,pins = "PG0", "PG1", "PG2", "PG3",
-+ "PG4", "PG5";
-+ allwinner,function = "mmc1";
-+ allwinner,drive = <SUN4I_PINCTRL_30_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ mmc2_pins: mmc2@0 {
-+ allwinner,pins = "PC1", "PC5", "PC6", "PC8",
-+ "PC9", "PC10";
-+ allwinner,function = "mmc2";
-+ allwinner,drive = <SUN4I_PINCTRL_30_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ i2c0_pins: i2c0_pins {
-+ allwinner,pins = "PH0", "PH1";
-+ allwinner,function = "i2c0";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ i2c1_pins: i2c1_pins {
-+ allwinner,pins = "PH2", "PH3";
-+ allwinner,function = "i2c1";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+
-+ i2c2_pins: i2c2_pins {
-+ allwinner,pins = "PE14", "PE15";
-+ allwinner,function = "i2c2";
-+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
-+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
-+ };
-+ };
-+
-+ ahb_rst: reset@1c202c0 {
-+ #reset-cells = <1>;
-+ compatible = "allwinner,sun6i-a31-clock-reset";
-+ reg = <0x01c202c0 0xc>;
-+ };
-+
-+ apb1_rst: reset@1c202d0 {
-+ #reset-cells = <1>;
-+ compatible = "allwinner,sun6i-a31-clock-reset";
-+ reg = <0x01c202d0 0x4>;
-+ };
-+
-+ apb2_rst: reset@1c202d8 {
-+ #reset-cells = <1>;
-+ compatible = "allwinner,sun6i-a31-clock-reset";
-+ reg = <0x01c202d8 0x4>;
-+ };
-+
-+ uart0: serial@1c28000 {
-+ compatible = "snps,dw-apb-uart";
-+ reg = <0x01c28000 0x400>;
-+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
-+ reg-shift = <2>;
-+ reg-io-width = <4>;
-+ clocks = <&bus_gates 112>;
-+ resets = <&apb2_rst 16>;
-+ status = "disabled";
-+ };
-+
-+ uart1: serial@1c28400 {
-+ compatible = "snps,dw-apb-uart";
-+ reg = <0x01c28400 0x400>;
-+ interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
-+ reg-shift = <2>;
-+ reg-io-width = <4>;
-+ clocks = <&bus_gates 113>;
-+ resets = <&apb2_rst 17>;
-+ status = "disabled";
-+ };
-+
-+ uart2: serial@1c28800 {
-+ compatible = "snps,dw-apb-uart";
-+ reg = <0x01c28800 0x400>;
-+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
-+ reg-shift = <2>;
-+ reg-io-width = <4>;
-+ clocks = <&bus_gates 114>;
-+ resets = <&apb2_rst 18>;
-+ status = "disabled";
-+ };
-+
-+ uart3: serial@1c28c00 {
-+ compatible = "snps,dw-apb-uart";
-+ reg = <0x01c28c00 0x400>;
-+ interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
-+ reg-shift = <2>;
-+ reg-io-width = <4>;
-+ clocks = <&bus_gates 115>;
-+ resets = <&apb2_rst 19>;
-+ status = "disabled";
-+ };
-+
-+ uart4: serial@1c29000 {
-+ compatible = "snps,dw-apb-uart";
-+ reg = <0x01c29000 0x400>;
-+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
-+ reg-shift = <2>;
-+ reg-io-width = <4>;
-+ clocks = <&bus_gates 116>;
-+ resets = <&apb2_rst 20>;
-+ status = "disabled";
-+ };
-+
-+ rtc: rtc@1f00000 {
-+ compatible = "allwinner,sun6i-a31-rtc";
-+ reg = <0x01f00000 0x54>;
-+ interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
-+ <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+
-+ i2c0: i2c@1c2ac00 {
-+ compatible = "allwinner,sun6i-a31-i2c";
-+ reg = <0x01c2ac00 0x400>;
-+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&bus_gates 96>;
-+ resets = <&apb2_rst 0>;
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ i2c1: i2c@1c2b000 {
-+ compatible = "allwinner,sun6i-a31-i2c";
-+ reg = <0x01c2b000 0x400>;
-+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&bus_gates 97>;
-+ resets = <&apb2_rst 1>;
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ i2c2: i2c@1c2b400 {
-+ compatible = "allwinner,sun6i-a31-i2c";
-+ reg = <0x01c2b400 0x400>;
-+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&bus_gates 98>;
-+ resets = <&apb2_rst 2>;
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+ };
-+};
-diff --git a/drivers/clk/sunxi/Makefile b/drivers/clk/sunxi/Makefile
-index 3fd7901..3a9dc31 100644
---- a/drivers/clk/sunxi/Makefile
-+++ b/drivers/clk/sunxi/Makefile
-@@ -11,6 +11,7 @@ obj-y += clk-a10-ve.o
- obj-y += clk-a20-gmac.o
- obj-y += clk-mod0.o
- obj-y += clk-simple-gates.o
-+obj-y += clk-multi-gates.o
- obj-y += clk-sun8i-bus-gates.o
- obj-y += clk-sun8i-mbus.o
- obj-y += clk-sun9i-core.o
-diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
-index 59428db..607ba53 100644
---- a/drivers/clk/sunxi/clk-factors.c
-+++ b/drivers/clk/sunxi/clk-factors.c
-@@ -184,7 +184,8 @@ struct clk *sunxi_factors_register(struct device_node *node,
- if (data->name)
- clk_name = data->name;
- else
-- of_property_read_string(node, "clock-output-names", &clk_name);
-+ of_property_read_string_index(node, "clock-output-names",
-+ data->name_idx, &clk_name);
-
- factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL);
- if (!factors)
-diff --git a/drivers/clk/sunxi/clk-factors.h b/drivers/clk/sunxi/clk-factors.h
-index 171085a..cc89d1f 100644
---- a/drivers/clk/sunxi/clk-factors.h
-+++ b/drivers/clk/sunxi/clk-factors.h
-@@ -26,6 +26,7 @@ struct factors_data {
- void (*getter)(struct factors_request *req);
- void (*recalc)(struct factors_request *req);
- const char *name;
-+ int name_idx;
- };
-
- struct clk_factors {
-diff --git a/drivers/clk/sunxi/clk-multi-gates.c b/drivers/clk/sunxi/clk-multi-gates.c
-new file mode 100644
-index 0000000..76e715a
---- /dev/null
-+++ b/drivers/clk/sunxi/clk-multi-gates.c
-@@ -0,0 +1,105 @@
-+/*
-+ * Copyright (C) 2016 ARM Ltd.
-+ *
-+ * Based on clk-sun8i-bus-gates.c, which is:
-+ * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com>
-+ * Based on clk-simple-gates.c, which is:
-+ * Copyright 2015 Maxime Ripard <maxime.ripard@free-electrons.com>
-+ *
-+ * 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/clk-provider.h>
-+#include <linux/of.h>
-+#include <linux/of_address.h>
-+#include <linux/slab.h>
-+#include <linux/spinlock.h>
-+
-+static DEFINE_SPINLOCK(gates_lock);
-+
-+static void __init sunxi_parse_parent(struct device_node *node,
-+ struct clk_onecell_data *clk_data,
-+ void __iomem *reg)
-+{
-+ const char *parent = of_clk_get_parent_name(node, 0);
-+ const char *clk_name;
-+ struct property *prop;
-+ struct clk *clk;
-+ const __be32 *p;
-+ int index, i = 0;
-+
-+ of_property_for_each_u32(node, "clock-indices", prop, p, index) {
-+ of_property_read_string_index(node, "clock-output-names",
-+ i, &clk_name);
-+
-+ clk = clk_register_gate(NULL, clk_name, parent, 0,
-+ reg + 4 * (index / 32), index % 32,
-+ 0, &gates_lock);
-+ i++;
-+ if (IS_ERR(clk)) {
-+ pr_warn("could not register gate clock \"%s\"\n",
-+ clk_name);
-+ continue;
-+ }
-+ if (clk_data->clks[index])
-+ pr_warn("bus-gate clock %s: index #%d already registered as %s\n",
-+ clk_name, index, "?");
-+ else
-+ clk_data->clks[index] = clk;
-+ }
-+}
-+
-+static void __init sunxi_multi_bus_gates_init(struct device_node *node)
-+{
-+ struct clk_onecell_data *clk_data;
-+ struct device_node *child;
-+ struct property *prop;
-+ struct resource res;
-+ void __iomem *reg;
-+ const __be32 *p;
-+ int number = 0;
-+ int index;
-+
-+ reg = of_io_request_and_map(node, 0, of_node_full_name(node));
-+ if (IS_ERR(reg))
-+ return;
-+
-+ clk_data = kmalloc(sizeof(struct clk_onecell_data), GFP_KERNEL);
-+ if (!clk_data)
-+ goto err_unmap;
-+
-+ for_each_child_of_node(node, child)
-+ of_property_for_each_u32(child, "clock-indices", prop, p, index)
-+ number = max(number, index);
-+
-+ clk_data->clks = kcalloc(number + 1, sizeof(struct clk *), GFP_KERNEL);
-+ if (!clk_data->clks)
-+ goto err_free_data;
-+
-+ for_each_child_of_node(node, child)
-+ sunxi_parse_parent(child, clk_data, reg);
-+
-+ clk_data->clk_num = number + 1;
-+ if (of_clk_add_provider(node, of_clk_src_onecell_get, clk_data))
-+ pr_err("registering bus-gate clock %s failed\n", node->name);
-+
-+ return;
-+
-+err_free_data:
-+ kfree(clk_data);
-+err_unmap:
-+ iounmap(reg);
-+ of_address_to_resource(node, 0, &res);
-+ release_mem_region(res.start, resource_size(&res));
-+}
-+
-+CLK_OF_DECLARE(sunxi_multi_bus_gates, "allwinner,sunxi-multi-bus-gates-clk",
-+ sunxi_multi_bus_gates_init);
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 5ba2188..ca59458 100644
---- a/drivers/clk/sunxi/clk-sunxi.c
-+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -711,14 +711,14 @@ static const struct factors_data sun4i_pll6_data __initconst = {
- .enable = 31,
- .table = &sun4i_pll5_config,
- .getter = sun4i_get_pll5_factors,
-- .name = "pll6",
-+ .name_idx = 2,
- };
-
- static const struct factors_data sun6i_a31_pll6_data __initconst = {
- .enable = 31,
- .table = &sun6i_a31_pll6_config,
- .getter = sun6i_a31_get_pll6_factors,
-- .name = "pll6x2",
-+ .name_idx = 1,
- };
-
- static const struct factors_data sun5i_a13_ahb_data __initconst = {
---
-2.5.0
-
diff --git a/KEYS-potential-uninitialized-variable.patch b/KEYS-potential-uninitialized-variable.patch
deleted file mode 100644
index 23cabbb2e..000000000
--- a/KEYS-potential-uninitialized-variable.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 82a50018782f84e733e718d4b24e1653d19333be Mon Sep 17 00:00:00 2001
-From: Dan Carpenter <dan.carpenter@oracle.com>
-Date: Wed, 15 Jun 2016 09:31:45 -0400
-Subject: [PATCH] KEYS: potential uninitialized variable
-
-If __key_link_begin() failed then "edit" would be uninitialized. I've
-added a check to fix that.
-
-Fixes: f70e2e06196a ('KEYS: Do preallocation for __key_link()')
-Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
----
- security/keys/key.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/security/keys/key.c b/security/keys/key.c
-index bd5a272f28a6..346fbf201c22 100644
---- a/security/keys/key.c
-+++ b/security/keys/key.c
-@@ -597,7 +597,7 @@ int key_reject_and_link(struct key *key,
-
- mutex_unlock(&key_construction_mutex);
-
-- if (keyring)
-+ if (keyring && link_ret == 0)
- __key_link_end(keyring, &key->index_key, edit);
-
- /* wake up anyone waiting for a key to be constructed */
---
-2.5.5
-
diff --git a/USB-usbfs-fix-potential-infoleak-in-devio.patch b/USB-usbfs-fix-potential-infoleak-in-devio.patch
deleted file mode 100644
index 48360c930..000000000
--- a/USB-usbfs-fix-potential-infoleak-in-devio.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 7adc5cbc25dcc47dc3856108d9823d08da75da9d Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu@gmail.com>
-Date: Tue, 3 May 2016 16:32:16 -0400
-Subject: [PATCH] USB: usbfs: fix potential infoleak in devio
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The stack object “ci” has a total size of 8 bytes. Its last 3 bytes
-are padding bytes which are not initialized and leaked to userland
-via “copy_to_user”.
-
-Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/usb/core/devio.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
-index 52c4461dfccd..9b7f1f75e887 100644
---- a/drivers/usb/core/devio.c
-+++ b/drivers/usb/core/devio.c
-@@ -1316,10 +1316,11 @@ static int proc_getdriver(struct usb_dev_state *ps, void __user *arg)
-
- static int proc_connectinfo(struct usb_dev_state *ps, void __user *arg)
- {
-- struct usbdevfs_connectinfo ci = {
-- .devnum = ps->dev->devnum,
-- .slow = ps->dev->speed == USB_SPEED_LOW
-- };
-+ struct usbdevfs_connectinfo ci;
-+
-+ memset(&ci, 0, sizeof(ci));
-+ ci.devnum = ps->dev->devnum;
-+ ci.slow = ps->dev->speed == USB_SPEED_LOW;
-
- if (copy_to_user(arg, &ci, sizeof(ci)))
- return -EFAULT;
---
-2.5.5
-
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-acpi-drop-expert-patch.patch b/arm64-acpi-drop-expert-patch.patch
deleted file mode 100644
index 6122732d6..000000000
--- a/arm64-acpi-drop-expert-patch.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sun, 3 May 2015 18:35:23 +0100
-Subject: [PATCH] arm64: acpi drop expert patch
-
----
- drivers/acpi/Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
-index 114cf48085ab..70ba3ef9a37b 100644
---- a/drivers/acpi/Kconfig
-+++ b/drivers/acpi/Kconfig
-@@ -5,7 +5,7 @@
- menuconfig ACPI
- bool "ACPI (Advanced Configuration and Power Interface) Support"
- depends on !IA64_HP_SIM
-- depends on IA64 || X86 || (ARM64 && EXPERT)
-+ depends on IA64 || X86 || ARM64
- depends on PCI
- select PNP
- default y
diff --git a/arm64-avoid-needing-console-to-enable-serial-console.patch b/arm64-avoid-needing-console-to-enable-serial-console.patch
deleted file mode 100644
index 3c639a0a3..000000000
--- a/arm64-avoid-needing-console-to-enable-serial-console.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From ce7a9e482dcf66d155e74b39ada1708cf6d9cb25 Mon Sep 17 00:00:00 2001
-From: Mark Salter <msalter@redhat.com>
-Date: Wed, 25 Mar 2015 14:17:50 -0400
-Subject: [PATCH] arm64: avoid needing console= to enable serial console
-
-Tell kernel to prefer one of the serial ports for console on
-platforms currently supported (pl011 or 8250). console= on
-command line will override these assumed preferences. This is
-just a hack to get the behavior we want from DT provided by
-firmware.
-
-Signed-off-by: Mark Salter <msalter@redhat.com>
----
- arch/arm64/kernel/setup.c | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
-index 9dc67769b6a4..dfac33b47423 100644
---- a/arch/arm64/kernel/setup.c
-+++ b/arch/arm64/kernel/setup.c
-@@ -417,3 +417,22 @@ static int __init register_kernel_offset_dumper(void)
- return 0;
- }
- __initcall(register_kernel_offset_dumper);
-+
-+/*
-+ * Temporary hack to avoid need for console= on command line
-+ */
-+static int __init arm64_console_setup(void)
-+{
-+ /* Allow cmdline to override our assumed preferences */
-+ if (console_set_on_cmdline)
-+ return 0;
-+
-+ if (IS_ENABLED(CONFIG_SERIAL_AMBA_PL011))
-+ add_preferred_console("ttyAMA", 0, "115200");
-+
-+ if (IS_ENABLED(CONFIG_SERIAL_8250))
-+ add_preferred_console("ttyS", 0, "115200");
-+
-+ return 0;
-+}
-+early_initcall(arm64_console_setup);
---
-2.5.0
-
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-pcie-acpi.patch b/arm64-pcie-acpi.patch
deleted file mode 100644
index e9a359db6..000000000
--- a/arm64-pcie-acpi.patch
+++ /dev/null
@@ -1,1247 +0,0 @@
-From 1fc02559de87cd88339a83ad05baa9c2b5bd1ac0 Mon Sep 17 00:00:00 2001
-From: Jayachandran C <jchandra@broadcom.com>
-Date: Fri, 10 Jun 2016 21:55:09 +0200
-Subject: [PATCH 01/11] PCI/ECAM: Move ecam.h to linux/include/pci-ecam.h
-
-This header will be used from arch/arm64 for ACPI PCI implementation
-so it needs to be moved out of drivers/pci.
-
-Update users of the header file to use the new name. No functional
-changes.
-
-Signed-off-by: Jayachandran C <jchandra@broadcom.com>
-Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- drivers/pci/ecam.c | 3 +-
- drivers/pci/ecam.h | 67 -------------------------------------
- drivers/pci/host/pci-host-common.c | 3 +-
- drivers/pci/host/pci-host-generic.c | 3 +-
- drivers/pci/host/pci-thunder-ecam.c | 3 +-
- drivers/pci/host/pci-thunder-pem.c | 3 +-
- include/linux/pci-ecam.h | 67 +++++++++++++++++++++++++++++++++++++
- 7 files changed, 72 insertions(+), 77 deletions(-)
- delete mode 100644 drivers/pci/ecam.h
- create mode 100644 include/linux/pci-ecam.h
-
-diff --git a/drivers/pci/ecam.c b/drivers/pci/ecam.c
-index f9832ad..820e26b 100644
---- a/drivers/pci/ecam.c
-+++ b/drivers/pci/ecam.c
-@@ -19,10 +19,9 @@
- #include <linux/kernel.h>
- #include <linux/module.h>
- #include <linux/pci.h>
-+#include <linux/pci-ecam.h>
- #include <linux/slab.h>
-
--#include "ecam.h"
--
- /*
- * On 64-bit systems, we do a single ioremap for the whole config space
- * since we have enough virtual address range available. On 32-bit, we
-diff --git a/drivers/pci/ecam.h b/drivers/pci/ecam.h
-deleted file mode 100644
-index 9878beb..0000000
---- a/drivers/pci/ecam.h
-+++ /dev/null
-@@ -1,67 +0,0 @@
--/*
-- * Copyright 2016 Broadcom
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License, version 2, as
-- * published by the Free Software Foundation (the "GPL").
-- *
-- * 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 version 2 (GPLv2) for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * version 2 (GPLv2) along with this source code.
-- */
--#ifndef DRIVERS_PCI_ECAM_H
--#define DRIVERS_PCI_ECAM_H
--
--#include <linux/kernel.h>
--#include <linux/platform_device.h>
--
--/*
-- * struct to hold pci ops and bus shift of the config window
-- * for a PCI controller.
-- */
--struct pci_config_window;
--struct pci_ecam_ops {
-- unsigned int bus_shift;
-- struct pci_ops pci_ops;
-- int (*init)(struct device *,
-- struct pci_config_window *);
--};
--
--/*
-- * struct to hold the mappings of a config space window. This
-- * is expected to be used as sysdata for PCI controllers that
-- * use ECAM.
-- */
--struct pci_config_window {
-- struct resource res;
-- struct resource busr;
-- void *priv;
-- struct pci_ecam_ops *ops;
-- union {
-- void __iomem *win; /* 64-bit single mapping */
-- void __iomem **winp; /* 32-bit per-bus mapping */
-- };
--};
--
--/* create and free pci_config_window */
--struct pci_config_window *pci_ecam_create(struct device *dev,
-- struct resource *cfgres, struct resource *busr,
-- struct pci_ecam_ops *ops);
--void pci_ecam_free(struct pci_config_window *cfg);
--
--/* map_bus when ->sysdata is an instance of pci_config_window */
--void __iomem *pci_ecam_map_bus(struct pci_bus *bus, unsigned int devfn,
-- int where);
--/* default ECAM ops */
--extern struct pci_ecam_ops pci_generic_ecam_ops;
--
--#ifdef CONFIG_PCI_HOST_GENERIC
--/* for DT-based PCI controllers that support ECAM */
--int pci_host_common_probe(struct platform_device *pdev,
-- struct pci_ecam_ops *ops);
--#endif
--#endif
-diff --git a/drivers/pci/host/pci-host-common.c b/drivers/pci/host/pci-host-common.c
-index 8cba7ab..c18b9e3 100644
---- a/drivers/pci/host/pci-host-common.c
-+++ b/drivers/pci/host/pci-host-common.c
-@@ -20,10 +20,9 @@
- #include <linux/module.h>
- #include <linux/of_address.h>
- #include <linux/of_pci.h>
-+#include <linux/pci-ecam.h>
- #include <linux/platform_device.h>
-
--#include "../ecam.h"
--
- static int gen_pci_parse_request_of_pci_ranges(struct device *dev,
- struct list_head *resources, struct resource **bus_range)
- {
-diff --git a/drivers/pci/host/pci-host-generic.c b/drivers/pci/host/pci-host-generic.c
-index 6eaceab..f0ca6de 100644
---- a/drivers/pci/host/pci-host-generic.c
-+++ b/drivers/pci/host/pci-host-generic.c
-@@ -23,10 +23,9 @@
- #include <linux/module.h>
- #include <linux/of_address.h>
- #include <linux/of_pci.h>
-+#include <linux/pci-ecam.h>
- #include <linux/platform_device.h>
-
--#include "../ecam.h"
--
- static struct pci_ecam_ops gen_pci_cfg_cam_bus_ops = {
- .bus_shift = 16,
- .pci_ops = {
-diff --git a/drivers/pci/host/pci-thunder-ecam.c b/drivers/pci/host/pci-thunder-ecam.c
-index 540d030..a9fc1c9 100644
---- a/drivers/pci/host/pci-thunder-ecam.c
-+++ b/drivers/pci/host/pci-thunder-ecam.c
-@@ -11,10 +11,9 @@
- #include <linux/ioport.h>
- #include <linux/of_pci.h>
- #include <linux/of.h>
-+#include <linux/pci-ecam.h>
- #include <linux/platform_device.h>
-
--#include "../ecam.h"
--
- static void set_val(u32 v, int where, int size, u32 *val)
- {
- int shift = (where & 3) * 8;
-diff --git a/drivers/pci/host/pci-thunder-pem.c b/drivers/pci/host/pci-thunder-pem.c
-index 9b8ab94..5020d3d 100644
---- a/drivers/pci/host/pci-thunder-pem.c
-+++ b/drivers/pci/host/pci-thunder-pem.c
-@@ -18,10 +18,9 @@
- #include <linux/module.h>
- #include <linux/of_address.h>
- #include <linux/of_pci.h>
-+#include <linux/pci-ecam.h>
- #include <linux/platform_device.h>
-
--#include "../ecam.h"
--
- #define PEM_CFG_WR 0x28
- #define PEM_CFG_RD 0x30
-
-diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h
-new file mode 100644
-index 0000000..9878beb
---- /dev/null
-+++ b/include/linux/pci-ecam.h
-@@ -0,0 +1,67 @@
-+/*
-+ * Copyright 2016 Broadcom
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License, version 2, as
-+ * published by the Free Software Foundation (the "GPL").
-+ *
-+ * 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 version 2 (GPLv2) for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * version 2 (GPLv2) along with this source code.
-+ */
-+#ifndef DRIVERS_PCI_ECAM_H
-+#define DRIVERS_PCI_ECAM_H
-+
-+#include <linux/kernel.h>
-+#include <linux/platform_device.h>
-+
-+/*
-+ * struct to hold pci ops and bus shift of the config window
-+ * for a PCI controller.
-+ */
-+struct pci_config_window;
-+struct pci_ecam_ops {
-+ unsigned int bus_shift;
-+ struct pci_ops pci_ops;
-+ int (*init)(struct device *,
-+ struct pci_config_window *);
-+};
-+
-+/*
-+ * struct to hold the mappings of a config space window. This
-+ * is expected to be used as sysdata for PCI controllers that
-+ * use ECAM.
-+ */
-+struct pci_config_window {
-+ struct resource res;
-+ struct resource busr;
-+ void *priv;
-+ struct pci_ecam_ops *ops;
-+ union {
-+ void __iomem *win; /* 64-bit single mapping */
-+ void __iomem **winp; /* 32-bit per-bus mapping */
-+ };
-+};
-+
-+/* create and free pci_config_window */
-+struct pci_config_window *pci_ecam_create(struct device *dev,
-+ struct resource *cfgres, struct resource *busr,
-+ struct pci_ecam_ops *ops);
-+void pci_ecam_free(struct pci_config_window *cfg);
-+
-+/* map_bus when ->sysdata is an instance of pci_config_window */
-+void __iomem *pci_ecam_map_bus(struct pci_bus *bus, unsigned int devfn,
-+ int where);
-+/* default ECAM ops */
-+extern struct pci_ecam_ops pci_generic_ecam_ops;
-+
-+#ifdef CONFIG_PCI_HOST_GENERIC
-+/* for DT-based PCI controllers that support ECAM */
-+int pci_host_common_probe(struct platform_device *pdev,
-+ struct pci_ecam_ops *ops);
-+#endif
-+#endif
---
-2.7.4
-
-From 5eb9996fc097629854f359f9ad3d959fdacb7f8f Mon Sep 17 00:00:00 2001
-From: Jayachandran C <jchandra@broadcom.com>
-Date: Fri, 10 Jun 2016 21:55:10 +0200
-Subject: [PATCH 02/11] PCI/ECAM: Add parent device field to pci_config_window
-
-Add a parent device field to struct pci_config_window. The parent
-is not saved now, but will be useful to save it in some cases.
-Specifically in case of ACPI for ARM64, it can be used to setup
-ACPI companion and domain.
-
-Since the parent dev is in struct pci_config_window now, we need
-not pass it to the init function as a separate argument.
-
-Signed-off-by: Jayachandran C <jchandra@broadcom.com>
-Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- drivers/pci/ecam.c | 3 ++-
- drivers/pci/host/pci-thunder-pem.c | 3 ++-
- include/linux/pci-ecam.h | 4 ++--
- 3 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/pci/ecam.c b/drivers/pci/ecam.c
-index 820e26b..66e0d71 100644
---- a/drivers/pci/ecam.c
-+++ b/drivers/pci/ecam.c
-@@ -51,6 +51,7 @@ struct pci_config_window *pci_ecam_create(struct device *dev,
- if (!cfg)
- return ERR_PTR(-ENOMEM);
-
-+ cfg->parent = dev;
- cfg->ops = ops;
- cfg->busr.start = busr->start;
- cfg->busr.end = busr->end;
-@@ -94,7 +95,7 @@ struct pci_config_window *pci_ecam_create(struct device *dev,
- }
-
- if (ops->init) {
-- err = ops->init(dev, cfg);
-+ err = ops->init(cfg);
- if (err)
- goto err_exit;
- }
-diff --git a/drivers/pci/host/pci-thunder-pem.c b/drivers/pci/host/pci-thunder-pem.c
-index 5020d3d..91f6fc6 100644
---- a/drivers/pci/host/pci-thunder-pem.c
-+++ b/drivers/pci/host/pci-thunder-pem.c
-@@ -284,8 +284,9 @@ static int thunder_pem_config_write(struct pci_bus *bus, unsigned int devfn,
- return pci_generic_config_write(bus, devfn, where, size, val);
- }
-
--static int thunder_pem_init(struct device *dev, struct pci_config_window *cfg)
-+static int thunder_pem_init(struct pci_config_window *cfg)
- {
-+ struct device *dev = cfg->parent;
- resource_size_t bar4_start;
- struct resource *res_pem;
- struct thunder_pem_pci *pem_pci;
-diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h
-index 9878beb..7adad20 100644
---- a/include/linux/pci-ecam.h
-+++ b/include/linux/pci-ecam.h
-@@ -27,8 +27,7 @@ struct pci_config_window;
- struct pci_ecam_ops {
- unsigned int bus_shift;
- struct pci_ops pci_ops;
-- int (*init)(struct device *,
-- struct pci_config_window *);
-+ int (*init)(struct pci_config_window *);
- };
-
- /*
-@@ -45,6 +44,7 @@ struct pci_config_window {
- void __iomem *win; /* 64-bit single mapping */
- void __iomem **winp; /* 32-bit per-bus mapping */
- };
-+ struct device *parent;/* ECAM res was from this dev */
- };
-
- /* create and free pci_config_window */
---
-2.7.4
-
-From 6ed6c1365df5c9201e9b275e8ed4eaa64ef2ec0d Mon Sep 17 00:00:00 2001
-From: Sinan Kaya <okaya@codeaurora.org>
-Date: Fri, 10 Jun 2016 21:55:11 +0200
-Subject: [PATCH 03/11] PCI: Add new function to unmap IO resources
-
-We need to release I/O resources so that the same I/O resources
-can be allocated again in pci_remap_iospace(), like in PCI hotplug removal
-scenario. Therefore implement new pci_unmap_iospace() call which
-unmaps I/O space as the symmetry to pci_remap_iospace().
-
-Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- drivers/pci/pci.c | 18 ++++++++++++++++++
- include/linux/pci.h | 1 +
- 2 files changed, 19 insertions(+)
-
-diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
-index c8b4dbd..eb431b5 100644
---- a/drivers/pci/pci.c
-+++ b/drivers/pci/pci.c
-@@ -25,6 +25,7 @@
- #include <linux/device.h>
- #include <linux/pm_runtime.h>
- #include <linux/pci_hotplug.h>
-+#include <linux/vmalloc.h>
- #include <asm/setup.h>
- #include <linux/aer.h>
- #include "pci.h"
-@@ -3165,6 +3166,23 @@ int __weak pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
- #endif
- }
-
-+/**
-+ * pci_unmap_iospace - Unmap the memory mapped I/O space
-+ * @res: resource to be unmapped
-+ *
-+ * Unmap the CPU virtual address @res from virtual address space.
-+ * Only architectures that have memory mapped IO functions defined
-+ * (and the PCI_IOBASE value defined) should call this function.
-+ */
-+void pci_unmap_iospace(struct resource *res)
-+{
-+#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
-+ unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
-+
-+ unmap_kernel_range(vaddr, resource_size(res));
-+#endif
-+}
-+
- static void __pci_set_master(struct pci_dev *dev, bool enable)
- {
- u16 old_cmd, cmd;
-diff --git a/include/linux/pci.h b/include/linux/pci.h
-index b67e4df..12349de 100644
---- a/include/linux/pci.h
-+++ b/include/linux/pci.h
-@@ -1167,6 +1167,7 @@ int pci_register_io_range(phys_addr_t addr, resource_size_t size);
- unsigned long pci_address_to_pio(phys_addr_t addr);
- phys_addr_t pci_pio_to_address(unsigned long pio);
- int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr);
-+void pci_unmap_iospace(struct resource *res);
-
- static inline pci_bus_addr_t pci_bus_address(struct pci_dev *pdev, int bar)
- {
---
-2.7.4
-
-From 62f4d54fc2d2882b9ebaa920189574f422e12207 Mon Sep 17 00:00:00 2001
-From: Jayachandran C <jchandra@broadcom.com>
-Date: Fri, 10 Jun 2016 21:55:12 +0200
-Subject: [PATCH 04/11] ACPI/PCI: Support IO resources when parsing PCI host
- bridge resources
-
-Platforms that have memory mapped IO port (such as ARM64) need special
-handling for PCI I/O resources. For host bridge's resource probing case
-these resources need to be fixed up with
-pci_register_io_range()/pci_remap_iospace() etc.
-
-The same I/O resources need to be released after hotplug
-removal so that it can be re-added back by the pci_remap_iospace()
-function during insertion. As a consequence unmap I/O resources
-with pci_unmap_iospace() when we release host bridge resources.
-
-Signed-off-by: Jayachandran C <jchandra@broadcom.com>
-Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
-[ Tomasz: merged in Sinan's patch to unmap IO resources properly, updated changelog]
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- drivers/acpi/pci_root.c | 39 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 39 insertions(+)
-
-diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
-index ae3fe4e..9a26dd1 100644
---- a/drivers/acpi/pci_root.c
-+++ b/drivers/acpi/pci_root.c
-@@ -720,6 +720,40 @@ next:
- }
- }
-
-+#ifdef PCI_IOBASE
-+static void acpi_pci_root_remap_iospace(struct resource_entry *entry)
-+{
-+ struct resource *res = entry->res;
-+ resource_size_t cpu_addr = res->start;
-+ resource_size_t pci_addr = cpu_addr - entry->offset;
-+ resource_size_t length = resource_size(res);
-+ unsigned long port;
-+
-+ if (pci_register_io_range(cpu_addr, length))
-+ goto err;
-+
-+ port = pci_address_to_pio(cpu_addr);
-+ if (port == (unsigned long)-1)
-+ goto err;
-+
-+ res->start = port;
-+ res->end = port + length - 1;
-+ entry->offset = port - pci_addr;
-+
-+ if (pci_remap_iospace(res, cpu_addr) < 0)
-+ goto err;
-+
-+ pr_info("Remapped I/O %pa to %pR\n", &cpu_addr, res);
-+ return;
-+err:
-+ res->flags |= IORESOURCE_DISABLED;
-+}
-+#else
-+static inline void acpi_pci_root_remap_iospace(struct resource_entry *entry)
-+{
-+}
-+#endif
-+
- int acpi_pci_probe_root_resources(struct acpi_pci_root_info *info)
- {
- int ret;
-@@ -740,6 +774,9 @@ int acpi_pci_probe_root_resources(struct acpi_pci_root_info *info)
- "no IO and memory resources present in _CRS\n");
- else {
- resource_list_for_each_entry_safe(entry, tmp, list) {
-+ if (entry->res->flags & IORESOURCE_IO)
-+ acpi_pci_root_remap_iospace(entry);
-+
- if (entry->res->flags & IORESOURCE_DISABLED)
- resource_list_destroy_entry(entry);
- else
-@@ -811,6 +848,8 @@ static void acpi_pci_root_release_info(struct pci_host_bridge *bridge)
-
- resource_list_for_each_entry(entry, &bridge->windows) {
- res = entry->res;
-+ if (res->flags & IORESOURCE_IO)
-+ pci_unmap_iospace(res);
- if (res->parent &&
- (res->flags & (IORESOURCE_MEM | IORESOURCE_IO)))
- release_resource(res);
---
-2.7.4
-
-From dd4f7822d702cca83baa1de7a5f69344ffb82af9 Mon Sep 17 00:00:00 2001
-From: Tomasz Nowicki <tn@semihalf.com>
-Date: Fri, 10 Jun 2016 21:55:13 +0200
-Subject: [PATCH 05/11] ACPI/PCI: Add generic MCFG table handling
-
-According to PCI firmware specifications, on systems booting with ACPI,
-PCI configuration for a host bridge must be set-up through the MCFG table
-regions for non-hotpluggable bridges and _CBA method for hotpluggable ones.
-
-Current MCFG table handling code, as implemented for x86, cannot be
-easily generalized owing to x86 specific quirks handling and related
-code, which makes it hard to reuse on other architectures.
-
-In order to implement MCFG PCI configuration handling for new platforms
-booting with ACPI (eg ARM64) this patch re-implements MCFG handling from
-scratch in a streamlined fashion and provides (through a generic
-interface available to all arches):
-
-- Simplified MCFG table parsing (executed through the pci_mmcfg_late_init()
- hook as in current x86)
-- MCFG regions look-up interface through domain:bus_start:bus_end tuple
-
-The new MCFG regions handling interface is added to generic ACPI code
-so that existing architectures (eg x86) can be moved over to it and
-architectures relying on MCFG for ACPI PCI config space can rely on it
-without having to resort to arch specific implementations.
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Signed-off-by: Jayachandran C <jchandra@broadcom.com>
-Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- drivers/acpi/Kconfig | 3 ++
- drivers/acpi/Makefile | 1 +
- drivers/acpi/pci_mcfg.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++
- include/linux/pci-acpi.h | 2 ++
- include/linux/pci.h | 2 +-
- 5 files changed, 99 insertions(+), 1 deletion(-)
- create mode 100644 drivers/acpi/pci_mcfg.c
-
-diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
-index b7e2e77..f98c328 100644
---- a/drivers/acpi/Kconfig
-+++ b/drivers/acpi/Kconfig
-@@ -217,6 +217,9 @@ config ACPI_PROCESSOR_IDLE
- bool
- select CPU_IDLE
-
-+config ACPI_MCFG
-+ bool
-+
- config ACPI_CPPC_LIB
- bool
- depends on ACPI_PROCESSOR
-diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile
-index 251ce85..632e81f 100644
---- a/drivers/acpi/Makefile
-+++ b/drivers/acpi/Makefile
-@@ -40,6 +40,7 @@ acpi-$(CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC) += processor_pdc.o
- acpi-y += ec.o
- acpi-$(CONFIG_ACPI_DOCK) += dock.o
- acpi-y += pci_root.o pci_link.o pci_irq.o
-+obj-$(CONFIG_ACPI_MCFG) += pci_mcfg.o
- acpi-y += acpi_lpss.o acpi_apd.o
- acpi-y += acpi_platform.o
- acpi-y += acpi_pnp.o
-diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
-new file mode 100644
-index 0000000..d3c3e85
---- /dev/null
-+++ b/drivers/acpi/pci_mcfg.c
-@@ -0,0 +1,92 @@
-+/*
-+ * Copyright (C) 2016 Broadcom
-+ * Author: Jayachandran C <jchandra@broadcom.com>
-+ * Copyright (C) 2016 Semihalf
-+ * Author: Tomasz Nowicki <tn@semihalf.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License, version 2, as
-+ * published by the Free Software Foundation (the "GPL").
-+ *
-+ * 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 version 2 (GPLv2) for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * version 2 (GPLv2) along with this source code.
-+ */
-+
-+#define pr_fmt(fmt) "ACPI: " fmt
-+
-+#include <linux/kernel.h>
-+#include <linux/pci.h>
-+#include <linux/pci-acpi.h>
-+
-+/* Structure to hold entries from the MCFG table */
-+struct mcfg_entry {
-+ struct list_head list;
-+ phys_addr_t addr;
-+ u16 segment;
-+ u8 bus_start;
-+ u8 bus_end;
-+};
-+
-+/* List to save mcfg entries */
-+static LIST_HEAD(pci_mcfg_list);
-+
-+phys_addr_t pci_mcfg_lookup(u16 seg, struct resource *bus_res)
-+{
-+ struct mcfg_entry *e;
-+
-+ /*
-+ * We expect exact match, unless MCFG entry end bus covers more than
-+ * specified by caller.
-+ */
-+ list_for_each_entry(e, &pci_mcfg_list, list) {
-+ if (e->segment == seg && e->bus_start == bus_res->start &&
-+ e->bus_end >= bus_res->end)
-+ return e->addr;
-+ }
-+
-+ return 0;
-+}
-+
-+static __init int pci_mcfg_parse(struct acpi_table_header *header)
-+{
-+ struct acpi_table_mcfg *mcfg;
-+ struct acpi_mcfg_allocation *mptr;
-+ struct mcfg_entry *e, *arr;
-+ int i, n;
-+
-+ if (header->length < sizeof(struct acpi_table_mcfg))
-+ return -EINVAL;
-+
-+ n = (header->length - sizeof(struct acpi_table_mcfg)) /
-+ sizeof(struct acpi_mcfg_allocation);
-+ mcfg = (struct acpi_table_mcfg *)header;
-+ mptr = (struct acpi_mcfg_allocation *) &mcfg[1];
-+
-+ arr = kcalloc(n, sizeof(*arr), GFP_KERNEL);
-+ if (!arr)
-+ return -ENOMEM;
-+
-+ for (i = 0, e = arr; i < n; i++, mptr++, e++) {
-+ e->segment = mptr->pci_segment;
-+ e->addr = mptr->address;
-+ e->bus_start = mptr->start_bus_number;
-+ e->bus_end = mptr->end_bus_number;
-+ list_add(&e->list, &pci_mcfg_list);
-+ }
-+
-+ pr_info("MCFG table detected, %d entries\n", n);
-+ return 0;
-+}
-+
-+/* Interface called by ACPI - parse and save MCFG table */
-+void __init pci_mmcfg_late_init(void)
-+{
-+ int err = acpi_table_parse(ACPI_SIG_MCFG, pci_mcfg_parse);
-+ if (err)
-+ pr_err("Failed to parse MCFG (%d)\n", err);
-+}
-diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h
-index 89ab057..7d63a66 100644
---- a/include/linux/pci-acpi.h
-+++ b/include/linux/pci-acpi.h
-@@ -24,6 +24,8 @@ static inline acpi_status pci_acpi_remove_pm_notifier(struct acpi_device *dev)
- }
- extern phys_addr_t acpi_pci_root_get_mcfg_addr(acpi_handle handle);
-
-+extern phys_addr_t pci_mcfg_lookup(u16 domain, struct resource *bus_res);
-+
- static inline acpi_handle acpi_find_root_bridge_handle(struct pci_dev *pdev)
- {
- struct pci_bus *pbus = pdev->bus;
-diff --git a/include/linux/pci.h b/include/linux/pci.h
-index 12349de..ce03d65 100644
---- a/include/linux/pci.h
-+++ b/include/linux/pci.h
-@@ -1723,7 +1723,7 @@ void pcibios_free_irq(struct pci_dev *dev);
- extern struct dev_pm_ops pcibios_pm_ops;
- #endif
-
--#ifdef CONFIG_PCI_MMCONFIG
-+#if defined(CONFIG_PCI_MMCONFIG) || defined(CONFIG_ACPI_MCFG)
- void __init pci_mmcfg_early_init(void);
- void __init pci_mmcfg_late_init(void);
- #else
---
-2.7.4
-
-From fc1907f9c79f9a0a0c2f4d579896e678915fec48 Mon Sep 17 00:00:00 2001
-From: Tomasz Nowicki <tn@semihalf.com>
-Date: Fri, 10 Jun 2016 21:55:14 +0200
-Subject: [PATCH 06/11] PCI: Refactor generic bus domain assignment
-
-Change the way PCI bus domain number is assigned and improve function
-name to reflect what function does. No functional changes.
-
-Instead of assigning bus domain number inside of pci_bus_assign_domain_nr()
-simply return domain number and let pci_create_root_bus() do assignment.
-This way pci_create_root_bus() setups bus structure data in the consistent
-way. Since pci_bus_assign_domain_nr() now does not assign but retrieves
-domain number instead, rename it to pci_bus_find_domain_nr().
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- drivers/pci/pci.c | 4 ++--
- drivers/pci/probe.c | 4 +++-
- include/linux/pci.h | 7 +------
- 3 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
-index eb431b5..b9a7833 100644
---- a/drivers/pci/pci.c
-+++ b/drivers/pci/pci.c
-@@ -4941,7 +4941,7 @@ int pci_get_new_domain_nr(void)
- }
-
- #ifdef CONFIG_PCI_DOMAINS_GENERIC
--void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent)
-+int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent)
- {
- static int use_dt_domains = -1;
- int domain = -1;
-@@ -4985,7 +4985,7 @@ void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent)
- domain = -1;
- }
-
-- bus->domain_nr = domain;
-+ return domain;
- }
- #endif
- #endif
-diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
-index 8e3ef72..380d46d 100644
---- a/drivers/pci/probe.c
-+++ b/drivers/pci/probe.c
-@@ -2127,7 +2127,9 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
- b->sysdata = sysdata;
- b->ops = ops;
- b->number = b->busn_res.start = bus;
-- pci_bus_assign_domain_nr(b, parent);
-+#ifdef CONFIG_PCI_DOMAINS_GENERIC
-+ b->domain_nr = pci_bus_find_domain_nr(b, parent);
-+#endif
- b2 = pci_find_bus(pci_domain_nr(b), bus);
- if (b2) {
- /* If we already got to this bus through a different bridge, ignore it */
-diff --git a/include/linux/pci.h b/include/linux/pci.h
-index ce03d65..48839e8 100644
---- a/include/linux/pci.h
-+++ b/include/linux/pci.h
-@@ -1390,12 +1390,7 @@ static inline int pci_domain_nr(struct pci_bus *bus)
- {
- return bus->domain_nr;
- }
--void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent);
--#else
--static inline void pci_bus_assign_domain_nr(struct pci_bus *bus,
-- struct device *parent)
--{
--}
-+int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent);
- #endif
-
- /* some architectures require additional setup to direct VGA traffic */
---
-2.7.4
-
-From d6d45ae1d58658111d5e838c41b9ed4729bbb81e Mon Sep 17 00:00:00 2001
-From: Tomasz Nowicki <tn@semihalf.com>
-Date: Fri, 10 Jun 2016 21:55:15 +0200
-Subject: [PATCH 07/11] PCI: Factor DT specific pci_bus_find_domain_nr() code
- out
-
-pci_bus_find_domain_nr() retrieves the host bridge domain number in a DT
-specific way. Factor our pci_bus_find_domain_nr() in a separate DT
-function (ie of_pci_bus_find_domain_nr()) so that DT code is self
-contained, paving the way for retrieving domain number in
-pci_bus_find_domain_nr() with additional firmware methods (ie ACPI).
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- drivers/pci/pci.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
-index b9a7833..97f7cd4 100644
---- a/drivers/pci/pci.c
-+++ b/drivers/pci/pci.c
-@@ -4941,7 +4941,7 @@ int pci_get_new_domain_nr(void)
- }
-
- #ifdef CONFIG_PCI_DOMAINS_GENERIC
--int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent)
-+static int of_pci_bus_find_domain_nr(struct device *parent)
- {
- static int use_dt_domains = -1;
- int domain = -1;
-@@ -4987,6 +4987,11 @@ int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent)
-
- return domain;
- }
-+
-+int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent)
-+{
-+ return of_pci_bus_find_domain_nr(parent);
-+}
- #endif
- #endif
-
---
-2.7.4
-
-From 92d59511fd365d3c0c31d074b5e96cf48c58f68b Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Thu, 30 Jun 2016 16:56:24 +0100
-Subject: [PATCH 08/11] ARM64/PCI: Add ACPI hook to assign domain number
-
-PCI core code provides a config option (CONFIG_PCI_DOMAINS_GENERIC)
-that allows assigning the PCI bus domain number generically by
-relying on device tree bindings, and falling back to a simple counter
-when the respective DT properties (ie "linux,pci-domain") are not
-specified in the host bridge device tree node.
-
-In a similar way, when a system is booted through ACPI, architectures
-that are selecting CONFIG_PCI_DOMAINS_GENERIC (ie ARM64) require kernel
-hooks to retrieve the domain number so that the PCI bus domain number
-set-up can be handled seamlessly with DT and ACPI in generic core code
-when CONFIG_PCI_DOMAINS_GENERIC is selected.
-
-Since currently it is not possible to retrieve a pointer to the PCI
-host bridge ACPI device backing the host bridge from core PCI code
-(which would allow retrieving the domain number in an arch agnostic
-way through the ACPI _SEG method), an arch specific ACPI hook has to
-be declared and implemented by all arches that rely on
-CONFIG_PCI_DOMAINS_GENERIC to retrieve the domain number and set it
-up in core PCI code.
-
-For the aforementioned reasons, introduce acpi_pci_bus_find_domain_nr()
-hook to retrieve the domain number on a per-arch basis when the system
-boots through ACPI. ARM64 dummy implementation of the same is provided
-in first place in preparation for ARM64 ACPI based PCI host controller
-driver.
-
-acpi_pci_bus_find_domain_nr() is called from generic
-pci_bus_find_domain_nr() as an ACPI option to DT domain assignment.
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- arch/arm64/kernel/pci.c | 7 +++++++
- drivers/pci/pci.c | 4 +++-
- include/linux/pci.h | 7 +++++++
- 3 files changed, 17 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
-index 3c4e308..d5d3d26 100644
---- a/arch/arm64/kernel/pci.c
-+++ b/arch/arm64/kernel/pci.c
-@@ -17,6 +17,7 @@
- #include <linux/mm.h>
- #include <linux/of_pci.h>
- #include <linux/of_platform.h>
-+#include <linux/pci.h>
- #include <linux/slab.h>
-
- /*
-@@ -85,6 +86,12 @@ EXPORT_SYMBOL(pcibus_to_node);
- #endif
-
- #ifdef CONFIG_ACPI
-+
-+int acpi_pci_bus_find_domain_nr(struct pci_bus *bus)
-+{
-+ return 0;
-+}
-+
- /* Root bridge scanning */
- struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
- {
-diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
-index 97f7cd4..4834cee 100644
---- a/drivers/pci/pci.c
-+++ b/drivers/pci/pci.c
-@@ -7,6 +7,7 @@
- * Copyright 1997 -- 2000 Martin Mares <mj@ucw.cz>
- */
-
-+#include <linux/acpi.h>
- #include <linux/kernel.h>
- #include <linux/delay.h>
- #include <linux/init.h>
-@@ -4990,7 +4991,8 @@ static int of_pci_bus_find_domain_nr(struct device *parent)
-
- int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent)
- {
-- return of_pci_bus_find_domain_nr(parent);
-+ return acpi_disabled ? of_pci_bus_find_domain_nr(parent) :
-+ acpi_pci_bus_find_domain_nr(bus);
- }
- #endif
- #endif
-diff --git a/include/linux/pci.h b/include/linux/pci.h
-index 48839e8..49ba8af 100644
---- a/include/linux/pci.h
-+++ b/include/linux/pci.h
-@@ -1390,6 +1390,13 @@ static inline int pci_domain_nr(struct pci_bus *bus)
- {
- return bus->domain_nr;
- }
-+/* Arch specific ACPI hook to set-up domain number */
-+#ifdef CONFIG_ACPI
-+int acpi_pci_bus_find_domain_nr(struct pci_bus *bus);
-+#else
-+static inline int acpi_pci_bus_find_domain_nr(struct pci_bus *bus)
-+{ return 0; }
-+#endif
- int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent);
- #endif
-
---
-2.7.4
-
-From bb06753d2e163d8100a017f06a6d9dd195d68a76 Mon Sep 17 00:00:00 2001
-From: Tomasz Nowicki <tn@semihalf.com>
-Date: Fri, 10 Jun 2016 21:55:17 +0200
-Subject: [PATCH 09/11] ARM64/PCI: ACPI support for legacy IRQs parsing and
- consolidation with DT code
-
-To enable PCI legacy IRQs on platforms booting with ACPI, arch code
-should include ACPI specific callbacks that parse and set-up the
-device IRQ number, equivalent to the DT boot path. Owing to the current
-ACPI core scan handlers implementation, ACPI PCI legacy IRQs bindings
-cannot be parsed at device add time, since that would trigger ACPI scan
-handlers ordering issues depending on how the ACPI tables are defined.
-
-To solve this problem and consolidate FW PCI legacy IRQs parsing in
-one single pcibios callback (pending final removal), this patch moves
-DT PCI IRQ parsing to the pcibios_alloc_irq() callback (called by
-PCI core code at device probe time) and adds ACPI PCI legacy IRQs
-parsing to the same callback too, so that FW PCI legacy IRQs parsing
-is confined in one single arch callback that can be easily removed
-when code parsing PCI legacy IRQs is consolidated and moved to core
-PCI code.
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Suggested-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- arch/arm64/kernel/pci.c | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
-index d5d3d26..b3b8a2c 100644
---- a/arch/arm64/kernel/pci.c
-+++ b/arch/arm64/kernel/pci.c
-@@ -51,11 +51,16 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
- }
-
- /*
-- * Try to assign the IRQ number from DT when adding a new device
-+ * Try to assign the IRQ number when probing a new device
- */
--int pcibios_add_device(struct pci_dev *dev)
-+int pcibios_alloc_irq(struct pci_dev *dev)
- {
-- dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
-+ if (acpi_disabled)
-+ dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
-+#ifdef CONFIG_ACPI
-+ else
-+ return acpi_pci_irq_enable(dev);
-+#endif
-
- return 0;
- }
---
-2.7.4
-
-From b6e298840f532192a589f8ade128dec3fef3a4c6 Mon Sep 17 00:00:00 2001
-From: Tomasz Nowicki <tn@semihalf.com>
-Date: Fri, 10 Jun 2016 21:55:18 +0200
-Subject: [PATCH 10/11] ARM64/PCI: Implement ACPI low-level calls to access
- PCI_Config region from AML
-
-ACPI spec6.1 - chapter: 5.5.2.4 defines OperationRegion (Declare Operation
-Region). Following the spec: " [...] An Operation Region is a specific
-region of operation within an address space that is declared as a subset
-of the entire address space using a starting address (offset) and a length.
-Control methods must have exclusive access to any address accessed via
-fields declared in Operation Regions. [...]".
-
-OperationRegion allows to declare various of operation region address space
-identifiers including PCI_Config. PCI_Config is meant to access PCI
-configuration space from the ASL. So every time ASL opcode operates
-on PCI_Config space region, ASL interpreter dispatches accesses to OS
-low-level calls - raw_pci_write() and raw_pci_read() for Linux - so-called
-ACPI RAW accessors.
-
-In order to support PCI_Config operation region, implement mentioned
-raw_pci_write() and raw_pci_read() calls so they find associated bus
-and call read/write ops.
-
-Waiting for clarification in the ACPI specifications in relation
-to PCI_Config space handling before PCI bus enumeration is completed,
-current code does not support PCI_Config region accesses before PCI bus
-enumeration whilst providing full AML PCI_Config access availability
-when the PCI bus enumeration is completed by the kernel so that
-RAW accessors can look-up PCI operations through the struct pci_bus
-associated with a PCI bus.
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Signed-off-by: Jayachandran C <jchandra@broadcom.com>
-Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- arch/arm64/kernel/pci.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
-index b3b8a2c..328f857 100644
---- a/arch/arm64/kernel/pci.c
-+++ b/arch/arm64/kernel/pci.c
-@@ -71,13 +71,21 @@ int pcibios_alloc_irq(struct pci_dev *dev)
- int raw_pci_read(unsigned int domain, unsigned int bus,
- unsigned int devfn, int reg, int len, u32 *val)
- {
-- return -ENXIO;
-+ struct pci_bus *b = pci_find_bus(domain, bus);
-+
-+ if (!b)
-+ return PCIBIOS_DEVICE_NOT_FOUND;
-+ return b->ops->read(b, devfn, reg, len, val);
- }
-
- int raw_pci_write(unsigned int domain, unsigned int bus,
- unsigned int devfn, int reg, int len, u32 val)
- {
-- return -ENXIO;
-+ struct pci_bus *b = pci_find_bus(domain, bus);
-+
-+ if (!b)
-+ return PCIBIOS_DEVICE_NOT_FOUND;
-+ return b->ops->write(b, devfn, reg, len, val);
- }
-
- #ifdef CONFIG_NUMA
---
-2.7.4
-
-From 3b8cff3fa89ba3ef6f1cf09a0667aa470b7fad0b Mon Sep 17 00:00:00 2001
-From: Tomasz Nowicki <tn@semihalf.com>
-Date: Fri, 10 Jun 2016 21:55:19 +0200
-Subject: [PATCH 11/11] ARM64/PCI: Support for ACPI based PCI host controller
-
-Implement pci_acpi_scan_root and other arch-specific call so that ARM64
-can start using ACPI to setup and enumerate PCI buses.
-
-Prior to buses enumeration the pci_acpi_scan_root() implementation looks
-for configuration space start address (obtained through ACPI _CBA method or
-MCFG interface). If succeed, it uses ECAM library to create new mapping.
-Then it attaches generic ECAM ops (pci_generic_ecam_ops) which are used
-for accessing configuration space later on.
-
-On ARM64, we need to use generic domains (CONFIG_PCI_DOMAINS_GENERIC).
-In order to achieve that for ACPI case implement
-acpi_pci_bus_find_domain_nr() body so that it retrieves pci_config_window
-structure from bus sysdata and eventually gets domain number from
-acpi_pci_root structure.
-
-ACPI requires to run acpi_pci_{add|remove}_bus while new PCI bus is created.
-This allows to do some ACPI-specific additional configuration, like
-PCI hotplug slot enumeration. In order to fulfill these requirements,
-we implement arch-specific pcibios_{add|remove}_bus calls
-and call acpi_pci_{add|remove}_bus from there.
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Signed-off-by: Jayachandran C <jchandra@broadcom.com>
-Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
----
- arch/arm64/Kconfig | 2 +
- arch/arm64/kernel/pci.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 115 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 5a0a691..4806cde 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -3,6 +3,7 @@ config ARM64
- select ACPI_CCA_REQUIRED if ACPI
- select ACPI_GENERIC_GSI if ACPI
- select ACPI_REDUCED_HARDWARE_ONLY if ACPI
-+ select ACPI_MCFG if ACPI
- select ARCH_HAS_DEVMEM_IS_ALLOWED
- select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
- select ARCH_HAS_ELF_RANDOMIZE
-@@ -96,6 +97,7 @@ config ARM64
- select OF_EARLY_FLATTREE
- select OF_NUMA if NUMA && OF
- select OF_RESERVED_MEM
-+ select PCI_ECAM if ACPI
- select PERF_USE_VMALLOC
- select POWER_RESET
- select POWER_SUPPLY
-diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
-index 328f857..94cd43c 100644
---- a/arch/arm64/kernel/pci.c
-+++ b/arch/arm64/kernel/pci.c
-@@ -18,6 +18,8 @@
- #include <linux/of_pci.h>
- #include <linux/of_platform.h>
- #include <linux/pci.h>
-+#include <linux/pci-acpi.h>
-+#include <linux/pci-ecam.h>
- #include <linux/slab.h>
-
- /*
-@@ -100,15 +102,123 @@ EXPORT_SYMBOL(pcibus_to_node);
-
- #ifdef CONFIG_ACPI
-
-+struct acpi_pci_generic_root_info {
-+ struct acpi_pci_root_info common;
-+ struct pci_config_window *cfg; /* config space mapping */
-+};
-+
- int acpi_pci_bus_find_domain_nr(struct pci_bus *bus)
- {
-+ struct pci_config_window *cfg = bus->sysdata;
-+ struct acpi_device *adev = to_acpi_device(cfg->parent);
-+ struct acpi_pci_root *root = acpi_driver_data(adev);
-+
-+ return root->segment;
-+}
-+
-+int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
-+{
-+ if (!acpi_disabled) {
-+ struct pci_config_window *cfg = bridge->bus->sysdata;
-+ struct acpi_device *adev = to_acpi_device(cfg->parent);
-+ ACPI_COMPANION_SET(&bridge->dev, adev);
-+ }
-+
- return 0;
- }
-
--/* Root bridge scanning */
-+/*
-+ * Lookup the bus range for the domain in MCFG, and set up config space
-+ * mapping.
-+ */
-+static struct pci_config_window *
-+pci_acpi_setup_ecam_mapping(struct acpi_pci_root *root)
-+{
-+ struct resource *bus_res = &root->secondary;
-+ u16 seg = root->segment;
-+ struct pci_config_window *cfg;
-+ struct resource cfgres;
-+ unsigned int bsz;
-+
-+ /* Use address from _CBA if present, otherwise lookup MCFG */
-+ if (!root->mcfg_addr)
-+ root->mcfg_addr = pci_mcfg_lookup(seg, bus_res);
-+
-+ if (!root->mcfg_addr) {
-+ dev_err(&root->device->dev, "%04x:%pR ECAM region not found\n",
-+ seg, bus_res);
-+ return NULL;
-+ }
-+
-+ bsz = 1 << pci_generic_ecam_ops.bus_shift;
-+ cfgres.start = root->mcfg_addr + bus_res->start * bsz;
-+ cfgres.end = cfgres.start + resource_size(bus_res) * bsz - 1;
-+ cfgres.flags = IORESOURCE_MEM;
-+ cfg = pci_ecam_create(&root->device->dev, &cfgres, bus_res,
-+ &pci_generic_ecam_ops);
-+ if (IS_ERR(cfg)) {
-+ dev_err(&root->device->dev, "%04x:%pR error %ld mapping ECAM\n",
-+ seg, bus_res, PTR_ERR(cfg));
-+ return NULL;
-+ }
-+
-+ return cfg;
-+}
-+
-+/* release_info: free resources allocated by init_info */
-+static void pci_acpi_generic_release_info(struct acpi_pci_root_info *ci)
-+{
-+ struct acpi_pci_generic_root_info *ri;
-+
-+ ri = container_of(ci, struct acpi_pci_generic_root_info, common);
-+ pci_ecam_free(ri->cfg);
-+ kfree(ri);
-+}
-+
-+static struct acpi_pci_root_ops acpi_pci_root_ops = {
-+ .release_info = pci_acpi_generic_release_info,
-+};
-+
-+/* Interface called from ACPI code to setup PCI host controller */
- struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
- {
-- /* TODO: Should be revisited when implementing PCI on ACPI */
-- return NULL;
-+ int node = acpi_get_node(root->device->handle);
-+ struct acpi_pci_generic_root_info *ri;
-+ struct pci_bus *bus, *child;
-+
-+ ri = kzalloc_node(sizeof(*ri), GFP_KERNEL, node);
-+ if (!ri)
-+ return NULL;
-+
-+ ri->cfg = pci_acpi_setup_ecam_mapping(root);
-+ if (!ri->cfg) {
-+ kfree(ri);
-+ return NULL;
-+ }
-+
-+ acpi_pci_root_ops.pci_ops = &ri->cfg->ops->pci_ops;
-+ bus = acpi_pci_root_create(root, &acpi_pci_root_ops, &ri->common,
-+ ri->cfg);
-+ if (!bus)
-+ return NULL;
-+
-+ pci_bus_size_bridges(bus);
-+ pci_bus_assign_resources(bus);
-+
-+ list_for_each_entry(child, &bus->children, node)
-+ pcie_bus_configure_settings(child);
-+
-+ return bus;
-+}
-+
-+void pcibios_add_bus(struct pci_bus *bus)
-+{
-+ acpi_pci_add_bus(bus);
- }
-+
-+void pcibios_remove_bus(struct pci_bus *bus)
-+{
-+ acpi_pci_remove_bus(bus);
-+}
-+
- #endif
---
-2.7.4
-
diff --git a/arm64-pcie-quirks-xgene.patch b/arm64-pcie-quirks-xgene.patch
deleted file mode 100644
index 8e6805df6..000000000
--- a/arm64-pcie-quirks-xgene.patch
+++ /dev/null
@@ -1,508 +0,0 @@
-From 767b70aa55d013f0c7589955f410d488fed5776a Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 5 Jul 2016 23:49:39 +0100
-Subject: [PATCH 1/4] Some platforms may not be fully compliant with generic
- set of PCI config accessors. For these cases we implement the way to
- overwrite accessors set. Algorithm traverses available quirk list, matches
- against <oem_id, oem_table_id, domain, bus number> tuple and returns
- corresponding PCI config ops. oem_id and oem_table_id come from MCFG table
- standard header. All quirks can be defined using DECLARE_ACPI_MCFG_FIXUP()
- macro and kept self contained. Example:
-
-/* Custom PCI config ops */
-static struct pci_generic_ecam_ops foo_pci_ops = {
- .bus_shift = 24,
- .pci_ops = {
- .map_bus = pci_ecam_map_bus,
- .read = foo_ecam_config_read,
- .write = foo_ecam_config_write,
- }
-};
-
-DECLARE_ACPI_MCFG_FIXUP(&foo_pci_ops, <oem_id_str>, <oem_table_id>, <domain_nr>, <bus_nr>);
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
-Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
----
- drivers/acpi/pci_mcfg.c | 41 ++++++++++++++++++++++++++++++++++++---
- include/asm-generic/vmlinux.lds.h | 7 +++++++
- include/linux/pci-acpi.h | 20 +++++++++++++++++++
- 3 files changed, 65 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
-index d3c3e85..deb0077 100644
---- a/drivers/acpi/pci_mcfg.c
-+++ b/drivers/acpi/pci_mcfg.c
-@@ -22,6 +22,10 @@
- #include <linux/kernel.h>
- #include <linux/pci.h>
- #include <linux/pci-acpi.h>
-+#include <linux/pci-ecam.h>
-+
-+/* Root pointer to the mapped MCFG table */
-+static struct acpi_table_mcfg *mcfg_table;
-
- /* Structure to hold entries from the MCFG table */
- struct mcfg_entry {
-@@ -35,6 +39,38 @@ struct mcfg_entry {
- /* List to save mcfg entries */
- static LIST_HEAD(pci_mcfg_list);
-
-+extern struct pci_cfg_fixup __start_acpi_mcfg_fixups[];
-+extern struct pci_cfg_fixup __end_acpi_mcfg_fixups[];
-+
-+struct pci_ecam_ops *pci_mcfg_get_ops(struct acpi_pci_root *root)
-+{
-+ int bus_num = root->secondary.start;
-+ int domain = root->segment;
-+ struct pci_cfg_fixup *f;
-+
-+ if (!mcfg_table)
-+ return &pci_generic_ecam_ops;
-+
-+ /*
-+ * Match against platform specific quirks and return corresponding
-+ * CAM ops.
-+ *
-+ * First match against PCI topology <domain:bus> then use OEM ID and
-+ * OEM revision from MCFG table standard header.
-+ */
-+ for (f = __start_acpi_mcfg_fixups; f < __end_acpi_mcfg_fixups; f++) {
-+ if ((f->domain == domain || f->domain == PCI_MCFG_DOMAIN_ANY) &&
-+ (f->bus_num == bus_num || f->bus_num == PCI_MCFG_BUS_ANY) &&
-+ (!strncmp(f->oem_id, mcfg_table->header.oem_id,
-+ ACPI_OEM_ID_SIZE)) &&
-+ (!strncmp(f->oem_table_id, mcfg_table->header.oem_table_id,
-+ ACPI_OEM_TABLE_ID_SIZE)))
-+ return f->ops;
-+ }
-+ /* No quirks, use ECAM */
-+ return &pci_generic_ecam_ops;
-+}
-+
- phys_addr_t pci_mcfg_lookup(u16 seg, struct resource *bus_res)
- {
- struct mcfg_entry *e;
-@@ -54,7 +90,6 @@ phys_addr_t pci_mcfg_lookup(u16 seg, struct resource *bus_res)
-
- static __init int pci_mcfg_parse(struct acpi_table_header *header)
- {
-- struct acpi_table_mcfg *mcfg;
- struct acpi_mcfg_allocation *mptr;
- struct mcfg_entry *e, *arr;
- int i, n;
-@@ -64,8 +99,8 @@ static __init int pci_mcfg_parse(struct acpi_table_header *header)
-
- n = (header->length - sizeof(struct acpi_table_mcfg)) /
- sizeof(struct acpi_mcfg_allocation);
-- mcfg = (struct acpi_table_mcfg *)header;
-- mptr = (struct acpi_mcfg_allocation *) &mcfg[1];
-+ mcfg_table = (struct acpi_table_mcfg *)header;
-+ mptr = (struct acpi_mcfg_allocation *) &mcfg_table[1];
-
- arr = kcalloc(n, sizeof(*arr), GFP_KERNEL);
- if (!arr)
-diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index 6a67ab9..43604fc 100644
---- a/include/asm-generic/vmlinux.lds.h
-+++ b/include/asm-generic/vmlinux.lds.h
-@@ -300,6 +300,13 @@
- VMLINUX_SYMBOL(__end_pci_fixups_suspend_late) = .; \
- } \
- \
-+ /* ACPI MCFG quirks */ \
-+ .acpi_fixup : AT(ADDR(.acpi_fixup) - LOAD_OFFSET) { \
-+ VMLINUX_SYMBOL(__start_acpi_mcfg_fixups) = .; \
-+ *(.acpi_fixup_mcfg) \
-+ VMLINUX_SYMBOL(__end_acpi_mcfg_fixups) = .; \
-+ } \
-+ \
- /* Built-in firmware blobs */ \
- .builtin_fw : AT(ADDR(.builtin_fw) - LOAD_OFFSET) { \
- VMLINUX_SYMBOL(__start_builtin_fw) = .; \
-diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h
-index 7d63a66..c8a6559 100644
---- a/include/linux/pci-acpi.h
-+++ b/include/linux/pci-acpi.h
-@@ -25,6 +25,7 @@ static inline acpi_status pci_acpi_remove_pm_notifier(struct acpi_device *dev)
- extern phys_addr_t acpi_pci_root_get_mcfg_addr(acpi_handle handle);
-
- extern phys_addr_t pci_mcfg_lookup(u16 domain, struct resource *bus_res);
-+extern struct pci_ecam_ops *pci_mcfg_get_ops(struct acpi_pci_root *root);
-
- static inline acpi_handle acpi_find_root_bridge_handle(struct pci_dev *pdev)
- {
-@@ -72,6 +73,25 @@ struct acpi_pci_root_ops {
- int (*prepare_resources)(struct acpi_pci_root_info *info);
- };
-
-+struct pci_cfg_fixup {
-+ struct pci_ecam_ops *ops;
-+ char *oem_id;
-+ char *oem_table_id;
-+ int domain;
-+ int bus_num;
-+};
-+
-+#define PCI_MCFG_DOMAIN_ANY -1
-+#define PCI_MCFG_BUS_ANY -1
-+
-+/* Designate a routine to fix up buggy MCFG */
-+#define DECLARE_ACPI_MCFG_FIXUP(ops, oem_id, oem_table_id, dom, bus) \
-+ static const struct pci_cfg_fixup \
-+ __mcfg_fixup_##oem_id##oem_table_id##dom##bus \
-+ __used __attribute__((__section__(".acpi_fixup_mcfg"), \
-+ aligned((sizeof(void *))))) = \
-+ { ops, oem_id, oem_table_id, dom, bus };
-+
- extern int acpi_pci_probe_root_resources(struct acpi_pci_root_info *info);
- extern struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root,
- struct acpi_pci_root_ops *ops,
---
-2.7.4
-
-From 4f86a9b006b25dd7336043dab26058ed6fb2802d Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 5 Jul 2016 23:52:46 +0100
-Subject: [PATCH 2/4] pci_generic_ecam_ops is used by default. Since there are
- platforms which have non-compliant ECAM space we need to overwrite these
- accessors prior to PCI buses enumeration. In order to do that we call
- pci_mcfg_get_ops to retrieve pci_ecam_ops structure so that we can use proper
- PCI config space accessors and bus_shift.
-
-pci_generic_ecam_ops is still used for platforms free from quirks.
-
-Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
----
- arch/arm64/kernel/pci.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
-index 94cd43c..a891bda 100644
---- a/arch/arm64/kernel/pci.c
-+++ b/arch/arm64/kernel/pci.c
-@@ -139,6 +139,7 @@ pci_acpi_setup_ecam_mapping(struct acpi_pci_root *root)
- struct pci_config_window *cfg;
- struct resource cfgres;
- unsigned int bsz;
-+ struct pci_ecam_ops *ops;
-
- /* Use address from _CBA if present, otherwise lookup MCFG */
- if (!root->mcfg_addr)
-@@ -150,12 +151,12 @@ pci_acpi_setup_ecam_mapping(struct acpi_pci_root *root)
- return NULL;
- }
-
-- bsz = 1 << pci_generic_ecam_ops.bus_shift;
-+ ops = pci_mcfg_get_ops(root);
-+ bsz = 1 << ops->bus_shift;
- cfgres.start = root->mcfg_addr + bus_res->start * bsz;
- cfgres.end = cfgres.start + resource_size(bus_res) * bsz - 1;
- cfgres.flags = IORESOURCE_MEM;
-- cfg = pci_ecam_create(&root->device->dev, &cfgres, bus_res,
-- &pci_generic_ecam_ops);
-+ cfg = pci_ecam_create(&root->device->dev, &cfgres, bus_res, ops);
- if (IS_ERR(cfg)) {
- dev_err(&root->device->dev, "%04x:%pR error %ld mapping ECAM\n",
- seg, bus_res, PTR_ERR(cfg));
---
-2.7.4
-
-From cbdbd697bd6d716eb9d1705ee55445432e73eabb Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 5 Jul 2016 23:53:59 +0100
-Subject: [PATCH 3/4] The ECAM quirk matching criteria per the discussion on
- https://lkml.org/lkml/2016/6/13/944 includes: OEM ID, OEM Table ID and OEM
- Revision. So this patch adds OEM Table ID into the check to match platform
- specific ECAM quirks as well.
-
-This patch also improve strncmp check using strlen and
-min_t to ignore the padding spaces in OEM ID and OEM
-Table ID.
-
-Signed-off-by: Duc Dang <dhdang@apm.com>
----
- drivers/acpi/pci_mcfg.c | 7 +++++--
- include/linux/pci-acpi.h | 7 ++++---
- 2 files changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
-index deb0077..307ca9a 100644
---- a/drivers/acpi/pci_mcfg.c
-+++ b/drivers/acpi/pci_mcfg.c
-@@ -62,9 +62,12 @@ struct pci_ecam_ops *pci_mcfg_get_ops(struct acpi_pci_root *root)
- if ((f->domain == domain || f->domain == PCI_MCFG_DOMAIN_ANY) &&
- (f->bus_num == bus_num || f->bus_num == PCI_MCFG_BUS_ANY) &&
- (!strncmp(f->oem_id, mcfg_table->header.oem_id,
-- ACPI_OEM_ID_SIZE)) &&
-+ min_t(size_t, strlen(f->oem_id),
-+ ACPI_OEM_ID_SIZE))) &&
- (!strncmp(f->oem_table_id, mcfg_table->header.oem_table_id,
-- ACPI_OEM_TABLE_ID_SIZE)))
-+ min_t(size_t, strlen(f->oem_table_id),
-+ ACPI_OEM_TABLE_ID_SIZE))) &&
-+ (f->oem_revision == mcfg_table->header.oem_revision))
- return f->ops;
- }
- /* No quirks, use ECAM */
-diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h
-index c8a6559..5148c8d 100644
---- a/include/linux/pci-acpi.h
-+++ b/include/linux/pci-acpi.h
-@@ -77,6 +77,7 @@ struct pci_cfg_fixup {
- struct pci_ecam_ops *ops;
- char *oem_id;
- char *oem_table_id;
-+ u32 oem_revision;
- int domain;
- int bus_num;
- };
-@@ -85,12 +86,12 @@ struct pci_cfg_fixup {
- #define PCI_MCFG_BUS_ANY -1
-
- /* Designate a routine to fix up buggy MCFG */
--#define DECLARE_ACPI_MCFG_FIXUP(ops, oem_id, oem_table_id, dom, bus) \
-+#define DECLARE_ACPI_MCFG_FIXUP(ops, oem_id, oem_table_id, rev, dom, bus) \
- static const struct pci_cfg_fixup \
-- __mcfg_fixup_##oem_id##oem_table_id##dom##bus \
-+ __mcfg_fixup_##oem_id##oem_table_id##rev##dom##bus \
- __used __attribute__((__section__(".acpi_fixup_mcfg"), \
- aligned((sizeof(void *))))) = \
-- { ops, oem_id, oem_table_id, dom, bus };
-+ { ops, oem_id, oem_table_id, rev, dom, bus };
-
- extern int acpi_pci_probe_root_resources(struct acpi_pci_root_info *info);
- extern struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root,
---
-2.7.4
-
-From 78766cf255bc6aafac2f57372a0446f78322da19 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 5 Jul 2016 23:55:11 +0100
-Subject: [PATCH 4/4] X-Gene PCIe controller does not fully support ECAM. This
- patch adds required ECAM fixup to allow X-Gene PCIe controller to be
- functional in ACPI boot mode.
-
-Signed-off-by: Duc Dang <dhdang@apm.com>
----
- drivers/pci/host/Makefile | 2 +-
- drivers/pci/host/pci-xgene-ecam.c | 194 ++++++++++++++++++++++++++++++++++++++
- 2 files changed, 195 insertions(+), 1 deletion(-)
- create mode 100644 drivers/pci/host/pci-xgene-ecam.c
-
-diff --git a/drivers/pci/host/Makefile b/drivers/pci/host/Makefile
-index 9c8698e..3480696 100644
---- a/drivers/pci/host/Makefile
-+++ b/drivers/pci/host/Makefile
-@@ -14,7 +14,7 @@ obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o
- obj-$(CONFIG_PCI_KEYSTONE) += pci-keystone-dw.o pci-keystone.o
- obj-$(CONFIG_PCIE_XILINX) += pcie-xilinx.o
- obj-$(CONFIG_PCIE_XILINX_NWL) += pcie-xilinx-nwl.o
--obj-$(CONFIG_PCI_XGENE) += pci-xgene.o
-+obj-$(CONFIG_PCI_XGENE) += pci-xgene.o pci-xgene-ecam.o
- obj-$(CONFIG_PCI_XGENE_MSI) += pci-xgene-msi.o
- obj-$(CONFIG_PCI_LAYERSCAPE) += pci-layerscape.o
- obj-$(CONFIG_PCI_VERSATILE) += pci-versatile.o
-diff --git a/drivers/pci/host/pci-xgene-ecam.c b/drivers/pci/host/pci-xgene-ecam.c
-new file mode 100644
-index 0000000..1bea63f
---- /dev/null
-+++ b/drivers/pci/host/pci-xgene-ecam.c
-@@ -0,0 +1,194 @@
-+/*
-+ * APM X-Gene PCIe ECAM fixup driver
-+ *
-+ * Copyright (c) 2016, Applied Micro Circuits Corporation
-+ * Author:
-+ * Duc Dang <dhdang@apm.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/of_address.h>
-+#include <linux/of_pci.h>
-+#include <linux/pci-acpi.h>
-+#include <linux/platform_device.h>
-+#include <linux/pci-ecam.h>
-+
-+#ifdef CONFIG_ACPI
-+#define RTDID 0x160
-+#define ROOT_CAP_AND_CTRL 0x5C
-+
-+/* PCIe IP version */
-+#define XGENE_PCIE_IP_VER_UNKN 0
-+#define XGENE_PCIE_IP_VER_1 1
-+
-+#define APM_OEM_ID "APM"
-+#define APM_XGENE_OEM_TABLE_ID "XGENE"
-+#define APM_XGENE_OEM_REV 0x00000002
-+
-+struct xgene_pcie_acpi_root {
-+ void __iomem *csr_base;
-+ u32 version;
-+};
-+
-+static acpi_status xgene_pcie_find_csr_base(struct acpi_resource *acpi_res,
-+ void *data)
-+{
-+ struct xgene_pcie_acpi_root *root = data;
-+ struct acpi_resource_fixed_memory32 *fixed32;
-+
-+ if (acpi_res->type == ACPI_RESOURCE_TYPE_FIXED_MEMORY32) {
-+ fixed32 = &acpi_res->data.fixed_memory32;
-+ root->csr_base = ioremap(fixed32->address,
-+ fixed32->address_length);
-+ return AE_CTRL_TERMINATE;
-+ }
-+
-+ return AE_OK;
-+}
-+
-+static int xgene_pcie_ecam_init(struct pci_config_window *cfg)
-+{
-+ struct xgene_pcie_acpi_root *xgene_root;
-+ struct device *dev = cfg->parent;
-+ struct acpi_device *adev = to_acpi_device(dev);
-+ acpi_handle handle = acpi_device_handle(adev);
-+
-+ xgene_root = devm_kzalloc(dev, sizeof(*xgene_root), GFP_KERNEL);
-+ if (!xgene_root)
-+ return -ENOMEM;
-+
-+ acpi_walk_resources(handle, METHOD_NAME__CRS,
-+ xgene_pcie_find_csr_base, xgene_root);
-+
-+ if (!xgene_root->csr_base) {
-+ kfree(xgene_root);
-+ return -ENODEV;
-+ }
-+
-+ xgene_root->version = XGENE_PCIE_IP_VER_1;
-+
-+ cfg->priv = xgene_root;
-+
-+ return 0;
-+}
-+
-+/*
-+ * For Configuration request, RTDID register is used as Bus Number,
-+ * Device Number and Function number of the header fields.
-+ */
-+static void xgene_pcie_set_rtdid_reg(struct pci_bus *bus, uint devfn)
-+{
-+ struct pci_config_window *cfg = bus->sysdata;
-+ struct xgene_pcie_acpi_root *port = cfg->priv;
-+ unsigned int b, d, f;
-+ u32 rtdid_val = 0;
-+
-+ b = bus->number;
-+ d = PCI_SLOT(devfn);
-+ f = PCI_FUNC(devfn);
-+
-+ if (!pci_is_root_bus(bus))
-+ rtdid_val = (b << 8) | (d << 3) | f;
-+
-+ writel(rtdid_val, port->csr_base + RTDID);
-+ /* read the register back to ensure flush */
-+ readl(port->csr_base + RTDID);
-+}
-+
-+/*
-+ * X-Gene PCIe port uses BAR0-BAR1 of RC's configuration space as
-+ * the translation from PCI bus to native BUS. Entire DDR region
-+ * is mapped into PCIe space using these registers, so it can be
-+ * reached by DMA from EP devices. The BAR0/1 of bridge should be
-+ * hidden during enumeration to avoid the sizing and resource allocation
-+ * by PCIe core.
-+ */
-+static bool xgene_pcie_hide_rc_bars(struct pci_bus *bus, int offset)
-+{
-+ if (pci_is_root_bus(bus) && ((offset == PCI_BASE_ADDRESS_0) ||
-+ (offset == PCI_BASE_ADDRESS_1)))
-+ return true;
-+
-+ return false;
-+}
-+
-+void __iomem *xgene_pcie_ecam_map_bus(struct pci_bus *bus,
-+ unsigned int devfn, int where)
-+{
-+ struct pci_config_window *cfg = bus->sysdata;
-+ unsigned int busn = bus->number;
-+ void __iomem *base;
-+
-+ if (busn < cfg->busr.start || busn > cfg->busr.end)
-+ return NULL;
-+
-+ if ((pci_is_root_bus(bus) && devfn != 0) ||
-+ xgene_pcie_hide_rc_bars(bus, where))
-+ return NULL;
-+
-+ xgene_pcie_set_rtdid_reg(bus, devfn);
-+
-+ if (busn > cfg->busr.start)
-+ base = cfg->win + (1 << cfg->ops->bus_shift);
-+ else
-+ base = cfg->win;
-+
-+ return base + where;
-+}
-+
-+static int xgene_pcie_config_read32(struct pci_bus *bus, unsigned int devfn,
-+ int where, int size, u32 *val)
-+{
-+ struct pci_config_window *cfg = bus->sysdata;
-+ struct xgene_pcie_acpi_root *port = cfg->priv;
-+
-+ if (pci_generic_config_read32(bus, devfn, where & ~0x3, 4, val) !=
-+ PCIBIOS_SUCCESSFUL)
-+ return PCIBIOS_DEVICE_NOT_FOUND;
-+
-+ /*
-+ * The v1 controller has a bug in its Configuration Request
-+ * Retry Status (CRS) logic: when CRS is enabled and we read the
-+ * Vendor and Device ID of a non-existent device, the controller
-+ * fabricates return data of 0xFFFF0001 ("device exists but is not
-+ * ready") instead of 0xFFFFFFFF ("device does not exist"). This
-+ * causes the PCI core to retry the read until it times out.
-+ * Avoid this by not claiming to support CRS.
-+ */
-+ if (pci_is_root_bus(bus) && (port->version == XGENE_PCIE_IP_VER_1) &&
-+ ((where & ~0x3) == ROOT_CAP_AND_CTRL))
-+ *val &= ~(PCI_EXP_RTCAP_CRSVIS << 16);
-+
-+ if (size <= 2)
-+ *val = (*val >> (8 * (where & 3))) & ((1 << (size * 8)) - 1);
-+
-+ return PCIBIOS_SUCCESSFUL;
-+}
-+
-+static struct pci_ecam_ops xgene_pcie_ecam_ops = {
-+ .bus_shift = 16,
-+ .init = xgene_pcie_ecam_init,
-+ .pci_ops = {
-+ .map_bus = xgene_pcie_ecam_map_bus,
-+ .read = xgene_pcie_config_read32,
-+ .write = pci_generic_config_write,
-+ }
-+};
-+
-+DECLARE_ACPI_MCFG_FIXUP(&xgene_pcie_ecam_ops, APM_OEM_ID,
-+ APM_XGENE_OEM_TABLE_ID, APM_XGENE_OEM_REV,
-+ PCI_MCFG_DOMAIN_ANY, PCI_MCFG_BUS_ANY);
-+#endif
---
-2.7.4
-
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_CFG80211_CRDA_SUPPORT b/baseconfig/CONFIG_CFG80211_CRDA_SUPPORT
new file mode 100644
index 000000000..51f113cca
--- /dev/null
+++ b/baseconfig/CONFIG_CFG80211_CRDA_SUPPORT
@@ -0,0 +1 @@
+CONFIG_CFG80211_CRDA_SUPPORT=y
diff --git a/baseconfig/CONFIG_CGROUP_RDMA b/baseconfig/CONFIG_CGROUP_RDMA
new file mode 100644
index 000000000..94ae4f4bc
--- /dev/null
+++ b/baseconfig/CONFIG_CGROUP_RDMA
@@ -0,0 +1 @@
+# CONFIG_CGROUP_RDMA is not set
diff --git a/baseconfig/CONFIG_CHARGER_DETECTOR_MAX14656 b/baseconfig/CONFIG_CHARGER_DETECTOR_MAX14656
new file mode 100644
index 000000000..434d9466f
--- /dev/null
+++ b/baseconfig/CONFIG_CHARGER_DETECTOR_MAX14656
@@ -0,0 +1 @@
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
diff --git a/baseconfig/CONFIG_CHARGER_SBS b/baseconfig/CONFIG_CHARGER_SBS
new file mode 100644
index 000000000..afb3f2f1d
--- /dev/null
+++ b/baseconfig/CONFIG_CHARGER_SBS
@@ -0,0 +1 @@
+# CONFIG_CHARGER_SBS is not set
diff --git a/baseconfig/CONFIG_CM3605 b/baseconfig/CONFIG_CM3605
new file mode 100644
index 000000000..138742e11
--- /dev/null
+++ b/baseconfig/CONFIG_CM3605
@@ -0,0 +1 @@
+CONFIG_CM3605=m
diff --git a/baseconfig/CONFIG_COMMON_CLK_HI3519 b/baseconfig/CONFIG_COMMON_CLK_HI3519
deleted file mode 100644
index 492b656b1..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_HI3519
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_HI3519 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701 b/baseconfig/CONFIG_COMMON_CLK_MT2701
deleted file mode 100644
index 1f4db7eb4..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS
deleted file mode 100644
index 8836cfeb2..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_BDPSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS
deleted file mode 100644
index ce71bcaf3..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_ETHSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS
deleted file mode 100644
index 687287f1a..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_HIFSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS
deleted file mode 100644
index f50109f52..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_IMGSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS
deleted file mode 100644
index a28dde4dd..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_MMSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_MMSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS b/baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS
deleted file mode 100644
index 2fffe9756..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT2701_VDECSYS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT8135 b/baseconfig/CONFIG_COMMON_CLK_MT8135
deleted file mode 100644
index 0e5e55f2d..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT8135
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT8135 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_MT8173 b/baseconfig/CONFIG_COMMON_CLK_MT8173
deleted file mode 100644
index ef1d176f5..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_MT8173
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_MT8173 is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_OXNAS b/baseconfig/CONFIG_COMMON_CLK_OXNAS
deleted file mode 100644
index 123f7bbbf..000000000
--- a/baseconfig/CONFIG_COMMON_CLK_OXNAS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_COMMON_CLK_OXNAS is not set
diff --git a/baseconfig/CONFIG_COMMON_CLK_VC5 b/baseconfig/CONFIG_COMMON_CLK_VC5
new file mode 100644
index 000000000..9aaf6ae19
--- /dev/null
+++ b/baseconfig/CONFIG_COMMON_CLK_VC5
@@ -0,0 +1 @@
+# CONFIG_COMMON_CLK_VC5 is not set
diff --git a/baseconfig/CONFIG_COMMON_RESET_HI3660 b/baseconfig/CONFIG_COMMON_RESET_HI3660
new file mode 100644
index 000000000..0d13136e0
--- /dev/null
+++ b/baseconfig/CONFIG_COMMON_RESET_HI3660
@@ -0,0 +1 @@
+# CONFIG_COMMON_RESET_HI3660 is not set
diff --git a/baseconfig/CONFIG_CRYPTO_AES_TI b/baseconfig/CONFIG_CRYPTO_AES_TI
new file mode 100644
index 000000000..fa0a3c5e1
--- /dev/null
+++ b/baseconfig/CONFIG_CRYPTO_AES_TI
@@ -0,0 +1 @@
+CONFIG_CRYPTO_AES_TI=m
diff --git a/baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE b/baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE
deleted file mode 100644
index 242e37489..000000000
--- a/baseconfig/CONFIG_CRYPTO_CRC32_ARM_CE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRYPTO_CRC32_ARM_CE=m
diff --git a/baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE b/baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE
deleted file mode 100644
index 6b13ea30c..000000000
--- a/baseconfig/CONFIG_CRYPTO_CRCT10DIF_ARM_CE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
diff --git a/baseconfig/CONFIG_DEBUG_REFCOUNT b/baseconfig/CONFIG_DEBUG_REFCOUNT
new file mode 100644
index 000000000..9d1b9de89
--- /dev/null
+++ b/baseconfig/CONFIG_DEBUG_REFCOUNT
@@ -0,0 +1 @@
+# CONFIG_DEBUG_REFCOUNT is not set
diff --git a/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible b/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible
new file mode 100644
index 000000000..fbc8aaef8
--- /dev/null
+++ b/baseconfig/CONFIG_DEBUG_VM_RB revisit this if performance isn't horrible
@@ -0,0 +1 @@
+# CONFIG_DEBUG_VM_RB is not set # revisit this if performance isn't horrible
diff --git a/baseconfig/CONFIG_DEVPORT b/baseconfig/CONFIG_DEVPORT
new file mode 100644
index 000000000..555cf4be4
--- /dev/null
+++ b/baseconfig/CONFIG_DEVPORT
@@ -0,0 +1 @@
+# CONFIG_DEVPORT is not set
diff --git a/baseconfig/CONFIG_DPM_WATCHDOG b/baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug
index c12b35c43..c12b35c43 100644
--- a/baseconfig/CONFIG_DPM_WATCHDOG
+++ b/baseconfig/CONFIG_DPM_WATCHDOG revisit this in debug
diff --git a/baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST b/baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST
new file mode 100644
index 000000000..9607ae3de
--- /dev/null
+++ b/baseconfig/CONFIG_DRM_DEBUG_MM_SELFTEST
@@ -0,0 +1 @@
+# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
diff --git a/baseconfig/CONFIG_DRM_I2C_ADV7533 b/baseconfig/CONFIG_DRM_I2C_ADV7533
index 1fba3a9be..9f7b3dccf 100644
--- a/baseconfig/CONFIG_DRM_I2C_ADV7533
+++ b/baseconfig/CONFIG_DRM_I2C_ADV7533
@@ -1 +1 @@
-# CONFIG_DRM_I2C_ADV7533 is not set
+CONFIG_DRM_I2C_ADV7533=y
diff --git a/baseconfig/CONFIG_DRM_MALI_DISPLAY b/baseconfig/CONFIG_DRM_MALI_DISPLAY
deleted file mode 100644
index af3d09fbe..000000000
--- a/baseconfig/CONFIG_DRM_MALI_DISPLAY
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM_MALI_DISPLAY is not set
diff --git a/baseconfig/CONFIG_DRM_TINYDRM b/baseconfig/CONFIG_DRM_TINYDRM
new file mode 100644
index 000000000..be104b06c
--- /dev/null
+++ b/baseconfig/CONFIG_DRM_TINYDRM
@@ -0,0 +1 @@
+# CONFIG_DRM_TINYDRM is not set
diff --git a/baseconfig/CONFIG_DVB_USB_ZD1301 b/baseconfig/CONFIG_DVB_USB_ZD1301
new file mode 100644
index 000000000..4e114ce58
--- /dev/null
+++ b/baseconfig/CONFIG_DVB_USB_ZD1301
@@ -0,0 +1 @@
+CONFIG_DVB_USB_ZD1301=m
diff --git a/baseconfig/CONFIG_EEPROM_IDT_89HPESX b/baseconfig/CONFIG_EEPROM_IDT_89HPESX
new file mode 100644
index 000000000..5ea592932
--- /dev/null
+++ b/baseconfig/CONFIG_EEPROM_IDT_89HPESX
@@ -0,0 +1 @@
+CONFIG_EEPROM_IDT_89HPESX=m
diff --git a/baseconfig/CONFIG_EMAC_ROCKCHIP b/baseconfig/CONFIG_EMAC_ROCKCHIP
deleted file mode 100644
index 65c1db9f3..000000000
--- a/baseconfig/CONFIG_EMAC_ROCKCHIP
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EMAC_ROCKCHIP is not set
diff --git a/baseconfig/CONFIG_EXTCON_INTEL_INT3496 b/baseconfig/CONFIG_EXTCON_INTEL_INT3496
new file mode 100644
index 000000000..3f6c5d6f5
--- /dev/null
+++ b/baseconfig/CONFIG_EXTCON_INTEL_INT3496
@@ -0,0 +1 @@
+CONFIG_EXTCON_INTEL_INT3496=m
diff --git a/baseconfig/CONFIG_FB_GOLDFISH b/baseconfig/CONFIG_FB_GOLDFISH
deleted file mode 100644
index 522a715d1..000000000
--- a/baseconfig/CONFIG_FB_GOLDFISH
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_FB_GOLDFISH is not set
diff --git a/baseconfig/CONFIG_FSI b/baseconfig/CONFIG_FSI
new file mode 100644
index 000000000..1f548f4f0
--- /dev/null
+++ b/baseconfig/CONFIG_FSI
@@ -0,0 +1 @@
+CONFIG_FSI=m
diff --git a/baseconfig/CONFIG_GPIO_EXAR b/baseconfig/CONFIG_GPIO_EXAR
new file mode 100644
index 000000000..e03739e86
--- /dev/null
+++ b/baseconfig/CONFIG_GPIO_EXAR
@@ -0,0 +1 @@
+CONFIG_GPIO_EXAR=m
diff --git a/baseconfig/CONFIG_GPIO_PCI_IDIO_16 b/baseconfig/CONFIG_GPIO_PCI_IDIO_16
new file mode 100644
index 000000000..e3e6eeab0
--- /dev/null
+++ b/baseconfig/CONFIG_GPIO_PCI_IDIO_16
@@ -0,0 +1 @@
+CONFIG_GPIO_PCI_IDIO_16=m
diff --git a/baseconfig/CONFIG_GPIO_SYSFS b/baseconfig/CONFIG_GPIO_SYSFS
index 52708d181..006904523 100644
--- a/baseconfig/CONFIG_GPIO_SYSFS
+++ b/baseconfig/CONFIG_GPIO_SYSFS
@@ -1 +1 @@
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
diff --git a/baseconfig/CONFIG_GPIO_ZX b/baseconfig/CONFIG_GPIO_ZX
deleted file mode 100644
index a6c0a85ac..000000000
--- a/baseconfig/CONFIG_GPIO_ZX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_GPIO_ZX is not set
diff --git a/baseconfig/CONFIG_HX711 b/baseconfig/CONFIG_HX711
new file mode 100644
index 000000000..5378c7339
--- /dev/null
+++ b/baseconfig/CONFIG_HX711
@@ -0,0 +1 @@
+# CONFIG_HX711 is not set
diff --git a/baseconfig/CONFIG_IIO_ST_LSM6DSX b/baseconfig/CONFIG_IIO_ST_LSM6DSX
new file mode 100644
index 000000000..b6ec57836
--- /dev/null
+++ b/baseconfig/CONFIG_IIO_ST_LSM6DSX
@@ -0,0 +1 @@
+# CONFIG_IIO_ST_LSM6DSX is not set
diff --git a/baseconfig/CONFIG_INET6_ESP_OFFLOAD b/baseconfig/CONFIG_INET6_ESP_OFFLOAD
new file mode 100644
index 000000000..24c350004
--- /dev/null
+++ b/baseconfig/CONFIG_INET6_ESP_OFFLOAD
@@ -0,0 +1 @@
+CONFIG_INET6_ESP_OFFLOAD=m
diff --git a/baseconfig/CONFIG_INET_ESP_OFFLOAD b/baseconfig/CONFIG_INET_ESP_OFFLOAD
new file mode 100644
index 000000000..d5cca6d1d
--- /dev/null
+++ b/baseconfig/CONFIG_INET_ESP_OFFLOAD
@@ -0,0 +1 @@
+CONFIG_INET_ESP_OFFLOAD=m
diff --git a/baseconfig/CONFIG_INFINIBAND_BNXT_RE b/baseconfig/CONFIG_INFINIBAND_BNXT_RE
new file mode 100644
index 000000000..47533209e
--- /dev/null
+++ b/baseconfig/CONFIG_INFINIBAND_BNXT_RE
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_BNXT_RE is not set
diff --git a/baseconfig/CONFIG_INTEL_RDT_A b/baseconfig/CONFIG_INTEL_RDT_A
deleted file mode 100644
index 8c02d1afc..000000000
--- a/baseconfig/CONFIG_INTEL_RDT_A
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_INTEL_RDT_A=y
diff --git a/baseconfig/CONFIG_IPVTAP b/baseconfig/CONFIG_IPVTAP
new file mode 100644
index 000000000..4bb385673
--- /dev/null
+++ b/baseconfig/CONFIG_IPVTAP
@@ -0,0 +1 @@
+CONFIG_IPVTAP=m
diff --git a/baseconfig/CONFIG_IR_SPI b/baseconfig/CONFIG_IR_SPI
new file mode 100644
index 000000000..d0e838d38
--- /dev/null
+++ b/baseconfig/CONFIG_IR_SPI
@@ -0,0 +1 @@
+CONFIG_IR_SPI=m
diff --git a/baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY b/baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY
new file mode 100644
index 000000000..e1d0c2b26
--- /dev/null
+++ b/baseconfig/CONFIG_KEYBOARD_TM2_TOUCHKEY
@@ -0,0 +1 @@
+CONFIG_KEYBOARD_TM2_TOUCHKEY=m
diff --git a/baseconfig/CONFIG_KPROBE_EVENT b/baseconfig/CONFIG_KPROBE_EVENT
deleted file mode 100644
index 1ba78399b..000000000
--- a/baseconfig/CONFIG_KPROBE_EVENT
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_KPROBE_EVENT=y
diff --git a/baseconfig/CONFIG_KPROBE_EVENTS b/baseconfig/CONFIG_KPROBE_EVENTS
new file mode 100644
index 000000000..2111c5d1a
--- /dev/null
+++ b/baseconfig/CONFIG_KPROBE_EVENTS
@@ -0,0 +1 @@
+CONFIG_KPROBE_EVENTS=y
diff --git a/baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED b/baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED
new file mode 100644
index 000000000..4ab759066
--- /dev/null
+++ b/baseconfig/CONFIG_LEDS_BRIGHTNESS_HW_CHANGED
@@ -0,0 +1 @@
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
diff --git a/baseconfig/CONFIG_LPFC_NVME_INITIATOR b/baseconfig/CONFIG_LPFC_NVME_INITIATOR
new file mode 100644
index 000000000..cfa87b693
--- /dev/null
+++ b/baseconfig/CONFIG_LPFC_NVME_INITIATOR
@@ -0,0 +1 @@
+CONFIG_LPFC_NVME_INITIATOR=y
diff --git a/baseconfig/CONFIG_LPFC_NVME_TARGET b/baseconfig/CONFIG_LPFC_NVME_TARGET
new file mode 100644
index 000000000..ebf8bd16d
--- /dev/null
+++ b/baseconfig/CONFIG_LPFC_NVME_TARGET
@@ -0,0 +1 @@
+CONFIG_LPFC_NVME_TARGET=y
diff --git a/baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL b/baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL
new file mode 100644
index 000000000..649399011
--- /dev/null
+++ b/baseconfig/CONFIG_MAGIC_SYSRQ_SERIAL
@@ -0,0 +1 @@
+CONFIG_MAGIC_SYSRQ_SERIAL=y
diff --git a/baseconfig/CONFIG_MAX11100 b/baseconfig/CONFIG_MAX11100
new file mode 100644
index 000000000..90819abc8
--- /dev/null
+++ b/baseconfig/CONFIG_MAX11100
@@ -0,0 +1 @@
+# CONFIG_MAX11100 is not set
diff --git a/baseconfig/CONFIG_MAX5481 b/baseconfig/CONFIG_MAX5481
new file mode 100644
index 000000000..36b3781d6
--- /dev/null
+++ b/baseconfig/CONFIG_MAX5481
@@ -0,0 +1 @@
+# CONFIG_MAX5481 is not set
diff --git a/baseconfig/CONFIG_MESON_GXL_PHY b/baseconfig/CONFIG_MESON_GXL_PHY
deleted file mode 100644
index cc59580cc..000000000
--- a/baseconfig/CONFIG_MESON_GXL_PHY
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MESON_GXL_PHY=m
diff --git a/baseconfig/CONFIG_MFD_CPCAP b/baseconfig/CONFIG_MFD_CPCAP
new file mode 100644
index 000000000..acf5bd3fe
--- /dev/null
+++ b/baseconfig/CONFIG_MFD_CPCAP
@@ -0,0 +1 @@
+CONFIG_MFD_CPCAP=m
diff --git a/baseconfig/CONFIG_MOUSE_PS2_VMMOUSE b/baseconfig/CONFIG_MOUSE_PS2_VMMOUSE
deleted file mode 100644
index 3941478c7..000000000
--- a/baseconfig/CONFIG_MOUSE_PS2_VMMOUSE
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
diff --git a/baseconfig/CONFIG_MQ_IOSCHED_DEADLINE b/baseconfig/CONFIG_MQ_IOSCHED_DEADLINE
new file mode 100644
index 000000000..ad5c7700b
--- /dev/null
+++ b/baseconfig/CONFIG_MQ_IOSCHED_DEADLINE
@@ -0,0 +1 @@
+CONFIG_MQ_IOSCHED_DEADLINE=y
diff --git a/baseconfig/CONFIG_NET_ACT_SAMPLE b/baseconfig/CONFIG_NET_ACT_SAMPLE
new file mode 100644
index 000000000..4582be19d
--- /dev/null
+++ b/baseconfig/CONFIG_NET_ACT_SAMPLE
@@ -0,0 +1 @@
+CONFIG_NET_ACT_SAMPLE=m
diff --git a/baseconfig/CONFIG_NET_IFE b/baseconfig/CONFIG_NET_IFE
new file mode 100644
index 000000000..eea504e0c
--- /dev/null
+++ b/baseconfig/CONFIG_NET_IFE
@@ -0,0 +1 @@
+CONFIG_NET_IFE=m
diff --git a/baseconfig/CONFIG_NET_L3_MASTER_DEV b/baseconfig/CONFIG_NET_L3_MASTER_DEV
index c5825b130..bdf39009e 100644
--- a/baseconfig/CONFIG_NET_L3_MASTER_DEV
+++ b/baseconfig/CONFIG_NET_L3_MASTER_DEV
@@ -1 +1 @@
-# CONFIG_NET_L3_MASTER_DEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
diff --git a/baseconfig/CONFIG_NET_VENDOR_AMAZON b/baseconfig/CONFIG_NET_VENDOR_AMAZON
index 707bb5a54..71e03d079 100644
--- a/baseconfig/CONFIG_NET_VENDOR_AMAZON
+++ b/baseconfig/CONFIG_NET_VENDOR_AMAZON
@@ -1 +1 @@
-# CONFIG_NET_VENDOR_AMAZON is not set
+CONFIG_NET_VENDOR_AMAZON=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_HAMRADIO b/baseconfig/arm/CONFIG_HAMRADIO
deleted file mode 100644
index 477ae40db..000000000
--- a/baseconfig/arm/CONFIG_HAMRADIO
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_HAMRADIO 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_QCOM_QDF2400_ERRATUM_0065 b/baseconfig/arm/arm64/CONFIG_QCOM_QDF2400_ERRATUM_0065
new file mode 100644
index 000000000..dec9be970
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_QCOM_QDF2400_ERRATUM_0065
@@ -0,0 +1 @@
+CONFIG_QCOM_QDF2400_ERRATUM_0065=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_DEV_DAX b/baseconfig/powerpc/CONFIG_DEV_DAX
new file mode 100644
index 000000000..77478a213
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_DEV_DAX
@@ -0,0 +1 @@
+CONFIG_DEV_DAX=m
diff --git a/baseconfig/powerpc/CONFIG_DEV_DAX_PMEM b/baseconfig/powerpc/CONFIG_DEV_DAX_PMEM
new file mode 100644
index 000000000..8c7fd6732
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_DEV_DAX_PMEM
@@ -0,0 +1 @@
+CONFIG_DEV_DAX_PMEM=m
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/CONFIG_NR_DEV_DAX b/baseconfig/powerpc/CONFIG_NR_DEV_DAX
new file mode 100644
index 000000000..3fd0f86b1
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_NR_DEV_DAX
@@ -0,0 +1 @@
+CONFIG_NR_DEV_DAX=32768
diff --git a/baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE b/baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE
index 4874a851b..75d999c66 100644
--- a/baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE
+++ b/baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE
@@ -1 +1 @@
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_TRANSPARENT_HUGEPAGE=y
diff --git a/baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE_MADVISE b/baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE_MADVISE
new file mode 100644
index 000000000..f9a942f2c
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_TRANSPARENT_HUGEPAGE_MADVISE
@@ -0,0 +1 @@
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
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/x86/CONFIG_ENA_ETHERNET b/baseconfig/x86/CONFIG_ENA_ETHERNET
new file mode 100644
index 000000000..64c0a73c1
--- /dev/null
+++ b/baseconfig/x86/CONFIG_ENA_ETHERNET
@@ -0,0 +1 @@
+CONFIG_ENA_ETHERNET=m
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..d9591b438
--- /dev/null
+++ b/bcm283x-mmc-bcm2835.patch
@@ -0,0 +1,1932 @@
+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 Wed Mar 8 09:19:10 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,6/7] arm: dts: bcm283x: switch from &sdhci to &sdhost
+From: Gerd Hoffmann <kraxel@redhat.com>
+X-Patchwork-Id: 9610687
+Message-Id: <1488964751-22763-11-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:10 +0100
+
+sdcard access with the sdhost controller is faster.
+
+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>
+Acked-by: Eric Anholt <eric@anholt.net>
+---
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+index 8b95832..e36c392 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -65,13 +65,13 @@
+ &sdhci {
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_gpio48>;
+- status = "okay";
+ bus-width = <4>;
+ };
+
+ &sdhost {
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdhost_gpio48>;
++ status = "okay";
+ bus-width = <4>;
+ };
+
+From patchwork Wed Mar 8 09:19:11 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,7/7] arm64: dts: bcm2837: add &sdhci and &sdhost
+From: Gerd Hoffmann <kraxel@redhat.com>
+X-Patchwork-Id: 9610637
+Message-Id: <1488964751-22763-12-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:11 +0100
+
+For the raspberry pi 3 we'll need both sdhci (handles sdio wifi) and
+sdhost (handles sdcard).
+
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Acked-by: Eric Anholt <eric@anholt.net>
+---
+ arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
+index c309633..972f14d 100644
+--- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
++++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
+@@ -22,3 +22,20 @@
+ &uart1 {
+ status = "okay";
+ };
++
++/* SDHCI is used to control the SDIO for wireless */
++&sdhci {
++ pinctrl-names = "default";
++ pinctrl-0 = <&emmc_gpio34>;
++ status = "okay";
++ bus-width = <4>;
++ non-removable;
++};
++
++/* SDHOST is used to drive the SD card */
++&sdhost {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdhost_gpio48>;
++ status = "okay";
++ bus-width = <4>;
++};
+From patchwork Sat Mar 25 13:17:00 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: mmc: bcm2835: Fix possible NULL ptr dereference in bcm2835_request
+From: Stefan Wahren <stefan.wahren@i2se.com>
+X-Patchwork-Id: 9644591
+Message-Id: <1490447820-751-1-git-send-email-stefan.wahren@i2se.com>
+To: Ulf Hansson <ulf.hansson@linaro.org>, Eric Anholt <eric@anholt.net>,
+ Gerd Hoffmann <kraxel@redhat.com>
+Cc: Jaehoon Chung <jh80.chung@samsung.com>,
+ Dan Carpenter <dan.carpenter@oracle.com>,
+ linux-rpi-kernel@lists.infradead.org, linux-mmc@vger.kernel.org,
+ Stefan Wahren <stefan.wahren@i2se.com>
+Date: Sat, 25 Mar 2017 13:17:00 +0000
+
+This fixes a NULL pointer dereference in case of a MMC request with a
+set block count command and no data.
+
+Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ drivers/mmc/host/bcm2835.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
+index 7d1b0db..1f343a4 100644
+--- a/drivers/mmc/host/bcm2835.c
++++ b/drivers/mmc/host/bcm2835.c
+@@ -1200,7 +1200,8 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
+ return;
+ }
+
+- host->use_sbc = !!mrq->sbc && (host->mrq->data->flags & MMC_DATA_READ);
++ host->use_sbc = !!mrq->sbc && host->mrq->data &&
++ (host->mrq->data->flags & MMC_DATA_READ);
+ if (host->use_sbc) {
+ if (bcm2835_send_command(host, mrq->sbc)) {
+ if (!host->use_busy)
diff --git a/bcm283x-mmc-imp-speed.patch b/bcm283x-mmc-imp-speed.patch
deleted file mode 100644
index bad003a3c..000000000
--- a/bcm283x-mmc-imp-speed.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From patchwork Fri Dec 30 15:24:32 2016
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/2] mmc: sdhci-iproc: Apply caps from bcm2835-mmc driver
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 9492281
-Message-Id: <1483111474-29907-2-git-send-email-stefan.wahren@i2se.com>
-To: Eric Anholt <eric@anholt.net>, Gerd Hoffmann <kraxel@redhat.com>,
- Adrian Hunter <adrian.hunter@intel.com>,
- Ulf Hansson <ulf.hansson@linaro.org>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>,
- Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
- Ray Jui <rjui@broadcom.com>, linux-mmc@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
-Date: Fri, 30 Dec 2016 15:24:32 +0000
-
-Since the mmc module on bcm2835 neither provide a capabilities register nor
-free documentation we must rely on the downstream implementation [1].
-
-So enable the following capabilities for bcm2835:
-
-MMC_CAP_MMC_HIGHSPEED
-MMC_CAP_SD_HIGHSPEED
-MMC_CAP_DRIVER_TYPE_A
-MMC_CAP_DRIVER_TYPE_C
-
-[1] - https://github.com/raspberrypi/linux/blob/rpi-4.4.y/drivers/mmc/host/bcm2835-mmc.c
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
----
- drivers/mmc/host/sdhci-iproc.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
-index d7046d6..30b3fdf 100644
---- a/drivers/mmc/host/sdhci-iproc.c
-+++ b/drivers/mmc/host/sdhci-iproc.c
-@@ -211,14 +211,17 @@ static void sdhci_iproc_writeb(struct sdhci_host *host, u8 val, int reg)
- static const struct sdhci_pltfm_data sdhci_bcm2835_pltfm_data = {
- .quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION |
- SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
-- SDHCI_QUIRK_MISSING_CAPS,
-+ SDHCI_QUIRK_MISSING_CAPS |
-+ SDHCI_QUIRK_NO_HISPD_BIT,
- .ops = &sdhci_iproc_32only_ops,
- };
-
- static const struct sdhci_iproc_data bcm2835_data = {
- .pdata = &sdhci_bcm2835_pltfm_data,
-- .caps = SDHCI_CAN_VDD_330,
-- .caps1 = 0x00000000,
-+ .caps = SDHCI_CAN_VDD_330 |
-+ SDHCI_CAN_DO_HISPD,
-+ .caps1 = SDHCI_DRIVER_TYPE_A |
-+ SDHCI_DRIVER_TYPE_C,
- .mmc_caps = 0x00000000,
- };
-
-From patchwork Fri Dec 30 15:24:33 2016
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [2/2] mmc: sdhci-iproc: Increase max_blk_size for bcm2835
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 9492273
-Message-Id: <1483111474-29907-3-git-send-email-stefan.wahren@i2se.com>
-To: Eric Anholt <eric@anholt.net>, Gerd Hoffmann <kraxel@redhat.com>,
- Adrian Hunter <adrian.hunter@intel.com>,
- Ulf Hansson <ulf.hansson@linaro.org>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>,
- Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
- Ray Jui <rjui@broadcom.com>, linux-mmc@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
-Date: Fri, 30 Dec 2016 15:24:33 +0000
-
-According to the BCM2835 datasheet the maximum block size for the
-eMMC module is restricted to the internal data FIFO which is 1024 byte.
-But this is still an improvement to the default of 512 byte.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Acked-by: Scott Branden <scott.branden@broadcom.com>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
----
- drivers/mmc/host/sdhci-iproc.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
-index 30b3fdf..3275d49 100644
---- a/drivers/mmc/host/sdhci-iproc.c
-+++ b/drivers/mmc/host/sdhci-iproc.c
-@@ -218,7 +218,9 @@ static void sdhci_iproc_writeb(struct sdhci_host *host, u8 val, int reg)
-
- static const struct sdhci_iproc_data bcm2835_data = {
- .pdata = &sdhci_bcm2835_pltfm_data,
-- .caps = SDHCI_CAN_VDD_330 |
-+ .caps = ((0x1 << SDHCI_MAX_BLOCK_SHIFT)
-+ & SDHCI_MAX_BLOCK_MASK) |
-+ SDHCI_CAN_VDD_330 |
- SDHCI_CAN_DO_HISPD,
- .caps1 = SDHCI_DRIVER_TYPE_A |
- SDHCI_DRIVER_TYPE_C,
diff --git a/debugconfig/CONFIG_DEBUG_REFCOUNT b/debugconfig/CONFIG_DEBUG_REFCOUNT
new file mode 100644
index 000000000..cf296c8de
--- /dev/null
+++ b/debugconfig/CONFIG_DEBUG_REFCOUNT
@@ -0,0 +1 @@
+CONFIG_DEBUG_REFCOUNT=y
diff --git a/efi-Add-EFI_SECURE_BOOT-bit.patch b/efi-Add-EFI_SECURE_BOOT-bit.patch
deleted file mode 100644
index c44010322..000000000
--- a/efi-Add-EFI_SECURE_BOOT-bit.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a8883aff32f1e15b65e210462804aa2a9ab9a0b6 Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Tue, 27 Aug 2013 13:33:03 -0400
-Subject: [PATCH 13/20] efi: Add EFI_SECURE_BOOT bit
-
-UEFI machines can be booted in Secure Boot mode. Add a EFI_SECURE_BOOT bit
-for use with efi_enabled.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
----
- arch/x86/kernel/setup.c | 2 ++
- include/linux/efi.h | 1 +
- 2 files changed, 3 insertions(+)
-
-diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index d40e961753c9..b93183336674 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -1162,7 +1162,9 @@ void __init setup_arch(char **cmdline_p)
-
- #ifdef CONFIG_EFI_SECURE_BOOT_SIG_ENFORCE
- if (boot_params.secure_boot) {
-+ set_bit(EFI_SECURE_BOOT, &efi.flags);
- enforce_signed_modules();
-+ pr_info("Secure boot enabled\n");
- }
- #endif
-
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index ce943d5accfd..5af91b58afae 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -1046,6 +1046,7 @@ extern int __init efi_setup_pcdp_console(char *);
- #define EFI_ARCH_1 7 /* First arch-specific bit */
- #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? */
-
- #ifdef CONFIG_EFI
- /*
---
-2.9.3
-
diff --git a/efi-Add-SHIM-and-image-security-database-GUID-defini.patch b/efi-Add-SHIM-and-image-security-database-GUID-defini.patch
deleted file mode 100644
index 4d380ea76..000000000
--- a/efi-Add-SHIM-and-image-security-database-GUID-defini.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 3a9fe1504e08824d894bb3a804c6a313f5d1be8a Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Tue, 25 Oct 2016 12:54:11 -0400
-Subject: [PATCH 11/20] 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>
----
- include/linux/efi.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 2d089487d2da..ce943d5accfd 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -592,6 +592,9 @@ void efi_native_runtime_setup(void);
- #define EFI_MEMORY_ATTRIBUTES_TABLE_GUID EFI_GUID(0xdcfa911d, 0x26eb, 0x469f, 0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20)
- #define EFI_CONSOLE_OUT_DEVICE_GUID EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
-
-+#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
-
diff --git a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
deleted file mode 100644
index 761a66ff7..000000000
--- a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From d687d79620ea20511b2dbf77e74fdcf4d94981f9 Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Tue, 5 Feb 2013 19:25:05 -0500
-Subject: [PATCH 12/20] 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>
----
- arch/x86/boot/compressed/eboot.c | 20 +++++++++++++++++++-
- 1 file changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index ebc85c1eefd6..50e027f388d8 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -540,8 +540,9 @@ static void setup_efi_pci(struct boot_params *params)
-
- static int get_secure_boot(void)
- {
-- u8 sb, setup;
-+ u8 sb, setup, moksbstate;
- unsigned long datasize = sizeof(sb);
-+ u32 attr;
- efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID;
- efi_status_t status;
-
-@@ -565,6 +566,23 @@ static int get_secure_boot(void)
- if (setup == 1)
- return 0;
-
-+ /* See if a user has put shim into insecure_mode. If so, and the variable
-+ * doesn't have the runtime attribute set, we might as well honor that.
-+ */
-+ var_guid = EFI_SHIM_LOCK_GUID;
-+ status = efi_early->call((unsigned long)sys_table->runtime->get_variable,
-+ L"MokSBState", &var_guid, &attr, &datasize,
-+ &moksbstate);
-+
-+ /* If it fails, we don't care why. Default to secure */
-+ if (status != EFI_SUCCESS)
-+ return 1;
-+
-+ if (!(attr & EFI_VARIABLE_RUNTIME_ACCESS)) {
-+ if (moksbstate == 1)
-+ return 0;
-+ }
-+
- return 1;
- }
-
---
-2.9.3
-
diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch
deleted file mode 100644
index 095bea782..000000000
--- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 0081083434db41c15b72eced975da0bd9b80566b Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Tue, 27 Aug 2013 13:28:43 -0400
-Subject: [PATCH 12/20] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI
-
-The functionality of the config option is dependent upon the platform being
-UEFI based. Reflect this in the config deps.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
----
- arch/x86/Kconfig | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 14db458f4774..f6ff0a86d841 100644
---- a/arch/x86/Kconfig
-+++ b/arch/x86/Kconfig
-@@ -1735,7 +1735,8 @@ config EFI_MIXED
- If unsure, say N.
-
- config EFI_SECURE_BOOT_SIG_ENFORCE
-- def_bool n
-+ def_bool n
-+ depends on EFI
- prompt "Force module signing when UEFI Secure Boot is enabled"
- ---help---
- UEFI Secure Boot provides a mechanism for ensuring that the
---
-2.4.3
-
diff --git a/efi-lockdown.patch b/efi-lockdown.patch
index 6bbc24fa1..54a7caa24 100644
--- a/efi-lockdown.patch
+++ b/efi-lockdown.patch
@@ -1,667 +1,4 @@
-From d1d5053106cd1f8b2ae52fb6ffb2962f76053bf0 Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Date: Wed, 23 Nov 2016 10:42:44 +0000
-Subject: [PATCH 01/32] efi: use typed function pointers for runtime services
- table
-
-Instead of using void pointers, and casting them to correctly typed
-function pointers upon use, declare the runtime services pointers
-as function pointers using their respective prototypes, for which
-typedefs are already available.
-
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- include/linux/efi.h | 36 ++++++++++++++++++------------------
- 1 file changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index a07a476..93a82de 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -508,24 +508,6 @@ typedef struct {
- u64 query_variable_info;
- } efi_runtime_services_64_t;
-
--typedef struct {
-- efi_table_hdr_t hdr;
-- void *get_time;
-- void *set_time;
-- void *get_wakeup_time;
-- void *set_wakeup_time;
-- void *set_virtual_address_map;
-- void *convert_pointer;
-- void *get_variable;
-- void *get_next_variable;
-- void *set_variable;
-- void *get_next_high_mono_count;
-- void *reset_system;
-- void *update_capsule;
-- void *query_capsule_caps;
-- void *query_variable_info;
--} efi_runtime_services_t;
--
- typedef efi_status_t efi_get_time_t (efi_time_t *tm, efi_time_cap_t *tc);
- typedef efi_status_t efi_set_time_t (efi_time_t *tm);
- typedef efi_status_t efi_get_wakeup_time_t (efi_bool_t *enabled, efi_bool_t *pending,
-@@ -560,6 +542,24 @@ typedef efi_status_t efi_query_variable_store_t(u32 attributes,
- unsigned long size,
- bool nonblocking);
-
-+typedef struct {
-+ efi_table_hdr_t hdr;
-+ efi_get_time_t *get_time;
-+ efi_set_time_t *set_time;
-+ efi_get_wakeup_time_t *get_wakeup_time;
-+ efi_set_wakeup_time_t *set_wakeup_time;
-+ efi_set_virtual_address_map_t *set_virtual_address_map;
-+ void *convert_pointer;
-+ efi_get_variable_t *get_variable;
-+ efi_get_next_variable_t *get_next_variable;
-+ efi_set_variable_t *set_variable;
-+ efi_get_next_high_mono_count_t *get_next_high_mono_count;
-+ efi_reset_system_t *reset_system;
-+ efi_update_capsule_t *update_capsule;
-+ efi_query_capsule_caps_t *query_capsule_caps;
-+ efi_query_variable_info_t *query_variable_info;
-+} efi_runtime_services_t;
-+
- void efi_native_runtime_setup(void);
-
- /*
---
-2.9.3
-
-From 150ebd38630a3ac558b8ab839a7c7e5fd41cc5a8 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Mon, 21 Nov 2016 23:36:31 +0000
-Subject: [PATCH 02/32] x86/efi: Allow invocation of arbitrary runtime services
-
-Provide the ability to perform mixed-mode runtime service calls for x86 in
-the same way that commit 0a637ee61247bd4bed9b2a07568ef7a1cfc76187
-("x86/efi: Allow invocation of arbitrary boot services") provides the
-ability to invoke arbitrary boot services.
-
-Suggested-by: Lukas Wunner <lukas@wunner.de>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- arch/x86/boot/compressed/eboot.c | 1 +
- arch/x86/boot/compressed/head_32.S | 6 +++---
- arch/x86/boot/compressed/head_64.S | 8 ++++----
- arch/x86/include/asm/efi.h | 5 +++++
- 4 files changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index ff01c8f..c8c32eb 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -32,6 +32,7 @@ static void setup_boot_services##bits(struct efi_config *c) \
- \
- table = (typeof(table))sys_table; \
- \
-+ c->runtime_services = table->runtime; \
- c->boot_services = table->boottime; \
- c->text_output = table->con_out; \
- }
-diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
-index fd0b6a2..d85b962 100644
---- a/arch/x86/boot/compressed/head_32.S
-+++ b/arch/x86/boot/compressed/head_32.S
-@@ -82,7 +82,7 @@ ENTRY(efi_pe_entry)
-
- /* Relocate efi_config->call() */
- leal efi32_config(%esi), %eax
-- add %esi, 32(%eax)
-+ add %esi, 40(%eax)
- pushl %eax
-
- call make_boot_params
-@@ -108,7 +108,7 @@ ENTRY(efi32_stub_entry)
-
- /* Relocate efi_config->call() */
- leal efi32_config(%esi), %eax
-- add %esi, 32(%eax)
-+ add %esi, 40(%eax)
- pushl %eax
- 2:
- call efi_main
-@@ -264,7 +264,7 @@ relocated:
- #ifdef CONFIG_EFI_STUB
- .data
- efi32_config:
-- .fill 4,8,0
-+ .fill 5,8,0
- .long efi_call_phys
- .long 0
- .byte 0
-diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
-index efdfba2..beab832 100644
---- a/arch/x86/boot/compressed/head_64.S
-+++ b/arch/x86/boot/compressed/head_64.S
-@@ -265,7 +265,7 @@ ENTRY(efi_pe_entry)
- /*
- * Relocate efi_config->call().
- */
-- addq %rbp, efi64_config+32(%rip)
-+ addq %rbp, efi64_config+40(%rip)
-
- movq %rax, %rdi
- call make_boot_params
-@@ -285,7 +285,7 @@ handover_entry:
- * Relocate efi_config->call().
- */
- movq efi_config(%rip), %rax
-- addq %rbp, 32(%rax)
-+ addq %rbp, 40(%rax)
- 2:
- movq efi_config(%rip), %rdi
- call efi_main
-@@ -457,14 +457,14 @@ efi_config:
- #ifdef CONFIG_EFI_MIXED
- .global efi32_config
- efi32_config:
-- .fill 4,8,0
-+ .fill 5,8,0
- .quad efi64_thunk
- .byte 0
- #endif
-
- .global efi64_config
- efi64_config:
-- .fill 4,8,0
-+ .fill 5,8,0
- .quad efi_call
- .byte 1
- #endif /* CONFIG_EFI_STUB */
-diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h
-index e99675b..2f77bce 100644
---- a/arch/x86/include/asm/efi.h
-+++ b/arch/x86/include/asm/efi.h
-@@ -191,6 +191,7 @@ static inline efi_status_t efi_thunk_set_virtual_address_map(
- struct efi_config {
- u64 image_handle;
- u64 table;
-+ u64 runtime_services;
- u64 boot_services;
- u64 text_output;
- efi_status_t (*call)(unsigned long, ...);
-@@ -226,6 +227,10 @@ static inline bool efi_is_64bit(void)
- #define __efi_call_early(f, ...) \
- __efi_early()->call((unsigned long)f, __VA_ARGS__);
-
-+#define efi_call_runtime(f, ...) \
-+ __efi_early()->call(efi_table_attr(efi_runtime_services, f, \
-+ __efi_early()->runtime_services), __VA_ARGS__)
-+
- extern bool efi_reboot_required(void);
-
- #else
---
-2.9.3
-
-From 1342301133b5619b79f3288acf7e39450f8ba34f Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Tue, 22 Nov 2016 00:20:00 +0000
-Subject: [PATCH 03/32] arm/efi: Allow invocation of arbitrary runtime services
-
-efi_call_runtime() is provided for x86 to be able abstract mixed mode
-support. Provide this for ARM also so that common code work in mixed mode
-also.
-
-Suggested-by: Lukas Wunner <lukas@wunner.de>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- arch/arm/include/asm/efi.h | 1 +
- arch/arm64/include/asm/efi.h | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/arch/arm/include/asm/efi.h b/arch/arm/include/asm/efi.h
-index 0b06f53..e4e6a9d6 100644
---- a/arch/arm/include/asm/efi.h
-+++ b/arch/arm/include/asm/efi.h
-@@ -55,6 +55,7 @@ void efi_virtmap_unload(void);
-
- #define efi_call_early(f, ...) sys_table_arg->boottime->f(__VA_ARGS__)
- #define __efi_call_early(f, ...) f(__VA_ARGS__)
-+#define efi_call_runtime(f, ...) sys_table_arg->runtime->f(__VA_ARGS__)
- #define efi_is_64bit() (false)
-
- #define efi_call_proto(protocol, f, instance, ...) \
-diff --git a/arch/arm64/include/asm/efi.h b/arch/arm64/include/asm/efi.h
-index 771b3f0..d74ae22 100644
---- a/arch/arm64/include/asm/efi.h
-+++ b/arch/arm64/include/asm/efi.h
-@@ -49,6 +49,7 @@ int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md);
-
- #define efi_call_early(f, ...) sys_table_arg->boottime->f(__VA_ARGS__)
- #define __efi_call_early(f, ...) f(__VA_ARGS__)
-+#define efi_call_runtime(f, ...) sys_table_arg->runtime->f(__VA_ARGS__)
- #define efi_is_64bit() (true)
-
- #define efi_call_proto(protocol, f, instance, ...) \
---
-2.9.3
-
-From 2e25c5beef2a97abbb660e707bced77c0eb0ace9 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Tue, 22 Nov 2016 00:10:55 +0000
-Subject: [PATCH 04/32] efi: Add SHIM and image security database GUID
- definitions
-
-Add the definitions for shim and image security database, both of which
-are used widely in various Linux distros.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
-Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
----
- include/linux/efi.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 93a82de..c790455 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -610,6 +610,9 @@ void efi_native_runtime_setup(void);
- #define EFI_CONSOLE_OUT_DEVICE_GUID EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
- #define APPLE_PROPERTIES_PROTOCOL_GUID EFI_GUID(0x91bd12fe, 0xf6c3, 0x44fb, 0xa5, 0xb7, 0x51, 0x22, 0xab, 0x30, 0x3a, 0xe0)
-
-+#define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f)
-+#define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23)
-+
- /*
- * This GUID is used to pass to the kernel proper the struct screen_info
- * structure that was populated by the stub based on the GOP protocol instance
---
-2.9.3
-
-From 820d2f84670080c406bad4c8469e80e1e5f8a191 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Mon, 21 Nov 2016 23:55:55 +0000
-Subject: [PATCH 05/32] efi: Get the secure boot status
-
-Get the firmware's secure-boot status in the kernel boot wrapper and stash
-it somewhere that the main kernel image can find.
-
-The efi_get_secureboot() function is extracted from the arm stub and (a)
-generalised so that it can be called from x86 and (b) made to use
-efi_call_runtime() so that it can be run in mixed-mode.
-
-Suggested-by: Lukas Wunner <lukas@wunner.de>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- Documentation/x86/zero-page.txt | 2 +
- arch/x86/boot/compressed/eboot.c | 2 +
- arch/x86/boot/compressed/head_32.S | 1 +
- arch/x86/boot/compressed/head_64.S | 1 +
- arch/x86/include/asm/bootparam_utils.h | 5 ++-
- arch/x86/include/uapi/asm/bootparam.h | 3 +-
- arch/x86/kernel/asm-offsets.c | 1 +
- drivers/firmware/efi/libstub/Makefile | 2 +-
- drivers/firmware/efi/libstub/arm-stub.c | 58 ++-------------------------
- drivers/firmware/efi/libstub/secureboot.c | 66 +++++++++++++++++++++++++++++++
- include/linux/efi.h | 8 ++++
- 11 files changed, 90 insertions(+), 59 deletions(-)
- create mode 100644 drivers/firmware/efi/libstub/secureboot.c
-
-diff --git a/Documentation/x86/zero-page.txt b/Documentation/x86/zero-page.txt
-index 95a4d34..b8527c6 100644
---- a/Documentation/x86/zero-page.txt
-+++ b/Documentation/x86/zero-page.txt
-@@ -31,6 +31,8 @@ Offset Proto Name Meaning
- 1E9/001 ALL eddbuf_entries Number of entries in eddbuf (below)
- 1EA/001 ALL edd_mbr_sig_buf_entries Number of entries in edd_mbr_sig_buffer
- (below)
-+1EB/001 ALL kbd_status Numlock is enabled
-+1EC/001 ALL secure_boot Secure boot is enabled in the firmware
- 1EF/001 ALL sentinel Used to detect broken bootloaders
- 290/040 ALL edd_mbr_sig_buffer EDD MBR signatures
- 2D0/A00 ALL e820_map E820 memory map table
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index c8c32eb..5b151c2 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -1158,6 +1158,8 @@ struct boot_params *efi_main(struct efi_config *c,
- else
- setup_boot_services32(efi_early);
-
-+ boot_params->secure_boot = efi_get_secureboot(sys_table);
-+
- setup_graphics(boot_params);
-
- setup_efi_pci(boot_params);
-diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
-index d85b962..c635f7e 100644
---- a/arch/x86/boot/compressed/head_32.S
-+++ b/arch/x86/boot/compressed/head_32.S
-@@ -61,6 +61,7 @@
-
- __HEAD
- ENTRY(startup_32)
-+ movb $0, BP_secure_boot(%esi)
- #ifdef CONFIG_EFI_STUB
- jmp preferred_addr
-
-diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
-index beab832..ccd2c74 100644
---- a/arch/x86/boot/compressed/head_64.S
-+++ b/arch/x86/boot/compressed/head_64.S
-@@ -244,6 +244,7 @@ ENTRY(startup_64)
- * that maps our entire kernel(text+data+bss+brk), zero page
- * and command line.
- */
-+ movb $0, BP_secure_boot(%rsi)
- #ifdef CONFIG_EFI_STUB
- /*
- * The entry point for the PE/COFF executable is efi_pe_entry, so
-diff --git a/arch/x86/include/asm/bootparam_utils.h b/arch/x86/include/asm/bootparam_utils.h
-index 4a8cb8d..7e16d53 100644
---- a/arch/x86/include/asm/bootparam_utils.h
-+++ b/arch/x86/include/asm/bootparam_utils.h
-@@ -38,9 +38,10 @@ static void sanitize_boot_params(struct boot_params *boot_params)
- memset(&boot_params->ext_ramdisk_image, 0,
- (char *)&boot_params->efi_info -
- (char *)&boot_params->ext_ramdisk_image);
-- memset(&boot_params->kbd_status, 0,
-+ boot_params->kbd_status = 0;
-+ memset(&boot_params->_pad5, 0,
- (char *)&boot_params->hdr -
-- (char *)&boot_params->kbd_status);
-+ (char *)&boot_params->_pad5);
- memset(&boot_params->_pad7[0], 0,
- (char *)&boot_params->edd_mbr_sig_buffer[0] -
- (char *)&boot_params->_pad7[0]);
-diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
-index b10bf31..5138dac 100644
---- a/arch/x86/include/uapi/asm/bootparam.h
-+++ b/arch/x86/include/uapi/asm/bootparam.h
-@@ -135,7 +135,8 @@ struct boot_params {
- __u8 eddbuf_entries; /* 0x1e9 */
- __u8 edd_mbr_sig_buf_entries; /* 0x1ea */
- __u8 kbd_status; /* 0x1eb */
-- __u8 _pad5[3]; /* 0x1ec */
-+ __u8 secure_boot; /* 0x1ec */
-+ __u8 _pad5[2]; /* 0x1ed */
- /*
- * The sentinel is set to a nonzero value (0xff) in header.S.
- *
-diff --git a/arch/x86/kernel/asm-offsets.c b/arch/x86/kernel/asm-offsets.c
-index c62e015..de827d6 100644
---- a/arch/x86/kernel/asm-offsets.c
-+++ b/arch/x86/kernel/asm-offsets.c
-@@ -81,6 +81,7 @@ void common(void) {
-
- BLANK();
- OFFSET(BP_scratch, boot_params, scratch);
-+ OFFSET(BP_secure_boot, boot_params, secure_boot);
- OFFSET(BP_loadflags, boot_params, hdr.loadflags);
- OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch);
- OFFSET(BP_version, boot_params, hdr.version);
-diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
-index 6621b13..9af9668 100644
---- a/drivers/firmware/efi/libstub/Makefile
-+++ b/drivers/firmware/efi/libstub/Makefile
-@@ -28,7 +28,7 @@ OBJECT_FILES_NON_STANDARD := y
- # Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
- KCOV_INSTRUMENT := n
-
--lib-y := efi-stub-helper.o gop.o
-+lib-y := efi-stub-helper.o gop.o secureboot.o
-
- # include the stub's generic dependencies from lib/ when building for ARM/arm64
- arm-deps := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c fdt_empty_tree.c fdt_sw.c sort.c
-diff --git a/drivers/firmware/efi/libstub/arm-stub.c b/drivers/firmware/efi/libstub/arm-stub.c
-index b4f7d78..06d5034 100644
---- a/drivers/firmware/efi/libstub/arm-stub.c
-+++ b/drivers/firmware/efi/libstub/arm-stub.c
-@@ -20,52 +20,6 @@
-
- bool __nokaslr;
-
--static int efi_get_secureboot(efi_system_table_t *sys_table_arg)
--{
-- static efi_char16_t const sb_var_name[] = {
-- 'S', 'e', 'c', 'u', 'r', 'e', 'B', 'o', 'o', 't', 0 };
-- static efi_char16_t const sm_var_name[] = {
-- 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0 };
--
-- efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID;
-- efi_get_variable_t *f_getvar = sys_table_arg->runtime->get_variable;
-- u8 val;
-- unsigned long size = sizeof(val);
-- efi_status_t status;
--
-- status = f_getvar((efi_char16_t *)sb_var_name, (efi_guid_t *)&var_guid,
-- NULL, &size, &val);
--
-- if (status != EFI_SUCCESS)
-- goto out_efi_err;
--
-- if (val == 0)
-- return 0;
--
-- status = f_getvar((efi_char16_t *)sm_var_name, (efi_guid_t *)&var_guid,
-- NULL, &size, &val);
--
-- if (status != EFI_SUCCESS)
-- goto out_efi_err;
--
-- if (val == 1)
-- return 0;
--
-- return 1;
--
--out_efi_err:
-- switch (status) {
-- case EFI_NOT_FOUND:
-- return 0;
-- case EFI_DEVICE_ERROR:
-- return -EIO;
-- case EFI_SECURITY_VIOLATION:
-- return -EACCES;
-- default:
-- return -EINVAL;
-- }
--}
--
- efi_status_t efi_open_volume(efi_system_table_t *sys_table_arg,
- void *__image, void **__fh)
- {
-@@ -226,7 +180,7 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,
- efi_guid_t loaded_image_proto = LOADED_IMAGE_PROTOCOL_GUID;
- unsigned long reserve_addr = 0;
- unsigned long reserve_size = 0;
-- int secure_boot = 0;
-+ enum efi_secureboot_mode secure_boot = efi_secureboot_mode_unknown;
- struct screen_info *si;
-
- /* Check if we were booted by the EFI firmware */
-@@ -296,19 +250,13 @@ unsigned long efi_entry(void *handle, efi_system_table_t *sys_table,
- pr_efi_err(sys_table, "Failed to parse EFI cmdline options\n");
-
- secure_boot = efi_get_secureboot(sys_table);
-- if (secure_boot > 0)
-- pr_efi(sys_table, "UEFI Secure Boot is enabled.\n");
--
-- if (secure_boot < 0) {
-- pr_efi_err(sys_table,
-- "could not determine UEFI Secure Boot status.\n");
-- }
-
- /*
- * Unauthenticated device tree data is a security hazard, so
- * ignore 'dtb=' unless UEFI Secure Boot is disabled.
- */
-- if (secure_boot != 0 && strstr(cmdline_ptr, "dtb=")) {
-+ if (secure_boot != efi_secureboot_mode_disabled &&
-+ strstr(cmdline_ptr, "dtb=")) {
- pr_efi(sys_table, "Ignoring DTB from command line.\n");
- } else {
- status = handle_cmdline_files(sys_table, image, cmdline_ptr,
-diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c
-new file mode 100644
-index 0000000..70e2a36
---- /dev/null
-+++ b/drivers/firmware/efi/libstub/secureboot.c
-@@ -0,0 +1,66 @@
-+/*
-+ * Secure boot handling.
-+ *
-+ * Copyright (C) 2013,2014 Linaro Limited
-+ * Roy Franz <roy.franz@linaro.org
-+ * Copyright (C) 2013 Red Hat, Inc.
-+ * Mark Salter <msalter@redhat.com>
-+ *
-+ * This file is part of the Linux kernel, and is made available under the
-+ * terms of the GNU General Public License version 2.
-+ *
-+ */
-+
-+#include <linux/efi.h>
-+#include <asm/efi.h>
-+
-+/* BIOS variables */
-+static const efi_guid_t efi_variable_guid = EFI_GLOBAL_VARIABLE_GUID;
-+static const efi_char16_t const efi_SecureBoot_name[] = {
-+ 'S', 'e', 'c', 'u', 'r', 'e', 'B', 'o', 'o', 't', 0
-+};
-+static const efi_char16_t const efi_SetupMode_name[] = {
-+ 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0
-+};
-+
-+#define get_efi_var(name, vendor, ...) \
-+ efi_call_runtime(get_variable, \
-+ (efi_char16_t *)(name), (efi_guid_t *)(vendor), \
-+ __VA_ARGS__);
-+
-+/*
-+ * Determine whether we're in secure boot mode. We return:
-+ */
-+enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
-+{
-+ u8 secboot, setupmode;
-+ unsigned long size;
-+ efi_status_t status;
-+
-+ size = sizeof(secboot);
-+ status = get_efi_var(efi_SecureBoot_name, &efi_variable_guid,
-+ NULL, &size, &secboot);
-+ if (status != EFI_SUCCESS)
-+ goto out_efi_err;
-+
-+ size = sizeof(setupmode);
-+ status = get_efi_var(efi_SetupMode_name, &efi_variable_guid,
-+ NULL, &size, &setupmode);
-+ if (status != EFI_SUCCESS)
-+ goto out_efi_err;
-+
-+ if (secboot == 0 || setupmode == 1)
-+ goto secure_boot_disabled;
-+
-+ pr_efi(sys_table_arg, "UEFI Secure Boot is enabled.\n");
-+ return efi_secureboot_mode_enabled;
-+
-+secure_boot_disabled:
-+ return efi_secureboot_mode_disabled;
-+
-+out_efi_err:
-+ pr_efi_err(sys_table_arg, "Could not determine UEFI Secure Boot status.\n");
-+ if (status == EFI_NOT_FOUND)
-+ goto secure_boot_disabled;
-+ return efi_secureboot_mode_unknown;
-+}
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index c790455..92e23f0 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -1477,6 +1477,14 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg,
- bool efi_runtime_disabled(void);
- extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
-
-+enum efi_secureboot_mode {
-+ efi_secureboot_mode_unset,
-+ efi_secureboot_mode_unknown,
-+ efi_secureboot_mode_disabled,
-+ efi_secureboot_mode_enabled,
-+};
-+enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table);
-+
- /*
- * Arch code can implement the following three template macros, avoiding
- * reptition for the void/non-void return cases of {__,}efi_call_virt():
---
-2.9.3
-
-From baa6cdc01e6017c6bd798b1af89458359e13155e Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Mon, 21 Nov 2016 23:55:55 +0000
-Subject: [PATCH 06/32] efi: Disable secure boot if shim is in insecure mode
-
-A user can manually tell the shim boot loader to disable validation of
-images it loads. When a user does this, it creates a UEFI variable called
-MokSBState that does not have the runtime attribute set. Given that the
-user explicitly disabled validation, we can honor that and not enable
-secure boot mode if that variable is set.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- drivers/firmware/efi/libstub/secureboot.c | 24 +++++++++++++++++++++++-
- 1 file changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c
-index 70e2a36..ba6ef71 100644
---- a/drivers/firmware/efi/libstub/secureboot.c
-+++ b/drivers/firmware/efi/libstub/secureboot.c
-@@ -23,6 +23,12 @@ static const efi_char16_t const efi_SetupMode_name[] = {
- 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0
- };
-
-+/* SHIM variables */
-+static const efi_guid_t shim_guid = EFI_SHIM_LOCK_GUID;
-+static efi_char16_t const shim_MokSBState_name[] = {
-+ 'M', 'o', 'k', 'S', 'B', 'S', 't', 'a', 't', 'e', 0
-+};
-+
- #define get_efi_var(name, vendor, ...) \
- efi_call_runtime(get_variable, \
- (efi_char16_t *)(name), (efi_guid_t *)(vendor), \
-@@ -33,7 +39,8 @@ static const efi_char16_t const efi_SetupMode_name[] = {
- */
- enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- {
-- u8 secboot, setupmode;
-+ u32 attr;
-+ u8 secboot, setupmode, moksbstate;
- unsigned long size;
- efi_status_t status;
-
-@@ -52,6 +59,21 @@ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- if (secboot == 0 || setupmode == 1)
- goto secure_boot_disabled;
-
-+ /* See if a user has put shim into insecure mode. If so, and if the
-+ * variable doesn't have the runtime attribute set, we might as well
-+ * honor that.
-+ */
-+ size = sizeof(moksbstate);
-+ status = get_efi_var(shim_MokSBState_name, &shim_guid,
-+ &attr, &size, &moksbstate);
-+
-+ /* If it fails, we don't care why. Default to secure */
-+ if (status != EFI_SUCCESS)
-+ goto secure_boot_enabled;
-+ if (!(attr & EFI_VARIABLE_RUNTIME_ACCESS) && moksbstate == 1)
-+ goto secure_boot_disabled;
-+
-+secure_boot_enabled:
- pr_efi(sys_table_arg, "UEFI Secure Boot is enabled.\n");
- return efi_secureboot_mode_enabled;
-
---
-2.9.3
-
-From 9079547f4808ea5c8cd844bf40d3895994bd175e Mon Sep 17 00:00:00 2001
+From df7d76ae50f18d4465e59fdf7f19d3df44906cb5 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Mon, 21 Nov 2016 23:55:55 +0000
Subject: [PATCH 07/32] efi: Add EFI_SECURE_BOOT bit
@@ -676,126 +13,38 @@ out whether secure boot mode is enabled so that it can be disabled.
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: David Howells <dhowells@redhat.com>
---
- arch/x86/kernel/setup.c | 15 +++++++++++++++
- include/linux/efi.h | 1 +
- 2 files changed, 16 insertions(+)
+ arch/x86/kernel/setup.c | 1 +
+ include/linux/efi.h | 1 +
+ 2 files changed, 2 insertions(+)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 9c337b0..d8972ec 100644
+index 69780ed..447905e 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -1152,6 +1152,21 @@ void __init setup_arch(char **cmdline_p)
- /* Allocate bigger log buffer */
- setup_log_buf(1);
-
-+ if (IS_ENABLED(CONFIG_EFI)) {
-+ switch (boot_params.secure_boot) {
-+ case efi_secureboot_mode_disabled:
-+ pr_info("Secure boot disabled\n");
-+ break;
-+ case efi_secureboot_mode_enabled:
+@@ -1182,6 +1182,7 @@ void __init setup_arch(char **cmdline_p)
+ pr_info("Secure boot disabled\n");
+ break;
+ case efi_secureboot_mode_enabled:
+ set_bit(EFI_SECURE_BOOT, &efi.flags);
-+ pr_info("Secure boot enabled\n");
-+ break;
-+ default:
-+ pr_info("Secure boot could not be determined\n");
-+ break;
-+ }
-+ }
-+
- reserve_initrd();
-
- acpi_table_upgrade();
+ pr_info("Secure boot enabled\n");
+ break;
+ default:
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 92e23f0..135ca9c 100644
+index 94d34e0..6049600 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
-@@ -1066,6 +1066,7 @@ extern int __init efi_setup_pcdp_console(char *);
- #define EFI_ARCH_1 7 /* First arch-specific bit */
+@@ -1069,6 +1069,7 @@ extern int __init efi_setup_pcdp_console(char *);
#define EFI_DBG 8 /* Print additional debug info at runtime */
#define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */
-+#define EFI_SECURE_BOOT 10 /* Are we in Secure Boot mode? */
-
+ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
++#define EFI_SECURE_BOOT 11 /* Are we in Secure Boot mode? */
+
#ifdef CONFIG_EFI
/*
--
-2.9.3
-
-From eada0243f0b8fc21588a21c564187219dee03e3c Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Fri, 25 Nov 2016 11:52:05 +0000
-Subject: [PATCH 08/32] efi: Handle secure boot from UEFI-2.6
-
-UEFI-2.6 adds a new variable, DeployedMode. If it exists, this must be 1
-if we're to engage lockdown mode.
-
-Reported-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- drivers/firmware/efi/libstub/secureboot.c | 16 +++++++++++++++-
- include/linux/efi.h | 4 ++++
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/firmware/efi/libstub/secureboot.c b/drivers/firmware/efi/libstub/secureboot.c
-index ba6ef71..333b159 100644
---- a/drivers/firmware/efi/libstub/secureboot.c
-+++ b/drivers/firmware/efi/libstub/secureboot.c
-@@ -22,6 +22,9 @@ static const efi_char16_t const efi_SecureBoot_name[] = {
- static const efi_char16_t const efi_SetupMode_name[] = {
- 'S', 'e', 't', 'u', 'p', 'M', 'o', 'd', 'e', 0
- };
-+static const efi_char16_t const efi_DeployedMode_name[] = {
-+ 'D', 'e', 'p', 'l', 'o', 'y', 'e', 'd', 'M', 'o', 'd', 'e', 0
-+};
-
- /* SHIM variables */
- static const efi_guid_t shim_guid = EFI_SHIM_LOCK_GUID;
-@@ -40,7 +43,7 @@ static efi_char16_t const shim_MokSBState_name[] = {
- enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- {
- u32 attr;
-- u8 secboot, setupmode, moksbstate;
-+ u8 secboot, setupmode, deployedmode, moksbstate;
- unsigned long size;
- efi_status_t status;
-
-@@ -59,6 +62,17 @@ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table_arg)
- if (secboot == 0 || setupmode == 1)
- goto secure_boot_disabled;
-
-+ /* UEFI-2.6 requires DeployedMode to be 1. */
-+ if (sys_table_arg->hdr.revision >= EFI_2_60_SYSTEM_TABLE_REVISION) {
-+ size = sizeof(deployedmode);
-+ status = get_efi_var(efi_DeployedMode_name, &efi_variable_guid,
-+ NULL, &size, &deployedmode);
-+ if (status != EFI_SUCCESS)
-+ goto out_efi_err;
-+ if (deployedmode == 0)
-+ goto secure_boot_disabled;
-+ }
-+
- /* See if a user has put shim into insecure mode. If so, and if the
- * variable doesn't have the runtime attribute set, we might as well
- * honor that.
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 135ca9c..e1893f5 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -645,6 +645,10 @@ typedef struct {
-
- #define EFI_SYSTEM_TABLE_SIGNATURE ((u64)0x5453595320494249ULL)
-
-+#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
-+#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
-+#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
-+#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
- #define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
- #define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
- #define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
---
-2.9.3
+2.7.4
-From 3b0695eda22ad712a2b9be9bb70979d875a37816 Mon Sep 17 00:00:00 2001
+From f05a90c19a9613d8d50597319ed91f691e25b689 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Mon, 21 Nov 2016 23:36:17 +0000
Subject: [PATCH 09/32] Add the ability to lock down access to the running
@@ -818,13 +67,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
create mode 100644 security/lock_down.c
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
-index bc6ed52..8ab309d 100644
+index cb09238..3cd3be9 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -268,6 +268,15 @@ extern int oops_may_print(void);
+@@ -273,6 +273,15 @@ extern int oops_may_print(void);
void do_exit(long error_code) __noreturn;
void complete_and_exit(struct completion *, long) __noreturn;
-
+
+#ifdef CONFIG_LOCK_DOWN_KERNEL
+extern bool kernel_is_locked_down(void);
+#else
@@ -838,13 +87,13 @@ index bc6ed52..8ab309d 100644
int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res);
int __must_check _kstrtol(const char *s, unsigned int base, long *res);
diff --git a/include/linux/security.h b/include/linux/security.h
-index c2125e9..41a7325 100644
+index d3868f2..187b74b 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -1685,5 +1685,16 @@ static inline void free_secdata(void *secdata)
+@@ -1679,5 +1679,16 @@ static inline void free_secdata(void *secdata)
{ }
#endif /* CONFIG_SECURITY */
-
+
+#ifdef CONFIG_LOCK_DOWN_KERNEL
+extern void lock_kernel_down(void);
+#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT
@@ -857,15 +106,15 @@ index c2125e9..41a7325 100644
+#endif
+
#endif /* ! __LINUX_SECURITY_H */
-
+
diff --git a/security/Kconfig b/security/Kconfig
-index 118f454..fa1a678 100644
+index d900f47..d9b391d 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -158,6 +158,21 @@ config HARDENED_USERCOPY_PAGESPAN
- been removed. This config is intended to be used only while
- trying to find such users.
-
+@@ -193,6 +193,21 @@ config STATIC_USERMODEHELPER_PATH
+ If you wish for all usermode helper programs to be disabled,
+ specify an empty string here (i.e. "").
+
+config LOCK_DOWN_KERNEL
+ bool "Allow the kernel to be 'locked down'"
+ help
@@ -942,9 +191,9 @@ index 0000000..5788c60
+}
+EXPORT_SYMBOL(kernel_is_locked_down);
--
-2.9.3
+2.7.4
-From c1cc643f82e1c9efee123eb81befb58e41b87310 Mon Sep 17 00:00:00 2001
+From fb6feb38e297260d050fc477c72683ac51d07ae3 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Mon, 21 Nov 2016 23:55:55 +0000
Subject: [PATCH 10/32] efi: Lock down the kernel if booted in secure boot mode
@@ -962,13 +211,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index bada636..5b19997 100644
+index 874c123..a315974 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1786,6 +1786,18 @@ config EFI_MIXED
-
+@@ -1816,6 +1816,18 @@ config EFI_MIXED
+
If unsure, say N.
-
+
+config EFI_SECURE_BOOT_LOCK_DOWN
+ def_bool n
+ depends on EFI
@@ -985,7 +234,7 @@ index bada636..5b19997 100644
def_bool y
prompt "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index d8972ec..facaeb9 100644
+index 447905e..d44e60e 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -69,6 +69,7 @@
@@ -993,10 +242,10 @@ index d8972ec..facaeb9 100644
#include <linux/tboot.h>
#include <linux/jiffies.h>
+#include <linux/security.h>
-
+
#include <video/edid.h>
-
-@@ -1159,7 +1160,12 @@ void __init setup_arch(char **cmdline_p)
+
+@@ -1183,7 +1184,12 @@ void __init setup_arch(char **cmdline_p)
break;
case efi_secureboot_mode_enabled:
set_bit(EFI_SECURE_BOOT, &efi.flags);
@@ -1011,9 +260,9 @@ index d8972ec..facaeb9 100644
default:
pr_info("Secure boot could not be determined\n");
--
-2.9.3
+2.7.4
-From 03ff1bcf82c3acc3df8e8fd1badbbc9f6a27a2e6 Mon Sep 17 00:00:00 2001
+From 7182f2f5b254d6dc6d3105d2f99219a76adf9de0 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Wed, 23 Nov 2016 13:22:22 +0000
Subject: [PATCH 11/32] Enforce module signatures if the kernel is locked down
@@ -1027,22 +276,22 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/module.c b/kernel/module.c
-index f57dd63..2a021c3 100644
+index 7eba6de..3331f2e 100644
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -2744,7 +2744,7 @@ static int module_sig_check(struct load_info *info, int flags)
+@@ -2756,7 +2756,7 @@ static int module_sig_check(struct load_info *info, int flags)
}
-
+
/* Not having a signature is only an error if we're strict. */
- if (err == -ENOKEY && !sig_enforce)
+ if (err == -ENOKEY && !sig_enforce && !kernel_is_locked_down())
err = 0;
-
+
return err;
--
-2.9.3
+2.7.4
-From 328104a3a9859084a25240ea031572e0d20ceaf4 Mon Sep 17 00:00:00 2001
+From 7e97c58bcd0b4c082b889fb093a2779147532b9f Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is
@@ -1059,23 +308,23 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 5bb1985..6441d21 100644
+index 6d9cc2d..f814404 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -163,6 +163,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
if (p != *ppos)
return -EFBIG;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
if (!valid_phys_addr_range(p, count))
return -EFAULT;
-
-@@ -515,6 +518,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
+
+@@ -513,6 +516,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */
int err = 0;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1083,9 +332,9 @@ index 5bb1985..6441d21 100644
unsigned long to_write = min_t(unsigned long, count,
(unsigned long)high_memory - p);
--
-2.9.3
+2.7.4
-From 2cfe484bdc7e42b42be4887f2b4d23ac9de79593 Mon Sep 17 00:00:00 2001
+From b83b68a9a13120664eaabf21a7b3ff0b065bd5b2 Mon Sep 17 00:00:00 2001
From: Kyle McMartin <kyle@redhat.com>
Date: Mon, 21 Nov 2016 23:55:56 +0000
Subject: [PATCH 13/32] Add a sysrq option to exit secure boot mode
@@ -1105,13 +354,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
7 files changed, 68 insertions(+), 8 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 5b19997..c2b481b 100644
+index a315974..6931e68 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1798,6 +1798,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
+@@ -1828,6 +1828,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
image. Say Y here to automatically lock down the kernel when a
system boots with UEFI Secure Boot enabled.
-
+
+config EFI_ALLOW_SECURE_BOOT_EXIT
+ def_bool n
+ depends on EFI_SECURE_BOOT_LOCK_DOWN && MAGIC_SYSRQ
@@ -1126,25 +375,25 @@ index 5b19997..c2b481b 100644
def_bool y
prompt "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index facaeb9..de24041 100644
+index d44e60e..f7635d0 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -71,6 +71,11 @@
#include <linux/jiffies.h>
#include <linux/security.h>
-
+
+#include <linux/fips.h>
+#include <linux/cred.h>
+#include <linux/sysrq.h>
+#include <linux/init_task.h>
+
#include <video/edid.h>
-
+
#include <asm/mtrr.h>
-@@ -1304,6 +1309,32 @@ void __init i386_reserve_resources(void)
-
+@@ -1328,6 +1333,32 @@ void __init i386_reserve_resources(void)
+
#endif /* CONFIG_X86_32 */
-
+
+#ifdef CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT
+
+static void sysrq_handle_secure_boot(int key)
@@ -1175,19 +424,19 @@ index facaeb9..de24041 100644
.notifier_call = dump_kernel_offset
};
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
-index 92595b9..894ed3f 100644
+index 022be0e..4a054a5 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
-@@ -379,6 +379,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
+@@ -387,6 +387,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
if (!udev->dev)
return -ENOMEM;
-
+
+ udev->dev->flags |= INPUTDEV_FLAGS_SYNTHETIC;
udev->dev->event = uinput_dev_event;
input_set_drvdata(udev->dev, udev);
-
+
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
-index 52bbd27..72f46a1 100644
+index 7113674..e1addc3 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
@@ -479,6 +479,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
@@ -1201,14 +450,14 @@ index 52bbd27..72f46a1 100644
@@ -522,7 +523,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
sysrq_key_table[i] = op_p;
}
-
+
-void __handle_sysrq(int key, bool check_mask)
+void __handle_sysrq(int key, unsigned int from)
{
struct sysrq_key_op *op_p;
int orig_log_level;
@@ -542,11 +543,15 @@ void __handle_sysrq(int key, bool check_mask)
-
+
op_p = __sysrq_get_key_op(key);
if (op_p) {
+ /* Ban synthetic events from some sysrq functionality */
@@ -1232,18 +481,18 @@ index 52bbd27..72f46a1 100644
+ __handle_sysrq(key, SYSRQ_FROM_KERNEL);
}
EXPORT_SYMBOL(handle_sysrq);
-
+
@@ -659,7 +664,7 @@ static void sysrq_do_reset(unsigned long _state)
static void sysrq_handle_reset_request(struct sysrq_state *state)
{
if (state->reset_requested)
- __handle_sysrq(sysrq_xlate[KEY_B], false);
+ __handle_sysrq(sysrq_xlate[KEY_B], SYSRQ_FROM_KERNEL);
-
+
if (sysrq_reset_downtime_ms)
mod_timer(&state->keyreset_timer,
@@ -810,8 +815,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
-
+
default:
if (sysrq->active && value && value != 2) {
+ int from = sysrq->handle.dev->flags & INPUTDEV_FLAGS_SYNTHETIC ?
@@ -1255,13 +504,13 @@ index 52bbd27..72f46a1 100644
break;
}
@@ -1095,7 +1102,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
-
+
if (get_user(c, buf))
return -EFAULT;
- __handle_sysrq(c, false);
+ __handle_sysrq(c, SYSRQ_FROM_PROC);
}
-
+
return count;
diff --git a/include/linux/input.h b/include/linux/input.h
index a65e3b2..8b03571 100644
@@ -1278,16 +527,16 @@ index a65e3b2..8b03571 100644
@@ -124,6 +125,8 @@ struct input_dev {
const char *uniq;
struct input_id id;
-
+
+ unsigned int flags;
+
unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)];
-
+
unsigned long evbit[BITS_TO_LONGS(EV_CNT)];
@@ -190,6 +193,8 @@ struct input_dev {
};
#define to_input_dev(d) container_of(d, struct input_dev, dev)
-
+
+#define INPUTDEV_FLAGS_SYNTHETIC 0x000000001
+
/*
@@ -1300,7 +549,7 @@ index 387fa7d..f7c52a9 100644
@@ -28,6 +28,8 @@
#define SYSRQ_ENABLE_BOOT 0x0080
#define SYSRQ_ENABLE_RTNICE 0x0100
-
+
+#define SYSRQ_DISABLE_USERSPACE 0x00010000
+
struct sysrq_key_op {
@@ -1309,7 +558,7 @@ index 387fa7d..f7c52a9 100644
@@ -42,8 +44,12 @@ struct sysrq_key_op {
* are available -- else NULL's).
*/
-
+
+#define SYSRQ_FROM_KERNEL 0x0001
+#define SYSRQ_FROM_PROC 0x0002
+#define SYSRQ_FROM_SYNTHETIC 0x0004
@@ -1321,22 +570,22 @@ index 387fa7d..f7c52a9 100644
int unregister_sysrq_key(int key, struct sysrq_key_op *op);
struct sysrq_key_op *__sysrq_get_key_op(int key);
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
-index 2a20c0d..d46d2e1 100644
+index ca18391..c4524b8 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
-@@ -1968,7 +1968,7 @@ static int kdb_sr(int argc, const char **argv)
+@@ -1967,7 +1967,7 @@ static int kdb_sr(int argc, const char **argv)
return KDB_ARGCOUNT;
-
+
kdb_trap_printk++;
- __handle_sysrq(*argv[1], check_mask);
+ __handle_sysrq(*argv[1], check_mask ? SYSRQ_FROM_KERNEL : 0);
kdb_trap_printk--;
-
+
return 0;
--
-2.9.3
+2.7.4
-From a82fdfceffac8e9cdc0287d874a8ba1b9d875e70 Mon Sep 17 00:00:00 2001
+From 8884bd44932e595323fcddfb09c2a2a586134cdf Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 14/32] kexec: Disable at runtime if the kernel is locked down
@@ -1360,7 +609,7 @@ index 980936a..46de8e6 100644
+++ b/kernel/kexec.c
@@ -194,6 +194,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
return -EPERM;
-
+
/*
+ * kexec can be used to circumvent module loading restrictions, so
+ * prevent loading in that case
@@ -1373,9 +622,9 @@ index 980936a..46de8e6 100644
* This leaves us room for future extensions.
*/
--
-2.9.3
+2.7.4
-From 43d4cec4b9acbe2954afb355cc32dbd456ca77bd Mon Sep 17 00:00:00 2001
+From cace563d1743c3d2faf1e46bd4df8e63e2310207 Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 15/32] Copy secure_boot flag in boot params across kexec
@@ -1399,21 +648,21 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
-index 3407b14..b843a4e 100644
+index d0a814a..3551bca 100644
--- a/arch/x86/kernel/kexec-bzimage64.c
+++ b/arch/x86/kernel/kexec-bzimage64.c
@@ -179,6 +179,7 @@ setup_efi_state(struct boot_params *params, unsigned long params_load_addr,
if (efi_enabled(EFI_OLD_MEMMAP))
return 0;
-
+
+ params->secure_boot = boot_params.secure_boot;
ei->efi_loader_signature = current_ei->efi_loader_signature;
ei->efi_systab = current_ei->efi_systab;
ei->efi_systab_hi = current_ei->efi_systab_hi;
--
-2.9.3
+2.7.4
-From 7f303a867209a3641d3da378d914967314b60254 Mon Sep 17 00:00:00 2001
+From 08a3467acbc28bb469d1eebd0f5fd40b944d984a Mon Sep 17 00:00:00 2001
From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
Date: Wed, 23 Nov 2016 13:49:19 +0000
Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been
@@ -1433,13 +682,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
-index 037c321..04f48f2 100644
+index b56a558..003cade 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
-@@ -264,6 +264,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
+@@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
return -EPERM;
-
+
+ /* Don't permit images to be loaded into trusted kernels if we're not
+ * going to verify the signature on them
+ */
@@ -1450,9 +699,9 @@ index 037c321..04f48f2 100644
if (flags != (flags & KEXEC_FILE_FLAGS))
return -EINVAL;
--
-2.9.3
+2.7.4
-From 7b42e60e328109fc2a04434c3cfedeb53eae6426 Mon Sep 17 00:00:00 2001
+From 925fd10d7a99a6f999dde76daf2b1ef1238b251a Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 17/32] hibernate: Disable when the kernel is locked down
@@ -1469,22 +718,22 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
-index b26dbc4..3732187 100644
+index 86385af..1629798 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -67,7 +67,7 @@ static const struct platform_hibernation_ops *hibernation_ops;
-
+
bool hibernation_available(void)
{
- return (nohibernate == 0);
+ return nohibernate == 0 && !kernel_is_locked_down();
}
-
+
/**
--
-2.9.3
+2.7.4
-From a2a550718c501375c22f5afdead9d25225abdcd3 Mon Sep 17 00:00:00 2001
+From b14fb5fcd60c84a09a15bd7ec974b6fbce68335c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@srcf.ucam.org>
Date: Wed, 23 Nov 2016 13:28:17 +0000
Subject: [PATCH 18/32] uswsusp: Disable when the kernel is locked down
@@ -1500,23 +749,23 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 3 insertions(+)
diff --git a/kernel/power/user.c b/kernel/power/user.c
-index 35310b6..c9ef5e1 100644
+index 22df9f7..e4b926d 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -52,6 +52,9 @@ static int snapshot_open(struct inode *inode, struct file *filp)
if (!hibernation_available())
return -EPERM;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
lock_system_sleep();
-
+
if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
--
-2.9.3
+2.7.4
-From 81204660ab5d1914cb59fb246f103288ecf9a177 Mon Sep 17 00:00:00 2001
+From d8167273e7562e5aa866d2b65e25bb1962de972c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked
@@ -1537,30 +786,30 @@ Signed-off-by: David Howells <dhowells@redhat.com>
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
-index bcd10c7..02b9c9e 100644
+index 0666287..b10992c 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
-@@ -716,6 +716,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
+@@ -718,6 +718,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
loff_t init_off = off;
u8 *data = (u8 *) buf;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
if (off > dev->cfg_size)
return 0;
if (off + count > dev->cfg_size) {
-@@ -1007,6 +1010,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+@@ -1009,6 +1012,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
resource_size_t start, end;
int i;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
for (i = 0; i < PCI_ROM_RESOURCE; i++)
if (res == &pdev->resource[i])
break;
-@@ -1106,6 +1112,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
+@@ -1108,6 +1114,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
{
@@ -1569,15 +818,15 @@ index bcd10c7..02b9c9e 100644
+
return pci_resource_io(filp, kobj, attr, buf, off, count, true);
}
-
+
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
-index 2408abe..eaccf9b 100644
+index f82710a..139d6f0 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -116,6 +116,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
int size = dev->cfg_size;
int cnt;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1587,7 +836,7 @@ index 2408abe..eaccf9b 100644
@@ -195,6 +198,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
#endif /* HAVE_PCI_MMAP */
int ret = 0;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1597,29 +846,29 @@ index 2408abe..eaccf9b 100644
@@ -233,7 +239,7 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
struct pci_filp_private *fpriv = file->private_data;
int i, ret, write_combine;
-
+
- if (!capable(CAP_SYS_RAWIO))
+ if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down())
return -EPERM;
-
+
/* Make sure the caller is mapping a real resource for this device */
diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
-index b91c4da..81544dc 100644
+index 9bf993e..c095247 100644
--- a/drivers/pci/syscall.c
+++ b/drivers/pci/syscall.c
@@ -92,7 +92,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
u32 dword;
int err = 0;
-
+
- if (!capable(CAP_SYS_ADMIN))
+ if (!capable(CAP_SYS_ADMIN) || kernel_is_locked_down())
return -EPERM;
-
+
dev = pci_get_bus_and_slot(bus, dfn);
--
-2.9.3
+2.7.4
-From 18f4177e0a147adccbbacb1fa95e340352228db3 Mon Sep 17 00:00:00 2001
+From 169d13e0c5240ac6aad13aace5ecbdb3de2cfada Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked
@@ -1641,19 +890,19 @@ Signed-off-by: David Howells <dhowells@redhat.com>
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
-index 589b319..f0789ab 100644
+index b01bc8517..4ccaace 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
-@@ -28,7 +28,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
-
+@@ -29,7 +29,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
+
if ((from + num <= from) || (from + num > IO_BITMAP_BITS))
return -EINVAL;
- if (turn_on && !capable(CAP_SYS_RAWIO))
+ if (turn_on && (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down()))
return -EPERM;
-
+
/*
-@@ -108,7 +108,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
+@@ -113,7 +113,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
return -EINVAL;
/* Trying to gain more privileges? */
if (level > old) {
@@ -1663,22 +912,22 @@ index 589b319..f0789ab 100644
}
regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) |
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 6441d21..f653c36 100644
+index f814404..9afebb6 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
-@@ -743,6 +743,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
-
+@@ -741,6 +741,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
+
static int open_port(struct inode *inode, struct file *filp)
{
+ if (kernel_is_locked_down())
+ return -EPERM;
return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
}
-
+
--
-2.9.3
+2.7.4
-From bdd2ae6c0c8ce5a4dadaa41019a6e065e9aa9128 Mon Sep 17 00:00:00 2001
+From efd24f7e9af624b62f39efce4f60b31f0ca643d8 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:17 +0000
Subject: [PATCH 21/32] x86: Restrict MSR access when the kernel is locked down
@@ -1695,20 +944,20 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 7 insertions(+)
diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c
-index 7f3550a..90cddc1 100644
+index ef68880..fbcce02 100644
--- a/arch/x86/kernel/msr.c
+++ b/arch/x86/kernel/msr.c
-@@ -83,6 +83,9 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
+@@ -84,6 +84,9 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
int err = 0;
ssize_t bytes = 0;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
if (count % 8)
return -EINVAL; /* Invalid chunk size */
-
-@@ -130,6 +133,10 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg)
+
+@@ -131,6 +134,10 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg)
err = -EBADF;
break;
}
@@ -1720,9 +969,9 @@ index 7f3550a..90cddc1 100644
err = -EFAULT;
break;
--
-2.9.3
+2.7.4
-From 50d0b2fd4e13f1da62d7bfabe7559cdaaceee06b Mon Sep 17 00:00:00 2001
+From 62ebdffbcb0726b98562e9f1173a6d5967755764 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 22/32] asus-wmi: Restrict debugfs interface when the kernel is
@@ -1741,33 +990,33 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 9 insertions(+)
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index ce6ca31..d860017 100644
+index 43cb680..9be3e08 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
-@@ -1872,6 +1872,9 @@ static int show_dsts(struct seq_file *m, void *data)
+@@ -1898,6 +1898,9 @@ static int show_dsts(struct seq_file *m, void *data)
int err;
u32 retval = -1;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
-
+
if (err < 0)
-@@ -1888,6 +1891,9 @@ static int show_devs(struct seq_file *m, void *data)
+@@ -1914,6 +1917,9 @@ static int show_devs(struct seq_file *m, void *data)
int err;
u32 retval = -1;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
&retval);
-
-@@ -1912,6 +1918,9 @@ static int show_call(struct seq_file *m, void *data)
+
+@@ -1938,6 +1944,9 @@ static int show_call(struct seq_file *m, void *data)
union acpi_object *obj;
acpi_status status;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1775,9 +1024,9 @@ index ce6ca31..d860017 100644
1, asus->debug.method_id,
&input, &output);
--
-2.9.3
+2.7.4
-From 88156357adede0ba4060adb0934d08e75afb6e9d Mon Sep 17 00:00:00 2001
+From 31f493d03dde1854fa9e540f87a751fbeeb41cb9 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is
@@ -1800,7 +1049,7 @@ index c68e724..e4d721c 100644
@@ -29,6 +29,9 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf,
struct acpi_table_header table;
acpi_status status;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1808,9 +1057,9 @@ index c68e724..e4d721c 100644
/* parse the table header to get the table length */
if (count <= sizeof(struct acpi_table_header))
--
-2.9.3
+2.7.4
-From 960205f64271826552eec6d7ba34144b1615c376 Mon Sep 17 00:00:00 2001
+From 1dec5dc62c78f78b9efe44aac3d6119d97b67017 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has
@@ -1827,10 +1076,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
-index 416953a..79f3d03 100644
+index db78d35..d4d4ba3 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
-@@ -191,7 +191,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp);
+@@ -192,7 +192,7 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
acpi_physical_address pa = 0;
#ifdef CONFIG_KEXEC
@@ -1838,11 +1087,11 @@ index 416953a..79f3d03 100644
+ if (acpi_rsdp && !kernel_is_locked_down())
return acpi_rsdp;
#endif
-
+
--
-2.9.3
+2.7.4
-From 2f200d295a041b154f3938940c2d8aa1742f1379 Mon Sep 17 00:00:00 2001
+From 96eaf04100d7365d93f898013175351c7d2702a6 Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
Date: Wed, 23 Nov 2016 13:32:27 +0000
Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is
@@ -1865,13 +1114,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 5 insertions(+)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
-index cdd56c4..c657c08 100644
+index 2604189..601096d 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
-@@ -545,6 +545,11 @@ void __init acpi_table_upgrade(void)
+@@ -542,6 +542,11 @@ void __init acpi_table_upgrade(void)
if (table_nr == 0)
return;
-
+
+ if (kernel_is_locked_down()) {
+ pr_notice("kernel is locked down, ignoring table override\n");
+ return;
@@ -1881,9 +1130,9 @@ index cdd56c4..c657c08 100644
memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS,
all_tables_size, PAGE_SIZE);
--
-2.9.3
+2.7.4
-From 6244dff831988f59797add76cee80c73961d5ac5 Mon Sep 17 00:00:00 2001
+From 521979b819b853f7578ba8edef8b33bc2077026d Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
Date: Wed, 23 Nov 2016 13:39:41 +0000
Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is
@@ -1911,13 +1160,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 3 insertions(+)
diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
-index eebb7e3..e4f126a 100644
+index ec50c32..e082718 100644
--- a/drivers/acpi/apei/einj.c
+++ b/drivers/acpi/apei/einj.c
@@ -518,6 +518,9 @@ static int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
int rc;
u64 base_addr, size;
-
+
+ if (kernel_is_locked_down())
+ return -EPERM;
+
@@ -1925,9 +1174,9 @@ index eebb7e3..e4f126a 100644
if (flags && (flags &
~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF)))
--
-2.9.3
+2.7.4
-From a17a541d1af379c3d6ff21924c212f9e2e38c1c8 Mon Sep 17 00:00:00 2001
+From fe597dad1cba83345d62c4079c0d8861c426698c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Wed, 23 Nov 2016 13:41:23 +0000
Subject: [PATCH 27/32] Enable cold boot attack mitigation
@@ -1937,13 +1186,13 @@ Subject: [PATCH 27/32] Enable cold boot attack mitigation
1 file changed, 28 insertions(+)
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index 5b151c2..5093a76 100644
+index 801c7a1..ef9409b 100644
--- a/arch/x86/boot/compressed/eboot.c
+++ b/arch/x86/boot/compressed/eboot.c
-@@ -774,6 +774,31 @@ void setup_graphics(struct boot_params *boot_params)
+@@ -604,6 +604,31 @@ void setup_graphics(struct boot_params *boot_params)
}
}
-
+
+#define MEMORY_ONLY_RESET_CONTROL_GUID \
+ EFI_GUID (0xe20939be, 0x32d4, 0x41be, 0xa1, 0x50, 0x89, 0x7f, 0x85, 0xd4, 0x98, 0x29)
+
@@ -1972,20 +1221,20 @@ index 5b151c2..5093a76 100644
/*
* Because the x86 boot code expects to be passed a boot_params we
* need to create one ourselves (usually the bootloader would create
-@@ -1158,6 +1183,9 @@ struct boot_params *efi_main(struct efi_config *c,
+@@ -988,6 +1013,9 @@ struct boot_params *efi_main(struct efi_config *c,
else
setup_boot_services32(efi_early);
-
+
+ /* Ask the firmware to clear memory if we don't have a clean shutdown */
+ enable_reset_attack_mitigation();
+
- boot_params->secure_boot = efi_get_secureboot(sys_table);
-
- setup_graphics(boot_params);
+ /*
+ * If the boot loader gave us a value for secure_boot then we use that,
+ * otherwise we ask the BIOS.
--
-2.9.3
+2.7.4
-From c9c34942d873f7a09b9c7211bda3063354ff5706 Mon Sep 17 00:00:00 2001
+From 04fac895731801bc6cb26a6061f1c353c80a866c Mon Sep 17 00:00:00 2001
From: "Lee, Chun-Yi" <jlee@suse.com>
Date: Wed, 23 Nov 2016 13:52:16 +0000
Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the
@@ -2004,13 +1253,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 11 insertions(+)
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
-index 5dcb992..474e001 100644
+index cee9802..7fde851 100644
--- a/kernel/trace/bpf_trace.c
+++ b/kernel/trace/bpf_trace.c
@@ -65,6 +65,11 @@ BPF_CALL_3(bpf_probe_read, void *, dst, u32, size, const void *, unsafe_ptr)
{
int ret;
-
+
+ if (kernel_is_locked_down()) {
+ memset(dst, 0, size);
+ return -EPERM;
@@ -2032,7 +1281,7 @@ index 5dcb992..474e001 100644
@@ -143,6 +151,9 @@ BPF_CALL_5(bpf_trace_printk, char *, fmt, u32, fmt_size, u64, arg1,
if (fmt[--fmt_size] != 0)
return -EINVAL;
-
+
+ if (kernel_is_locked_down())
+ return __trace_printk(1, fmt, 0, 0, 0);
+
@@ -2040,9 +1289,9 @@ index 5dcb992..474e001 100644
for (i = 0; i < fmt_size; i++) {
if ((!isprint(fmt[i]) && !isspace(fmt[i])) || !isascii(fmt[i]))
--
-2.9.3
+2.7.4
-From 04485aa7865dc340f38e32ad29793c625167acf3 Mon Sep 17 00:00:00 2001
+From 707d0e14c2c0d6c3139ff4bcb16ee22c462b4304 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Tue, 22 Nov 2016 10:10:34 +0000
Subject: [PATCH 29/32] scsi: Lock down the eata driver
@@ -2068,13 +1317,13 @@ cc: linux-scsi@vger.kernel.org
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
-index 227dd2c..5c036d1 100644
+index 227dd2c..5c036d10 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1552,8 +1552,13 @@ static int eata2x_detect(struct scsi_host_template *tpnt)
-
+
tpnt->proc_name = "eata2x";
-
+
- if (strlen(boot_options))
+ if (strlen(boot_options)) {
+ if (kernel_is_locked_down()) {
@@ -2083,13 +1332,13 @@ index 227dd2c..5c036d1 100644
+ }
option_setup(boot_options);
+ }
-
+
#if defined(MODULE)
/* io_port could have been modified when loading as a module */
--
-2.9.3
+2.7.4
-From b1e8f012b7b17e0146f8e63de51f6f45819c859e Mon Sep 17 00:00:00 2001
+From 07e05e0b7d806a05eba55092630bb75a92311344 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Fri, 25 Nov 2016 14:37:45 +0000
Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked
@@ -2110,19 +1359,19 @@ index 55ef7d1..193e4f7 100644
@@ -1578,6 +1578,11 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj,
struct pcmcia_socket *s;
int error;
-
+
+ if (kernel_is_locked_down()) {
+ pr_err("Direct CIS storage isn't permitted when the kernel is locked down\n");
+ return -EPERM;
+ }
+
s = to_socket(container_of(kobj, struct device, kobj));
-
+
if (off)
--
-2.9.3
+2.7.4
-From 66d9c09b9427719e3c6a34132e9ca0724cb1e3a8 Mon Sep 17 00:00:00 2001
+From cf1e877adbe35c5f72a9d85570b494aa3f35be6a Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Wed, 7 Dec 2016 10:28:39 +0000
Subject: [PATCH 31/32] Lock down TIOCSSERIAL
@@ -2139,13 +1388,13 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index f2303f3..f2c07fa 100644
+index 9939c3d..7c040e2 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -819,6 +819,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
+@@ -820,6 +820,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
new_flags = new_info->flags;
old_custom_divisor = uport->custom_divisor;
-
+
+ if ((change_port || change_irq) && kernel_is_locked_down()) {
+ pr_err("Using TIOCSSERIAL to change device addresses, irqs and dma channels is not permitted when the kernel is locked down\n");
+ retval = -EPERM;
@@ -2156,4 +1405,5 @@ index f2303f3..f2c07fa 100644
retval = -EPERM;
if (change_irq || change_port ||
--
-2.9.3
+2.7.4
+
diff --git a/ideapad-laptop-Add-Lenovo-ideapad-Y700-17ISK-to-no_h.patch b/ideapad-laptop-Add-Lenovo-ideapad-Y700-17ISK-to-no_h.patch
deleted file mode 100644
index 16788f756..000000000
--- a/ideapad-laptop-Add-Lenovo-ideapad-Y700-17ISK-to-no_h.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 14b627c610f93c2700f9a3825ac10c35d51acfe4 Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Mon, 7 Dec 2015 13:50:38 -0500
-Subject: [PATCH] ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_rfkill
- dmi list
-
-One of the newest ideapad models also lacks a physical hw rfkill switch,
-and trying to read the hw rfkill switch through the ideapad module
-causes it to always reported blocking breaking wifi.
-
-Fix it by adding this model to the DMI list.
-
-BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1286293
-Cc: stable@vger.kernel.org
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
----
- drivers/platform/x86/ideapad-laptop.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
-index a313dfc0245f..d28db0e793df 100644
---- a/drivers/platform/x86/ideapad-laptop.c
-+++ b/drivers/platform/x86/ideapad-laptop.c
-@@ -865,6 +865,13 @@ static const struct dmi_system_id no_hw_rfkill_list[] = {
- },
- },
- {
-+ .ident = "Lenovo ideapad Y700-17ISK",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
-+ DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad Y700-17ISK"),
-+ },
-+ },
-+ {
- .ident = "Lenovo Yoga 2 11 / 13 / Pro",
- .matches = {
- DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
---
-2.5.0
-
diff --git a/ipv4-fib-don-t-warn-when-primary-address-is-missing-.patch b/ipv4-fib-don-t-warn-when-primary-address-is-missing-.patch
deleted file mode 100644
index 9e4cf4e0e..000000000
--- a/ipv4-fib-don-t-warn-when-primary-address-is-missing-.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 9f79323a0aebccb9915ab8f4b7dcf531578b9cf9 Mon Sep 17 00:00:00 2001
-From: Paolo Abeni <pabeni@redhat.com>
-Date: Thu, 21 Apr 2016 20:23:31 -0400
-Subject: [PATCH] ipv4/fib: don't warn when primary address is missing if
- in_dev is dead
-
-After commit fbd40ea0180a ("ipv4: Don't do expensive useless work
-during inetdev destroy.") when deleting an interface,
-fib_del_ifaddr() can be executed without any primary address
-present on the dead interface.
-
-The above is safe, but triggers some "bug: prim == NULL" warnings.
-
-This commit avoids warning if the in_dev is dead
-
-Signed-off-by: Paolo Abeni <pabeni@redhat.com>
----
- net/ipv4/fib_frontend.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
-index 8a9246deccfe..63566ec54794 100644
---- a/net/ipv4/fib_frontend.c
-+++ b/net/ipv4/fib_frontend.c
-@@ -904,7 +904,11 @@ void fib_del_ifaddr(struct in_ifaddr *ifa, struct in_ifaddr *iprim)
- if (ifa->ifa_flags & IFA_F_SECONDARY) {
- prim = inet_ifa_byprefix(in_dev, any, ifa->ifa_mask);
- if (!prim) {
-- pr_warn("%s: bug: prim == NULL\n", __func__);
-+ /* if the device has been deleted, we don't perform
-+ * address promotion
-+ */
-+ if (!in_dev->dead)
-+ pr_warn("%s: bug: prim == NULL\n", __func__);
- return;
- }
- if (iprim && iprim != prim) {
---
-2.5.5
-
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index d2c5ccd8e..b0c8f40a6 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -145,7 +145,6 @@ CONFIG_ADAPTEC_STARFIRE=m
# CONFIG_AF_KCM is not set
# 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
@@ -743,6 +747,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -760,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
@@ -775,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
@@ -818,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
@@ -839,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
@@ -860,13 +861,16 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI514 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_COMMON_CLK_XGENE=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_RESET_HI3660 is not set
CONFIG_COMMON_RESET_HI6220=m
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
+# CONFIG_COMPAT is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
@@ -912,12 +916,15 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64=m
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
CONFIG_CRYPTO_AES_ARM_BS=y
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -931,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
@@ -1050,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
@@ -1088,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
@@ -1125,6 +1134,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1146,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
@@ -1201,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
@@ -1211,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
@@ -1237,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
@@ -1247,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
@@ -1261,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
@@ -1268,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
@@ -1357,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
@@ -1386,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
@@ -1436,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
@@ -1471,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
@@ -1489,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
@@ -1544,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
@@ -1574,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
@@ -1589,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
@@ -1655,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
@@ -1673,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
@@ -1681,32 +1679,30 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
# CONFIG_GPIO_WS16C48 is not set
CONFIG_GPIO_XGENE_SB=m
CONFIG_GPIO_XGENE=y
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
CONFIG_GTP=m
CONFIG_HAMACHI=m
-# CONFIG_HAMRADIO is not set
+CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
@@ -1850,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
@@ -1903,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
@@ -1941,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
@@ -1977,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
@@ -1995,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
@@ -2038,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
@@ -2057,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
@@ -2066,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
@@ -2074,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
@@ -2169,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
@@ -2180,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
@@ -2321,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
@@ -2363,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
@@ -2521,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
@@ -2532,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
@@ -2579,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
@@ -2609,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
@@ -2694,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
@@ -2726,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
@@ -2733,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
@@ -2819,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
@@ -2841,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
@@ -2860,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
@@ -2970,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
@@ -3042,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
@@ -3058,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
@@ -3122,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
@@ -3150,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
@@ -3193,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
@@ -3326,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
@@ -3336,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
@@ -3390,8 +3405,9 @@ CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3515,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
@@ -3586,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
@@ -3732,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
@@ -3791,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
@@ -3865,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
@@ -3874,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
@@ -3888,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
@@ -3906,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
@@ -3980,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
@@ -3994,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
@@ -4012,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
@@ -4021,10 +4049,15 @@ 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
CONFIG_QCOM_SMD=m
CONFIG_QCOM_SMD_RPM=m
@@ -4039,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
@@ -4052,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
@@ -4086,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
@@ -4138,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
@@ -4155,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
@@ -4164,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
@@ -4195,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
@@ -4379,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
@@ -4674,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
@@ -4711,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
@@ -4718,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
@@ -4733,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
@@ -4746,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
@@ -4806,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
@@ -4914,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
@@ -4952,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
@@ -4964,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
@@ -4983,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
@@ -4998,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
@@ -5013,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
@@ -5020,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
@@ -5029,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
@@ -5064,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
@@ -5090,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
@@ -5154,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
@@ -5171,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
@@ -5180,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
@@ -5218,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
@@ -5314,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
@@ -5346,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
@@ -5354,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
@@ -5432,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
@@ -5499,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
@@ -5520,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
@@ -5643,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
@@ -5801,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
@@ -5881,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
@@ -5900,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
@@ -5950,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
@@ -5971,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
@@ -6007,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
@@ -6022,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
@@ -6045,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
@@ -6117,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 45505fb61..37bd5d69c 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -145,7 +145,6 @@ CONFIG_ADAPTEC_STARFIRE=m
# CONFIG_AF_KCM is not set
# 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
@@ -743,6 +747,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -760,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
@@ -775,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
@@ -818,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
@@ -839,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
@@ -860,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
@@ -911,12 +915,15 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64=m
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
CONFIG_CRYPTO_AES_ARM_BS=y
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -930,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
@@ -1049,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
@@ -1080,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
@@ -1116,6 +1125,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1136,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
@@ -1191,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
@@ -1201,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
@@ -1227,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
@@ -1237,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
@@ -1251,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
@@ -1258,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
@@ -1347,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
@@ -1376,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
@@ -1426,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
@@ -1454,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
@@ -1472,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
@@ -1527,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
@@ -1557,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
@@ -1572,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
@@ -1638,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
@@ -1656,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
@@ -1664,32 +1662,30 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
CONFIG_GPIO_WATCHDOG=m
# CONFIG_GPIO_WS16C48 is not set
CONFIG_GPIO_XGENE_SB=m
CONFIG_GPIO_XGENE=y
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
CONFIG_GTP=m
CONFIG_HAMACHI=m
-# CONFIG_HAMRADIO is not set
+CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
@@ -1833,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
@@ -1886,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
@@ -1924,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
@@ -1960,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
@@ -1978,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
@@ -2021,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
@@ -2040,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
@@ -2049,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
@@ -2057,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
@@ -2152,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
@@ -2163,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
@@ -2304,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
@@ -2346,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
@@ -2502,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
@@ -2513,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
@@ -2560,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
@@ -2590,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
@@ -2675,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
@@ -2707,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
@@ -2714,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
@@ -2799,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
@@ -2821,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
@@ -2840,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
@@ -2950,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
@@ -3021,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
@@ -3037,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
@@ -3101,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
@@ -3129,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
@@ -3172,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
@@ -3305,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
@@ -3315,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
@@ -3369,8 +3384,9 @@ CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3494,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
@@ -3565,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
@@ -3711,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
@@ -3770,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
@@ -3844,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
@@ -3853,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
@@ -3867,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
@@ -3885,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
@@ -3959,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
@@ -3972,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
@@ -3990,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
@@ -3999,10 +4027,15 @@ 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
CONFIG_QCOM_SMD=m
CONFIG_QCOM_SMD_RPM=m
@@ -4017,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
@@ -4030,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
@@ -4064,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
@@ -4116,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
@@ -4133,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
@@ -4142,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
@@ -4173,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
@@ -4357,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
@@ -4652,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
@@ -4689,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
@@ -4696,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
@@ -4711,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
@@ -4724,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
@@ -4784,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
@@ -4892,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
@@ -4929,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
@@ -4941,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
@@ -4960,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
@@ -4975,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
@@ -4990,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
@@ -4997,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
@@ -5006,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
@@ -5041,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
@@ -5067,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
@@ -5131,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
@@ -5148,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
@@ -5157,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
@@ -5195,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
@@ -5291,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
@@ -5323,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
@@ -5331,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
@@ -5409,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
@@ -5476,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
@@ -5497,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
@@ -5620,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
@@ -5778,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
@@ -5858,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
@@ -5877,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
@@ -5927,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
@@ -5948,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
@@ -5984,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
@@ -5999,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
@@ -6022,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
@@ -6094,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 is not set
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 6e442d9c0..0b75171a7 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -124,11 +124,11 @@ CONFIG_AEABI=y
# CONFIG_AF_KCM is not set
# 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
@@ -790,6 +793,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -807,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
@@ -823,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
@@ -869,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
@@ -890,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
@@ -915,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
@@ -973,6 +971,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -986,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
@@ -1163,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
@@ -1204,6 +1203,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1283,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
@@ -1314,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
@@ -1336,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
@@ -1346,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
@@ -1372,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
@@ -1382,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
@@ -1390,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
@@ -1397,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
@@ -1486,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
@@ -1519,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
@@ -1569,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
@@ -1612,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
@@ -1630,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
@@ -1689,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
@@ -1736,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
@@ -1800,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
@@ -1820,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
@@ -1830,15 +1815,15 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
CONFIG_GPIO_STMPE=y
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65218=m
@@ -1851,20 +1836,18 @@ 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
CONFIG_GS_FPGABOOT=m
CONFIG_GTP=m
CONFIG_HAMACHI=m
-# CONFIG_HAMRADIO is not set
+CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
@@ -2056,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
@@ -2063,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
@@ -2136,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
@@ -2155,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
@@ -2183,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
@@ -2198,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
@@ -2224,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
@@ -2233,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
@@ -2241,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
@@ -2346,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
@@ -2499,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
@@ -2543,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
@@ -2711,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
@@ -2718,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
@@ -2730,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
@@ -2777,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
@@ -2785,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
@@ -2897,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
@@ -2931,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
@@ -2948,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
@@ -2955,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
@@ -3039,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
@@ -3061,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
@@ -3195,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
@@ -3235,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
@@ -3278,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
@@ -3294,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
@@ -3383,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
@@ -3462,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
@@ -3595,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
@@ -3605,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
@@ -3658,8 +3665,9 @@ CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3786,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
@@ -3857,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
@@ -3999,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
@@ -4043,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
@@ -4103,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
@@ -4173,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
@@ -4188,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
@@ -4208,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
@@ -4227,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
@@ -4277,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
@@ -4310,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
@@ -4324,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
@@ -4341,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
@@ -4352,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
@@ -4365,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
@@ -4381,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
@@ -4443,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
@@ -4485,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
@@ -4519,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
@@ -4561,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
@@ -4577,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
@@ -4592,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
@@ -4678,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
@@ -4710,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
@@ -5061,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
@@ -5100,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
@@ -5108,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
@@ -5125,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
@@ -5141,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
@@ -5154,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
@@ -5211,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
@@ -5383,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
@@ -5454,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
@@ -5465,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
@@ -5486,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
@@ -5502,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
@@ -5545,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
@@ -5596,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
@@ -5645,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
@@ -5668,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
@@ -5685,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
@@ -5698,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
@@ -5735,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
@@ -5830,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
@@ -5859,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
@@ -5877,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
@@ -5886,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
@@ -5961,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
@@ -6037,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
@@ -6058,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
@@ -6095,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
@@ -6102,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
@@ -6188,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
@@ -6270,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
@@ -6354,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
@@ -6457,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
@@ -6514,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
@@ -6554,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
@@ -6584,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
@@ -6599,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
@@ -6623,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
@@ -6697,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 2bfab2fc3..7bc14358d 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -124,7 +124,6 @@ CONFIG_AEABI=y
# CONFIG_AF_KCM is not set
# 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
@@ -771,6 +771,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -788,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
@@ -804,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
@@ -847,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
@@ -867,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
@@ -889,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
@@ -947,6 +942,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -960,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
@@ -1117,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
@@ -1158,6 +1154,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1236,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
@@ -1265,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
@@ -1299,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
@@ -1309,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
@@ -1323,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
@@ -1412,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
@@ -1444,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
@@ -1494,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
@@ -1536,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
@@ -1554,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
@@ -1610,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
@@ -1656,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
@@ -1719,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
@@ -1738,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
@@ -1746,14 +1726,14 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65910=y
@@ -1761,19 +1741,17 @@ 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
CONFIG_GTP=m
CONFIG_HAMACHI=m
-# CONFIG_HAMRADIO is not set
+CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
@@ -1969,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
@@ -2007,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
@@ -2043,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
@@ -2059,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
@@ -2087,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
@@ -2102,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
@@ -2121,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
@@ -2130,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
@@ -2138,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
@@ -2235,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
@@ -2388,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
@@ -2431,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
@@ -2601,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
@@ -2614,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
@@ -2663,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
@@ -2670,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
@@ -2780,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
@@ -2811,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
@@ -2824,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
@@ -2831,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
@@ -2913,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
@@ -2935,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
@@ -3067,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
@@ -3143,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
@@ -3159,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
@@ -3235,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
@@ -3310,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
@@ -3443,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
@@ -3453,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
@@ -3506,8 +3503,9 @@ CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3631,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
@@ -3702,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
@@ -3849,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
@@ -3908,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
@@ -3974,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
@@ -4005,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
@@ -4016,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
@@ -4095,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
@@ -4109,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
@@ -4129,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
@@ -4136,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
@@ -4188,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
@@ -4243,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
@@ -4270,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
@@ -4307,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
@@ -4323,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
@@ -4338,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
@@ -4793,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
@@ -4831,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
@@ -4838,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
@@ -4855,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
@@ -4867,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
@@ -4876,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
@@ -4930,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
@@ -5083,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
@@ -5117,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
@@ -5137,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
@@ -5147,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
@@ -5158,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
@@ -5183,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
@@ -5223,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
@@ -5260,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
@@ -5322,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
@@ -5339,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
@@ -5351,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
@@ -5387,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
@@ -5483,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
@@ -5512,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
@@ -5524,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
@@ -5532,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
@@ -5605,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
@@ -5675,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
@@ -5694,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
@@ -5820,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
@@ -5977,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
@@ -6058,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
@@ -6079,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
@@ -6132,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
@@ -6155,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
@@ -6197,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
@@ -6212,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
@@ -6235,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
@@ -6307,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 1f9d41517..e5d1605ba 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -124,7 +124,6 @@ CONFIG_AEABI=y
# CONFIG_AF_KCM is not set
# 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
@@ -771,6 +770,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -788,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
@@ -804,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
@@ -847,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
@@ -867,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
@@ -889,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
@@ -946,6 +940,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -959,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
@@ -1109,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
@@ -1149,6 +1144,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1227,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
@@ -1256,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
@@ -1290,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
@@ -1300,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
@@ -1314,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
@@ -1403,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
@@ -1435,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
@@ -1485,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
@@ -1520,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
@@ -1538,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
@@ -1594,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
@@ -1640,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
@@ -1703,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
@@ -1722,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
@@ -1730,14 +1709,14 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65910=y
@@ -1745,19 +1724,17 @@ 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
CONFIG_GTP=m
CONFIG_HAMACHI=m
-# CONFIG_HAMRADIO is not set
+CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
@@ -1953,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
@@ -1991,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
@@ -2027,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
@@ -2043,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
@@ -2071,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
@@ -2086,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
@@ -2105,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
@@ -2114,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
@@ -2122,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
@@ -2219,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
@@ -2372,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
@@ -2415,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
@@ -2583,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
@@ -2596,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
@@ -2645,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
@@ -2652,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
@@ -2762,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
@@ -2793,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
@@ -2806,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
@@ -2813,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
@@ -2894,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
@@ -2916,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
@@ -3048,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
@@ -3123,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
@@ -3139,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
@@ -3215,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
@@ -3290,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
@@ -3423,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
@@ -3433,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
@@ -3486,8 +3482,9 @@ CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3611,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
@@ -3682,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
@@ -3829,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
@@ -3888,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
@@ -3954,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
@@ -3985,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
@@ -3996,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
@@ -4075,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
@@ -4088,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
@@ -4108,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
@@ -4115,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
@@ -4167,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
@@ -4222,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
@@ -4249,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
@@ -4286,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
@@ -4302,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
@@ -4317,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
@@ -4772,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
@@ -4810,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
@@ -4817,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
@@ -4834,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
@@ -4846,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
@@ -4855,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
@@ -4909,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
@@ -5061,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
@@ -5095,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
@@ -5115,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
@@ -5125,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
@@ -5136,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
@@ -5161,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
@@ -5201,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
@@ -5238,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
@@ -5300,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
@@ -5317,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
@@ -5329,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
@@ -5365,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
@@ -5461,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
@@ -5490,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
@@ -5502,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
@@ -5510,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
@@ -5583,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
@@ -5653,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
@@ -5672,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
@@ -5798,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
@@ -5955,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
@@ -6036,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
@@ -6057,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
@@ -6110,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
@@ -6133,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
@@ -6175,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
@@ -6190,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
@@ -6213,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
@@ -6285,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 is not set
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 126f30ccd..66bd982ac 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -124,11 +124,11 @@ CONFIG_AEABI=y
# CONFIG_AF_KCM is not set
# 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
@@ -790,6 +792,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -807,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
@@ -823,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
@@ -869,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
@@ -890,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
@@ -915,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
@@ -972,6 +969,7 @@ CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_ARM_BS=y
# CONFIG_CRYPTO_AES_ARM_CE is not set
CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -985,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
@@ -1155,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
@@ -1195,6 +1193,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1274,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
@@ -1305,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
@@ -1327,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
@@ -1337,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
@@ -1363,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
@@ -1373,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
@@ -1381,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
@@ -1388,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
@@ -1477,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
@@ -1510,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
@@ -1560,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
@@ -1596,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
@@ -1614,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
@@ -1673,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
@@ -1720,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
@@ -1784,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
@@ -1804,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
@@ -1814,15 +1798,15 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
CONFIG_GPIO_STMPE=y
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_SYSCON=m
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65218=m
@@ -1835,20 +1819,18 @@ 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
CONFIG_GS_FPGABOOT=m
CONFIG_GTP=m
CONFIG_HAMACHI=m
-# CONFIG_HAMRADIO is not set
+CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
CONFIG_HARDENED_USERCOPY=y
@@ -2040,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
@@ -2047,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
@@ -2120,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
@@ -2139,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
@@ -2167,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
@@ -2182,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
@@ -2208,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
@@ -2217,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
@@ -2225,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
@@ -2330,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
@@ -2483,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
@@ -2527,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
@@ -2693,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
@@ -2700,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
@@ -2712,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
@@ -2759,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
@@ -2767,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
@@ -2879,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
@@ -2913,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
@@ -2930,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
@@ -2937,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
@@ -3020,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
@@ -3042,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
@@ -3176,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
@@ -3216,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
@@ -3258,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
@@ -3274,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
@@ -3363,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
@@ -3442,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
@@ -3575,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
@@ -3585,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
@@ -3638,8 +3644,9 @@ CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3766,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
@@ -3837,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
@@ -3979,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
@@ -4023,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
@@ -4083,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
@@ -4153,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
@@ -4168,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
@@ -4188,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
@@ -4207,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
@@ -4257,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
@@ -4290,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
@@ -4303,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
@@ -4320,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
@@ -4331,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
@@ -4344,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
@@ -4360,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
@@ -4422,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
@@ -4464,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
@@ -4498,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
@@ -4540,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
@@ -4556,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
@@ -4571,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
@@ -4657,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
@@ -4689,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
@@ -5040,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
@@ -5079,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
@@ -5087,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
@@ -5104,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
@@ -5120,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
@@ -5133,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
@@ -5190,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
@@ -5361,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
@@ -5432,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
@@ -5443,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
@@ -5464,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
@@ -5480,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
@@ -5523,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
@@ -5574,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
@@ -5623,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
@@ -5646,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
@@ -5663,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
@@ -5676,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
@@ -5713,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
@@ -5808,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
@@ -5837,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
@@ -5855,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
@@ -5864,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
@@ -5939,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
@@ -6015,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
@@ -6036,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
@@ -6073,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
@@ -6080,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
@@ -6166,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
@@ -6248,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
@@ -6332,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
@@ -6435,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
@@ -6492,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
@@ -6532,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
@@ -6562,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
@@ -6577,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
@@ -6601,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
@@ -6675,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 is not set
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index 477ebedc7..4a24bc6a4 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
@@ -661,6 +660,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -678,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
@@ -685,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
@@ -692,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
@@ -732,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
@@ -742,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
@@ -808,6 +801,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -823,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
@@ -972,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
@@ -1015,6 +1008,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1085,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
@@ -1095,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
@@ -1110,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
@@ -1136,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
@@ -1230,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
@@ -1280,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
@@ -1301,10 +1298,10 @@ 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
+CONFIG_ENA_ETHERNET=m
# CONFIG_ENC28J60 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_ENCRYPTED_KEYS=y
@@ -1333,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=""
@@ -1378,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
@@ -1479,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
@@ -1554,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
@@ -1573,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
@@ -1580,7 +1580,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1590,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
@@ -1601,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
@@ -1799,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
@@ -1840,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
@@ -1935,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
@@ -1951,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
@@ -1960,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
@@ -1968,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
@@ -2238,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
@@ -2284,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
@@ -2438,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
@@ -2449,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
@@ -2502,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
@@ -2618,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
@@ -2656,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
@@ -2664,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
@@ -2743,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
@@ -2762,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
@@ -2811,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
@@ -2973,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
@@ -3092,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
@@ -3225,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
@@ -3235,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
@@ -3288,8 +3303,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3414,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
@@ -3485,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
@@ -3625,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
@@ -3682,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
@@ -3753,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
@@ -3765,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
@@ -3836,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
@@ -3850,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
@@ -3868,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
@@ -3921,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
@@ -3967,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
@@ -4453,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
@@ -4489,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
@@ -4508,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
@@ -4551,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
@@ -4571,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
@@ -4715,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
@@ -4747,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
@@ -4785,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
@@ -4840,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
@@ -4863,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
@@ -4914,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
@@ -4932,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
@@ -4946,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
@@ -4958,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
@@ -5042,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
@@ -5057,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
@@ -5091,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
@@ -5105,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
@@ -5182,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
@@ -5249,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
@@ -5266,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
@@ -5350,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
@@ -5494,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
@@ -5583,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
@@ -5635,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
@@ -5656,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
@@ -5693,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
@@ -5734,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
@@ -5806,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
@@ -5880,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 9b316ee62..03e610d3f 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
@@ -661,6 +661,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -678,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
@@ -685,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
@@ -692,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
@@ -732,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
@@ -742,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
@@ -809,6 +803,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -824,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
@@ -980,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
@@ -1024,6 +1018,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1095,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
@@ -1105,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
@@ -1120,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
@@ -1146,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
@@ -1240,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
@@ -1290,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
@@ -1311,10 +1309,10 @@ 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
+CONFIG_ENA_ETHERNET=m
# CONFIG_ENC28J60 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_ENCRYPTED_KEYS=y
@@ -1343,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=""
@@ -1395,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
@@ -1496,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
@@ -1571,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
@@ -1590,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
@@ -1597,7 +1598,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1607,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
@@ -1618,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
@@ -1816,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
@@ -1857,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
@@ -1952,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
@@ -1968,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
@@ -1977,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
@@ -1985,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
@@ -2255,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
@@ -2301,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
@@ -2457,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
@@ -2468,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
@@ -2521,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
@@ -2637,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
@@ -2675,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
@@ -2683,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
@@ -2762,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
@@ -2781,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
@@ -2830,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
@@ -2992,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
@@ -3111,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
@@ -3244,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
@@ -3254,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
@@ -3307,8 +3323,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3433,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
@@ -3504,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
@@ -3644,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
@@ -3701,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
@@ -3772,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
@@ -3784,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
@@ -3855,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
@@ -3870,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
@@ -3888,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
@@ -3941,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
@@ -3987,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
@@ -4473,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
@@ -4509,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
@@ -4528,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
@@ -4571,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
@@ -4591,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
@@ -4736,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
@@ -4768,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
@@ -4806,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
@@ -4861,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
@@ -4884,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
@@ -4935,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
@@ -4953,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
@@ -4967,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
@@ -4979,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
@@ -5063,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
@@ -5078,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
@@ -5112,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
@@ -5126,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
@@ -5203,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
@@ -5270,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
@@ -5287,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
@@ -5371,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
@@ -5515,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
@@ -5604,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
@@ -5656,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
@@ -5677,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
@@ -5714,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
@@ -5755,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
@@ -5827,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
@@ -5901,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 ca49b6d5d..2d2ddcf4d 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
@@ -661,6 +661,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -678,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
@@ -685,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
@@ -692,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
@@ -732,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
@@ -742,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
@@ -809,6 +803,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -824,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
@@ -980,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
@@ -1024,6 +1018,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1095,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
@@ -1105,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
@@ -1120,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
@@ -1146,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
@@ -1240,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
@@ -1290,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
@@ -1311,10 +1309,10 @@ 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
+CONFIG_ENA_ETHERNET=m
# CONFIG_ENC28J60 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_ENCRYPTED_KEYS=y
@@ -1343,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=""
@@ -1395,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
@@ -1496,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
@@ -1571,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
@@ -1590,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
@@ -1597,7 +1598,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1607,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
@@ -1618,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
@@ -1816,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
@@ -1857,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
@@ -1952,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
@@ -1968,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
@@ -1977,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
@@ -1985,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
@@ -2255,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
@@ -2301,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
@@ -2457,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
@@ -2468,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
@@ -2521,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
@@ -2637,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
@@ -2675,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
@@ -2683,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
@@ -2762,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
@@ -2781,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
@@ -2830,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
@@ -2992,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
@@ -3111,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
@@ -3244,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
@@ -3254,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
@@ -3307,8 +3323,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3433,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
@@ -3504,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
@@ -3644,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
@@ -3701,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
@@ -3772,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
@@ -3784,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
@@ -3855,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
@@ -3870,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
@@ -3888,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
@@ -3941,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
@@ -3987,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
@@ -4473,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
@@ -4509,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
@@ -4528,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
@@ -4571,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
@@ -4591,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
@@ -4736,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
@@ -4768,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
@@ -4806,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
@@ -4861,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
@@ -4884,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
@@ -4935,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
@@ -4953,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
@@ -4967,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
@@ -4979,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
@@ -5063,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
@@ -5078,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
@@ -5112,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
@@ -5126,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
@@ -5203,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
@@ -5270,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
@@ -5287,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
@@ -5371,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
@@ -5515,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
@@ -5604,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
@@ -5656,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
@@ -5677,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
@@ -5714,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
@@ -5755,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
@@ -5827,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
@@ -5900,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 c9ffb0272..2b640d3e3 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
@@ -661,6 +660,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -678,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
@@ -685,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
@@ -692,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
@@ -732,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
@@ -742,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
@@ -808,6 +801,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -823,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
@@ -972,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
@@ -1015,6 +1008,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1085,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
@@ -1095,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
@@ -1110,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
@@ -1136,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
@@ -1230,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
@@ -1280,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
@@ -1301,10 +1298,10 @@ 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
+CONFIG_ENA_ETHERNET=m
# CONFIG_ENC28J60 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_ENCRYPTED_KEYS=y
@@ -1333,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=""
@@ -1378,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
@@ -1479,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
@@ -1554,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
@@ -1573,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
@@ -1580,7 +1580,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1590,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
@@ -1601,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
@@ -1799,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
@@ -1840,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
@@ -1935,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
@@ -1951,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
@@ -1960,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
@@ -1968,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
@@ -2238,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
@@ -2284,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
@@ -2438,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
@@ -2449,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
@@ -2502,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
@@ -2618,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
@@ -2656,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
@@ -2664,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
@@ -2743,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
@@ -2762,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
@@ -2811,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
@@ -2973,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
@@ -3092,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
@@ -3225,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
@@ -3235,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
@@ -3288,8 +3303,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3414,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
@@ -3485,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
@@ -3625,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
@@ -3682,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
@@ -3753,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
@@ -3765,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
@@ -3836,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
@@ -3850,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
@@ -3868,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
@@ -3921,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
@@ -3967,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
@@ -4453,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
@@ -4489,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
@@ -4508,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
@@ -4551,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
@@ -4571,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
@@ -4715,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
@@ -4747,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
@@ -4785,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
@@ -4840,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
@@ -4863,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
@@ -4914,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
@@ -4932,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
@@ -4946,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
@@ -4958,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
@@ -5042,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
@@ -5057,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
@@ -5091,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
@@ -5105,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
@@ -5182,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
@@ -5249,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
@@ -5266,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
@@ -5350,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
@@ -5494,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
@@ -5583,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
@@ -5635,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
@@ -5656,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
@@ -5693,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
@@ -5734,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
@@ -5806,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
@@ -5879,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 026ffc2bd..c59901132 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
@@ -647,6 +647,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -664,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
@@ -671,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
@@ -678,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
@@ -716,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
@@ -731,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
@@ -795,6 +789,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -810,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
@@ -958,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
@@ -986,6 +979,8 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_DEFXX is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
@@ -993,6 +988,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1061,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
@@ -1068,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
@@ -1104,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
@@ -1199,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
@@ -1226,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
@@ -1236,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
@@ -1268,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=""
@@ -1302,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
@@ -1320,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
@@ -1382,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
@@ -1428,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
@@ -1475,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
@@ -1495,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
@@ -1509,30 +1489,27 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1734,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
@@ -1769,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
@@ -1790,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
@@ -1817,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
@@ -1872,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
@@ -1888,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
@@ -1897,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
@@ -1905,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
@@ -1995,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
@@ -2144,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
@@ -2187,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
@@ -2340,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
@@ -2351,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
@@ -2404,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
@@ -2520,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
@@ -2553,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
@@ -2561,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
@@ -2643,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
@@ -2662,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
@@ -2708,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
@@ -2844,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
@@ -2862,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
@@ -2970,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
@@ -3103,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
@@ -3113,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
@@ -3165,8 +3149,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3292,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
@@ -3363,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
@@ -3434,6 +3422,7 @@ CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOZOMI=m
CONFIG_NR_CPUS=1024
+CONFIG_NR_DEV_DAX=32768
CONFIG_NR_IRQS=512
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3492,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
@@ -3552,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
@@ -3606,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
@@ -3614,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
@@ -3714,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
@@ -3730,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
@@ -3744,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
@@ -3797,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
@@ -3842,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
@@ -4322,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
@@ -4357,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
@@ -4365,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
@@ -4377,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
@@ -4444,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
@@ -4598,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
@@ -4649,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
@@ -4671,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
@@ -4703,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
@@ -4729,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
@@ -4772,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
@@ -4789,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
@@ -4803,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
@@ -4815,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
@@ -4898,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
@@ -4913,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
@@ -4941,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
@@ -4955,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
@@ -5026,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
@@ -5038,7 +5044,8 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACE_SINK is not set
# CONFIG_TRACING_EVENTS_GPIO is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TR is not set
CONFIG_TRUSTED_KEYS=m
# CONFIG_TS4800_IRQ is not set
@@ -5094,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
@@ -5111,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
@@ -5197,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
@@ -5344,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
@@ -5432,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
@@ -5482,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
@@ -5503,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
@@ -5539,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
@@ -5554,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
@@ -5578,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
@@ -5658,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 69c5f3d8c..af2f8af93 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
@@ -647,6 +646,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -664,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
@@ -671,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
@@ -678,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
@@ -716,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
@@ -731,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
@@ -794,6 +787,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -809,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
@@ -950,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
@@ -977,6 +969,8 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_DEFXX is not set
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
@@ -984,6 +978,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1051,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
@@ -1058,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
@@ -1094,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
@@ -1189,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
@@ -1216,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
@@ -1226,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
@@ -1258,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=""
@@ -1285,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
@@ -1303,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
@@ -1365,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
@@ -1411,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
@@ -1458,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
@@ -1478,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
@@ -1492,30 +1471,27 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1717,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
@@ -1752,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
@@ -1773,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
@@ -1800,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
@@ -1855,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
@@ -1871,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
@@ -1880,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
@@ -1888,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
@@ -1978,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
@@ -2127,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
@@ -2170,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
@@ -2321,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
@@ -2332,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
@@ -2385,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
@@ -2501,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
@@ -2534,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
@@ -2542,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
@@ -2623,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
@@ -2642,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
@@ -2688,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
@@ -2823,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
@@ -2841,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
@@ -2949,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
@@ -3082,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
@@ -3092,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
@@ -3144,8 +3127,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3271,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
@@ -3342,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
@@ -3413,6 +3400,7 @@ CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOZOMI=m
CONFIG_NR_CPUS=1024
+CONFIG_NR_DEV_DAX=32768
CONFIG_NR_IRQS=512
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3471,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
@@ -3531,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
@@ -3585,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
@@ -3593,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
@@ -3693,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
@@ -3708,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
@@ -3722,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
@@ -3775,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
@@ -3820,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
@@ -4300,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
@@ -4335,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
@@ -4343,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
@@ -4355,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
@@ -4422,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
@@ -4575,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
@@ -4626,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
@@ -4648,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
@@ -4680,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
@@ -4706,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
@@ -4749,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
@@ -4766,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
@@ -4780,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
@@ -4792,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
@@ -4875,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
@@ -4890,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
@@ -4918,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
@@ -4932,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
@@ -5003,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
@@ -5015,7 +5020,8 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACE_SINK is not set
# CONFIG_TRACING_EVENTS_GPIO is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TR is not set
CONFIG_TRUSTED_KEYS=m
# CONFIG_TS4800_IRQ is not set
@@ -5071,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
@@ -5088,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
@@ -5174,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
@@ -5321,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
@@ -5409,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
@@ -5459,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
@@ -5480,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
@@ -5516,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
@@ -5531,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
@@ -5555,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
@@ -5635,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 is not set
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index 59393dcba..47fadbda3 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
# CONFIG_AF_KCM is not set
# 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
@@ -604,6 +604,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -621,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
@@ -628,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
@@ -635,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
@@ -673,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
@@ -688,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
@@ -750,6 +744,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -765,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
@@ -913,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
@@ -941,6 +934,8 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_DEFXX is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
@@ -948,6 +943,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1017,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
@@ -1024,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
@@ -1060,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
@@ -1155,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
@@ -1180,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
@@ -1190,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
@@ -1222,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=""
@@ -1256,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
@@ -1274,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
@@ -1336,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
@@ -1382,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
@@ -1429,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
@@ -1449,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
@@ -1463,30 +1443,27 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1687,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
@@ -1722,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
@@ -1742,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
@@ -1769,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
@@ -1818,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
@@ -1834,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
@@ -1843,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
@@ -1851,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
@@ -1941,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
@@ -2090,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
@@ -2133,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
@@ -2286,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
@@ -2297,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
@@ -2350,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
@@ -2466,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
@@ -2499,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
@@ -2507,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
@@ -2589,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
@@ -2608,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
@@ -2654,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
@@ -2789,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
@@ -2807,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
@@ -2915,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
@@ -3048,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
@@ -3058,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
@@ -3110,8 +3094,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3237,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
@@ -3308,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
@@ -3379,6 +3367,7 @@ CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOZOMI=m
CONFIG_NR_CPUS=1024
+CONFIG_NR_DEV_DAX=32768
CONFIG_NR_IRQS=512
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3437,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
@@ -3495,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
@@ -3549,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
@@ -3557,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
@@ -3654,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
@@ -3670,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
@@ -3684,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
@@ -3737,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
@@ -3782,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
@@ -4262,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
@@ -4297,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
@@ -4305,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
@@ -4317,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
@@ -4382,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
@@ -4527,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
@@ -4578,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
@@ -4600,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
@@ -4632,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
@@ -4658,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
@@ -4701,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
@@ -4718,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
@@ -4732,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
@@ -4744,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
@@ -4827,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
@@ -4842,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
@@ -4870,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
@@ -4884,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
@@ -4955,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
@@ -4967,7 +4973,8 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACE_SINK is not set
# CONFIG_TRACING_EVENTS_GPIO is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TR is not set
CONFIG_TRUSTED_KEYS=m
# CONFIG_TS4800_IRQ is not set
@@ -5023,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
@@ -5040,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
@@ -5126,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
@@ -5273,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
@@ -5361,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
@@ -5411,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
@@ -5432,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
@@ -5468,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
@@ -5483,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
@@ -5507,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
@@ -5581,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 793914ca6..ebfead87c 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
# CONFIG_AF_KCM is not set
# 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
@@ -604,6 +603,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -621,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
@@ -628,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
@@ -635,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
@@ -673,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
@@ -688,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
@@ -749,6 +742,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -764,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
@@ -905,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
@@ -932,6 +924,8 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_DEFXX is not set
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
@@ -939,6 +933,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1007,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
@@ -1014,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
@@ -1050,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
@@ -1145,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
@@ -1170,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
@@ -1180,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
@@ -1212,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=""
@@ -1239,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
@@ -1257,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
@@ -1319,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
@@ -1365,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
@@ -1412,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
@@ -1432,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
@@ -1446,30 +1425,27 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1670,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
@@ -1705,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
@@ -1725,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
@@ -1752,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
@@ -1801,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
@@ -1817,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
@@ -1826,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
@@ -1834,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
@@ -1924,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
@@ -2073,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
@@ -2116,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
@@ -2267,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
@@ -2278,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
@@ -2331,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
@@ -2447,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
@@ -2480,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
@@ -2488,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
@@ -2569,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
@@ -2588,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
@@ -2634,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
@@ -2768,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
@@ -2786,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
@@ -2894,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
@@ -3027,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
@@ -3037,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
@@ -3089,8 +3072,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3216,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
@@ -3287,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
@@ -3358,6 +3345,7 @@ CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOZOMI=m
CONFIG_NR_CPUS=1024
+CONFIG_NR_DEV_DAX=32768
CONFIG_NR_IRQS=512
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3416,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
@@ -3474,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
@@ -3528,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
@@ -3536,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
@@ -3633,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
@@ -3648,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
@@ -3662,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
@@ -3715,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
@@ -3760,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
@@ -4240,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
@@ -4275,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
@@ -4283,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
@@ -4295,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
@@ -4360,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
@@ -4504,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
@@ -4555,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
@@ -4577,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
@@ -4609,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
@@ -4635,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
@@ -4678,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
@@ -4695,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
@@ -4709,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
@@ -4721,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
@@ -4804,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
@@ -4819,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
@@ -4847,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
@@ -4861,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
@@ -4932,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
@@ -4944,7 +4949,8 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACE_SINK is not set
# CONFIG_TRACING_EVENTS_GPIO is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TR is not set
CONFIG_TRUSTED_KEYS=m
# CONFIG_TS4800_IRQ is not set
@@ -5000,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
@@ -5017,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
@@ -5103,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
@@ -5250,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
@@ -5338,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
@@ -5388,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
@@ -5409,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
@@ -5445,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
@@ -5460,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
@@ -5484,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
@@ -5558,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 is not set
diff --git a/kernel-ppc64p7-debug.config b/kernel-ppc64p7-debug.config
index 66f831cb8..896b8132b 100644
--- a/kernel-ppc64p7-debug.config
+++ b/kernel-ppc64p7-debug.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
# CONFIG_AF_KCM is not set
# 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
@@ -604,6 +604,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -621,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
@@ -628,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
@@ -635,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
@@ -673,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
@@ -688,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
@@ -750,6 +744,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -765,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
@@ -913,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
@@ -941,6 +934,8 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_DEFXX is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
@@ -948,6 +943,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1016,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
@@ -1023,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
@@ -1059,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
@@ -1154,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
@@ -1179,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
@@ -1189,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
@@ -1221,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=""
@@ -1255,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
@@ -1273,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
@@ -1335,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
@@ -1381,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
@@ -1428,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
@@ -1448,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
@@ -1462,30 +1442,27 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1686,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
@@ -1721,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
@@ -1741,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
@@ -1768,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
@@ -1817,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
@@ -1833,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
@@ -1842,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
@@ -1850,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
@@ -1940,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
@@ -2089,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
@@ -2132,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
@@ -2285,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
@@ -2296,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
@@ -2349,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
@@ -2465,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
@@ -2498,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
@@ -2506,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
@@ -2588,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
@@ -2607,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
@@ -2653,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
@@ -2788,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
@@ -2806,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
@@ -2914,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
@@ -3047,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
@@ -3057,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
@@ -3109,8 +3093,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3236,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
@@ -3307,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
@@ -3378,6 +3366,7 @@ CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOZOMI=m
CONFIG_NR_CPUS=1024
+CONFIG_NR_DEV_DAX=32768
CONFIG_NR_IRQS=512
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3436,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
@@ -3494,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
@@ -3548,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
@@ -3556,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
@@ -3653,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
@@ -3669,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
@@ -3683,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
@@ -3736,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
@@ -3781,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
@@ -4261,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
@@ -4296,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
@@ -4304,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
@@ -4316,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
@@ -4381,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
@@ -4526,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
@@ -4577,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
@@ -4599,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
@@ -4631,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
@@ -4657,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
@@ -4700,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
@@ -4717,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
@@ -4731,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
@@ -4743,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
@@ -4826,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
@@ -4841,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
@@ -4869,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
@@ -4883,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
@@ -4954,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
@@ -4966,7 +4972,8 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACE_SINK is not set
# CONFIG_TRACING_EVENTS_GPIO is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TR is not set
CONFIG_TRUSTED_KEYS=m
# CONFIG_TS4800_IRQ is not set
@@ -5022,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
@@ -5039,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
@@ -5125,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
@@ -5272,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
@@ -5360,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
@@ -5410,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
@@ -5431,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
@@ -5467,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
@@ -5482,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
@@ -5506,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
@@ -5580,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 c5ed24d48..a3cb93cdc 100644
--- a/kernel-ppc64p7.config
+++ b/kernel-ppc64p7.config
@@ -122,7 +122,7 @@ CONFIG_AFFS_FS=m
# CONFIG_AF_KCM is not set
# 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
@@ -604,6 +603,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -621,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
@@ -628,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
@@ -635,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
@@ -673,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
@@ -688,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
@@ -749,6 +742,7 @@ CONFIG_CRC_T10DIF=y
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -764,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
@@ -905,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
@@ -932,6 +924,8 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_DEFXX is not set
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
@@ -939,6 +933,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1006,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
@@ -1013,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
@@ -1049,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
@@ -1144,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
@@ -1169,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
@@ -1179,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
@@ -1211,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=""
@@ -1238,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
@@ -1256,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
@@ -1318,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
@@ -1364,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
@@ -1411,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
@@ -1431,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
@@ -1445,30 +1424,27 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
CONFIG_GPIO_WM831X=m
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1669,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
@@ -1704,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
@@ -1724,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
@@ -1751,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
@@ -1800,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
@@ -1816,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
@@ -1825,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
@@ -1833,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
@@ -1923,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
@@ -2072,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
@@ -2115,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
@@ -2266,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
@@ -2277,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
@@ -2330,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
@@ -2446,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
@@ -2479,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
@@ -2487,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
@@ -2568,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
@@ -2587,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
@@ -2633,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
@@ -2767,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
@@ -2785,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
@@ -2893,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
@@ -3026,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
@@ -3036,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
@@ -3088,8 +3071,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3215,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
@@ -3286,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
@@ -3357,6 +3344,7 @@ CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOZOMI=m
CONFIG_NR_CPUS=1024
+CONFIG_NR_DEV_DAX=32768
CONFIG_NR_IRQS=512
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3415,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
@@ -3473,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
@@ -3527,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
@@ -3535,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
@@ -3632,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
@@ -3647,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
@@ -3661,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
@@ -3714,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
@@ -3759,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
@@ -4239,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
@@ -4274,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
@@ -4282,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
@@ -4294,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
@@ -4359,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
@@ -4503,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
@@ -4554,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
@@ -4576,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
@@ -4608,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
@@ -4634,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
@@ -4677,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
@@ -4694,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
@@ -4708,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
@@ -4720,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
@@ -4803,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
@@ -4818,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
@@ -4846,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
@@ -4860,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
@@ -4931,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
@@ -4943,7 +4948,8 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACE_SINK is not set
# CONFIG_TRACING_EVENTS_GPIO is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TR is not set
CONFIG_TRUSTED_KEYS=m
# CONFIG_TS4800_IRQ is not set
@@ -4999,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
@@ -5016,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
@@ -5102,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
@@ -5249,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
@@ -5337,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
@@ -5387,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
@@ -5408,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
@@ -5444,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
@@ -5459,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
@@ -5483,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
@@ -5557,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 is not set
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index 773f0b4ef..49c17079c 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
@@ -602,6 +602,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -619,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
@@ -626,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
@@ -633,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
@@ -673,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
@@ -684,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
@@ -746,6 +740,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_S390=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -761,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
@@ -911,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
@@ -945,6 +938,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -958,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
@@ -991,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
@@ -1014,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
@@ -1021,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
@@ -1057,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
@@ -1151,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
@@ -1164,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
@@ -1175,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
@@ -1184,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
@@ -1200,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
@@ -1217,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=""
@@ -1248,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
@@ -1264,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
@@ -1319,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
@@ -1329,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
@@ -1362,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
@@ -1403,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
@@ -1422,42 +1400,38 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
-# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
-CONFIG_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1507,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
@@ -1516,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
@@ -1638,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
@@ -1646,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
@@ -1663,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
@@ -1695,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
@@ -1722,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
@@ -1759,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
@@ -1769,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
@@ -1785,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
@@ -1794,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
@@ -1802,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
@@ -1813,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
@@ -1848,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
@@ -1867,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
@@ -1878,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
@@ -1892,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
@@ -1906,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
@@ -2040,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
@@ -2081,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
@@ -2121,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
@@ -2159,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
@@ -2233,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
@@ -2244,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
@@ -2292,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
@@ -2406,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
@@ -2438,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
@@ -2446,10 +2425,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARCH_ZEC12=y
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
@@ -2503,11 +2484,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
@@ -2526,7 +2507,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
@@ -2544,7 +2524,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
@@ -2591,7 +2572,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
@@ -2650,7 +2630,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
@@ -2726,7 +2706,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
@@ -2742,6 +2721,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
@@ -2846,12 +2826,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
@@ -2979,6 +2960,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
@@ -2990,13 +2972,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
@@ -3036,26 +3018,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_ALTEON is not set
# CONFIG_NET_VENDOR_AMAZON is not set
-CONFIG_NET_VENDOR_AMD=y
+# 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
@@ -3064,43 +3047,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
@@ -3165,6 +3148,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
@@ -3236,9 +3221,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
@@ -3305,7 +3291,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
@@ -3364,6 +3350,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
@@ -3421,6 +3408,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
@@ -3441,7 +3429,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
@@ -3477,6 +3465,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
@@ -3485,6 +3475,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
@@ -3496,7 +3487,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
@@ -3512,11 +3503,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
@@ -3546,6 +3537,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
@@ -3560,6 +3552,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
@@ -3569,18 +3562,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
@@ -3603,7 +3597,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
@@ -3630,7 +3624,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
@@ -3674,6 +3667,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
@@ -3685,15 +3679,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
@@ -3907,51 +3902,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
@@ -3960,28 +3955,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
@@ -3989,22 +3984,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
@@ -4057,10 +4052,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
@@ -4093,8 +4088,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
@@ -4161,6 +4156,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
@@ -4170,7 +4166,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
@@ -4196,6 +4192,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
@@ -4204,6 +4201,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
@@ -4215,13 +4213,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
@@ -4236,13 +4236,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
@@ -4276,6 +4276,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
@@ -4422,7 +4423,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
@@ -4473,6 +4474,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
@@ -4495,6 +4497,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
@@ -4527,7 +4530,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
@@ -4553,6 +4555,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
@@ -4593,6 +4596,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
@@ -4611,6 +4615,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
@@ -4625,10 +4630,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
@@ -4637,7 +4638,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
@@ -4718,8 +4718,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
@@ -4733,9 +4731,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
@@ -4761,6 +4761,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
@@ -4775,9 +4776,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
@@ -4852,6 +4855,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
@@ -4902,7 +4906,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
@@ -4918,7 +4922,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
@@ -4935,6 +4939,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
@@ -5019,6 +5024,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
@@ -5163,6 +5169,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
@@ -5251,6 +5258,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
@@ -5301,6 +5309,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
@@ -5322,7 +5331,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
@@ -5358,6 +5366,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
@@ -5375,8 +5384,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
@@ -5398,6 +5405,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
@@ -5426,7 +5434,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
@@ -5471,6 +5479,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
@@ -5488,7 +5497,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 a46da965f..afaecb425 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
@@ -602,6 +601,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -619,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
@@ -626,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
@@ -633,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
@@ -673,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
@@ -684,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
@@ -745,6 +738,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_S390=m
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
@@ -760,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
@@ -903,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
@@ -936,6 +928,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -949,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
@@ -981,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
@@ -1004,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
@@ -1011,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
@@ -1047,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
@@ -1141,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
@@ -1154,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
@@ -1165,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
@@ -1174,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
@@ -1190,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
@@ -1207,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=""
@@ -1231,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
@@ -1247,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
@@ -1302,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
@@ -1312,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
@@ -1345,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
@@ -1386,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
@@ -1405,42 +1382,38 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
-# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_CS5535 is not set
# CONFIG_GPIO_DWAPB is not set
+CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
# CONFIG_GPIO_IT87 is not set
-CONFIG_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_MPC8XXX is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_WATCHDOG is not set
# CONFIG_GPIO_WS16C48 is not set
# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_ZX is not set
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1490,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
@@ -1499,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
@@ -1621,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
@@ -1629,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
@@ -1646,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
@@ -1678,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
@@ -1705,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
@@ -1742,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
@@ -1752,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
@@ -1768,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
@@ -1777,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
@@ -1785,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
@@ -1796,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
@@ -1831,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
@@ -1850,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
@@ -1861,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
@@ -1875,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
@@ -1889,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
@@ -2023,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
@@ -2064,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
@@ -2104,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
@@ -2142,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
@@ -2214,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
@@ -2225,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
@@ -2273,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
@@ -2387,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
@@ -2419,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
@@ -2427,10 +2405,12 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARCH_ZEC12=y
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
@@ -2483,11 +2463,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
@@ -2506,7 +2486,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
@@ -2524,7 +2503,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
@@ -2571,7 +2551,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
@@ -2630,7 +2609,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
@@ -2705,7 +2684,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
@@ -2721,6 +2699,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
@@ -2825,12 +2804,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
@@ -2958,6 +2938,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
@@ -2969,13 +2950,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
@@ -3015,26 +2996,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_ALTEON is not set
# CONFIG_NET_VENDOR_AMAZON is not set
-CONFIG_NET_VENDOR_AMD=y
+# 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
@@ -3043,43 +3025,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
@@ -3144,6 +3126,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
@@ -3215,9 +3199,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
@@ -3284,7 +3269,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
@@ -3343,6 +3328,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
@@ -3400,6 +3386,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
@@ -3420,7 +3407,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
@@ -3456,6 +3443,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
@@ -3464,6 +3453,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
@@ -3475,7 +3465,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
@@ -3491,11 +3481,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
@@ -3525,6 +3515,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
@@ -3538,6 +3529,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
@@ -3547,18 +3539,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
@@ -3581,7 +3574,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
@@ -3608,7 +3601,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
@@ -3652,6 +3644,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
@@ -3663,15 +3656,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
@@ -3885,51 +3879,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
@@ -3938,28 +3932,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
@@ -3967,22 +3961,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
@@ -4035,10 +4029,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
@@ -4071,8 +4065,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
@@ -4139,6 +4133,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
@@ -4148,7 +4143,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
@@ -4174,6 +4169,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
@@ -4182,6 +4178,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
@@ -4193,13 +4190,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
@@ -4214,13 +4213,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
@@ -4254,6 +4253,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
@@ -4399,7 +4399,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
@@ -4450,6 +4450,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
@@ -4472,6 +4473,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
@@ -4504,7 +4506,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
@@ -4530,6 +4531,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
@@ -4570,6 +4572,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
@@ -4588,6 +4591,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
@@ -4602,10 +4606,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
@@ -4614,7 +4614,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
@@ -4695,8 +4694,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
@@ -4710,9 +4707,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
@@ -4738,6 +4737,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
@@ -4752,9 +4752,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
@@ -4829,6 +4831,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
@@ -4879,7 +4882,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
@@ -4895,7 +4898,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
@@ -4912,6 +4915,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
@@ -4996,6 +5000,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
@@ -5140,6 +5145,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
@@ -5228,6 +5234,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
@@ -5278,6 +5285,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
@@ -5299,7 +5307,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
@@ -5335,6 +5342,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
@@ -5352,8 +5360,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
@@ -5375,6 +5381,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
@@ -5403,7 +5410,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
@@ -5448,6 +5455,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 is not set
@@ -5465,7 +5473,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 f00a23b9d..905bb6af4 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
@@ -665,6 +665,7 @@ CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -682,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
@@ -689,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
@@ -696,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
@@ -736,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
@@ -749,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
@@ -815,6 +809,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
@@ -838,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
@@ -1008,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
@@ -1054,6 +1048,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1127,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
@@ -1137,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
@@ -1152,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
@@ -1176,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
@@ -1270,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
@@ -1309,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
@@ -1322,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
@@ -1344,10 +1343,10 @@ 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
+CONFIG_ENA_ETHERNET=m
# CONFIG_ENC28J60 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_ENCRYPTED_KEYS=y
@@ -1376,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=""
@@ -1425,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
@@ -1524,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
@@ -1598,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
@@ -1617,13 +1618,14 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1633,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
@@ -1645,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
@@ -1841,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
@@ -1882,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
@@ -1980,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
@@ -1996,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
@@ -2005,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
@@ -2013,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
@@ -2141,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
@@ -2290,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
@@ -2337,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
@@ -2493,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
@@ -2504,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
@@ -2556,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
@@ -2672,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
@@ -2705,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
@@ -2712,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
@@ -2793,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
@@ -2812,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
@@ -2861,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
@@ -3019,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
@@ -3133,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
@@ -3266,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
@@ -3276,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
@@ -3329,8 +3347,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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
@@ -3455,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
@@ -3526,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
@@ -3674,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
@@ -3731,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
@@ -3797,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
@@ -3808,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
@@ -3876,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
@@ -3891,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
@@ -3909,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
@@ -3962,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
@@ -4009,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
@@ -4496,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
@@ -4532,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
@@ -4551,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
@@ -4599,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
@@ -4619,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
@@ -4764,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
@@ -4796,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
@@ -4834,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
@@ -4889,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
@@ -4912,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
@@ -4967,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
@@ -4984,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
@@ -4998,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
@@ -5010,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
@@ -5094,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
@@ -5109,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
@@ -5143,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
@@ -5157,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
@@ -5233,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
@@ -5301,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
@@ -5318,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
@@ -5402,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
@@ -5546,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
@@ -5636,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
@@ -5688,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
@@ -5709,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
@@ -5746,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
@@ -5790,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
@@ -5862,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 81a2dfb5d..4c24a5330 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
@@ -665,6 +664,7 @@ CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
+CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
@@ -682,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
@@ -689,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
@@ -696,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
@@ -736,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
@@ -749,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
@@ -814,6 +807,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_TI=m
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_ANSI_CPRNG=m
@@ -837,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
@@ -1000,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
@@ -1045,6 +1038,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
+# CONFIG_DEVPORT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
# CONFIG_DGAP is not set
@@ -1117,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
@@ -1127,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
@@ -1142,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
@@ -1166,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
@@ -1260,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
@@ -1299,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
@@ -1312,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
@@ -1334,10 +1332,10 @@ 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
+CONFIG_ENA_ETHERNET=m
# CONFIG_ENC28J60 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_ENCRYPTED_KEYS=y
@@ -1366,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=""
@@ -1408,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
@@ -1507,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
@@ -1581,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
@@ -1600,13 +1600,14 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SX150X is not set
# CONFIG_GPIO_SYSCON is not set
-CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1616,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
@@ -1628,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
@@ -1824,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
@@ -1865,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
@@ -1963,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
@@ -1979,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
@@ -1988,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
@@ -1996,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
@@ -2124,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
@@ -2273,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
@@ -2320,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
@@ -2474,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
@@ -2485,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
@@ -2537,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
@@ -2653,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
@@ -2686,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
@@ -2693,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
@@ -2774,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
@@ -2793,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
@@ -2842,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
@@ -3000,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
@@ -3114,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
@@ -3247,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
@@ -3257,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
@@ -3310,8 +3327,9 @@ CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_NET_VENDOR_ALACRITECH is not set
CONFIG_NET_VENDOR_ALTEON=y
-# CONFIG_NET_VENDOR_AMAZON is not set
+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 +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
@@ -3507,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
@@ -3655,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
@@ -3712,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
@@ -3778,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
@@ -3789,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
@@ -3857,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
@@ -3871,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
@@ -3889,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
@@ -3942,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
@@ -3989,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
@@ -4476,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
@@ -4512,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
@@ -4531,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
@@ -4579,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
@@ -4599,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
@@ -4743,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
@@ -4775,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
@@ -4813,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
@@ -4868,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
@@ -4891,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
@@ -4946,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
@@ -4963,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
@@ -4977,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
@@ -4989,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
@@ -5073,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
@@ -5088,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
@@ -5122,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
@@ -5136,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
@@ -5212,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
@@ -5280,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
@@ -5297,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
@@ -5381,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
@@ -5525,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
@@ -5615,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
@@ -5667,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
@@ -5688,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
@@ -5725,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
@@ -5769,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
@@ -5841,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 3bf66240b..506b4307f 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -48,13 +48,13 @@ Summary: The Linux kernel
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 10
+%define base_sublevel 11
## If this is a released kernel ##
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 3
+%define stable_update 1
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -183,6 +183,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
@@ -216,7 +219,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
@@ -326,7 +329,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
@@ -361,7 +364,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}
@@ -382,7 +385,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
@@ -407,7 +410,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
@@ -487,8 +490,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}
@@ -515,31 +525,42 @@ 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
+
+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
-# Fix RPi3 from crashing. Nowhere near a final fix but provides breathing room while that is sorted
-# https://github.com/anholt/linux/issues/89
-Patch434: 0001-i2c-bcm2835-Debug-test-for-curr_msg.patch
+# bcm283x mmc for wifi http://www.spinics.net/lists/arm-kernel/msg567077.html
+Patch434: bcm283x-mmc-bcm2835.patch
# Upstream fixes for i2c/serial/ethernet MAC addresses
Patch435: bcm283x-fixes.patch
+# https://lists.freedesktop.org/archives/dri-devel/2017-February/133823.html
Patch436: vc4-fix-vblank-cursor-update-issue.patch
-# http://www.spinics.net/lists/arm-kernel/msg552554.html
+Patch437: bcm283x-hdmi-audio.patch
+
+# https://www.spinics.net/lists/arm-kernel/msg554183.html
Patch438: arm-imx6-hummingboard2.patch
+# https://lkml.org/lkml/2017/4/4/316
+Patch339: media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
+
+Patch440: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
+
Patch460: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
Patch466: input-kill-stupid-messages.patch
@@ -594,26 +615,14 @@ Patch509: MODSIGN-Don-t-try-secure-boot-if-EFI-runtime-is-disa.patch
#CVE-2016-3134 rhbz 1317383 1317384
Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch
-#ongoing complaint, full discussion delayed until ksummit/plumbers
-Patch849: 0001-iio-Use-event-header-from-kernel-tree.patch
+#rhbz 1435154
+Patch666: powerpc-prom-Increase-RMA-size-to-512MB.patch
-# Fix build issue with armada_trace
-Patch851: Armada-trace-build-fix.patch
+# CVE-2017-7645 rhbz 1443615 1443617
+Patch667: CVE-2017-7645.patch
-# selinux: allow context mounts on tmpfs, ramfs, devpts within user namespaces
-Patch852: selinux-allow-context-mounts-on-tmpfs-etc.patch
-
-# See http://lists.infradead.org/pipermail/linux-arm-kernel/2016-October/461597.html
-Patch853: 0001-Work-around-for-gcc7-and-arm64.patch
-
-#CVE-2017-2596 rhbz 1417812 1417813
-Patch854: kvm-fix-page-struct-leak-in-handle_vmon.patch
-
-#CVE-2017-6353 rhbz 1428907 1428910
-Patch855: sctp-deny-peeloff-operation-on-asocs-with-threads-sl.patch
-
-#CVE-2017-6874 rhbz 1432429 1432430
-Patch856: ucount-Remove-the-atomicity-from-ucount-count.patch
+# CVE-2017-7477 rhbz 1445207 1445208
+Patch668: CVE-2017-7477.patch
# END OF PATCH DEFINITIONS
@@ -1214,18 +1223,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
@@ -2184,6 +2188,9 @@ fi
#
#
%changelog
+* Mon May 15 2017 Laura Abbott <labbott@fedoraproject.org>
+- Linux v4.11.1 rebase
+
* Wed Mar 15 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.10.3-200
- Linux v4.10.3
- CVE-2017-6874 Fix race condition in ucount.c (rhbz 1432429 1432430)
diff --git a/kvm-fix-page-struct-leak-in-handle_vmon.patch b/kvm-fix-page-struct-leak-in-handle_vmon.patch
deleted file mode 100644
index b29bcea03..000000000
--- a/kvm-fix-page-struct-leak-in-handle_vmon.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From patchwork Tue Jan 24 10:56:21 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: kvm: fix page struct leak in handle_vmon
-From: Paolo Bonzini <pbonzini@redhat.com>
-X-Patchwork-Id: 9534885
-Message-Id: <1485255381-18069-1-git-send-email-pbonzini@redhat.com>
-To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org
-Cc: dvyukov@google.com
-Date: Tue, 24 Jan 2017 11:56:21 +0100
-
-handle_vmon gets a reference on VMXON region page,
-but does not release it. Release the reference.
-
-Found by syzkaller; based on a patch by Dmitry.
-
-Reported-by: Dmitry Vyukov <dvyukov@google.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-Reviewed-by: David Hildenbrand <david@redhat.com>
----
- arch/x86/kvm/vmx.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
-index 42cc3d6f4d20..0f7345035210 100644
---- a/arch/x86/kvm/vmx.c
-+++ b/arch/x86/kvm/vmx.c
-@@ -7085,13 +7085,18 @@ static int nested_vmx_check_vmptr(struct kvm_vcpu *vcpu, int exit_reason,
- }
-
- page = nested_get_page(vcpu, vmptr);
-- if (page == NULL ||
-- *(u32 *)kmap(page) != VMCS12_REVISION) {
-+ if (page == NULL) {
- nested_vmx_failInvalid(vcpu);
-+ return kvm_skip_emulated_instruction(vcpu);
-+ }
-+ if (*(u32 *)kmap(page) != VMCS12_REVISION) {
- kunmap(page);
-+ nested_release_page_clean(page);
-+ nested_vmx_failInvalid(vcpu);
- return kvm_skip_emulated_instruction(vcpu);
- }
- kunmap(page);
-+ nested_release_page_clean(page);
- vmx->nested.vmxon_ptr = vmptr;
- break;
- case EXIT_REASON_VMCLEAR:
diff --git a/kvm-vmx-more-complete-state-update-on-APICv-on-off.patch b/kvm-vmx-more-complete-state-update-on-APICv-on-off.patch
deleted file mode 100644
index 67043300c..000000000
--- a/kvm-vmx-more-complete-state-update-on-APICv-on-off.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From: Roman Kagan <rkagan@virtuozzo.com>
-Subject: [PATCH v3] kvm:vmx: more complete state update on APICv on/off
-Date: 2016-05-18 14:48:20 GMT (1 day, 21 hours and 23 minutes ago)
-
-The function to update APICv on/off state (in particular, to deactivate
-it when enabling Hyper-V SynIC), used to be incomplete: it didn't adjust
-APICv-related fields among secondary processor-based VM-execution
-controls.
-
-As a result, Windows 2012 guests would get stuck when SynIC-based
-auto-EOI interrupt intersected with e.g. an IPI in the guest.
-
-In addition, the MSR intercept bitmap wasn't updated to correspond to
-whether "virtualize x2APIC mode" was enabled. This path used not to be
-triggered, since Windows didn't use x2APIC but rather their own
-synthetic APIC access MSRs; however it represented a security risk
-because the guest running in a SynIC-enabled VM could switch to x2APIC
-and thus obtain direct access to host APIC MSRs (thanks to Yang Zhang
-<yang.zhang.wz@gmail.com> for spotting this).
-
-The patch fixes those omissions.
-
-Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
-Cc: Steve Rutherford <srutherford@google.com>
-Cc: Yang Zhang <yang.zhang.wz@gmail.com>
----
-v2 -> v3:
- - only switch to x2apic msr bitmap if virtualize x2apic mode is on in vmcs
-
-v1 -> v2:
- - only update relevant bits in the secondary exec control
- - update msr intercept bitmap (also make x2apic msr bitmap always
- correspond to APICv)
-
- arch/x86/kvm/vmx.c | 48 ++++++++++++++++++++++++++++++------------------
- 1 file changed, 30 insertions(+), 18 deletions(-)
-
-diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
-index ee1c8a9..cef741a 100644
---- a/arch/x86/kvm/vmx.c
-+++ b/arch/x86/kvm/vmx.c
-@@ -2418,7 +2418,9 @@ static void vmx_set_msr_bitmap(struct kvm_vcpu *vcpu)
-
- if (is_guest_mode(vcpu))
- msr_bitmap = vmx_msr_bitmap_nested;
-- else if (vcpu->arch.apic_base & X2APIC_ENABLE) {
-+ else if (cpu_has_secondary_exec_ctrls() &&
-+ (vmcs_read32(SECONDARY_VM_EXEC_CONTROL) &
-+ SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)) {
- if (is_long_mode(vcpu))
- msr_bitmap = vmx_msr_bitmap_longmode_x2apic;
- else
-@@ -4783,6 +4785,19 @@ static void vmx_refresh_apicv_exec_ctrl(struct kvm_vcpu *vcpu)
- struct vcpu_vmx *vmx = to_vmx(vcpu);
-
- vmcs_write32(PIN_BASED_VM_EXEC_CONTROL, vmx_pin_based_exec_ctrl(vmx));
-+ if (cpu_has_secondary_exec_ctrls()) {
-+ if (kvm_vcpu_apicv_active(vcpu))
-+ vmcs_set_bits(SECONDARY_VM_EXEC_CONTROL,
-+ SECONDARY_EXEC_APIC_REGISTER_VIRT |
-+ SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY);
-+ else
-+ vmcs_clear_bits(SECONDARY_VM_EXEC_CONTROL,
-+ SECONDARY_EXEC_APIC_REGISTER_VIRT |
-+ SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY);
-+ }
-+
-+ if (cpu_has_vmx_msr_bitmap())
-+ vmx_set_msr_bitmap(vcpu);
- }
-
- static u32 vmx_exec_control(struct vcpu_vmx *vmx)
-@@ -6329,23 +6344,20 @@ static __init int hardware_setup(void)
-
- set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */
-
-- if (enable_apicv) {
-- for (msr = 0x800; msr <= 0x8ff; msr++)
-- vmx_disable_intercept_msr_read_x2apic(msr);
--
-- /* According SDM, in x2apic mode, the whole id reg is used.
-- * But in KVM, it only use the highest eight bits. Need to
-- * intercept it */
-- vmx_enable_intercept_msr_read_x2apic(0x802);
-- /* TMCCT */
-- vmx_enable_intercept_msr_read_x2apic(0x839);
-- /* TPR */
-- vmx_disable_intercept_msr_write_x2apic(0x808);
-- /* EOI */
-- vmx_disable_intercept_msr_write_x2apic(0x80b);
-- /* SELF-IPI */
-- vmx_disable_intercept_msr_write_x2apic(0x83f);
-- }
-+ for (msr = 0x800; msr <= 0x8ff; msr++)
-+ vmx_disable_intercept_msr_read_x2apic(msr);
-+
-+ /* According SDM, in x2apic mode, the whole id reg is used. But in
-+ * KVM, it only use the highest eight bits. Need to intercept it */
-+ vmx_enable_intercept_msr_read_x2apic(0x802);
-+ /* TMCCT */
-+ vmx_enable_intercept_msr_read_x2apic(0x839);
-+ /* TPR */
-+ vmx_disable_intercept_msr_write_x2apic(0x808);
-+ /* EOI */
-+ vmx_disable_intercept_msr_write_x2apic(0x80b);
-+ /* SELF-IPI */
-+ vmx_disable_intercept_msr_write_x2apic(0x83f);
-
- if (enable_ept) {
- kvm_mmu_set_mask_ptes(0ull,
---
-2.5.5
diff --git a/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch b/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
new file mode 100644
index 000000000..7a29d72bf
--- /dev/null
+++ b/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
@@ -0,0 +1,45 @@
+From patchwork Tue Apr 4 12:32:19 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [2/2, media] cec: Fix runtime BUG when (CONFIG_RC_CORE && !CEC_CAP_RC)
+From: Lee Jones <lee.jones@linaro.org>
+X-Patchwork-Id: 9661691
+Message-Id: <20170404123219.22040-2-lee.jones@linaro.org>
+To: hans.verkuil@cisco.com,
+ mchehab@kernel.org
+Cc: benjamin.gaignard@st.com, patrice.chotard@st.com,
+ linux-kernel@vger.kernel.org, kernel@stlinux.com,
+ Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org,
+ linux-media@vger.kernel.org
+Date: Tue, 4 Apr 2017 13:32:19 +0100
+
+Currently when the RC Core is enabled (reachable) core code located
+in cec_register_adapter() attempts to populate the RC structure with
+a pointer to the 'parent' passed in by the caller.
+
+Unfortunately if the caller did not specify RC capibility when calling
+cec_allocate_adapter(), then there will be no RC structure to populate.
+
+This causes a "NULL pointer dereference" error.
+
+Fixes: f51e80804f0 ("[media] cec: pass parent device in register(), not allocate()")
+Signed-off-by: Lee Jones <lee.jones@linaro.org>
+---
+ drivers/media/cec/cec-core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/media/cec/cec-core.c b/drivers/media/cec/cec-core.c
+index 06a312c..d64937b 100644
+--- a/drivers/media/cec/cec-core.c
++++ b/drivers/media/cec/cec-core.c
+@@ -286,8 +286,8 @@ int cec_register_adapter(struct cec_adapter *adap,
+ adap->devnode.dev.parent = parent;
+
+ #if IS_REACHABLE(CONFIG_RC_CORE)
+- adap->rc->dev.parent = parent;
+ if (adap->capabilities & CEC_CAP_RC) {
++ adap->rc->dev.parent = parent;
+ res = rc_register_device(adap->rc);
+
+ if (res) {
diff --git a/powerpc-prom-Increase-RMA-size-to-512MB.patch b/powerpc-prom-Increase-RMA-size-to-512MB.patch
new file mode 100644
index 000000000..422f0a9ec
--- /dev/null
+++ b/powerpc-prom-Increase-RMA-size-to-512MB.patch
@@ -0,0 +1,52 @@
+From patchwork Thu Mar 30 04:03:49 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: powerpc/prom: Increase RMA size to 512MB
+From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+X-Patchwork-Id: 745044
+Message-Id: <20170330040349.GA31756@us.ibm.com>
+To: Michael Ellerman <mpe@ellerman.id.au>
+Cc: praveen.pandey@in.ibm.com, linuxppc-dev@lists.ozlabs.org,
+ linux-kernel@vger.kernel.org
+Date: Wed, 29 Mar 2017 21:03:49 -0700
+
+>From 3ae8d1ed31b01b92b172fe20e4560cfbfab135ec Mon Sep 17 00:00:00 2001
+From: root <root@furatripa-lp2.aus.stglabs.ibm.com>
+Date: Mon, 27 Mar 2017 19:43:14 -0400
+Subject: [PATCH] powerpc/prom: Increase RMA size to 512MB
+
+When booting very large systems with a large initrd, we run out of
+space for either the RTAS or the flattened device tree (FDT). Boot
+fails with messages like:
+
+ Could not allocate memory for RTAS
+or
+ No memory for flatten_device_tree (no room)
+
+Increasing the minimum RMA size to 512MB fixes the problem. This
+should not have an impact on smaller LPARs (with 256MB memory),
+as the firmware will cap the RMA to the memory assigned to the LPAR.
+
+Fix is based on input/discussions with Michael Ellerman. Thanks to
+Praveen K. Pandey for testing on a large system.
+
+Reported-by: Praveen K. Pandey <preveen.pandey@in.ibm.com>
+Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
+---
+ arch/powerpc/kernel/prom_init.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
+index 1c1b44e..dd8a04f 100644
+--- a/arch/powerpc/kernel/prom_init.c
++++ b/arch/powerpc/kernel/prom_init.c
+@@ -815,7 +815,7 @@ struct ibm_arch_vec __cacheline_aligned ibm_architecture_vec = {
+ .virt_base = cpu_to_be32(0xffffffff),
+ .virt_size = cpu_to_be32(0xffffffff),
+ .load_base = cpu_to_be32(0xffffffff),
+- .min_rma = cpu_to_be32(256), /* 256MB min RMA */
++ .min_rma = cpu_to_be32(512), /* 512MB min RMA */
+ .min_load = cpu_to_be32(0xffffffff), /* full client load */
+ .min_rma_percent = 0, /* min RMA percentage of total RAM */
+ .max_pft_size = 48, /* max log_2(hash table size) */
diff --git a/sctp-deny-peeloff-operation-on-asocs-with-threads-sl.patch b/sctp-deny-peeloff-operation-on-asocs-with-threads-sl.patch
deleted file mode 100644
index 47f586ace..000000000
--- a/sctp-deny-peeloff-operation-on-asocs-with-threads-sl.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From dfcb9f4f99f1e9a49e43398a7bfbf56927544af1 Mon Sep 17 00:00:00 2001
-From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
-Date: Thu, 23 Feb 2017 09:31:18 -0300
-Subject: [PATCH] sctp: deny peeloff operation on asocs with threads sleeping
- on it
-
-commit 2dcab5984841 ("sctp: avoid BUG_ON on sctp_wait_for_sndbuf")
-attempted to avoid a BUG_ON call when the association being used for a
-sendmsg() is blocked waiting for more sndbuf and another thread did a
-peeloff operation on such asoc, moving it to another socket.
-
-As Ben Hutchings noticed, then in such case it would return without
-locking back the socket and would cause two unlocks in a row.
-
-Further analysis also revealed that it could allow a double free if the
-application managed to peeloff the asoc that is created during the
-sendmsg call, because then sctp_sendmsg() would try to free the asoc
-that was created only for that call.
-
-This patch takes another approach. It will deny the peeloff operation
-if there is a thread sleeping on the asoc, so this situation doesn't
-exist anymore. This avoids the issues described above and also honors
-the syscalls that are already being handled (it can be multiple sendmsg
-calls).
-
-Joint work with Xin Long.
-
-Fixes: 2dcab5984841 ("sctp: avoid BUG_ON on sctp_wait_for_sndbuf")
-Cc: Alexander Popov <alex.popov@linux.com>
-Cc: Ben Hutchings <ben@decadent.org.uk>
-Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
-Signed-off-by: Xin Long <lucien.xin@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/sctp/socket.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/net/sctp/socket.c b/net/sctp/socket.c
-index b532148..465a9c8 100644
---- a/net/sctp/socket.c
-+++ b/net/sctp/socket.c
-@@ -4862,6 +4862,12 @@ int sctp_do_peeloff(struct sock *sk, sctp_assoc_t id, struct socket **sockp)
- if (!asoc)
- return -EINVAL;
-
-+ /* If there is a thread waiting on more sndbuf space for
-+ * sending on this asoc, it cannot be peeled.
-+ */
-+ if (waitqueue_active(&asoc->wait))
-+ return -EBUSY;
-+
- /* An association cannot be branched off from an already peeled-off
- * socket, nor is this supported for tcp style sockets.
- */
-@@ -7599,8 +7605,6 @@ static int sctp_wait_for_sndbuf(struct sctp_association *asoc, long *timeo_p,
- */
- release_sock(sk);
- current_timeo = schedule_timeout(current_timeo);
-- if (sk != asoc->base.sk)
-- goto do_error;
- lock_sock(sk);
-
- *timeo_p = current_timeo;
---
-2.9.3
-
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 31283f04e..7b76f79ec 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.3.xz) = ad297c3c9d52c15444bb76b3be6785a99219527614f39e84299f2121f2657377de4145a9a0c649b3719462c48e8aae8686267a521ad9e58a0372df117edf7594
+SHA512 (perf-man-4.11.tar.gz) = 0b070d2f10a743329de2f532e2d7e19ef385a3e6ef3c700b591ae2697604dbe542b36e31121b3e37517ee8071ab800386fa8663c24a5b36520a18e096c6eefc8
+SHA512 (linux-4.11.tar.xz) = 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3
+SHA512 (patch-4.11.1.xz) = e6cc334312655e8992da8834d09561191482961862c9f7ef5db44e3327db9994bf258412294271db8c3badd04c309f6cf12d6608a15fccdeec4039f50756fea8
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/tipc-fix-an-infoleak-in-tipc_nl_compat_link_dump.patch b/tipc-fix-an-infoleak-in-tipc_nl_compat_link_dump.patch
deleted file mode 100644
index 9cd7c09a3..000000000
--- a/tipc-fix-an-infoleak-in-tipc_nl_compat_link_dump.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5d2be1422e02ccd697ccfcd45c85b4a26e6178e2 Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu@gmail.com>
-Date: Thu, 2 Jun 2016 04:04:56 -0400
-Subject: tipc: fix an infoleak in tipc_nl_compat_link_dump
-
-link_info.str is a char array of size 60. Memory after the NULL
-byte is not initialized. Sending the whole object out can cause
-a leak.
-
-Signed-off-by: Kangjie Lu <kjlu@gatech.edu>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/tipc/netlink_compat.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
-index f795b1d..3ad9fab 100644
---- a/net/tipc/netlink_compat.c
-+++ b/net/tipc/netlink_compat.c
-@@ -604,7 +604,8 @@ static int tipc_nl_compat_link_dump(struct tipc_nl_compat_msg *msg,
-
- link_info.dest = nla_get_flag(link[TIPC_NLA_LINK_DEST]);
- link_info.up = htonl(nla_get_flag(link[TIPC_NLA_LINK_UP]));
-- strcpy(link_info.str, nla_data(link[TIPC_NLA_LINK_NAME]));
-+ nla_strlcpy(link_info.str, nla_data(link[TIPC_NLA_LINK_NAME]),
-+ TIPC_MAX_LINK_NAME);
-
- return tipc_add_tlv(msg->rep, TIPC_TLV_LINK_INFO,
- &link_info, sizeof(link_info));
---
-cgit v0.12
-
diff --git a/ucount-Remove-the-atomicity-from-ucount-count.patch b/ucount-Remove-the-atomicity-from-ucount-count.patch
deleted file mode 100644
index 1b4e3c03f..000000000
--- a/ucount-Remove-the-atomicity-from-ucount-count.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 040757f738e13caaa9c5078bca79aa97e11dde88 Mon Sep 17 00:00:00 2001
-From: "Eric W. Biederman" <ebiederm@xmission.com>
-Date: Sun, 5 Mar 2017 15:03:22 -0600
-Subject: [PATCH] ucount: Remove the atomicity from ucount->count
-
-Always increment/decrement ucount->count under the ucounts_lock. The
-increments are there already and moving the decrements there means the
-locking logic of the code is simpler. This simplification in the
-locking logic fixes a race between put_ucounts and get_ucounts that
-could result in a use-after-free because the count could go zero then
-be found by get_ucounts and then be freed by put_ucounts.
-
-A bug presumably this one was found by a combination of syzkaller and
-KASAN. JongWhan Kim reported the syzkaller failure and Dmitry Vyukov
-spotted the race in the code.
-
-Cc: stable@vger.kernel.org
-Fixes: f6b2db1a3e8d ("userns: Make the count of user namespaces per user")
-Reported-by: JongHwan Kim <zzoru007@gmail.com>
-Reported-by: Dmitry Vyukov <dvyukov@google.com>
-Reviewed-by: Andrei Vagin <avagin@gmail.com>
-Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
----
- include/linux/user_namespace.h | 2 +-
- kernel/ucount.c | 18 +++++++++++-------
- 2 files changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
-index be76523..32354b4 100644
---- a/include/linux/user_namespace.h
-+++ b/include/linux/user_namespace.h
-@@ -72,7 +72,7 @@ struct ucounts {
- struct hlist_node node;
- struct user_namespace *ns;
- kuid_t uid;
-- atomic_t count;
-+ int count;
- atomic_t ucount[UCOUNT_COUNTS];
- };
-
-diff --git a/kernel/ucount.c b/kernel/ucount.c
-index 62630a4..b4eeee0 100644
---- a/kernel/ucount.c
-+++ b/kernel/ucount.c
-@@ -144,7 +144,7 @@ static struct ucounts *get_ucounts(struct user_namespace *ns, kuid_t uid)
-
- new->ns = ns;
- new->uid = uid;
-- atomic_set(&new->count, 0);
-+ new->count = 0;
-
- spin_lock_irq(&ucounts_lock);
- ucounts = find_ucounts(ns, uid, hashent);
-@@ -155,8 +155,10 @@ static struct ucounts *get_ucounts(struct user_namespace *ns, kuid_t uid)
- ucounts = new;
- }
- }
-- if (!atomic_add_unless(&ucounts->count, 1, INT_MAX))
-+ if (ucounts->count == INT_MAX)
- ucounts = NULL;
-+ else
-+ ucounts->count += 1;
- spin_unlock_irq(&ucounts_lock);
- return ucounts;
- }
-@@ -165,13 +167,15 @@ static void put_ucounts(struct ucounts *ucounts)
- {
- unsigned long flags;
-
-- if (atomic_dec_and_test(&ucounts->count)) {
-- spin_lock_irqsave(&ucounts_lock, flags);
-+ spin_lock_irqsave(&ucounts_lock, flags);
-+ ucounts->count -= 1;
-+ if (!ucounts->count)
- hlist_del_init(&ucounts->node);
-- spin_unlock_irqrestore(&ucounts_lock, flags);
-+ else
-+ ucounts = NULL;
-+ spin_unlock_irqrestore(&ucounts_lock, flags);
-
-- kfree(ucounts);
-- }
-+ kfree(ucounts);
- }
-
- static inline bool atomic_inc_below(atomic_t *v, int u)
---
-2.9.3
-