summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch90
-rw-r--r--0001-Bluetooth-btusb-Disable-autosuspend-on-QCA-Rome-devi.patch47
-rw-r--r--0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch106
-rw-r--r--0001-Temporarily-work-around-gcc-aliasing-warning-error.patch27
-rw-r--r--0001-ahci-Annotate-PCI-ids-for-mobile-Intel-chipsets-as-s.patch106
-rw-r--r--0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch99
-rw-r--r--0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch84
-rw-r--r--0002-ahci-Add-PCI-ids-for-Intel-Bay-Trail-Cherry-Trail-an.patch33
-rw-r--r--0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch78
-rw-r--r--0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch274
-rw-r--r--0010-Input-silead-Add-support-for-capactive-home-button-f.patch114
-rw-r--r--Add-option-to-automatically-enforce-module-signature.patch217
-rw-r--r--PatchList.txt102
-rw-r--r--arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch28
-rw-r--r--arm-imx6-hummingboard2.patch902
-rw-r--r--arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch146
-rw-r--r--arm64-socionext-96b-enablement.patch2679
-rw-r--r--baseconfig/CONFIG_ACPI_SPCR_TABLE1
-rw-r--r--baseconfig/CONFIG_ATH10K_SPECTRAL1
-rw-r--r--baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL1
-rw-r--r--baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION1
-rw-r--r--baseconfig/CONFIG_BPF_KPROBE_OVERRIDE1
-rw-r--r--baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND2
-rw-r--r--baseconfig/CONFIG_CHELSIO_IPSEC_INLINE1
-rw-r--r--baseconfig/CONFIG_CIFS_SMB_DIRECT1
-rw-r--r--baseconfig/CONFIG_DM_UNSTRIPED1
-rw-r--r--baseconfig/CONFIG_DRM_AMDGPU_SI2
-rw-r--r--baseconfig/CONFIG_DRM_I2C_ADV75112
-rw-r--r--baseconfig/CONFIG_DRM_I2C_ADV7511_CEC2
-rw-r--r--baseconfig/CONFIG_DRM_PANEL_ILITEK_IL93221
-rw-r--r--baseconfig/CONFIG_DVB_MMAP1
-rw-r--r--baseconfig/CONFIG_DVB_ULE_DEBUG1
-rw-r--r--baseconfig/CONFIG_FIND_BIT_BENCHMARK1
-rw-r--r--baseconfig/CONFIG_GPIO_PCIE_IDIO_241
-rw-r--r--baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK1
-rw-r--r--baseconfig/CONFIG_HID_JABRA1
-rw-r--r--baseconfig/CONFIG_HW_RANDOM_TPM2
-rw-r--r--baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER1
-rw-r--r--baseconfig/CONFIG_IP6_NF_MATCH_SRH1
-rw-r--r--baseconfig/CONFIG_IPX_INTERN1
-rw-r--r--baseconfig/CONFIG_LEDS_LM3692X1
-rw-r--r--baseconfig/CONFIG_LEDS_TRIGGER_NETDEV1
-rw-r--r--baseconfig/CONFIG_LIRC2
-rw-r--r--baseconfig/CONFIG_MELLANOX_PLATFORM1
-rw-r--r--baseconfig/CONFIG_MFD_RTSX_PCI1
-rw-r--r--baseconfig/CONFIG_MFD_RTSX_USB1
-rw-r--r--baseconfig/CONFIG_MISC_RTSX_PCI1
-rw-r--r--baseconfig/CONFIG_MISC_RTSX_USB1
-rw-r--r--baseconfig/CONFIG_MLXREG_HOTPLUG1
-rw-r--r--baseconfig/CONFIG_MMC_CQHCI1
-rw-r--r--baseconfig/CONFIG_MT76x2E1
-rw-r--r--baseconfig/CONFIG_NETDEVSIM1
-rw-r--r--baseconfig/CONFIG_NET_DSA_LEGACY1
-rw-r--r--baseconfig/CONFIG_NET_VENDOR_CORTINA1
-rw-r--r--baseconfig/CONFIG_NET_VENDOR_SOCIONEXT1
-rw-r--r--baseconfig/CONFIG_NFT_FLOW_OFFLOAD1
-rw-r--r--baseconfig/CONFIG_NF_FLOW_TABLE1
-rw-r--r--baseconfig/CONFIG_NF_FLOW_TABLE_INET1
-rw-r--r--baseconfig/CONFIG_NF_FLOW_TABLE_IPV41
-rw-r--r--baseconfig/CONFIG_NF_FLOW_TABLE_IPV61
-rw-r--r--baseconfig/CONFIG_PCIE_CADENCE_HOST1
-rw-r--r--baseconfig/CONFIG_PINCTRL_AXP2091
-rw-r--r--baseconfig/CONFIG_RAVE_SP_CORE1
-rw-r--r--baseconfig/CONFIG_RESET_HSDK_V11
-rw-r--r--baseconfig/CONFIG_RUNTIME_TESTING_MENU1
-rw-r--r--baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY2
-rw-r--r--baseconfig/CONFIG_SD_ADC_MODULATOR1
-rw-r--r--baseconfig/CONFIG_SENSORS_W83773G1
-rw-r--r--baseconfig/CONFIG_SIOX1
-rw-r--r--baseconfig/CONFIG_SLIMBUS1
-rw-r--r--baseconfig/CONFIG_SND_SOC_MAX983731
-rw-r--r--baseconfig/CONFIG_SND_SOC_PCM186X_I2C1
-rw-r--r--baseconfig/CONFIG_SND_SOC_PCM186X_SPI1
-rw-r--r--baseconfig/CONFIG_SND_SOC_TAS64241
-rw-r--r--baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C1
-rw-r--r--baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI1
-rw-r--r--baseconfig/CONFIG_SND_SOC_TSCS42XX1
-rw-r--r--baseconfig/CONFIG_SOUNDWIRE1
-rw-r--r--baseconfig/CONFIG_SOUNDWIRE_BUS1
-rw-r--r--baseconfig/CONFIG_SOUNDWIRE_CADENCE1
-rw-r--r--baseconfig/CONFIG_ST_UVIS251
-rw-r--r--baseconfig/CONFIG_ST_UVIS25_I2C1
-rw-r--r--baseconfig/CONFIG_ST_UVIS25_SPI1
-rw-r--r--baseconfig/CONFIG_TIMER_STATS1
-rw-r--r--baseconfig/CONFIG_UNISYS_VISORBUS1
-rw-r--r--baseconfig/CONFIG_USB_CHIPIDEA_ULPI1
-rw-r--r--baseconfig/CONFIG_USB_XHCI_DBGCAP1
-rw-r--r--baseconfig/CONFIG_VIRTIO_MENU1
-rw-r--r--baseconfig/CONFIG_XILINX_VCU1
-rw-r--r--baseconfig/CONFIG_ZOPT22011
-rw-r--r--baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ1
-rw-r--r--baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ2
-rw-r--r--baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS1
-rw-r--r--baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ (renamed from baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ)0
-rw-r--r--baseconfig/arm/CONFIG_CRYPTO_DEV_MV_CESA1
-rw-r--r--baseconfig/arm/CONFIG_DEBUG_WX1
-rw-r--r--baseconfig/arm/CONFIG_DRM_I2C_ADV75111
-rw-r--r--baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC1
-rw-r--r--baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL93221
-rw-r--r--baseconfig/arm/CONFIG_FTWDT010_WATCHDOG1
-rw-r--r--baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP1
-rw-r--r--baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR1
-rw-r--r--baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV1
-rw-r--r--baseconfig/arm/CONFIG_MTD_NAND_MARVELL1
-rw-r--r--baseconfig/arm/CONFIG_NCP_FS1
-rw-r--r--baseconfig/arm/CONFIG_PINCTRL_AXP2091
-rw-r--r--baseconfig/arm/CONFIG_PINCTRL_MSM89981
-rw-r--r--baseconfig/arm/CONFIG_QCOM_A53PLL1
-rw-r--r--baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM89161
-rw-r--r--baseconfig/arm/CONFIG_REFCOUNT_FULL (renamed from baseconfig/arm/aarch64/CONFIG_REFCOUNT_FULL)0
-rw-r--r--baseconfig/arm/CONFIG_RTC_DRV_CROS_EC1
-rw-r--r--baseconfig/arm/CONFIG_SATA_SIL241
-rw-r--r--baseconfig/arm/CONFIG_SD_ADC_MODULATOR1
-rw-r--r--baseconfig/arm/CONFIG_SLIMBUS1
-rw-r--r--baseconfig/arm/CONFIG_SLIM_QCOM_CTRL1
-rw-r--r--baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV1
-rw-r--r--baseconfig/arm/CONFIG_SUN8I_DE2_CCU2
-rw-r--r--baseconfig/arm/CONFIG_TEGRA_VDE1
-rw-r--r--baseconfig/arm/CONFIG_TINYDRM_ILI92251
-rw-r--r--baseconfig/arm/CONFIG_TINYDRM_ST7735R1
-rw-r--r--baseconfig/arm/CONFIG_USB_MUSB_SUNXI (renamed from baseconfig/arm/aarch64/CONFIG_USB_MUSB_SUNXI)0
-rw-r--r--baseconfig/arm/CONFIG_USB_OTG_FSM1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP2
-rw-r--r--baseconfig/arm/aarch64/CONFIG_ARM64_PMEM2
-rw-r--r--baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM641
-rw-r--r--baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_FB_XILINX1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_GPIO_MB86S7X1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI1
-rw-r--r--baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI36601
-rw-r--r--baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA1
-rw-r--r--baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ1
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC1
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC1
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP1
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR1
-rw-r--r--baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS1
-rw-r--r--baseconfig/arm/armv7/CONFIG_SUN8I_DE2_CCU1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_RESET_IMX71
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V21
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP2
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP2
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM1
-rw-r--r--baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI1
-rw-r--r--baseconfig/powerpc/CONFIG_OCXL1
-rw-r--r--baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG1
-rw-r--r--baseconfig/powerpc/CONFIG_PPC_MEM_KEYS1
-rw-r--r--baseconfig/s390x/CONFIG_EXPOLINE1
-rw-r--r--baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM1
-rw-r--r--baseconfig/s390x/CONFIG_KERNEL_NOBP1
-rw-r--r--baseconfig/s390x/CONFIG_MFD_RTSX_PCI1
-rw-r--r--baseconfig/s390x/CONFIG_MFD_RTSX_USB1
-rw-r--r--baseconfig/s390x/CONFIG_MISC_RTSX_PCI1
-rw-r--r--baseconfig/s390x/CONFIG_MISC_RTSX_USB1
-rw-r--r--baseconfig/x86/CONFIG_ACER_WIRELESS1
-rw-r--r--baseconfig/x86/CONFIG_DELL_SMBIOS_SMM2
-rw-r--r--baseconfig/x86/CONFIG_DELL_SMBIOS_WMI2
-rw-r--r--baseconfig/x86/CONFIG_GPD_POCKET_FAN1
-rw-r--r--baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN1
-rw-r--r--baseconfig/x86/CONFIG_KEXEC_SIG1
-rw-r--r--baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG1
-rw-r--r--baseconfig/x86/CONFIG_MLX_PLATFORM (renamed from baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM)0
-rw-r--r--baseconfig/x86/CONFIG_SD_ADC_MODULATOR1
-rw-r--r--baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL2
-rw-r--r--baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI1
-rw-r--r--baseconfig/x86/CONFIG_SOUNDWIRE_INTEL1
-rw-r--r--baseconfig/x86/CONFIG_VBOXGUEST1
-rw-r--r--baseconfig/x86/CONFIG_VIDEO_IPU3_CIO21
-rw-r--r--baseconfig/x86/CONFIG_VIRT_DRIVERS1
-rw-r--r--baseconfig/x86/CONFIG_X86_PMEM_LEGACY2
-rw-r--r--baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE1
-rw-r--r--baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_KEXEC_SIG1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV1
-rw-r--r--baseconfig/x86/x86_64/CONFIG_SND_HDA_POWER_SAVE_DEFAULT1
-rw-r--r--bcm2835-hwrng-Handle-deferred-clock-properly.patch42
-rw-r--r--bcm2837-enable-pmu.patch31
-rw-r--r--bcm2837-gpio-expander.patch707
-rw-r--r--bcm2837-lan78xx-fixes.patch108
-rw-r--r--bcm2837-rpi-initial-support-for-the-3.patch209
-rw-r--r--bcm283x-Fix-probing-of-bcm2835-i2s.patch118
-rw-r--r--bcm283x-clk-audio-fixes.patch98
-rw-r--r--debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION1
-rw-r--r--debugconfig/CONFIG_BPF_KPROBE_OVERRIDE1
-rw-r--r--debugconfig/CONFIG_FAIL_FUNCTION1
-rw-r--r--dma-buf-fix-reservation_object_wait_timeout_rcu-once-more-v2.patch62
-rw-r--r--efi-Add-EFI_SECURE_BOOT-bit.patch43
-rw-r--r--efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch58
-rw-r--r--efi-lockdown.patch1317
-rw-r--r--filter-aarch64.sh4
-rw-r--r--filter-armv7hl.sh4
-rw-r--r--filter-ppc64p7.sh14
-rw-r--r--kernel-aarch64-debug.config130
-rw-r--r--kernel-aarch64.config129
-rw-r--r--kernel-armv7hl-debug.config121
-rw-r--r--kernel-armv7hl-lpae-debug.config108
-rw-r--r--kernel-armv7hl-lpae.config109
-rw-r--r--kernel-armv7hl.config122
-rw-r--r--kernel-i686-PAE.config101
-rw-r--r--kernel-i686-PAEdebug.config102
-rw-r--r--kernel-i686-debug.config102
-rw-r--r--kernel-i686.config101
-rw-r--r--kernel-ppc64-debug.config84
-rw-r--r--kernel-ppc64.config83
-rw-r--r--kernel-ppc64le-debug.config84
-rw-r--r--kernel-ppc64le.config83
-rw-r--r--kernel-s390x-debug.config84
-rw-r--r--kernel-s390x.config83
-rw-r--r--kernel-x86_64-debug.config106
-rw-r--r--kernel-x86_64.config105
-rw-r--r--kernel.spec142
-rw-r--r--mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch37
-rw-r--r--prevent-bounds-check-bypass-via-speculative-execution.patch1105
-rw-r--r--sources3
-rw-r--r--sunrpc-remove-incorrect-HMAC-request-initialization.patch54
-rw-r--r--v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch2
-rw-r--r--wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch164
-rw-r--r--wcn36xx-reduce-verbosity-of-drivers-messages.patch95
238 files changed, 4802 insertions, 6778 deletions
diff --git a/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch b/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch
deleted file mode 100644
index 1f94c3d70..000000000
--- a/0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 20eeb02a0a489e35de0830b2d61f09d43763c982 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 13 Nov 2017 09:23:19 +0100
-Subject: [PATCH] Bluetooth: btusb: Add a Kconfig option to enable USB
- autosuspend by default
-
-On many laptops the btusb device is the only USB device not having USB
-autosuspend enabled, this causes not only the HCI but also the USB
-controller to stay awake, together using aprox. 0.4W of power.
-
-Modern ultrabooks idle around 6W (at 50% screen brightness), 3.5W for
-Apollo Lake devices. 0.4W is a significant chunk of this (7 / 11%).
-
-The btusb driver already contains code to allow enabling USB autosuspend,
-but currently leaves it up to the user / userspace to enable it. This
-means that for most people it will not be enabled, leading to an
-unnecessarily high power consumption.
-
-Since enabling it is not entirely without risk of regressions, this
-commit adds a Kconfig option so that Linux distributions can choose to
-enable it by default. This commit also adds a module option so that when
-distros receive bugs they can easily ask the user to disable it again
-for easy debugging.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
-Changes in v2:
--s/BT_USB_AUTOSUSPEND/BT_HCIBTUSB_AUTOSUSPEND/
--s/enable_usb_autosuspend/enable_autosuspend/
----
- drivers/bluetooth/Kconfig | 10 ++++++++++
- drivers/bluetooth/btusb.c | 7 +++++++
- 2 files changed, 17 insertions(+)
-
-diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig
-index 6475f8c0d3b2..20940417d937 100644
---- a/drivers/bluetooth/Kconfig
-+++ b/drivers/bluetooth/Kconfig
-@@ -30,6 +30,16 @@ config BT_HCIBTUSB
- Say Y here to compile support for Bluetooth USB devices into the
- kernel or say M to compile it as module (btusb).
-
-+config BT_HCIBTUSB_AUTOSUSPEND
-+ bool "Enable USB autosuspend for Bluetooth USB devices by default"
-+ depends on BT_HCIBTUSB
-+ help
-+ Say Y here to enable USB autosuspend for Bluetooth USB devices by
-+ default.
-+
-+ This can be overridden by passing btusb.enable_autosuspend=[y|n]
-+ on the kernel commandline.
-+
- config BT_HCIBTUSB_BCM
- bool "Broadcom protocol support"
- depends on BT_HCIBTUSB
-diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
-index c054d7bce490..3386034a44aa 100644
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -40,6 +40,7 @@
-
- static bool disable_scofix;
- static bool force_scofix;
-+static bool enable_autosuspend = IS_ENABLED(CONFIG_BT_HCIBTUSB_AUTOSUSPEND);
-
- static bool reset = true;
-
-@@ -3175,6 +3176,9 @@ static int btusb_probe(struct usb_interface *intf,
- }
- #endif
-
-+ if (enable_autosuspend)
-+ usb_enable_autosuspend(data->udev);
-+
- err = hci_register_dev(hdev);
- if (err < 0)
- goto out_free_dev;
-@@ -3387,6 +3391,9 @@ MODULE_PARM_DESC(disable_scofix, "Disable fixup of wrong SCO buffer size");
- module_param(force_scofix, bool, 0644);
- MODULE_PARM_DESC(force_scofix, "Force fixup of wrong SCO buffers size");
-
-+module_param(enable_autosuspend, bool, 0644);
-+MODULE_PARM_DESC(enable_autosuspend, "Enable USB autosuspend by default");
-+
- module_param(reset, bool, 0644);
- MODULE_PARM_DESC(reset, "Send HCI reset command on initialization");
-
---
-2.14.3
-
diff --git a/0001-Bluetooth-btusb-Disable-autosuspend-on-QCA-Rome-devi.patch b/0001-Bluetooth-btusb-Disable-autosuspend-on-QCA-Rome-devi.patch
deleted file mode 100644
index cc1af2ceb..000000000
--- a/0001-Bluetooth-btusb-Disable-autosuspend-on-QCA-Rome-devi.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From a5ffa27c07e06900fcfc50b08de6d11e45830168 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 3 Jan 2018 12:49:44 +0100
-Subject: [PATCH v2] Bluetooth: btusb: Disable autosuspend on QCA Rome devices
-
-Commit fd865802c66b ("Bluetooth: btusb: fix QCA Rome suspend/resume") fixes
-a suspend/resume problem on QCA devices by doing a full reset on resume,
-reloading the firmware.
-
-A similar problem happens when using runtime-pm / autosuspend, when this is
-enabled by the user the QCA Rome device stops working. Reloading the
-firmware after a runtime suspend is not really an option since the latency
-caused by this is unacceptable.
-
-To fix the runtime-pm issues, this commit disables runtime-pm on QCA Rome
-HCIs, by getting (and not releasing) an usb autopm reference on the btusb
-interface.
-
-BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1514836
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/bluetooth/btusb.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
-index 808c249845db..6ed3a0e5b8f6 100644
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -3122,8 +3122,15 @@ static int btusb_probe(struct usb_interface *intf,
- /* QCA Rome devices lose their updated firmware over suspend,
- * but the USB hub doesn't notice any status change.
- * Explicitly request a device reset on resume.
-+ * And disable runtime pm by getting a pm reference, the USB
-+ * core will drop our reference on disconnect.
- */
- set_bit(BTUSB_RESET_RESUME, &data->flags);
-+ err = usb_autopm_get_interface(data->intf);
-+ if (err < 0) {
-+ BT_ERR("failed to get pm reference %d", err);
-+ goto out_free_dev;
-+ }
- }
-
- #ifdef CONFIG_BT_HCIBTUSB_RTL
---
-2.14.3
-
diff --git a/0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch b/0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch
deleted file mode 100644
index e15ec6bb1..000000000
--- a/0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From f5c1da991de077420fda17a236342de5a0068f5d Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 22 Nov 2017 12:57:08 +0100
-Subject: [PATCH v2 1/3] HID: multitouch: Properly deal with Win8 PTP reports
- with 0 touches
-
-The Windows Precision Touchpad spec "Figure 4 Button Only Down and Up"
-and "Table 9 Report Sequence for Button Only Down and Up" indicate
-that the first packet of a (possibly hybrid mode multi-packet) frame
-may contain a contact-count of 0 if only a button is pressed and no
-fingers are detected.
-
-This means that a value of 0 for contact-count is a valid value and
-should be used as expected contact count when it is the first packet
-(num_received == 0), as extra check to make sure that this is the first
-packet of a buttons only frame, we also check that the timestamp is
-different.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
----
- drivers/hid/hid-multitouch.c | 32 ++++++++++++++++++++++++++++++--
- 1 file changed, 30 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 9ef24b518f12..d8b1cad74faf 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -119,6 +119,9 @@ struct mt_device {
- unsigned long mt_io_flags; /* mt flags (MT_IO_FLAGS_*) */
- int cc_index; /* contact count field index in the report */
- int cc_value_index; /* contact count value index in the field */
-+ int scantime_index; /* scantime field index in the report */
-+ int scantime_val_index; /* scantime value index in the field */
-+ int prev_scantime; /* scantime reported in the previous packet */
- unsigned last_slot_field; /* the last field of a slot */
- unsigned mt_report_id; /* the report ID of the multitouch device */
- unsigned long initial_quirks; /* initial quirks state */
-@@ -599,6 +602,12 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi,
- EV_MSC, MSC_TIMESTAMP);
- input_set_capability(hi->input, EV_MSC, MSC_TIMESTAMP);
- mt_store_field(usage, td, hi);
-+ /* Ignore if indexes are out of bounds. */
-+ if (field->index >= field->report->maxfield ||
-+ usage->usage_index >= field->report_count)
-+ return 1;
-+ td->scantime_index = field->index;
-+ td->scantime_val_index = usage->usage_index;
- return 1;
- case HID_DG_CONTACTCOUNT:
- /* Ignore if indexes are out of bounds. */
-@@ -855,9 +864,10 @@ static void mt_process_mt_event(struct hid_device *hid, struct hid_field *field,
- static void mt_touch_report(struct hid_device *hid, struct hid_report *report)
- {
- struct mt_device *td = hid_get_drvdata(hid);
-+ __s32 cls = td->mtclass.name;
- struct hid_field *field;
- unsigned count;
-- int r, n;
-+ int r, n, scantime = 0;
-
- /* sticky fingers release in progress, abort */
- if (test_and_set_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags))
-@@ -867,12 +877,29 @@ static void mt_touch_report(struct hid_device *hid, struct hid_report *report)
- * Includes multi-packet support where subsequent
- * packets are sent with zero contactcount.
- */
-+ if (td->scantime_index >= 0) {
-+ field = report->field[td->scantime_index];
-+ scantime = field->value[td->scantime_val_index];
-+ }
- if (td->cc_index >= 0) {
- struct hid_field *field = report->field[td->cc_index];
- int value = field->value[td->cc_value_index];
-- if (value)
-+
-+ /*
-+ * For Win8 PTPs the first packet (td->num_received == 0) may
-+ * have a contactcount of 0 if there only is a button event.
-+ * We double check that this is not a continuation packet
-+ * of a possible multi-packet frame be checking that the
-+ * timestamp has changed.
-+ */
-+ if ((cls == MT_CLS_WIN_8 || cls == MT_CLS_WIN_8_DUAL) &&
-+ td->num_received == 0 && td->prev_scantime != scantime)
-+ td->num_expected = value;
-+ /* A non 0 contact count always indicates a first packet */
-+ else if (value)
- td->num_expected = value;
- }
-+ td->prev_scantime = scantime;
-
- for (r = 0; r < report->maxfield; r++) {
- field = report->field[r];
-@@ -1329,6 +1356,7 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
- td->maxcontact_report_id = -1;
- td->inputmode_value = MT_INPUTMODE_TOUCHSCREEN;
- td->cc_index = -1;
-+ td->scantime_index = -1;
- td->mt_report_id = -1;
- hid_set_drvdata(hdev, td);
-
---
-2.14.3
-
diff --git a/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch b/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch
new file mode 100644
index 000000000..24302d2ec
--- /dev/null
+++ b/0001-Temporarily-work-around-gcc-aliasing-warning-error.patch
@@ -0,0 +1,27 @@
+From 991b5e95d4fe7778c8f5e7d7f478d01134d51ca7 Mon Sep 17 00:00:00 2001
+From: Laura Abbott <labbott@redhat.com>
+Date: Wed, 14 Mar 2018 14:20:02 -0700
+Subject: [PATCH] Temporarily work around gcc aliasing warning/error
+
+Signed-off-by: Laura Abbott <labbott@redhat.com>
+---
+ tools/lib/str_error_r.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tools/lib/str_error_r.c b/tools/lib/str_error_r.c
+index d6d65537b0d9..c0ede4f6adae 100644
+--- a/tools/lib/str_error_r.c
++++ b/tools/lib/str_error_r.c
+@@ -21,7 +21,8 @@
+ char *str_error_r(int errnum, char *buf, size_t buflen)
+ {
+ int err = strerror_r(errnum, buf, buflen);
++ void *temp = buf;
+ if (err)
+- snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, buf, buflen, err);
++ snprintf(buf, buflen, "INTERNAL ERROR: strerror_r(%d, %p, %zd)=%d", errnum, temp, buflen, err);
+ return buf;
+ }
+--
+2.16.2
+
diff --git a/0001-ahci-Annotate-PCI-ids-for-mobile-Intel-chipsets-as-s.patch b/0001-ahci-Annotate-PCI-ids-for-mobile-Intel-chipsets-as-s.patch
deleted file mode 100644
index d73ce05c6..000000000
--- a/0001-ahci-Annotate-PCI-ids-for-mobile-Intel-chipsets-as-s.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From cb1072f66e72eda65a8f7ac37d32c9f4217af6ba Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 21 Nov 2017 14:44:15 +0100
-Subject: [PATCH 1/3] ahci: Annotate PCI ids for mobile Intel chipsets as such
-
-Intel uses different SATA PCI ids for the Desktop and Mobile SKUs of their
-chipsets. For older models the comment describing which chipset the PCI id
-is for, aksi indicates when we're dealing with a mobile SKU. Extend the
-comments for recent chipsets to also indicate mobile SKUs.
-
-The information this commit adds comes from Intel's chipset datasheets.
-
-This commit is a preparation patch for allowing a different default
-sata link powermanagement policy for mobile chipsets.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci.c | 32 ++++++++++++++++----------------
- 1 file changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index 5443cb71d7ba..9d842ff6ec51 100644
---- a/drivers/ata/ahci.c
-+++ b/drivers/ata/ahci.c
-@@ -268,9 +268,9 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x3b23), board_ahci }, /* PCH AHCI */
- { PCI_VDEVICE(INTEL, 0x3b24), board_ahci }, /* PCH RAID */
- { PCI_VDEVICE(INTEL, 0x3b25), board_ahci }, /* PCH RAID */
-- { PCI_VDEVICE(INTEL, 0x3b29), board_ahci }, /* PCH AHCI */
-+ { PCI_VDEVICE(INTEL, 0x3b29), board_ahci }, /* PCH M AHCI */
- { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci }, /* PCH RAID */
-- { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci }, /* PCH RAID */
-+ { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci }, /* PCH M RAID */
- { PCI_VDEVICE(INTEL, 0x3b2f), board_ahci }, /* PCH AHCI */
- { PCI_VDEVICE(INTEL, 0x19b0), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b1), board_ahci }, /* DNV AHCI */
-@@ -293,9 +293,9 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x19cE), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19cF), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x1c02), board_ahci }, /* CPT AHCI */
-- { PCI_VDEVICE(INTEL, 0x1c03), board_ahci }, /* CPT AHCI */
-+ { PCI_VDEVICE(INTEL, 0x1c03), board_ahci }, /* CPT M AHCI */
- { PCI_VDEVICE(INTEL, 0x1c04), board_ahci }, /* CPT RAID */
-- { PCI_VDEVICE(INTEL, 0x1c05), board_ahci }, /* CPT RAID */
-+ { PCI_VDEVICE(INTEL, 0x1c05), board_ahci }, /* CPT M RAID */
- { PCI_VDEVICE(INTEL, 0x1c06), board_ahci }, /* CPT RAID */
- { PCI_VDEVICE(INTEL, 0x1c07), board_ahci }, /* CPT RAID */
- { PCI_VDEVICE(INTEL, 0x1d02), board_ahci }, /* PBG AHCI */
-@@ -304,20 +304,20 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x2826), board_ahci }, /* PBG RAID */
- { PCI_VDEVICE(INTEL, 0x2323), board_ahci }, /* DH89xxCC AHCI */
- { PCI_VDEVICE(INTEL, 0x1e02), board_ahci }, /* Panther Point AHCI */
-- { PCI_VDEVICE(INTEL, 0x1e03), board_ahci }, /* Panther Point AHCI */
-+ { PCI_VDEVICE(INTEL, 0x1e03), board_ahci }, /* Panther Point M AHCI */
- { PCI_VDEVICE(INTEL, 0x1e04), board_ahci }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x1e05), board_ahci }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x1e06), board_ahci }, /* Panther Point RAID */
-- { PCI_VDEVICE(INTEL, 0x1e07), board_ahci }, /* Panther Point RAID */
-+ { PCI_VDEVICE(INTEL, 0x1e07), board_ahci }, /* Panther Point M RAID */
- { PCI_VDEVICE(INTEL, 0x1e0e), board_ahci }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x8c02), board_ahci }, /* Lynx Point AHCI */
-- { PCI_VDEVICE(INTEL, 0x8c03), board_ahci }, /* Lynx Point AHCI */
-+ { PCI_VDEVICE(INTEL, 0x8c03), board_ahci }, /* Lynx Point M AHCI */
- { PCI_VDEVICE(INTEL, 0x8c04), board_ahci }, /* Lynx Point RAID */
-- { PCI_VDEVICE(INTEL, 0x8c05), board_ahci }, /* Lynx Point RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c05), board_ahci }, /* Lynx Point M RAID */
- { PCI_VDEVICE(INTEL, 0x8c06), board_ahci }, /* Lynx Point RAID */
-- { PCI_VDEVICE(INTEL, 0x8c07), board_ahci }, /* Lynx Point RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c07), board_ahci }, /* Lynx Point M RAID */
- { PCI_VDEVICE(INTEL, 0x8c0e), board_ahci }, /* Lynx Point RAID */
-- { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci }, /* Lynx Point RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci }, /* Lynx Point M RAID */
- { PCI_VDEVICE(INTEL, 0x9c02), board_ahci }, /* Lynx Point-LP AHCI */
- { PCI_VDEVICE(INTEL, 0x9c03), board_ahci }, /* Lynx Point-LP AHCI */
- { PCI_VDEVICE(INTEL, 0x9c04), board_ahci }, /* Lynx Point-LP RAID */
-@@ -358,21 +358,21 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x9c87), board_ahci }, /* Wildcat Point-LP RAID */
- { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci }, /* Wildcat Point-LP RAID */
- { PCI_VDEVICE(INTEL, 0x8c82), board_ahci }, /* 9 Series AHCI */
-- { PCI_VDEVICE(INTEL, 0x8c83), board_ahci }, /* 9 Series AHCI */
-+ { PCI_VDEVICE(INTEL, 0x8c83), board_ahci }, /* 9 Series M AHCI */
- { PCI_VDEVICE(INTEL, 0x8c84), board_ahci }, /* 9 Series RAID */
-- { PCI_VDEVICE(INTEL, 0x8c85), board_ahci }, /* 9 Series RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c85), board_ahci }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x8c86), board_ahci }, /* 9 Series RAID */
-- { PCI_VDEVICE(INTEL, 0x8c87), board_ahci }, /* 9 Series RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c87), board_ahci }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x8c8e), board_ahci }, /* 9 Series RAID */
-- { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci }, /* 9 Series RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x9d03), board_ahci }, /* Sunrise Point-LP AHCI */
- { PCI_VDEVICE(INTEL, 0x9d05), board_ahci }, /* Sunrise Point-LP RAID */
- { PCI_VDEVICE(INTEL, 0x9d07), board_ahci }, /* Sunrise Point-LP RAID */
- { PCI_VDEVICE(INTEL, 0xa102), board_ahci }, /* Sunrise Point-H AHCI */
-- { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H AHCI */
-+ { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H M AHCI */
- { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */
- { PCI_VDEVICE(INTEL, 0xa106), board_ahci }, /* Sunrise Point-H RAID */
-- { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H RAID */
-+ { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H M RAID */
- { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */
- { PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0x2823), board_ahci }, /* Lewisburg AHCI*/
---
-2.14.3
-
diff --git a/0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch b/0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch
deleted file mode 100644
index 926487b3d..000000000
--- a/0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 714fe15daa07e7691c9731c88de71aa57f84b6c2 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 3 Jan 2018 11:13:54 +0100
-Subject: [PATCH] platform/x86: dell-laptop: Filter out spurious keyboard
- backlight change events
-
-On some Dell XPS models WMI events of type 0x0000 reporting a keycode of
-0xe00c get reported when the brightness of the LCD panel changes.
-
-This leads to us reporting false-positive kbd_led change events to
-userspace which in turn leads to the kbd backlight OSD showing when it
-should not.
-
-We already read the current keyboard backlight brightness value when
-reporting events because the led_classdev_notify_brightness_hw_changed
-API requires this. Compare this value to the last known value and filter
-out duplicate events, fixing this.
-
-Note the fixed issue is esp. a problem on XPS models with an ambient light
-sensor and automatic brightness adjustments turned on, this causes the kbd
-backlight OSD to show all the time there.
-
-BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1514969
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/platform/x86/dell-laptop.c | 24 ++++++++++++++++++++++--
- 1 file changed, 22 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
-index cd4725e7e0b5..2ef3297a9efc 100644
---- a/drivers/platform/x86/dell-laptop.c
-+++ b/drivers/platform/x86/dell-laptop.c
-@@ -1133,6 +1133,7 @@ static u8 kbd_previous_mode_bit;
-
- static bool kbd_led_present;
- static DEFINE_MUTEX(kbd_led_mutex);
-+static enum led_brightness kbd_led_level;
-
- /*
- * NOTE: there are three ways to set the keyboard backlight level.
-@@ -1947,6 +1948,7 @@ static enum led_brightness kbd_led_level_get(struct led_classdev *led_cdev)
- static int kbd_led_level_set(struct led_classdev *led_cdev,
- enum led_brightness value)
- {
-+ enum led_brightness new_value = value;
- struct kbd_state state;
- struct kbd_state new_state;
- u16 num;
-@@ -1976,6 +1978,9 @@ static int kbd_led_level_set(struct led_classdev *led_cdev,
- }
-
- out:
-+ if (ret == 0)
-+ kbd_led_level = new_value;
-+
- mutex_unlock(&kbd_led_mutex);
- return ret;
- }
-@@ -2003,6 +2008,9 @@ static int __init kbd_led_init(struct device *dev)
- if (kbd_led.max_brightness)
- kbd_led.max_brightness--;
- }
-+
-+ kbd_led_level = kbd_led_level_get(NULL);
-+
- ret = led_classdev_register(dev, &kbd_led);
- if (ret)
- kbd_led_present = false;
-@@ -2027,13 +2035,25 @@ static void kbd_led_exit(void)
- static int dell_laptop_notifier_call(struct notifier_block *nb,
- unsigned long action, void *data)
- {
-+ bool changed = false;
-+ enum led_brightness new_kbd_led_level;
-+
- switch (action) {
- case DELL_LAPTOP_KBD_BACKLIGHT_BRIGHTNESS_CHANGED:
- if (!kbd_led_present)
- break;
-
-- led_classdev_notify_brightness_hw_changed(&kbd_led,
-- kbd_led_level_get(&kbd_led));
-+ mutex_lock(&kbd_led_mutex);
-+ new_kbd_led_level = kbd_led_level_get(&kbd_led);
-+ if (kbd_led_level != new_kbd_led_level) {
-+ kbd_led_level = new_kbd_led_level;
-+ changed = true;
-+ }
-+ mutex_unlock(&kbd_led_mutex);
-+
-+ if (changed)
-+ led_classdev_notify_brightness_hw_changed(&kbd_led,
-+ kbd_led_level);
- break;
- }
-
---
-2.14.3
-
diff --git a/0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch b/0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch
deleted file mode 100644
index 3ea374ff5..000000000
--- a/0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From c25d877f4ee97deb92170129eee4777a5d5997d9 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 22 Nov 2017 12:57:09 +0100
-Subject: [PATCH v2 2/3] HID: multitouch: Only look at non touch fields in
- first packet of a frame
-
-Devices in "single finger hybrid mode" will send one report per finger,
-on some devices only the first report of such a multi-packet frame will
-contain a value for BTN_LEFT, in subsequent reports (if multiple fingers
-are down) the value is always 0, causing hid-mt to report BTN_LEFT going
-1 - 0 - 1 - 0 when pressing a clickpad and putting down a second finger.
-This happens for example on USB 0603:0002 mt touchpads.
-
-This commit fixes this by only reporting non touch fields for the first
-packet of a (possibly) multi-packet frame.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
----
- drivers/hid/hid-multitouch.c | 17 +++++++++++++++--
- 1 file changed, 15 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index d8b1cad74faf..760c4a042e6a 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -787,9 +787,11 @@ static int mt_touch_event(struct hid_device *hid, struct hid_field *field,
- }
-
- static void mt_process_mt_event(struct hid_device *hid, struct hid_field *field,
-- struct hid_usage *usage, __s32 value)
-+ struct hid_usage *usage, __s32 value,
-+ bool first_packet)
- {
- struct mt_device *td = hid_get_drvdata(hid);
-+ __s32 cls = td->mtclass.name;
- __s32 quirks = td->mtclass.quirks;
- struct input_dev *input = field->hidinput->input;
-
-@@ -846,6 +848,15 @@ static void mt_process_mt_event(struct hid_device *hid, struct hid_field *field,
- break;
-
- default:
-+ /*
-+ * For Win8 PTP touchpads we should only look at
-+ * non finger/touch events in the first_packet of
-+ * a (possible) multi-packet frame.
-+ */
-+ if ((cls == MT_CLS_WIN_8 || cls == MT_CLS_WIN_8_DUAL) &&
-+ !first_packet)
-+ return;
-+
- if (usage->type)
- input_event(input, usage->type, usage->code,
- value);
-@@ -866,6 +877,7 @@ static void mt_touch_report(struct hid_device *hid, struct hid_report *report)
- struct mt_device *td = hid_get_drvdata(hid);
- __s32 cls = td->mtclass.name;
- struct hid_field *field;
-+ bool first_packet;
- unsigned count;
- int r, n, scantime = 0;
-
-@@ -901,6 +913,7 @@ static void mt_touch_report(struct hid_device *hid, struct hid_report *report)
- }
- td->prev_scantime = scantime;
-
-+ first_packet = td->num_received == 0;
- for (r = 0; r < report->maxfield; r++) {
- field = report->field[r];
- count = field->report_count;
-@@ -910,7 +923,7 @@ static void mt_touch_report(struct hid_device *hid, struct hid_report *report)
-
- for (n = 0; n < count; n++)
- mt_process_mt_event(hid, field, &field->usage[n],
-- field->value[n]);
-+ field->value[n], first_packet);
- }
-
- if (td->num_received >= td->num_expected)
---
-2.14.3
-
diff --git a/0002-ahci-Add-PCI-ids-for-Intel-Bay-Trail-Cherry-Trail-an.patch b/0002-ahci-Add-PCI-ids-for-Intel-Bay-Trail-Cherry-Trail-an.patch
deleted file mode 100644
index f27812b85..000000000
--- a/0002-ahci-Add-PCI-ids-for-Intel-Bay-Trail-Cherry-Trail-an.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From eab582db4b6c04a20a8bd792faa9ebf7adf1ec17 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 27 Nov 2017 12:07:34 +0100
-Subject: [PATCH 2/3] ahci: Add PCI ids for Intel Bay Trail, Cherry Trail and
- Apollo Lake AHCI
-
-Add PCI ids for Intel Bay Trail, Cherry Trail and Apollo Lake AHCI
-SATA controllers. This commit is a preparation patch for allowing a
-different default sata link powermanagement policy for mobile chipsets.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index 9d842ff6ec51..844f697bedbf 100644
---- a/drivers/ata/ahci.c
-+++ b/drivers/ata/ahci.c
-@@ -386,6 +386,10 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0xa206), board_ahci }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa252), board_ahci }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa256), board_ahci }, /* Lewisburg RAID*/
-+ { PCI_VDEVICE(INTEL, 0x0f22), board_ahci }, /* Bay Trail AHCI */
-+ { PCI_VDEVICE(INTEL, 0x0f23), board_ahci }, /* Bay Trail AHCI */
-+ { PCI_VDEVICE(INTEL, 0x22a3), board_ahci }, /* Cherry Trail AHCI */
-+ { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci }, /* Apollo Lake AHCI */
-
- /* JMicron 360/1/3/5/6, match class to avoid IDE function */
- { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
---
-2.14.3
-
diff --git a/0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch b/0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch
deleted file mode 100644
index 7fda714cb..000000000
--- a/0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 1719566899e5a69b4ba767beb07dab7ceb9ae5a8 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 22 Nov 2017 12:57:10 +0100
-Subject: [PATCH v2 3/3] HID: multitouch: Combine all left-button events in a
- frame
-
-According to the Win8 Precision Touchpad spec, inside the HID_UP_BUTTON
-usage-page usage 1 is for a clickpad getting clicked, 2 for an external
-left button and 3 for an external right button. Since Linux uses
-BTN_LEFT for a clickpad being clicked we end up mapping both usage 1
-and 2 to BTN_LEFT and if a single report contains both then we ended
-up always reporting the value of both in a single SYN, e.g. :
-BTN_LEFT 1, BTN_LEFT 0, SYN. This happens for example with Hantick
-HTT5288 i2c mt touchpads.
-
-This commit fixes this by not immediately reporting left button when we
-parse the report, but instead storing or-ing together the values and
-reporting the result from mt_sync_frame() when we've a complete frame.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
----
- drivers/hid/hid-multitouch.c | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 760c4a042e6a..76088f2cf598 100644
---- a/drivers/hid/hid-multitouch.c
-+++ b/drivers/hid/hid-multitouch.c
-@@ -122,6 +122,7 @@ struct mt_device {
- int scantime_index; /* scantime field index in the report */
- int scantime_val_index; /* scantime value index in the field */
- int prev_scantime; /* scantime reported in the previous packet */
-+ int left_button_state; /* left button state */
- unsigned last_slot_field; /* the last field of a slot */
- unsigned mt_report_id; /* the report ID of the multitouch device */
- unsigned long initial_quirks; /* initial quirks state */
-@@ -743,10 +744,16 @@ static void mt_complete_slot(struct mt_device *td, struct input_dev *input)
- */
- static void mt_sync_frame(struct mt_device *td, struct input_dev *input)
- {
-+ __s32 cls = td->mtclass.name;
-+
-+ if (cls == MT_CLS_WIN_8 || cls == MT_CLS_WIN_8_DUAL)
-+ input_event(input, EV_KEY, BTN_LEFT, td->left_button_state);
-+
- input_mt_sync_frame(input);
- input_event(input, EV_MSC, MSC_TIMESTAMP, td->timestamp);
- input_sync(input);
- td->num_received = 0;
-+ td->left_button_state = 0;
- if (test_bit(MT_IO_FLAGS_ACTIVE_SLOTS, &td->mt_io_flags))
- set_bit(MT_IO_FLAGS_PENDING_SLOTS, &td->mt_io_flags);
- else
-@@ -857,6 +864,19 @@ static void mt_process_mt_event(struct hid_device *hid, struct hid_field *field,
- !first_packet)
- return;
-
-+ /*
-+ * For Win8 PTP touchpads we map both the clickpad click
-+ * and any "external" left buttons to BTN_LEFT if a
-+ * device claims to have both we need to report 1 for
-+ * BTN_LEFT if either is pressed, so we or all values
-+ * together and report the result in mt_sync_frame().
-+ */
-+ if ((cls == MT_CLS_WIN_8 || cls == MT_CLS_WIN_8_DUAL) &&
-+ usage->type == EV_KEY && usage->code == BTN_LEFT) {
-+ td->left_button_state |= value;
-+ return;
-+ }
-+
- if (usage->type)
- input_event(input, usage->type, usage->code,
- value);
---
-2.14.3
-
diff --git a/0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch b/0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch
deleted file mode 100644
index fe7edde8f..000000000
--- a/0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 262135cf058c28d248b997bd11b2c124e27d8d47 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 27 Nov 2017 15:32:01 +0100
-Subject: [PATCH 3/3] ahci: Allow setting a default LPM policy for mobile
- chipsets
-
-On many laptops setting a different LPM policy then unknown /
-max_performance can lead to power-savings of 1.0 - 1.5 Watts (when idle).
-
-Modern ultrabooks idle around 6W (at 50% screen brightness), 1.0 - 1.5W
-is a significant chunk of this.
-
-There are some performance / latency costs to enabling LPM by default,
-so it is desirable to make it possible to set a different LPM policy
-for mobile / laptop variants of chipsets / "South Bridges" vs their
-desktop / server counterparts. Also enabling LPM by default is not
-entirely without risk of regressions. At least min_power is known to
-cause issues with some disks, including some reports of data corruption.
-
-This commits adds a new ahci.mobile_lpm_policy kernel cmdline option,
-which defaults to a new SATA_MOBILE_LPM_POLICY Kconfig option so that
-Linux distributions can choose to set a LPM policy for mobile chipsets
-by default.
-
-The reason to have both a kernel cmdline option and a Kconfig default
-value for it, is to allow easy overriding of the default to allow
-trouble-shooting without needing to rebuild the kernel.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
-Changes in v2:
--Remove .config changes from the patch
----
- drivers/ata/Kconfig | 19 +++++++++++
- drivers/ata/ahci.c | 97 +++++++++++++++++++++++++++++++----------------------
- drivers/ata/ahci.h | 3 ++
- 3 files changed, 78 insertions(+), 41 deletions(-)
-
-diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
-index cb5339166563..b3fad5663aeb 100644
---- a/drivers/ata/Kconfig
-+++ b/drivers/ata/Kconfig
-@@ -92,6 +92,25 @@ config SATA_AHCI
-
- If unsure, say N.
-
-+config SATA_MOBILE_LPM_POLICY
-+ int "Default SATA Link Power Management policy for mobile chipsets"
-+ range 0 4
-+ default 0
-+ depends on SATA_AHCI
-+ help
-+ Select the Default SATA Link Power Management (LPM) policy to use
-+ for mobile / laptop variants of chipsets / "South Bridges".
-+
-+ The value set has the following meanings:
-+ 0 => Keep firmware settings
-+ 1 => Maximum performance
-+ 2 => Medium power
-+ 3 => Medium power with Device Initiated PM enabled
-+ 4 => Minimum power
-+
-+ Note "Minimum power" is known to cause issues, including disk
-+ corruption, with some disks and should not be used.
-+
- config SATA_AHCI_PLATFORM
- tristate "Platform AHCI SATA support"
- help
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index 844f697bedbf..8e910fae8892 100644
---- a/drivers/ata/ahci.c
-+++ b/drivers/ata/ahci.c
-@@ -65,6 +65,7 @@ enum board_ids {
- /* board IDs by feature in alphabetical order */
- board_ahci,
- board_ahci_ign_iferr,
-+ board_ahci_mobile,
- board_ahci_nomsi,
- board_ahci_noncq,
- board_ahci_nosntf,
-@@ -140,6 +141,13 @@ static const struct ata_port_info ahci_port_info[] = {
- .udma_mask = ATA_UDMA6,
- .port_ops = &ahci_ops,
- },
-+ [board_ahci_mobile] = {
-+ AHCI_HFLAGS (AHCI_HFLAG_IS_MOBILE),
-+ .flags = AHCI_FLAG_COMMON,
-+ .pio_mask = ATA_PIO4,
-+ .udma_mask = ATA_UDMA6,
-+ .port_ops = &ahci_ops,
-+ },
- [board_ahci_nomsi] = {
- AHCI_HFLAGS (AHCI_HFLAG_NO_MSI),
- .flags = AHCI_FLAG_COMMON,
-@@ -252,13 +260,13 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x2924), board_ahci }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x2925), board_ahci }, /* ICH9 */
- { PCI_VDEVICE(INTEL, 0x2927), board_ahci }, /* ICH9 */
-- { PCI_VDEVICE(INTEL, 0x2929), board_ahci }, /* ICH9M */
-- { PCI_VDEVICE(INTEL, 0x292a), board_ahci }, /* ICH9M */
-- { PCI_VDEVICE(INTEL, 0x292b), board_ahci }, /* ICH9M */
-- { PCI_VDEVICE(INTEL, 0x292c), board_ahci }, /* ICH9M */
-- { PCI_VDEVICE(INTEL, 0x292f), board_ahci }, /* ICH9M */
-+ { PCI_VDEVICE(INTEL, 0x2929), board_ahci_mobile }, /* ICH9M */
-+ { PCI_VDEVICE(INTEL, 0x292a), board_ahci_mobile }, /* ICH9M */
-+ { PCI_VDEVICE(INTEL, 0x292b), board_ahci_mobile }, /* ICH9M */
-+ { PCI_VDEVICE(INTEL, 0x292c), board_ahci_mobile }, /* ICH9M */
-+ { PCI_VDEVICE(INTEL, 0x292f), board_ahci_mobile }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x294d), board_ahci }, /* ICH9 */
-- { PCI_VDEVICE(INTEL, 0x294e), board_ahci }, /* ICH9M */
-+ { PCI_VDEVICE(INTEL, 0x294e), board_ahci_mobile }, /* ICH9M */
- { PCI_VDEVICE(INTEL, 0x502a), board_ahci }, /* Tolapai */
- { PCI_VDEVICE(INTEL, 0x502b), board_ahci }, /* Tolapai */
- { PCI_VDEVICE(INTEL, 0x3a05), board_ahci }, /* ICH10 */
-@@ -268,9 +276,9 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x3b23), board_ahci }, /* PCH AHCI */
- { PCI_VDEVICE(INTEL, 0x3b24), board_ahci }, /* PCH RAID */
- { PCI_VDEVICE(INTEL, 0x3b25), board_ahci }, /* PCH RAID */
-- { PCI_VDEVICE(INTEL, 0x3b29), board_ahci }, /* PCH M AHCI */
-+ { PCI_VDEVICE(INTEL, 0x3b29), board_ahci_mobile }, /* PCH M AHCI */
- { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci }, /* PCH RAID */
-- { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci }, /* PCH M RAID */
-+ { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci_mobile }, /* PCH M RAID */
- { PCI_VDEVICE(INTEL, 0x3b2f), board_ahci }, /* PCH AHCI */
- { PCI_VDEVICE(INTEL, 0x19b0), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19b1), board_ahci }, /* DNV AHCI */
-@@ -293,9 +301,9 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x19cE), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x19cF), board_ahci }, /* DNV AHCI */
- { PCI_VDEVICE(INTEL, 0x1c02), board_ahci }, /* CPT AHCI */
-- { PCI_VDEVICE(INTEL, 0x1c03), board_ahci }, /* CPT M AHCI */
-+ { PCI_VDEVICE(INTEL, 0x1c03), board_ahci_mobile }, /* CPT M AHCI */
- { PCI_VDEVICE(INTEL, 0x1c04), board_ahci }, /* CPT RAID */
-- { PCI_VDEVICE(INTEL, 0x1c05), board_ahci }, /* CPT M RAID */
-+ { PCI_VDEVICE(INTEL, 0x1c05), board_ahci_mobile }, /* CPT M RAID */
- { PCI_VDEVICE(INTEL, 0x1c06), board_ahci }, /* CPT RAID */
- { PCI_VDEVICE(INTEL, 0x1c07), board_ahci }, /* CPT RAID */
- { PCI_VDEVICE(INTEL, 0x1d02), board_ahci }, /* PBG AHCI */
-@@ -304,28 +312,28 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x2826), board_ahci }, /* PBG RAID */
- { PCI_VDEVICE(INTEL, 0x2323), board_ahci }, /* DH89xxCC AHCI */
- { PCI_VDEVICE(INTEL, 0x1e02), board_ahci }, /* Panther Point AHCI */
-- { PCI_VDEVICE(INTEL, 0x1e03), board_ahci }, /* Panther Point M AHCI */
-+ { PCI_VDEVICE(INTEL, 0x1e03), board_ahci_mobile }, /* Panther M AHCI */
- { PCI_VDEVICE(INTEL, 0x1e04), board_ahci }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x1e05), board_ahci }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x1e06), board_ahci }, /* Panther Point RAID */
-- { PCI_VDEVICE(INTEL, 0x1e07), board_ahci }, /* Panther Point M RAID */
-+ { PCI_VDEVICE(INTEL, 0x1e07), board_ahci_mobile }, /* Panther M RAID */
- { PCI_VDEVICE(INTEL, 0x1e0e), board_ahci }, /* Panther Point RAID */
- { PCI_VDEVICE(INTEL, 0x8c02), board_ahci }, /* Lynx Point AHCI */
-- { PCI_VDEVICE(INTEL, 0x8c03), board_ahci }, /* Lynx Point M AHCI */
-+ { PCI_VDEVICE(INTEL, 0x8c03), board_ahci_mobile }, /* Lynx M AHCI */
- { PCI_VDEVICE(INTEL, 0x8c04), board_ahci }, /* Lynx Point RAID */
-- { PCI_VDEVICE(INTEL, 0x8c05), board_ahci }, /* Lynx Point M RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c05), board_ahci_mobile }, /* Lynx M RAID */
- { PCI_VDEVICE(INTEL, 0x8c06), board_ahci }, /* Lynx Point RAID */
-- { PCI_VDEVICE(INTEL, 0x8c07), board_ahci }, /* Lynx Point M RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c07), board_ahci_mobile }, /* Lynx M RAID */
- { PCI_VDEVICE(INTEL, 0x8c0e), board_ahci }, /* Lynx Point RAID */
-- { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci }, /* Lynx Point M RAID */
-- { PCI_VDEVICE(INTEL, 0x9c02), board_ahci }, /* Lynx Point-LP AHCI */
-- { PCI_VDEVICE(INTEL, 0x9c03), board_ahci }, /* Lynx Point-LP AHCI */
-- { PCI_VDEVICE(INTEL, 0x9c04), board_ahci }, /* Lynx Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9c05), board_ahci }, /* Lynx Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9c06), board_ahci }, /* Lynx Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9c07), board_ahci }, /* Lynx Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci }, /* Lynx Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci }, /* Lynx Point-LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci_mobile }, /* Lynx M RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c02), board_ahci_mobile }, /* Lynx LP AHCI */
-+ { PCI_VDEVICE(INTEL, 0x9c03), board_ahci_mobile }, /* Lynx LP AHCI */
-+ { PCI_VDEVICE(INTEL, 0x9c04), board_ahci_mobile }, /* Lynx LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c05), board_ahci_mobile }, /* Lynx LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c06), board_ahci_mobile }, /* Lynx LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c07), board_ahci_mobile }, /* Lynx LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci_mobile }, /* Lynx LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci_mobile }, /* Lynx LP RAID */
- { PCI_VDEVICE(INTEL, 0x1f22), board_ahci }, /* Avoton AHCI */
- { PCI_VDEVICE(INTEL, 0x1f23), board_ahci }, /* Avoton AHCI */
- { PCI_VDEVICE(INTEL, 0x1f24), board_ahci }, /* Avoton RAID */
-@@ -353,26 +361,26 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0x8d66), board_ahci }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x8d6e), board_ahci }, /* Wellsburg RAID */
- { PCI_VDEVICE(INTEL, 0x23a3), board_ahci }, /* Coleto Creek AHCI */
-- { PCI_VDEVICE(INTEL, 0x9c83), board_ahci }, /* Wildcat Point-LP AHCI */
-- { PCI_VDEVICE(INTEL, 0x9c85), board_ahci }, /* Wildcat Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9c87), board_ahci }, /* Wildcat Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci }, /* Wildcat Point-LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c83), board_ahci_mobile }, /* Wildcat LP AHCI */
-+ { PCI_VDEVICE(INTEL, 0x9c85), board_ahci_mobile }, /* Wildcat LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c87), board_ahci_mobile }, /* Wildcat LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci_mobile }, /* Wildcat LP RAID */
- { PCI_VDEVICE(INTEL, 0x8c82), board_ahci }, /* 9 Series AHCI */
-- { PCI_VDEVICE(INTEL, 0x8c83), board_ahci }, /* 9 Series M AHCI */
-+ { PCI_VDEVICE(INTEL, 0x8c83), board_ahci_mobile }, /* 9 Series M AHCI */
- { PCI_VDEVICE(INTEL, 0x8c84), board_ahci }, /* 9 Series RAID */
-- { PCI_VDEVICE(INTEL, 0x8c85), board_ahci }, /* 9 Series M RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c85), board_ahci_mobile }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x8c86), board_ahci }, /* 9 Series RAID */
-- { PCI_VDEVICE(INTEL, 0x8c87), board_ahci }, /* 9 Series M RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c87), board_ahci_mobile }, /* 9 Series M RAID */
- { PCI_VDEVICE(INTEL, 0x8c8e), board_ahci }, /* 9 Series RAID */
-- { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci }, /* 9 Series M RAID */
-- { PCI_VDEVICE(INTEL, 0x9d03), board_ahci }, /* Sunrise Point-LP AHCI */
-- { PCI_VDEVICE(INTEL, 0x9d05), board_ahci }, /* Sunrise Point-LP RAID */
-- { PCI_VDEVICE(INTEL, 0x9d07), board_ahci }, /* Sunrise Point-LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci_mobile }, /* 9 Series M RAID */
-+ { PCI_VDEVICE(INTEL, 0x9d03), board_ahci_mobile }, /* Sunrise LP AHCI */
-+ { PCI_VDEVICE(INTEL, 0x9d05), board_ahci_mobile }, /* Sunrise LP RAID */
-+ { PCI_VDEVICE(INTEL, 0x9d07), board_ahci_mobile }, /* Sunrise LP RAID */
- { PCI_VDEVICE(INTEL, 0xa102), board_ahci }, /* Sunrise Point-H AHCI */
-- { PCI_VDEVICE(INTEL, 0xa103), board_ahci }, /* Sunrise Point-H M AHCI */
-+ { PCI_VDEVICE(INTEL, 0xa103), board_ahci_mobile }, /* Sunrise M AHCI */
- { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */
- { PCI_VDEVICE(INTEL, 0xa106), board_ahci }, /* Sunrise Point-H RAID */
-- { PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H M RAID */
-+ { PCI_VDEVICE(INTEL, 0xa107), board_ahci_mobile }, /* Sunrise M RAID */
- { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */
- { PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0x2823), board_ahci }, /* Lewisburg AHCI*/
-@@ -386,10 +394,10 @@ static const struct pci_device_id ahci_pci_tbl[] = {
- { PCI_VDEVICE(INTEL, 0xa206), board_ahci }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa252), board_ahci }, /* Lewisburg RAID*/
- { PCI_VDEVICE(INTEL, 0xa256), board_ahci }, /* Lewisburg RAID*/
-- { PCI_VDEVICE(INTEL, 0x0f22), board_ahci }, /* Bay Trail AHCI */
-- { PCI_VDEVICE(INTEL, 0x0f23), board_ahci }, /* Bay Trail AHCI */
-- { PCI_VDEVICE(INTEL, 0x22a3), board_ahci }, /* Cherry Trail AHCI */
-- { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci }, /* Apollo Lake AHCI */
-+ { PCI_VDEVICE(INTEL, 0x0f22), board_ahci_mobile }, /* Bay Trail AHCI */
-+ { PCI_VDEVICE(INTEL, 0x0f23), board_ahci_mobile }, /* Bay Trail AHCI */
-+ { PCI_VDEVICE(INTEL, 0x22a3), board_ahci_mobile }, /* Cherry Tr. AHCI */
-+ { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci_mobile }, /* ApolloLake AHCI */
-
- /* JMicron 360/1/3/5/6, match class to avoid IDE function */
- { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-@@ -597,6 +605,9 @@ static int marvell_enable = 1;
- module_param(marvell_enable, int, 0644);
- MODULE_PARM_DESC(marvell_enable, "Marvell SATA via AHCI (1 = enabled)");
-
-+static int mobile_lpm_policy = CONFIG_SATA_MOBILE_LPM_POLICY;
-+module_param(mobile_lpm_policy, int, 0644);
-+MODULE_PARM_DESC(mobile_lpm_policy, "Default LPM policy for mobile chipsets");
-
- static void ahci_pci_save_initial_config(struct pci_dev *pdev,
- struct ahci_host_priv *hpriv)
-@@ -1732,6 +1743,10 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
- if (ap->flags & ATA_FLAG_EM)
- ap->em_message_type = hpriv->em_msg_type;
-
-+ if ((hpriv->flags & AHCI_HFLAG_IS_MOBILE) &&
-+ mobile_lpm_policy >= ATA_LPM_UNKNOWN &&
-+ mobile_lpm_policy <= ATA_LPM_MIN_POWER)
-+ ap->target_lpm_policy = mobile_lpm_policy;
-
- /* disabled/not-implemented port */
- if (!(hpriv->port_map & (1 << i)))
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 749fd94441b0..a9d996e17d75 100644
---- a/drivers/ata/ahci.h
-+++ b/drivers/ata/ahci.h
-@@ -251,6 +251,9 @@ enum {
- AHCI_HFLAG_YES_ALPM = (1 << 23), /* force ALPM cap on */
- AHCI_HFLAG_NO_WRITE_TO_RO = (1 << 24), /* don't write to read
- only registers */
-+ AHCI_HFLAG_IS_MOBILE = (1 << 25), /* mobile chipset, use
-+ SATA_MOBILE_LPM_POLICY
-+ as default lpm_policy */
-
- /* ap->flags bits */
-
---
-2.14.3
-
diff --git a/0010-Input-silead-Add-support-for-capactive-home-button-f.patch b/0010-Input-silead-Add-support-for-capactive-home-button-f.patch
deleted file mode 100644
index ce9be3760..000000000
--- a/0010-Input-silead-Add-support-for-capactive-home-button-f.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 33fc16fd8aa3684e19b1d1f0a712593e2e570ab1 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 11 Jun 2017 21:24:50 +0200
-Subject: [PATCH 10/16] Input: silead: Add support for capactive home button
- found on some x86 tablets
-
-On some x86 tablets with a silead touchscreen the windows logo on the
-front is a capacitive home button. Touching this button results in a touch
-with bits 12-15 of the Y coordinates set, while normally only the lower 12
-are used.
-
-Detect this and report a KEY_LEFTMETA press when this happens. Note for
-now we only respond to the Y coordinate bits 12-15 containing 0x01, on some
-tablets *without* a capacative button I've noticed these bits containing
-0x04 when crossing the edges of the screen.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/input/touchscreen/silead.c | 45 ++++++++++++++++++++++++++++----------
- 1 file changed, 34 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c
-index 0dbcf105f7db..c0ba40c09699 100644
---- a/drivers/input/touchscreen/silead.c
-+++ b/drivers/input/touchscreen/silead.c
-@@ -56,7 +56,7 @@
- #define SILEAD_POINT_Y_MSB_OFF 0x01
- #define SILEAD_POINT_X_OFF 0x02
- #define SILEAD_POINT_X_MSB_OFF 0x03
--#define SILEAD_TOUCH_ID_MASK 0xF0
-+#define SILEAD_EXTRA_DATA_MASK 0xF0
-
- #define SILEAD_CMD_SLEEP_MIN 10000
- #define SILEAD_CMD_SLEEP_MAX 20000
-@@ -109,6 +109,8 @@ static int silead_ts_request_input_dev(struct silead_ts_data *data)
- INPUT_MT_DIRECT | INPUT_MT_DROP_UNUSED |
- INPUT_MT_TRACK);
-
-+ input_set_capability(data->input, EV_KEY, KEY_LEFTMETA);
-+
- data->input->name = SILEAD_TS_NAME;
- data->input->phys = "input/ts";
- data->input->id.bustype = BUS_I2C;
-@@ -139,7 +141,8 @@ static void silead_ts_read_data(struct i2c_client *client)
- struct input_dev *input = data->input;
- struct device *dev = &client->dev;
- u8 *bufp, buf[SILEAD_TS_DATA_LEN];
-- int touch_nr, error, i;
-+ int touch_nr, softbutton, error, i;
-+ bool softbutton_pressed = false;
-
- error = i2c_smbus_read_i2c_block_data(client, SILEAD_REG_DATA,
- SILEAD_TS_DATA_LEN, buf);
-@@ -148,21 +151,40 @@ static void silead_ts_read_data(struct i2c_client *client)
- return;
- }
-
-- touch_nr = buf[0];
-- if (touch_nr > data->max_fingers) {
-+ if (buf[0] > data->max_fingers) {
- dev_warn(dev, "More touches reported then supported %d > %d\n",
-- touch_nr, data->max_fingers);
-- touch_nr = data->max_fingers;
-+ buf[0], data->max_fingers);
-+ buf[0] = data->max_fingers;
- }
-
-+ touch_nr = 0;
- bufp = buf + SILEAD_POINT_DATA_LEN;
-- for (i = 0; i < touch_nr; i++, bufp += SILEAD_POINT_DATA_LEN) {
-- /* Bits 4-7 are the touch id */
-- data->id[i] = (bufp[SILEAD_POINT_X_MSB_OFF] &
-- SILEAD_TOUCH_ID_MASK) >> 4;
-- touchscreen_set_mt_pos(&data->pos[i], &data->prop,
-+ for (i = 0; i < buf[0]; i++, bufp += SILEAD_POINT_DATA_LEN) {
-+ softbutton = (bufp[SILEAD_POINT_Y_MSB_OFF] &
-+ SILEAD_EXTRA_DATA_MASK) >> 4;
-+
-+ if (softbutton) {
-+ /*
-+ * For now only respond to softbutton == 0x01, some
-+ * tablets *without* a capacative button send 0x04
-+ * when crossing the edges of the screen.
-+ */
-+ if (softbutton == 0x01)
-+ softbutton_pressed = true;
-+
-+ continue;
-+ }
-+
-+ /*
-+ * Bits 4-7 are the touch id, note not all models have
-+ * hardware touch ids so atm we don't use these.
-+ */
-+ data->id[touch_nr] = (bufp[SILEAD_POINT_X_MSB_OFF] &
-+ SILEAD_EXTRA_DATA_MASK) >> 4;
-+ touchscreen_set_mt_pos(&data->pos[touch_nr], &data->prop,
- get_unaligned_le16(&bufp[SILEAD_POINT_X_OFF]) & 0xfff,
- get_unaligned_le16(&bufp[SILEAD_POINT_Y_OFF]) & 0xfff);
-+ touch_nr++;
- }
-
- input_mt_assign_slots(input, data->slots, data->pos, touch_nr, 0);
-@@ -178,6 +200,7 @@ static void silead_ts_read_data(struct i2c_client *client)
- }
-
- input_mt_sync_frame(input);
-+ input_report_key(input, KEY_LEFTMETA, softbutton_pressed);
- input_sync(input);
- }
-
---
-2.13.0
-
diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch
new file mode 100644
index 000000000..ebabac62e
--- /dev/null
+++ b/Add-option-to-automatically-enforce-module-signature.patch
@@ -0,0 +1,217 @@
+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/PatchList.txt b/PatchList.txt
index 0b358213a..c7945639d 100644
--- a/PatchList.txt
+++ b/PatchList.txt
@@ -1,52 +1,76 @@
-**** Backports and patches headed/already upsteram *****************************
+# This file contains patches that we intend to carry for longer than
+# "Should show up in a stable release soonish"
+# Some of these may eventually drop out
-* cpupower-Fix-segfault-due-to-incorrect-getopt_long-a.patch (rhbz 1000439)
- - Queued for next upstream release I believe. Fixes a segfault in cpupower
+kbuild-AFTER_LINK.patch
-* dm-cache-policy-mq_fix-large-scale-table-allocation-bug.patch (rhbz 993744)
- - Still pending upstream
+arm64-avoid-needing-console-to-enable-serial-console.patch
-* ath9k_rx_dma_stop_check.patch (rhbz 892811)
- - Fixes some DMA issue on specific hardware. Taken from
-https://dev.openwrt.org/browser/trunk/package/mac80211/patches/552-ath9k_rx_dma_stop_check.patch?rev=34910
+geekbox-v4-device-tree-support.patch
-* secure-modules.patch
-* modsign-uefi.patch
-* sb-hibernate.patch
-* sysrq-secure-boot.patch
- - Fedora secure boot support.
- - Dear Matthew, this is your fault. Run sed already and get a new set out.
+Initial-AllWinner-A64-and-PINE64-support.patch
-**** Other stuff that should go upstream (in decreasing likelyhood) ************
+arm64-pcie-quirks-xgene.patch
-* defaults-acpi-video.patch
-* disable-i8042-check-on-apple-mac.patch
-* no-pcspkr-modalias.patch
-* die-floppy-die.patch
- Fedora policy decisions
- Turn into CONFIG_ options and upstream ?
+usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
-* input-kill-stupid-messages.patch
-* silence-fbcon-logo.patch
-* silence-noise.patch
- Fedora local 'hush' patches. (TODO: push more upstream)
+ARM-tegra-usb-no-reset.patch
-* makefile-after_link.patch
- Rolandware that is used by the debuginfo generation.
- Possibly upstreamable ?
+bcm283x-upstream-fixes.patch
-* serial-460800.patch
- Probably not upstreamable.
- http://marc.theaimsgroup.com/?l=linux-kernel&m=112687270832687&w=2
- https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=126403
- http://lkml.org/lkml/2006/8/2/208
+lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
-********************************************************************************
+input-kill-stupid-messages.patch
-'MUSTARD' patches. Fedora local patches that are very unlikely to go upstream.
+die-floppy-die.patch
-* crash-driver.patch
- Unlikely to go upstream.
- https://bugzilla.redhat.com/show_bug.cgi?id=492803
+no-pcspkr-modalias.patch
+
+silence-fbcon-logo.patch
+
+Kbuild-Add-an-option-to-enable-GCC-VTA.patch
+
+crash-driver.patch
+
+#Secure boot patches
+Add-secure_modules-call.patch
+PCI-Lock-down-BAR-access-when-module-security-is-ena.patch
+x86-Lock-down-IO-port-access-when-module-security-is.patch
+ACPI-Limit-access-to-custom_method.patch
+asus-wmi-Restrict-debugfs-interface-when-module-load.patch
+Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch
+acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch
+kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch
+x86-Restrict-MSR-access-when-module-loading-is-restr.patch
+Add-option-to-automatically-enforce-module-signature.patch
+efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
+efi-Add-EFI_SECURE_BOOT-bit.patch
+hibernate-Disable-in-a-signed-modules-environment.patch
+Add-EFI-signature-data-types.patch
+Add-an-EFI-signature-blob-parser-and-key-loader.patch
+KEYS-Add-a-system-blacklist-keyring.patch
+MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
+MODSIGN-Support-not-importing-certs-from-db.patch
+Add-sysrq-option-to-disable-secure-boot-mode.patch
+kexec-uefi-copy-secure_boot-flag-in-boot-params.patch
+
+drm-i915-hush-check-crtc-state.patch
+
+disable-i8042-check-on-apple-mac.patch
+
+lis3-improve-handling-of-null-rate.patch
+
+scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
+
+criu-no-expert.patch
+
+ath9k-rx-dma-stop-check.patch
+
+xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
+
+Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
+
+firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
+
+drm-i915-turn-off-wc-mmaps.patch
-********************************************************************************
diff --git a/arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch b/arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch
new file mode 100644
index 000000000..45941edd0
--- /dev/null
+++ b/arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch
@@ -0,0 +1,28 @@
+From 7a2e67bfa5316e267e782477ec880e2464fd682a Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Sun, 11 Feb 2018 21:28:41 +0000
+Subject: [PATCH] crypto: sunxi-ss: Add MODULE_ALIAS to sun4i-ss
+
+The MODULE_ALIAS is required to enable the sun4i-ss driver to load
+automatically when built at a module. Tested on a Cubietruck.
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ drivers/crypto/sunxi-ss/sun4i-ss-core.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-core.c b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
+index 1547cbe13dc2..a81d89b3b7d8 100644
+--- a/drivers/crypto/sunxi-ss/sun4i-ss-core.c
++++ b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
+@@ -451,6 +451,7 @@ static struct platform_driver sun4i_ss_driver = {
+
+ module_platform_driver(sun4i_ss_driver);
+
++MODULE_ALIAS("platform:sun4i-ss");
+ MODULE_DESCRIPTION("Allwinner Security System cryptographic accelerator");
+ MODULE_LICENSE("GPL");
+ MODULE_AUTHOR("Corentin LABBE <clabbe.montjoie@gmail.com>");
+--
+2.14.3
+
diff --git a/arm-imx6-hummingboard2.patch b/arm-imx6-hummingboard2.patch
deleted file mode 100644
index 9c55a7b81..000000000
--- a/arm-imx6-hummingboard2.patch
+++ /dev/null
@@ -1,902 +0,0 @@
-From e9e601215d294d473a593641b1ecfd1fa4586a90 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Thu, 6 Apr 2017 13:52:54 +0100
-Subject: [PATCH 1/4] [RFC,v2,1/4] ARM: dts: imx6qdl: add HummingBoard2 boards
-
-From: Jon Nettleton <jon@solid-run.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 | 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 011808490fed..ccdff6650541 100644
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -353,6 +353,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
- imx6dl-gw5903.dtb \
- imx6dl-gw5904.dtb \
- imx6dl-hummingboard.dtb \
-+ imx6dl-hummingboard2.dtb \
- imx6dl-icore.dtb \
- imx6dl-icore-rqs.dtb \
- imx6dl-nit6xlite.dtb \
-@@ -397,6 +398,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
- imx6q-gw5904.dtb \
- imx6q-h100.dtb \
- imx6q-hummingboard.dtb \
-+ imx6q-hummingboard2.dtb \
- imx6q-icore.dtb \
- imx6q-icore-ofcap10.dtb \
- imx6q-icore-ofcap12.dtb \
-diff --git a/arch/arm/boot/dts/imx6dl-hummingboard2.dts b/arch/arm/boot/dts/imx6dl-hummingboard2.dts
-new file mode 100644
-index 000000000000..990b5050de5b
---- /dev/null
-+++ b/arch/arm/boot/dts/imx6dl-hummingboard2.dts
-@@ -0,0 +1,52 @@
-+/*
-+ * Device Tree file for SolidRun HummingBoard2
-+ * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.com>
-+ * Based on work by Russell King
-+ *
-+ * 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.
-+ *
-+ * 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 , 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 "imx6dl.dtsi"
-+#include "imx6qdl-hummingboard2.dtsi"
-+
-+/ {
-+ model = "SolidRun HummingBoard2 Solo/DualLite";
-+ compatible = "solidrun,hummingboard2/dl", "fsl,imx6dl";
-+};
-diff --git a/arch/arm/boot/dts/imx6q-hummingboard2.dts b/arch/arm/boot/dts/imx6q-hummingboard2.dts
-new file mode 100644
-index 000000000000..f5eec9163bb8
---- /dev/null
-+++ b/arch/arm/boot/dts/imx6q-hummingboard2.dts
-@@ -0,0 +1,60 @@
-+/*
-+ * Device Tree file for SolidRun HummingBoard2
-+ * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.com>
-+ * Based on work by Russell King
-+ *
-+ * 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.
-+ *
-+ * 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 , 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 "imx6q.dtsi"
-+#include "imx6qdl-hummingboard2.dtsi"
-+
-+/ {
-+ model = "SolidRun HummingBoard2 Dual/Quad";
-+ compatible = "solidrun,hummingboard2/q", "fsl,imx6q";
-+};
-+
-+&sata {
-+ status = "okay";
-+ fsl,transmit-level-mV = <1104>;
-+ fsl,transmit-boost-mdB = <0>;
-+ fsl,transmit-atten-16ths = <9>;
-+ fsl,no-spread-spectrum;
-+};
-diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
-new file mode 100644
-index 000000000000..11b63f6f2b89
---- /dev/null
-+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
-@@ -0,0 +1,543 @@
-+/*
-+ * Device Tree file for SolidRun HummingBoard2
-+ * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.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.
-+ *
-+ * 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 "imx6qdl-microsom.dtsi"
-+#include "imx6qdl-microsom-ar8035.dtsi"
-+
-+/ {
-+ chosen {
-+ stdout-path = &uart1;
-+ };
-+
-+ ir_recv: ir-receiver {
-+ compatible = "gpio-ir-receiver";
-+ gpios = <&gpio7 9 1>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>;
-+ 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";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-always-on;
-+ };
-+
-+ reg_1p8v: regulator-1p8v {
-+ compatible = "regulator-fixed";
-+ regulator-name = "1P8V";
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-always-on;
-+ };
-+
-+ 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: 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: 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: 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 {
-+ audio-codec = <&sgtl5000>;
-+ audio-routing =
-+ "MIC_IN", "Mic Jack",
-+ "Mic Jack", "Mic Bias",
-+ "Headphone Jack", "HP_OUT";
-+ compatible = "fsl,imx-audio-sgtl5000";
-+ model = "On-board Codec";
-+ mux-ext-port = <5>;
-+ mux-int-port = <1>;
-+ ssi-controller = <&ssi1>;
-+ };
-+};
-+
-+&audmux {
-+ status = "okay";
-+};
-+
-+&ecspi2 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_ecspi2>;
-+ cs-gpios = <&gpio2 26 0>;
-+ status = "okay";
-+};
-+
-+&hdmi {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_hdmi>;
-+ ddc-i2c-bus = <&i2c2>;
-+ status = "okay";
-+};
-+
-+&i2c1 {
-+ clock-frequency = <100000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_i2c1>;
-+ status = "okay";
-+
-+ pcf8523: rtc@68 {
-+ compatible = "nxp,pcf8523";
-+ reg = <0x68>;
-+ nxp,12p5_pf;
-+ };
-+
-+ sgtl5000: codec@0a {
-+ clocks = <&clks IMX6QDL_CLK_CKO>;
-+ compatible = "fsl,sgtl5000";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_sgtl5000>;
-+ reg = <0x0a>;
-+ VDDA-supply = <&reg_3p3v>;
-+ VDDIO-supply = <&reg_3p3v>;
-+ };
-+};
-+
-+&i2c2 {
-+ clock-frequency = <100000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_i2c2>;
-+ status = "okay";
-+};
-+
-+&i2c3 {
-+ clock-frequency = <100000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_i2c3>;
-+ status = "okay";
-+};
-+
-+&iomuxc {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hog>;
-+
-+ hummingboard2 {
-+ pinctrl_hog: hoggrp {
-+ fsl,pins = <
-+ /*
-+ * 36 pin headers GPIO description. The pins
-+ * numbering as following -
-+ *
-+ * 3.2v 5v 74 75
-+ * 73 72 71 70
-+ * 69 68 67 66
-+ *
-+ * 77 78 79 76
-+ * 65 64 61 60
-+ * 53 52 51 50
-+ * 49 48 166 132
-+ * 95 94 90 91
-+ * GND 54 24 204
-+ *
-+ * The GPIO numbers can be extracted using
-+ * signal name from below.
-+ * Example -
-+ * MX6QDL_PAD_EIM_DA10__GPIO3_IO10 is
-+ * GPIO(3,10) which is (3-1)*32+10 = gpio 74
-+ *
-+ * i.e. The mapping of GPIO(X,Y) to Linux gpio
-+ * number is : gpio number = (X-1) * 32 + Y
-+ */
-+ /* DI1_PIN15 */
-+ MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x400130b1
-+ /* DI1_PIN02 */
-+ MX6QDL_PAD_EIM_DA11__GPIO3_IO11 0x400130b1
-+ /* DISP1_DATA00 */
-+ MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x400130b1
-+ /* DISP1_DATA01 */
-+ MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x400130b1
-+ /* DISP1_DATA02 */
-+ MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x400130b1
-+ /* DISP1_DATA03 */
-+ MX6QDL_PAD_EIM_DA6__GPIO3_IO06 0x400130b1
-+ /* DISP1_DATA04 */
-+ MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x400130b1
-+ /* DISP1_DATA05 */
-+ MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x400130b1
-+ /* DISP1_DATA06 */
-+ MX6QDL_PAD_EIM_DA3__GPIO3_IO03 0x400130b1
-+ /* DISP1_DATA07 */
-+ MX6QDL_PAD_EIM_DA2__GPIO3_IO02 0x400130b1
-+ /* DI1_D0_CS */
-+ MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x400130b1
-+ /* DI1_D1_CS */
-+ MX6QDL_PAD_EIM_DA14__GPIO3_IO14 0x400130b1
-+ /* DI1_PIN01 */
-+ MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x400130b1
-+ /* DI1_PIN03 */
-+ MX6QDL_PAD_EIM_DA12__GPIO3_IO12 0x400130b1
-+ /* DISP1_DATA08 */
-+ MX6QDL_PAD_EIM_DA1__GPIO3_IO01 0x400130b1
-+ /* DISP1_DATA09 */
-+ MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x400130b1
-+ /* DISP1_DATA10 */
-+ MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x400130b1
-+ /* DISP1_DATA11 */
-+ MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x400130b1
-+ /* DISP1_DATA12 */
-+ MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x400130b1
-+ /* DISP1_DATA13 */
-+ MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x400130b1
-+ /* DISP1_DATA14 */
-+ MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x400130b1
-+ /* DISP1_DATA15 */
-+ MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x400130b1
-+ /* DISP1_DATA16 */
-+ MX6QDL_PAD_EIM_A21__GPIO2_IO17 0x400130b1
-+ /* DISP1_DATA17 */
-+ MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x400130b1
-+ /* DISP1_DATA18 */
-+ MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x400130b1
-+ /* DISP1_DATA19 */
-+ MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x400130b1
-+ /* DISP1_DATA20 */
-+ MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x400130b1
-+ /* DISP1_DATA21 */
-+ MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x400130b1
-+ /* DISP1_DATA22 */
-+ MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x400130b1
-+ /* DISP1_DATA23 */
-+ MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x400130b1
-+ /* DI1_DISP_CLK */
-+ MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x400130b1
-+ /* SPDIF_IN */
-+ MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24 0x400130b1
-+ /* SPDIF_OUT */
-+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x400130b1
-+
-+ /* MikroBUS GPIO pin number 10 */
-+ MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x400130b1
-+ >;
-+ };
-+
-+ 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
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_hdmi: hummingboard2-hdmi {
-+ fsl,pins = <
-+ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_i2c1: hummingboard2-i2c1 {
-+ fsl,pins = <
-+ MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
-+ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_i2c2: hummingboard2-i2c2 {
-+ fsl,pins = <
-+ MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
-+ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_i2c3: hummingboard2-i2c3 {
-+ fsl,pins = <
-+ MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
-+ MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
-+ >;
-+ };
-+
-+ 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 = <
-+ MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b1
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_pwm1: pwm1grp {
-+ fsl,pins = <
-+ MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_sgtl5000: hummingboard2-sgtl5000 {
-+ fsl,pins = <
-+ MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0
-+ MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
-+ MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0
-+ MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0
-+ MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_usbh1_vbus: hummingboard2-usbh1-vbus {
-+ fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>;
-+ };
-+
-+ pinctrl_hummingboard2_usbh2_vbus: hummingboard2-usbh2-vbus {
-+ fsl,pins = <MX6QDL_PAD_SD4_DAT5__GPIO2_IO13 0x1b0b0>;
-+ };
-+
-+ pinctrl_hummingboard2_usbh3_vbus: hummingboard2-usbh3-vbus {
-+ fsl,pins = <MX6QDL_PAD_SD4_CLK__GPIO7_IO10 0x1b0b0>;
-+ };
-+
-+ pinctrl_hummingboard2_usbotg_id: hummingboard2-usbotg-id {
-+ /*
-+ * Similar to pinctrl_usbotg_2, but we want it
-+ * pulled down for a fixed host connection.
-+ */
-+ fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>;
-+ };
-+
-+ pinctrl_hummingboard2_usbotg_vbus: hummingboard2-usbotg-vbus {
-+ fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>;
-+ };
-+
-+ 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
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_usdhc2: hummingboard2-usdhc2 {
-+ fsl,pins = <
-+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
-+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
-+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
-+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
-+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
-+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_usdhc2_100mhz: hummingboard2-usdhc2-100mhz {
-+ fsl,pins = <
-+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170b9
-+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100b9
-+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170b9
-+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170b9
-+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170b9
-+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130b9
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_usdhc2_200mhz: hummingboard2-usdhc2-200mhz {
-+ fsl,pins = <
-+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x170f9
-+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x100f9
-+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170f9
-+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170f9
-+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170f9
-+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130f9
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_usdhc3: hummingboard2-usdhc3 {
-+ fsl,pins = <
-+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
-+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
-+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
-+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
-+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
-+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
-+ MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
-+ MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
-+ MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
-+ MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
-+ MX6QDL_PAD_SD3_RST__SD3_RESET 0x17059
-+ >;
-+ };
-+
-+ pinctrl_hummingboard2_uart3: hummingboard2-uart3 {
-+ fsl,pins = <
-+ MX6QDL_PAD_EIM_D25__UART3_TX_DATA 0x1b0b1
-+ MX6QDL_PAD_EIM_D24__UART3_RX_DATA 0x40013000
-+ >;
-+ };
-+ };
-+};
-+
-+&ldb {
-+ status = "disabled";
-+
-+ lvds-channel@0 {
-+ fsl,data-mapping = "spwg";
-+ fsl,data-width = <18>;
-+ };
-+};
-+
-+&pcie {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>;
-+ reset-gpio = <&gpio2 11 0>;
-+ status = "okay";
-+};
-+
-+&pwm1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_pwm1>;
-+ status = "okay";
-+};
-+
-+&pwm3 {
-+ status = "disabled";
-+};
-+
-+&pwm4 {
-+ status = "disabled";
-+};
-+
-+&ssi1 {
-+ status = "okay";
-+};
-+
-+&usbh1 {
-+ disable-over-current;
-+ vbus-supply = <&reg_usbh1_vbus>;
-+ status = "okay";
-+};
-+
-+&usbotg {
-+ disable-over-current;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_usbotg_id>;
-+ vbus-supply = <&reg_usbotg_vbus>;
-+ status = "okay";
-+};
-+
-+&usdhc2 {
-+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
-+ pinctrl-0 = <
-+ &pinctrl_hummingboard2_usdhc2_aux
-+ &pinctrl_hummingboard2_usdhc2
-+ >;
-+ pinctrl-1 = <
-+ &pinctrl_hummingboard2_usdhc2_aux
-+ &pinctrl_hummingboard2_usdhc2_100mhz
-+ >;
-+ pinctrl-2 = <
-+ &pinctrl_hummingboard2_usdhc2_aux
-+ &pinctrl_hummingboard2_usdhc2_200mhz
-+ >;
-+ mmc-pwrseq = <&usdhc2_pwrseq>;
-+ cd-gpios = <&gpio1 4 0>;
-+ status = "okay";
-+};
-+
-+&usdhc3 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <
-+ &pinctrl_hummingboard2_usdhc3
-+ >;
-+ vmmc-supply = <&reg_3p3v>;
-+ vqmmc-supply = <&reg_3p3v>;
-+ bus-width = <8>;
-+ non-removable;
-+ status = "okay";
-+};
-+
-+&uart3 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_hummingboard2_uart3>;
-+ status = "okay";
-+};
---
-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/arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch b/arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch
deleted file mode 100644
index 4eaf67e33..000000000
--- a/arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From patchwork Mon Jan 8 15:44:19 2018
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2] mmc: sdhci_f_sdh30: add ACPI support
-From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-X-Patchwork-Id: 10149775
-Message-Id: <20180108154419.2821-1-ard.biesheuvel@linaro.org>
-To: linux-mmc@vger.kernel.org
-Cc: adrian.hunter@intel.com, ulf.hansson@linaro.org,
- Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Date: Mon, 8 Jan 2018 15:44:19 +0000
-
-The Fujitsu SDH30 SDHCI controller may be described as a SCX0002 ACPI
-device on ACPI platforms incorporating the Socionext SynQuacer SoC.
-
-Given that mmc_of_parse() has already been made ACPI/DT agnostic,
-making the SDH30 driver ACPI capable is actually rather simple:
-all we need to do is make the call to sdhci_get_of_property() [which
-does not set any properties we care about] and the clock handling
-dependent on whether we are dealing with a DT device, and exposing
-the ACPI id via the platform_driver struct and the module metadata.
-
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
----
-v2: make OF optional now that ACPI is supported
- drop dev_of_node() check when disabling the clocks - those routines
- tolerate NULL pointers so there's no need
-
- drivers/mmc/host/Kconfig | 2 +-
- drivers/mmc/host/sdhci_f_sdh30.c | 52 +++++++++++++-------
- 2 files changed, 35 insertions(+), 19 deletions(-)
-
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 567028c9219a..07ed947ed10b 100644
---- a/drivers/mmc/host/Kconfig
-+++ b/drivers/mmc/host/Kconfig
-@@ -320,7 +320,7 @@ config MMC_SDHCI_BCM_KONA
- config MMC_SDHCI_F_SDH30
- tristate "SDHCI support for Fujitsu Semiconductor F_SDH30"
- depends on MMC_SDHCI_PLTFM
-- depends on OF
-+ depends on OF || ACPI
- help
- This selects the Secure Digital Host Controller Interface (SDHCI)
- Needed by some Fujitsu SoC for MMC / SD / SDIO support.
-diff --git a/drivers/mmc/host/sdhci_f_sdh30.c b/drivers/mmc/host/sdhci_f_sdh30.c
-index 04ca0d33a521..485f7591fae4 100644
---- a/drivers/mmc/host/sdhci_f_sdh30.c
-+++ b/drivers/mmc/host/sdhci_f_sdh30.c
-@@ -10,9 +10,11 @@
- * the Free Software Foundation, version 2 of the License.
- */
-
-+#include <linux/acpi.h>
- #include <linux/err.h>
- #include <linux/delay.h>
- #include <linux/module.h>
-+#include <linux/of.h>
- #include <linux/property.h>
- #include <linux/clk.h>
-
-@@ -146,7 +148,6 @@ static int sdhci_f_sdh30_probe(struct platform_device *pdev)
-
- platform_set_drvdata(pdev, host);
-
-- sdhci_get_of_property(pdev);
- host->hw_name = "f_sdh30";
- host->ops = &sdhci_f_sdh30_ops;
- host->irq = irq;
-@@ -158,25 +159,29 @@ static int sdhci_f_sdh30_probe(struct platform_device *pdev)
- goto err;
- }
-
-- priv->clk_iface = devm_clk_get(&pdev->dev, "iface");
-- if (IS_ERR(priv->clk_iface)) {
-- ret = PTR_ERR(priv->clk_iface);
-- goto err;
-- }
-+ if (dev_of_node(dev)) {
-+ sdhci_get_of_property(pdev);
-
-- ret = clk_prepare_enable(priv->clk_iface);
-- if (ret)
-- goto err;
-+ priv->clk_iface = devm_clk_get(&pdev->dev, "iface");
-+ if (IS_ERR(priv->clk_iface)) {
-+ ret = PTR_ERR(priv->clk_iface);
-+ goto err;
-+ }
-
-- priv->clk = devm_clk_get(&pdev->dev, "core");
-- if (IS_ERR(priv->clk)) {
-- ret = PTR_ERR(priv->clk);
-- goto err_clk;
-- }
-+ ret = clk_prepare_enable(priv->clk_iface);
-+ if (ret)
-+ goto err;
-
-- ret = clk_prepare_enable(priv->clk);
-- if (ret)
-- goto err_clk;
-+ priv->clk = devm_clk_get(&pdev->dev, "core");
-+ if (IS_ERR(priv->clk)) {
-+ ret = PTR_ERR(priv->clk);
-+ goto err_clk;
-+ }
-+
-+ ret = clk_prepare_enable(priv->clk);
-+ if (ret)
-+ goto err_clk;
-+ }
-
- /* init vendor specific regs */
- ctrl = sdhci_readw(host, F_SDH30_AHB_CONFIG);
-@@ -226,16 +231,27 @@ static int sdhci_f_sdh30_remove(struct platform_device *pdev)
- return 0;
- }
-
-+#ifdef CONFIG_OF
- static const struct of_device_id f_sdh30_dt_ids[] = {
- { .compatible = "fujitsu,mb86s70-sdhci-3.0" },
- { /* sentinel */ }
- };
- MODULE_DEVICE_TABLE(of, f_sdh30_dt_ids);
-+#endif
-+
-+#ifdef CONFIG_ACPI
-+static const struct acpi_device_id f_sdh30_acpi_ids[] = {
-+ { "SCX0002" },
-+ { /* sentinel */ }
-+};
-+MODULE_DEVICE_TABLE(acpi, f_sdh30_acpi_ids);
-+#endif
-
- static struct platform_driver sdhci_f_sdh30_driver = {
- .driver = {
- .name = "f_sdh30",
-- .of_match_table = f_sdh30_dt_ids,
-+ .of_match_table = of_match_ptr(f_sdh30_dt_ids),
-+ .acpi_match_table = ACPI_PTR(f_sdh30_acpi_ids),
- .pm = &sdhci_pltfm_pmops,
- },
- .probe = sdhci_f_sdh30_probe,
diff --git a/arm64-socionext-96b-enablement.patch b/arm64-socionext-96b-enablement.patch
deleted file mode 100644
index d5d6cda86..000000000
--- a/arm64-socionext-96b-enablement.patch
+++ /dev/null
@@ -1,2679 +0,0 @@
-From e3dff048a10f16aa0fd32438442ce39558bbdbef Mon Sep 17 00:00:00 2001
-From: Jassi Brar <jaswinder.singh@linaro.org>
-Date: Tue, 29 Aug 2017 22:45:59 +0530
-Subject: net: socionext: Add Synquacer NetSec driver
-
-This driver adds support for Socionext "netsec" IP Gigabit
-Ethernet + PHY IP used in the Synquacer SC2A11 SoC.
-
-Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
----
- drivers/net/ethernet/Kconfig | 1 +
- drivers/net/ethernet/Makefile | 1 +
- drivers/net/ethernet/socionext/Kconfig | 29 +
- drivers/net/ethernet/socionext/Makefile | 1 +
- drivers/net/ethernet/socionext/netsec/Makefile | 6 +
- drivers/net/ethernet/socionext/netsec/netsec.h | 408 ++++++++++++++
- .../socionext/netsec/netsec_desc_ring_access.c | 623 +++++++++++++++++++++
- .../net/ethernet/socionext/netsec/netsec_ethtool.c | 78 +++
- .../ethernet/socionext/netsec/netsec_gmac_access.c | 330 +++++++++++
- .../net/ethernet/socionext/netsec/netsec_netdev.c | 540 ++++++++++++++++++
- .../ethernet/socionext/netsec/netsec_platform.c | 435 ++++++++++++++
- 11 files changed, 2452 insertions(+)
- create mode 100644 drivers/net/ethernet/socionext/Kconfig
- create mode 100644 drivers/net/ethernet/socionext/Makefile
- create mode 100644 drivers/net/ethernet/socionext/netsec/Makefile
- create mode 100644 drivers/net/ethernet/socionext/netsec/netsec.h
- create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
- create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
- create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
- create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_netdev.c
- create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_platform.c
-
-diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
-index c604213..d50519e 100644
---- a/drivers/net/ethernet/Kconfig
-+++ b/drivers/net/ethernet/Kconfig
-@@ -170,6 +170,7 @@ source "drivers/net/ethernet/sis/Kconfig"
- source "drivers/net/ethernet/sfc/Kconfig"
- source "drivers/net/ethernet/sgi/Kconfig"
- source "drivers/net/ethernet/smsc/Kconfig"
-+source "drivers/net/ethernet/socionext/Kconfig"
- source "drivers/net/ethernet/stmicro/Kconfig"
- source "drivers/net/ethernet/sun/Kconfig"
- source "drivers/net/ethernet/tehuti/Kconfig"
-diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
-index a0a03d4..6ae1bb9 100644
---- a/drivers/net/ethernet/Makefile
-+++ b/drivers/net/ethernet/Makefile
-@@ -81,6 +81,7 @@ obj-$(CONFIG_SFC) += sfc/
- obj-$(CONFIG_SFC_FALCON) += sfc/falcon/
- obj-$(CONFIG_NET_VENDOR_SGI) += sgi/
- obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/
-+obj-$(CONFIG_NET_VENDOR_SNI) += socionext/
- obj-$(CONFIG_NET_VENDOR_STMICRO) += stmicro/
- obj-$(CONFIG_NET_VENDOR_SUN) += sun/
- obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/
-diff --git a/drivers/net/ethernet/socionext/Kconfig b/drivers/net/ethernet/socionext/Kconfig
-new file mode 100644
-index 0000000..a6dc195
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/Kconfig
-@@ -0,0 +1,29 @@
-+#
-+# Socionext Network device configuration
-+#
-+
-+config NET_VENDOR_SNI
-+ bool "Socionext devices"
-+ default y
-+ ---help---
-+ If you have a network (Ethernet) card belonging to this class, say Y.
-+
-+ Note that the answer to this question doesn't directly affect the
-+ the questions about Socionext cards. If you say Y, you will be asked
-+ for your specific card in the following questions.
-+
-+if NET_VENDOR_SNI
-+
-+config SNI_NETSEC
-+ tristate "NETSEC Driver Support"
-+ depends on OF
-+ select PHYLIB
-+ select MII
-+help
-+ Enable to add support for the SocioNext NetSec Gigabit Ethernet
-+ controller + PHY, as found on the Synquacer SC2A11 SoC
-+
-+ To compile this driver as a module, choose M here: the module will be
-+ called netsec. If unsure, say N.
-+
-+endif # NET_VENDOR_SNI
-diff --git a/drivers/net/ethernet/socionext/Makefile b/drivers/net/ethernet/socionext/Makefile
-new file mode 100644
-index 0000000..9555899
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/Makefile
-@@ -0,0 +1 @@
-+obj-$(CONFIG_SNI_NETSEC) += netsec/
-diff --git a/drivers/net/ethernet/socionext/netsec/Makefile b/drivers/net/ethernet/socionext/netsec/Makefile
-new file mode 100644
-index 0000000..18884ed
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/netsec/Makefile
-@@ -0,0 +1,6 @@
-+obj-$(CONFIG_SNI_NETSEC) := netsec.o
-+netsec-objs := netsec_desc_ring_access.o \
-+ netsec_netdev.o \
-+ netsec_ethtool.o \
-+ netsec_platform.o \
-+ netsec_gmac_access.o
-diff --git a/drivers/net/ethernet/socionext/netsec/netsec.h b/drivers/net/ethernet/socionext/netsec/netsec.h
-new file mode 100644
-index 0000000..3b97661
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/netsec/netsec.h
-@@ -0,0 +1,408 @@
-+/**
-+ * netsec.h
-+ *
-+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
-+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
-+ * Andy Green <andy.green@linaro.org>
-+ * Jassi Brar <jaswinder.singh@linaro.org>
-+ * Ard Biesheuvel <ard.biesheuvel@linaro.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.
-+ */
-+#ifndef NETSEC_INTERNAL_H
-+#define NETSEC_INTERNAL_H
-+
-+#include <linux/netdevice.h>
-+#include <linux/types.h>
-+#include <linux/device.h>
-+#include <linux/phy.h>
-+#include <linux/ethtool.h>
-+#include <linux/of_address.h>
-+#include <linux/of_mdio.h>
-+#include <linux/etherdevice.h>
-+#include <net/sock.h>
-+
-+#define NETSEC_FLOW_CONTROL_START_THRESHOLD 36
-+#define NETSEC_FLOW_CONTROL_STOP_THRESHOLD 48
-+
-+#define NETSEC_CLK_MHZ 1000000
-+
-+#define NETSEC_RX_PKT_BUF_LEN 1522
-+#define NETSEC_RX_JUMBO_PKT_BUF_LEN 9022
-+
-+#define NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX 19
-+
-+#define DESC_NUM 128
-+
-+#define NETSEC_TX_SHIFT_OWN_FIELD 31
-+#define NETSEC_TX_SHIFT_LD_FIELD 30
-+#define NETSEC_TX_SHIFT_DRID_FIELD 24
-+#define NETSEC_TX_SHIFT_PT_FIELD 21
-+#define NETSEC_TX_SHIFT_TDRID_FIELD 16
-+#define NETSEC_TX_SHIFT_CC_FIELD 15
-+#define NETSEC_TX_SHIFT_FS_FIELD 9
-+#define NETSEC_TX_LAST 8
-+#define NETSEC_TX_SHIFT_CO 7
-+#define NETSEC_TX_SHIFT_SO 6
-+#define NETSEC_TX_SHIFT_TRS_FIELD 4
-+
-+#define NETSEC_RX_PKT_OWN_FIELD 31
-+#define NETSEC_RX_PKT_LD_FIELD 30
-+#define NETSEC_RX_PKT_SDRID_FIELD 24
-+#define NETSEC_RX_PKT_FR_FIELD 23
-+#define NETSEC_RX_PKT_ER_FIELD 21
-+#define NETSEC_RX_PKT_ERR_FIELD 16
-+#define NETSEC_RX_PKT_TDRID_FIELD 12
-+#define NETSEC_RX_PKT_FS_FIELD 9
-+#define NETSEC_RX_PKT_LS_FIELD 8
-+#define NETSEC_RX_PKT_CO_FIELD 6
-+
-+#define NETSEC_RX_PKT_ERR_MASK 3
-+
-+#define NETSEC_MAX_TX_PKT_LEN 1518
-+#define NETSEC_MAX_TX_JUMBO_PKT_LEN 9018
-+
-+enum netsec_rings {
-+ NETSEC_RING_TX,
-+ NETSEC_RING_RX
-+};
-+
-+#define NETSEC_RING_GMAC 15
-+#define NETSEC_RING_MAX 1
-+
-+#define NETSEC_TCP_SEG_LEN_MAX 1460
-+#define NETSEC_TCP_JUMBO_SEG_LEN_MAX 8960
-+
-+#define NETSEC_RX_CKSUM_NOTAVAIL 0
-+#define NETSEC_RX_CKSUM_OK 1
-+#define NETSEC_RX_CKSUM_NG 2
-+
-+#define NETSEC_TOP_IRQ_REG_CODE_LOAD_END BIT(20)
-+#define NETSEC_IRQ_TRANSITION_COMPLETE BIT(4)
-+#define NETSEC_IRQ_RX BIT(1)
-+#define NETSEC_IRQ_TX BIT(0)
-+
-+#define NETSEC_IRQ_EMPTY BIT(17)
-+#define NETSEC_IRQ_ERR BIT(16)
-+#define NETSEC_IRQ_PKT_CNT BIT(15)
-+#define NETSEC_IRQ_TIMEUP BIT(14)
-+#define NETSEC_IRQ_RCV (NETSEC_IRQ_PKT_CNT | \
-+ NETSEC_IRQ_TIMEUP)
-+
-+#define NETSEC_IRQ_TX_DONE BIT(15)
-+#define NETSEC_IRQ_SND (NETSEC_IRQ_TX_DONE | \
-+ NETSEC_IRQ_TIMEUP)
-+
-+#define NETSEC_MODE_TRANS_COMP_IRQ_N2T BIT(20)
-+#define NETSEC_MODE_TRANS_COMP_IRQ_T2N BIT(19)
-+
-+#define NETSEC_DESC_MIN 2
-+#define NETSEC_DESC_MAX 2047
-+#define NETSEC_INT_PKTCNT_MAX 2047
-+
-+#define NETSEC_FLOW_START_TH_MAX 95
-+#define NETSEC_FLOW_STOP_TH_MAX 95
-+#define NETSEC_FLOW_PAUSE_TIME_MIN 5
-+
-+#define NETSEC_CLK_EN_REG_DOM_ALL 0x3f
-+
-+#define NETSEC_REG_TOP_STATUS 0x80
-+#define NETSEC_REG_TOP_INTEN 0x81
-+#define NETSEC_REG_INTEN_SET 0x8d
-+#define NETSEC_REG_INTEN_CLR 0x8e
-+#define NETSEC_REG_NRM_TX_STATUS 0x100
-+#define NETSEC_REG_NRM_TX_INTEN 0x101
-+#define NETSEC_REG_NRM_TX_INTEN_SET 0x10a
-+#define NETSEC_REG_NRM_TX_INTEN_CLR 0x10b
-+#define NETSEC_REG_NRM_RX_STATUS 0x110
-+#define NETSEC_REG_NRM_RX_INTEN 0x111
-+#define NETSEC_REG_NRM_RX_INTEN_SET 0x11a
-+#define NETSEC_REG_NRM_RX_INTEN_CLR 0x11b
-+#define NETSEC_REG_RESERVED_RX_DESC_START 0x122
-+#define NETSEC_REG_RESERVED_TX_DESC_START 0x132
-+#define NETSEC_REG_CLK_EN 0x40
-+#define NETSEC_REG_SOFT_RST 0x41
-+#define NETSEC_REG_PKT_CMD_BUF 0x34
-+#define NETSEC_REG_PKT_CTRL 0x50
-+#define NETSEC_REG_COM_INIT 0x48
-+#define NETSEC_REG_DMA_TMR_CTRL 0x83
-+#define NETSEC_REG_F_TAIKI_MC_VER 0x8b
-+#define NETSEC_REG_F_TAIKI_VER 0x8c
-+#define NETSEC_REG_DMA_HM_CTRL 0x85
-+#define NETSEC_REG_DMA_MH_CTRL 0x88
-+#define NETSEC_REG_ADDR_DIS_CORE 0x86
-+#define NETSEC_REG_DMAC_HM_CMD_BUF 0x84
-+#define NETSEC_REG_DMAC_MH_CMD_BUF 0x87
-+#define NETSEC_REG_NRM_TX_PKTCNT 0x104
-+#define NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT 0x106
-+#define NETSEC_REG_NRM_RX_RXINT_PKTCNT 0x116
-+#define NETSEC_REG_NRM_TX_TXINT_TMR 0x108
-+#define NETSEC_REG_NRM_RX_RXINT_TMR 0x118
-+#define NETSEC_REG_NRM_TX_DONE_PKTCNT 0x105
-+#define NETSEC_REG_NRM_RX_PKTCNT 0x115
-+#define NETSEC_REG_NRM_TX_TMR 0x107
-+#define NETSEC_REG_NRM_RX_TMR 0x117
-+#define NETSEC_REG_NRM_TX_DESC_START_UP 0x10d
-+#define NETSEC_REG_NRM_TX_DESC_START_LW 0x102
-+#define NETSEC_REG_NRM_RX_DESC_START_UP 0x11d
-+#define NETSEC_REG_NRM_RX_DESC_START_LW 0x112
-+#define NETSEC_REG_NRM_TX_CONFIG 0x10c
-+#define NETSEC_REG_NRM_RX_CONFIG 0x11c
-+#define MAC_REG_DATA 0x470
-+#define MAC_REG_CMD 0x471
-+#define MAC_REG_FLOW_TH 0x473
-+#define MAC_REG_INTF_SEL 0x475
-+#define MAC_REG_DESC_INIT 0x47f
-+#define MAC_REG_DESC_SOFT_RST 0x481
-+#define NETSEC_REG_MODE_TRANS_COMP_STATUS 0x140
-+#define GMAC_REG_MCR 0x0000
-+#define GMAC_REG_MFFR 0x0004
-+#define GMAC_REG_GAR 0x0010
-+#define GMAC_REG_GDR 0x0014
-+#define GMAC_REG_FCR 0x0018
-+#define GMAC_REG_BMR 0x1000
-+#define GMAC_REG_RDLAR 0x100c
-+#define GMAC_REG_TDLAR 0x1010
-+#define GMAC_REG_OMR 0x1018
-+
-+#define NETSEC_PKT_CTRL_REG_MODE_NRM BIT(28)
-+#define NETSEC_PKT_CTRL_REG_EN_JUMBO BIT(27)
-+#define NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER BIT(3)
-+#define NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE BIT(2)
-+#define NETSEC_PKT_CTRL_REG_LOG_HD_ER BIT(1)
-+#define NETSEC_PKT_CTRL_REG_DRP_NO_MATCH BIT(0)
-+
-+#define NETSEC_CLK_EN_REG_DOM_G BIT(5)
-+#define NETSEC_CLK_EN_REG_DOM_C BIT(1)
-+#define NETSEC_CLK_EN_REG_DOM_D BIT(0)
-+
-+#define NETSEC_COM_INIT_REG_DB BIT(2)
-+#define NETSEC_COM_INIT_REG_CLS BIT(1)
-+#define NETSEC_COM_INIT_REG_ALL (NETSEC_COM_INIT_REG_CLS | \
-+ NETSEC_COM_INIT_REG_DB)
-+
-+#define NETSEC_SOFT_RST_REG_RESET 0
-+#define NETSEC_SOFT_RST_REG_RUN BIT(31)
-+
-+#define NETSEC_DMA_CTRL_REG_STOP 1
-+#define MH_CTRL__MODE_TRANS BIT(20)
-+
-+#define NETSEC_GMAC_CMD_ST_READ 0
-+#define NETSEC_GMAC_CMD_ST_WRITE BIT(28)
-+#define NETSEC_GMAC_CMD_ST_BUSY BIT(31)
-+
-+#define NETSEC_GMAC_BMR_REG_COMMON 0x00412080
-+#define NETSEC_GMAC_BMR_REG_RESET 0x00020181
-+#define NETSEC_GMAC_BMR_REG_SWR 0x00000001
-+
-+#define NETSEC_GMAC_OMR_REG_ST BIT(13)
-+#define NETSEC_GMAC_OMR_REG_SR BIT(1)
-+
-+#define NETSEC_GMAC_MCR_REG_IBN BIT(30)
-+#define NETSEC_GMAC_MCR_REG_CST BIT(25)
-+#define NETSEC_GMAC_MCR_REG_JE BIT(20)
-+#define NETSEC_MCR_PS BIT(15)
-+#define NETSEC_GMAC_MCR_REG_FES BIT(14)
-+#define NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON 0x0000280c
-+#define NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON 0x0001a00c
-+
-+#define NETSEC_FCR_RFE BIT(2)
-+#define NETSEC_FCR_TFE BIT(1)
-+
-+#define NETSEC_GMAC_GAR_REG_GW BIT(1)
-+#define NETSEC_GMAC_GAR_REG_GB BIT(0)
-+
-+#define NETSEC_GMAC_GAR_REG_SHIFT_PA 11
-+#define NETSEC_GMAC_GAR_REG_SHIFT_GR 6
-+#define GMAC_REG_SHIFT_CR_GAR 2
-+
-+#define NETSEC_GMAC_GAR_REG_CR_25_35_MHZ 2
-+#define NETSEC_GMAC_GAR_REG_CR_35_60_MHZ 3
-+#define NETSEC_GMAC_GAR_REG_CR_60_100_MHZ 0
-+#define NETSEC_GMAC_GAR_REG_CR_100_150_MHZ 1
-+#define NETSEC_GMAC_GAR_REG_CR_150_250_MHZ 4
-+#define NETSEC_GMAC_GAR_REG_CR_250_300_MHZ 5
-+
-+#define NETSEC_GMAC_RDLAR_REG_COMMON 0x18000
-+#define NETSEC_GMAC_TDLAR_REG_COMMON 0x1c000
-+
-+#define NETSEC_REG_NETSEC_VER_F_TAIKI 0x50000
-+
-+#define NETSEC_REG_DESC_RING_CONFIG_CFG_UP BIT(31)
-+#define NETSEC_REG_DESC_RING_CONFIG_CH_RST BIT(30)
-+#define NETSEC_REG_DESC_TMR_MODE 4
-+#define NETSEC_REG_DESC_ENDIAN 0
-+
-+#define NETSEC_MAC_DESC_SOFT_RST_SOFT_RST 1
-+#define NETSEC_MAC_DESC_INIT_REG_INIT 1
-+
-+#define NETSEC_EEPROM_MAC_ADDRESS 0x00
-+#define NETSEC_EEPROM_HM_ME_ADDRESS_H 0x08
-+#define NETSEC_EEPROM_HM_ME_ADDRESS_L 0x0C
-+#define NETSEC_EEPROM_HM_ME_SIZE 0x10
-+#define NETSEC_EEPROM_MH_ME_ADDRESS_H 0x14
-+#define NETSEC_EEPROM_MH_ME_ADDRESS_L 0x18
-+#define NETSEC_EEPROM_MH_ME_SIZE 0x1C
-+#define NETSEC_EEPROM_PKT_ME_ADDRESS 0x20
-+#define NETSEC_EEPROM_PKT_ME_SIZE 0x24
-+
-+/* this is used to interpret a register layout */
-+struct netsec_pkt_ctrlaram {
-+ u8 log_chksum_er_flag:1;
-+ u8 log_hd_imcomplete_flag:1;
-+ u8 log_hd_er_flag:1;
-+};
-+
-+struct netsec_param {
-+ struct netsec_pkt_ctrlaram pkt_ctrlaram;
-+ bool use_jumbo_pkt_flag;
-+};
-+
-+struct netsec_mac_mode {
-+ u16 flow_start_th;
-+ u16 flow_stop_th;
-+ u16 pause_time;
-+ bool flow_ctrl_enable_flag;
-+};
-+
-+struct netsec_desc_ring {
-+ spinlock_t spinlock_desc; /* protect descriptor access */
-+ phys_addr_t desc_phys;
-+ struct netsec_frag_info *frag;
-+ struct sk_buff **priv;
-+ void *ring_vaddr;
-+ enum netsec_rings id;
-+ int len;
-+ u16 tx_done_num;
-+ u16 rx_num;
-+ u16 head;
-+ u16 tail;
-+ bool running;
-+ bool full;
-+};
-+
-+struct netsec_frag_info {
-+ dma_addr_t dma_addr;
-+ void *addr;
-+ u16 len;
-+};
-+
-+struct netsec_priv {
-+ struct netsec_desc_ring desc_ring[NETSEC_RING_MAX + 1];
-+ struct ethtool_coalesce et_coalesce;
-+ struct netsec_mac_mode mac_mode;
-+ struct netsec_param param;
-+ struct napi_struct napi;
-+ phy_interface_t phy_interface;
-+ spinlock_t tx_queue_lock; /* protect transmit queue */
-+ struct netsec_frag_info tx_info[MAX_SKB_FRAGS];
-+ struct net_device *ndev;
-+ struct device_node *phy_np;
-+ struct phy_device *phydev;
-+ struct mii_bus *mii_bus;
-+ void __iomem *ioaddr;
-+ const void *eeprom_base;
-+ struct device *dev;
-+ struct clk *clk[3];
-+ u32 rx_pkt_buf_len;
-+ u32 msg_enable;
-+ u32 freq;
-+ int actual_link_speed;
-+ int clock_count;
-+ bool rx_cksum_offload_flag;
-+ bool actual_duplex;
-+ bool irq_registered;
-+};
-+
-+struct netsec_tx_de {
-+ u32 attr;
-+ u32 data_buf_addr_up;
-+ u32 data_buf_addr_lw;
-+ u32 buf_len_info;
-+};
-+
-+struct netsec_rx_de {
-+ u32 attr;
-+ u32 data_buf_addr_up;
-+ u32 data_buf_addr_lw;
-+ u32 buf_len_info;
-+};
-+
-+struct netsec_tx_pkt_ctrl {
-+ u16 tcp_seg_len;
-+ bool tcp_seg_offload_flag;
-+ bool cksum_offload_flag;
-+};
-+
-+struct netsec_rx_pkt_info {
-+ int rx_cksum_result;
-+ int err_code;
-+ bool is_fragmented;
-+ bool err_flag;
-+};
-+
-+struct netsec_skb_cb {
-+ bool is_rx;
-+};
-+
-+static inline void netsec_writel(struct netsec_priv *priv,
-+ u32 reg_addr, u32 val)
-+{
-+ writel_relaxed(val, priv->ioaddr + (reg_addr << 2));
-+}
-+
-+static inline u32 netsec_readl(struct netsec_priv *priv, u32 reg_addr)
-+{
-+ return readl_relaxed(priv->ioaddr + (reg_addr << 2));
-+}
-+
-+static inline void netsec_mark_skb_type(struct sk_buff *skb, bool is_rx)
-+{
-+ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb;
-+
-+ cb->is_rx = is_rx;
-+}
-+
-+static inline bool skb_is_rx(struct sk_buff *skb)
-+{
-+ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb;
-+
-+ return cb->is_rx;
-+}
-+
-+extern const struct net_device_ops netsec_netdev_ops;
-+extern const struct ethtool_ops netsec_ethtool_ops;
-+
-+int netsec_start_gmac(struct netsec_priv *priv);
-+int netsec_stop_gmac(struct netsec_priv *priv);
-+int netsec_mii_register(struct netsec_priv *priv);
-+void netsec_mii_unregister(struct netsec_priv *priv);
-+int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id);
-+void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id);
-+u16 netsec_get_rx_num(struct netsec_priv *priv);
-+u16 netsec_get_tx_avail_num(struct netsec_priv *priv);
-+int netsec_clean_tx_desc_ring(struct netsec_priv *priv);
-+int netsec_clean_rx_desc_ring(struct netsec_priv *priv);
-+int netsec_set_tx_pkt_data(struct netsec_priv *priv,
-+ const struct netsec_tx_pkt_ctrl *tx_ctrl,
-+ u8 count_frags, const struct netsec_frag_info *info,
-+ struct sk_buff *skb);
-+int netsec_get_rx_pkt_data(struct netsec_priv *priv,
-+ struct netsec_rx_pkt_info *rxpi,
-+ struct netsec_frag_info *frag, u16 *len,
-+ struct sk_buff **skb);
-+void netsec_ring_irq_enable(struct netsec_priv *priv,
-+ enum netsec_rings id, u32 i);
-+void netsec_ring_irq_disable(struct netsec_priv *priv,
-+ enum netsec_rings id, u32 i);
-+int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id);
-+void netsec_free_desc_ring(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc);
-+int netsec_setup_rx_desc(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc);
-+int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget);
-+
-+#endif /* NETSEC_INTERNAL_H */
-diff --git a/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
-new file mode 100644
-index 0000000..a4e56cd
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
-@@ -0,0 +1,623 @@
-+/**
-+ * drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
-+ *
-+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
-+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
-+ * Andy Green <andy.green@linaro.org>
-+ * Jassi Brar <jaswinder.singh@linaro.org>
-+ * Ard Biesheuvel <ard.biesheuvel@linaro.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.
-+ */
-+
-+#include <linux/spinlock.h>
-+#include <linux/dma-mapping.h>
-+
-+#include "netsec.h"
-+
-+static const u32 ads_irq_set[] = {
-+ NETSEC_REG_NRM_TX_INTEN_SET,
-+ NETSEC_REG_NRM_RX_INTEN_SET,
-+};
-+
-+static const u32 desc_ring_irq_inten_clr_reg_addr[] = {
-+ NETSEC_REG_NRM_TX_INTEN_CLR,
-+ NETSEC_REG_NRM_RX_INTEN_CLR,
-+};
-+
-+static const u32 int_tmr_reg_addr[] = {
-+ NETSEC_REG_NRM_TX_TXINT_TMR,
-+ NETSEC_REG_NRM_RX_RXINT_TMR,
-+};
-+
-+static const u32 rx_pkt_cnt_reg_addr[] = {
-+ 0,
-+ NETSEC_REG_NRM_RX_PKTCNT,
-+};
-+
-+static const u32 tx_pkt_cnt_reg_addr[] = {
-+ NETSEC_REG_NRM_TX_PKTCNT,
-+ 0,
-+};
-+
-+static const u32 int_pkt_cnt_reg_addr[] = {
-+ NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT,
-+ NETSEC_REG_NRM_RX_RXINT_PKTCNT,
-+};
-+
-+static const u32 tx_done_pkt_addr[] = {
-+ NETSEC_REG_NRM_TX_DONE_PKTCNT,
-+ 0,
-+};
-+
-+static const u32 netsec_desc_mask[] = {
-+ [NETSEC_RING_TX] = NETSEC_GMAC_OMR_REG_ST,
-+ [NETSEC_RING_RX] = NETSEC_GMAC_OMR_REG_SR
-+};
-+
-+void netsec_ring_irq_enable(struct netsec_priv *priv,
-+ enum netsec_rings id, u32 irqf)
-+{
-+ netsec_writel(priv, ads_irq_set[id], irqf);
-+}
-+
-+void netsec_ring_irq_disable(struct netsec_priv *priv,
-+ enum netsec_rings id, u32 irqf)
-+{
-+ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id], irqf);
-+}
-+
-+static struct sk_buff *alloc_rx_pkt_buf(struct netsec_priv *priv,
-+ struct netsec_frag_info *info)
-+{
-+ struct sk_buff *skb;
-+
-+ if (device_get_dma_attr(priv->dev) == DEV_DMA_COHERENT) {
-+ skb = netdev_alloc_skb_ip_align(priv->ndev, info->len);
-+ } else {
-+ info->len = L1_CACHE_ALIGN(info->len);
-+ skb = netdev_alloc_skb(priv->ndev, info->len);
-+ }
-+ if (!skb)
-+ return NULL;
-+
-+ netsec_mark_skb_type(skb, NETSEC_RING_RX);
-+ info->addr = skb->data;
-+ info->dma_addr = dma_map_single(priv->dev, info->addr, info->len,
-+ DMA_FROM_DEVICE);
-+ if (dma_mapping_error(priv->dev, info->dma_addr)) {
-+ dev_kfree_skb(skb);
-+ return NULL;
-+ }
-+ return skb;
-+}
-+
-+int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[id];
-+ int ret = 0;
-+
-+ desc->id = id;
-+ desc->len = sizeof(struct netsec_tx_de); /* rx and tx desc same size */
-+
-+ spin_lock_init(&desc->spinlock_desc);
-+
-+ desc->ring_vaddr = dma_zalloc_coherent(priv->dev, desc->len * DESC_NUM,
-+ &desc->desc_phys, GFP_KERNEL);
-+ if (!desc->ring_vaddr) {
-+ ret = -ENOMEM;
-+ goto err;
-+ }
-+
-+ desc->frag = kcalloc(DESC_NUM, sizeof(*desc->frag), GFP_KERNEL);
-+ if (!desc->frag) {
-+ ret = -ENOMEM;
-+ goto err;
-+ }
-+
-+ desc->priv = kcalloc(DESC_NUM, sizeof(struct sk_buff *), GFP_KERNEL);
-+ if (!desc->priv) {
-+ ret = -ENOMEM;
-+ goto err;
-+ }
-+
-+ return 0;
-+
-+err:
-+ netsec_free_desc_ring(priv, desc);
-+
-+ return ret;
-+}
-+
-+static void netsec_uninit_pkt_desc_ring(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc)
-+{
-+ struct netsec_frag_info *frag;
-+ u32 status;
-+ u16 idx;
-+
-+ for (idx = 0; idx < DESC_NUM; idx++) {
-+ frag = &desc->frag[idx];
-+ if (!frag->addr)
-+ continue;
-+
-+ status = *(u32 *)(desc->ring_vaddr + desc->len * idx);
-+
-+ dma_unmap_single(priv->dev, frag->dma_addr, frag->len,
-+ skb_is_rx(desc->priv[idx]) ? DMA_FROM_DEVICE :
-+ DMA_TO_DEVICE);
-+ if ((status >> NETSEC_TX_LAST) & 1)
-+ dev_kfree_skb(desc->priv[idx]);
-+ }
-+
-+ memset(desc->frag, 0, sizeof(struct netsec_frag_info) * DESC_NUM);
-+ memset(desc->priv, 0, sizeof(struct sk_buff *) * DESC_NUM);
-+ memset(desc->ring_vaddr, 0, desc->len * DESC_NUM);
-+}
-+
-+void netsec_free_desc_ring(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc)
-+{
-+ if (desc->ring_vaddr && desc->frag && desc->priv)
-+ netsec_uninit_pkt_desc_ring(priv, desc);
-+
-+ if (desc->ring_vaddr) {
-+ dma_free_coherent(priv->dev, desc->len * DESC_NUM,
-+ desc->ring_vaddr, desc->desc_phys);
-+ desc->ring_vaddr = NULL;
-+ }
-+ kfree(desc->frag);
-+ desc->frag = NULL;
-+ kfree(desc->priv);
-+ desc->priv = NULL;
-+}
-+
-+static void netsec_set_rx_de(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc, u16 idx,
-+ const struct netsec_frag_info *info,
-+ struct sk_buff *skb)
-+{
-+ struct netsec_rx_de *de = desc->ring_vaddr + desc->len * idx;
-+ u32 attr = (1 << NETSEC_RX_PKT_OWN_FIELD) |
-+ (1 << NETSEC_RX_PKT_FS_FIELD) |
-+ (1 << NETSEC_RX_PKT_LS_FIELD);
-+
-+ if (idx == DESC_NUM - 1)
-+ attr |= (1 << NETSEC_RX_PKT_LD_FIELD);
-+
-+ de->data_buf_addr_up = upper_32_bits(info->dma_addr);
-+ de->data_buf_addr_lw = lower_32_bits(info->dma_addr);
-+ de->buf_len_info = info->len;
-+ /* desc->attr makes the descriptor live, so it must be physically
-+ * written last after the rest of the descriptor body is already there
-+ */
-+ dma_wmb();
-+ de->attr = attr;
-+
-+ desc->frag[idx].dma_addr = info->dma_addr;
-+ desc->frag[idx].addr = info->addr;
-+ desc->frag[idx].len = info->len;
-+
-+ desc->priv[idx] = skb;
-+}
-+
-+int netsec_setup_rx_desc(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc)
-+{
-+ struct netsec_frag_info info;
-+ struct sk_buff *skb;
-+ int n;
-+
-+ info.len = priv->rx_pkt_buf_len;
-+
-+ for (n = 0; n < DESC_NUM; n++) {
-+ skb = alloc_rx_pkt_buf(priv, &info);
-+ if (!skb) {
-+ netsec_uninit_pkt_desc_ring(priv, desc);
-+ return -ENOMEM;
-+ }
-+ netsec_set_rx_de(priv, desc, n, &info, skb);
-+ }
-+
-+ return 0;
-+}
-+
-+static void netsec_set_tx_desc_entry(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc,
-+ const struct netsec_tx_pkt_ctrl *tx_ctrl,
-+ bool first_flag, bool last_flag,
-+ const struct netsec_frag_info *frag,
-+ struct sk_buff *skb)
-+{
-+ struct netsec_tx_de *tx_desc_entry;
-+ int idx = desc->head;
-+ u32 attr;
-+
-+ tx_desc_entry = desc->ring_vaddr + (desc->len * idx);
-+
-+ attr = (1 << NETSEC_TX_SHIFT_OWN_FIELD) |
-+ (desc->id << NETSEC_TX_SHIFT_DRID_FIELD) |
-+ (1 << NETSEC_TX_SHIFT_PT_FIELD) |
-+ (NETSEC_RING_GMAC << NETSEC_TX_SHIFT_TDRID_FIELD) |
-+ (first_flag << NETSEC_TX_SHIFT_FS_FIELD) |
-+ (last_flag << NETSEC_TX_LAST) |
-+ (tx_ctrl->cksum_offload_flag << NETSEC_TX_SHIFT_CO) |
-+ (tx_ctrl->tcp_seg_offload_flag << NETSEC_TX_SHIFT_SO) |
-+ (1 << NETSEC_TX_SHIFT_TRS_FIELD);
-+ if (idx == DESC_NUM - 1)
-+ attr |= (1 << NETSEC_TX_SHIFT_LD_FIELD);
-+
-+ tx_desc_entry->data_buf_addr_up = upper_32_bits(frag->dma_addr);
-+ tx_desc_entry->data_buf_addr_lw = lower_32_bits(frag->dma_addr);
-+ tx_desc_entry->buf_len_info = (tx_ctrl->tcp_seg_len << 16) | frag->len;
-+ /* desc->attr makes the descriptor live, so it must be physically
-+ * written last after the rest of the descriptor body is already there
-+ */
-+ dma_wmb();
-+ tx_desc_entry->attr = attr;
-+
-+ desc->frag[idx] = *frag;
-+ desc->priv[idx] = skb;
-+}
-+
-+static void netsec_get_rx_de(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc, u16 idx,
-+ struct netsec_rx_pkt_info *rxpi,
-+ struct netsec_frag_info *frag, u16 *len,
-+ struct sk_buff **skb)
-+{
-+ struct netsec_rx_de de = {};
-+
-+ *rxpi = (struct netsec_rx_pkt_info){};
-+ memcpy(&de, desc->ring_vaddr + desc->len * idx, desc->len);
-+
-+ dev_dbg(priv->dev, "%08x\n", *(u32 *)&de);
-+ *len = de.buf_len_info >> 16;
-+
-+ rxpi->is_fragmented = (de.attr >> NETSEC_RX_PKT_FR_FIELD) & 1;
-+ rxpi->err_flag = (de.attr >> NETSEC_RX_PKT_ER_FIELD) & 1;
-+ rxpi->rx_cksum_result = (de.attr >> NETSEC_RX_PKT_CO_FIELD) & 3;
-+ rxpi->err_code = (de.attr >> NETSEC_RX_PKT_ERR_FIELD) &
-+ NETSEC_RX_PKT_ERR_MASK;
-+ *frag = desc->frag[idx];
-+ *skb = desc->priv[idx];
-+}
-+
-+static void netsec_inc_desc_head_idx(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc, u16 inc)
-+{
-+ u32 sum;
-+
-+ sum = desc->head + inc;
-+
-+ if (sum >= DESC_NUM)
-+ sum -= DESC_NUM;
-+
-+ desc->head = sum;
-+ desc->full = desc->head == desc->tail;
-+}
-+
-+static void netsec_inc_desc_tail_idx(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc)
-+{
-+ u32 sum;
-+
-+ sum = desc->tail + 1;
-+
-+ if (sum >= DESC_NUM)
-+ sum -= DESC_NUM;
-+
-+ desc->tail = sum;
-+ desc->full = false;
-+}
-+
-+static u16 netsec_get_tx_avail_num_sub(struct netsec_priv *priv,
-+ const struct netsec_desc_ring *desc)
-+{
-+ if (desc->full)
-+ return 0;
-+
-+ if (desc->tail > desc->head)
-+ return desc->tail - desc->head;
-+
-+ return DESC_NUM + desc->tail - desc->head;
-+}
-+
-+static u16 netsec_get_tx_done_num_sub(struct netsec_priv *priv,
-+ struct netsec_desc_ring *desc)
-+{
-+ desc->tx_done_num += netsec_readl(priv, tx_done_pkt_addr[desc->id]);
-+
-+ return desc->tx_done_num;
-+}
-+
-+static int netsec_set_irq_coalesce_param(struct netsec_priv *priv,
-+ enum netsec_rings id)
-+{
-+ int max_frames, tmr;
-+
-+ switch (id) {
-+ case NETSEC_RING_TX:
-+ max_frames = priv->et_coalesce.tx_max_coalesced_frames;
-+ tmr = priv->et_coalesce.tx_coalesce_usecs;
-+ break;
-+ case NETSEC_RING_RX:
-+ max_frames = priv->et_coalesce.rx_max_coalesced_frames;
-+ tmr = priv->et_coalesce.rx_coalesce_usecs;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ netsec_writel(priv, int_pkt_cnt_reg_addr[id], max_frames);
-+ netsec_writel(priv, int_tmr_reg_addr[id], ((tmr != 0) << 31) | tmr);
-+
-+ return 0;
-+}
-+
-+int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[id];
-+ int ret = 0;
-+
-+ spin_lock_bh(&desc->spinlock_desc);
-+
-+ if (desc->running) {
-+ ret = -EBUSY;
-+ goto err;
-+ }
-+
-+ switch (desc->id) {
-+ case NETSEC_RING_RX:
-+ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_RCV);
-+ break;
-+ case NETSEC_RING_TX:
-+ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_EMPTY);
-+ break;
-+ }
-+
-+ netsec_set_irq_coalesce_param(priv, desc->id);
-+ desc->running = true;
-+
-+err:
-+ spin_unlock_bh(&desc->spinlock_desc);
-+
-+ return ret;
-+}
-+
-+void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[id];
-+
-+ spin_lock_bh(&desc->spinlock_desc);
-+ if (desc->running)
-+ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id],
-+ NETSEC_IRQ_RCV | NETSEC_IRQ_EMPTY |
-+ NETSEC_IRQ_SND);
-+
-+ desc->running = false;
-+ spin_unlock_bh(&desc->spinlock_desc);
-+}
-+
-+u16 netsec_get_rx_num(struct netsec_priv *priv)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX];
-+ u32 result;
-+
-+ spin_lock(&desc->spinlock_desc);
-+ if (desc->running) {
-+ result = netsec_readl(priv,
-+ rx_pkt_cnt_reg_addr[NETSEC_RING_RX]);
-+ desc->rx_num += result;
-+ if (result)
-+ netsec_inc_desc_head_idx(priv, desc, result);
-+ }
-+ spin_unlock(&desc->spinlock_desc);
-+
-+ return desc->rx_num;
-+}
-+
-+u16 netsec_get_tx_avail_num(struct netsec_priv *priv)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX];
-+ u16 result;
-+
-+ spin_lock(&desc->spinlock_desc);
-+
-+ if (!desc->running) {
-+ netif_err(priv, drv, priv->ndev,
-+ "%s: not running tx desc\n", __func__);
-+ result = 0;
-+ goto err;
-+ }
-+
-+ result = netsec_get_tx_avail_num_sub(priv, desc);
-+
-+err:
-+ spin_unlock(&desc->spinlock_desc);
-+
-+ return result;
-+}
-+
-+int netsec_clean_tx_desc_ring(struct netsec_priv *priv)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX];
-+ unsigned int pkts = 0, bytes = 0;
-+ struct netsec_frag_info *frag;
-+ struct netsec_tx_de *entry;
-+ bool is_last;
-+
-+ spin_lock(&desc->spinlock_desc);
-+
-+ netsec_get_tx_done_num_sub(priv, desc);
-+
-+ while ((desc->tail != desc->head || desc->full) && desc->tx_done_num) {
-+ frag = &desc->frag[desc->tail];
-+ entry = desc->ring_vaddr + desc->len * desc->tail;
-+ is_last = (entry->attr >> NETSEC_TX_LAST) & 1;
-+
-+ dma_unmap_single(priv->dev, frag->dma_addr, frag->len,
-+ DMA_TO_DEVICE);
-+ if (is_last) {
-+ pkts++;
-+ bytes += desc->priv[desc->tail]->len;
-+ dev_kfree_skb(desc->priv[desc->tail]);
-+ }
-+ *frag = (struct netsec_frag_info){};
-+ netsec_inc_desc_tail_idx(priv, desc);
-+
-+ if (is_last)
-+ desc->tx_done_num--;
-+ }
-+
-+ spin_unlock(&desc->spinlock_desc);
-+
-+ priv->ndev->stats.tx_packets += pkts;
-+ priv->ndev->stats.tx_bytes += bytes;
-+
-+ netdev_completed_queue(priv->ndev, pkts, bytes);
-+
-+ return 0;
-+}
-+
-+int netsec_clean_rx_desc_ring(struct netsec_priv *priv)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX];
-+
-+ spin_lock(&desc->spinlock_desc);
-+
-+ while (desc->full || (desc->tail != desc->head)) {
-+ netsec_set_rx_de(priv, desc, desc->tail,
-+ &desc->frag[desc->tail],
-+ desc->priv[desc->tail]);
-+ desc->rx_num--;
-+ netsec_inc_desc_tail_idx(priv, desc);
-+ }
-+
-+ spin_unlock(&desc->spinlock_desc);
-+
-+ return 0;
-+}
-+
-+int netsec_set_tx_pkt_data(struct netsec_priv *priv,
-+ const struct netsec_tx_pkt_ctrl *tx_ctrl,
-+ u8 count_frags, const struct netsec_frag_info *info,
-+ struct sk_buff *skb)
-+{
-+ struct netsec_desc_ring *desc;
-+ u32 sum_len = 0;
-+ unsigned int i;
-+ int ret = 0;
-+
-+ if (tx_ctrl->tcp_seg_offload_flag && !tx_ctrl->cksum_offload_flag)
-+ return -EINVAL;
-+
-+ if (tx_ctrl->tcp_seg_offload_flag) {
-+ if (tx_ctrl->tcp_seg_len == 0)
-+ return -EINVAL;
-+
-+ if (priv->param.use_jumbo_pkt_flag) {
-+ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_JUMBO_SEG_LEN_MAX)
-+ return -EINVAL;
-+ } else {
-+ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_SEG_LEN_MAX)
-+ return -EINVAL;
-+ }
-+ } else {
-+ if (tx_ctrl->tcp_seg_len)
-+ return -EINVAL;
-+ }
-+
-+ if (!count_frags)
-+ return -ERANGE;
-+
-+ for (i = 0; i < count_frags; i++) {
-+ if ((info[i].len == 0) || (info[i].len > 0xffff)) {
-+ netif_err(priv, drv, priv->ndev,
-+ "%s: bad info len\n", __func__);
-+ return -EINVAL;
-+ }
-+ sum_len += info[i].len;
-+ }
-+
-+ if (!tx_ctrl->tcp_seg_offload_flag) {
-+ if (priv->param.use_jumbo_pkt_flag) {
-+ if (sum_len > NETSEC_MAX_TX_JUMBO_PKT_LEN)
-+ return -EINVAL;
-+ } else {
-+ if (sum_len > NETSEC_MAX_TX_PKT_LEN)
-+ return -EINVAL;
-+ }
-+ }
-+
-+ desc = &priv->desc_ring[NETSEC_RING_TX];
-+ spin_lock(&desc->spinlock_desc);
-+
-+ if (!desc->running) {
-+ ret = -ENODEV;
-+ goto end;
-+ }
-+
-+ dma_rmb(); /* we need to see a consistent view of pending tx count */
-+ if (count_frags > netsec_get_tx_avail_num_sub(priv, desc)) {
-+ ret = -EBUSY;
-+ goto end;
-+ }
-+
-+ for (i = 0; i < count_frags; i++) {
-+ netsec_set_tx_desc_entry(priv, desc, tx_ctrl, i == 0,
-+ i == count_frags - 1, &info[i], skb);
-+ netsec_inc_desc_head_idx(priv, desc, 1);
-+ }
-+
-+ dma_wmb(); /* ensure the descriptor is flushed */
-+ netsec_writel(priv, tx_pkt_cnt_reg_addr[NETSEC_RING_TX], 1);
-+
-+end:
-+ spin_unlock(&desc->spinlock_desc);
-+
-+ return ret;
-+}
-+
-+int netsec_get_rx_pkt_data(struct netsec_priv *priv,
-+ struct netsec_rx_pkt_info *rxpi,
-+ struct netsec_frag_info *frag, u16 *len,
-+ struct sk_buff **skb)
-+{
-+ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX];
-+ struct netsec_frag_info info;
-+ struct sk_buff *tmp_skb;
-+ int ret = 0;
-+
-+ spin_lock(&desc->spinlock_desc);
-+
-+ if (desc->rx_num == 0) {
-+ dev_err(priv->dev, "%s 0 len rx\n", __func__);
-+ ret = -EINVAL;
-+ goto err;
-+ }
-+
-+ info.len = priv->rx_pkt_buf_len;
-+ dma_rmb(); /* we need to ensure we only see current data in descriptor */
-+ tmp_skb = alloc_rx_pkt_buf(priv, &info);
-+ if (!tmp_skb) {
-+ netsec_set_rx_de(priv, desc, desc->tail,
-+ &desc->frag[desc->tail],
-+ desc->priv[desc->tail]);
-+ ret = -ENOMEM;
-+ } else {
-+ netsec_get_rx_de(priv, desc, desc->tail, rxpi, frag, len, skb);
-+ netsec_set_rx_de(priv, desc, desc->tail, &info, tmp_skb);
-+ }
-+
-+ netsec_inc_desc_tail_idx(priv, desc);
-+ desc->rx_num--;
-+
-+err:
-+ spin_unlock(&desc->spinlock_desc);
-+
-+ return ret;
-+}
-diff --git a/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
-new file mode 100644
-index 0000000..45830fe
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
-@@ -0,0 +1,78 @@
-+/**
-+ * drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
-+ *
-+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
-+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
-+ * Andy Green <andy.green@linaro.org>
-+ * Jassi Brar <jaswinder.singh@linaro.org>
-+ * Ard Biesheuvel <ard.biesheuvel@linaro.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.
-+ */
-+
-+#include "netsec.h"
-+
-+static void netsec_et_get_drvinfo(struct net_device *net_device,
-+ struct ethtool_drvinfo *info)
-+{
-+ strlcpy(info->driver, "netsec", sizeof(info->driver));
-+ strlcpy(info->bus_info, dev_name(net_device->dev.parent),
-+ sizeof(info->bus_info));
-+}
-+
-+static int netsec_et_get_coalesce(struct net_device *net_device,
-+ struct ethtool_coalesce *et_coalesce)
-+{
-+ struct netsec_priv *priv = netdev_priv(net_device);
-+
-+ *et_coalesce = priv->et_coalesce;
-+
-+ return 0;
-+}
-+
-+static int netsec_et_set_coalesce(struct net_device *net_device,
-+ struct ethtool_coalesce *et_coalesce)
-+{
-+ struct netsec_priv *priv = netdev_priv(net_device);
-+
-+ if (et_coalesce->rx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX)
-+ return -EINVAL;
-+ if (et_coalesce->tx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX)
-+ return -EINVAL;
-+ if (!et_coalesce->rx_max_coalesced_frames)
-+ return -EINVAL;
-+ if (!et_coalesce->tx_max_coalesced_frames)
-+ return -EINVAL;
-+
-+ priv->et_coalesce = *et_coalesce;
-+
-+ return 0;
-+}
-+
-+static u32 netsec_et_get_msglevel(struct net_device *dev)
-+{
-+ struct netsec_priv *priv = netdev_priv(dev);
-+
-+ return priv->msg_enable;
-+}
-+
-+static void netsec_et_set_msglevel(struct net_device *dev, u32 datum)
-+{
-+ struct netsec_priv *priv = netdev_priv(dev);
-+
-+ priv->msg_enable = datum;
-+}
-+
-+const struct ethtool_ops netsec_ethtool_ops = {
-+ .get_drvinfo = netsec_et_get_drvinfo,
-+ .get_link_ksettings = phy_ethtool_get_link_ksettings,
-+ .set_link_ksettings = phy_ethtool_set_link_ksettings,
-+ .get_link = ethtool_op_get_link,
-+ .get_coalesce = netsec_et_get_coalesce,
-+ .set_coalesce = netsec_et_set_coalesce,
-+ .get_msglevel = netsec_et_get_msglevel,
-+ .set_msglevel = netsec_et_set_msglevel,
-+};
-diff --git a/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
-new file mode 100644
-index 0000000..94e9b7f
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
-@@ -0,0 +1,330 @@
-+/**
-+ * drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
-+ *
-+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
-+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
-+ * Andy Green <andy.green@linaro.org>
-+ * Jassi Brar <jaswinder.singh@linaro.org>
-+ * Ard Biesheuvel <ard.biesheuvel@linaro.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.
-+ */
-+#include "netsec.h"
-+
-+#define TIMEOUT_SPINS_MAC 1000
-+#define TIMEOUT_SECONDARY_MS_MAC 100
-+
-+static u32 netsec_clk_type(u32 freq)
-+{
-+ if (freq < 35 * NETSEC_CLK_MHZ)
-+ return NETSEC_GMAC_GAR_REG_CR_25_35_MHZ;
-+ if (freq < 60 * NETSEC_CLK_MHZ)
-+ return NETSEC_GMAC_GAR_REG_CR_35_60_MHZ;
-+ if (freq < 100 * NETSEC_CLK_MHZ)
-+ return NETSEC_GMAC_GAR_REG_CR_60_100_MHZ;
-+ if (freq < 150 * NETSEC_CLK_MHZ)
-+ return NETSEC_GMAC_GAR_REG_CR_100_150_MHZ;
-+ if (freq < 250 * NETSEC_CLK_MHZ)
-+ return NETSEC_GMAC_GAR_REG_CR_150_250_MHZ;
-+
-+ return NETSEC_GMAC_GAR_REG_CR_250_300_MHZ;
-+}
-+
-+static int netsec_wait_while_busy(struct netsec_priv *priv, u32 addr, u32 mask)
-+{
-+ u32 timeout = TIMEOUT_SPINS_MAC;
-+
-+ while (--timeout && netsec_readl(priv, addr) & mask)
-+ cpu_relax();
-+ if (timeout)
-+ return 0;
-+
-+ timeout = TIMEOUT_SECONDARY_MS_MAC;
-+ while (--timeout && netsec_readl(priv, addr) & mask)
-+ usleep_range(1000, 2000);
-+
-+ if (timeout)
-+ return 0;
-+
-+ netdev_WARN(priv->ndev, "%s: timeout\n", __func__);
-+
-+ return -ETIMEDOUT;
-+}
-+
-+static int netsec_mac_write(struct netsec_priv *priv, u32 addr, u32 value)
-+{
-+ netsec_writel(priv, MAC_REG_DATA, value);
-+ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_WRITE);
-+ return netsec_wait_while_busy(priv,
-+ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY);
-+}
-+
-+static int netsec_mac_read(struct netsec_priv *priv, u32 addr, u32 *read)
-+{
-+ int ret;
-+
-+ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_READ);
-+ ret = netsec_wait_while_busy(priv,
-+ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY);
-+ if (ret)
-+ return ret;
-+
-+ *read = netsec_readl(priv, MAC_REG_DATA);
-+
-+ return 0;
-+}
-+
-+static int netsec_mac_wait_while_busy(struct netsec_priv *priv,
-+ u32 addr, u32 mask)
-+{
-+ u32 timeout = TIMEOUT_SPINS_MAC;
-+ int ret, data;
-+
-+ do {
-+ ret = netsec_mac_read(priv, addr, &data);
-+ if (ret)
-+ break;
-+ cpu_relax();
-+ } while (--timeout && (data & mask));
-+
-+ if (timeout)
-+ return 0;
-+
-+ timeout = TIMEOUT_SECONDARY_MS_MAC;
-+ do {
-+ usleep_range(1000, 2000);
-+
-+ ret = netsec_mac_read(priv, addr, &data);
-+ if (ret)
-+ break;
-+ cpu_relax();
-+ } while (--timeout && (data & mask));
-+
-+ if (timeout && !ret)
-+ return 0;
-+
-+ netdev_WARN(priv->ndev, "%s: timeout\n", __func__);
-+
-+ return -ETIMEDOUT;
-+}
-+
-+static int netsec_mac_update_to_phy_state(struct netsec_priv *priv)
-+{
-+ struct phy_device *phydev = priv->ndev->phydev;
-+ u32 value = 0;
-+
-+ value = phydev->duplex ? NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON :
-+ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON;
-+
-+ if (phydev->speed != SPEED_1000)
-+ value |= NETSEC_MCR_PS;
-+
-+ if ((priv->phy_interface != PHY_INTERFACE_MODE_GMII) &&
-+ (phydev->speed == SPEED_100))
-+ value |= NETSEC_GMAC_MCR_REG_FES;
-+
-+ value |= NETSEC_GMAC_MCR_REG_CST | NETSEC_GMAC_MCR_REG_JE;
-+
-+ if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII)
-+ value |= NETSEC_GMAC_MCR_REG_IBN;
-+
-+ if (netsec_mac_write(priv, GMAC_REG_MCR, value))
-+ return -ETIMEDOUT;
-+
-+ priv->actual_link_speed = phydev->speed;
-+ priv->actual_duplex = phydev->duplex;
-+
-+ return 0;
-+}
-+
-+/* NB netsec_start_gmac() only called from adjust_link */
-+
-+int netsec_start_gmac(struct netsec_priv *priv)
-+{
-+ struct phy_device *phydev = priv->ndev->phydev;
-+ u32 value = 0;
-+ int ret;
-+
-+ if (priv->desc_ring[NETSEC_RING_TX].running &&
-+ priv->desc_ring[NETSEC_RING_RX].running)
-+ return 0;
-+
-+ if (!priv->desc_ring[NETSEC_RING_RX].running &&
-+ !priv->desc_ring[NETSEC_RING_TX].running) {
-+ if (phydev->speed != SPEED_1000)
-+ value = (NETSEC_GMAC_MCR_REG_CST |
-+ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON);
-+
-+ if (netsec_mac_write(priv, GMAC_REG_MCR, value))
-+ return -ETIMEDOUT;
-+ if (netsec_mac_write(priv, GMAC_REG_BMR,
-+ NETSEC_GMAC_BMR_REG_RESET))
-+ return -ETIMEDOUT;
-+
-+ /* Wait soft reset */
-+ usleep_range(1000, 5000);
-+
-+ ret = netsec_mac_read(priv, GMAC_REG_BMR, &value);
-+ if (ret)
-+ return ret;
-+ if (value & NETSEC_GMAC_BMR_REG_SWR)
-+ return -EAGAIN;
-+
-+ netsec_writel(priv, MAC_REG_DESC_SOFT_RST, 1);
-+ if (netsec_wait_while_busy(priv, MAC_REG_DESC_SOFT_RST, 1))
-+ return -ETIMEDOUT;
-+
-+ netsec_writel(priv, MAC_REG_DESC_INIT, 1);
-+ if (netsec_wait_while_busy(priv, MAC_REG_DESC_INIT, 1))
-+ return -ETIMEDOUT;
-+
-+ if (netsec_mac_write(priv, GMAC_REG_BMR,
-+ NETSEC_GMAC_BMR_REG_COMMON))
-+ return -ETIMEDOUT;
-+ if (netsec_mac_write(priv, GMAC_REG_RDLAR,
-+ NETSEC_GMAC_RDLAR_REG_COMMON))
-+ return -ETIMEDOUT;
-+ if (netsec_mac_write(priv, GMAC_REG_TDLAR,
-+ NETSEC_GMAC_TDLAR_REG_COMMON))
-+ return -ETIMEDOUT;
-+ if (netsec_mac_write(priv, GMAC_REG_MFFR, 0x80000001))
-+ return -ETIMEDOUT;
-+
-+ ret = netsec_mac_update_to_phy_state(priv);
-+ if (ret)
-+ return ret;
-+
-+ if (priv->mac_mode.flow_ctrl_enable_flag) {
-+ netsec_writel(priv, MAC_REG_FLOW_TH,
-+ (priv->mac_mode.flow_stop_th << 16) |
-+ priv->mac_mode.flow_start_th);
-+ if (netsec_mac_write(priv, GMAC_REG_FCR,
-+ (priv->mac_mode.pause_time << 16) |
-+ NETSEC_FCR_RFE | NETSEC_FCR_TFE))
-+ return -ETIMEDOUT;
-+ }
-+ }
-+
-+ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value);
-+ if (ret)
-+ return ret;
-+
-+ if (!priv->desc_ring[NETSEC_RING_RX].running) {
-+ value |= NETSEC_GMAC_OMR_REG_SR;
-+ netsec_start_desc_ring(priv, NETSEC_RING_RX);
-+ }
-+ if (!priv->desc_ring[NETSEC_RING_TX].running) {
-+ value |= NETSEC_GMAC_OMR_REG_ST;
-+ netsec_start_desc_ring(priv, NETSEC_RING_TX);
-+ }
-+
-+ if (netsec_mac_write(priv, GMAC_REG_OMR, value))
-+ return -ETIMEDOUT;
-+
-+ netsec_writel(priv, NETSEC_REG_INTEN_SET,
-+ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
-+
-+ return 0;
-+}
-+
-+int netsec_stop_gmac(struct netsec_priv *priv)
-+{
-+ u32 value;
-+ int ret;
-+
-+ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value);
-+ if (ret)
-+ return ret;
-+
-+ if (priv->desc_ring[NETSEC_RING_RX].running) {
-+ value &= ~NETSEC_GMAC_OMR_REG_SR;
-+ netsec_stop_desc_ring(priv, NETSEC_RING_RX);
-+ }
-+ if (priv->desc_ring[NETSEC_RING_TX].running) {
-+ value &= ~NETSEC_GMAC_OMR_REG_ST;
-+ netsec_stop_desc_ring(priv, NETSEC_RING_TX);
-+ }
-+
-+ priv->actual_link_speed = 0;
-+ priv->actual_duplex = false;
-+
-+ return netsec_mac_write(priv, GMAC_REG_OMR, value);
-+}
-+
-+static int netsec_phy_write(struct mii_bus *bus,
-+ int phy_addr, int reg, u16 val)
-+{
-+ struct netsec_priv *priv = bus->priv;
-+
-+ if (netsec_mac_write(priv, GMAC_REG_GDR, val))
-+ return -ETIMEDOUT;
-+ if (netsec_mac_write(priv, GMAC_REG_GAR,
-+ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA |
-+ reg << NETSEC_GMAC_GAR_REG_SHIFT_GR |
-+ NETSEC_GMAC_GAR_REG_GW | NETSEC_GMAC_GAR_REG_GB |
-+ (netsec_clk_type(priv->freq) <<
-+ GMAC_REG_SHIFT_CR_GAR)))
-+ return -ETIMEDOUT;
-+
-+ return netsec_mac_wait_while_busy(priv, GMAC_REG_GAR,
-+ NETSEC_GMAC_GAR_REG_GB);
-+}
-+
-+static int netsec_phy_read(struct mii_bus *bus, int phy_addr, int reg_addr)
-+{
-+ struct netsec_priv *priv = bus->priv;
-+ u32 data;
-+ int ret;
-+
-+ if (netsec_mac_write(priv, GMAC_REG_GAR, NETSEC_GMAC_GAR_REG_GB |
-+ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA |
-+ reg_addr << NETSEC_GMAC_GAR_REG_SHIFT_GR |
-+ (netsec_clk_type(priv->freq) <<
-+ GMAC_REG_SHIFT_CR_GAR)))
-+ return -ETIMEDOUT;
-+
-+ ret = netsec_mac_wait_while_busy(priv, GMAC_REG_GAR,
-+ NETSEC_GMAC_GAR_REG_GB);
-+ if (ret)
-+ return ret;
-+
-+ ret = netsec_mac_read(priv, GMAC_REG_GDR, &data);
-+ if (ret)
-+ return ret;
-+
-+ return data;
-+}
-+
-+int netsec_mii_register(struct netsec_priv *priv)
-+{
-+ struct mii_bus *bus = devm_mdiobus_alloc(priv->dev);
-+ int ret;
-+
-+ if (!bus)
-+ return -ENOMEM;
-+
-+ snprintf(bus->id, MII_BUS_ID_SIZE, "%s", dev_name(priv->dev));
-+ bus->priv = priv;
-+ bus->name = "SNI NETSEC MDIO";
-+ bus->read = netsec_phy_read;
-+ bus->write = netsec_phy_write;
-+ bus->parent = priv->dev;
-+ priv->mii_bus = bus;
-+
-+ if (dev_of_node(priv->dev)) {
-+ ret = of_mdiobus_register(bus, dev_of_node(priv->dev));
-+ } else {
-+ /* Mask out all PHYs from auto probing. */
-+ bus->phy_mask = ~0;
-+ ret = mdiobus_register(bus);
-+ }
-+ return ret;
-+}
-+
-+void netsec_mii_unregister(struct netsec_priv *priv)
-+{
-+ mdiobus_unregister(priv->mii_bus);
-+}
-diff --git a/drivers/net/ethernet/socionext/netsec/netsec_netdev.c b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c
-new file mode 100644
-index 0000000..e99cf0e
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c
-@@ -0,0 +1,540 @@
-+/**
-+ * drivers/net/ethernet/socionext/netsec/netsec_netdev.c
-+ *
-+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
-+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
-+ * Andy Green <andy.green@linaro.org>
-+ * Jassi Brar <jaswinder.singh@linaro.org>
-+ * Ard Biesheuvel <ard.biesheuvel@linaro.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.
-+ */
-+
-+#include <linux/ip.h>
-+#include <linux/ipv6.h>
-+#include <linux/tcp.h>
-+#include <net/tcp.h>
-+#include <net/ip6_checksum.h>
-+#include <linux/pm_runtime.h>
-+
-+#include "netsec.h"
-+
-+#define WAIT_FW_RDY_TIMEOUT 50
-+
-+static const u32 desc_ring_irq_status_reg_addr[] = {
-+ NETSEC_REG_NRM_TX_STATUS,
-+ NETSEC_REG_NRM_RX_STATUS,
-+};
-+
-+static const u32 desc_ads[] = {
-+ NETSEC_REG_NRM_TX_CONFIG,
-+ NETSEC_REG_NRM_RX_CONFIG,
-+};
-+
-+static const u32 netsec_desc_start_reg_addr_up[] = {
-+ NETSEC_REG_NRM_TX_DESC_START_UP,
-+ NETSEC_REG_NRM_RX_DESC_START_UP,
-+};
-+
-+static const u32 netsec_desc_start_reg_addr_lw[] = {
-+ NETSEC_REG_NRM_TX_DESC_START_LW,
-+ NETSEC_REG_NRM_RX_DESC_START_LW,
-+};
-+
-+static u32 netsec_calc_pkt_ctrl_reg_param(const struct netsec_pkt_ctrlaram
-+ *pkt_ctrlaram_p)
-+{
-+ u32 param = NETSEC_PKT_CTRL_REG_MODE_NRM;
-+
-+ if (pkt_ctrlaram_p->log_chksum_er_flag)
-+ param |= NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER;
-+
-+ if (pkt_ctrlaram_p->log_hd_imcomplete_flag)
-+ param |= NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE;
-+
-+ if (pkt_ctrlaram_p->log_hd_er_flag)
-+ param |= NETSEC_PKT_CTRL_REG_LOG_HD_ER;
-+
-+ return param;
-+}
-+
-+static int netsec_netdev_load_ucode_region(struct netsec_priv *priv, u32 reg,
-+ u32 addr_h, u32 addr_l, u32 size)
-+{
-+ u64 base = (u64)addr_h << 32 | addr_l;
-+ __le32 *ucode;
-+ u32 i;
-+
-+ ucode = memremap(base, size * sizeof(u32), MEMREMAP_WT);
-+ if (!ucode)
-+ return -ENOMEM;
-+
-+ for (i = 0; i < size; i++)
-+ netsec_writel(priv, reg, le32_to_cpu(ucode[i]));
-+
-+ memunmap(ucode);
-+ return 0;
-+}
-+
-+static int netsec_netdev_load_microcode(struct netsec_priv *priv)
-+{
-+ int err;
-+
-+ err = netsec_netdev_load_ucode_region(
-+ priv, NETSEC_REG_DMAC_HM_CMD_BUF,
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_H),
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_L),
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_SIZE));
-+ if (err)
-+ return err;
-+
-+ err = netsec_netdev_load_ucode_region(
-+ priv, NETSEC_REG_DMAC_MH_CMD_BUF,
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_H),
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_L),
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_SIZE));
-+ if (err)
-+ return err;
-+
-+ err = netsec_netdev_load_ucode_region(
-+ priv, NETSEC_REG_PKT_CMD_BUF,
-+ 0,
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_ADDRESS),
-+ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_SIZE));
-+ if (err)
-+ return err;
-+
-+ return 0;
-+}
-+
-+static int netsec_init_hardware(struct netsec_priv *priv)
-+{
-+ u32 value;
-+ int err;
-+
-+ /* set desc_start addr */
-+ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_RX],
-+ upper_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys));
-+ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_RX],
-+ lower_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys));
-+
-+ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_TX],
-+ upper_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys));
-+ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_TX],
-+ lower_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys));
-+
-+ /* set normal tx desc ring config */
-+ netsec_writel(priv, desc_ads[NETSEC_RING_TX],
-+ 1 << NETSEC_REG_DESC_ENDIAN);
-+ netsec_writel(priv, desc_ads[NETSEC_RING_RX],
-+ 1 << NETSEC_REG_DESC_ENDIAN);
-+
-+ err = netsec_netdev_load_microcode(priv);
-+ if (err) {
-+ netif_err(priv, probe, priv->ndev,
-+ "%s: failed to load microcode (%d)\n", __func__, err);
-+ return err;
-+ }
-+
-+ /* start DMA engines */
-+ netsec_writel(priv, NETSEC_REG_DMA_TMR_CTRL, priv->freq / 1000000 - 1);
-+ netsec_writel(priv, NETSEC_REG_ADDR_DIS_CORE, 0);
-+
-+ usleep_range(1000, 2000);
-+
-+ if (!(netsec_readl(priv, NETSEC_REG_TOP_STATUS) &
-+ NETSEC_TOP_IRQ_REG_CODE_LOAD_END)) {
-+ netif_err(priv, drv, priv->ndev, "microengine start failed\n");
-+ return -ENXIO;
-+ }
-+ netsec_writel(priv, NETSEC_REG_TOP_STATUS,
-+ NETSEC_TOP_IRQ_REG_CODE_LOAD_END);
-+
-+ value = netsec_calc_pkt_ctrl_reg_param(&priv->param.pkt_ctrlaram);
-+
-+ if (priv->param.use_jumbo_pkt_flag)
-+ value |= NETSEC_PKT_CTRL_REG_EN_JUMBO;
-+
-+ /* change to normal mode */
-+ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL, MH_CTRL__MODE_TRANS);
-+ netsec_writel(priv, NETSEC_REG_PKT_CTRL, value);
-+
-+ while ((netsec_readl(priv, NETSEC_REG_MODE_TRANS_COMP_STATUS) &
-+ NETSEC_MODE_TRANS_COMP_IRQ_T2N) == 0)
-+ cpu_relax();
-+
-+ return 0;
-+}
-+
-+static void netsec_ring_irq_clr(struct netsec_priv *priv,
-+ unsigned int id, u32 value)
-+{
-+ netsec_writel(priv, desc_ring_irq_status_reg_addr[id],
-+ value & (NETSEC_IRQ_EMPTY | NETSEC_IRQ_ERR));
-+}
-+
-+static void netsec_napi_tx_processing(struct netsec_priv *priv)
-+{
-+ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
-+ netsec_clean_tx_desc_ring(priv);
-+
-+ if (netif_queue_stopped(priv->ndev) &&
-+ netsec_get_tx_avail_num(priv) >= NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX)
-+ netif_wake_queue(priv->ndev);
-+}
-+
-+int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget)
-+{
-+ struct netsec_priv *priv = container_of(napi_p, struct netsec_priv,
-+ napi);
-+ struct net_device *ndev = priv->ndev;
-+ struct netsec_rx_pkt_info rx_info;
-+ int ret, done = 0, rx_num = 0;
-+ struct netsec_frag_info frag;
-+ struct sk_buff *skb;
-+ u16 len;
-+
-+ netsec_napi_tx_processing(priv);
-+
-+ while (done < budget) {
-+ if (!rx_num) {
-+ rx_num = netsec_get_rx_num(priv);
-+ if (!rx_num)
-+ break;
-+ }
-+ done++;
-+ rx_num--;
-+ ret = netsec_get_rx_pkt_data(priv, &rx_info, &frag, &len, &skb);
-+ if (unlikely(ret == -ENOMEM)) {
-+ netif_err(priv, drv, priv->ndev,
-+ "%s: rx fail %d\n", __func__, ret);
-+ ndev->stats.rx_dropped++;
-+ continue;
-+ }
-+ dma_unmap_single(priv->dev, frag.dma_addr, frag.len,
-+ DMA_FROM_DEVICE);
-+ skb_put(skb, len);
-+ skb->protocol = eth_type_trans(skb, priv->ndev);
-+
-+ if (priv->rx_cksum_offload_flag &&
-+ rx_info.rx_cksum_result == NETSEC_RX_CKSUM_OK)
-+ skb->ip_summed = CHECKSUM_UNNECESSARY;
-+
-+ if (napi_gro_receive(napi_p, skb) != GRO_DROP) {
-+ ndev->stats.rx_packets++;
-+ ndev->stats.rx_bytes += len;
-+ }
-+ }
-+
-+ if (done < budget && napi_complete_done(napi_p, done))
-+ netsec_writel(priv, NETSEC_REG_INTEN_SET,
-+ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
-+ return done;
-+}
-+
-+static netdev_tx_t netsec_netdev_start_xmit(struct sk_buff *skb,
-+ struct net_device *ndev)
-+{
-+ struct netsec_priv *priv = netdev_priv(ndev);
-+ struct netsec_tx_pkt_ctrl tx_ctrl = {};
-+ u16 pend_tx, tso_seg_len = 0;
-+ skb_frag_t *frag;
-+ int count_frags;
-+ int ret, i;
-+
-+ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
-+
-+ count_frags = skb_shinfo(skb)->nr_frags + 1;
-+
-+ if (skb->ip_summed == CHECKSUM_PARTIAL) {
-+ if ((skb->protocol == htons(ETH_P_IP) &&
-+ ip_hdr(skb)->protocol == IPPROTO_TCP) ||
-+ (skb->protocol == htons(ETH_P_IPV6) &&
-+ ipv6_hdr(skb)->nexthdr == IPPROTO_TCP))
-+ tx_ctrl.cksum_offload_flag = true;
-+ else
-+ skb_checksum_help(skb);
-+ }
-+
-+ if (skb_is_gso(skb))
-+ tso_seg_len = skb_shinfo(skb)->gso_size;
-+
-+ if (tso_seg_len > 0) {
-+ if (skb->protocol == htons(ETH_P_IP)) {
-+ ip_hdr(skb)->tot_len = 0;
-+ tcp_hdr(skb)->check =
-+ ~tcp_v4_check(0, ip_hdr(skb)->saddr,
-+ ip_hdr(skb)->daddr, 0);
-+ } else {
-+ ipv6_hdr(skb)->payload_len = 0;
-+ tcp_hdr(skb)->check =
-+ ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr,
-+ &ipv6_hdr(skb)->daddr,
-+ 0, IPPROTO_TCP, 0);
-+ }
-+
-+ tx_ctrl.tcp_seg_offload_flag = true;
-+ tx_ctrl.tcp_seg_len = tso_seg_len;
-+ }
-+
-+ priv->tx_info[0].dma_addr = dma_map_single(priv->dev, skb->data,
-+ skb_headlen(skb),
-+ DMA_TO_DEVICE);
-+ if (dma_mapping_error(priv->dev, priv->tx_info[0].dma_addr)) {
-+ netif_err(priv, drv, priv->ndev,
-+ "%s: DMA mapping failed\n", __func__);
-+ return NETDEV_TX_OK;
-+ }
-+ priv->tx_info[0].addr = skb->data;
-+ priv->tx_info[0].len = skb_headlen(skb);
-+
-+ for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
-+ frag = &skb_shinfo(skb)->frags[i];
-+ priv->tx_info[i + 1].dma_addr =
-+ skb_frag_dma_map(priv->dev, frag, 0,
-+ skb_frag_size(frag), DMA_TO_DEVICE);
-+ priv->tx_info[i + 1].addr = skb_frag_address(frag);
-+ priv->tx_info[i + 1].len = frag->size;
-+ }
-+
-+ netsec_mark_skb_type(skb, NETSEC_RING_TX);
-+
-+ ret = netsec_set_tx_pkt_data(priv, &tx_ctrl, count_frags,
-+ priv->tx_info, skb);
-+ if (ret) {
-+ netif_info(priv, drv, priv->ndev,
-+ "set tx pkt failed %d\n", ret);
-+ for (i = 0; i < count_frags; i++)
-+ dma_unmap_single(priv->dev, priv->tx_info[i].dma_addr,
-+ priv->tx_info[i].len, DMA_TO_DEVICE);
-+ ndev->stats.tx_dropped++;
-+
-+ return NETDEV_TX_OK;
-+ }
-+
-+ netdev_sent_queue(priv->ndev, skb->len);
-+
-+ spin_lock(&priv->tx_queue_lock);
-+ pend_tx = netsec_get_tx_avail_num(priv);
-+
-+ if (pend_tx < NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX) {
-+ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
-+ netif_stop_queue(ndev);
-+ goto err;
-+ }
-+ if (pend_tx <= DESC_NUM - 2) {
-+ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
-+ goto err;
-+ }
-+ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
-+
-+err:
-+ spin_unlock(&priv->tx_queue_lock);
-+
-+ return NETDEV_TX_OK;
-+}
-+
-+static int netsec_netdev_set_features(struct net_device *ndev,
-+ netdev_features_t features)
-+{
-+ struct netsec_priv *priv = netdev_priv(ndev);
-+
-+ priv->rx_cksum_offload_flag = !!(features & NETIF_F_RXCSUM);
-+
-+ return 0;
-+}
-+
-+static void netsec_phy_adjust_link(struct net_device *ndev)
-+{
-+ struct netsec_priv *priv = netdev_priv(ndev);
-+
-+ if (priv->actual_link_speed == ndev->phydev->speed &&
-+ priv->actual_duplex == ndev->phydev->duplex)
-+ return;
-+
-+ phy_print_status(ndev->phydev);
-+
-+ netsec_stop_gmac(priv);
-+ netsec_start_gmac(priv);
-+}
-+
-+static irqreturn_t netsec_irq_handler(int irq, void *dev_id)
-+{
-+ struct netsec_priv *priv = dev_id;
-+ u32 status = netsec_readl(priv, NETSEC_REG_TOP_STATUS) &
-+ netsec_readl(priv, NETSEC_REG_TOP_INTEN);
-+
-+ if (!status)
-+ return IRQ_NONE;
-+
-+ if (status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX)) {
-+ netsec_writel(priv, NETSEC_REG_INTEN_CLR,
-+ status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX));
-+ napi_schedule(&priv->napi);
-+ }
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static void netsec_reset_hardware(struct netsec_priv *priv)
-+{
-+ /* stop DMA engines */
-+ if (!netsec_readl(priv, NETSEC_REG_ADDR_DIS_CORE)) {
-+ netsec_writel(priv, NETSEC_REG_DMA_HM_CTRL,
-+ NETSEC_DMA_CTRL_REG_STOP);
-+ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL,
-+ NETSEC_DMA_CTRL_REG_STOP);
-+
-+ while (netsec_readl(priv, NETSEC_REG_DMA_HM_CTRL) &
-+ NETSEC_DMA_CTRL_REG_STOP)
-+ cpu_relax();
-+
-+ while (netsec_readl(priv, NETSEC_REG_DMA_MH_CTRL) &
-+ NETSEC_DMA_CTRL_REG_STOP)
-+ cpu_relax();
-+ }
-+
-+ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RESET);
-+ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RUN);
-+ netsec_writel(priv, NETSEC_REG_COM_INIT, NETSEC_COM_INIT_REG_ALL);
-+
-+ while (netsec_readl(priv, NETSEC_REG_COM_INIT) != 0)
-+ cpu_relax();
-+}
-+
-+static int netsec_netdev_open(struct net_device *ndev)
-+{
-+ struct netsec_priv *priv = netdev_priv(ndev);
-+ int ret, n;
-+
-+ pm_runtime_get_sync(priv->dev);
-+
-+ netsec_reset_hardware(priv);
-+
-+ for (n = 0; n <= NETSEC_RING_MAX; n++) {
-+ ret = netsec_alloc_desc_ring(priv, n);
-+ if (ret) {
-+ netif_err(priv, probe, priv->ndev,
-+ "%s: alloc ring failed\n", __func__);
-+ goto err;
-+ }
-+ }
-+
-+ ret = netsec_setup_rx_desc(priv, &priv->desc_ring[NETSEC_RING_RX]);
-+ if (ret) {
-+ netif_err(priv, probe, priv->ndev,
-+ "%s: fail setup ring\n", __func__);
-+ goto err1;
-+ }
-+
-+ ret = netsec_init_hardware(priv);
-+ if (ret) {
-+ netif_err(priv, probe, priv->ndev,
-+ "%s: netsec_init_hardware fail %d\n", __func__, ret);
-+ goto err1;
-+ }
-+
-+ ret = request_irq(priv->ndev->irq, netsec_irq_handler,
-+ IRQF_SHARED, "netsec", priv);
-+ if (ret) {
-+ netif_err(priv, drv, priv->ndev, "request_irq failed\n");
-+ goto err1;
-+ }
-+ priv->irq_registered = true;
-+
-+ ret = netsec_clean_rx_desc_ring(priv);
-+ if (ret) {
-+ netif_err(priv, drv, priv->ndev,
-+ "%s: clean rx desc fail\n", __func__);
-+ goto err2;
-+ }
-+
-+ ret = netsec_clean_tx_desc_ring(priv);
-+ if (ret) {
-+ netif_err(priv, drv, priv->ndev,
-+ "%s: clean tx desc fail\n", __func__);
-+ goto err2;
-+ }
-+
-+ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
-+
-+ if (dev_of_node(priv->dev)) {
-+ if (!of_phy_connect(priv->ndev, priv->phy_np,
-+ netsec_phy_adjust_link, 0,
-+ priv->phy_interface)) {
-+ netif_err(priv, link, priv->ndev, "missing PHY\n");
-+ goto err2;
-+ }
-+ } else {
-+ ret = phy_connect_direct(priv->ndev, priv->phydev,
-+ netsec_phy_adjust_link,
-+ priv->phy_interface);
-+ if (ret) {
-+ netif_err(priv, link, priv->ndev,
-+ "phy_connect_direct() failed (%d)\n", ret);
-+ goto err2;
-+ }
-+ }
-+
-+ phy_start_aneg(ndev->phydev);
-+
-+ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
-+
-+ netsec_start_gmac(priv);
-+ napi_enable(&priv->napi);
-+ netif_start_queue(ndev);
-+
-+ netsec_writel(priv, NETSEC_REG_INTEN_SET,
-+ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
-+
-+ return 0;
-+
-+err2:
-+ pm_runtime_put_sync(priv->dev);
-+ free_irq(priv->ndev->irq, priv);
-+ priv->irq_registered = false;
-+err1:
-+ for (n = 0; n <= NETSEC_RING_MAX; n++)
-+ netsec_free_desc_ring(priv, &priv->desc_ring[n]);
-+err:
-+ pm_runtime_put_sync(priv->dev);
-+
-+ return ret;
-+}
-+
-+static int netsec_netdev_stop(struct net_device *ndev)
-+{
-+ struct netsec_priv *priv = netdev_priv(ndev);
-+ int n;
-+
-+ phy_stop(ndev->phydev);
-+ phy_disconnect(ndev->phydev);
-+
-+ netif_stop_queue(priv->ndev);
-+ napi_disable(&priv->napi);
-+
-+ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0);
-+ netsec_stop_gmac(priv);
-+
-+ pm_runtime_put_sync(priv->dev);
-+
-+ for (n = 0; n <= NETSEC_RING_MAX; n++)
-+ netsec_free_desc_ring(priv, &priv->desc_ring[n]);
-+
-+ free_irq(priv->ndev->irq, priv);
-+ priv->irq_registered = false;
-+
-+ return 0;
-+}
-+
-+const struct net_device_ops netsec_netdev_ops = {
-+ .ndo_open = netsec_netdev_open,
-+ .ndo_stop = netsec_netdev_stop,
-+ .ndo_start_xmit = netsec_netdev_start_xmit,
-+ .ndo_set_features = netsec_netdev_set_features,
-+ .ndo_set_mac_address = eth_mac_addr,
-+ .ndo_validate_addr = eth_validate_addr,
-+};
-diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
-new file mode 100644
-index 0000000..624f6a7
---- /dev/null
-+++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
-@@ -0,0 +1,435 @@
-+/**
-+ * drivers/net/ethernet/socionext/netsec/netsec_platform.c
-+ *
-+ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
-+ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
-+ * Andy Green <andy.green@linaro.org>
-+ * Jassi Brar <jaswinder.singh@linaro.org>
-+ * Ard Biesheuvel <ard.biesheuvel@linaro.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.
-+ */
-+
-+#include <linux/acpi.h>
-+#include <linux/device.h>
-+#include <linux/ctype.h>
-+#include <linux/netdevice.h>
-+#include <linux/types.h>
-+#include <linux/bitops.h>
-+#include <linux/dma-mapping.h>
-+#include <linux/module.h>
-+#include <linux/sizes.h>
-+#include <linux/platform_device.h>
-+#include <linux/clk.h>
-+#include <linux/of.h>
-+#include <linux/of_device.h>
-+#include <linux/of_net.h>
-+#include <linux/io.h>
-+#include <linux/pm_runtime.h>
-+
-+#include "netsec.h"
-+
-+#define NETSEC_F_NETSEC_VER_MAJOR_NUM(x) (x & 0xffff0000)
-+
-+static int napi_weight = 64;
-+static u16 pause_time = 256;
-+
-+static int netsec_of_probe(struct platform_device *pdev,
-+ struct netsec_priv *priv)
-+{
-+ int clk_count, ret, i;
-+
-+ priv->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
-+ if (!priv->phy_np) {
-+ dev_err(&pdev->dev, "missing required property 'phy-handle'\n");
-+ return -EINVAL;
-+ }
-+
-+ /* we require named clocks if there is more than one */
-+ clk_count = of_property_count_strings(pdev->dev.of_node, "clock-names");
-+ if (clk_count > 1) {
-+ if (clk_count > ARRAY_SIZE(priv->clk)) {
-+ dev_err(&pdev->dev, "too many clocks specified (%d)\n",
-+ clk_count);
-+ return -EINVAL;
-+ }
-+
-+ for (i = 0; i < clk_count; i++) {
-+ const char *clk_name;
-+
-+ ret = of_property_read_string_index(pdev->dev.of_node,
-+ "clock-names", i,
-+ &clk_name);
-+ if (ret) {
-+ dev_err(&pdev->dev,
-+ "failed to parse 'clock-names'\n");
-+ return ret;
-+ }
-+ priv->clk[i] = devm_clk_get(&pdev->dev, clk_name);
-+ if (!strcmp(clk_name, "phy_refclk")) {
-+ priv->freq = clk_get_rate(priv->clk[i]);
-+ dev_dbg(&pdev->dev,
-+ "found PHY refclock #%d freq %u\n",
-+ i, priv->freq);
-+ }
-+ }
-+ priv->clock_count = clk_count;
-+ } else {
-+ priv->clk[0] = devm_clk_get(&pdev->dev, NULL);
-+ if (IS_ERR(priv->clk)) {
-+ dev_err(&pdev->dev,
-+ "missing required property 'clocks'\n");
-+ return PTR_ERR(priv->clk);
-+ }
-+ priv->freq = clk_get_rate(priv->clk[0]);
-+ priv->clock_count = 1;
-+ }
-+ return 0;
-+}
-+
-+static int netsec_acpi_probe(struct platform_device *pdev,
-+ struct netsec_priv *priv, u32 *phy_addr)
-+{
-+ int ret;
-+
-+ if (!IS_ENABLED(CONFIG_ACPI))
-+ return -ENODEV;
-+
-+ ret = device_property_read_u32(&pdev->dev, "phy-channel", phy_addr);
-+ if (ret) {
-+ dev_err(&pdev->dev,
-+ "missing required property 'phy-channel'\n");
-+ return ret;
-+ }
-+
-+ ret = device_property_read_u32(&pdev->dev,
-+ "socionext,phy-clock-frequency",
-+ &priv->freq);
-+ if (ret)
-+ dev_err(&pdev->dev,
-+ "missing required property 'socionext,phy-clock-frequency'\n");
-+ return ret;
-+}
-+
-+static int netsec_probe(struct platform_device *pdev)
-+{
-+ struct net_device *ndev;
-+ struct netsec_priv *priv;
-+ struct resource *mmio_res, *eeprom_res, *irq_res;
-+ u8 *mac, macbuf[ETH_ALEN];
-+ u32 hw_ver, phy_addr;
-+ int ret;
-+
-+ mmio_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ if (!mmio_res) {
-+ dev_err(&pdev->dev, "No MMIO resource found.\n");
-+ return -ENODEV;
-+ }
-+
-+ eeprom_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-+ if (!eeprom_res) {
-+ dev_info(&pdev->dev, "No EEPROM resource found.\n");
-+ return -ENODEV;
-+ }
-+
-+ irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-+ if (!irq_res) {
-+ dev_err(&pdev->dev, "No IRQ resource found.\n");
-+ return -ENODEV;
-+ }
-+
-+ ndev = alloc_etherdev(sizeof(*priv));
-+ if (!ndev)
-+ return -ENOMEM;
-+
-+ priv = netdev_priv(ndev);
-+ priv->ndev = ndev;
-+ SET_NETDEV_DEV(ndev, &pdev->dev);
-+ platform_set_drvdata(pdev, priv);
-+ priv->dev = &pdev->dev;
-+
-+ priv->msg_enable = NETIF_MSG_TX_ERR | NETIF_MSG_HW | NETIF_MSG_DRV |
-+ NETIF_MSG_LINK | NETIF_MSG_PROBE;
-+
-+ ndev->irq = irq_res->start;
-+
-+ priv->phy_interface = device_get_phy_mode(&pdev->dev);
-+ if (priv->phy_interface < 0) {
-+ dev_err(&pdev->dev, "missing required property 'phy-mode'\n");
-+ ret = -ENODEV;
-+ goto free_ndev;
-+ }
-+
-+ priv->ioaddr = devm_ioremap(&pdev->dev, mmio_res->start,
-+ resource_size(mmio_res));
-+ if (!priv->ioaddr) {
-+ dev_err(&pdev->dev, "devm_ioremap() failed\n");
-+ ret = -ENXIO;
-+ goto free_ndev;
-+ }
-+
-+ priv->eeprom_base = devm_memremap(&pdev->dev, eeprom_res->start,
-+ resource_size(eeprom_res),
-+ MEMREMAP_WT);
-+ if (!priv->eeprom_base) {
-+ dev_err(&pdev->dev, "devm_memremap() failed for EEPROM\n");
-+ ret = -ENXIO;
-+ goto free_ndev;
-+ }
-+
-+ mac = device_get_mac_address(&pdev->dev, macbuf, sizeof(macbuf));
-+ if (mac)
-+ ether_addr_copy(ndev->dev_addr, mac);
-+
-+ if (priv->eeprom_base &&
-+ (!mac || !is_valid_ether_addr(ndev->dev_addr))) {
-+ const u8 *macp = priv->eeprom_base + NETSEC_EEPROM_MAC_ADDRESS;
-+
-+ ndev->dev_addr[0] = macp[3];
-+ ndev->dev_addr[1] = macp[2];
-+ ndev->dev_addr[2] = macp[1];
-+ ndev->dev_addr[3] = macp[0];
-+ ndev->dev_addr[4] = macp[7];
-+ ndev->dev_addr[5] = macp[6];
-+ }
-+
-+ if (!is_valid_ether_addr(ndev->dev_addr)) {
-+ dev_warn(&pdev->dev, "No MAC address found, using random\n");
-+ eth_hw_addr_random(ndev);
-+ }
-+
-+ if (dev_of_node(&pdev->dev))
-+ ret = netsec_of_probe(pdev, priv);
-+ else
-+ ret = netsec_acpi_probe(pdev, priv, &phy_addr);
-+ if (ret)
-+ goto free_ndev;
-+
-+ if (!priv->freq) {
-+ dev_err(&pdev->dev, "missing PHY reference clock frequency\n");
-+ ret = -ENODEV;
-+ goto free_ndev;
-+ }
-+
-+ /* disable by default */
-+ priv->et_coalesce.rx_coalesce_usecs = 0;
-+ priv->et_coalesce.rx_max_coalesced_frames = 1;
-+ priv->et_coalesce.tx_coalesce_usecs = 0;
-+ priv->et_coalesce.tx_max_coalesced_frames = 1;
-+
-+ ret = device_property_read_u32(&pdev->dev, "max-frame-size",
-+ &ndev->max_mtu);
-+ if (ret < 0)
-+ ndev->max_mtu = ETH_DATA_LEN;
-+
-+ priv->rx_pkt_buf_len = ndev->max_mtu + 22;
-+ priv->param.use_jumbo_pkt_flag = (ndev->max_mtu > ETH_DATA_LEN);
-+
-+ pm_runtime_enable(&pdev->dev);
-+ /* runtime_pm coverage just for probe, open/close also cover it */
-+ pm_runtime_get_sync(&pdev->dev);
-+
-+ hw_ver = netsec_readl(priv, NETSEC_REG_F_TAIKI_VER);
-+ /* this driver only supports F_TAIKI style NETSEC */
-+ if (NETSEC_F_NETSEC_VER_MAJOR_NUM(hw_ver) !=
-+ NETSEC_F_NETSEC_VER_MAJOR_NUM(NETSEC_REG_NETSEC_VER_F_TAIKI)) {
-+ ret = -ENODEV;
-+ goto pm_disable;
-+ }
-+
-+ dev_info(&pdev->dev, "hardware revision %d.%d\n",
-+ hw_ver >> 16, hw_ver & 0xffff);
-+
-+ priv->mac_mode.flow_start_th = NETSEC_FLOW_CONTROL_START_THRESHOLD;
-+ priv->mac_mode.flow_stop_th = NETSEC_FLOW_CONTROL_STOP_THRESHOLD;
-+ priv->mac_mode.pause_time = pause_time;
-+ priv->mac_mode.flow_ctrl_enable_flag = false;
-+
-+ netif_napi_add(ndev, &priv->napi, netsec_netdev_napi_poll, napi_weight);
-+
-+ ndev->netdev_ops = &netsec_netdev_ops;
-+ ndev->ethtool_ops = &netsec_ethtool_ops;
-+ ndev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
-+ NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO |
-+ NETIF_F_HIGHDMA | NETIF_F_RXCSUM;
-+ ndev->hw_features = ndev->features;
-+
-+ priv->rx_cksum_offload_flag = true;
-+ spin_lock_init(&priv->tx_queue_lock);
-+
-+ ret = netsec_mii_register(priv);
-+ if (ret) {
-+ dev_err(&pdev->dev, "mii bus registration failed (%d)\n", ret);
-+ goto pm_disable;
-+ }
-+
-+ if (!dev_of_node(&pdev->dev)) { /* ACPI */
-+ priv->phydev = get_phy_device(priv->mii_bus, phy_addr, false);
-+ if (IS_ERR(priv->phydev)) {
-+ dev_err(&pdev->dev, "get_phy_device() failed (%ld)\n",
-+ PTR_ERR(priv->phydev));
-+ ret = PTR_ERR(priv->phydev);
-+ goto unregister_mii;
-+ }
-+
-+ ret = phy_device_register(priv->phydev);
-+ if (ret) {
-+ dev_err(&pdev->dev,
-+ "phy_device_register() failed (%d)\n", ret);
-+ phy_device_free(priv->phydev);
-+ goto unregister_mii;
-+ }
-+ }
-+
-+ /* disable all other interrupt sources */
-+ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0);
-+ netsec_writel(priv, NETSEC_REG_INTEN_SET,
-+ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
-+
-+ if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)))
-+ dev_warn(&pdev->dev, "Failed to enable 64-bit DMA\n");
-+
-+ ret = register_netdev(ndev);
-+ if (ret) {
-+ netif_err(priv, probe, ndev, "register_netdev() failed\n");
-+ goto unregister_mii;
-+ }
-+
-+ pm_runtime_put_sync_suspend(&pdev->dev);
-+
-+ return 0;
-+
-+unregister_mii:
-+ netsec_mii_unregister(priv);
-+
-+pm_disable:
-+ pm_runtime_put_sync_suspend(&pdev->dev);
-+ pm_runtime_disable(&pdev->dev);
-+
-+free_ndev:
-+ free_netdev(ndev);
-+
-+ dev_err(&pdev->dev, "init failed\n");
-+
-+ return ret;
-+}
-+
-+static int netsec_remove(struct platform_device *pdev)
-+{
-+ struct netsec_priv *priv = platform_get_drvdata(pdev);
-+
-+ unregister_netdev(priv->ndev);
-+ if (!dev_of_node(&pdev->dev)) { /* ACPI */
-+ phy_device_remove(priv->phydev);
-+ phy_device_free(priv->phydev);
-+ }
-+ netsec_mii_unregister(priv);
-+ pm_runtime_disable(&pdev->dev);
-+ free_netdev(priv->ndev);
-+
-+ return 0;
-+}
-+
-+#ifdef CONFIG_PM
-+static int netsec_runtime_suspend(struct device *dev)
-+{
-+ struct netsec_priv *priv = dev_get_drvdata(dev);
-+ int n;
-+
-+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
-+
-+ if (priv->irq_registered)
-+ disable_irq(priv->ndev->irq);
-+
-+ netsec_writel(priv, NETSEC_REG_CLK_EN, 0);
-+
-+ for (n = priv->clock_count - 1; n >= 0; n--)
-+ clk_disable_unprepare(priv->clk[n]);
-+
-+ return 0;
-+}
-+
-+static int netsec_runtime_resume(struct device *dev)
-+{
-+ struct netsec_priv *priv = dev_get_drvdata(dev);
-+ int n;
-+
-+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
-+
-+ /* first let the clocks back on */
-+
-+ for (n = 0; n < priv->clock_count; n++)
-+ clk_prepare_enable(priv->clk[n]);
-+
-+ netsec_writel(priv, NETSEC_REG_CLK_EN, NETSEC_CLK_EN_REG_DOM_D |
-+ NETSEC_CLK_EN_REG_DOM_C |
-+ NETSEC_CLK_EN_REG_DOM_G);
-+
-+ if (priv->irq_registered)
-+ enable_irq(priv->ndev->irq);
-+
-+ return 0;
-+}
-+
-+static int netsec_pm_suspend(struct device *dev)
-+{
-+ struct netsec_priv *priv = dev_get_drvdata(dev);
-+
-+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
-+
-+ if (pm_runtime_status_suspended(dev))
-+ return 0;
-+
-+ return netsec_runtime_suspend(dev);
-+}
-+
-+static int netsec_pm_resume(struct device *dev)
-+{
-+ struct netsec_priv *priv = dev_get_drvdata(dev);
-+
-+ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
-+
-+ if (pm_runtime_status_suspended(dev))
-+ return 0;
-+
-+ return netsec_runtime_resume(dev);
-+}
-+#endif
-+
-+static const struct dev_pm_ops netsec_pm_ops = {
-+ SET_SYSTEM_SLEEP_PM_OPS(netsec_pm_suspend, netsec_pm_resume)
-+ SET_RUNTIME_PM_OPS(netsec_runtime_suspend, netsec_runtime_resume, NULL)
-+};
-+
-+static const struct of_device_id netsec_dt_ids[] = {
-+ { .compatible = "socionext,synquacer-netsec" },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(of, netsec_dt_ids);
-+
-+#ifdef CONFIG_ACPI
-+static const struct acpi_device_id netsec_acpi_ids[] = {
-+ { "SCX0001" },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(acpi, netsec_acpi_ids);
-+#endif
-+
-+static struct platform_driver netsec_driver = {
-+ .probe = netsec_probe,
-+ .remove = netsec_remove,
-+ .driver.name = "netsec",
-+ .driver.of_match_table = netsec_dt_ids,
-+ .driver.acpi_match_table = ACPI_PTR(netsec_acpi_ids),
-+ .driver.pm = &netsec_pm_ops,
-+};
-+module_platform_driver(netsec_driver);
-+
-+MODULE_AUTHOR("Andy Green <andy.green@linaro.org>");
-+MODULE_AUTHOR("Jassi Brar <jaswinder.singh@linaro.org>");
-+MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@linaro.org>");
-+MODULE_DESCRIPTION("NETSEC Ethernet driver");
-+MODULE_LICENSE("GPL");
---
-cgit v1.1
-
-From 31a61532e7b859a797d36595ec5ab7485a9b24d5 Mon Sep 17 00:00:00 2001
-From: Jassi Brar <jassisinghbrar@gmail.com>
-Date: Wed, 30 Aug 2017 15:55:52 +0530
-Subject: dt-bindings: net: Add DT bindings for Socionext Netsec
-
-This patch adds documentation for Device-Tree bindings for the
-Socionext NetSec Controller driver.
-
-Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
-Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
----
- .../devicetree/bindings/net/socionext-netsec.txt | 43 ++++++++++++++++++++++
- 1 file changed, 43 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/net/socionext-netsec.txt
-
-diff --git a/Documentation/devicetree/bindings/net/socionext-netsec.txt b/Documentation/devicetree/bindings/net/socionext-netsec.txt
-new file mode 100644
-index 0000000..4695969
---- /dev/null
-+++ b/Documentation/devicetree/bindings/net/socionext-netsec.txt
-@@ -0,0 +1,43 @@
-+* Socionext NetSec Ethernet Controller IP
-+
-+Required properties:
-+- compatible: Should be "socionext,synquacer-netsec"
-+- reg: Address and length of the control register area, followed by the
-+ address and length of the EEPROM holding the MAC address and
-+ microengine firmware
-+- interrupts: Should contain ethernet controller interrupt
-+- clocks: phandle to the PHY reference clock, and any other clocks to be
-+ switched by runtime_pm
-+- clock-names: Required only if more than a single clock is listed in 'clocks'.
-+ The PHY reference clock must be named 'phy_refclk'
-+- phy-mode: See ethernet.txt file in the same directory
-+- phy-handle: phandle to select child phy
-+
-+Optional properties: (See ethernet.txt file in the same directory)
-+- local-mac-address
-+- mac-address
-+- max-speed
-+- max-frame-size
-+
-+Required properties for the child phy:
-+- reg: phy address
-+
-+Example:
-+ eth0: netsec@522D0000 {
-+ compatible = "socionext,synquacer-netsec";
-+ reg = <0 0x522D0000 0x0 0x10000>, <0 0x10000000 0x0 0x10000>;
-+ interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&clk_netsec>;
-+ phy-mode = "rgmii";
-+ max-speed = <1000>;
-+ max-frame-size = <9000>;
-+ phy-handle = <&ethphy0>;
-+
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ ethphy0: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ };
-+ };
---
-cgit v1.1
-
-From d2fc584f8237746a84e6ec8690d8884f148fc449 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 10 Oct 2017 11:35:51 +0100
-Subject: [PATCH] add interrupt.h, sort alphabetically
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- drivers/net/ethernet/socionext/netsec/netsec_platform.c | 17 +++++++++--------
- 1 file changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
-index 624f6a7093f6..79072bae917d 100644
---- a/drivers/net/ethernet/socionext/netsec/netsec_platform.c
-+++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
-@@ -14,21 +14,22 @@
- */
-
- #include <linux/acpi.h>
--#include <linux/device.h>
--#include <linux/ctype.h>
--#include <linux/netdevice.h>
--#include <linux/types.h>
- #include <linux/bitops.h>
-+#include <linux/clk.h>
-+#include <linux/ctype.h>
-+#include <linux/device.h>
- #include <linux/dma-mapping.h>
-+#include <linux/io.h>
-+#include <linux/interrupt.h>
- #include <linux/module.h>
--#include <linux/sizes.h>
--#include <linux/platform_device.h>
--#include <linux/clk.h>
-+#include <linux/netdevice.h>
- #include <linux/of.h>
- #include <linux/of_device.h>
- #include <linux/of_net.h>
--#include <linux/io.h>
-+#include <linux/platform_device.h>
- #include <linux/pm_runtime.h>
-+#include <linux/sizes.h>
-+#include <linux/types.h>
-
- #include "netsec.h"
-
---
-2.14.2
-
diff --git a/baseconfig/CONFIG_ACPI_SPCR_TABLE b/baseconfig/CONFIG_ACPI_SPCR_TABLE
new file mode 100644
index 000000000..f8a19253c
--- /dev/null
+++ b/baseconfig/CONFIG_ACPI_SPCR_TABLE
@@ -0,0 +1 @@
+CONFIG_ACPI_SPCR_TABLE=y
diff --git a/baseconfig/CONFIG_ATH10K_SPECTRAL b/baseconfig/CONFIG_ATH10K_SPECTRAL
new file mode 100644
index 000000000..8bc1582c6
--- /dev/null
+++ b/baseconfig/CONFIG_ATH10K_SPECTRAL
@@ -0,0 +1 @@
+# CONFIG_ATH10K_SPECTRAL is not set
diff --git a/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL b/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL
new file mode 100644
index 000000000..48a795914
--- /dev/null
+++ b/baseconfig/CONFIG_ATH9K_COMMON_SPECTRAL
@@ -0,0 +1 @@
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
diff --git a/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION b/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION
new file mode 100644
index 000000000..b93aaa794
--- /dev/null
+++ b/baseconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION
@@ -0,0 +1 @@
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
diff --git a/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE b/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE
new file mode 100644
index 000000000..573604162
--- /dev/null
+++ b/baseconfig/CONFIG_BPF_KPROBE_OVERRIDE
@@ -0,0 +1 @@
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
diff --git a/baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND b/baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND
index 76c0b541b..7a1be90bf 100644
--- a/baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND
+++ b/baseconfig/CONFIG_BT_HCIBTUSB_AUTOSUSPEND
@@ -1 +1 @@
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
diff --git a/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE b/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE
new file mode 100644
index 000000000..729e6efde
--- /dev/null
+++ b/baseconfig/CONFIG_CHELSIO_IPSEC_INLINE
@@ -0,0 +1 @@
+CONFIG_CHELSIO_IPSEC_INLINE=y
diff --git a/baseconfig/CONFIG_CIFS_SMB_DIRECT b/baseconfig/CONFIG_CIFS_SMB_DIRECT
new file mode 100644
index 000000000..849bffb38
--- /dev/null
+++ b/baseconfig/CONFIG_CIFS_SMB_DIRECT
@@ -0,0 +1 @@
+# CONFIG_CIFS_SMB_DIRECT is not set
diff --git a/baseconfig/CONFIG_DM_UNSTRIPED b/baseconfig/CONFIG_DM_UNSTRIPED
new file mode 100644
index 000000000..27e4d2352
--- /dev/null
+++ b/baseconfig/CONFIG_DM_UNSTRIPED
@@ -0,0 +1 @@
+CONFIG_DM_UNSTRIPED=m
diff --git a/baseconfig/CONFIG_DRM_AMDGPU_SI b/baseconfig/CONFIG_DRM_AMDGPU_SI
index 78dd0a3c6..db6f0aeac 100644
--- a/baseconfig/CONFIG_DRM_AMDGPU_SI
+++ b/baseconfig/CONFIG_DRM_AMDGPU_SI
@@ -1 +1 @@
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
diff --git a/baseconfig/CONFIG_DRM_I2C_ADV7511 b/baseconfig/CONFIG_DRM_I2C_ADV7511
index 18208c93f..2d931f712 100644
--- a/baseconfig/CONFIG_DRM_I2C_ADV7511
+++ b/baseconfig/CONFIG_DRM_I2C_ADV7511
@@ -1 +1 @@
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511=m
diff --git a/baseconfig/CONFIG_DRM_I2C_ADV7511_CEC b/baseconfig/CONFIG_DRM_I2C_ADV7511_CEC
index 25530967a..42e87e034 100644
--- a/baseconfig/CONFIG_DRM_I2C_ADV7511_CEC
+++ b/baseconfig/CONFIG_DRM_I2C_ADV7511_CEC
@@ -1 +1 @@
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
diff --git a/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322 b/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322
new file mode 100644
index 000000000..4a9fd454c
--- /dev/null
+++ b/baseconfig/CONFIG_DRM_PANEL_ILITEK_IL9322
@@ -0,0 +1 @@
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
diff --git a/baseconfig/CONFIG_DVB_MMAP b/baseconfig/CONFIG_DVB_MMAP
new file mode 100644
index 000000000..fea1faad6
--- /dev/null
+++ b/baseconfig/CONFIG_DVB_MMAP
@@ -0,0 +1 @@
+# CONFIG_DVB_MMAP is not set
diff --git a/baseconfig/CONFIG_DVB_ULE_DEBUG b/baseconfig/CONFIG_DVB_ULE_DEBUG
new file mode 100644
index 000000000..3acb854cc
--- /dev/null
+++ b/baseconfig/CONFIG_DVB_ULE_DEBUG
@@ -0,0 +1 @@
+# CONFIG_DVB_ULE_DEBUG is not set
diff --git a/baseconfig/CONFIG_FIND_BIT_BENCHMARK b/baseconfig/CONFIG_FIND_BIT_BENCHMARK
new file mode 100644
index 000000000..93fe7e039
--- /dev/null
+++ b/baseconfig/CONFIG_FIND_BIT_BENCHMARK
@@ -0,0 +1 @@
+# CONFIG_FIND_BIT_BENCHMARK is not set
diff --git a/baseconfig/CONFIG_GPIO_PCIE_IDIO_24 b/baseconfig/CONFIG_GPIO_PCIE_IDIO_24
new file mode 100644
index 000000000..6313cc61d
--- /dev/null
+++ b/baseconfig/CONFIG_GPIO_PCIE_IDIO_24
@@ -0,0 +1 @@
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
diff --git a/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK b/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK
new file mode 100644
index 000000000..36d49f582
--- /dev/null
+++ b/baseconfig/CONFIG_HARDENED_USERCOPY_FALLBACK
@@ -0,0 +1 @@
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
diff --git a/baseconfig/CONFIG_HID_JABRA b/baseconfig/CONFIG_HID_JABRA
new file mode 100644
index 000000000..c93fae8a6
--- /dev/null
+++ b/baseconfig/CONFIG_HID_JABRA
@@ -0,0 +1 @@
+CONFIG_HID_JABRA=m
diff --git a/baseconfig/CONFIG_HW_RANDOM_TPM b/baseconfig/CONFIG_HW_RANDOM_TPM
index 51b6ac9cb..d991b3c93 100644
--- a/baseconfig/CONFIG_HW_RANDOM_TPM
+++ b/baseconfig/CONFIG_HW_RANDOM_TPM
@@ -1 +1 @@
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
diff --git a/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER b/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER
new file mode 100644
index 000000000..1d90b19ae
--- /dev/null
+++ b/baseconfig/CONFIG_IIO_BUFFER_HW_CONSUMER
@@ -0,0 +1 @@
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
diff --git a/baseconfig/CONFIG_IP6_NF_MATCH_SRH b/baseconfig/CONFIG_IP6_NF_MATCH_SRH
new file mode 100644
index 000000000..c90ba3ec7
--- /dev/null
+++ b/baseconfig/CONFIG_IP6_NF_MATCH_SRH
@@ -0,0 +1 @@
+CONFIG_IP6_NF_MATCH_SRH=m
diff --git a/baseconfig/CONFIG_IPX_INTERN b/baseconfig/CONFIG_IPX_INTERN
deleted file mode 100644
index d409381ce..000000000
--- a/baseconfig/CONFIG_IPX_INTERN
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_IPX_INTERN is not set
diff --git a/baseconfig/CONFIG_LEDS_LM3692X b/baseconfig/CONFIG_LEDS_LM3692X
new file mode 100644
index 000000000..f31f9cb8a
--- /dev/null
+++ b/baseconfig/CONFIG_LEDS_LM3692X
@@ -0,0 +1 @@
+CONFIG_LEDS_LM3692X=m
diff --git a/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV b/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV
new file mode 100644
index 000000000..890e0a4ba
--- /dev/null
+++ b/baseconfig/CONFIG_LEDS_TRIGGER_NETDEV
@@ -0,0 +1 @@
+CONFIG_LEDS_TRIGGER_NETDEV=m
diff --git a/baseconfig/CONFIG_LIRC b/baseconfig/CONFIG_LIRC
index e1049c6ea..f0068c944 100644
--- a/baseconfig/CONFIG_LIRC
+++ b/baseconfig/CONFIG_LIRC
@@ -1 +1 @@
-CONFIG_LIRC=m
+CONFIG_LIRC=y
diff --git a/baseconfig/CONFIG_MELLANOX_PLATFORM b/baseconfig/CONFIG_MELLANOX_PLATFORM
new file mode 100644
index 000000000..8bd7b2e54
--- /dev/null
+++ b/baseconfig/CONFIG_MELLANOX_PLATFORM
@@ -0,0 +1 @@
+CONFIG_MELLANOX_PLATFORM=y
diff --git a/baseconfig/CONFIG_MFD_RTSX_PCI b/baseconfig/CONFIG_MFD_RTSX_PCI
deleted file mode 100644
index 161c0e2c2..000000000
--- a/baseconfig/CONFIG_MFD_RTSX_PCI
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MFD_RTSX_PCI=m
diff --git a/baseconfig/CONFIG_MFD_RTSX_USB b/baseconfig/CONFIG_MFD_RTSX_USB
deleted file mode 100644
index 1ec59a181..000000000
--- a/baseconfig/CONFIG_MFD_RTSX_USB
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MFD_RTSX_USB=m
diff --git a/baseconfig/CONFIG_MISC_RTSX_PCI b/baseconfig/CONFIG_MISC_RTSX_PCI
new file mode 100644
index 000000000..c05d0dda2
--- /dev/null
+++ b/baseconfig/CONFIG_MISC_RTSX_PCI
@@ -0,0 +1 @@
+CONFIG_MISC_RTSX_PCI=m
diff --git a/baseconfig/CONFIG_MISC_RTSX_USB b/baseconfig/CONFIG_MISC_RTSX_USB
new file mode 100644
index 000000000..c22296e51
--- /dev/null
+++ b/baseconfig/CONFIG_MISC_RTSX_USB
@@ -0,0 +1 @@
+CONFIG_MISC_RTSX_USB=m
diff --git a/baseconfig/CONFIG_MLXREG_HOTPLUG b/baseconfig/CONFIG_MLXREG_HOTPLUG
new file mode 100644
index 000000000..44d9d3771
--- /dev/null
+++ b/baseconfig/CONFIG_MLXREG_HOTPLUG
@@ -0,0 +1 @@
+CONFIG_MLXREG_HOTPLUG=m
diff --git a/baseconfig/CONFIG_MMC_CQHCI b/baseconfig/CONFIG_MMC_CQHCI
new file mode 100644
index 000000000..3ecbe65d0
--- /dev/null
+++ b/baseconfig/CONFIG_MMC_CQHCI
@@ -0,0 +1 @@
+CONFIG_MMC_CQHCI=m
diff --git a/baseconfig/CONFIG_MT76x2E b/baseconfig/CONFIG_MT76x2E
new file mode 100644
index 000000000..9667d0d96
--- /dev/null
+++ b/baseconfig/CONFIG_MT76x2E
@@ -0,0 +1 @@
+CONFIG_MT76x2E=m
diff --git a/baseconfig/CONFIG_NETDEVSIM b/baseconfig/CONFIG_NETDEVSIM
new file mode 100644
index 000000000..f7666c533
--- /dev/null
+++ b/baseconfig/CONFIG_NETDEVSIM
@@ -0,0 +1 @@
+# CONFIG_NETDEVSIM is not set
diff --git a/baseconfig/CONFIG_NET_DSA_LEGACY b/baseconfig/CONFIG_NET_DSA_LEGACY
new file mode 100644
index 000000000..76080523a
--- /dev/null
+++ b/baseconfig/CONFIG_NET_DSA_LEGACY
@@ -0,0 +1 @@
+# CONFIG_NET_DSA_LEGACY is not set
diff --git a/baseconfig/CONFIG_NET_VENDOR_CORTINA b/baseconfig/CONFIG_NET_VENDOR_CORTINA
new file mode 100644
index 000000000..3e188cd81
--- /dev/null
+++ b/baseconfig/CONFIG_NET_VENDOR_CORTINA
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_CORTINA is not set
diff --git a/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT b/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT
new file mode 100644
index 000000000..7e4d43ba5
--- /dev/null
+++ b/baseconfig/CONFIG_NET_VENDOR_SOCIONEXT
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
diff --git a/baseconfig/CONFIG_NFT_FLOW_OFFLOAD b/baseconfig/CONFIG_NFT_FLOW_OFFLOAD
new file mode 100644
index 000000000..2960ce593
--- /dev/null
+++ b/baseconfig/CONFIG_NFT_FLOW_OFFLOAD
@@ -0,0 +1 @@
+CONFIG_NFT_FLOW_OFFLOAD=m
diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE b/baseconfig/CONFIG_NF_FLOW_TABLE
new file mode 100644
index 000000000..a2b5e03a7
--- /dev/null
+++ b/baseconfig/CONFIG_NF_FLOW_TABLE
@@ -0,0 +1 @@
+CONFIG_NF_FLOW_TABLE=m
diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_INET b/baseconfig/CONFIG_NF_FLOW_TABLE_INET
new file mode 100644
index 000000000..f41129cf1
--- /dev/null
+++ b/baseconfig/CONFIG_NF_FLOW_TABLE_INET
@@ -0,0 +1 @@
+CONFIG_NF_FLOW_TABLE_INET=m
diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4 b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4
new file mode 100644
index 000000000..413b7910e
--- /dev/null
+++ b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV4
@@ -0,0 +1 @@
+CONFIG_NF_FLOW_TABLE_IPV4=m
diff --git a/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6 b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6
new file mode 100644
index 000000000..d482fc459
--- /dev/null
+++ b/baseconfig/CONFIG_NF_FLOW_TABLE_IPV6
@@ -0,0 +1 @@
+CONFIG_NF_FLOW_TABLE_IPV6=m
diff --git a/baseconfig/CONFIG_PCIE_CADENCE_HOST b/baseconfig/CONFIG_PCIE_CADENCE_HOST
new file mode 100644
index 000000000..1f1f00d6c
--- /dev/null
+++ b/baseconfig/CONFIG_PCIE_CADENCE_HOST
@@ -0,0 +1 @@
+CONFIG_PCIE_CADENCE_HOST=y
diff --git a/baseconfig/CONFIG_PINCTRL_AXP209 b/baseconfig/CONFIG_PINCTRL_AXP209
new file mode 100644
index 000000000..4e6ecd9bf
--- /dev/null
+++ b/baseconfig/CONFIG_PINCTRL_AXP209
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_AXP209 is not set
diff --git a/baseconfig/CONFIG_RAVE_SP_CORE b/baseconfig/CONFIG_RAVE_SP_CORE
new file mode 100644
index 000000000..309dfa088
--- /dev/null
+++ b/baseconfig/CONFIG_RAVE_SP_CORE
@@ -0,0 +1 @@
+# CONFIG_RAVE_SP_CORE is not set
diff --git a/baseconfig/CONFIG_RESET_HSDK_V1 b/baseconfig/CONFIG_RESET_HSDK_V1
deleted file mode 100644
index 4c2b97d79..000000000
--- a/baseconfig/CONFIG_RESET_HSDK_V1
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_RESET_HSDK_V1 is not set
diff --git a/baseconfig/CONFIG_RUNTIME_TESTING_MENU b/baseconfig/CONFIG_RUNTIME_TESTING_MENU
new file mode 100644
index 000000000..7d54fe119
--- /dev/null
+++ b/baseconfig/CONFIG_RUNTIME_TESTING_MENU
@@ -0,0 +1 @@
+CONFIG_RUNTIME_TESTING_MENU=y
diff --git a/baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY b/baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY
index 17ae48a01..a510f6d0b 100644
--- a/baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY
+++ b/baseconfig/CONFIG_SATA_MOBILE_LPM_POLICY
@@ -1 +1 @@
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
diff --git a/baseconfig/CONFIG_SD_ADC_MODULATOR b/baseconfig/CONFIG_SD_ADC_MODULATOR
new file mode 100644
index 000000000..ec43a0ff1
--- /dev/null
+++ b/baseconfig/CONFIG_SD_ADC_MODULATOR
@@ -0,0 +1 @@
+# CONFIG_SD_ADC_MODULATOR is not set
diff --git a/baseconfig/CONFIG_SENSORS_W83773G b/baseconfig/CONFIG_SENSORS_W83773G
new file mode 100644
index 000000000..d0e8c4c84
--- /dev/null
+++ b/baseconfig/CONFIG_SENSORS_W83773G
@@ -0,0 +1 @@
+CONFIG_SENSORS_W83773G=m
diff --git a/baseconfig/CONFIG_SIOX b/baseconfig/CONFIG_SIOX
new file mode 100644
index 000000000..89578e7ae
--- /dev/null
+++ b/baseconfig/CONFIG_SIOX
@@ -0,0 +1 @@
+# CONFIG_SIOX is not set
diff --git a/baseconfig/CONFIG_SLIMBUS b/baseconfig/CONFIG_SLIMBUS
new file mode 100644
index 000000000..63141c29d
--- /dev/null
+++ b/baseconfig/CONFIG_SLIMBUS
@@ -0,0 +1 @@
+# CONFIG_SLIMBUS is not set
diff --git a/baseconfig/CONFIG_SND_SOC_MAX98373 b/baseconfig/CONFIG_SND_SOC_MAX98373
new file mode 100644
index 000000000..c82d1c860
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_MAX98373
@@ -0,0 +1 @@
+CONFIG_SND_SOC_MAX98373=m
diff --git a/baseconfig/CONFIG_SND_SOC_PCM186X_I2C b/baseconfig/CONFIG_SND_SOC_PCM186X_I2C
new file mode 100644
index 000000000..8d0fad2b4
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_PCM186X_I2C
@@ -0,0 +1 @@
+CONFIG_SND_SOC_PCM186X_I2C=m
diff --git a/baseconfig/CONFIG_SND_SOC_PCM186X_SPI b/baseconfig/CONFIG_SND_SOC_PCM186X_SPI
new file mode 100644
index 000000000..0e112b31e
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_PCM186X_SPI
@@ -0,0 +1 @@
+CONFIG_SND_SOC_PCM186X_SPI=m
diff --git a/baseconfig/CONFIG_SND_SOC_TAS6424 b/baseconfig/CONFIG_SND_SOC_TAS6424
new file mode 100644
index 000000000..c70624da7
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_TAS6424
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TAS6424=m
diff --git a/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C
new file mode 100644
index 000000000..e7ecb5383
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_I2C
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
diff --git a/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI
new file mode 100644
index 000000000..166098de5
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_TLV320AIC32X4_SPI
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
diff --git a/baseconfig/CONFIG_SND_SOC_TSCS42XX b/baseconfig/CONFIG_SND_SOC_TSCS42XX
new file mode 100644
index 000000000..d91060f18
--- /dev/null
+++ b/baseconfig/CONFIG_SND_SOC_TSCS42XX
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TSCS42XX=m
diff --git a/baseconfig/CONFIG_SOUNDWIRE b/baseconfig/CONFIG_SOUNDWIRE
new file mode 100644
index 000000000..1446f20a3
--- /dev/null
+++ b/baseconfig/CONFIG_SOUNDWIRE
@@ -0,0 +1 @@
+CONFIG_SOUNDWIRE=y
diff --git a/baseconfig/CONFIG_SOUNDWIRE_BUS b/baseconfig/CONFIG_SOUNDWIRE_BUS
new file mode 100644
index 000000000..dd3714b7c
--- /dev/null
+++ b/baseconfig/CONFIG_SOUNDWIRE_BUS
@@ -0,0 +1 @@
+CONFIG_SOUNDWIRE_BUS=m
diff --git a/baseconfig/CONFIG_SOUNDWIRE_CADENCE b/baseconfig/CONFIG_SOUNDWIRE_CADENCE
new file mode 100644
index 000000000..f97a403fa
--- /dev/null
+++ b/baseconfig/CONFIG_SOUNDWIRE_CADENCE
@@ -0,0 +1 @@
+CONFIG_SOUNDWIRE_CADENCE=m
diff --git a/baseconfig/CONFIG_ST_UVIS25 b/baseconfig/CONFIG_ST_UVIS25
new file mode 100644
index 000000000..55c15bb5b
--- /dev/null
+++ b/baseconfig/CONFIG_ST_UVIS25
@@ -0,0 +1 @@
+CONFIG_ST_UVIS25=m
diff --git a/baseconfig/CONFIG_ST_UVIS25_I2C b/baseconfig/CONFIG_ST_UVIS25_I2C
new file mode 100644
index 000000000..677b118e1
--- /dev/null
+++ b/baseconfig/CONFIG_ST_UVIS25_I2C
@@ -0,0 +1 @@
+CONFIG_ST_UVIS25_I2C=m
diff --git a/baseconfig/CONFIG_ST_UVIS25_SPI b/baseconfig/CONFIG_ST_UVIS25_SPI
new file mode 100644
index 000000000..e094a51ea
--- /dev/null
+++ b/baseconfig/CONFIG_ST_UVIS25_SPI
@@ -0,0 +1 @@
+CONFIG_ST_UVIS25_SPI=m
diff --git a/baseconfig/CONFIG_TIMER_STATS b/baseconfig/CONFIG_TIMER_STATS
deleted file mode 100644
index 0dfc820be..000000000
--- a/baseconfig/CONFIG_TIMER_STATS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_TIMER_STATS is not set
diff --git a/baseconfig/CONFIG_UNISYS_VISORBUS b/baseconfig/CONFIG_UNISYS_VISORBUS
new file mode 100644
index 000000000..ba34845c8
--- /dev/null
+++ b/baseconfig/CONFIG_UNISYS_VISORBUS
@@ -0,0 +1 @@
+# CONFIG_UNISYS_VISORBUS is not set
diff --git a/baseconfig/CONFIG_USB_CHIPIDEA_ULPI b/baseconfig/CONFIG_USB_CHIPIDEA_ULPI
deleted file mode 100644
index c97b84c79..000000000
--- a/baseconfig/CONFIG_USB_CHIPIDEA_ULPI
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_USB_CHIPIDEA_ULPI is not set
diff --git a/baseconfig/CONFIG_USB_XHCI_DBGCAP b/baseconfig/CONFIG_USB_XHCI_DBGCAP
new file mode 100644
index 000000000..3cf92a71a
--- /dev/null
+++ b/baseconfig/CONFIG_USB_XHCI_DBGCAP
@@ -0,0 +1 @@
+CONFIG_USB_XHCI_DBGCAP=y
diff --git a/baseconfig/CONFIG_VIRTIO_MENU b/baseconfig/CONFIG_VIRTIO_MENU
new file mode 100644
index 000000000..ce9f283a8
--- /dev/null
+++ b/baseconfig/CONFIG_VIRTIO_MENU
@@ -0,0 +1 @@
+CONFIG_VIRTIO_MENU=y
diff --git a/baseconfig/CONFIG_XILINX_VCU b/baseconfig/CONFIG_XILINX_VCU
new file mode 100644
index 000000000..6ba10b386
--- /dev/null
+++ b/baseconfig/CONFIG_XILINX_VCU
@@ -0,0 +1 @@
+CONFIG_XILINX_VCU=m
diff --git a/baseconfig/CONFIG_ZOPT2201 b/baseconfig/CONFIG_ZOPT2201
new file mode 100644
index 000000000..407ef5f8c
--- /dev/null
+++ b/baseconfig/CONFIG_ZOPT2201
@@ -0,0 +1 @@
+CONFIG_ZOPT2201=m
diff --git a/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ b/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ
new file mode 100644
index 000000000..c2475dc86
--- /dev/null
+++ b/baseconfig/arm/CONFIG_ARM_ARMADA_37XX_CPUFREQ
@@ -0,0 +1 @@
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
diff --git a/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ b/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ
index 89d555289..8b76dfa84 100644
--- a/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ
+++ b/baseconfig/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ
@@ -1 +1 @@
-# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
diff --git a/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS b/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS
new file mode 100644
index 000000000..b0e62594c
--- /dev/null
+++ b/baseconfig/arm/CONFIG_ARM_PTDUMP_DEBUGFS
@@ -0,0 +1 @@
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
diff --git a/baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ b/baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ
index f2b7060d6..f2b7060d6 100644
--- a/baseconfig/arm/armv7/CONFIG_ARM_SCPI_CPUFREQ
+++ b/baseconfig/arm/CONFIG_ARM_SCPI_CPUFREQ
diff --git a/baseconfig/arm/CONFIG_CRYPTO_DEV_MV_CESA b/baseconfig/arm/CONFIG_CRYPTO_DEV_MV_CESA
deleted file mode 100644
index 25ac0e90d..000000000
--- a/baseconfig/arm/CONFIG_CRYPTO_DEV_MV_CESA
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRYPTO_DEV_MV_CESA=m
diff --git a/baseconfig/arm/CONFIG_DEBUG_WX b/baseconfig/arm/CONFIG_DEBUG_WX
new file mode 100644
index 000000000..95e08f44b
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DEBUG_WX
@@ -0,0 +1 @@
+CONFIG_DEBUG_WX=y
diff --git a/baseconfig/arm/CONFIG_DRM_I2C_ADV7511 b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511
new file mode 100644
index 000000000..2d931f712
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511
@@ -0,0 +1 @@
+CONFIG_DRM_I2C_ADV7511=m
diff --git a/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC
new file mode 100644
index 000000000..42e87e034
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_I2C_ADV7511_CEC
@@ -0,0 +1 @@
+CONFIG_DRM_I2C_ADV7511_CEC=y
diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322 b/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322
new file mode 100644
index 000000000..c18cc1b27
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_PANEL_ILITEK_IL9322
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
diff --git a/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG b/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG
new file mode 100644
index 000000000..63ed03113
--- /dev/null
+++ b/baseconfig/arm/CONFIG_FTWDT010_WATCHDOG
@@ -0,0 +1 @@
+# CONFIG_FTWDT010_WATCHDOG is not set
diff --git a/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP b/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP
new file mode 100644
index 000000000..c98e757e1
--- /dev/null
+++ b/baseconfig/arm/CONFIG_GPIO_RASPBERRYPI_EXP
@@ -0,0 +1 @@
+CONFIG_GPIO_RASPBERRYPI_EXP=m
diff --git a/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR b/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR
new file mode 100644
index 000000000..711cee4c9
--- /dev/null
+++ b/baseconfig/arm/CONFIG_I2C_GPIO_FAULT_INJECTOR
@@ -0,0 +1 @@
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
diff --git a/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV b/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV
new file mode 100644
index 000000000..fc68f1d89
--- /dev/null
+++ b/baseconfig/arm/CONFIG_MFD_CROS_EC_CHARDEV
@@ -0,0 +1 @@
+CONFIG_MFD_CROS_EC_CHARDEV=m
diff --git a/baseconfig/arm/CONFIG_MTD_NAND_MARVELL b/baseconfig/arm/CONFIG_MTD_NAND_MARVELL
new file mode 100644
index 000000000..439fe9528
--- /dev/null
+++ b/baseconfig/arm/CONFIG_MTD_NAND_MARVELL
@@ -0,0 +1 @@
+CONFIG_MTD_NAND_MARVELL=m
diff --git a/baseconfig/arm/CONFIG_NCP_FS b/baseconfig/arm/CONFIG_NCP_FS
deleted file mode 100644
index 62eb3bdd0..000000000
--- a/baseconfig/arm/CONFIG_NCP_FS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_NCP_FS is not set
diff --git a/baseconfig/arm/CONFIG_PINCTRL_AXP209 b/baseconfig/arm/CONFIG_PINCTRL_AXP209
new file mode 100644
index 000000000..6ccab1d44
--- /dev/null
+++ b/baseconfig/arm/CONFIG_PINCTRL_AXP209
@@ -0,0 +1 @@
+CONFIG_PINCTRL_AXP209=m
diff --git a/baseconfig/arm/CONFIG_PINCTRL_MSM8998 b/baseconfig/arm/CONFIG_PINCTRL_MSM8998
new file mode 100644
index 000000000..e2650002f
--- /dev/null
+++ b/baseconfig/arm/CONFIG_PINCTRL_MSM8998
@@ -0,0 +1 @@
+CONFIG_PINCTRL_MSM8998=m
diff --git a/baseconfig/arm/CONFIG_QCOM_A53PLL b/baseconfig/arm/CONFIG_QCOM_A53PLL
new file mode 100644
index 000000000..6928d6138
--- /dev/null
+++ b/baseconfig/arm/CONFIG_QCOM_A53PLL
@@ -0,0 +1 @@
+CONFIG_QCOM_A53PLL=m
diff --git a/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916 b/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916
new file mode 100644
index 000000000..ca97c450e
--- /dev/null
+++ b/baseconfig/arm/CONFIG_QCOM_CLK_APCS_MSM8916
@@ -0,0 +1 @@
+CONFIG_QCOM_CLK_APCS_MSM8916=m
diff --git a/baseconfig/arm/aarch64/CONFIG_REFCOUNT_FULL b/baseconfig/arm/CONFIG_REFCOUNT_FULL
index c7e4a167a..c7e4a167a 100644
--- a/baseconfig/arm/aarch64/CONFIG_REFCOUNT_FULL
+++ b/baseconfig/arm/CONFIG_REFCOUNT_FULL
diff --git a/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC b/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC
new file mode 100644
index 000000000..4665f7916
--- /dev/null
+++ b/baseconfig/arm/CONFIG_RTC_DRV_CROS_EC
@@ -0,0 +1 @@
+CONFIG_RTC_DRV_CROS_EC=m
diff --git a/baseconfig/arm/CONFIG_SATA_SIL24 b/baseconfig/arm/CONFIG_SATA_SIL24
deleted file mode 100644
index 7526a06a0..000000000
--- a/baseconfig/arm/CONFIG_SATA_SIL24
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SATA_SIL24 is not set
diff --git a/baseconfig/arm/CONFIG_SD_ADC_MODULATOR b/baseconfig/arm/CONFIG_SD_ADC_MODULATOR
new file mode 100644
index 000000000..de78e1d14
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SD_ADC_MODULATOR
@@ -0,0 +1 @@
+CONFIG_SD_ADC_MODULATOR=m
diff --git a/baseconfig/arm/CONFIG_SLIMBUS b/baseconfig/arm/CONFIG_SLIMBUS
new file mode 100644
index 000000000..6b6eac17c
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SLIMBUS
@@ -0,0 +1 @@
+CONFIG_SLIMBUS=m
diff --git a/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL b/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL
new file mode 100644
index 000000000..ea353222f
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SLIM_QCOM_CTRL
@@ -0,0 +1 @@
+CONFIG_SLIM_QCOM_CTRL=m
diff --git a/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV b/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV
new file mode 100644
index 000000000..2b11b2de7
--- /dev/null
+++ b/baseconfig/arm/CONFIG_SPMI_PMIC_CLKDIV
@@ -0,0 +1 @@
+CONFIG_SPMI_PMIC_CLKDIV=m
diff --git a/baseconfig/arm/CONFIG_SUN8I_DE2_CCU b/baseconfig/arm/CONFIG_SUN8I_DE2_CCU
index 41a3847ad..1729d1f68 100644
--- a/baseconfig/arm/CONFIG_SUN8I_DE2_CCU
+++ b/baseconfig/arm/CONFIG_SUN8I_DE2_CCU
@@ -1 +1 @@
-# CONFIG_SUN8I_DE2_CCU is not set
+CONFIG_SUN8I_DE2_CCU=y
diff --git a/baseconfig/arm/CONFIG_TEGRA_VDE b/baseconfig/arm/CONFIG_TEGRA_VDE
new file mode 100644
index 000000000..1b373e8f2
--- /dev/null
+++ b/baseconfig/arm/CONFIG_TEGRA_VDE
@@ -0,0 +1 @@
+CONFIG_TEGRA_VDE=m
diff --git a/baseconfig/arm/CONFIG_TINYDRM_ILI9225 b/baseconfig/arm/CONFIG_TINYDRM_ILI9225
new file mode 100644
index 000000000..3f9d07d4e
--- /dev/null
+++ b/baseconfig/arm/CONFIG_TINYDRM_ILI9225
@@ -0,0 +1 @@
+CONFIG_TINYDRM_ILI9225=m
diff --git a/baseconfig/arm/CONFIG_TINYDRM_ST7735R b/baseconfig/arm/CONFIG_TINYDRM_ST7735R
new file mode 100644
index 000000000..89c0fd568
--- /dev/null
+++ b/baseconfig/arm/CONFIG_TINYDRM_ST7735R
@@ -0,0 +1 @@
+CONFIG_TINYDRM_ST7735R=m
diff --git a/baseconfig/arm/aarch64/CONFIG_USB_MUSB_SUNXI b/baseconfig/arm/CONFIG_USB_MUSB_SUNXI
index 258e716ab..258e716ab 100644
--- a/baseconfig/arm/aarch64/CONFIG_USB_MUSB_SUNXI
+++ b/baseconfig/arm/CONFIG_USB_MUSB_SUNXI
diff --git a/baseconfig/arm/CONFIG_USB_OTG_FSM b/baseconfig/arm/CONFIG_USB_OTG_FSM
new file mode 100644
index 000000000..6dc1aac25
--- /dev/null
+++ b/baseconfig/arm/CONFIG_USB_OTG_FSM
@@ -0,0 +1 @@
+CONFIG_USB_OTG_FSM=m
diff --git a/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP b/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP
index f92a386c6..59df22f3c 100644
--- a/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP
+++ b/baseconfig/arm/aarch64/CONFIG_ARCH_ZYNQMP
@@ -1 +1 @@
-# CONFIG_ARCH_ZYNQMP is not set
+CONFIG_ARCH_ZYNQMP=y
diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM b/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM
index 9325600d1..f2e1b130f 100644
--- a/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM
+++ b/baseconfig/arm/aarch64/CONFIG_ARM64_PMEM
@@ -1 +1 @@
-# CONFIG_ARM64_PMEM is not set
+CONFIG_ARM64_PMEM=y
diff --git a/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN b/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN
new file mode 100644
index 000000000..b664a0de1
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_ARM64_RAS_EXTN
@@ -0,0 +1 @@
+CONFIG_ARM64_RAS_EXTN=y
diff --git a/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU b/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU
new file mode 100644
index 000000000..383292c89
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_ARM_DSU_PMU
@@ -0,0 +1 @@
+CONFIG_ARM_DSU_PMU=m
diff --git a/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE b/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE
new file mode 100644
index 000000000..b33609158
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_ARM_SDE_INTERFACE
@@ -0,0 +1 @@
+CONFIG_ARM_SDE_INTERFACE=y
diff --git a/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP b/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP
new file mode 100644
index 000000000..271967f8a
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_CAVIUM_PTP
@@ -0,0 +1 @@
+CONFIG_CAVIUM_PTP=m
diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64 b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64
new file mode 100644
index 000000000..52d5aeaab
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA3_ARM64
@@ -0,0 +1 @@
+CONFIG_CRYPTO_SHA3_ARM64=m
diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE
new file mode 100644
index 000000000..3a159ef93
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SHA512_ARM64_CE
@@ -0,0 +1 @@
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
diff --git a/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE
new file mode 100644
index 000000000..93a6a00f4
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_CRYPTO_SM3_ARM64_CE
@@ -0,0 +1 @@
+CONFIG_CRYPTO_SM3_ARM64_CE=m
diff --git a/baseconfig/arm/aarch64/CONFIG_FB_XILINX b/baseconfig/arm/aarch64/CONFIG_FB_XILINX
new file mode 100644
index 000000000..4bcb7d896
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_FB_XILINX
@@ -0,0 +1 @@
+CONFIG_FB_XILINX=m
diff --git a/baseconfig/arm/aarch64/CONFIG_GPIO_MB86S7X b/baseconfig/arm/aarch64/CONFIG_GPIO_MB86S7X
new file mode 100644
index 000000000..3c4c7370f
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_GPIO_MB86S7X
@@ -0,0 +1 @@
+CONFIG_GPIO_MB86S7X=m
diff --git a/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ b/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ
new file mode 100644
index 000000000..2f9ba2067
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_GPIO_ZYNQ
@@ -0,0 +1 @@
+CONFIG_GPIO_ZYNQ=m
diff --git a/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT
new file mode 100644
index 000000000..213e48587
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_NET_VENDOR_SOCIONEXT
@@ -0,0 +1 @@
+CONFIG_NET_VENDOR_SOCIONEXT=y
diff --git a/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL b/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL
new file mode 100644
index 000000000..90eae1f9b
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_PCIE_XILINX_NWL
@@ -0,0 +1 @@
+CONFIG_PCIE_XILINX_NWL=y
diff --git a/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG
new file mode 100644
index 000000000..fec409eb2
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_PINCTRL_MESON_AXG
@@ -0,0 +1 @@
+CONFIG_PINCTRL_MESON_AXG=y
diff --git a/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP
new file mode 100644
index 000000000..440cc295e
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_RTC_DRV_ZYNQMP
@@ -0,0 +1 @@
+CONFIG_RTC_DRV_ZYNQMP=m
diff --git a/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI b/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI
new file mode 100644
index 000000000..98ca0a7ef
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_SPI_ZYNQMP_GQSPI
@@ -0,0 +1 @@
+CONFIG_SPI_ZYNQMP_GQSPI=m
diff --git a/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660 b/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660
new file mode 100644
index 000000000..99ffc024c
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_STUB_CLK_HI3660
@@ -0,0 +1 @@
+CONFIG_STUB_CLK_HI3660=y
diff --git a/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA b/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA
new file mode 100644
index 000000000..9d804ee98
--- /dev/null
+++ b/baseconfig/arm/aarch64/CONFIG_XILINX_ZYNQMP_DMA
@@ -0,0 +1 @@
+CONFIG_XILINX_ZYNQMP_DMA=m
diff --git a/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ b/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ
deleted file mode 100644
index 8b76dfa84..000000000
--- a/baseconfig/arm/armv7/CONFIG_ARM_BIG_LITTLE_CPUFREQ
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC
deleted file mode 100644
index 761cf114e..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_FIMC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_EXYNOS_FIMC=y
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC
deleted file mode 100644
index cf2c394a6..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_GSC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_EXYNOS_GSC=y
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP
deleted file mode 100644
index 0d547a2f8..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_IPP
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_EXYNOS_IPP=y
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR b/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR
deleted file mode 100644
index b994e95b5..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_EXYNOS_ROTATOR
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_EXYNOS_ROTATOR=y
diff --git a/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS b/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS
new file mode 100644
index 000000000..87c25300c
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_HW_RANDOM_EXYNOS
@@ -0,0 +1 @@
+CONFIG_HW_RANDOM_EXYNOS=m
diff --git a/baseconfig/arm/armv7/CONFIG_SUN8I_DE2_CCU b/baseconfig/arm/armv7/CONFIG_SUN8I_DE2_CCU
deleted file mode 100644
index 1729d1f68..000000000
--- a/baseconfig/arm/armv7/CONFIG_SUN8I_DE2_CCU
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SUN8I_DE2_CCU=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL b/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL
new file mode 100644
index 000000000..ddd9d5832
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_ETNAVIV_THERMAL
@@ -0,0 +1 @@
+CONFIG_DRM_ETNAVIV_THERMAL=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU b/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU
new file mode 100644
index 000000000..777cb90c8
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_MFD_TI_LMU
@@ -0,0 +1 @@
+CONFIG_MFD_TI_LMU=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX b/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX
deleted file mode 100644
index 25d1d5570..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_POWER_RESET_IMX
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_POWER_RESET_IMX=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X
new file mode 100644
index 000000000..a4610d589
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_LM363X
@@ -0,0 +1 @@
+CONFIG_REGULATOR_LM363X=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RESET_IMX7 b/baseconfig/arm/armv7/armv7/CONFIG_RESET_IMX7
new file mode 100644
index 000000000..6718265f9
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_RESET_IMX7
@@ -0,0 +1 @@
+CONFIG_RESET_IMX7=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2 b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2
new file mode 100644
index 000000000..225594051
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_RTC_DRV_MXC_V2
@@ -0,0 +1 @@
+CONFIG_RTC_DRV_MXC_V2=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP
index 582053b2d..0f7ea5449 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP
@@ -1 +1 @@
-CONFIG_SERIAL_8250_OMAP=m
+CONFIG_SERIAL_8250_OMAP=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP
new file mode 100644
index 000000000..cffbc1b84
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP
@@ -0,0 +1 @@
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP
index 0dbd205b2..1c036ec4f 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP
@@ -1 +1 @@
-CONFIG_SERIAL_OMAP=y
+# CONFIG_SERIAL_OMAP is not set
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE b/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE
deleted file mode 100644
index 84ab44f7f..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_SERIAL_OMAP_CONSOLE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SERIAL_OMAP_CONSOLE=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM b/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM
new file mode 100644
index 000000000..6bb0bf6e6
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM
@@ -0,0 +1 @@
+CONFIG_TI_EMIF_SRAM=m
diff --git a/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI b/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI
new file mode 100644
index 000000000..6989ad752
--- /dev/null
+++ b/baseconfig/arm/armv7/lpae/CONFIG_EDAC_TI
@@ -0,0 +1 @@
+CONFIG_EDAC_TI=m
diff --git a/baseconfig/powerpc/CONFIG_OCXL b/baseconfig/powerpc/CONFIG_OCXL
new file mode 100644
index 000000000..4f2a1a2ca
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_OCXL
@@ -0,0 +1 @@
+CONFIG_OCXL=m
diff --git a/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG b/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG
new file mode 100644
index 000000000..34e3d00fe
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_PPC_IRQ_SOFT_MASK_DEBUG
@@ -0,0 +1 @@
+# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set
diff --git a/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS b/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS
new file mode 100644
index 000000000..fc57e86b5
--- /dev/null
+++ b/baseconfig/powerpc/CONFIG_PPC_MEM_KEYS
@@ -0,0 +1 @@
+CONFIG_PPC_MEM_KEYS=y
diff --git a/baseconfig/s390x/CONFIG_EXPOLINE b/baseconfig/s390x/CONFIG_EXPOLINE
new file mode 100644
index 000000000..4fed3923a
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_EXPOLINE
@@ -0,0 +1 @@
+CONFIG_EXPOLINE=y
diff --git a/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM b/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM
new file mode 100644
index 000000000..82c8370c3
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_EXPOLINE_MEDIUM
@@ -0,0 +1 @@
+CONFIG_EXPOLINE_MEDIUM=y
diff --git a/baseconfig/s390x/CONFIG_KERNEL_NOBP b/baseconfig/s390x/CONFIG_KERNEL_NOBP
new file mode 100644
index 000000000..b3c291602
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_KERNEL_NOBP
@@ -0,0 +1 @@
+CONFIG_KERNEL_NOBP=y
diff --git a/baseconfig/s390x/CONFIG_MFD_RTSX_PCI b/baseconfig/s390x/CONFIG_MFD_RTSX_PCI
deleted file mode 100644
index 03cefd786..000000000
--- a/baseconfig/s390x/CONFIG_MFD_RTSX_PCI
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_MFD_RTSX_PCI is not set
diff --git a/baseconfig/s390x/CONFIG_MFD_RTSX_USB b/baseconfig/s390x/CONFIG_MFD_RTSX_USB
deleted file mode 100644
index b6efa65e7..000000000
--- a/baseconfig/s390x/CONFIG_MFD_RTSX_USB
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_MFD_RTSX_USB is not set
diff --git a/baseconfig/s390x/CONFIG_MISC_RTSX_PCI b/baseconfig/s390x/CONFIG_MISC_RTSX_PCI
new file mode 100644
index 000000000..eeec3f096
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MISC_RTSX_PCI
@@ -0,0 +1 @@
+# CONFIG_MISC_RTSX_PCI is not set
diff --git a/baseconfig/s390x/CONFIG_MISC_RTSX_USB b/baseconfig/s390x/CONFIG_MISC_RTSX_USB
new file mode 100644
index 000000000..f41dad5dd
--- /dev/null
+++ b/baseconfig/s390x/CONFIG_MISC_RTSX_USB
@@ -0,0 +1 @@
+# CONFIG_MISC_RTSX_USB is not set
diff --git a/baseconfig/x86/CONFIG_ACER_WIRELESS b/baseconfig/x86/CONFIG_ACER_WIRELESS
new file mode 100644
index 000000000..6d6dddcc0
--- /dev/null
+++ b/baseconfig/x86/CONFIG_ACER_WIRELESS
@@ -0,0 +1 @@
+CONFIG_ACER_WIRELESS=m
diff --git a/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM b/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM
index 2ba638248..3fead97e1 100644
--- a/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM
+++ b/baseconfig/x86/CONFIG_DELL_SMBIOS_SMM
@@ -1 +1 @@
-CONFIG_DELL_SMBIOS_SMM=m
+CONFIG_DELL_SMBIOS_SMM=y
diff --git a/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI b/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI
index 0e3f3d8de..46a8c84ce 100644
--- a/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI
+++ b/baseconfig/x86/CONFIG_DELL_SMBIOS_WMI
@@ -1 +1 @@
-CONFIG_DELL_SMBIOS_WMI=m
+CONFIG_DELL_SMBIOS_WMI=y
diff --git a/baseconfig/x86/CONFIG_GPD_POCKET_FAN b/baseconfig/x86/CONFIG_GPD_POCKET_FAN
new file mode 100644
index 000000000..6eb761b30
--- /dev/null
+++ b/baseconfig/x86/CONFIG_GPD_POCKET_FAN
@@ -0,0 +1 @@
+CONFIG_GPD_POCKET_FAN=m
diff --git a/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN b/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN
new file mode 100644
index 000000000..55ca8a3ad
--- /dev/null
+++ b/baseconfig/x86/CONFIG_INTEL_CHTDC_TI_PWRBTN
@@ -0,0 +1 @@
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
diff --git a/baseconfig/x86/CONFIG_KEXEC_SIG b/baseconfig/x86/CONFIG_KEXEC_SIG
new file mode 100644
index 000000000..49392e485
--- /dev/null
+++ b/baseconfig/x86/CONFIG_KEXEC_SIG
@@ -0,0 +1 @@
+# CONFIG_KEXEC_SIG is not set
diff --git a/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG b/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG
deleted file mode 100644
index 5d9b84372..000000000
--- a/baseconfig/x86/CONFIG_KEXEC_VERIFY_SIG
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_KEXEC_VERIFY_SIG is not set
diff --git a/baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM b/baseconfig/x86/CONFIG_MLX_PLATFORM
index 54e7906ec..54e7906ec 100644
--- a/baseconfig/x86/x86_64/CONFIG_MLX_PLATFORM
+++ b/baseconfig/x86/CONFIG_MLX_PLATFORM
diff --git a/baseconfig/x86/CONFIG_SD_ADC_MODULATOR b/baseconfig/x86/CONFIG_SD_ADC_MODULATOR
new file mode 100644
index 000000000..de78e1d14
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SD_ADC_MODULATOR
@@ -0,0 +1 @@
+CONFIG_SD_ADC_MODULATOR=m
diff --git a/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL
index b5dc6477a..419418b86 100644
--- a/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL
+++ b/baseconfig/x86/CONFIG_SND_SOC_INTEL_SST_TOPLEVEL
@@ -1 +1 @@
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
diff --git a/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI
new file mode 100644
index 000000000..2fcfec9cc
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI
@@ -0,0 +1 @@
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
diff --git a/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL b/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL
new file mode 100644
index 000000000..d48d1cc17
--- /dev/null
+++ b/baseconfig/x86/CONFIG_SOUNDWIRE_INTEL
@@ -0,0 +1 @@
+CONFIG_SOUNDWIRE_INTEL=m
diff --git a/baseconfig/x86/CONFIG_VBOXGUEST b/baseconfig/x86/CONFIG_VBOXGUEST
new file mode 100644
index 000000000..790186610
--- /dev/null
+++ b/baseconfig/x86/CONFIG_VBOXGUEST
@@ -0,0 +1 @@
+# CONFIG_VBOXGUEST is not set
diff --git a/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2 b/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2
new file mode 100644
index 000000000..d8d306e62
--- /dev/null
+++ b/baseconfig/x86/CONFIG_VIDEO_IPU3_CIO2
@@ -0,0 +1 @@
+CONFIG_VIDEO_IPU3_CIO2=m
diff --git a/baseconfig/x86/CONFIG_VIRT_DRIVERS b/baseconfig/x86/CONFIG_VIRT_DRIVERS
new file mode 100644
index 000000000..7173b9c64
--- /dev/null
+++ b/baseconfig/x86/CONFIG_VIRT_DRIVERS
@@ -0,0 +1 @@
+CONFIG_VIRT_DRIVERS=y
diff --git a/baseconfig/x86/CONFIG_X86_PMEM_LEGACY b/baseconfig/x86/CONFIG_X86_PMEM_LEGACY
index 3ac539aca..b93c1350f 100644
--- a/baseconfig/x86/CONFIG_X86_PMEM_LEGACY
+++ b/baseconfig/x86/CONFIG_X86_PMEM_LEGACY
@@ -1 +1 @@
-CONFIG_X86_PMEM_LEGACY=y
+CONFIG_X86_PMEM_LEGACY=m
diff --git a/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE b/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE
deleted file mode 100644
index 373382804..000000000
--- a/baseconfig/x86/i686/CONFIG_X86_PPRO_FENCE
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_X86_PPRO_FENCE is not set
diff --git a/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE b/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE
deleted file mode 100644
index 373382804..000000000
--- a/baseconfig/x86/i686PAE/CONFIG_X86_PPRO_FENCE
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_X86_PPRO_FENCE is not set
diff --git a/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP b/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP
new file mode 100644
index 000000000..7b0c6490a
--- /dev/null
+++ b/baseconfig/x86/x86_64/CONFIG_CRYPTO_DEV_SP_PSP
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_SP_PSP=y
diff --git a/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST b/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST
new file mode 100644
index 000000000..aa93b53af
--- /dev/null
+++ b/baseconfig/x86/x86_64/CONFIG_JAILHOUSE_GUEST
@@ -0,0 +1 @@
+# CONFIG_JAILHOUSE_GUEST is not set
diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG
new file mode 100644
index 000000000..67b688658
--- /dev/null
+++ b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG
@@ -0,0 +1 @@
+CONFIG_KEXEC_SIG=y
diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE
new file mode 100644
index 000000000..6aa62efa5
--- /dev/null
+++ b/baseconfig/x86/x86_64/CONFIG_KEXEC_SIG_FORCE
@@ -0,0 +1 @@
+CONFIG_KEXEC_SIG_FORCE=y
diff --git a/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG b/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG
deleted file mode 100644
index 5f39f1993..000000000
--- a/baseconfig/x86/x86_64/CONFIG_KEXEC_VERIFY_SIG
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_KEXEC_VERIFY_SIG=y
diff --git a/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV b/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV
new file mode 100644
index 000000000..de33426a5
--- /dev/null
+++ b/baseconfig/x86/x86_64/CONFIG_KVM_AMD_SEV
@@ -0,0 +1 @@
+CONFIG_KVM_AMD_SEV=y
diff --git a/baseconfig/x86/x86_64/CONFIG_SND_HDA_POWER_SAVE_DEFAULT b/baseconfig/x86/x86_64/CONFIG_SND_HDA_POWER_SAVE_DEFAULT
deleted file mode 100644
index ba018972d..000000000
--- a/baseconfig/x86/x86_64/CONFIG_SND_HDA_POWER_SAVE_DEFAULT
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
diff --git a/bcm2835-hwrng-Handle-deferred-clock-properly.patch b/bcm2835-hwrng-Handle-deferred-clock-properly.patch
new file mode 100644
index 000000000..4b4cdfea0
--- /dev/null
+++ b/bcm2835-hwrng-Handle-deferred-clock-properly.patch
@@ -0,0 +1,42 @@
+From patchwork Mon Feb 12 20:11:36 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: hwrng: bcm2835: Handle deferred clock properly
+From: Stefan Wahren <stefan.wahren@i2se.com>
+X-Patchwork-Id: 10214385
+Message-Id: <1518466296-30161-1-git-send-email-stefan.wahren@i2se.com>
+To: Herbert Xu <herbert@gondor.apana.org.au>, Matt Mackall <mpm@selenic.com>
+Cc: Stefan Wahren <stefan.wahren@i2se.com>,
+ Florian Fainelli <f.fainelli@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
+ Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
+ Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
+ Eric Anholt <eric@anholt.net>,
+ bcm-kernel-feedback-list@broadcom.com, linux-crypto@vger.kernel.org,
+ Ray Jui <rjui@broadcom.com>, linux-arm-kernel@lists.infradead.org
+Date: Mon, 12 Feb 2018 21:11:36 +0100
+
+In case the probe of the clock is deferred, we would assume it is
+optional. This is wrong, so defer the probe of this driver until
+the clock is available.
+
+Fixes: 791af4f4907a ("hwrng: bcm2835 - Manage an optional clock")
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ drivers/char/hw_random/bcm2835-rng.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c
+index 7a84cec..6767d96 100644
+--- a/drivers/char/hw_random/bcm2835-rng.c
++++ b/drivers/char/hw_random/bcm2835-rng.c
+@@ -163,6 +163,8 @@ static int bcm2835_rng_probe(struct platform_device *pdev)
+
+ /* Clock is optional on most platforms */
+ priv->clk = devm_clk_get(dev, NULL);
++ if (IS_ERR(priv->clk) && PTR_ERR(priv->clk) == -EPROBE_DEFER)
++ return -EPROBE_DEFER;
+
+ priv->rng.name = pdev->name;
+ priv->rng.init = bcm2835_rng_init;
diff --git a/bcm2837-enable-pmu.patch b/bcm2837-enable-pmu.patch
new file mode 100644
index 000000000..378dd64c1
--- /dev/null
+++ b/bcm2837-enable-pmu.patch
@@ -0,0 +1,31 @@
+From 69e52712002cb6768b894cde9620fb426fd8728d Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Fri, 16 Mar 2018 21:49:37 +0100
+Subject: [PATCH] ARM: dts: bcm2837: Enable PMU on Raspberry Pi 3
+
+This enables the PMU (performance monitoring unit) on Raspberry Pi 3.
+In order to make it work on ARM and ARM64, we need to specify two
+compatible strings.
+
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ arch/arm/boot/dts/bcm2837.dtsi | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
+index 7704bb029605..1f5e5c782835 100644
+--- a/arch/arm/boot/dts/bcm2837.dtsi
++++ b/arch/arm/boot/dts/bcm2837.dtsi
+@@ -17,6 +17,12 @@
+ };
+ };
+
++ arm-pmu {
++ compatible = "arm,cortex-a53-pmu", "arm,cortex-a7-pmu";
++ interrupt-parent = <&local_intc>;
++ interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
++ };
++
+ timer {
+ compatible = "arm,armv7-timer";
+ interrupt-parent = <&local_intc>;
diff --git a/bcm2837-gpio-expander.patch b/bcm2837-gpio-expander.patch
new file mode 100644
index 000000000..f5b8370b4
--- /dev/null
+++ b/bcm2837-gpio-expander.patch
@@ -0,0 +1,707 @@
+From patchwork Tue Feb 20 12:19:31 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v5,1/5] ARM: bcm2835: sync firmware properties with downstream
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 10229963
+Message-Id: <e7d1f1d0789f11d37957a8998bee23d035115aeb.1519128054.git.baruch@tkos.co.il>
+To: Linus Walleij <linus.walleij@linaro.org>,
+ Dave Stevenson <dave.stevenson@raspberrypi.org>,
+ Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>
+Cc: devicetree@vger.kernel.org, Baruch Siach <baruch@tkos.co.il>,
+ linux-gpio@vger.kernel.org, Michael Zoran <mzoran@crowfest.net>,
+ Rob Herring <robh+dt@kernel.org>, linux-rpi-kernel@lists.infradead.org,
+ Frank Rowand <frowand.list@gmail.com>, linux-arm-kernel@lists.infradead.org
+Date: Tue, 20 Feb 2018 14:19:31 +0200
+
+Add latest firmware property tags from the latest Raspberry Pi downstream
+kernel. This is needed for the GPIO tags, so we can control the GPIO
+multiplexor lines.
+
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+v4: No change
+
+v3: Add Stefan's ack
+
+v2: No change
+---
+ include/soc/bcm2835/raspberrypi-firmware.h | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
+index cb979ad90401..50df5b28d2c9 100644
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -63,6 +63,7 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_GET_MIN_VOLTAGE = 0x00030008,
+ RPI_FIRMWARE_GET_TURBO = 0x00030009,
+ RPI_FIRMWARE_GET_MAX_TEMPERATURE = 0x0003000a,
++ RPI_FIRMWARE_GET_STC = 0x0003000b,
+ RPI_FIRMWARE_ALLOCATE_MEMORY = 0x0003000c,
+ RPI_FIRMWARE_LOCK_MEMORY = 0x0003000d,
+ RPI_FIRMWARE_UNLOCK_MEMORY = 0x0003000e,
+@@ -72,12 +73,22 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_SET_ENABLE_QPU = 0x00030012,
+ RPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE = 0x00030014,
+ RPI_FIRMWARE_GET_EDID_BLOCK = 0x00030020,
++ RPI_FIRMWARE_GET_CUSTOMER_OTP = 0x00030021,
+ RPI_FIRMWARE_GET_DOMAIN_STATE = 0x00030030,
+ RPI_FIRMWARE_SET_CLOCK_STATE = 0x00038001,
+ RPI_FIRMWARE_SET_CLOCK_RATE = 0x00038002,
+ RPI_FIRMWARE_SET_VOLTAGE = 0x00038003,
+ RPI_FIRMWARE_SET_TURBO = 0x00038009,
++ RPI_FIRMWARE_SET_CUSTOMER_OTP = 0x00038021,
+ RPI_FIRMWARE_SET_DOMAIN_STATE = 0x00038030,
++ RPI_FIRMWARE_GET_GPIO_STATE = 0x00030041,
++ RPI_FIRMWARE_SET_GPIO_STATE = 0x00038041,
++ RPI_FIRMWARE_SET_SDHOST_CLOCK = 0x00038042,
++ RPI_FIRMWARE_GET_GPIO_CONFIG = 0x00030043,
++ RPI_FIRMWARE_SET_GPIO_CONFIG = 0x00038043,
++ RPI_FIRMWARE_GET_PERIPH_REG = 0x00030045,
++ RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045,
++
+
+ /* Dispmanx TAGS */
+ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001,
+@@ -91,6 +102,8 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET = 0x00040009,
+ RPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN = 0x0004000a,
+ RPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE = 0x0004000b,
++ RPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF = 0x0004000f,
++ RPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF = 0x00040010,
+ RPI_FIRMWARE_FRAMEBUFFER_RELEASE = 0x00048001,
+ RPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003,
+ RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT = 0x00044004,
+@@ -100,6 +113,7 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET = 0x00044009,
+ RPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN = 0x0004400a,
+ RPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE = 0x0004400b,
++ RPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC = 0x0004400e,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT = 0x00048003,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT = 0x00048004,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH = 0x00048005,
+@@ -108,6 +122,10 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET = 0x00048009,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN = 0x0004800a,
+ RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE = 0x0004800b,
++ RPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF = 0x0004801f,
++ RPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF = 0x00048020,
++ RPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC = 0x0004800e,
++ RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f,
+
+ RPI_FIRMWARE_VCHIQ_INIT = 0x00048010,
+
+From patchwork Tue Feb 20 12:19:32 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v5,2/5] dt-bindings: gpio: add raspberry pi GPIO expander binding
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 10229965
+Message-Id: <f400b48cbcd8a138c39d4e8f63d6c1f569090dcc.1519128054.git.baruch@tkos.co.il>
+To: Linus Walleij <linus.walleij@linaro.org>,
+ Dave Stevenson <dave.stevenson@raspberrypi.org>,
+ Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>
+Cc: devicetree@vger.kernel.org, Baruch Siach <baruch@tkos.co.il>,
+ linux-gpio@vger.kernel.org, Michael Zoran <mzoran@crowfest.net>,
+ Rob Herring <robh+dt@kernel.org>, linux-rpi-kernel@lists.infradead.org,
+ Frank Rowand <frowand.list@gmail.com>, linux-arm-kernel@lists.infradead.org
+Date: Tue, 20 Feb 2018 14:19:32 +0200
+
+The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware over
+I2C. The firmware mailbox interface allows the ARM core to control the
+GPIO lines.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Reviewed-by: Rob Herring <robh@kernel.org>
+---
+v5:
+ * Remove the 'firmware' property
+ * Note that the gpio node is a child of the firmware node
+
+v4:
+ * Move the example gpio node under the firmware node
+ * Rename gpio node name to plain 'gpio'
+
+v3:
+ * Rename node name.
+
+v2:
+ * Rename compatible string to raspberrypi,firmware-gpio
+---
+ .../bindings/gpio/raspberrypi,firmware-gpio.txt | 30 ++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt
+
+diff --git a/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt
+new file mode 100644
+index 000000000000..ce97265e23ba
+--- /dev/null
++++ b/Documentation/devicetree/bindings/gpio/raspberrypi,firmware-gpio.txt
+@@ -0,0 +1,30 @@
++Raspberry Pi GPIO expander
++
++The Raspberry Pi 3 GPIO expander is controlled by the VC4 firmware. The
++firmware exposes a mailbox interface that allows the ARM core to control the
++GPIO lines on the expander.
++
++The Raspberry Pi GPIO expander node must be a child node of the Raspberry Pi
++firmware node.
++
++Required properties:
++
++- compatible : Should be "raspberrypi,firmware-gpio"
++- gpio-controller : Marks the device node as a gpio controller
++- #gpio-cells : Should be two. The first cell is the pin number, and
++ the second cell is used to specify the gpio polarity:
++ 0 = active high
++ 1 = active low
++
++Example:
++
++firmware: firmware-rpi {
++ compatible = "raspberrypi,bcm2835-firmware";
++ mboxes = <&mailbox>;
++
++ expgpio: gpio {
++ compatible = "raspberrypi,firmware-gpio";
++ gpio-controller;
++ #gpio-cells = <2>;
++ };
++};
+From patchwork Tue Feb 20 12:19:33 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v5,
+ 3/5] gpio: raspberrypi-exp: Driver for RPi3 GPIO expander via mailbox
+ service
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 10229967
+Message-Id: <8c34f287ee72b340fa9d693aa0e304b25541c74c.1519128054.git.baruch@tkos.co.il>
+To: Linus Walleij <linus.walleij@linaro.org>,
+ Dave Stevenson <dave.stevenson@raspberrypi.org>,
+ Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>
+Cc: devicetree@vger.kernel.org, Baruch Siach <baruch@tkos.co.il>,
+ linux-gpio@vger.kernel.org, Michael Zoran <mzoran@crowfest.net>,
+ Rob Herring <robh+dt@kernel.org>, linux-rpi-kernel@lists.infradead.org,
+ Frank Rowand <frowand.list@gmail.com>, linux-arm-kernel@lists.infradead.org
+Date: Tue, 20 Feb 2018 14:19:33 +0200
+
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+
+Pi3 and Compute Module 3 have a GPIO expander that the
+VPU communicates with.
+There is a mailbox service that now allows control of this
+expander, so add a kernel driver that can make use of it.
+
+Reviewed-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+v5:
+ * Use the parent node to find the firmware
+
+v4:
+ * Don't set the .owner driver field
+ * Add Stefan's review tag
+
+v3:
+ * Tweak Kconfig driver prompt
+ * Make GPIO_RASPBERRYPI_EXP tristate
+ * Make COMPILE_TEST independent of RASPBERRYPI_FIRMWARE
+ * Remove redundant DMA header
+ * Use less code lines for dev_err()
+ * Check rpi_exp_gpio_get_polarity() return value
+ * Remove redundant platform_set_drvdata() call
+
+v2:
+ * Rename driver to gpio-raspberrypi-exp
+ * Populate the gpiochip parent device pointer
+ * Use macro for the mailbox base GPIO number
+ * Drop linux/gpio.h and GPIOF_DIR_*
+ * Check and print firmware error value
+ * Use devm_gpiochip_add_data(); drop .remove
+ * A few more minor tweaks
+---
+ drivers/gpio/Kconfig | 9 ++
+ drivers/gpio/Makefile | 1 +
+ drivers/gpio/gpio-raspberrypi-exp.c | 252 ++++++++++++++++++++++++++++++++++++
+ 3 files changed, 262 insertions(+)
+ create mode 100644 drivers/gpio/gpio-raspberrypi-exp.c
+
+diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
+index 8dbb2280538d..fd0562a37f68 100644
+--- a/drivers/gpio/Kconfig
++++ b/drivers/gpio/Kconfig
+@@ -122,6 +122,15 @@ config GPIO_ATH79
+ Select this option to enable GPIO driver for
+ Atheros AR71XX/AR724X/AR913X SoC devices.
+
++config GPIO_RASPBERRYPI_EXP
++ tristate "Raspberry Pi 3 GPIO Expander"
++ default RASPBERRYPI_FIRMWARE
++ depends on OF_GPIO
++ depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || COMPILE_TEST
++ help
++ Turn on GPIO support for the expander on Raspberry Pi 3 boards, using
++ the firmware mailbox to communicate with VideoCore on BCM283x chips.
++
+ config GPIO_BCM_KONA
+ bool "Broadcom Kona GPIO"
+ depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
+diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
+index cccb0d40846c..76dc0a02bd56 100644
+--- a/drivers/gpio/Makefile
++++ b/drivers/gpio/Makefile
+@@ -32,6 +32,7 @@ obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o
+ obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o
+ obj-$(CONFIG_GPIO_ATH79) += gpio-ath79.o
+ obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o
++obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o
+ obj-$(CONFIG_GPIO_BCM_KONA) += gpio-bcm-kona.o
+ obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o
+ obj-$(CONFIG_GPIO_BRCMSTB) += gpio-brcmstb.o
+diff --git a/drivers/gpio/gpio-raspberrypi-exp.c b/drivers/gpio/gpio-raspberrypi-exp.c
+new file mode 100644
+index 000000000000..d6d36d537e37
+--- /dev/null
++++ b/drivers/gpio/gpio-raspberrypi-exp.c
+@@ -0,0 +1,252 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Raspberry Pi 3 expander GPIO driver
++ *
++ * Uses the firmware mailbox service to communicate with the
++ * GPIO expander on the VPU.
++ *
++ * Copyright (C) 2017 Raspberry Pi Trading Ltd.
++ */
++
++#include <linux/err.h>
++#include <linux/gpio/driver.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <soc/bcm2835/raspberrypi-firmware.h>
++
++#define MODULE_NAME "raspberrypi-exp-gpio"
++#define NUM_GPIO 8
++
++#define RPI_EXP_GPIO_BASE 128
++
++#define RPI_EXP_GPIO_DIR_IN 0
++#define RPI_EXP_GPIO_DIR_OUT 1
++
++struct rpi_exp_gpio {
++ struct gpio_chip gc;
++ struct rpi_firmware *fw;
++};
++
++/* VC4 firmware mailbox interface data structures */
++
++struct gpio_set_config {
++ u32 gpio;
++ u32 direction;
++ u32 polarity;
++ u32 term_en;
++ u32 term_pull_up;
++ u32 state;
++};
++
++struct gpio_get_config {
++ u32 gpio;
++ u32 direction;
++ u32 polarity;
++ u32 term_en;
++ u32 term_pull_up;
++};
++
++struct gpio_get_set_state {
++ u32 gpio;
++ u32 state;
++};
++
++static int rpi_exp_gpio_get_polarity(struct gpio_chip *gc, unsigned int off)
++{
++ struct rpi_exp_gpio *gpio;
++ struct gpio_get_config get;
++ int ret;
++
++ gpio = gpiochip_get_data(gc);
++
++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */
++
++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_CONFIG,
++ &get, sizeof(get));
++ if (ret || get.gpio != 0) {
++ dev_err(gc->parent, "Failed to get GPIO %u config (%d %x)\n",
++ off, ret, get.gpio);
++ return ret ? ret : -EIO;
++ }
++ return get.polarity;
++}
++
++static int rpi_exp_gpio_dir_in(struct gpio_chip *gc, unsigned int off)
++{
++ struct rpi_exp_gpio *gpio;
++ struct gpio_set_config set_in;
++ int ret;
++
++ gpio = gpiochip_get_data(gc);
++
++ set_in.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */
++ set_in.direction = RPI_EXP_GPIO_DIR_IN;
++ set_in.term_en = 0; /* termination disabled */
++ set_in.term_pull_up = 0; /* n/a as termination disabled */
++ set_in.state = 0; /* n/a as configured as an input */
++
++ ret = rpi_exp_gpio_get_polarity(gc, off);
++ if (ret < 0)
++ return ret;
++ set_in.polarity = ret; /* Retain existing setting */
++
++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_CONFIG,
++ &set_in, sizeof(set_in));
++ if (ret || set_in.gpio != 0) {
++ dev_err(gc->parent, "Failed to set GPIO %u to input (%d %x)\n",
++ off, ret, set_in.gpio);
++ return ret ? ret : -EIO;
++ }
++ return 0;
++}
++
++static int rpi_exp_gpio_dir_out(struct gpio_chip *gc, unsigned int off, int val)
++{
++ struct rpi_exp_gpio *gpio;
++ struct gpio_set_config set_out;
++ int ret;
++
++ gpio = gpiochip_get_data(gc);
++
++ set_out.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */
++ set_out.direction = RPI_EXP_GPIO_DIR_OUT;
++ set_out.term_en = 0; /* n/a as an output */
++ set_out.term_pull_up = 0; /* n/a as termination disabled */
++ set_out.state = val; /* Output state */
++
++ ret = rpi_exp_gpio_get_polarity(gc, off);
++ if (ret < 0)
++ return ret;
++ set_out.polarity = ret; /* Retain existing setting */
++
++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_CONFIG,
++ &set_out, sizeof(set_out));
++ if (ret || set_out.gpio != 0) {
++ dev_err(gc->parent, "Failed to set GPIO %u to output (%d %x)\n",
++ off, ret, set_out.gpio);
++ return ret ? ret : -EIO;
++ }
++ return 0;
++}
++
++static int rpi_exp_gpio_get_direction(struct gpio_chip *gc, unsigned int off)
++{
++ struct rpi_exp_gpio *gpio;
++ struct gpio_get_config get;
++ int ret;
++
++ gpio = gpiochip_get_data(gc);
++
++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */
++
++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_CONFIG,
++ &get, sizeof(get));
++ if (ret || get.gpio != 0) {
++ dev_err(gc->parent,
++ "Failed to get GPIO %u config (%d %x)\n", off, ret,
++ get.gpio);
++ return ret ? ret : -EIO;
++ }
++ return !get.direction;
++}
++
++static int rpi_exp_gpio_get(struct gpio_chip *gc, unsigned int off)
++{
++ struct rpi_exp_gpio *gpio;
++ struct gpio_get_set_state get;
++ int ret;
++
++ gpio = gpiochip_get_data(gc);
++
++ get.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */
++ get.state = 0; /* storage for returned value */
++
++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_GET_GPIO_STATE,
++ &get, sizeof(get));
++ if (ret || get.gpio != 0) {
++ dev_err(gc->parent,
++ "Failed to get GPIO %u state (%d %x)\n", off, ret,
++ get.gpio);
++ return ret ? ret : -EIO;
++ }
++ return !!get.state;
++}
++
++static void rpi_exp_gpio_set(struct gpio_chip *gc, unsigned int off, int val)
++{
++ struct rpi_exp_gpio *gpio;
++ struct gpio_get_set_state set;
++ int ret;
++
++ gpio = gpiochip_get_data(gc);
++
++ set.gpio = off + RPI_EXP_GPIO_BASE; /* GPIO to update */
++ set.state = val; /* Output state */
++
++ ret = rpi_firmware_property(gpio->fw, RPI_FIRMWARE_SET_GPIO_STATE,
++ &set, sizeof(set));
++ if (ret || set.gpio != 0)
++ dev_err(gc->parent,
++ "Failed to set GPIO %u state (%d %x)\n", off, ret,
++ set.gpio);
++}
++
++static int rpi_exp_gpio_probe(struct platform_device *pdev)
++{
++ struct device *dev = &pdev->dev;
++ struct device_node *np = dev->of_node;
++ struct device_node *fw_node;
++ struct rpi_firmware *fw;
++ struct rpi_exp_gpio *rpi_gpio;
++
++ fw_node = of_get_parent(np);
++ if (!fw_node) {
++ dev_err(dev, "Missing firmware node\n");
++ return -ENOENT;
++ }
++
++ fw = rpi_firmware_get(fw_node);
++ if (!fw)
++ return -EPROBE_DEFER;
++
++ rpi_gpio = devm_kzalloc(dev, sizeof(*rpi_gpio), GFP_KERNEL);
++ if (!rpi_gpio)
++ return -ENOMEM;
++
++ rpi_gpio->fw = fw;
++ rpi_gpio->gc.parent = dev;
++ rpi_gpio->gc.label = MODULE_NAME;
++ rpi_gpio->gc.owner = THIS_MODULE;
++ rpi_gpio->gc.of_node = np;
++ rpi_gpio->gc.base = -1;
++ rpi_gpio->gc.ngpio = NUM_GPIO;
++
++ rpi_gpio->gc.direction_input = rpi_exp_gpio_dir_in;
++ rpi_gpio->gc.direction_output = rpi_exp_gpio_dir_out;
++ rpi_gpio->gc.get_direction = rpi_exp_gpio_get_direction;
++ rpi_gpio->gc.get = rpi_exp_gpio_get;
++ rpi_gpio->gc.set = rpi_exp_gpio_set;
++ rpi_gpio->gc.can_sleep = true;
++
++ return devm_gpiochip_add_data(dev, &rpi_gpio->gc, rpi_gpio);
++}
++
++static const struct of_device_id rpi_exp_gpio_ids[] = {
++ { .compatible = "raspberrypi,firmware-gpio" },
++ { }
++};
++MODULE_DEVICE_TABLE(of, rpi_exp_gpio_ids);
++
++static struct platform_driver rpi_exp_gpio_driver = {
++ .driver = {
++ .name = MODULE_NAME,
++ .of_match_table = of_match_ptr(rpi_exp_gpio_ids),
++ },
++ .probe = rpi_exp_gpio_probe,
++};
++module_platform_driver(rpi_exp_gpio_driver);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Dave Stevenson <dave.stevenson@raspberrypi.org>");
++MODULE_DESCRIPTION("Raspberry Pi 3 expander GPIO driver");
++MODULE_ALIAS("platform:rpi-exp-gpio");
+From patchwork Tue Feb 20 12:19:34 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v5,4/5] ARM: dts: bcm2835: make the firmware node into a bus
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 10229961
+Message-Id: <43f9082a6835df6d7bcd3e16d79db687c52826d2.1519128054.git.baruch@tkos.co.il>
+To: Linus Walleij <linus.walleij@linaro.org>,
+ Dave Stevenson <dave.stevenson@raspberrypi.org>,
+ Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>
+Cc: devicetree@vger.kernel.org, Baruch Siach <baruch@tkos.co.il>,
+ linux-gpio@vger.kernel.org, Michael Zoran <mzoran@crowfest.net>,
+ Rob Herring <robh+dt@kernel.org>, linux-rpi-kernel@lists.infradead.org,
+ Frank Rowand <frowand.list@gmail.com>, linux-arm-kernel@lists.infradead.org
+Date: Tue, 20 Feb 2018 14:19:34 +0200
+
+This allows adding devices for which the firmware exposes control interface
+via the mailbox. An example of such device is the GPIO expander.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
+---
+v4: New patch in this series
+---
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+index e36c392a2b8f..0198bd46ef7c 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -18,7 +18,9 @@
+
+ soc {
+ firmware: firmware {
+- compatible = "raspberrypi,bcm2835-firmware";
++ compatible = "raspberrypi,bcm2835-firmware", "simple-bus";
++ #address-cells = <0>;
++ #size-cells = <0>;
+ mboxes = <&mailbox>;
+ };
+
+From patchwork Tue Feb 20 12:19:35 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v5,5/5] ARM: dts: bcm2837-rpi-3-b: add GPIO expander
+From: Baruch Siach <baruch@tkos.co.il>
+X-Patchwork-Id: 10229995
+Message-Id: <a6d59692dc4847e0b1639a26542e28c95ad5240f.1519128054.git.baruch@tkos.co.il>
+To: Linus Walleij <linus.walleij@linaro.org>,
+ Dave Stevenson <dave.stevenson@raspberrypi.org>,
+ Eric Anholt <eric@anholt.net>, Stefan Wahren <stefan.wahren@i2se.com>
+Cc: devicetree@vger.kernel.org, Baruch Siach <baruch@tkos.co.il>,
+ linux-gpio@vger.kernel.org, Michael Zoran <mzoran@crowfest.net>,
+ Rob Herring <robh+dt@kernel.org>, linux-rpi-kernel@lists.infradead.org,
+ Frank Rowand <frowand.list@gmail.com>, linux-arm-kernel@lists.infradead.org
+Date: Tue, 20 Feb 2018 14:19:35 +0200
+
+Add a description of the RPi3 GPIO expander that the VC4 firmware controls.
+
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
+---
+v5:
+ * Drop the 'firmware' property
+
+v4:
+ * Move the gpio node under the firmware node
+ * Rename the gpio node to plain 'gpio'
+ * Add Stefan's ack
+
+v3:
+ * List GPIO names one per line.
+
+v2:
+ * Move GPIO expander node out of the soc container
+ * Rename compatible string
+ * Add gpio-line-names property
+---
+ arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+index 3e4ed7c5b0b3..0b31d995a066 100644
+--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+@@ -25,6 +25,23 @@
+ };
+ };
+
++&firmware {
++ expgpio: gpio {
++ compatible = "raspberrypi,firmware-gpio";
++ gpio-controller;
++ #gpio-cells = <2>;
++ gpio-line-names = "BT_ON",
++ "WL_ON",
++ "STATUS_LED",
++ "LAN_RUN",
++ "HPD_N",
++ "CAM_GPIO0",
++ "CAM_GPIO1",
++ "PWR_LOW_N";
++ status = "okay";
++ };
++};
++
+ /* uart0 communicates with the BT module */
+ &uart0 {
+ pinctrl-names = "default";
+From 257f497bb3e58f88500971145761ed55428618eb Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Wed, 7 Mar 2018 15:56:20 +0100
+Subject: [PATCH] ARM: dts: bcm2837: Add missing GPIOs of Expander
+
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+index 0b31d995a066..3e87ed05918e 100644
+--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+@@ -20,9 +20,14 @@
+
+ leds {
+ act {
+- gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
++ gpios = <&expgpio 2 GPIO_ACTIVE_HIGH>;
+ };
+ };
++
++ wifi_pwrseq: wifi-pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
++ };
+ };
+
+ &firmware {
+@@ -42,6 +47,10 @@
+ };
+ };
+
++&hdmi {
++ hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>;
++};
++
+ /* uart0 communicates with the BT module */
+ &uart0 {
+ pinctrl-names = "default";
+@@ -51,6 +60,7 @@
+ bluetooth {
+ compatible = "brcm,bcm43438-bt";
+ max-speed = <2000000>;
++ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+@@ -63,11 +73,19 @@
+
+ /* SDHCI is used to control the SDIO for wireless */
+ &sdhci {
++ #address-cells = <1>;
++ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_gpio34>;
+ status = "okay";
+ bus-width = <4>;
+ non-removable;
++ mmc-pwrseq = <&wifi_pwrseq>;
++
++ brcmf: wifi@1 {
++ reg = <1>;
++ compatible = "brcm,bcm4329-fmac";
++ };
+ };
+
+ /* SDHOST is used to drive the SD card */
diff --git a/bcm2837-lan78xx-fixes.patch b/bcm2837-lan78xx-fixes.patch
new file mode 100644
index 000000000..f877ac15b
--- /dev/null
+++ b/bcm2837-lan78xx-fixes.patch
@@ -0,0 +1,108 @@
+From 6ed88d188a8240ba44da6578eab7d17e036d0e61 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 17 Oct 2017 15:04:29 +0100
+Subject: [PATCH] lan78xx: Enable LEDs if no valid EEPROM or OTP
+
+For applications of the LAN78xx that don't have valid programmed
+EEPROMs or OTPs, enabling both LEDs by default seems reasonable.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/net/usb/lan78xx.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
+index a21039852f8d..cd20ce4ed87d 100644
+--- a/drivers/net/usb/lan78xx.c
++++ b/drivers/net/usb/lan78xx.c
+@@ -2414,6 +2414,12 @@ static int lan78xx_reset(struct lan78xx_net *dev)
+
+ ret = lan78xx_read_reg(dev, HW_CFG, &buf);
+ buf |= HW_CFG_MEF_;
++
++ /* If no valid EEPROM and no valid OTP, enable the LEDs by default */
++ if (lan78xx_read_eeprom(dev, 0, 0, NULL) &&
++ lan78xx_read_otp(dev, 0, 0, NULL))
++ buf |= HW_CFG_LED0_EN_ | HW_CFG_LED1_EN_;
++
+ ret = lan78xx_write_reg(dev, HW_CFG, buf);
+
+ ret = lan78xx_read_reg(dev, USB_CFG0, &buf);
+From f8a798bb45ae15cbec980c8e921eb377fd1a3df6 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Tue, 28 Nov 2017 12:02:37 +0000
+Subject: [PATCH] lan78xx: Correctly indicate invalid OTP
+
+lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP
+content, but the value gets overwritten before it is returned and the
+read goes ahead anyway. Make the read conditional as it should be
+and preserve the error code.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/net/usb/lan78xx.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
+index cd20ce4ed87d..b270935f3f8d 100644
+--- a/drivers/net/usb/lan78xx.c
++++ b/drivers/net/usb/lan78xx.c
+@@ -929,7 +929,8 @@ static int lan78xx_read_otp(struct lan78xx_net *dev, u32 offset,
+ offset += 0x100;
+ else
+ ret = -EINVAL;
+- ret = lan78xx_read_raw_otp(dev, offset, length, data);
++ if (!ret)
++ ret = lan78xx_read_raw_otp(dev, offset, length, data);
+ }
+
+ return ret;
+From 4a4710f3847cd087e150f83382dffd92e09d9914 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Sat, 17 Mar 2018 00:10:02 +0100
+Subject: [PATCH] lan78xx: Read MAC address from DT if present
+
+There is a standard mechanism for locating and using a MAC address from
+the Device Tree. Use this facility in the lan78xx driver to support
+applications without programmed EEPROM or OTP.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ drivers/net/usb/lan78xx.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
+index 60a604cc7647..a21039852f8d 100644
+--- a/drivers/net/usb/lan78xx.c
++++ b/drivers/net/usb/lan78xx.c
+@@ -36,6 +36,7 @@
+ #include <linux/irq.h>
+ #include <linux/irqchip/chained_irq.h>
+ #include <linux/microchipphy.h>
++#include <linux/of_net.h>
+ #include <linux/phy.h>
+ #include "lan78xx.h"
+
+@@ -1639,6 +1640,14 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev)
+ u32 addr_lo, addr_hi;
+ int ret;
+ u8 addr[6];
++ const u8 *mac_addr;
++
++ /* maybe the boot loader passed the MAC address in devicetree */
++ mac_addr = of_get_mac_address(dev->udev->dev.of_node);
++ if (mac_addr) {
++ ether_addr_copy(addr, mac_addr);
++ goto set_mac_addr;
++ }
+
+ ret = lan78xx_read_reg(dev, RX_ADDRL, &addr_lo);
+ ret = lan78xx_read_reg(dev, RX_ADDRH, &addr_hi);
+@@ -1667,6 +1676,7 @@ static void lan78xx_init_mac_address(struct lan78xx_net *dev)
+ "MAC address set to random addr");
+ }
+
++set_mac_addr:
+ addr_lo = addr[0] | (addr[1] << 8) |
+ (addr[2] << 16) | (addr[3] << 24);
+ addr_hi = addr[4] | (addr[5] << 8);
diff --git a/bcm2837-rpi-initial-support-for-the-3.patch b/bcm2837-rpi-initial-support-for-the-3.patch
new file mode 100644
index 000000000..c9bedfebc
--- /dev/null
+++ b/bcm2837-rpi-initial-support-for-the-3.patch
@@ -0,0 +1,209 @@
+From defa4876ece55751c691d17ffc928d9bfe049585 Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Fri, 16 Mar 2018 22:56:59 +0100
+Subject: [PATCH] arm64: dts: broadcom: Add reference to Raspberry Pi 3 B+
+
+This adds a reference to the dts file of the Raspberry Pi 3 B+
+
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ arch/arm64/boot/dts/broadcom/Makefile | 3 ++-
+ arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts | 2 ++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+ create mode 100644 arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
+
+diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
+index 2a2591ef1fee..1193a9e34bbb 100644
+--- a/arch/arm64/boot/dts/broadcom/Makefile
++++ b/arch/arm64/boot/dts/broadcom/Makefile
+@@ -1,5 +1,6 @@
+ # SPDX-License-Identifier: GPL-2.0
+-dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb
++dtb-$(CONFIG_ARCH_BCM2835) += bcm2837-rpi-3-b.dtb \
++ bcm2837-rpi-3-b-plus.dtb
+
+ subdir-y += northstar2
+ subdir-y += stingray
+diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
+new file mode 100644
+index 000000000000..46ad2023cccf
+--- /dev/null
++++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b-plus.dts
+@@ -0,0 +1,2 @@
++// SPDX-License-Identifier: GPL-2.0
++#include "arm/bcm2837-rpi-3-b-plus.dts"
+
+From c7c06c54087dfadd065abcba0b7f614f7a88d549 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Fri, 16 Mar 2018 22:42:28 +0100
+Subject: [PATCH] ARM: dts: bcm2837: Add Raspberry Pi 3 B+
+
+The Raspberry Pi 3 B+ has the following major differences compared
+to the model 3 B:
+* Microchip LAN7515 (Gigabit Ethernet)
+* Cypress CYW43455 (802.11ac and BT 4.2)
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ arch/arm/boot/dts/Makefile | 1 +
+ arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts | 102 +++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi | 27 ++++++++
+ 3 files changed, 130 insertions(+)
+ create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
+ create mode 100644 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
+
+diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
+index 3b471e6787ff..dee85f848de9 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -75,6 +75,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
+ bcm2835-rpi-a-plus.dtb \
+ bcm2836-rpi-2-b.dtb \
+ bcm2837-rpi-3-b.dtb \
++ bcm2837-rpi-3-b-plus.dtb \
+ bcm2835-rpi-zero.dtb \
+ bcm2835-rpi-zero-w.dtb
+ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
+new file mode 100644
+index 000000000000..fb9f6f7e965c
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
+@@ -0,0 +1,102 @@
++// SPDX-License-Identifier: GPL-2.0
++/dts-v1/;
++#include "bcm2837.dtsi"
++#include "bcm2835-rpi.dtsi"
++#include "bcm283x-rpi-lan7515.dtsi"
++#include "bcm283x-rpi-usb-host.dtsi"
++
++/ {
++ compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
++ model = "Raspberry Pi 3 Model B+";
++
++ chosen {
++ /* 8250 auxiliary UART instead of pl011 */
++ stdout-path = "serial1:115200n8";
++ };
++
++ memory {
++ reg = <0 0x40000000>;
++ };
++
++ leds {
++ act {
++ gpios = <&gpio 29 0>;
++ };
++
++ pwr {
++ label = "PWR";
++ gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
++ };
++ };
++
++ wifi_pwrseq: wifi-pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ reset-gpios = <&expgpio 1 GPIO_ACTIVE_HIGH>;
++ };
++};
++
++&firmware {
++ expgpio: gpio {
++ compatible = "raspberrypi,firmware-gpio";
++ gpio-controller;
++ #gpio-cells = <2>;
++ gpio-line-names = "BT_ON",
++ "WL_ON",
++ "STATUS_LED",
++ "LAN_RUN",
++ "",
++ "CAM_GPIO0",
++ "CAM_GPIO1",
++ "";
++ status = "okay";
++ };
++};
++
++&hdmi {
++ hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
++};
++
++/* uart0 communicates with the BT module */
++&uart0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
++ status = "okay";
++
++ bluetooth {
++ compatible = "brcm,bcm43438-bt";
++ max-speed = <2000000>;
++ shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>;
++ };
++};
++
++/* uart1 is mapped to the pin header */
++&uart1 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart1_gpio14>;
++ status = "okay";
++};
++
++/* SDHCI is used to control the SDIO for wireless */
++&sdhci {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&emmc_gpio34>;
++ status = "okay";
++ bus-width = <4>;
++ non-removable;
++ mmc-pwrseq = <&wifi_pwrseq>;
++
++ brcmf: wifi@1 {
++ reg = <1>;
++ compatible = "brcm,bcm4329-fmac";
++ };
++};
++
++/* SDHOST is used to drive the SD card */
++&sdhost {
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdhost_gpio48>;
++ status = "okay";
++ bus-width = <4>;
++};
+diff --git a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
+new file mode 100644
+index 000000000000..169203c5ce8b
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
+@@ -0,0 +1,27 @@
++// SPDX-License-Identifier: GPL-2.0
++/ {
++ aliases {
++ ethernet0 = &ethernet;
++ };
++};
++
++&usb {
++ usb1@1 {
++ compatible = "usb424,2514";
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ usb1_1@1 {
++ compatible = "usb424,2514";
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ ethernet: usbether@1 {
++ compatible = "usb424,7800";
++ reg = <1>;
++ };
++ };
++ };
++};
+
diff --git a/bcm283x-Fix-probing-of-bcm2835-i2s.patch b/bcm283x-Fix-probing-of-bcm2835-i2s.patch
new file mode 100644
index 000000000..911b2d982
--- /dev/null
+++ b/bcm283x-Fix-probing-of-bcm2835-i2s.patch
@@ -0,0 +1,118 @@
+From patchwork Fri Feb 16 10:55:33 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [V3, 1/2,
+ RESEND] dt-bindings: bcm283x: Fix register ranges of bcm2835-i2s
+From: Stefan Wahren <stefan.wahren@i2se.com>
+X-Patchwork-Id: 10224429
+Message-Id: <1518778534-3328-2-git-send-email-stefan.wahren@i2se.com>
+To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Eric Anholt <eric@anholt.net>
+Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
+ alsa-devel@alsa-project.org, Liam Girdwood <lgirdwood@gmail.com>,
+ Mark Brown <broonie@kernel.org>, linux-rpi-kernel@lists.infradead.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Fri, 16 Feb 2018 11:55:33 +0100
+
+Since 517e7a1537a ("ASoC: bcm2835: move to use the clock framework")
+the bcm2835-i2s requires a clock as DT property. Unfortunately
+the necessary DT change has never been applied. While we are at it
+also fix the first PCM register range to cover the PCM_GRAY register.
+
+This patch only fixes the affected dt-bindings.
+
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Reviewed-by: Rob Herring <robh@kernel.org>
+---
+ Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++--
+ Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt | 9 ++++-----
+ 2 files changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
+index baf9b34..b6a8cc0 100644
+--- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
++++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
+@@ -74,8 +74,8 @@ Example:
+
+ bcm2835_i2s: i2s@7e203000 {
+ compatible = "brcm,bcm2835-i2s";
+- reg = < 0x7e203000 0x20>,
+- < 0x7e101098 0x02>;
++ reg = < 0x7e203000 0x24>;
++ clocks = <&clocks BCM2835_CLOCK_PCM>;
+
+ dmas = <&dma 2>,
+ <&dma 3>;
+diff --git a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
+index 65783de..7bb0362 100644
+--- a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
++++ b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
+@@ -2,9 +2,8 @@
+
+ Required properties:
+ - compatible: "brcm,bcm2835-i2s"
+-- reg: A list of base address and size entries:
+- * The first entry should cover the PCM registers
+- * The second entry should cover the PCM clock registers
++- reg: Should contain PCM registers location and length.
++- clocks: the (PCM) clock to use
+ - dmas: List of DMA controller phandle and DMA request line ordered pairs.
+ - dma-names: Identifier string for each DMA request line in the dmas property.
+ These strings correspond 1:1 with the ordered pairs in dmas.
+@@ -16,8 +15,8 @@ Example:
+
+ bcm2835_i2s: i2s@7e203000 {
+ compatible = "brcm,bcm2835-i2s";
+- reg = <0x7e203000 0x20>,
+- <0x7e101098 0x02>;
++ reg = <0x7e203000 0x24>;
++ clocks = <&clocks BCM2835_CLOCK_PCM>;
+
+ dmas = <&dma 2>,
+ <&dma 3>;
+From patchwork Fri Feb 16 10:55:34 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [V3,2/2,RESEND] ARM: dts: bcm283x: Fix probing of bcm2835-i2s
+From: Stefan Wahren <stefan.wahren@i2se.com>
+X-Patchwork-Id: 10224427
+Message-Id: <1518778534-3328-3-git-send-email-stefan.wahren@i2se.com>
+To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Eric Anholt <eric@anholt.net>
+Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
+ alsa-devel@alsa-project.org, Liam Girdwood <lgirdwood@gmail.com>,
+ Mark Brown <broonie@kernel.org>, linux-rpi-kernel@lists.infradead.org,
+ linux-arm-kernel@lists.infradead.org
+Date: Fri, 16 Feb 2018 11:55:34 +0100
+
+Since 517e7a1537a ("ASoC: bcm2835: move to use the clock framework")
+the bcm2835-i2s requires a clock as DT property. Unfortunately
+the necessary DT change has never been applied. While we are at it
+also fix the first PCM register range to cover the PCM_GRAY register.
+
+Fixes: 517e7a1537a ("ASoC: bcm2835: move to use the clock framework")
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Tested-by: Matthias Reichl <hias@horus.com>
+---
+ arch/arm/boot/dts/bcm283x.dtsi | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index 013431e..e08203c 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -396,8 +396,8 @@
+
+ i2s: i2s@7e203000 {
+ compatible = "brcm,bcm2835-i2s";
+- reg = <0x7e203000 0x20>,
+- <0x7e101098 0x02>;
++ reg = <0x7e203000 0x24>;
++ clocks = <&clocks BCM2835_CLOCK_PCM>;
+
+ dmas = <&dma 2>,
+ <&dma 3>;
diff --git a/bcm283x-clk-audio-fixes.patch b/bcm283x-clk-audio-fixes.patch
new file mode 100644
index 000000000..51c9fa791
--- /dev/null
+++ b/bcm283x-clk-audio-fixes.patch
@@ -0,0 +1,98 @@
+From aa964d59aab2cb04bc011ffd370822ac79f82a0b Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@bootlin.com>
+Date: Wed, 7 Mar 2018 15:39:17 +0100
+Subject: [PATCH] clk: bcm2835: De-assert/assert PLL reset signal when
+ appropriate
+
+In order to enable a PLL, not only the PLL has to be powered up and
+locked, but you also have to de-assert the reset signal. The last part
+was missing. Add it so PLLs that were not enabled by the FW/bootloader
+can be enabled from Linux.
+
+Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks")
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
+---
+ drivers/clk/bcm/clk-bcm2835.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
+index a07f6451694a..6c5d4a8e426c 100644
+--- a/drivers/clk/bcm/clk-bcm2835.c
++++ b/drivers/clk/bcm/clk-bcm2835.c
+@@ -602,6 +602,9 @@ static void bcm2835_pll_off(struct clk_hw *hw)
+ const struct bcm2835_pll_data *data = pll->data;
+
+ spin_lock(&cprman->regs_lock);
++ cprman_write(cprman, data->a2w_ctrl_reg,
++ cprman_read(cprman, data->a2w_ctrl_reg) &
++ ~A2W_PLL_CTRL_PRST_DISABLE);
+ cprman_write(cprman, data->cm_ctrl_reg,
+ cprman_read(cprman, data->cm_ctrl_reg) |
+ CM_PLL_ANARST);
+@@ -640,6 +643,10 @@ static int bcm2835_pll_on(struct clk_hw *hw)
+ cpu_relax();
+ }
+
++ cprman_write(cprman, data->a2w_ctrl_reg,
++ cprman_read(cprman, data->a2w_ctrl_reg) |
++ A2W_PLL_CTRL_PRST_DISABLE);
++
+ return 0;
+ }
+
+From 1b6867ee05d84cc6ec23b5ec0b78684187d3190a Mon Sep 17 00:00:00 2001
+From: Boris Brezillon <boris.brezillon@bootlin.com>
+Date: Wed, 7 Mar 2018 15:41:14 +0100
+Subject: [PATCH] clk: bcm2835: Make sure the PLL is gated before changing its
+ rate
+
+All bcm2835 PLLs should be gated before their rate can be changed.
+Setting CLK_SET_RATE_GATE will let the core enforce that, but this is
+not enough to make the code work in all situations. Indeed, the
+CLK_SET_RATE_GATE flag prevents a user from changing the rate while
+the clock is enabled, but this check only guarantees there's no Linux
+users. In our case, the clock might have been enabled by the
+bootloader/FW, and, because we have CLK_IGNORE_UNUSED set, Linux never
+disables the PLL. So we have to make sure the PLL is actually disabled
+before changing the rate.
+
+Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks")
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
+---
+ drivers/clk/bcm/clk-bcm2835.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
+index 6c5d4a8e426c..051ce769c109 100644
+--- a/drivers/clk/bcm/clk-bcm2835.c
++++ b/drivers/clk/bcm/clk-bcm2835.c
+@@ -678,6 +678,18 @@ static int bcm2835_pll_set_rate(struct clk_hw *hw,
+ u32 ana[4];
+ int i;
+
++ /*
++ * Normally, the CLK_SET_RATE_GATE flag prevents a user from changing
++ * the rate while the clock is enabled, but this check only makes sure
++ * there's no Linux users.
++ * In our case, the clock might have been enabled by the bootloader/FW,
++ * and, since CLK_IGNORE_UNUSED flag is set, Linux never disables it.
++ * So we have to make sure the clk is actually disabled before changing
++ * the rate.
++ */
++ if (bcm2835_pll_is_on(hw))
++ bcm2835_pll_off(hw);
++
+ if (rate > data->max_fb_rate) {
+ use_fb_prediv = true;
+ rate /= 2;
+@@ -1318,7 +1330,7 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman,
+ init.num_parents = 1;
+ init.name = data->name;
+ init.ops = &bcm2835_pll_clk_ops;
+- init.flags = CLK_IGNORE_UNUSED;
++ init.flags = CLK_IGNORE_UNUSED | CLK_SET_RATE_GATE;
+
+ pll = kzalloc(sizeof(*pll), GFP_KERNEL);
+ if (!pll)
diff --git a/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION b/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION
new file mode 100644
index 000000000..80056c1a1
--- /dev/null
+++ b/debugconfig/CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION
@@ -0,0 +1 @@
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
diff --git a/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE b/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE
new file mode 100644
index 000000000..cf1d8d5bb
--- /dev/null
+++ b/debugconfig/CONFIG_BPF_KPROBE_OVERRIDE
@@ -0,0 +1 @@
+CONFIG_BPF_KPROBE_OVERRIDE=y
diff --git a/debugconfig/CONFIG_FAIL_FUNCTION b/debugconfig/CONFIG_FAIL_FUNCTION
new file mode 100644
index 000000000..f41816ded
--- /dev/null
+++ b/debugconfig/CONFIG_FAIL_FUNCTION
@@ -0,0 +1 @@
+CONFIG_FAIL_FUNCTION=y
diff --git a/dma-buf-fix-reservation_object_wait_timeout_rcu-once-more-v2.patch b/dma-buf-fix-reservation_object_wait_timeout_rcu-once-more-v2.patch
deleted file mode 100644
index 6e40c3da3..000000000
--- a/dma-buf-fix-reservation_object_wait_timeout_rcu-once-more-v2.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From patchwork Mon Jan 22 20:00:03 2018
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-Subject: dma-buf: fix reservation_object_wait_timeout_rcu once more v2
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <ckoenig.leichtzumerken@gmail.com>
-X-Patchwork-Id: 199865
-Message-Id: <20180122200003.6665-1-christian.koenig@amd.com>
-To: dri-devel@lists.freedesktop.org, chris@chris-wilson.co.uk, lyude@redhat.com
-Date: Mon, 22 Jan 2018 21:00:03 +0100
-
-We need to set shared_count even if we already have a fence to wait for.
-
-v2: init i to -1 as well
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
-Cc: stable@vger.kernel.org
-Tested-by: Lyude Paul <lyude@redhat.com>
-Reviewed-by: Lyude Paul <lyude@redhat.com>
-Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
----
- drivers/dma-buf/reservation.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/dma-buf/reservation.c b/drivers/dma-buf/reservation.c
-index 461afa9febd4..314eb1071cce 100644
---- a/drivers/dma-buf/reservation.c
-+++ b/drivers/dma-buf/reservation.c
-@@ -484,13 +484,15 @@ long reservation_object_wait_timeout_rcu(struct reservation_object *obj,
- unsigned long timeout)
- {
- struct dma_fence *fence;
-- unsigned seq, shared_count, i = 0;
-+ unsigned seq, shared_count;
- long ret = timeout ? timeout : 1;
-+ int i;
-
- retry:
- shared_count = 0;
- seq = read_seqcount_begin(&obj->seq);
- rcu_read_lock();
-+ i = -1;
-
- fence = rcu_dereference(obj->fence_excl);
- if (fence && !test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->flags)) {
-@@ -506,14 +508,14 @@ long reservation_object_wait_timeout_rcu(struct reservation_object *obj,
- fence = NULL;
- }
-
-- if (!fence && wait_all) {
-+ if (wait_all) {
- struct reservation_object_list *fobj =
- rcu_dereference(obj->fence);
-
- if (fobj)
- shared_count = fobj->shared_count;
-
-- for (i = 0; i < shared_count; ++i) {
-+ for (i = 0; !fence && i < shared_count; ++i) {
- struct dma_fence *lfence = rcu_dereference(fobj->shared[i]);
-
- if (test_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
diff --git a/efi-Add-EFI_SECURE_BOOT-bit.patch b/efi-Add-EFI_SECURE_BOOT-bit.patch
new file mode 100644
index 000000000..c44010322
--- /dev/null
+++ b/efi-Add-EFI_SECURE_BOOT-bit.patch
@@ -0,0 +1,43 @@
+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-Disable-secure-boot-if-shim-is-in-insecure-mode.patch b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
new file mode 100644
index 000000000..761a66ff7
--- /dev/null
+++ b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch
@@ -0,0 +1,58 @@
+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-lockdown.patch b/efi-lockdown.patch
index c99d85c12..ceb0ca7f9 100644
--- a/efi-lockdown.patch
+++ b/efi-lockdown.patch
@@ -1,7 +1,7 @@
-From 646ac5c07196bc3680e34188e55c8cc3565f65e7 Mon Sep 17 00:00:00 2001
+From 1235d72fe1d34f9961051d159af3b48a1617ff0a Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 24 May 2017 14:56:00 +0100
-Subject: [PATCH 01/26] Add the ability to lock down access to the running
+Date: Tue, 27 Feb 2018 10:04:50 +0000
+Subject: [PATCH 01/31] Add the ability to lock down access to the running
kernel image
Provide a single call to allow kernel code to determine whether the system
@@ -22,10 +22,10 @@ Acked-by: James Morris <james.l.morris@oracle.com>
create mode 100644 security/lock_down.c
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
-index 0ad4c3044cf9..362da2e4bf53 100644
+index 3fd291503576..dcc8916098e7 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -287,6 +287,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err)
+@@ -306,6 +306,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err)
{ }
#endif
@@ -50,10 +50,10 @@ index 0ad4c3044cf9..362da2e4bf53 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 ce6265960d6c..310775476b68 100644
+index 73f1ef625d40..2e9690f3d1ce 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -1753,5 +1753,13 @@ static inline void free_secdata(void *secdata)
+@@ -1801,5 +1801,13 @@ static inline void free_secdata(void *secdata)
{ }
#endif /* CONFIG_SECURITY */
@@ -68,10 +68,10 @@ index ce6265960d6c..310775476b68 100644
#endif /* ! __LINUX_SECURITY_H */
diff --git a/security/Kconfig b/security/Kconfig
-index e8e449444e65..8e01fd59ae7e 100644
+index c4302067a3ad..a9e6207d287e 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -205,6 +205,14 @@ config STATIC_USERMODEHELPER_PATH
+@@ -231,6 +231,14 @@ config STATIC_USERMODEHELPER_PATH
If you wish for all usermode helper programs to be disabled,
specify an empty string here (i.e. "").
@@ -87,10 +87,10 @@ index e8e449444e65..8e01fd59ae7e 100644
source security/smack/Kconfig
source security/tomoyo/Kconfig
diff --git a/security/Makefile b/security/Makefile
-index f2d71cdb8e19..8c4a43e3d4e0 100644
+index 4d2d3782ddef..507ac8c520ce 100644
--- a/security/Makefile
+++ b/security/Makefile
-@@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o
+@@ -30,3 +30,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o
# Object integrity file lists
subdir-$(CONFIG_INTEGRITY) += integrity
obj-$(CONFIG_INTEGRITY) += integrity/
@@ -164,18 +164,20 @@ index 000000000000..d8595c0e6673
+}
+EXPORT_SYMBOL(__kernel_is_locked_down);
--
-2.13.6
+2.14.3
-From 2c46467f43bc54324de5474a8355f98c692309e4 Mon Sep 17 00:00:00 2001
+From 2c6e78b766569c7a966639346cc2b5a023998adc Mon Sep 17 00:00:00 2001
From: Kyle McMartin <kyle@redhat.com>
-Date: Wed, 18 Oct 2017 14:02:25 +0100
-Subject: [PATCH 02/26] Add a SysRq option to lift kernel lockdown
+Date: Tue, 27 Feb 2018 10:04:50 +0000
+Subject: [PATCH 02/31] Add a SysRq option to lift kernel lockdown
Make an option to provide a sysrq key that will lift the kernel lockdown,
thereby allowing the running kernel image to be accessed and modified.
-On x86_64 this is triggered with SysRq+x, but this key may not be available
-on all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h.
+On x86 this is triggered with SysRq+x, but this key may not be available on
+all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h.
+Since this macro must be defined in an arch to be able to use this facility
+for that arch, the Kconfig option is restricted to arches that support it.
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
@@ -187,15 +189,15 @@ cc: x86@kernel.org
include/linux/input.h | 5 +++++
include/linux/sysrq.h | 8 +++++++-
kernel/debug/kdb/kdb_main.c | 2 +-
- security/Kconfig | 8 ++++++++
+ security/Kconfig | 10 ++++++++++
security/lock_down.c | 47 ++++++++++++++++++++++++++++++++++++++++++++
- 8 files changed, 84 insertions(+), 8 deletions(-)
+ 8 files changed, 86 insertions(+), 8 deletions(-)
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
-index a65cf544686a..863f77582c09 100644
+index ae13bc974416..3108e297d87d 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
-@@ -8,6 +8,8 @@
+@@ -9,6 +9,8 @@
#include <linux/linkage.h>
#include <asm/page_types.h>
@@ -205,22 +207,22 @@ index a65cf544686a..863f77582c09 100644
#include <linux/pfn.h>
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
-index 39ddd9a73feb..0afeef1672bc 100644
+index 96a887f33698..027c730631cc 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
-@@ -362,6 +362,7 @@ static int uinput_create_device(struct uinput_device *udev)
+@@ -365,6 +365,7 @@ static int uinput_create_device(struct uinput_device *udev)
dev->flush = uinput_dev_flush;
}
-
+
+ dev->flags |= INPUTDEV_FLAGS_SYNTHETIC;
dev->event = uinput_dev_event;
-
+
input_set_drvdata(udev->dev, udev);
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
-index 3ffc1ce29023..8b766dbad6dd 100644
+index b674793be478..7c06541b422e 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
-@@ -481,6 +481,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
+@@ -487,6 +487,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
/* x: May be registered on mips for TLB dump */
/* x: May be registered on ppc/powerpc for xmon */
/* x: May be registered on sparc64 for global PMU dump */
@@ -228,7 +230,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644
NULL, /* x */
/* y: May be registered on sparc64 for global register dump */
NULL, /* y */
-@@ -524,7 +525,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
+@@ -530,7 +531,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
sysrq_key_table[i] = op_p;
}
@@ -237,7 +239,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644
{
struct sysrq_key_op *op_p;
int orig_log_level;
-@@ -544,11 +545,15 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -550,11 +551,15 @@ void __handle_sysrq(int key, bool check_mask)
op_p = __sysrq_get_key_op(key);
if (op_p) {
@@ -254,7 +256,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644
pr_cont("%s\n", op_p->action_msg);
console_loglevel = orig_log_level;
op_p->handler(key);
-@@ -580,7 +585,7 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -586,7 +591,7 @@ void __handle_sysrq(int key, bool check_mask)
void handle_sysrq(int key)
{
if (sysrq_on())
@@ -263,7 +265,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644
}
EXPORT_SYMBOL(handle_sysrq);
-@@ -661,7 +666,7 @@ static void sysrq_do_reset(unsigned long _state)
+@@ -667,7 +672,7 @@ static void sysrq_do_reset(struct timer_list *t)
static void sysrq_handle_reset_request(struct sysrq_state *state)
{
if (state->reset_requested)
@@ -272,7 +274,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644
if (sysrq_reset_downtime_ms)
mod_timer(&state->keyreset_timer,
-@@ -812,8 +817,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
+@@ -818,8 +823,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
default:
if (sysrq->active && value && value != 2) {
@@ -284,7 +286,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644
}
break;
}
-@@ -1097,7 +1104,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
+@@ -1102,7 +1109,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
if (get_user(c, buf))
return -EFAULT;
@@ -294,7 +296,7 @@ index 3ffc1ce29023..8b766dbad6dd 100644
return count;
diff --git a/include/linux/input.h b/include/linux/input.h
-index fb5e23c7ed98..9d2b45a21ade 100644
+index 7c7516eb7d76..38cd0ea72c37 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -42,6 +42,7 @@ struct input_value {
@@ -324,10 +326,10 @@ index fb5e23c7ed98..9d2b45a21ade 100644
* Verify that we are in sync with input_device_id mod_devicetable.h #defines
*/
diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h
-index 387fa7d05c98..f7c52a9ea394 100644
+index 8c71874e8485..7de1f08b60a9 100644
--- a/include/linux/sysrq.h
+++ b/include/linux/sysrq.h
-@@ -28,6 +28,8 @@
+@@ -29,6 +29,8 @@
#define SYSRQ_ENABLE_BOOT 0x0080
#define SYSRQ_ENABLE_RTNICE 0x0100
@@ -336,7 +338,7 @@ index 387fa7d05c98..f7c52a9ea394 100644
struct sysrq_key_op {
void (*handler)(int);
char *help_msg;
-@@ -42,8 +44,12 @@ struct sysrq_key_op {
+@@ -43,8 +45,12 @@ struct sysrq_key_op {
* are available -- else NULL's).
*/
@@ -351,7 +353,7 @@ index 387fa7d05c98..f7c52a9ea394 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 c8146d53ca67..b480cadf9272 100644
+index dbb0781a0533..aae9a0f44058 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
@@ -1970,7 +1970,7 @@ static int kdb_sr(int argc, const char **argv)
@@ -364,16 +366,18 @@ index c8146d53ca67..b480cadf9272 100644
return 0;
diff --git a/security/Kconfig b/security/Kconfig
-index 8e01fd59ae7e..453cc89c198a 100644
+index a9e6207d287e..461d5acc3616 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -213,6 +213,14 @@ config LOCK_DOWN_KERNEL
+@@ -239,6 +239,16 @@ config LOCK_DOWN_KERNEL
turns off various features that might otherwise allow access to the
kernel image (eg. setting MSR registers).
+config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
+ bool "Allow the kernel lockdown to be lifted by SysRq"
-+ depends on LOCK_DOWN_KERNEL && MAGIC_SYSRQ
++ depends on LOCK_DOWN_KERNEL
++ depends on MAGIC_SYSRQ
++ depends on X86
+ help
+ Allow the lockdown on a kernel to be lifted, by pressing a SysRq key
+ combination on a wired keyboard.
@@ -447,44 +451,244 @@ index d8595c0e6673..2c6b00f0c229 100644
+
+#endif /* CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ */
--
-2.13.6
+2.14.3
+
+From 16376a9b88db8d79637fbda7576ced261050eb2a Mon Sep 17 00:00:00 2001
+From: Mimi Zohar <zohar@linux.vnet.ibm.com>
+Date: Tue, 27 Feb 2018 10:04:50 +0000
+Subject: [PATCH 03/31] ima: require secure_boot rules in lockdown mode
+
+Require the "secure_boot" rules, whether or not it is specified
+on the boot command line, for both the builtin and custom policies
+in secure boot lockdown mode.
+
+Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
+Signed-off-by: David Howells <dhowells@redhat.com>
+---
+ security/integrity/ima/ima_policy.c | 39 +++++++++++++++++++++++++++----------
+ 1 file changed, 29 insertions(+), 10 deletions(-)
+
+diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
+index 915f5572c6ff..830ce0de5386 100644
+--- a/security/integrity/ima/ima_policy.c
++++ b/security/integrity/ima/ima_policy.c
+@@ -431,14 +431,21 @@ void ima_update_policy_flag(void)
+ */
+ void __init ima_init_policy(void)
+ {
+- int i, measure_entries, appraise_entries, secure_boot_entries;
++ int i;
++ int measure_entries = 0;
++ int appraise_entries = 0;
++ int secure_boot_entries = 0;
++ bool kernel_locked_down = __kernel_is_locked_down(NULL, false);
+
+ /* if !ima_policy set entries = 0 so we load NO default rules */
+- measure_entries = ima_policy ? ARRAY_SIZE(dont_measure_rules) : 0;
+- appraise_entries = ima_use_appraise_tcb ?
+- ARRAY_SIZE(default_appraise_rules) : 0;
+- secure_boot_entries = ima_use_secure_boot ?
+- ARRAY_SIZE(secure_boot_rules) : 0;
++ if (ima_policy)
++ measure_entries = ARRAY_SIZE(dont_measure_rules);
++
++ if (ima_use_appraise_tcb)
++ appraise_entries = ARRAY_SIZE(default_appraise_rules);
++
++ if (ima_use_secure_boot || kernel_locked_down)
++ secure_boot_entries = ARRAY_SIZE(secure_boot_rules);
+
+ for (i = 0; i < measure_entries; i++)
+ list_add_tail(&dont_measure_rules[i].list, &ima_default_rules);
+@@ -459,11 +466,23 @@ void __init ima_init_policy(void)
+
+ /*
+ * Insert the appraise rules requiring file signatures, prior to
+- * any other appraise rules.
++ * any other appraise rules. In secure boot lock-down mode, also
++ * require these appraise rules for custom policies.
+ */
+- for (i = 0; i < secure_boot_entries; i++)
+- list_add_tail(&secure_boot_rules[i].list,
+- &ima_default_rules);
++ for (i = 0; i < secure_boot_entries; i++) {
++ struct ima_rule_entry *entry;
++
++ /* Include for builtin policies */
++ list_add_tail(&secure_boot_rules[i].list, &ima_default_rules);
++
++ /* Include for custom policies */
++ if (kernel_locked_down) {
++ entry = kmemdup(&secure_boot_rules[i], sizeof(*entry),
++ GFP_KERNEL);
++ if (entry)
++ list_add_tail(&entry->list, &ima_policy_rules);
++ }
++ }
-From 4c389db9daee3a3a444339a7d789de1d9366f736 Mon Sep 17 00:00:00 2001
+ for (i = 0; i < appraise_entries; i++) {
+ list_add_tail(&default_appraise_rules[i].list,
+--
+2.14.3
+
+From 7c0d4949d8343a3b6ceca21f3d7710b20f283de0 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 24 May 2017 14:56:01 +0100
-Subject: [PATCH 03/26] Enforce module signatures if the kernel is locked down
+Date: Tue, 27 Feb 2018 10:04:50 +0000
+Subject: [PATCH 04/31] Enforce module signatures if the kernel is locked down
If the kernel is locked down, require that all modules have valid
-signatures that we can verify.
+signatures that we can verify or that IMA can validate the file.
+
+I have adjusted the errors generated:
+
+ (1) If there's no signature (ENODATA) or we can't check it (ENOPKG,
+ ENOKEY), then:
+
+ (a) If signatures are enforced then EKEYREJECTED is returned.
+
+ (b) If IMA will have validated the image, return 0 (okay).
+
+ (c) If there's no signature or we can't check it, but the kernel is
+ locked down then EPERM is returned (this is then consistent with
+ other lockdown cases).
+
+ (2) If the signature is unparseable (EBADMSG, EINVAL), the signature fails
+ the check (EKEYREJECTED) or a system error occurs (eg. ENOMEM), we
+ return the error we got.
+
+Note that the X.509 code doesn't check for key expiry as the RTC might not
+be valid or might not have been transferred to the kernel's clock yet.
Signed-off-by: David Howells <dhowells@redhat.com>
-Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
-Reviewed-by: James Morris <james.l.morris@oracle.com>
+Reviewed-by: Jiri Bohac <jbohac@suse.cz>
+cc: "Lee, Chun-Yi" <jlee@suse.com>
+cc: James Morris <james.l.morris@oracle.com>
---
- kernel/module.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ kernel/module.c | 56 +++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 43 insertions(+), 13 deletions(-)
diff --git a/kernel/module.c b/kernel/module.c
-index de66ec825992..3d9a3270c179 100644
+index ad2d420024f6..62419cf48ef6 100644
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -2781,7 +2781,8 @@ static int module_sig_check(struct load_info *info, int flags)
+@@ -64,6 +64,7 @@
+ #include <linux/bsearch.h>
+ #include <linux/dynamic_debug.h>
+ #include <linux/audit.h>
++#include <linux/ima.h>
+ #include <uapi/linux/module.h>
+ #include "module-internal.h"
+
+@@ -2765,10 +2766,12 @@ static inline void kmemleak_load_module(const struct module *mod,
+ #endif
+
+ #ifdef CONFIG_MODULE_SIG
+-static int module_sig_check(struct load_info *info, int flags)
++static int module_sig_check(struct load_info *info, int flags,
++ bool can_do_ima_check)
+ {
+- int err = -ENOKEY;
++ int err = -ENODATA;
+ const unsigned long markerlen = sizeof(MODULE_SIG_STRING) - 1;
++ const char *reason;
+ const void *mod = info->hdr;
+
+ /*
+@@ -2783,19 +2786,46 @@ static int module_sig_check(struct load_info *info, int flags)
+ err = mod_verify_sig(mod, &info->len);
}
- /* Not having a signature is only an error if we're strict. */
+- if (!err) {
++ switch (err) {
++ case 0:
+ info->sig_ok = true;
+ return 0;
+- }
+
+- /* 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("Loading of unsigned modules"))
- err = 0;
+- err = 0;
++ /* We don't permit modules to be loaded into trusted kernels
++ * without a valid signature on them, but if we're not
++ * enforcing, certain errors are non-fatal.
++ */
++ case -ENODATA:
++ reason = "Loading of unsigned module";
++ goto decide;
++ case -ENOPKG:
++ reason = "Loading of module with unsupported crypto";
++ goto decide;
++ case -ENOKEY:
++ reason = "Loading of module with unavailable key";
++ decide:
++ if (sig_enforce) {
++ pr_notice("%s is rejected\n", reason);
++ return -EKEYREJECTED;
++ }
+
+- return err;
++ if (can_do_ima_check && is_ima_appraise_enabled())
++ return 0;
++ if (kernel_is_locked_down(reason))
++ return -EPERM;
++ return 0;
++
++ /* All other errors are fatal, including nomem, unparseable
++ * signatures and signature check failures - even if signatures
++ * aren't required.
++ */
++ default:
++ return err;
++ }
+ }
+ #else /* !CONFIG_MODULE_SIG */
+-static int module_sig_check(struct load_info *info, int flags)
++static int module_sig_check(struct load_info *info, int flags,
++ bool can_do_ima_check)
+ {
+ return 0;
+ }
+@@ -3655,13 +3685,13 @@ static int unknown_module_param_cb(char *param, char *val, const char *modname,
+ /* Allocate and load the module: note that size of section 0 is always
+ zero, and we rely on this for optional sections. */
+ static int load_module(struct load_info *info, const char __user *uargs,
+- int flags)
++ int flags, bool can_do_ima_check)
+ {
+ struct module *mod;
+ long err;
+ char *after_dashes;
+
+- err = module_sig_check(info, flags);
++ err = module_sig_check(info, flags, can_do_ima_check);
+ if (err)
+ goto free_copy;
+
+@@ -3850,7 +3880,7 @@ SYSCALL_DEFINE3(init_module, void __user *, umod,
+ if (err)
+ return err;
+
+- return load_module(&info, uargs, 0);
++ return load_module(&info, uargs, 0, false);
+ }
+
+ SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
+@@ -3877,7 +3907,7 @@ SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
+ info.hdr = hdr;
+ info.len = size;
+
+- return load_module(&info, uargs, flags);
++ return load_module(&info, uargs, flags, true);
+ }
- return err;
+ static inline int within(unsigned long addr, void *start, unsigned long size)
--
-2.13.6
+2.14.3
-From 59312c44aa46939a14b3fbfeb510f94b4a73c8a1 Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Wed, 24 May 2017 14:56:02 +0100
-Subject: [PATCH 04/26] Restrict /dev/{mem,kmem,port} when the kernel is locked
+From 11b23b45b895133b0c4660622fe2cd8cea373324 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg59@srcf.ucam.org>
+Date: Tue, 27 Feb 2018 10:04:51 +0000
+Subject: [PATCH 05/31] Restrict /dev/{mem,kmem,port} when the kernel is locked
down
Allowing users to read and write to core kernel memory makes it possible
@@ -497,7 +701,7 @@ been locked down to prevent this.
Also disallow /dev/port from being opened to prevent raw ioport access and
thus DMA from being used to accomplish the same thing.
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
---
@@ -505,10 +709,10 @@ Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
1 file changed, 2 insertions(+)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 593a8818aca9..0ce5ac0a5c6b 100644
+index 052011bcf100..c024e7b2bbcb 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
-@@ -762,6 +762,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
+@@ -784,6 +784,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
static int open_port(struct inode *inode, struct file *filp)
{
@@ -518,21 +722,22 @@ index 593a8818aca9..0ce5ac0a5c6b 100644
}
--
-2.13.6
+2.14.3
-From 6304f16efd61e66701f4b331e95da3cafb5f5f76 Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Wed, 24 May 2017 14:56:02 +0100
-Subject: [PATCH 05/26] kexec: Disable at runtime if the kernel is locked down
+From ccaf57b0a1afb62c1278e3fee69634a710b60a44 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg59@srcf.ucam.org>
+Date: Tue, 27 Feb 2018 10:04:51 +0000
+Subject: [PATCH 06/31] kexec_load: Disable at runtime if the kernel is locked
+ down
-kexec permits the loading and execution of arbitrary code in ring 0, which
-is something that lock-down is meant to prevent. It makes sense to disable
-kexec in this situation.
+The kexec_load() syscall permits the loading and execution of arbitrary
+code in ring 0, which is something that lock-down is meant to prevent. It
+makes sense to disable kexec_load() in this situation.
-This does not affect kexec_file_load() which can check for a signature on the
-image to be booted.
+This does not affect kexec_file_load() syscall which can check for a
+signature on the image to be booted.
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
@@ -546,27 +751,27 @@ diff --git a/kernel/kexec.c b/kernel/kexec.c
index e62ec4dc6620..7dadfed9b676 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
-@@ -202,6 +202,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
+@@ -201,6 +201,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
+ if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
return -EPERM;
- /*
++ /*
+ * kexec can be used to circumvent module loading restrictions, so
+ * prevent loading in that case
+ */
+ if (kernel_is_locked_down("kexec of unsigned images"))
+ return -EPERM;
+
-+ /*
+ /*
* Verify we have a legal set of flags
* This leaves us room for future extensions.
- */
--
-2.13.6
+2.14.3
-From cd00079900870855cea3573253a95c331ccab523 Mon Sep 17 00:00:00 2001
+From b96ff1fd9e94772fde7b58fd69969d1a1c87eb6d Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
-Date: Wed, 24 May 2017 14:56:02 +0100
-Subject: [PATCH 06/26] Copy secure_boot flag in boot params across kexec
+Date: Tue, 27 Feb 2018 10:04:51 +0000
+Subject: [PATCH 07/31] Copy secure_boot flag in boot params across kexec
reboot
Kexec reboot in case secure boot being enabled does not keep the secure
@@ -601,54 +806,286 @@ index fb095ba0c02f..7d0fac5bcbbe 100644
ei->efi_systab = current_ei->efi_systab;
ei->efi_systab_hi = current_ei->efi_systab_hi;
--
-2.13.6
+2.14.3
+
+From 092494dea28896108dfb654cebf9f7e3666fc514 Mon Sep 17 00:00:00 2001
+From: Jiri Bohac <jbohac@suse.cz>
+Date: Tue, 27 Feb 2018 10:04:51 +0000
+Subject: [PATCH 08/31] kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and
+ KEXEC_SIG_FORCE
+
+This is a preparatory patch for kexec_file_load() lockdown. A locked down
+kernel needs to prevent unsigned kernel images from being loaded with
+kexec_file_load(). Currently, the only way to force the signature
+verification is compiling with KEXEC_VERIFY_SIG. This prevents loading
+usigned images even when the kernel is not locked down at runtime.
+
+This patch splits KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE.
+Analogous to the MODULE_SIG and MODULE_SIG_FORCE for modules, KEXEC_SIG
+turns on the signature verification but allows unsigned images to be
+loaded. KEXEC_SIG_FORCE disallows images without a valid signature.
+
+[Modified by David Howells such that:
+
+ (1) verify_pefile_signature() differentiates between no-signature and
+ sig-didn't-match in its returned errors.
+
+ (2) kexec fails with EKEYREJECTED and logs an appropriate message if
+ signature checking is enforced and an signature is not found, uses
+ unsupported crypto or has no matching key.
-From de2ac5da82fc55156134820ba32095710b935ad5 Mon Sep 17 00:00:00 2001
-From: Chun-Yi Lee <joeyli.kernel@gmail.com>
-Date: Wed, 24 May 2017 14:56:03 +0100
-Subject: [PATCH 07/26] kexec_file: Disable at runtime if the kernel is locked
+ (3) kexec fails with EKEYREJECTED if there is a signature for which we
+ have a key, but signature doesn't match - even if in non-forcing mode.
+
+ (4) kexec fails with EBADMSG or some other error if there is a signature
+ which cannot be parsed - even if in non-forcing mode.
+
+ (5) kexec fails with ELIBBAD if the PE file cannot be parsed to extract
+ the signature - even if in non-forcing mode.
+
+]
+
+Signed-off-by: Jiri Bohac <jbohac@suse.cz>
+Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: Jiri Bohac <jbohac@suse.cz>
+cc: Matthew Garrett <mjg59@srcf.ucam.org>
+cc: Chun-Yi Lee <jlee@suse.com>
+cc: kexec@lists.infradead.org
+---
+ arch/x86/Kconfig | 20 ++++++++++----
+ arch/x86/kernel/machine_kexec_64.c | 2 +-
+ crypto/asymmetric_keys/verify_pefile.c | 4 ++-
+ include/linux/kexec.h | 4 +--
+ kernel/kexec_file.c | 48 +++++++++++++++++++++++++++++-----
+ 5 files changed, 62 insertions(+), 16 deletions(-)
+
+diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
+index eb7f43f23521..b2c5eb5a8333 100644
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -2020,20 +2020,30 @@ config KEXEC_FILE
+ for kernel and initramfs as opposed to list of segments as
+ accepted by previous system call.
+
+-config KEXEC_VERIFY_SIG
++config KEXEC_SIG
+ bool "Verify kernel signature during kexec_file_load() syscall"
+ depends on KEXEC_FILE
+ ---help---
+- This option makes kernel signature verification mandatory for
+- the kexec_file_load() syscall.
+
+- In addition to that option, you need to enable signature
++ This option makes the kexec_file_load() syscall check for a valid
++ signature of the kernel image. The image can still be loaded without
++ a valid signature unless you also enable KEXEC_SIG_FORCE, though if
++ there's a signature that we can check, then it must be valid.
++
++ In addition to this option, you need to enable signature
+ verification for the corresponding kernel image type being
+ loaded in order for this to work.
+
++config KEXEC_SIG_FORCE
++ bool "Require a valid signature in kexec_file_load() syscall"
++ depends on KEXEC_SIG
++ ---help---
++ This option makes kernel signature verification mandatory for
++ the kexec_file_load() syscall.
++
+ config KEXEC_BZIMAGE_VERIFY_SIG
+ bool "Enable bzImage signature verification support"
+- depends on KEXEC_VERIFY_SIG
++ depends on KEXEC_SIG
+ depends on SIGNED_PE_FILE_VERIFICATION
+ select SYSTEM_TRUSTED_KEYRING
+ ---help---
+diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
+index 3b7427aa7d85..b0870d47d520 100644
+--- a/arch/x86/kernel/machine_kexec_64.c
++++ b/arch/x86/kernel/machine_kexec_64.c
+@@ -406,7 +406,7 @@ int arch_kimage_file_post_load_cleanup(struct kimage *image)
+ return image->fops->cleanup(image->image_loader_data);
+ }
+
+-#ifdef CONFIG_KEXEC_VERIFY_SIG
++#ifdef CONFIG_KEXEC_SIG
+ int arch_kexec_kernel_verify_sig(struct kimage *image, void *kernel,
+ unsigned long kernel_len)
+ {
+diff --git a/crypto/asymmetric_keys/verify_pefile.c b/crypto/asymmetric_keys/verify_pefile.c
+index d178650fd524..4473cea1e877 100644
+--- a/crypto/asymmetric_keys/verify_pefile.c
++++ b/crypto/asymmetric_keys/verify_pefile.c
+@@ -100,7 +100,7 @@ static int pefile_parse_binary(const void *pebuf, unsigned int pelen,
+
+ if (!ddir->certs.virtual_address || !ddir->certs.size) {
+ pr_debug("Unsigned PE binary\n");
+- return -EKEYREJECTED;
++ return -ENODATA;
+ }
+
+ chkaddr(ctx->header_size, ddir->certs.virtual_address,
+@@ -408,6 +408,8 @@ static int pefile_digest_pe(const void *pebuf, unsigned int pelen,
+ * (*) 0 if at least one signature chain intersects with the keys in the trust
+ * keyring, or:
+ *
++ * (*) -ENODATA if there is no signature present.
++ *
+ * (*) -ENOPKG if a suitable crypto module couldn't be found for a check on a
+ * chain.
+ *
+diff --git a/include/linux/kexec.h b/include/linux/kexec.h
+index f16f6ceb3875..19652372f3ee 100644
+--- a/include/linux/kexec.h
++++ b/include/linux/kexec.h
+@@ -121,7 +121,7 @@ typedef void *(kexec_load_t)(struct kimage *image, char *kernel_buf,
+ unsigned long cmdline_len);
+ typedef int (kexec_cleanup_t)(void *loader_data);
+
+-#ifdef CONFIG_KEXEC_VERIFY_SIG
++#ifdef CONFIG_KEXEC_SIG
+ typedef int (kexec_verify_sig_t)(const char *kernel_buf,
+ unsigned long kernel_len);
+ #endif
+@@ -130,7 +130,7 @@ struct kexec_file_ops {
+ kexec_probe_t *probe;
+ kexec_load_t *load;
+ kexec_cleanup_t *cleanup;
+-#ifdef CONFIG_KEXEC_VERIFY_SIG
++#ifdef CONFIG_KEXEC_SIG
+ kexec_verify_sig_t *verify_sig;
+ #endif
+ };
+diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
+index e5bcd94c1efb..d5931e392050 100644
+--- a/kernel/kexec_file.c
++++ b/kernel/kexec_file.c
+@@ -45,7 +45,7 @@ int __weak arch_kimage_file_post_load_cleanup(struct kimage *image)
+ return -EINVAL;
+ }
+
+-#ifdef CONFIG_KEXEC_VERIFY_SIG
++#ifdef CONFIG_KEXEC_SIG
+ int __weak arch_kexec_kernel_verify_sig(struct kimage *image, void *buf,
+ unsigned long buf_len)
+ {
+@@ -116,7 +116,8 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd,
+ const char __user *cmdline_ptr,
+ unsigned long cmdline_len, unsigned flags)
+ {
+- int ret = 0;
++ const char *reason;
++ int ret;
+ void *ldata;
+ loff_t size;
+
+@@ -135,15 +136,48 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd,
+ if (ret)
+ goto out;
+
+-#ifdef CONFIG_KEXEC_VERIFY_SIG
++#ifdef CONFIG_KEXEC_SIG
+ ret = arch_kexec_kernel_verify_sig(image, image->kernel_buf,
+ image->kernel_buf_len);
+- if (ret) {
+- pr_debug("kernel signature verification failed.\n");
++#else
++ ret = -ENODATA;
++#endif
++
++ switch (ret) {
++ case 0:
++ break;
++
++ /* Certain verification errors are non-fatal if we're not
++ * checking errors, provided we aren't mandating that there
++ * must be a valid signature.
++ */
++ case -ENODATA:
++ reason = "kexec of unsigned image";
++ goto decide;
++ case -ENOPKG:
++ reason = "kexec of image with unsupported crypto";
++ goto decide;
++ case -ENOKEY:
++ reason = "kexec of image with unavailable key";
++ decide:
++ if (IS_ENABLED(CONFIG_KEXEC_SIG_FORCE)) {
++ pr_notice("%s rejected\n", reason);
++ ret = -EKEYREJECTED;
++ goto out;
++ }
++
++ ret = 0;
++ break;
++
++ /* All other errors are fatal, including nomem, unparseable
++ * signatures and signature check failures - even if signatures
++ * aren't required.
++ */
++ default:
++ pr_notice("kernel signature verification failed (%d).\n", ret);
+ goto out;
+ }
+- pr_debug("kernel signature verification successful.\n");
+-#endif
++
+ /* It is possible that there no initramfs is being loaded */
+ if (!(flags & KEXEC_FILE_NO_INITRAMFS)) {
+ ret = kernel_read_file_from_fd(initrd_fd, &image->initrd_buf,
+--
+2.14.3
+
+From 7124221c5cdb956365ed731b55e663db4075a131 Mon Sep 17 00:00:00 2001
+From: Jiri Bohac <jbohac@suse.cz>
+Date: Tue, 27 Feb 2018 10:04:52 +0000
+Subject: [PATCH 09/31] kexec_file: Restrict at runtime if the kernel is locked
down
-When KEXEC_VERIFY_SIG is not enabled, kernel should not load images
-through kexec_file systemcall if the kernel is locked down.
+When KEXEC_SIG is not enabled, kernel should not load images through
+kexec_file systemcall if the kernel is locked down unless IMA can be used
+to validate the image.
-This code was showed in Matthew's patch but not in git:
-https://lkml.org/lkml/2015/3/13/778
+[Modified by David Howells to fit with modifications to the previous patch
+ and to return -EPERM if the kernel is locked down for consistency with
+ other lockdowns]
-Cc: Matthew Garrett <mjg59@srcf.ucam.org>
-Signed-off-by: Chun-Yi Lee <jlee@suse.com>
+Signed-off-by: Jiri Bohac <jbohac@suse.cz>
Signed-off-by: David Howells <dhowells@redhat.com>
-Reviewed-by: James Morris <james.l.morris@oracle.com>
+Reviewed-by: Jiri Bohac <jbohac@suse.cz>
+Cc: Matthew Garrett <mjg59@srcf.ucam.org>
+cc: Chun-Yi Lee <jlee@suse.com>
cc: kexec@lists.infradead.org
---
- kernel/kexec_file.c | 7 +++++++
- 1 file changed, 7 insertions(+)
+ kernel/kexec_file.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
-index 9f48f4412297..ff6523f2dcc2 100644
+index d5931e392050..c47c4de604cd 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
-@@ -255,6 +255,13 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
- if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
- return -EPERM;
+@@ -167,6 +167,14 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd,
+ }
-+ /* Don't permit images to be loaded into trusted kernels if we're not
-+ * going to verify the signature on them
-+ */
-+ if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) &&
-+ kernel_is_locked_down("kexec of unsigned images"))
-+ return -EPERM;
+ ret = 0;
++ if (is_ima_appraise_enabled())
++ break;
+
- /* Make sure we have a legal set of flags */
- if (flags != (flags & KEXEC_FILE_FLAGS))
- return -EINVAL;
++ if (kernel_is_locked_down(reason)) {
++ ret = -EPERM;
++ goto out;
++ }
++
+ break;
+
+ /* All other errors are fatal, including nomem, unparseable
--
-2.13.6
+2.14.3
-From ba823f2b5125605fcbac150fe27e622fd224ea61 Mon Sep 17 00:00:00 2001
+From 70911b9a15ee62c6222e09099d23d94bdd132972 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Wed, 24 May 2017 14:56:03 +0100
-Subject: [PATCH 08/26] hibernate: Disable when the kernel is locked down
+Date: Tue, 27 Feb 2018 10:04:52 +0000
+Subject: [PATCH 10/31] hibernate: Disable when the kernel is locked down
There is currently no way to verify the resume image when returning
from hibernate. This might compromise the signed modules trust model,
@@ -677,12 +1114,12 @@ index a5c36e9c56a6..f2eafefeec50 100644
/**
--
-2.13.6
+2.14.3
-From 9e78666a6153d72c3e50160a30ead699ba508d8f Mon Sep 17 00:00:00 2001
+From b85febc7ab5ceede3c53b438b899dfba7741f366 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@srcf.ucam.org>
-Date: Wed, 24 May 2017 14:56:03 +0100
-Subject: [PATCH 09/26] uswsusp: Disable when the kernel is locked down
+Date: Tue, 27 Feb 2018 10:04:52 +0000
+Subject: [PATCH 11/31] uswsusp: Disable when the kernel is locked down
uswsusp allows a user process to dump and then restore kernel state, which
makes it possible to modify the running kernel. Disable this if the kernel
@@ -712,12 +1149,12 @@ index 22df9f7ff672..678ade9decfe 100644
if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
--
-2.13.6
+2.14.3
-From 334fa071b01ced7f48b2920208addfb1eab5d0fe Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Wed, 24 May 2017 14:56:03 +0100
-Subject: [PATCH 10/26] PCI: Lock down BAR access when the kernel is locked
+From 9e2700d1746e53da4de4d0fbee7ca4f8f06d6ff2 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg59@srcf.ucam.org>
+Date: Tue, 27 Feb 2018 10:04:52 +0000
+Subject: [PATCH 12/31] PCI: Lock down BAR access when the kernel is locked
down
Any hardware that can potentially generate DMA has to be locked down in
@@ -726,7 +1163,7 @@ allowing them to circumvent disabled module loading or module signing.
Default to paranoid - in future we can potentially relax this for
sufficiently IOMMU-isolated devices.
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
@@ -738,10 +1175,10 @@ cc: linux-pci@vger.kernel.org
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
-index 1eecfa301f7f..e1a3b0e765c2 100644
+index eb6bee8724cc..6d2afc730ab7 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
-@@ -881,6 +881,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
+@@ -930,6 +930,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
loff_t init_off = off;
u8 *data = (u8 *) buf;
@@ -751,7 +1188,7 @@ index 1eecfa301f7f..e1a3b0e765c2 100644
if (off > dev->cfg_size)
return 0;
if (off + count > dev->cfg_size) {
-@@ -1175,6 +1178,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+@@ -1224,6 +1227,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
enum pci_mmap_state mmap_type;
struct resource *res = &pdev->resource[bar];
@@ -761,7 +1198,7 @@ index 1eecfa301f7f..e1a3b0e765c2 100644
if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))
return -EINVAL;
-@@ -1255,6 +1261,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
+@@ -1299,6 +1305,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)
{
@@ -772,10 +1209,10 @@ index 1eecfa301f7f..e1a3b0e765c2 100644
}
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
-index 098360d7ff81..a6c53d855daa 100644
+index 58a662e3c4a6..b30e53eb41df 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,
+@@ -117,6 +117,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
int size = dev->cfg_size;
int cnt;
@@ -785,7 +1222,7 @@ index 098360d7ff81..a6c53d855daa 100644
if (pos >= size)
return 0;
if (nbytes >= size)
-@@ -195,6 +198,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
+@@ -196,6 +199,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
#endif /* HAVE_PCI_MMAP */
int ret = 0;
@@ -795,7 +1232,7 @@ index 098360d7ff81..a6c53d855daa 100644
switch (cmd) {
case PCIIOC_CONTROLLER:
ret = pci_domain_nr(dev->bus);
-@@ -236,7 +242,8 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
+@@ -237,7 +243,8 @@ 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 = 0, res_bit = IORESOURCE_MEM;
@@ -806,10 +1243,10 @@ index 098360d7ff81..a6c53d855daa 100644
if (fpriv->mmap_state == pci_mmap_io) {
diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
-index 9bf993e1f71e..afa01cc3ceec 100644
+index e725f99b5479..6cb3b22a3b94 100644
--- a/drivers/pci/syscall.c
+++ b/drivers/pci/syscall.c
-@@ -92,7 +92,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
+@@ -93,7 +93,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
u32 dword;
int err = 0;
@@ -818,14 +1255,14 @@ index 9bf993e1f71e..afa01cc3ceec 100644
+ kernel_is_locked_down("Direct PCI access"))
return -EPERM;
- dev = pci_get_bus_and_slot(bus, dfn);
+ dev = pci_get_domain_bus_and_slot(0, bus, dfn);
--
-2.13.6
+2.14.3
-From 7e608c45ac2ab6c8e125aaf3993b8257352ac631 Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Wed, 24 May 2017 14:56:04 +0100
-Subject: [PATCH 11/26] x86: Lock down IO port access when the kernel is locked
+From d7a876a8a1616730c0bc44c47823483ec3b99c12 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg59@srcf.ucam.org>
+Date: Tue, 27 Feb 2018 10:04:52 +0000
+Subject: [PATCH 13/31] x86: Lock down IO port access when the kernel is locked
down
IO port access would permit users to gain access to PCI configuration
@@ -836,7 +1273,7 @@ DMA, so lock it down by default.
This also implicitly locks down the KDADDIO, KDDELIO, KDENABIO and
KDDISABIO console ioctls.
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
@@ -846,10 +1283,10 @@ cc: x86@kernel.org
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
-index 9c3cf0944bce..2c0f058651c5 100644
+index 2f723301eb58..b3758cc23262 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
-@@ -30,7 +30,8 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
+@@ -31,7 +31,8 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
if ((from + num <= from) || (from + num > IO_BITMAP_BITS))
return -EINVAL;
@@ -859,7 +1296,7 @@ index 9c3cf0944bce..2c0f058651c5 100644
return -EPERM;
/*
-@@ -120,7 +121,8 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
+@@ -121,7 +122,8 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
return -EINVAL;
/* Trying to gain more privileges? */
if (level > old) {
@@ -870,12 +1307,12 @@ index 9c3cf0944bce..2c0f058651c5 100644
}
regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) |
--
-2.13.6
+2.14.3
-From 2644bf492568e3733bc841112c6e8628a6e01b8e Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Wed, 24 May 2017 14:56:04 +0100
-Subject: [PATCH 12/26] x86/msr: Restrict MSR access when the kernel is locked
+From 43e89781371daf295925ffa1f9074eb31b815491 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg59@srcf.ucam.org>
+Date: Tue, 27 Feb 2018 10:04:53 +0000
+Subject: [PATCH 14/31] x86/msr: Restrict MSR access when the kernel is locked
down
Writing to MSRs should not be allowed if the kernel is locked down, since
@@ -885,7 +1322,7 @@ patch by Kees Cook.
MSR accesses are logged for the purposes of building up a whitelist as per
Alan Cox's suggestion.
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
@@ -924,77 +1361,19 @@ index ef688804f80d..dfb61d358196 100644
if (err)
break;
--
-2.13.6
-
-From e6850fffe186e252cc94e8747e589076e215ca1a Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Wed, 24 May 2017 14:56:04 +0100
-Subject: [PATCH 13/26] asus-wmi: Restrict debugfs interface when the kernel is
- locked down
-
-We have no way of validating what all of the Asus WMI methods do on a given
-machine - and there's a risk that some will allow hardware state to be
-manipulated in such a way that arbitrary code can be executed in the
-kernel, circumventing module loading restrictions. Prevent that if the
-kernel is locked down.
-
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
-Signed-off-by: David Howells <dhowells@redhat.com>
-Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
-cc: acpi4asus-user@lists.sourceforge.net
-cc: platform-driver-x86@vger.kernel.org
----
- drivers/platform/x86/asus-wmi.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 48e1541dc8d4..ef5587469337 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -1905,6 +1905,9 @@ static int show_dsts(struct seq_file *m, void *data)
- int err;
- u32 retval = -1;
-
-+ if (kernel_is_locked_down("Asus WMI"))
-+ return -EPERM;
-+
- err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
-
- if (err < 0)
-@@ -1921,6 +1924,9 @@ static int show_devs(struct seq_file *m, void *data)
- int err;
- u32 retval = -1;
+2.14.3
-+ if (kernel_is_locked_down("Asus WMI"))
-+ return -EPERM;
-+
- err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
- &retval);
-
-@@ -1945,6 +1951,9 @@ static int show_call(struct seq_file *m, void *data)
- union acpi_object *obj;
- acpi_status status;
-
-+ if (kernel_is_locked_down("Asus WMI"))
-+ return -EPERM;
-+
- status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID,
- 0, asus->debug.method_id,
- &input, &output);
---
-2.13.6
-
-From 6dda2a4dbc8bb80efaa55aba6d54382e986305c5 Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Wed, 24 May 2017 14:56:04 +0100
-Subject: [PATCH 14/26] ACPI: Limit access to custom_method when the kernel is
+From 13b28d5eb338531f53ac27bce86c663c88ac4aca Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <mjg59@srcf.ucam.org>
+Date: Tue, 27 Feb 2018 10:04:53 +0000
+Subject: [PATCH 15/31] ACPI: Limit access to custom_method when the kernel is
locked down
custom_method effectively allows arbitrary access to system memory, making
it possible for an attacker to circumvent restrictions on module loading.
Disable it if the kernel is locked down.
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
cc: linux-acpi@vger.kernel.org
@@ -1017,12 +1396,12 @@ index c68e72414a67..b33fba70ec51 100644
/* parse the table header to get the table length */
if (count <= sizeof(struct acpi_table_header))
--
-2.13.6
+2.14.3
-From 64caa33410f85663cf0a65e4c09b8b8d28a219ad Mon Sep 17 00:00:00 2001
+From dadc30f71155a6f2df81d791cf1314ecdb36cb84 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
-Date: Wed, 24 May 2017 14:56:05 +0100
-Subject: [PATCH 15/26] acpi: Ignore acpi_rsdp kernel param when the kernel has
+Date: Tue, 27 Feb 2018 10:04:53 +0000
+Subject: [PATCH 16/31] acpi: Ignore acpi_rsdp kernel param when the kernel has
been locked down
This option allows userspace to pass the RSDP address to the kernel, which
@@ -1039,7 +1418,7 @@ cc: linux-acpi@vger.kernel.org
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
-index db78d353bab1..36c6527c1b0a 100644
+index 3bb46cb24a99..3d3b59b97f31 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -192,7 +192,7 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
@@ -1052,12 +1431,12 @@ index db78d353bab1..36c6527c1b0a 100644
#endif
--
-2.13.6
+2.14.3
-From d87ce06969f2d4da0c864e8a4cf6c820d950cd1f Mon Sep 17 00:00:00 2001
+From 9185a89b926a57d52ac9edf588ad533d53af4985 Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
-Date: Wed, 24 May 2017 14:56:05 +0100
-Subject: [PATCH 16/26] acpi: Disable ACPI table override if the kernel is
+Date: Tue, 27 Feb 2018 10:04:53 +0000
+Subject: [PATCH 17/31] acpi: Disable ACPI table override if the kernel is
locked down
From the kernel documentation (initrd_table_override.txt):
@@ -1079,10 +1458,10 @@ cc: linux-acpi@vger.kernel.org
1 file changed, 5 insertions(+)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
-index 80ce2a7d224b..5cc13c42daf9 100644
+index 7bcb66ccccf3..5ea02c9ca47f 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
-@@ -526,6 +526,11 @@ void __init acpi_table_upgrade(void)
+@@ -527,6 +527,11 @@ void __init acpi_table_upgrade(void)
if (table_nr == 0)
return;
@@ -1095,12 +1474,12 @@ index 80ce2a7d224b..5cc13c42daf9 100644
memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS,
all_tables_size, PAGE_SIZE);
--
-2.13.6
+2.14.3
-From 547e2ca9cbfd420a15dd70e1c1c24b7040f88058 Mon Sep 17 00:00:00 2001
+From aa434c790a2581df5dc7973f2dc3a6a3234bd6b7 Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
-Date: Wed, 24 May 2017 14:56:05 +0100
-Subject: [PATCH 17/26] acpi: Disable APEI error injection if the kernel is
+Date: Tue, 27 Feb 2018 10:04:53 +0000
+Subject: [PATCH 18/31] acpi: Disable APEI error injection if the kernel is
locked down
ACPI provides an error injection mechanism, EINJ, for debugging and testing
@@ -1141,12 +1520,12 @@ index b38737c83a24..6d71e1e97b20 100644
if (flags && (flags &
~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF)))
--
-2.13.6
+2.14.3
-From abbf8de44feab5f50b316d6491926d8d9029cb49 Mon Sep 17 00:00:00 2001
+From 5b76b160badb6e53f68a65f0374df700894559bb Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 24 May 2017 14:56:06 +0100
-Subject: [PATCH 18/26] scsi: Lock down the eata driver
+Date: Tue, 27 Feb 2018 10:04:53 +0000
+Subject: [PATCH 19/31] scsi: Lock down the eata driver
When the kernel is running in secure boot mode, we lock down the kernel to
prevent userspace from modifying the running kernel image. Whilst this
@@ -1186,12 +1565,12 @@ index 6501c330d8c8..72fceaa8f3da 100644
#if defined(MODULE)
/* io_port could have been modified when loading as a module */
--
-2.13.6
+2.14.3
-From 116b02dff661d497c10099862b8b86e6cd2262ae Mon Sep 17 00:00:00 2001
+From ebdc673699d9732a1cccfc2f80e84402aa7ec0c9 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 24 May 2017 14:56:06 +0100
-Subject: [PATCH 19/26] Prohibit PCMCIA CIS storage when the kernel is locked
+Date: Tue, 27 Feb 2018 10:04:54 +0000
+Subject: [PATCH 20/31] Prohibit PCMCIA CIS storage when the kernel is locked
down
Prohibit replacement of the PCMCIA Card Information Structure when the
@@ -1205,7 +1584,7 @@ cc: linux-pcmcia@lists.infradead.org
1 file changed, 3 insertions(+)
diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c
-index 55ef7d1fd8da..b7a0e42eeb25 100644
+index 102646fedb56..e46c948d7246 100644
--- a/drivers/pcmcia/cistpl.c
+++ b/drivers/pcmcia/cistpl.c
@@ -1578,6 +1578,9 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj,
@@ -1219,12 +1598,12 @@ index 55ef7d1fd8da..b7a0e42eeb25 100644
if (off)
--
-2.13.6
+2.14.3
-From f3dc03aa368cfde123bc1b60bda287091c9d43b4 Mon Sep 17 00:00:00 2001
+From 0f058a0aecf0aea70fc42905250bb2a0f195157a Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 24 May 2017 14:56:06 +0100
-Subject: [PATCH 20/26] Lock down TIOCSSERIAL
+Date: Tue, 27 Feb 2018 10:04:54 +0000
+Subject: [PATCH 21/31] Lock down TIOCSSERIAL
Lock down TIOCSSERIAL as that can be used to change the ioport and irq
settings on a serial port. This only appears to be an issue for the serial
@@ -1239,10 +1618,10 @@ cc: Jiri Slaby <jslaby@suse.com>
1 file changed, 6 insertions(+)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index 3a14cccbd7ff..41f0922ad842 100644
+index c8dde56b532b..7370f3d169fe 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -842,6 +842,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
+@@ -829,6 +829,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
new_flags = (__force upf_t)new_info->flags;
old_custom_divisor = uport->custom_divisor;
@@ -1256,12 +1635,12 @@ index 3a14cccbd7ff..41f0922ad842 100644
retval = -EPERM;
if (change_irq || change_port ||
--
-2.13.6
+2.14.3
-From 9d266defc89a73c6dcca3b67ad70b95ac99b8e53 Mon Sep 17 00:00:00 2001
+From e5a9ff56a0c1762ba2b3d3ea46b03cf2ba9d2c60 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 24 May 2017 14:56:06 +0100
-Subject: [PATCH 21/26] Lock down module params that specify hardware
+Date: Tue, 27 Feb 2018 10:04:54 +0000
+Subject: [PATCH 22/31] Lock down module params that specify hardware
parameters (eg. ioport)
Provided an annotation for module parameters that specify hardware
@@ -1275,7 +1654,7 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/kernel/params.c b/kernel/params.c
-index 60b2d8101355..422979adb60a 100644
+index cc9108c2a1fd..2c08c4aa376b 100644
--- a/kernel/params.c
+++ b/kernel/params.c
@@ -108,13 +108,19 @@ bool parameq(const char *a, const char *b)
@@ -1312,7 +1691,7 @@ index 60b2d8101355..422979adb60a 100644
kernel_param_unlock(params[i].mod);
return err;
}
-@@ -556,6 +564,12 @@ static ssize_t param_attr_show(struct module_attribute *mattr,
+@@ -553,6 +561,12 @@ static ssize_t param_attr_show(struct module_attribute *mattr,
return count;
}
@@ -1325,7 +1704,7 @@ index 60b2d8101355..422979adb60a 100644
/* sysfs always hands a nul-terminated string in buf. We rely on that. */
static ssize_t param_attr_store(struct module_attribute *mattr,
struct module_kobject *mk,
-@@ -568,8 +582,10 @@ static ssize_t param_attr_store(struct module_attribute *mattr,
+@@ -565,8 +579,10 @@ static ssize_t param_attr_store(struct module_attribute *mattr,
return -EPERM;
kernel_param_lock(mk->mod);
@@ -1339,12 +1718,12 @@ index 60b2d8101355..422979adb60a 100644
if (!err)
return len;
--
-2.13.6
+2.14.3
-From 17a8caed6507846edd0a7016cdcd97fe46cca263 Mon Sep 17 00:00:00 2001
+From 6733115594290091a00d19060893f2396e51832c Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 24 May 2017 14:56:07 +0100
-Subject: [PATCH 22/26] x86/mmiotrace: Lock down the testmmiotrace module
+Date: Tue, 27 Feb 2018 10:04:54 +0000
+Subject: [PATCH 23/31] x86/mmiotrace: Lock down the testmmiotrace module
The testmmiotrace module shouldn't be permitted when the kernel is locked
down as it can be used to arbitrarily read and write MMIO space.
@@ -1375,98 +1754,310 @@ index f6ae6830b341..bbaad357f5d7 100644
pr_err("you have to use the module argument mmio_address.\n");
pr_err("DO NOT LOAD THIS MODULE UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!\n");
--
-2.13.6
+2.14.3
+
+From 69a17e04714182d314a7a7425f584ed3a54e065e Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Tue, 27 Feb 2018 10:04:54 +0000
+Subject: [PATCH 24/31] Lock down /proc/kcore
+
+Disallow access to /proc/kcore when the kernel is locked down to prevent
+access to cryptographic data.
+
+Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: James Morris <james.l.morris@oracle.com>
+---
+ fs/proc/kcore.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
+index d1e82761de81..cdebdee81719 100644
+--- a/fs/proc/kcore.c
++++ b/fs/proc/kcore.c
+@@ -546,6 +546,8 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
+
+ static int open_kcore(struct inode *inode, struct file *filp)
+ {
++ if (kernel_is_locked_down("/proc/kcore"))
++ return -EPERM;
+ if (!capable(CAP_SYS_RAWIO))
+ return -EPERM;
+
+--
+2.14.3
+
+From aa4a17515ea163cf0020d4a8c41302fb159b56ce Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Tue, 27 Feb 2018 10:04:54 +0000
+Subject: [PATCH 25/31] Lock down kprobes
+
+Disallow the creation of kprobes when the kernel is locked down by
+preventing their registration. This prevents kprobes from being used to
+access kernel memory, either to make modifications or to steal crypto data.
+
+Reported-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
+Signed-off-by: David Howells <dhowells@redhat.com>
+---
+ kernel/kprobes.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/kernel/kprobes.c b/kernel/kprobes.c
+index 102160ff5c66..4f5757732553 100644
+--- a/kernel/kprobes.c
++++ b/kernel/kprobes.c
+@@ -1561,6 +1561,9 @@ int register_kprobe(struct kprobe *p)
+ struct module *probed_mod;
+ kprobe_opcode_t *addr;
+
++ if (kernel_is_locked_down("Use of kprobes"))
++ return -EPERM;
++
+ /* Adjust probe address from symbol */
+ addr = kprobe_addr(p);
+ if (IS_ERR(addr))
+--
+2.14.3
+
+From 78bb0059c3b8304a8d124b55feebc780fb3e0500 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Tue, 27 Feb 2018 10:04:55 +0000
+Subject: [PATCH 26/31] bpf: Restrict kernel image access functions when the
+ kernel is locked down
+
+There are some bpf functions can be used to read kernel memory:
+bpf_probe_read, bpf_probe_write_user and bpf_trace_printk. These allow
+private keys in kernel memory (e.g. the hibernation image signing key) to
+be read by an eBPF program and kernel memory to be altered without
+restriction.
+
+Completely prohibit the use of BPF when the kernel is locked down.
+
+Suggested-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
+Signed-off-by: David Howells <dhowells@redhat.com>
+cc: netdev@vger.kernel.org
+cc: Chun-Yi Lee <jlee@suse.com>
+cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
+---
+ kernel/bpf/syscall.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
+index e24aa3241387..3ea87a004771 100644
+--- a/kernel/bpf/syscall.c
++++ b/kernel/bpf/syscall.c
+@@ -1848,6 +1848,9 @@ SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, siz
+ if (sysctl_unprivileged_bpf_disabled && !capable(CAP_SYS_ADMIN))
+ return -EPERM;
+
++ if (kernel_is_locked_down("BPF"))
++ return -EPERM;
++
+ err = check_uarg_tail_zero(uattr, sizeof(attr), size);
+ if (err)
+ return err;
+--
+2.14.3
+
+From 9d6d6000dffb44cb2269b26eafeb371345bd2297 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Tue, 27 Feb 2018 10:04:55 +0000
+Subject: [PATCH 27/31] Lock down perf
+
+Disallow the use of certain perf facilities that might allow userspace to
+access kernel data.
+
+Signed-off-by: David Howells <dhowells@redhat.com>
+---
+ kernel/events/core.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/kernel/events/core.c b/kernel/events/core.c
+index 96db9ae5d5af..1fba021d61d4 100644
+--- a/kernel/events/core.c
++++ b/kernel/events/core.c
+@@ -9924,6 +9924,11 @@ SYSCALL_DEFINE5(perf_event_open,
+ return -EINVAL;
+ }
+
++ if ((attr.sample_type & PERF_SAMPLE_REGS_INTR) &&
++ kernel_is_locked_down("PERF_SAMPLE_REGS_INTR"))
++ /* REGS_INTR can leak data, lockdown must prevent this */
++ return -EPERM;
++
+ /* Only privileged users can get physical addresses */
+ if ((attr.sample_type & PERF_SAMPLE_PHYS_ADDR) &&
+ perf_paranoid_kernel() && !capable(CAP_SYS_ADMIN))
+--
+2.14.3
-From 79ae67bf5f7eda526abaa80b01b19e08c1ed3558 Mon Sep 17 00:00:00 2001
+From 3fc32260515837f4c87cb923513973f1e77ccef9 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 18 Oct 2017 17:28:02 +0100
-Subject: [PATCH 23/26] debugfs: Disallow use of debugfs files when the kernel
- is locked down
+Date: Tue, 27 Feb 2018 10:04:55 +0000
+Subject: [PATCH 28/31] debugfs: Restrict debugfs when the kernel is locked
+ down
+
+Disallow opening of debugfs files that might be used to muck around when
+the kernel is locked down as various drivers give raw access to hardware
+through debugfs. Given the effort of auditing all 2000 or so files and
+manually fixing each one as necessary, I've chosen to apply a heuristic
+instead. The following changes are made:
+
+ (1) chmod and chown are disallowed on debugfs objects (though the root dir
+ can be modified by mount and remount, but I'm not worried about that).
-Disallow opening of debugfs files when the kernel is locked down as various
-drivers give raw access to hardware through debugfs.
+ (2) When the kernel is locked down, only files with the following criteria
+ are permitted to be opened:
-Accesses to tracefs should use /sys/kernel/tracing/ rather than
-/sys/kernel/debug/tracing/. Possibly a symlink should be emplaced.
+ - The file must have mode 00444
+ - The file must not have ioctl methods
+ - The file must not have mmap
-Normal device interaction should be done through configfs or a miscdev, not
-debugfs.
+ (3) When the kernel is locked down, files may only be opened for reading.
+
+Normal device interaction should be done through configfs, sysfs or a
+miscdev, not debugfs.
Note that this makes it unnecessary to specifically lock down show_dsts(),
show_devs() and show_call() in the asus-wmi driver.
+I would actually prefer to lock down all files by default and have the
+the files unlocked by the creator. This is tricky to manage correctly,
+though, as there are 19 creation functions and ~1600 call sites (some of
+them in loops scanning tables).
+
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Andy Shevchenko <andy.shevchenko@gmail.com>
cc: acpi4asus-user@lists.sourceforge.net
cc: platform-driver-x86@vger.kernel.org
-cc: Matthew Garrett <matthew.garrett@nebula.com>
+cc: Matthew Garrett <mjg59@srcf.ucam.org>
cc: Thomas Gleixner <tglx@linutronix.de>
---
- fs/debugfs/file.c | 6 ++++++
+ fs/debugfs/file.c | 28 ++++++++++++++++++++++++++++
+ fs/debugfs/inode.c | 30 ++++++++++++++++++++++++++++--
+ 2 files changed, 56 insertions(+), 2 deletions(-)
- 1 file changed, 6 insertions(+)
diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c
-index cd12e6576b48..097be2a59c51 100644
+index 1f99678ff5d3..51cb894c21f2 100644
--- a/fs/debugfs/file.c
+++ b/fs/debugfs/file.c
-@@ -142,6 +142,10 @@ static int open_proxy_open(struct inode *inode, struct file *filp)
- const struct file_operations *real_fops = NULL;
- int r;
-
-+ if (kernel_is_locked_down("debugfs"))
-+ return -EPERM;
+@@ -136,6 +136,25 @@ void debugfs_file_put(struct dentry *dentry)
+ }
+ EXPORT_SYMBOL_GPL(debugfs_file_put);
+
++/*
++ * Only permit access to world-readable files when the kernel is locked down.
++ * We also need to exclude any file that has ways to write or alter it as root
++ * can bypass the permissions check.
++ */
++static bool debugfs_is_locked_down(struct inode *inode,
++ struct file *filp,
++ const struct file_operations *real_fops)
++{
++ if ((inode->i_mode & 07777) == 0444 &&
++ !(filp->f_mode & FMODE_WRITE) &&
++ !real_fops->unlocked_ioctl &&
++ !real_fops->compat_ioctl &&
++ !real_fops->mmap)
++ return false;
+
++ return kernel_is_locked_down("debugfs");
++}
+
- r = debugfs_file_get(dentry);
- if (r)
+ static int open_proxy_open(struct inode *inode, struct file *filp)
+ {
+ struct dentry *dentry = F_DENTRY(filp);
+@@ -147,6 +166,11 @@ static int open_proxy_open(struct inode *inode, struct file *filp)
return r == -EIO ? -ENOENT : r;
-@@ -267,6 +271,9 @@ static int full_proxy_open(struct inode *inode, struct file *filp)
- struct file_operations *proxy_fops = NULL;
- int r;
-
-+ if (kernel_is_locked_down("debugfs"))
-+ return -EPERM;
+
+ real_fops = debugfs_real_fops(filp);
++
++ r = -EPERM;
++ if (debugfs_is_locked_down(inode, filp, real_fops))
++ goto out;
+
- r = debugfs_file_get(dentry);
- if (r)
+ real_fops = fops_get(real_fops);
+ if (!real_fops) {
+ /* Huh? Module did not clean up after itself at exit? */
+@@ -272,6 +296,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp)
return r == -EIO ? -ENOENT : r;
---
-2.13.6
-
-From 87ed5c02f0946c855730420cbf1daa6a2dfc54d7 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Thu, 19 Oct 2017 13:58:19 +0100
-Subject: [PATCH 24/26] Lock down /proc/kcore
-
-Disallow access to /proc/kcore when the kernel is locked down to prevent
-access to cryptographic data.
-
-Signed-off-by: David Howells <dhowells@redhat.com>
-Reviewed-by: James Morris <james.l.morris@oracle.com>
----
- fs/proc/kcore.c | 2 ++
- 1 file changed, 2 insertions(+)
-diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
-index 45629f4b5402..176cf749e650 100644
---- a/fs/proc/kcore.c
-+++ b/fs/proc/kcore.c
-@@ -549,6 +549,8 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
+ real_fops = debugfs_real_fops(filp);
++ r = -EPERM;
++ if (debugfs_is_locked_down(inode, filp, real_fops))
++ goto out;
++
+ real_fops = fops_get(real_fops);
+ if (!real_fops) {
+ /* Huh? Module did not cleanup after itself at exit? */
+diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
+index 63a998c3f252..ce261e1765ff 100644
+--- a/fs/debugfs/inode.c
++++ b/fs/debugfs/inode.c
+@@ -32,6 +32,31 @@ static struct vfsmount *debugfs_mount;
+ static int debugfs_mount_count;
+ static bool debugfs_registered;
- static int open_kcore(struct inode *inode, struct file *filp)
- {
-+ if (kernel_is_locked_down("/proc/kcore"))
++/*
++ * Don't allow access attributes to be changed whilst the kernel is locked down
++ * so that we can use the file mode as part of a heuristic to determine whether
++ * to lock down individual files.
++ */
++static int debugfs_setattr(struct dentry *dentry, struct iattr *ia)
++{
++ if ((ia->ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID)) &&
++ kernel_is_locked_down("debugfs"))
+ return -EPERM;
- if (!capable(CAP_SYS_RAWIO))
- return -EPERM;
-
++ return simple_setattr(dentry, ia);
++}
++
++static const struct inode_operations debugfs_file_inode_operations = {
++ .setattr = debugfs_setattr,
++};
++static const struct inode_operations debugfs_dir_inode_operations = {
++ .lookup = simple_lookup,
++ .setattr = debugfs_setattr,
++};
++static const struct inode_operations debugfs_symlink_inode_operations = {
++ .get_link = simple_get_link,
++ .setattr = debugfs_setattr,
++};
++
+ static struct inode *debugfs_get_inode(struct super_block *sb)
+ {
+ struct inode *inode = new_inode(sb);
+@@ -359,6 +384,7 @@ static struct dentry *__debugfs_create_file(const char *name, umode_t mode,
+ inode->i_mode = mode;
+ inode->i_private = data;
+
++ inode->i_op = &debugfs_file_inode_operations;
+ inode->i_fop = proxy_fops;
+ dentry->d_fsdata = (void *)((unsigned long)real_fops |
+ DEBUGFS_FSDATA_IS_REAL_FOPS_BIT);
+@@ -516,7 +542,7 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent)
+ return failed_creating(dentry);
+
+ inode->i_mode = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO;
+- inode->i_op = &simple_dir_inode_operations;
++ inode->i_op = &debugfs_dir_inode_operations;
+ inode->i_fop = &simple_dir_operations;
+
+ /* directory inodes start off with i_nlink == 2 (for "." entry) */
+@@ -611,7 +637,7 @@ struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
+ return failed_creating(dentry);
+ }
+ inode->i_mode = S_IFLNK | S_IRWXUGO;
+- inode->i_op = &simple_symlink_inode_operations;
++ inode->i_op = &debugfs_symlink_inode_operations;
+ inode->i_link = link;
+ d_instantiate(dentry, inode);
+ return end_creating(dentry);
--
-2.13.6
+2.14.3
-From 2bce9ca3a24e0b35dcf665e6ba082f0a796c6aad Mon Sep 17 00:00:00 2001
+From 42b2c81c12a8e8139fc7252cf91151c37b5a0966 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Thu, 19 Oct 2017 14:18:53 +0100
-Subject: [PATCH 25/26] efi: Add an EFI_SECURE_BOOT flag to indicate secure
+Date: Tue, 27 Feb 2018 10:04:55 +0000
+Subject: [PATCH 29/31] efi: Add an EFI_SECURE_BOOT flag to indicate secure
boot mode
UEFI machines can be booted in Secure Boot mode. Add an EFI_SECURE_BOOT
@@ -1489,10 +2080,10 @@ cc: linux-efi@vger.kernel.org
create mode 100644 drivers/firmware/efi/secureboot.c
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 0957dd73d127..7c2162f9e769 100644
+index 1ae67e982af7..a7c240f00d78 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -1197,19 +1197,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -1150,19 +1150,7 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -1514,10 +2105,10 @@ index 0957dd73d127..7c2162f9e769 100644
reserve_initrd();
diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
-index 0329d319d89a..883f9f7eefc6 100644
+index cb805374f4bc..da2b3e37b9f0 100644
--- a/drivers/firmware/efi/Makefile
+++ b/drivers/firmware/efi/Makefile
-@@ -23,6 +23,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o
+@@ -24,6 +24,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o
obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o
obj-$(CONFIG_EFI_TEST) += test/
obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o
@@ -1570,10 +2161,10 @@ index 000000000000..9070055de0a1
+ }
+}
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 66f4a4e79f4b..7c7a7e33e4d1 100644
+index f5083aa72eae..79da76d14ca3 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
-@@ -1103,6 +1103,14 @@ extern int __init efi_setup_pcdp_console(char *);
+@@ -1142,6 +1142,14 @@ 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_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
@@ -1588,7 +2179,7 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644
#ifdef CONFIG_EFI
/*
-@@ -1115,6 +1123,7 @@ static inline bool efi_enabled(int feature)
+@@ -1154,6 +1162,7 @@ static inline bool efi_enabled(int feature)
extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused);
extern bool efi_is_table_address(unsigned long phys_addr);
@@ -1596,7 +2187,7 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644
#else
static inline bool efi_enabled(int feature)
{
-@@ -1133,6 +1142,7 @@ static inline bool efi_is_table_address(unsigned long phys_addr)
+@@ -1172,6 +1181,7 @@ static inline bool efi_is_table_address(unsigned long phys_addr)
{
return false;
}
@@ -1604,7 +2195,7 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644
#endif
extern int efi_status_to_err(efi_status_t status);
-@@ -1518,12 +1528,6 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg,
+@@ -1557,12 +1567,6 @@ 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);
@@ -1618,12 +2209,12 @@ index 66f4a4e79f4b..7c7a7e33e4d1 100644
#ifdef CONFIG_RESET_ATTACK_MITIGATION
--
-2.13.6
+2.14.3
-From 163d6a313399a4d50c5c7e42e3dd642ca8d495d7 Mon Sep 17 00:00:00 2001
+From d78bf678059f83e22bec8ada1a448e22b9b90203 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Thu, 19 Oct 2017 14:05:02 +0100
-Subject: [PATCH 26/26] efi: Lock down the kernel if booted in secure boot mode
+Date: Tue, 27 Feb 2018 10:04:55 +0000
+Subject: [PATCH 30/31] efi: Lock down the kernel if booted 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
@@ -1636,12 +2227,13 @@ Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
cc: linux-efi@vger.kernel.org
---
arch/x86/kernel/setup.c | 6 ++++--
+ fs/debugfs/inode.c | 2 +-
security/Kconfig | 14 ++++++++++++++
security/lock_down.c | 1 +
- 3 files changed, 19 insertions(+), 2 deletions(-)
+ 4 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 7c2162f9e769..4e38327efb2e 100644
+index a7c240f00d78..1277d1857c5c 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -64,6 +64,7 @@
@@ -1652,7 +2244,7 @@ index 7c2162f9e769..4e38327efb2e 100644
#include <linux/percpu.h>
#include <linux/crash_dump.h>
-@@ -1039,6 +1040,9 @@ void __init setup_arch(char **cmdline_p)
+@@ -997,6 +998,9 @@ void __init setup_arch(char **cmdline_p)
if (efi_enabled(EFI_BOOT))
efi_init();
@@ -1662,7 +2254,7 @@ index 7c2162f9e769..4e38327efb2e 100644
dmi_scan_machine();
dmi_memdev_walk();
dmi_set_dump_stack_arch_desc();
-@@ -1197,8 +1201,6 @@ void __init setup_arch(char **cmdline_p)
+@@ -1150,8 +1154,6 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -1671,11 +2263,24 @@ index 7c2162f9e769..4e38327efb2e 100644
reserve_initrd();
acpi_table_upgrade();
+diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
+index ce261e1765ff..7aff55b309a6 100644
+--- a/fs/debugfs/inode.c
++++ b/fs/debugfs/inode.c
+@@ -40,7 +40,7 @@ static bool debugfs_registered;
+ static int debugfs_setattr(struct dentry *dentry, struct iattr *ia)
+ {
+ if ((ia->ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID)) &&
+- kernel_is_locked_down("debugfs"))
++ kernel_is_locked_down("changing perms in debugfs"))
+ return -EPERM;
+ return simple_setattr(dentry, ia);
+ }
diff --git a/security/Kconfig b/security/Kconfig
-index 453cc89c198a..974731ac4f85 100644
+index 461d5acc3616..13fdada1ffc2 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -220,6 +220,20 @@ config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
+@@ -248,6 +248,20 @@ config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
Allow the lockdown on a kernel to be lifted, by pressing a SysRq key
combination on a wired keyboard.
@@ -1709,5 +2314,41 @@ index 2c6b00f0c229..527f7e51dc8d 100644
#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
--
-2.13.6
+2.14.3
+
+From 89bcd5b02f125335f74289c5f4ae03e9b893ab7f Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Wed, 28 Feb 2018 14:43:03 +0000
+Subject: [PATCH 31/31] lockdown: Print current->comm in restriction messages
+
+Print the content of current->comm in messages generated by lockdown to
+indicate a restriction that was hit. This makes it a bit easier to find
+out what caused the message.
+
+The message now patterned something like:
+
+ Lockdown: <comm>: <what> is restricted; see man kernel_lockdown.7
+
+Signed-off-by: David Howells <dhowells@redhat.com>
+---
+ security/lock_down.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/security/lock_down.c b/security/lock_down.c
+index 527f7e51dc8d..4745278e0f3b 100644
+--- a/security/lock_down.c
++++ b/security/lock_down.c
+@@ -60,8 +60,8 @@ void __init init_lockdown(void)
+ bool __kernel_is_locked_down(const char *what, bool first)
+ {
+ if (what && first && kernel_locked_down)
+- pr_notice("Lockdown: %s is restricted; see man kernel_lockdown.7\n",
+- what);
++ pr_notice("Lockdown: %s: %s is restricted; see man kernel_lockdown.7\n",
++ current->comm, what);
+ return kernel_locked_down;
+ }
+ EXPORT_SYMBOL(__kernel_is_locked_down);
+--
+2.14.3
diff --git a/filter-aarch64.sh b/filter-aarch64.sh
index 4adc0e7e4..0bc756108 100644
--- a/filter-aarch64.sh
+++ b/filter-aarch64.sh
@@ -9,10 +9,10 @@
# modifications to the overrides below. If something should be removed across
# all arches, remove it in the default instead of per-arch.
-driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia power ssb staging tty uio uwb w1"
ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom"
-drmdrvs="amd arm ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4"
+drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i sun4i-drm-hdmi tinydrm vc4"
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
diff --git a/filter-armv7hl.sh b/filter-armv7hl.sh
index fdad4070b..f021c0609 100644
--- a/filter-armv7hl.sh
+++ b/filter-armv7hl.sh
@@ -9,10 +9,10 @@
# modifications to the overrides below. If something should be removed across
# all arches, remove it in the default instead of per-arch.
-driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn media memstick message mwave nfc ntb pcmcia platform ssb staging tty uio uwb w1"
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn media memstick message mwave nfc ntb pcmcia ssb staging tty uio uwb w1"
ethdrvs="3com adaptec alteon altera amd atheros broadcom cadence chelsio cisco dec dlink emulex icplus mellanox micrel myricom natsemi neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis sun tehuti via wiznet xircom"
-drmdrvs="amd armada ast exynos etnaviv hisilicon i2c imx meson mgag200 msm omapdrm panel nouveau radeon rockchip sti sun4i tegra tilcdc tinydrm via vc4"
+drmdrvs="amd armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm omapdrm panel nouveau radeon rockchip sti sun4i sun4i-drm-hdmi tegra tilcdc tinydrm via vc4"
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr bq27xxx_battery_hdq"
diff --git a/filter-ppc64p7.sh b/filter-ppc64p7.sh
deleted file mode 100644
index 0d42b4741..000000000
--- a/filter-ppc64p7.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/bash
-
-# This is the ppc64p7 override file for the core/drivers package split. The
-# module directories listed here and in the generic list in filter-modules.sh
-# will be moved to the resulting kernel-modules package for this arch.
-# Anything not listed in those files will be in the kernel-core package.
-#
-# Please review the default list in filter-modules.sh before making
-# modifications to the overrides below. If something should be removed across
-# all arches, remove it in the default instead of per-arch.
-
-driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
-
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index a3152a988..6b55f3b4b 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -67,6 +67,7 @@ CONFIG_ACPI_NUMA=y
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_WATCHDOG=y
@@ -242,7 +243,7 @@ CONFIG_ARCH_THUNDER=y
CONFIG_ARCH_VEXPRESS=y
CONFIG_ARCH_XGENE=y
# CONFIG_ARCH_ZX is not set
-# CONFIG_ARCH_ZYNQMP is not set
+CONFIG_ARCH_ZYNQMP=y
# CONFIG_ARCNET is not set
CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
@@ -258,10 +259,11 @@ CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_LSE_ATOMICS=y
CONFIG_ARM64_PAN=y
-# CONFIG_ARM64_PMEM is not set
+CONFIG_ARM64_PMEM=y
CONFIG_ARM64_PTDUMP_DEBUGFS=y
CONFIG_ARM64_PTDUMP=y
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
+CONFIG_ARM64_RAS_EXTN=y
# CONFIG_ARM64_RELOC_TEST is not set
CONFIG_ARM64_SVE=y
CONFIG_ARM64_SW_TTBR0_PAN=y
@@ -275,7 +277,8 @@ CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
-# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
# CONFIG_ARM_BIG_LITTLE_CPUIDLE is not set
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -286,6 +289,7 @@ CONFIG_ARM_CPUIDLE=y
CONFIG_ARM_CRYPTO=y
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
CONFIG_ARM_DMA_USE_IOMMU=y
+CONFIG_ARM_DSU_PMU=m
# CONFIG_ARM_DT_BL_CPUFREQ is not set
CONFIG_ARM_GIC_V2M=y
CONFIG_ARM_GIC_V3_ITS=y
@@ -297,11 +301,14 @@ CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
# CONFIG_ARM_PSCI_CHECKER is not set
CONFIG_ARM_PSCI=y
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
# CONFIG_ARM_PTDUMP is not set
CONFIG_ARM_RK3399_DMC_DEVFREQ=m
CONFIG_ARM_SBSA_WATCHDOG=m
+CONFIG_ARM_SCPI_CPUFREQ=m
CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
+CONFIG_ARM_SDE_INTERFACE=y
CONFIG_ARM_SMMU_V3=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
@@ -333,6 +340,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -346,6 +354,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -542,6 +551,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -597,6 +607,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -653,7 +664,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -766,6 +777,7 @@ CONFIG_CAVIUM_ERRATUM_23144=y
CONFIG_CAVIUM_ERRATUM_23154=y
CONFIG_CAVIUM_ERRATUM_27456=y
CONFIG_CAVIUM_ERRATUM_30115=y
+CONFIG_CAVIUM_PTP=m
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
@@ -828,6 +840,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -853,6 +866,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1014,7 +1028,6 @@ CONFIG_CRYPTO_DEV_CHELSIO=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
-CONFIG_CRYPTO_DEV_MV_CESA=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
@@ -1072,11 +1085,14 @@ CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA3_ARM64=m
CONFIG_CRYPTO_SHA3=m
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
CONFIG_CRYPTO_SHA512_ARM64=m
CONFIG_CRYPTO_SHA512_ARM=y
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_SIMD=y
+CONFIG_CRYPTO_SM3_ARM64_CE=m
CONFIG_CRYPTO_SM3=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TEST=m
@@ -1245,6 +1261,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1267,7 +1284,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1291,8 +1308,8 @@ CONFIG_DRM_HDLCD=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_HISI_KIRIN=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1320,6 +1337,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1404,6 +1422,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1417,6 +1436,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1561,6 +1581,7 @@ CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
@@ -1647,12 +1668,14 @@ CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_XGI is not set
+CONFIG_FB_XILINX=m
CONFIG_FB=y
CONFIG_FCOE_FNIC=m
CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1702,6 +1725,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_FTRACE=y
+# CONFIG_FTWDT010_WATCHDOG is not set
# CONFIG_FUJITSU_ES is not set
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_FUNCTION_PROFILER=y
@@ -1774,7 +1798,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_MAX77620=m
-# CONFIG_GPIO_MB86S7X is not set
+CONFIG_GPIO_MB86S7X=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MOCKUP is not set
@@ -1784,9 +1808,11 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SX150X is not set
@@ -1807,6 +1833,7 @@ CONFIG_GPIO_XGENE=y
# CONFIG_GPIO_XILINX is not set
CONFIG_GPIO_XLP=m
# CONFIG_GPIO_XRA1403 is not set
+CONFIG_GPIO_ZYNQ=m
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1816,6 +1843,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
@@ -1863,6 +1891,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -2015,7 +2044,7 @@ CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_XGENE=m
CONFIG_HW_RANDOM=y
@@ -2057,6 +2086,7 @@ CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
@@ -2143,6 +2173,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2330,6 +2361,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2462,7 +2494,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2729,6 +2760,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2761,6 +2793,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2794,11 +2827,11 @@ CONFIG_LIBNVDIMM=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2951,6 +2984,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2999,6 +3033,7 @@ CONFIG_MFD_AXP20X=y
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3041,8 +3076,6 @@ CONFIG_MFD_QCOM_RPM=m
CONFIG_MFD_RK808=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3094,6 +3127,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3123,6 +3158,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3146,6 +3182,7 @@ CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CAVIUM_THUNDERX=m
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_EXYNOS is not set
CONFIG_MMC_DW_K3=m
@@ -3249,6 +3286,7 @@ CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -3288,6 +3326,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_NAND_ECC_BCH is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND is not set
+CONFIG_MTD_NAND_MARVELL=m
# CONFIG_MTD_NAND_OMAP2 is not set
# CONFIG_MTD_NAND_OXNAS is not set
CONFIG_MTD_NAND_PXA3xx=m
@@ -3407,9 +3446,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3594,6 +3635,7 @@ CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_NET_VENDOR_CAVIUM=y
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3627,6 +3669,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_NET_VENDOR_SNI=y
+CONFIG_NET_VENDOR_SOCIONEXT=y
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3705,6 +3748,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3766,6 +3813,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -4007,6 +4055,7 @@ CONFIG_PCIEAER=y
CONFIG_PCIE_ARMADA_8K=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST_ECAM=y
CONFIG_PCIE_DW_HOST=y
@@ -4021,6 +4070,7 @@ CONFIG_PCIEPORTBUS=y
CONFIG_PCIE_PTM=y
CONFIG_PCIE_QCOM=y
CONFIG_PCIE_ROCKCHIP=y
+CONFIG_PCIE_XILINX_NWL=y
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HERMES=m
CONFIG_PCI_HISI=y
@@ -4107,6 +4157,7 @@ CONFIG_PINCONF=y
CONFIG_PINCTRL_AMD=y
# CONFIG_PINCTRL_APQ8064 is not set
# CONFIG_PINCTRL_APQ8084 is not set
+CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4121,6 +4172,7 @@ CONFIG_PINCTRL_MAX77620=m
# CONFIG_PINCTRL_MDM9615 is not set
# CONFIG_PINCTRL_MESON8B is not set
# CONFIG_PINCTRL_MESON8 is not set
+CONFIG_PINCTRL_MESON_AXG=y
# CONFIG_PINCTRL_MESON_GXBB is not set
# CONFIG_PINCTRL_MESON_GXL is not set
# CONFIG_PINCTRL_MSM8660 is not set
@@ -4128,6 +4180,7 @@ CONFIG_PINCTRL_MSM8916=y
# CONFIG_PINCTRL_MSM8960 is not set
# CONFIG_PINCTRL_MSM8994 is not set
CONFIG_PINCTRL_MSM8996=y
+CONFIG_PINCTRL_MSM8998=m
# CONFIG_PINCTRL_MSM8X74 is not set
CONFIG_PINCTRL_MSM=y
CONFIG_PINCTRL_MVEBU=y
@@ -4254,9 +4307,11 @@ CONFIG_PWRSEQ_SIMPLE=y
# CONFIG_QCA7000 is not set
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+CONFIG_QCOM_A53PLL=m
CONFIG_QCOM_ADSP_PIL=m
CONFIG_QCOM_APCS_IPC=m
CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_CLK_APCS_MSM8916=m
CONFIG_QCOM_CLK_RPM=m
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
@@ -4349,6 +4404,7 @@ CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4455,7 +4511,6 @@ CONFIG_RENESAS_PHY=m
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
CONFIG_RESET_HISI=y
-# CONFIG_RESET_HSDK_V1 is not set
CONFIG_RESET_SIMPLE=y
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
@@ -4540,6 +4595,7 @@ CONFIG_RTC_DRV_ARMADA38X=m
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_CROS_EC=m
CONFIG_RTC_DRV_DS1286=m
# CONFIG_RTC_DRV_DS1302 is not set
CONFIG_RTC_DRV_DS1305=m
@@ -4621,7 +4677,7 @@ CONFIG_RTC_DRV_WM831X=m
CONFIG_RTC_DRV_WM8350=m
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_XGENE=m
-# CONFIG_RTC_DRV_ZYNQMP is not set
+CONFIG_RTC_DRV_ZYNQMP=m
# CONFIG_RTC_DS1685_PROC_REGS is not set
CONFIG_RTC_DS1685_SYSFS_REGS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
@@ -4658,6 +4714,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
@@ -4668,13 +4725,13 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
# CONFIG_SATA_INIC162X is not set
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
# CONFIG_SATA_NV is not set
CONFIG_SATA_PMP=y
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SIL24 is not set
+CONFIG_SATA_SIL24=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
@@ -4806,6 +4863,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4984,6 +5042,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -5082,6 +5141,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_PM_BUS=y
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -5094,6 +5154,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5318,6 +5380,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5330,6 +5393,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
CONFIG_SND_SOC_PCM512x_I2C=m
@@ -5360,6 +5425,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TEGRA20_AC97=m
CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
@@ -5380,9 +5446,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5452,6 +5521,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSE_RCU_POINTER=y
@@ -5499,8 +5571,9 @@ CONFIG_SPI_THUNDERX=m
# CONFIG_SPI_XILINX is not set
CONFIG_SPI_XLP=m
CONFIG_SPI=y
-# CONFIG_SPI_ZYNQMP_GQSPI is not set
+CONFIG_SPI_ZYNQMP_GQSPI=m
CONFIG_SPMI_MSM_PMIC_ARB=y
+CONFIG_SPMI_PMIC_CLKDIV=m
CONFIG_SPMI=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
@@ -5547,12 +5620,16 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_STUB_CLK_HI3660=y
CONFIG_STUB_CLK_HI6220=y
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
# CONFIG_SUN4I_EMAC is not set
CONFIG_SUN4I_GPADC=m
CONFIG_SUN50I_A64_CCU=y
# CONFIG_SUN8I_A83T_CCU is not set
-# CONFIG_SUN8I_DE2_CCU is not set
+CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R_CCU=y
# CONFIG_SUN8I_V3S_CCU is not set
@@ -5667,6 +5744,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
CONFIG_TEGRA_MC=y
CONFIG_TEGRA_SOCTHERM=m
+CONFIG_TEGRA_VDE=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
@@ -5730,11 +5808,12 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
+CONFIG_TINYDRM_ST7735R=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5893,6 +5972,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -6119,7 +6199,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
+CONFIG_USB_OTG_FSM=m
# CONFIG_USB_OTG_WHITELIST is not set
CONFIG_USB_OTG=y
# CONFIG_USB_OXU210HP_HCD is not set
@@ -6257,6 +6337,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_MVEBU=m
CONFIG_USB_XHCI_PLATFORM=m
@@ -6417,6 +6498,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6557,8 +6639,9 @@ CONFIG_XGENE_PMU=y
CONFIG_XGENE_SLIMPRO_MBOX=m
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
-# CONFIG_XILINX_ZYNQMP_DMA is not set
+CONFIG_XILINX_ZYNQMP_DMA=m
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
CONFIG_XILLYBUS_PCIE=m
@@ -6582,6 +6665,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 00f82def1..8bde68a83 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -67,6 +67,7 @@ CONFIG_ACPI_NUMA=y
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_PROCFS_POWER=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_WATCHDOG=y
@@ -242,7 +243,7 @@ CONFIG_ARCH_THUNDER=y
CONFIG_ARCH_VEXPRESS=y
CONFIG_ARCH_XGENE=y
# CONFIG_ARCH_ZX is not set
-# CONFIG_ARCH_ZYNQMP is not set
+CONFIG_ARCH_ZYNQMP=y
# CONFIG_ARCNET is not set
CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
@@ -258,10 +259,11 @@ CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_LSE_ATOMICS=y
CONFIG_ARM64_PAN=y
-# CONFIG_ARM64_PMEM is not set
+CONFIG_ARM64_PMEM=y
CONFIG_ARM64_PTDUMP_DEBUGFS=y
# CONFIG_ARM64_PTDUMP is not set
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
+CONFIG_ARM64_RAS_EXTN=y
# CONFIG_ARM64_RELOC_TEST is not set
CONFIG_ARM64_SVE=y
CONFIG_ARM64_SW_TTBR0_PAN=y
@@ -275,7 +277,8 @@ CONFIG_ARMADA_THERMAL=m
CONFIG_ARM_AMBA=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
-# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
# CONFIG_ARM_BIG_LITTLE_CPUIDLE is not set
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -286,6 +289,7 @@ CONFIG_ARM_CPUIDLE=y
CONFIG_ARM_CRYPTO=y
CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
CONFIG_ARM_DMA_USE_IOMMU=y
+CONFIG_ARM_DSU_PMU=m
# CONFIG_ARM_DT_BL_CPUFREQ is not set
CONFIG_ARM_GIC_V2M=y
CONFIG_ARM_GIC_V3_ITS=y
@@ -297,11 +301,14 @@ CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
# CONFIG_ARM_PSCI_CHECKER is not set
CONFIG_ARM_PSCI=y
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
# CONFIG_ARM_PTDUMP is not set
CONFIG_ARM_RK3399_DMC_DEVFREQ=m
CONFIG_ARM_SBSA_WATCHDOG=m
+CONFIG_ARM_SCPI_CPUFREQ=m
CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
+CONFIG_ARM_SDE_INTERFACE=y
CONFIG_ARM_SMMU_V3=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
@@ -333,6 +340,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -346,6 +354,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -542,6 +551,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -597,6 +607,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -653,7 +664,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -766,6 +777,7 @@ CONFIG_CAVIUM_ERRATUM_23144=y
CONFIG_CAVIUM_ERRATUM_23154=y
CONFIG_CAVIUM_ERRATUM_27456=y
CONFIG_CAVIUM_ERRATUM_30115=y
+CONFIG_CAVIUM_PTP=m
CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
@@ -828,6 +840,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -853,6 +866,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1013,7 +1027,6 @@ CONFIG_CRYPTO_DEV_CHELSIO=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
-CONFIG_CRYPTO_DEV_MV_CESA=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
@@ -1071,11 +1084,14 @@ CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA3_ARM64=m
CONFIG_CRYPTO_SHA3=m
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
CONFIG_CRYPTO_SHA512_ARM64=m
CONFIG_CRYPTO_SHA512_ARM=y
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_SIMD=y
+CONFIG_CRYPTO_SM3_ARM64_CE=m
CONFIG_CRYPTO_SM3=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TEST=m
@@ -1235,6 +1251,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1257,7 +1274,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1281,8 +1298,8 @@ CONFIG_DRM_HDLCD=m
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_HISI_KIRIN=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1310,6 +1327,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1394,6 +1412,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1407,6 +1426,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1630,12 +1650,14 @@ CONFIG_FB_VIRTUAL=m
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_XGI is not set
+CONFIG_FB_XILINX=m
CONFIG_FB=y
CONFIG_FCOE_FNIC=m
CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1685,6 +1707,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_FTRACE=y
+# CONFIG_FTWDT010_WATCHDOG is not set
# CONFIG_FUJITSU_ES is not set
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_FUNCTION_PROFILER=y
@@ -1757,7 +1780,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MAX732X is not set
CONFIG_GPIO_MAX77620=m
-# CONFIG_GPIO_MB86S7X is not set
+CONFIG_GPIO_MB86S7X=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_MOCKUP is not set
@@ -1767,9 +1790,11 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SX150X is not set
@@ -1790,6 +1815,7 @@ CONFIG_GPIO_XGENE=y
# CONFIG_GPIO_XILINX is not set
CONFIG_GPIO_XLP=m
# CONFIG_GPIO_XRA1403 is not set
+CONFIG_GPIO_ZYNQ=m
CONFIG_GREENASIA_FF=y
# CONFIG_GREYBUS is not set
# CONFIG_GS_FPGABOOT is not set
@@ -1799,6 +1825,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
@@ -1846,6 +1873,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1998,7 +2026,7 @@ CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM_XGENE=m
CONFIG_HW_RANDOM=y
@@ -2040,6 +2068,7 @@ CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
@@ -2126,6 +2155,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2313,6 +2343,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2445,7 +2476,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2710,6 +2740,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2742,6 +2773,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2775,11 +2807,11 @@ CONFIG_LIBNVDIMM=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2931,6 +2963,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2979,6 +3012,7 @@ CONFIG_MFD_AXP20X=y
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3021,8 +3055,6 @@ CONFIG_MFD_QCOM_RPM=m
CONFIG_MFD_RK808=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3074,6 +3106,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3103,6 +3137,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3126,6 +3161,7 @@ CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CAVIUM_THUNDERX=m
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_EXYNOS is not set
CONFIG_MMC_DW_K3=m
@@ -3228,6 +3264,7 @@ CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -3267,6 +3304,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_NAND_ECC_BCH is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND is not set
+CONFIG_MTD_NAND_MARVELL=m
# CONFIG_MTD_NAND_OMAP2 is not set
# CONFIG_MTD_NAND_OXNAS is not set
CONFIG_MTD_NAND_PXA3xx=m
@@ -3386,9 +3424,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3573,6 +3613,7 @@ CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_NET_VENDOR_CAVIUM=y
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3606,6 +3647,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_NET_VENDOR_SNI=y
+CONFIG_NET_VENDOR_SOCIONEXT=y
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3684,6 +3726,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3745,6 +3791,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3986,6 +4033,7 @@ CONFIG_PCIEAER=y
CONFIG_PCIE_ARMADA_8K=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST_ECAM=y
CONFIG_PCIE_DW_HOST=y
@@ -4000,6 +4048,7 @@ CONFIG_PCIEPORTBUS=y
CONFIG_PCIE_PTM=y
CONFIG_PCIE_QCOM=y
CONFIG_PCIE_ROCKCHIP=y
+CONFIG_PCIE_XILINX_NWL=y
# CONFIG_PCI_FTPCI100 is not set
CONFIG_PCI_HERMES=m
CONFIG_PCI_HISI=y
@@ -4086,6 +4135,7 @@ CONFIG_PINCONF=y
CONFIG_PINCTRL_AMD=y
# CONFIG_PINCTRL_APQ8064 is not set
# CONFIG_PINCTRL_APQ8084 is not set
+CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4100,6 +4150,7 @@ CONFIG_PINCTRL_MAX77620=m
# CONFIG_PINCTRL_MDM9615 is not set
# CONFIG_PINCTRL_MESON8B is not set
# CONFIG_PINCTRL_MESON8 is not set
+CONFIG_PINCTRL_MESON_AXG=y
# CONFIG_PINCTRL_MESON_GXBB is not set
# CONFIG_PINCTRL_MESON_GXL is not set
# CONFIG_PINCTRL_MSM8660 is not set
@@ -4107,6 +4158,7 @@ CONFIG_PINCTRL_MSM8916=y
# CONFIG_PINCTRL_MSM8960 is not set
# CONFIG_PINCTRL_MSM8994 is not set
CONFIG_PINCTRL_MSM8996=y
+CONFIG_PINCTRL_MSM8998=m
# CONFIG_PINCTRL_MSM8X74 is not set
CONFIG_PINCTRL_MSM=y
CONFIG_PINCTRL_MVEBU=y
@@ -4232,9 +4284,11 @@ CONFIG_PWRSEQ_SIMPLE=y
# CONFIG_QCA7000 is not set
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+CONFIG_QCOM_A53PLL=m
CONFIG_QCOM_ADSP_PIL=m
CONFIG_QCOM_APCS_IPC=m
CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_CLK_APCS_MSM8916=m
CONFIG_QCOM_CLK_RPM=m
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
@@ -4327,6 +4381,7 @@ CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4433,7 +4488,6 @@ CONFIG_RENESAS_PHY=m
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
CONFIG_RESET_HISI=y
-# CONFIG_RESET_HSDK_V1 is not set
CONFIG_RESET_SIMPLE=y
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
@@ -4518,6 +4572,7 @@ CONFIG_RTC_DRV_ARMADA38X=m
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_CROS_EC=m
CONFIG_RTC_DRV_DS1286=m
# CONFIG_RTC_DRV_DS1302 is not set
CONFIG_RTC_DRV_DS1305=m
@@ -4599,7 +4654,7 @@ CONFIG_RTC_DRV_WM831X=m
CONFIG_RTC_DRV_WM8350=m
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_XGENE=m
-# CONFIG_RTC_DRV_ZYNQMP is not set
+CONFIG_RTC_DRV_ZYNQMP=m
# CONFIG_RTC_DS1685_PROC_REGS is not set
CONFIG_RTC_DS1685_SYSFS_REGS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
@@ -4636,6 +4691,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
@@ -4646,13 +4702,13 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
# CONFIG_SATA_INIC162X is not set
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
# CONFIG_SATA_NV is not set
CONFIG_SATA_PMP=y
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SIL24 is not set
+CONFIG_SATA_SIL24=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
@@ -4784,6 +4840,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4962,6 +5019,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -5060,6 +5118,7 @@ CONFIG_SH_ETH=m
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_PM_BUS=y
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -5072,6 +5131,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5295,6 +5356,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5307,6 +5369,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
CONFIG_SND_SOC_PCM512x_I2C=m
@@ -5337,6 +5401,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TEGRA20_AC97=m
CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
@@ -5357,9 +5422,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5429,6 +5497,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSE_RCU_POINTER=y
@@ -5476,8 +5547,9 @@ CONFIG_SPI_THUNDERX=m
# CONFIG_SPI_XILINX is not set
CONFIG_SPI_XLP=m
CONFIG_SPI=y
-# CONFIG_SPI_ZYNQMP_GQSPI is not set
+CONFIG_SPI_ZYNQMP_GQSPI=m
CONFIG_SPMI_MSM_PMIC_ARB=y
+CONFIG_SPMI_PMIC_CLKDIV=m
CONFIG_SPMI=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
@@ -5524,12 +5596,16 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_STUB_CLK_HI3660=y
CONFIG_STUB_CLK_HI6220=y
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
# CONFIG_SUN4I_EMAC is not set
CONFIG_SUN4I_GPADC=m
CONFIG_SUN50I_A64_CCU=y
# CONFIG_SUN8I_A83T_CCU is not set
-# CONFIG_SUN8I_DE2_CCU is not set
+CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R_CCU=y
# CONFIG_SUN8I_V3S_CCU is not set
@@ -5644,6 +5720,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
CONFIG_TEGRA_MC=y
CONFIG_TEGRA_SOCTHERM=m
+CONFIG_TEGRA_VDE=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
@@ -5707,11 +5784,12 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
+CONFIG_TINYDRM_ST7735R=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5870,6 +5948,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -6096,7 +6175,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
+CONFIG_USB_OTG_FSM=m
# CONFIG_USB_OTG_WHITELIST is not set
CONFIG_USB_OTG=y
# CONFIG_USB_OXU210HP_HCD is not set
@@ -6234,6 +6313,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_MVEBU=m
CONFIG_USB_XHCI_PLATFORM=m
@@ -6394,6 +6474,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6534,8 +6615,9 @@ CONFIG_XGENE_PMU=y
CONFIG_XGENE_SLIMPRO_MBOX=m
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
-# CONFIG_XILINX_ZYNQMP_DMA is not set
+CONFIG_XILINX_ZYNQMP_DMA=m
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
CONFIG_XILLYBUS_PCIE=m
@@ -6559,6 +6641,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 44809c3e7..30c4497ba 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
CONFIG_ACPI_DEBUG=y
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -257,6 +258,7 @@ CONFIG_ARM_AMBA=y
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
@@ -317,6 +319,7 @@ CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
# CONFIG_ARM_PSCI_CHECKER is not set
CONFIG_ARM_PSCI=y
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
# CONFIG_ARM_PTDUMP is not set
CONFIG_ARM_RK3399_DMC_DEVFREQ=m
CONFIG_ARM_SCPI_CPUFREQ=m
@@ -361,6 +364,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -374,6 +378,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -581,6 +586,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -637,6 +643,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -692,7 +699,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -871,6 +878,7 @@ CONFIG_CHARGER_TWL4030=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -896,6 +904,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1057,7 +1066,6 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
-CONFIG_CRYPTO_DEV_MV_CESA=m
# CONFIG_CRYPTO_DEV_MXC_SCC is not set
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
@@ -1230,6 +1238,7 @@ CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM=y
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+CONFIG_DEBUG_WX=y
# CONFIG_DECNET is not set
CONFIG_DEFAULT_CFQ=y
CONFIG_DEFAULT_HOSTNAME="(none)"
@@ -1306,6 +1315,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1329,7 +1339,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1348,22 +1358,19 @@ CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_ETNAVIV=m
# CONFIG_DRM_ETNAVIV_REGISTER_LOGGING is not set
+CONFIG_DRM_ETNAVIV_THERMAL=y
CONFIG_DRM_EXYNOS5433_DECON=y
CONFIG_DRM_EXYNOS7_DECON=y
CONFIG_DRM_EXYNOS_DPI=y
CONFIG_DRM_EXYNOS_DP=y
CONFIG_DRM_EXYNOS_DSI=y
-CONFIG_DRM_EXYNOS_FIMC=y
CONFIG_DRM_EXYNOS_FIMD=y
CONFIG_DRM_EXYNOS_G2D=y
-CONFIG_DRM_EXYNOS_GSC=y
CONFIG_DRM_EXYNOS_HDMI=y
# CONFIG_DRM_EXYNOS_IOMMU is not set
-CONFIG_DRM_EXYNOS_IPP=y
CONFIG_DRM_EXYNOS=m
CONFIG_DRM_EXYNOS_MIC=y
CONFIG_DRM_EXYNOS_MIXER=y
-CONFIG_DRM_EXYNOS_ROTATOR=y
CONFIG_DRM_EXYNOS_VIDI=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
@@ -1372,8 +1379,8 @@ CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1423,6 +1430,7 @@ CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m
CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m
CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m
CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1513,6 +1521,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1526,6 +1535,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1680,6 +1690,7 @@ CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
@@ -1778,6 +1789,7 @@ CONFIG_FCOE=m
CONFIG_FEALNX=m
CONFIG_FEC=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1825,6 +1837,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_FTRACE=y
+# CONFIG_FTWDT010_WATCHDOG is not set
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_FUNCTION_PROFILER=y
CONFIG_FUNCTION_TRACER=y
@@ -1910,9 +1923,11 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
CONFIG_GPIO_STMPE=y
@@ -1949,6 +1964,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
CONFIG_HAVE_ARM_TWD=y
@@ -1998,6 +2014,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -2140,6 +2157,7 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
@@ -2148,7 +2166,7 @@ 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_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_OMAP=m
@@ -2189,6 +2207,7 @@ CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
CONFIG_I2C_EXYNOS5=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
@@ -2276,6 +2295,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2482,6 +2502,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2614,7 +2635,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2903,6 +2923,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2939,6 +2960,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2971,11 +2993,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -3148,6 +3170,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -3196,6 +3219,7 @@ CONFIG_MFD_AXP20X=y
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3239,8 +3263,6 @@ CONFIG_MFD_QCOM_RPM=m
CONFIG_MFD_RK808=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_SEC_CORE=y
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3256,7 +3278,7 @@ CONFIG_MFD_T7L66XB=y
CONFIG_MFD_TC6387XB=y
# CONFIG_MFD_TC6393XB is not set
CONFIG_MFD_TI_AM335X_TSCADC=m
-# CONFIG_MFD_TI_LMU is not set
+CONFIG_MFD_TI_LMU=m
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TIMBERDALE is not set
@@ -3294,6 +3316,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3323,6 +3347,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3345,6 +3370,7 @@ CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_DW_EXYNOS=m
CONFIG_MMC_DW_K3=m
@@ -3461,6 +3487,7 @@ CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -3512,6 +3539,7 @@ CONFIG_MTD_NAND_GPIO=m
CONFIG_MTD_NAND_GPMI_NAND=m
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_MARVELL=m
# CONFIG_MTD_NAND_MTK is not set
CONFIG_MTD_NAND_MXC=m
CONFIG_MTD_NAND_NANDSIM=m
@@ -3649,9 +3677,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3836,6 +3866,7 @@ CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3870,6 +3901,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3948,6 +3980,10 @@ CONFIG_NFC_WILINK=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -4009,6 +4045,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -4294,6 +4331,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIE_ARMADA_8K is not set
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
@@ -4404,6 +4442,7 @@ CONFIG_PINCTRL_APQ8084=m
CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
+CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4426,6 +4465,7 @@ CONFIG_PINCTRL_MSM8916=m
CONFIG_PINCTRL_MSM8960=m
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
+CONFIG_PINCTRL_MSM8998=m
CONFIG_PINCTRL_MSM8X74=m
CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_PALMAS=y
@@ -4483,7 +4523,6 @@ CONFIG_POWER_RESET_AS3722=y
# CONFIG_POWER_RESET_BRCMSTB is not set
CONFIG_POWER_RESET_GPIO_RESTART=y
CONFIG_POWER_RESET_GPIO=y
-CONFIG_POWER_RESET_IMX=y
# CONFIG_POWER_RESET_LTC2952 is not set
CONFIG_POWER_RESET_MSM=y
# CONFIG_POWER_RESET_QNAP is not set
@@ -4572,9 +4611,11 @@ CONFIG_PXA_DMA=y
# CONFIG_QCA7000 is not set
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+CONFIG_QCOM_A53PLL=m
CONFIG_QCOM_ADSP_PIL=m
CONFIG_QCOM_APCS_IPC=m
CONFIG_QCOM_BAM_DMA=m
+CONFIG_QCOM_CLK_APCS_MSM8916=m
CONFIG_QCOM_CLK_RPM=m
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
@@ -4660,6 +4701,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4723,6 +4765,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=m
CONFIG_REGULATOR_ISL6271A=m
CONFIG_REGULATOR_ISL9305=m
+CONFIG_REGULATOR_LM363X=m
CONFIG_REGULATOR_LP3971=m
CONFIG_REGULATOR_LP3972=m
CONFIG_REGULATOR_LP872X=y
@@ -4789,7 +4832,7 @@ CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
-# CONFIG_RESET_HSDK_V1 is not set
+CONFIG_RESET_IMX7=y
CONFIG_RESET_SIMPLE=y
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
@@ -4875,6 +4918,7 @@ CONFIG_RTC_DRV_AS3722=y
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_CROS_EC=m
CONFIG_RTC_DRV_DA9052=m
CONFIG_RTC_DRV_DA9055=m
CONFIG_RTC_DRV_DS1286=m
@@ -4926,6 +4970,7 @@ CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_MV=m
CONFIG_RTC_DRV_MXC=m
+CONFIG_RTC_DRV_MXC_V2=m
CONFIG_RTC_DRV_OMAP=m
CONFIG_RTC_DRV_PALMAS=m
CONFIG_RTC_DRV_PCF2123=m
@@ -5010,6 +5055,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
CONFIG_S3C2410_WATCHDOG=m
# CONFIG_SAMPLES is not set
@@ -5022,13 +5068,13 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
CONFIG_SATA_HIGHBANK=m
# CONFIG_SATA_INIC162X is not set
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
# CONFIG_SATA_NV is not set
CONFIG_SATA_PMP=y
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SIL24 is not set
+CONFIG_SATA_SIL24=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
@@ -5160,6 +5206,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -5341,6 +5388,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -5369,7 +5417,8 @@ 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_OMAP=m
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
@@ -5408,8 +5457,7 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_OMAP_CONSOLE=y
-CONFIG_SERIAL_OMAP=y
+# CONFIG_SERIAL_OMAP is not set
# CONFIG_SERIAL_PCH_UART is not set
CONFIG_SERIAL_PXA_CONSOLE=y
CONFIG_SERIAL_PXA=y
@@ -5458,6 +5506,7 @@ CONFIG_SI7020=m
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_PM_BUS=y
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -5470,6 +5519,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5736,6 +5787,7 @@ CONFIG_SND_SOC_LPASS_CPU=m
CONFIG_SND_SOC_LPASS_PLATFORM=m
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX98090=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5750,6 +5802,8 @@ CONFIG_SND_SOC_ODROID=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
CONFIG_SND_SOC_PCM512x_I2C=m
@@ -5786,6 +5840,7 @@ CONFIG_SND_SOC_STORM=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TEGRA20_AC97=m
CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
@@ -5807,9 +5862,12 @@ CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
CONFIG_SND_SOC_TWL4030=m
CONFIG_SND_SOC_TWL6040=m
# CONFIG_SND_SOC_WM8510 is not set
@@ -5910,6 +5968,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPEAKUP is not set
# CONFIG_SPI_ALTERA is not set
@@ -5965,6 +6026,7 @@ CONFIG_SPI=y
# CONFIG_SPI_ZYNQMP_GQSPI is not set
CONFIG_SPMI=m
CONFIG_SPMI_MSM_PMIC_ARB=m
+CONFIG_SPMI_PMIC_CLKDIV=m
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_LZ4=y
@@ -6021,6 +6083,9 @@ CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_THERMAL=m
CONFIG_ST_THERMAL_MEMMAP=m
# CONFIG_ST_THERMAL_SYSCFG is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
@@ -6146,6 +6211,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
CONFIG_TEGRA_MC=y
CONFIG_TEGRA_SOCTHERM=m
+CONFIG_TEGRA_VDE=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
@@ -6212,16 +6278,18 @@ CONFIG_TI_DAVINCI_EMAC=m
CONFIG_TI_DAVINCI_MDIO=m
CONFIG_TI_EDMA=y
CONFIG_TI_EMIF=m
+CONFIG_TI_EMIF_SRAM=m
CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
+CONFIG_TINYDRM_ST7735R=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -6393,6 +6461,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -6636,7 +6705,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
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
+CONFIG_USB_OTG_FSM=m
# CONFIG_USB_OTG_WHITELIST is not set
CONFIG_USB_OTG=y
# CONFIG_USB_OXU210HP_HCD is not set
@@ -6775,6 +6844,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_MVEBU=m
CONFIG_USB_XHCI_PLATFORM=m
@@ -6969,6 +7039,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -7109,6 +7180,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_EMACLITE=m
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_XILINX_XADC=m
# CONFIG_XILINX_ZYNQMP_DMA is not set
@@ -7138,6 +7210,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 3f63064dd..3c997c879 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
CONFIG_ACPI_DEBUG=y
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -248,6 +249,7 @@ CONFIG_ARM_AMBA=y
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
@@ -306,6 +308,7 @@ CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
# CONFIG_ARM_PSCI_CHECKER is not set
CONFIG_ARM_PSCI=y
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
# CONFIG_ARM_PTDUMP is not set
CONFIG_ARM_RK3399_DMC_DEVFREQ=m
CONFIG_ARM_SCPI_CPUFREQ=m
@@ -347,6 +350,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -360,6 +364,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -557,6 +562,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -613,6 +619,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -668,7 +675,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -843,6 +850,7 @@ CONFIG_CHARGER_TPS65090=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -868,6 +876,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1013,7 +1022,6 @@ CONFIG_CRYPTO_DEV_EXYNOS_RNG=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
-CONFIG_CRYPTO_DEV_MV_CESA=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1176,6 +1184,7 @@ CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM=y
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+CONFIG_DEBUG_WX=y
# CONFIG_DECNET is not set
CONFIG_DEFAULT_CFQ=y
CONFIG_DEFAULT_HOSTNAME="(none)"
@@ -1251,6 +1260,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1274,7 +1284,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1296,17 +1306,13 @@ CONFIG_DRM_EXYNOS7_DECON=y
CONFIG_DRM_EXYNOS_DPI=y
CONFIG_DRM_EXYNOS_DP=y
CONFIG_DRM_EXYNOS_DSI=y
-CONFIG_DRM_EXYNOS_FIMC=y
CONFIG_DRM_EXYNOS_FIMD=y
CONFIG_DRM_EXYNOS_G2D=y
-CONFIG_DRM_EXYNOS_GSC=y
CONFIG_DRM_EXYNOS_HDMI=y
# CONFIG_DRM_EXYNOS_IOMMU is not set
-CONFIG_DRM_EXYNOS_IPP=y
CONFIG_DRM_EXYNOS=m
CONFIG_DRM_EXYNOS_MIC=y
CONFIG_DRM_EXYNOS_MIXER=y
-CONFIG_DRM_EXYNOS_ROTATOR=y
CONFIG_DRM_EXYNOS_VIDI=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
@@ -1315,8 +1321,8 @@ CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1337,6 +1343,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_OMAP is not set
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1426,6 +1433,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1439,6 +1447,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1509,6 +1518,7 @@ CONFIG_EDAC_HIGHBANK_L2=m
CONFIG_EDAC_HIGHBANK_MC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_MV64X60=m
+CONFIG_EDAC_TI=m
CONFIG_EDAC=y
CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
@@ -1589,6 +1599,7 @@ CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
@@ -1683,6 +1694,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1730,6 +1742,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_FTRACE=y
+# CONFIG_FTWDT010_WATCHDOG is not set
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_FUNCTION_PROFILER=y
CONFIG_FUNCTION_TRACER=y
@@ -1811,9 +1824,11 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SX150X is not set
@@ -1843,6 +1858,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
@@ -1892,6 +1908,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -2036,11 +2053,12 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -2080,6 +2098,7 @@ CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
CONFIG_I2C_EXYNOS5=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
@@ -2162,6 +2181,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2351,6 +2371,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2483,7 +2504,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2767,6 +2787,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2801,6 +2822,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2833,11 +2855,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -3001,6 +3023,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -3049,6 +3072,7 @@ CONFIG_MFD_AXP20X=y
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3090,8 +3114,6 @@ CONFIG_MFD_MAX8997=y
CONFIG_MFD_RK808=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_SEC_CORE=y
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3144,6 +3166,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3173,6 +3197,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3195,6 +3220,7 @@ CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_DW_EXYNOS=m
CONFIG_MMC_DW_K3=m
@@ -3292,6 +3318,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -3343,6 +3370,7 @@ CONFIG_MTD_NAND_FSMC=m
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_MARVELL=m
# CONFIG_MTD_NAND_MTK is not set
CONFIG_MTD_NAND_MXC=m
CONFIG_MTD_NAND_NANDSIM=m
@@ -3473,9 +3501,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3660,6 +3690,7 @@ CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3693,6 +3724,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3769,6 +3801,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3830,6 +3866,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -4075,6 +4112,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIE_ARMADA_8K is not set
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
@@ -4172,6 +4210,7 @@ CONFIG_PINCONF=y
CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
+CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4190,6 +4229,7 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_MESON_GXL is not set
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
+CONFIG_PINCTRL_MSM8998=m
CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
@@ -4318,6 +4358,8 @@ CONFIG_PWRSEQ_SIMPLE=y
# CONFIG_QCA7000 is not set
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+CONFIG_QCOM_A53PLL=m
+CONFIG_QCOM_CLK_APCS_MSM8916=m
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_GLINK_SSR is not set
@@ -4384,6 +4426,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4497,7 +4540,6 @@ CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
-# CONFIG_RESET_HSDK_V1 is not set
CONFIG_RESET_SIMPLE=y
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
@@ -4581,6 +4623,7 @@ CONFIG_RTC_DRV_AS3722=y
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_CROS_EC=m
CONFIG_RTC_DRV_DS1286=m
# CONFIG_RTC_DRV_DS1302 is not set
CONFIG_RTC_DRV_DS1305=m
@@ -4704,6 +4747,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
CONFIG_S3C2410_WATCHDOG=m
# CONFIG_SAMPLES is not set
@@ -4716,13 +4760,13 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
CONFIG_SATA_HIGHBANK=m
# CONFIG_SATA_INIC162X is not set
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
# CONFIG_SATA_NV is not set
CONFIG_SATA_PMP=y
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SIL24 is not set
+CONFIG_SATA_SIL24=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
@@ -4854,6 +4898,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -5031,6 +5076,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -5135,6 +5181,7 @@ CONFIG_SI7020=m
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_PM_BUS=y
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -5147,6 +5194,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5379,6 +5428,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX98090=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5392,6 +5442,8 @@ CONFIG_SND_SOC_ODROID=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
CONFIG_SND_SOC_PCM512x_I2C=m
@@ -5425,6 +5477,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# CONFIG_SND_SOC_TEGRA20_AC97 is not set
CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
@@ -5445,9 +5498,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5526,6 +5582,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPEAKUP is not set
# CONFIG_SPI_ALTERA is not set
@@ -5573,6 +5632,7 @@ CONFIG_SPI_TEGRA114=m
CONFIG_SPI=y
# CONFIG_SPI_ZYNQMP_GQSPI is not set
# CONFIG_SPMI is not set
+CONFIG_SPMI_PMIC_CLKDIV=m
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_LZ4=y
@@ -5620,6 +5680,9 @@ CONFIG_STRICT_MODULE_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
@@ -5746,6 +5809,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
CONFIG_TEGRA_MC=y
CONFIG_TEGRA_SOCTHERM=m
+CONFIG_TEGRA_VDE=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
@@ -5809,12 +5873,13 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TI_MESSAGE_MANAGER=m
+CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
+CONFIG_TINYDRM_ST7735R=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5977,6 +6042,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -6207,7 +6273,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
+CONFIG_USB_OTG_FSM=m
# CONFIG_USB_OTG_WHITELIST is not set
CONFIG_USB_OTG=y
# CONFIG_USB_OXU210HP_HCD is not set
@@ -6345,6 +6411,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_MVEBU=m
CONFIG_USB_XHCI_PLATFORM=m
@@ -6520,6 +6587,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6670,6 +6738,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_XILINX_ZYNQMP_DMA is not set
CONFIG_XILLYBUS=m
@@ -6698,6 +6767,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index b42356542..d605f4b07 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -247,6 +248,7 @@ CONFIG_ARM_AMBA=y
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
@@ -305,6 +307,7 @@ CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
# CONFIG_ARM_PSCI_CHECKER is not set
CONFIG_ARM_PSCI=y
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
# CONFIG_ARM_PTDUMP is not set
CONFIG_ARM_RK3399_DMC_DEVFREQ=m
CONFIG_ARM_SCPI_CPUFREQ=m
@@ -346,6 +349,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -359,6 +363,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -556,6 +561,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -612,6 +618,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -667,7 +674,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -842,6 +849,7 @@ CONFIG_CHARGER_TPS65090=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -867,6 +875,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1011,7 +1020,6 @@ CONFIG_CRYPTO_DEV_EXYNOS_RNG=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
-CONFIG_CRYPTO_DEV_MV_CESA=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1166,6 +1174,7 @@ CONFIG_DEBUG_SHIRQ=y
CONFIG_DEBUG_VM=y
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+CONFIG_DEBUG_WX=y
# CONFIG_DECNET is not set
CONFIG_DEFAULT_CFQ=y
CONFIG_DEFAULT_HOSTNAME="(none)"
@@ -1241,6 +1250,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1264,7 +1274,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1286,17 +1296,13 @@ CONFIG_DRM_EXYNOS7_DECON=y
CONFIG_DRM_EXYNOS_DPI=y
CONFIG_DRM_EXYNOS_DP=y
CONFIG_DRM_EXYNOS_DSI=y
-CONFIG_DRM_EXYNOS_FIMC=y
CONFIG_DRM_EXYNOS_FIMD=y
CONFIG_DRM_EXYNOS_G2D=y
-CONFIG_DRM_EXYNOS_GSC=y
CONFIG_DRM_EXYNOS_HDMI=y
# CONFIG_DRM_EXYNOS_IOMMU is not set
-CONFIG_DRM_EXYNOS_IPP=y
CONFIG_DRM_EXYNOS=m
CONFIG_DRM_EXYNOS_MIC=y
CONFIG_DRM_EXYNOS_MIXER=y
-CONFIG_DRM_EXYNOS_ROTATOR=y
CONFIG_DRM_EXYNOS_VIDI=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
@@ -1305,8 +1311,8 @@ CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1327,6 +1333,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_OMAP is not set
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1416,6 +1423,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1429,6 +1437,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1499,6 +1508,7 @@ CONFIG_EDAC_HIGHBANK_L2=m
CONFIG_EDAC_HIGHBANK_MC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_MV64X60=m
+CONFIG_EDAC_TI=m
CONFIG_EDAC=y
CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
@@ -1666,6 +1676,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1713,6 +1724,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_FTRACE=y
+# CONFIG_FTWDT010_WATCHDOG is not set
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_FUNCTION_PROFILER=y
CONFIG_FUNCTION_TRACER=y
@@ -1794,9 +1806,11 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SX150X is not set
@@ -1826,6 +1840,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
@@ -1875,6 +1890,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -2019,11 +2035,12 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -2063,6 +2080,7 @@ CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
CONFIG_I2C_EXYNOS5=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
@@ -2145,6 +2163,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2334,6 +2353,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2466,7 +2486,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2748,6 +2767,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2782,6 +2802,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2814,11 +2835,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2981,6 +3002,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -3029,6 +3051,7 @@ CONFIG_MFD_AXP20X=y
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3070,8 +3093,6 @@ CONFIG_MFD_MAX8997=y
CONFIG_MFD_RK808=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_SEC_CORE=y
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3124,6 +3145,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3153,6 +3176,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3175,6 +3199,7 @@ CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_DW_EXYNOS=m
CONFIG_MMC_DW_K3=m
@@ -3271,6 +3296,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -3322,6 +3348,7 @@ CONFIG_MTD_NAND_FSMC=m
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_MARVELL=m
# CONFIG_MTD_NAND_MTK is not set
CONFIG_MTD_NAND_MXC=m
CONFIG_MTD_NAND_NANDSIM=m
@@ -3452,9 +3479,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3639,6 +3668,7 @@ CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3672,6 +3702,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3748,6 +3779,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3809,6 +3844,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -4054,6 +4090,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIE_ARMADA_8K is not set
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
@@ -4151,6 +4188,7 @@ CONFIG_PINCONF=y
CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
+CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4169,6 +4207,7 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_MESON_GXL is not set
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
+CONFIG_PINCTRL_MSM8998=m
CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
@@ -4296,6 +4335,8 @@ CONFIG_PWRSEQ_SIMPLE=y
# CONFIG_QCA7000 is not set
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+CONFIG_QCOM_A53PLL=m
+CONFIG_QCOM_CLK_APCS_MSM8916=m
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_GLINK_SSR is not set
@@ -4362,6 +4403,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4400,7 +4442,7 @@ CONFIG_RD_XZ=y
# CONFIG_READABLE_ASM is not set
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
-# CONFIG_REFCOUNT_FULL is not set
+CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
@@ -4475,7 +4517,6 @@ CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
-# CONFIG_RESET_HSDK_V1 is not set
CONFIG_RESET_SIMPLE=y
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
@@ -4559,6 +4600,7 @@ CONFIG_RTC_DRV_AS3722=y
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_CROS_EC=m
CONFIG_RTC_DRV_DS1286=m
# CONFIG_RTC_DRV_DS1302 is not set
CONFIG_RTC_DRV_DS1305=m
@@ -4682,6 +4724,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
CONFIG_S3C2410_WATCHDOG=m
# CONFIG_SAMPLES is not set
@@ -4694,13 +4737,13 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
CONFIG_SATA_HIGHBANK=m
# CONFIG_SATA_INIC162X is not set
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
# CONFIG_SATA_NV is not set
CONFIG_SATA_PMP=y
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SIL24 is not set
+CONFIG_SATA_SIL24=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
@@ -4832,6 +4875,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -5009,6 +5053,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -5113,6 +5158,7 @@ CONFIG_SI7020=m
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_PM_BUS=y
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -5125,6 +5171,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5356,6 +5404,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX98090=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5369,6 +5418,8 @@ CONFIG_SND_SOC_ODROID=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
CONFIG_SND_SOC_PCM512x_I2C=m
@@ -5402,6 +5453,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# CONFIG_SND_SOC_TEGRA20_AC97 is not set
CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
@@ -5422,9 +5474,12 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5503,6 +5558,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPEAKUP is not set
# CONFIG_SPI_ALTERA is not set
@@ -5550,6 +5608,7 @@ CONFIG_SPI_TEGRA114=m
CONFIG_SPI=y
# CONFIG_SPI_ZYNQMP_GQSPI is not set
# CONFIG_SPMI is not set
+CONFIG_SPMI_PMIC_CLKDIV=m
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_LZ4=y
@@ -5597,6 +5656,9 @@ CONFIG_STRICT_MODULE_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
@@ -5723,6 +5785,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
CONFIG_TEGRA_MC=y
CONFIG_TEGRA_SOCTHERM=m
+CONFIG_TEGRA_VDE=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
@@ -5786,12 +5849,13 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TI_MESSAGE_MANAGER=m
+CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
+CONFIG_TINYDRM_ST7735R=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5954,6 +6018,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -6184,7 +6249,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
+CONFIG_USB_OTG_FSM=m
# CONFIG_USB_OTG_WHITELIST is not set
CONFIG_USB_OTG=y
# CONFIG_USB_OXU210HP_HCD is not set
@@ -6322,6 +6387,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_MVEBU=m
CONFIG_USB_XHCI_PLATFORM=m
@@ -6497,6 +6563,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6647,6 +6714,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_XILINX_ZYNQMP_DMA is not set
CONFIG_XILLYBUS=m
@@ -6675,6 +6743,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 8f496beb2..ef0c0f2cb 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -256,6 +257,7 @@ CONFIG_ARM_AMBA=y
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
@@ -316,6 +318,7 @@ CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
# CONFIG_ARM_PSCI_CHECKER is not set
CONFIG_ARM_PSCI=y
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
# CONFIG_ARM_PTDUMP is not set
CONFIG_ARM_RK3399_DMC_DEVFREQ=m
CONFIG_ARM_SCPI_CPUFREQ=m
@@ -360,6 +363,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -373,6 +377,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -580,6 +585,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -636,6 +642,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -691,7 +698,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -870,6 +877,7 @@ CONFIG_CHARGER_TWL4030=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -895,6 +903,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1055,7 +1064,6 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
-CONFIG_CRYPTO_DEV_MV_CESA=m
# CONFIG_CRYPTO_DEV_MXC_SCC is not set
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
@@ -1220,6 +1228,7 @@ CONFIG_DEBUG_SHIRQ=y
CONFIG_DEBUG_VM=y
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+CONFIG_DEBUG_WX=y
# CONFIG_DECNET is not set
CONFIG_DEFAULT_CFQ=y
CONFIG_DEFAULT_HOSTNAME="(none)"
@@ -1296,6 +1305,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1319,7 +1329,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1338,22 +1348,19 @@ CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_ETNAVIV=m
# CONFIG_DRM_ETNAVIV_REGISTER_LOGGING is not set
+CONFIG_DRM_ETNAVIV_THERMAL=y
CONFIG_DRM_EXYNOS5433_DECON=y
CONFIG_DRM_EXYNOS7_DECON=y
CONFIG_DRM_EXYNOS_DPI=y
CONFIG_DRM_EXYNOS_DP=y
CONFIG_DRM_EXYNOS_DSI=y
-CONFIG_DRM_EXYNOS_FIMC=y
CONFIG_DRM_EXYNOS_FIMD=y
CONFIG_DRM_EXYNOS_G2D=y
-CONFIG_DRM_EXYNOS_GSC=y
CONFIG_DRM_EXYNOS_HDMI=y
# CONFIG_DRM_EXYNOS_IOMMU is not set
-CONFIG_DRM_EXYNOS_IPP=y
CONFIG_DRM_EXYNOS=m
CONFIG_DRM_EXYNOS_MIC=y
CONFIG_DRM_EXYNOS_MIXER=y
-CONFIG_DRM_EXYNOS_ROTATOR=y
CONFIG_DRM_EXYNOS_VIDI=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
@@ -1362,8 +1369,8 @@ CONFIG_DRM_HDLCD=m
# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1413,6 +1420,7 @@ CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m
CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m
CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m
CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m
+CONFIG_DRM_PANEL_ILITEK_IL9322=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -1503,6 +1511,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1516,6 +1525,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1761,6 +1771,7 @@ CONFIG_FCOE=m
CONFIG_FEALNX=m
CONFIG_FEC=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1808,6 +1819,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_FTRACE_STARTUP_TEST is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_FTRACE=y
+# CONFIG_FTWDT010_WATCHDOG is not set
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_FUNCTION_PROFILER=y
CONFIG_FUNCTION_TRACER=y
@@ -1893,9 +1905,11 @@ CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SCH311X is not set
CONFIG_GPIO_STMPE=y
@@ -1932,6 +1946,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HAVE_ARM_ARCH_TIMER=y
CONFIG_HAVE_ARM_TWD=y
@@ -1981,6 +1996,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -2123,6 +2139,7 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
@@ -2131,7 +2148,7 @@ 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_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_OMAP=m
@@ -2172,6 +2189,7 @@ CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_EMEV2 is not set
CONFIG_I2C_EXYNOS5=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
CONFIG_I2C_GPIO=m
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_HID=m
@@ -2259,6 +2277,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2465,6 +2484,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2597,7 +2617,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2884,6 +2903,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2920,6 +2940,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2952,11 +2973,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -3128,6 +3149,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -3176,6 +3198,7 @@ CONFIG_MFD_AXP20X=y
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CROS_EC_CHARDEV=m
CONFIG_MFD_CROS_EC_I2C=m
CONFIG_MFD_CROS_EC=m
CONFIG_MFD_CROS_EC_SPI=m
@@ -3219,8 +3242,6 @@ CONFIG_MFD_QCOM_RPM=m
CONFIG_MFD_RK808=m
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
CONFIG_MFD_SEC_CORE=y
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3236,7 +3257,7 @@ CONFIG_MFD_T7L66XB=y
CONFIG_MFD_TC6387XB=y
# CONFIG_MFD_TC6393XB is not set
CONFIG_MFD_TI_AM335X_TSCADC=m
-# CONFIG_MFD_TI_LMU is not set
+CONFIG_MFD_TI_LMU=m
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
# CONFIG_MFD_TIMBERDALE is not set
@@ -3274,6 +3295,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3303,6 +3326,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3325,6 +3349,7 @@ CONFIG_MMC_BCM2835=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_DW_EXYNOS=m
CONFIG_MMC_DW_K3=m
@@ -3440,6 +3465,7 @@ CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
@@ -3491,6 +3517,7 @@ CONFIG_MTD_NAND_GPIO=m
CONFIG_MTD_NAND_GPMI_NAND=m
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND_MARVELL=m
# CONFIG_MTD_NAND_MTK is not set
CONFIG_MTD_NAND_MXC=m
CONFIG_MTD_NAND_NANDSIM=m
@@ -3628,9 +3655,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3815,6 +3844,7 @@ CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_NET_VENDOR_CIRRUS is not set
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3849,6 +3879,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3927,6 +3958,10 @@ CONFIG_NFC_WILINK=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3988,6 +4023,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -4273,6 +4309,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIE_ARMADA_8K is not set
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
@@ -4383,6 +4420,7 @@ CONFIG_PINCTRL_APQ8084=m
CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
+CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4405,6 +4443,7 @@ CONFIG_PINCTRL_MSM8916=m
CONFIG_PINCTRL_MSM8960=m
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
+CONFIG_PINCTRL_MSM8998=m
CONFIG_PINCTRL_MSM8X74=m
CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_PALMAS=y
@@ -4462,7 +4501,6 @@ CONFIG_POWER_RESET_AS3722=y
# CONFIG_POWER_RESET_BRCMSTB is not set
CONFIG_POWER_RESET_GPIO_RESTART=y
CONFIG_POWER_RESET_GPIO=y
-CONFIG_POWER_RESET_IMX=y
# CONFIG_POWER_RESET_LTC2952 is not set
CONFIG_POWER_RESET_MSM=y
# CONFIG_POWER_RESET_QNAP is not set
@@ -4550,9 +4588,11 @@ CONFIG_PXA_DMA=y
# CONFIG_QCA7000 is not set
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+CONFIG_QCOM_A53PLL=m
CONFIG_QCOM_ADSP_PIL=m
CONFIG_QCOM_APCS_IPC=m
CONFIG_QCOM_BAM_DMA=m
+CONFIG_QCOM_CLK_APCS_MSM8916=m
CONFIG_QCOM_CLK_RPM=m
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
@@ -4638,6 +4678,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4677,7 +4718,7 @@ CONFIG_RD_XZ=y
# CONFIG_READABLE_ASM is not set
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
-# CONFIG_REFCOUNT_FULL is not set
+CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
@@ -4701,6 +4742,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=m
CONFIG_REGULATOR_ISL6271A=m
CONFIG_REGULATOR_ISL9305=m
+CONFIG_REGULATOR_LM363X=m
CONFIG_REGULATOR_LP3971=m
CONFIG_REGULATOR_LP3972=m
CONFIG_REGULATOR_LP872X=y
@@ -4767,7 +4809,7 @@ CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
-# CONFIG_RESET_HSDK_V1 is not set
+CONFIG_RESET_IMX7=y
CONFIG_RESET_SIMPLE=y
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
@@ -4853,6 +4895,7 @@ CONFIG_RTC_DRV_AS3722=y
CONFIG_RTC_DRV_BQ32K=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_CROS_EC=m
CONFIG_RTC_DRV_DA9052=m
CONFIG_RTC_DRV_DA9055=m
CONFIG_RTC_DRV_DS1286=m
@@ -4904,6 +4947,7 @@ CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_MV=m
CONFIG_RTC_DRV_MXC=m
+CONFIG_RTC_DRV_MXC_V2=m
CONFIG_RTC_DRV_OMAP=m
CONFIG_RTC_DRV_PALMAS=m
CONFIG_RTC_DRV_PCF2123=m
@@ -4988,6 +5032,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
CONFIG_S3C2410_WATCHDOG=m
# CONFIG_SAMPLES is not set
@@ -5000,13 +5045,13 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
CONFIG_SATA_HIGHBANK=m
# CONFIG_SATA_INIC162X is not set
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
# CONFIG_SATA_NV is not set
CONFIG_SATA_PMP=y
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_SIL24 is not set
+CONFIG_SATA_SIL24=m
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
@@ -5138,6 +5183,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -5319,6 +5365,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -5347,7 +5394,8 @@ 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_OMAP=m
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
@@ -5386,8 +5434,7 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_OMAP_CONSOLE=y
-CONFIG_SERIAL_OMAP=y
+# CONFIG_SERIAL_OMAP is not set
# CONFIG_SERIAL_PCH_UART is not set
CONFIG_SERIAL_PXA_CONSOLE=y
CONFIG_SERIAL_PXA=y
@@ -5436,6 +5483,7 @@ CONFIG_SI7020=m
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_PM_BUS=y
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -5448,6 +5496,8 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5713,6 +5763,7 @@ CONFIG_SND_SOC_LPASS_CPU=m
CONFIG_SND_SOC_LPASS_PLATFORM=m
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX98090=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5727,6 +5778,8 @@ CONFIG_SND_SOC_ODROID=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
CONFIG_SND_SOC_PCM512x_I2C=m
@@ -5763,6 +5816,7 @@ CONFIG_SND_SOC_STORM=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TEGRA20_AC97=m
CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
@@ -5784,9 +5838,12 @@ CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
CONFIG_SND_SOC_TWL4030=m
CONFIG_SND_SOC_TWL6040=m
# CONFIG_SND_SOC_WM8510 is not set
@@ -5887,6 +5944,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPEAKUP is not set
# CONFIG_SPI_ALTERA is not set
@@ -5942,6 +6002,7 @@ CONFIG_SPI=y
# CONFIG_SPI_ZYNQMP_GQSPI is not set
CONFIG_SPMI=m
CONFIG_SPMI_MSM_PMIC_ARB=m
+CONFIG_SPMI_PMIC_CLKDIV=m
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_LZ4=y
@@ -5998,6 +6059,9 @@ CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_THERMAL=m
CONFIG_ST_THERMAL_MEMMAP=m
# CONFIG_ST_THERMAL_SYSCFG is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
@@ -6123,6 +6187,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_TEGRA_IVC=y
CONFIG_TEGRA_MC=y
CONFIG_TEGRA_SOCTHERM=m
+CONFIG_TEGRA_VDE=m
CONFIG_TEGRA_WATCHDOG=m
CONFIG_TEHUTI=m
CONFIG_TELCLOCK=m
@@ -6189,16 +6254,18 @@ CONFIG_TI_DAVINCI_EMAC=m
CONFIG_TI_DAVINCI_MDIO=m
CONFIG_TI_EDMA=y
CONFIG_TI_EMIF=m
+CONFIG_TI_EMIF_SRAM=m
CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
+CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
+CONFIG_TINYDRM_ST7735R=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -6370,6 +6437,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -6613,7 +6681,7 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
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
+CONFIG_USB_OTG_FSM=m
# CONFIG_USB_OTG_WHITELIST is not set
CONFIG_USB_OTG=y
# CONFIG_USB_OXU210HP_HCD is not set
@@ -6752,6 +6820,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_MVEBU=m
CONFIG_USB_XHCI_PLATFORM=m
@@ -6946,6 +7015,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -7086,6 +7156,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_EMACLITE=m
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_XILINX_XADC=m
# CONFIG_XILINX_ZYNQMP_DMA is not set
@@ -7115,6 +7186,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index 7d2eeff10..ce6300276 100644
--- a/kernel-i686-PAE.config
+++ b/kernel-i686-PAE.config
@@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_ACERHDF=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACER_WMI=m
# CONFIG_ACORN_PARTITION is not set
CONFIG_ACPI_AC=y
@@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m
@@ -250,6 +252,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -263,6 +266,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -448,6 +452,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -502,6 +507,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -557,7 +563,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -719,6 +725,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -746,6 +753,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1030,8 +1038,8 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_RBTN=m
# CONFIG_DELL_RBU is not set
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_SMM=m
-CONFIG_DELL_SMBIOS_WMI=m
+CONFIG_DELL_SMBIOS_SMM=y
+CONFIG_DELL_SMBIOS_WMI=y
CONFIG_DELL_SMO8800=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_WMI_LED=m
@@ -1091,6 +1099,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1115,7 +1124,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1135,8 +1144,8 @@ CONFIG_DRM_GMA500=m
# CONFIG_DRM_GMA600 is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1161,6 +1170,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1235,6 +1245,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1248,6 +1259,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1512,6 +1524,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1609,6 +1622,7 @@ CONFIG_GIGASET_M105=m
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
# CONFIG_GP2AP020A00F is not set
+CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_104_DIO_48E is not set
# CONFIG_GPIO_104_IDI_48 is not set
# CONFIG_GPIO_104_IDIO_16 is not set
@@ -1647,6 +1661,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1677,6 +1692,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HD44780=m
@@ -1724,6 +1740,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1880,7 +1897,7 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
@@ -2009,6 +2026,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2159,6 +2177,7 @@ CONFIG_INT340X_THERMAL=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_ATOMISP is not set
CONFIG_INTEL_BXT_PMIC_THERMAL=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
@@ -2221,6 +2240,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2354,7 +2374,6 @@ CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2513,7 +2532,7 @@ CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
-# CONFIG_KEXEC_VERIFY_SIG is not set
+# CONFIG_KEXEC_SIG is not set
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
@@ -2620,6 +2639,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2652,6 +2672,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2686,11 +2707,11 @@ CONFIG_LIBNVDIMM=y
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2846,6 +2867,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2923,8 +2945,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2975,6 +2995,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3007,6 +3029,8 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLX_PLATFORM=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3027,6 +3051,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -3116,6 +3141,7 @@ CONFIG_MSI_WMI=m
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3262,9 +3288,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3448,6 +3476,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3480,6 +3509,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3559,6 +3589,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3620,6 +3654,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3864,6 +3899,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3939,6 +3975,7 @@ CONFIG_PHYSICAL_START=0x400000
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_AXP209 is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4125,6 +4162,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RANDOMIZE_BASE=y
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4183,7 +4221,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4359,6 +4396,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
CONFIG_SAMSUNG_LAPTOP=m
@@ -4370,7 +4408,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4511,6 +4549,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
# CONFIG_SCx200_ACB is not set
# CONFIG_SCx200 is not set
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4700,6 +4739,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4788,6 +4828,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_SILEAD_DMI is not set
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4800,6 +4841,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5042,8 +5084,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5056,6 +5099,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -5075,13 +5120,17 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5109,6 +5158,7 @@ CONFIG_SND_SOC_WM8524=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5146,6 +5196,10 @@ CONFIG_SONYPI_COMPAT=y
CONFIG_SONYPI=m
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE_INTEL=m
+CONFIG_SOUNDWIRE=y
CONFIG_SP5100_TCO=m
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSE_RCU_POINTER=y
@@ -5222,6 +5276,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5381,7 +5438,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5544,6 +5600,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5566,7 +5623,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5853,6 +5909,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5874,6 +5931,7 @@ CONFIG_UWB_WHCI=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_VBOXGUEST is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -5940,6 +5998,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IPU3_CIO2=m
# CONFIG_VIDEO_IVTV_ALSA is not set
# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
@@ -5995,12 +6054,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6163,12 +6223,11 @@ CONFIG_X86_PAT=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_X86_PMEM_LEGACY=y
+CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_PM_TIMER=y
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_PPRO_FENCE is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_REBOOTFIXUPS is not set
@@ -6227,6 +6286,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -6253,6 +6313,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config
index 66eff4bd4..a95ad4116 100644
--- a/kernel-i686-PAEdebug.config
+++ b/kernel-i686-PAEdebug.config
@@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_ACERHDF=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACER_WMI=m
# CONFIG_ACORN_PARTITION is not set
CONFIG_ACPI_AC=y
@@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m
@@ -251,6 +253,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -264,6 +267,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -449,6 +453,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -503,6 +508,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -558,7 +564,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -720,6 +726,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -747,6 +754,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1040,8 +1048,8 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_RBTN=m
# CONFIG_DELL_RBU is not set
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_SMM=m
-CONFIG_DELL_SMBIOS_WMI=m
+CONFIG_DELL_SMBIOS_SMM=y
+CONFIG_DELL_SMBIOS_WMI=y
CONFIG_DELL_SMO8800=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_WMI_LED=m
@@ -1102,6 +1110,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1126,7 +1135,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1146,8 +1155,8 @@ CONFIG_DRM_GMA500=m
# CONFIG_DRM_GMA600 is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1172,6 +1181,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1246,6 +1256,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1259,6 +1270,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1424,6 +1436,7 @@ CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_F71808E_WDT=m
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
@@ -1530,6 +1543,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1627,6 +1641,7 @@ CONFIG_GIGASET_M105=m
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
# CONFIG_GP2AP020A00F is not set
+CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_104_DIO_48E is not set
# CONFIG_GPIO_104_IDI_48 is not set
# CONFIG_GPIO_104_IDIO_16 is not set
@@ -1665,6 +1680,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1695,6 +1711,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HD44780=m
@@ -1742,6 +1759,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1898,7 +1916,7 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
@@ -2027,6 +2045,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2177,6 +2196,7 @@ CONFIG_INT340X_THERMAL=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_ATOMISP is not set
CONFIG_INTEL_BXT_PMIC_THERMAL=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
@@ -2239,6 +2259,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2372,7 +2393,6 @@ CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2533,7 +2553,7 @@ CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
-# CONFIG_KEXEC_VERIFY_SIG is not set
+# CONFIG_KEXEC_SIG is not set
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
@@ -2640,6 +2660,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2672,6 +2693,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2706,11 +2728,11 @@ CONFIG_LIBNVDIMM=y
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2866,6 +2888,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2943,8 +2966,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2995,6 +3016,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3027,6 +3050,8 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLX_PLATFORM=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3047,6 +3072,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -3136,6 +3162,7 @@ CONFIG_MSI_WMI=m
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3282,9 +3309,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3468,6 +3497,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3500,6 +3530,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3579,6 +3610,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3640,6 +3675,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3884,6 +3920,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3959,6 +3996,7 @@ CONFIG_PHYSICAL_START=0x400000
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_AXP209 is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4146,6 +4184,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RANDOMIZE_BASE=y
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4204,7 +4243,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4380,6 +4418,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
CONFIG_SAMSUNG_LAPTOP=m
@@ -4391,7 +4430,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4532,6 +4571,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
# CONFIG_SCx200_ACB is not set
# CONFIG_SCx200 is not set
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4721,6 +4761,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4809,6 +4850,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_SILEAD_DMI is not set
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4821,6 +4863,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5064,8 +5107,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5078,6 +5122,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -5097,13 +5143,17 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5131,6 +5181,7 @@ CONFIG_SND_SOC_WM8524=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5168,6 +5219,10 @@ CONFIG_SONYPI_COMPAT=y
CONFIG_SONYPI=m
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE_INTEL=m
+CONFIG_SOUNDWIRE=y
CONFIG_SP5100_TCO=m
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSE_RCU_POINTER=y
@@ -5244,6 +5299,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5403,7 +5461,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5566,6 +5623,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5588,7 +5646,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5875,6 +5932,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5896,6 +5954,7 @@ CONFIG_UWB_WHCI=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_VBOXGUEST is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -5962,6 +6021,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IPU3_CIO2=m
# CONFIG_VIDEO_IVTV_ALSA is not set
# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
@@ -6017,12 +6077,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6185,12 +6246,11 @@ CONFIG_X86_PAT=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_X86_PMEM_LEGACY=y
+CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_PM_TIMER=y
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_PPRO_FENCE is not set
CONFIG_X86_PTDUMP=y
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_REBOOTFIXUPS is not set
@@ -6249,6 +6309,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -6275,6 +6336,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config
index ae3147718..3d4eaa2b4 100644
--- a/kernel-i686-debug.config
+++ b/kernel-i686-debug.config
@@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_ACERHDF=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACER_WMI=m
# CONFIG_ACORN_PARTITION is not set
CONFIG_ACPI_AC=y
@@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m
@@ -251,6 +253,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -264,6 +267,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -449,6 +453,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -503,6 +508,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -558,7 +564,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -720,6 +726,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -747,6 +754,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1040,8 +1048,8 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_RBTN=m
# CONFIG_DELL_RBU is not set
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_SMM=m
-CONFIG_DELL_SMBIOS_WMI=m
+CONFIG_DELL_SMBIOS_SMM=y
+CONFIG_DELL_SMBIOS_WMI=y
CONFIG_DELL_SMO8800=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_WMI_LED=m
@@ -1102,6 +1110,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1126,7 +1135,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1146,8 +1155,8 @@ CONFIG_DRM_GMA500=m
# CONFIG_DRM_GMA600 is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1172,6 +1181,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1246,6 +1256,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1259,6 +1270,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1424,6 +1436,7 @@ CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_F71808E_WDT=m
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
@@ -1530,6 +1543,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1627,6 +1641,7 @@ CONFIG_GIGASET_M105=m
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
# CONFIG_GP2AP020A00F is not set
+CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_104_DIO_48E is not set
# CONFIG_GPIO_104_IDI_48 is not set
# CONFIG_GPIO_104_IDIO_16 is not set
@@ -1665,6 +1680,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1695,6 +1711,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HD44780=m
@@ -1742,6 +1759,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1898,7 +1916,7 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
@@ -2027,6 +2045,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2177,6 +2196,7 @@ CONFIG_INT340X_THERMAL=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_ATOMISP is not set
CONFIG_INTEL_BXT_PMIC_THERMAL=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
@@ -2239,6 +2259,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2372,7 +2393,6 @@ CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2533,7 +2553,7 @@ CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
-# CONFIG_KEXEC_VERIFY_SIG is not set
+# CONFIG_KEXEC_SIG is not set
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
@@ -2640,6 +2660,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2672,6 +2693,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2706,11 +2728,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2866,6 +2888,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2943,8 +2966,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2995,6 +3016,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3027,6 +3050,8 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLX_PLATFORM=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3047,6 +3072,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -3136,6 +3162,7 @@ CONFIG_MSI_WMI=m
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3282,9 +3309,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3468,6 +3497,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3500,6 +3530,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3579,6 +3610,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3640,6 +3675,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3884,6 +3920,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3959,6 +3996,7 @@ CONFIG_PHYSICAL_START=0x400000
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_AXP209 is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4146,6 +4184,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RANDOMIZE_BASE=y
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4204,7 +4243,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4380,6 +4418,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
CONFIG_SAMSUNG_LAPTOP=m
@@ -4391,7 +4430,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4532,6 +4571,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
# CONFIG_SCx200_ACB is not set
# CONFIG_SCx200 is not set
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4721,6 +4761,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4809,6 +4850,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_SILEAD_DMI is not set
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4821,6 +4863,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5064,8 +5107,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5078,6 +5122,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -5097,13 +5143,17 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5131,6 +5181,7 @@ CONFIG_SND_SOC_WM8524=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5168,6 +5219,10 @@ CONFIG_SONYPI_COMPAT=y
CONFIG_SONYPI=m
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE_INTEL=m
+CONFIG_SOUNDWIRE=y
CONFIG_SP5100_TCO=m
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSE_RCU_POINTER=y
@@ -5244,6 +5299,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5403,7 +5461,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5566,6 +5623,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5588,7 +5646,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5875,6 +5932,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5896,6 +5954,7 @@ CONFIG_UWB_WHCI=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_VBOXGUEST is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -5962,6 +6021,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IPU3_CIO2=m
# CONFIG_VIDEO_IVTV_ALSA is not set
# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
@@ -6017,12 +6077,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6185,12 +6246,11 @@ CONFIG_X86_PAT=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_X86_PMEM_LEGACY=y
+CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_PM_TIMER=y
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_PPRO_FENCE is not set
CONFIG_X86_PTDUMP=y
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_REBOOTFIXUPS is not set
@@ -6247,6 +6307,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -6273,6 +6334,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-i686.config b/kernel-i686.config
index e6a81c4fb..1f56ec555 100644
--- a/kernel-i686.config
+++ b/kernel-i686.config
@@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_ACERHDF=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACER_WMI=m
# CONFIG_ACORN_PARTITION is not set
CONFIG_ACPI_AC=y
@@ -75,6 +76,7 @@ CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m
@@ -250,6 +252,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -263,6 +266,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -448,6 +452,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -502,6 +507,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -557,7 +563,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -719,6 +725,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -746,6 +753,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1030,8 +1038,8 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_RBTN=m
# CONFIG_DELL_RBU is not set
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_SMM=m
-CONFIG_DELL_SMBIOS_WMI=m
+CONFIG_DELL_SMBIOS_SMM=y
+CONFIG_DELL_SMBIOS_WMI=y
CONFIG_DELL_SMO8800=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_WMI_LED=m
@@ -1091,6 +1099,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1115,7 +1124,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1135,8 +1144,8 @@ CONFIG_DRM_GMA500=m
# CONFIG_DRM_GMA600 is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1161,6 +1170,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1235,6 +1245,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1248,6 +1259,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1512,6 +1524,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1609,6 +1622,7 @@ CONFIG_GIGASET_M105=m
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
# CONFIG_GP2AP020A00F is not set
+CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_104_DIO_48E is not set
# CONFIG_GPIO_104_IDI_48 is not set
# CONFIG_GPIO_104_IDIO_16 is not set
@@ -1647,6 +1661,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1677,6 +1692,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HD44780=m
@@ -1724,6 +1740,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1880,7 +1897,7 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
@@ -2009,6 +2026,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2159,6 +2177,7 @@ CONFIG_INT340X_THERMAL=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_ATOMISP is not set
CONFIG_INTEL_BXT_PMIC_THERMAL=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
@@ -2221,6 +2240,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2354,7 +2374,6 @@ CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2513,7 +2532,7 @@ CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZO is not set
# CONFIG_KEXEC_FILE is not set
# CONFIG_KEXEC_JUMP is not set
-# CONFIG_KEXEC_VERIFY_SIG is not set
+# CONFIG_KEXEC_SIG is not set
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
@@ -2620,6 +2639,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2652,6 +2672,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2686,11 +2707,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2846,6 +2867,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2923,8 +2945,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2975,6 +2995,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3007,6 +3029,8 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLX_PLATFORM=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3027,6 +3051,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -3116,6 +3141,7 @@ CONFIG_MSI_WMI=m
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3262,9 +3288,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3448,6 +3476,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3480,6 +3509,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3559,6 +3589,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3620,6 +3654,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3864,6 +3899,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3939,6 +3975,7 @@ CONFIG_PHYSICAL_START=0x400000
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_AXP209 is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4125,6 +4162,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RANDOMIZE_BASE=y
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4183,7 +4221,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4359,6 +4396,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
CONFIG_SAMSUNG_LAPTOP=m
@@ -4370,7 +4408,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4511,6 +4549,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
# CONFIG_SCx200_ACB is not set
# CONFIG_SCx200 is not set
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4700,6 +4739,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4788,6 +4828,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_SILEAD_DMI is not set
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4800,6 +4841,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5042,8 +5084,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5056,6 +5099,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -5075,13 +5120,17 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5109,6 +5158,7 @@ CONFIG_SND_SOC_WM8524=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5146,6 +5196,10 @@ CONFIG_SONYPI_COMPAT=y
CONFIG_SONYPI=m
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE_INTEL=m
+CONFIG_SOUNDWIRE=y
CONFIG_SP5100_TCO=m
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSE_RCU_POINTER=y
@@ -5222,6 +5276,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5381,7 +5438,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5544,6 +5600,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5566,7 +5623,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5853,6 +5909,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5874,6 +5931,7 @@ CONFIG_UWB_WHCI=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_VBOXGUEST is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -5940,6 +5998,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IPU3_CIO2=m
# CONFIG_VIDEO_IVTV_ALSA is not set
# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
@@ -5995,12 +6054,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6163,12 +6223,11 @@ CONFIG_X86_PAT=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_X86_PMEM_LEGACY=y
+CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_PM_TIMER=y
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_PPRO_FENCE is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_REBOOTFIXUPS is not set
@@ -6225,6 +6284,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -6251,6 +6311,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index 1d25295e0..c60de3905 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
CONFIG_ACPI_DEBUG=y
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -199,6 +200,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -212,6 +214,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -418,6 +421,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_NS87415 is not set
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -488,6 +492,7 @@ CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -543,7 +548,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -705,6 +710,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -730,6 +736,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1069,6 +1076,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1091,7 +1099,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1108,8 +1116,8 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1125,6 +1133,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1198,6 +1207,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1211,6 +1221,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1341,6 +1352,7 @@ CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FA_DUMP=y
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
# CONFIG_FAIL_IOMMU is not set
CONFIG_FAIL_IO_TIMEOUT=y
@@ -1442,6 +1454,7 @@ CONFIG_FCOE=m
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
# CONFIG_FHCI_DEBUG is not set
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1570,6 +1583,7 @@ CONFIG_GPIOLIB=y
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1598,6 +1612,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
@@ -1645,6 +1660,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1794,7 +1810,7 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -1918,6 +1934,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2090,6 +2107,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2219,7 +2237,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2484,6 +2501,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2517,6 +2535,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2549,11 +2568,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2704,6 +2723,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2782,8 +2802,6 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2832,6 +2850,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -2861,6 +2881,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -2881,6 +2902,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -2965,6 +2987,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3101,9 +3124,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3286,6 +3311,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3320,6 +3346,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3398,6 +3425,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3459,6 +3490,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3581,6 +3613,7 @@ CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
# CONFIG_OCFS2_FS_STATS is not set
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCXL=m
# CONFIG_OF_OVERLAY is not set
# CONFIG_OF_UNITTEST is not set
# CONFIG_OMFS_FS is not set
@@ -3680,6 +3713,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3741,6 +3775,7 @@ CONFIG_PHYLINK=m
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
+# CONFIG_PINCTRL_AXP209 is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -3815,7 +3850,9 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_PID is not set
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
+# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set
CONFIG_PPC_MAPLE=y
+CONFIG_PPC_MEM_KEYS=y
# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
@@ -3954,6 +3991,7 @@ CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4012,7 +4050,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4191,6 +4228,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
@@ -4200,7 +4238,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4345,6 +4383,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4520,6 +4559,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4611,6 +4651,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_GPIO=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4623,6 +4664,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -4848,6 +4890,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# 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_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -4860,6 +4903,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -4879,13 +4924,17 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -4946,6 +4995,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPAPR_TCE_IOMMU=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_VMEMMAP=y
@@ -5019,6 +5071,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5170,7 +5225,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5329,6 +5383,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5351,7 +5406,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5642,6 +5696,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5786,6 +5841,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -5932,6 +5988,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_EMACLITE is not set
CONFIG_XILINX_GMII2RGMII=m
# CONFIG_XILINX_LL_TEMAC is not set
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -5959,6 +6016,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index d5d3f5d0d..c05534927 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -198,6 +199,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -211,6 +213,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -417,6 +420,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -487,6 +491,7 @@ CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -542,7 +547,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -704,6 +709,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -729,6 +735,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1058,6 +1065,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1080,7 +1088,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1097,8 +1105,8 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1114,6 +1122,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1187,6 +1196,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1200,6 +1210,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1424,6 +1435,7 @@ CONFIG_FCOE=m
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
# CONFIG_FHCI_DEBUG is not set
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1552,6 +1564,7 @@ CONFIG_GPIOLIB=y
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1580,6 +1593,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
@@ -1627,6 +1641,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1776,7 +1791,7 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -1900,6 +1915,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2072,6 +2088,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2201,7 +2218,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2464,6 +2480,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2497,6 +2514,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2529,11 +2547,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2683,6 +2701,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2761,8 +2780,6 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2811,6 +2828,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -2840,6 +2859,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -2860,6 +2880,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -2943,6 +2964,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3079,9 +3101,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3264,6 +3288,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3298,6 +3323,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3376,6 +3402,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3437,6 +3467,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3559,6 +3590,7 @@ CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
# CONFIG_OCFS2_FS_STATS is not set
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCXL=m
# CONFIG_OF_OVERLAY is not set
# CONFIG_OF_UNITTEST is not set
# CONFIG_OMFS_FS is not set
@@ -3658,6 +3690,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3719,6 +3752,7 @@ CONFIG_PHYLINK=m
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
+# CONFIG_PINCTRL_AXP209 is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -3793,7 +3827,9 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_PID is not set
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
+# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set
CONFIG_PPC_MAPLE=y
+CONFIG_PPC_MEM_KEYS=y
# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
@@ -3931,6 +3967,7 @@ CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -3989,7 +4026,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4168,6 +4204,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
@@ -4177,7 +4214,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4322,6 +4359,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4497,6 +4535,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4588,6 +4627,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_GPIO=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4600,6 +4640,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -4824,6 +4865,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# 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_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -4836,6 +4878,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -4855,13 +4899,17 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -4922,6 +4970,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPAPR_TCE_IOMMU=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_VMEMMAP=y
@@ -4995,6 +5046,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5146,7 +5200,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5305,6 +5358,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5327,7 +5381,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5618,6 +5671,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5762,6 +5816,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -5908,6 +5963,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_EMACLITE is not set
CONFIG_XILINX_GMII2RGMII=m
# CONFIG_XILINX_LL_TEMAC is not set
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -5935,6 +5991,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index 6d5162f79..e7246aafb 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
CONFIG_ACPI_DEBUG=y
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -192,6 +193,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -205,6 +207,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -388,6 +391,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -444,6 +448,7 @@ CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -499,7 +504,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -661,6 +666,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -686,6 +692,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1024,6 +1031,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1046,7 +1054,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1063,8 +1071,8 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1080,6 +1088,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1153,6 +1162,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1166,6 +1176,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1294,6 +1305,7 @@ CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FA_DUMP=y
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
# CONFIG_FAIL_IOMMU is not set
CONFIG_FAIL_IO_TIMEOUT=y
@@ -1395,6 +1407,7 @@ CONFIG_FCOE=m
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
# CONFIG_FHCI_DEBUG is not set
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1523,6 +1536,7 @@ CONFIG_GPIOLIB=y
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1551,6 +1565,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
@@ -1598,6 +1613,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1746,7 +1762,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -1863,6 +1879,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2035,6 +2052,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2164,7 +2182,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2429,6 +2446,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2462,6 +2480,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2494,11 +2513,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2649,6 +2668,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2727,8 +2747,6 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2777,6 +2795,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -2806,6 +2826,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -2826,6 +2847,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -2909,6 +2931,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3045,9 +3068,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3230,6 +3255,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3264,6 +3290,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3342,6 +3369,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3403,6 +3434,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3525,6 +3557,7 @@ CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
# CONFIG_OCFS2_FS_STATS is not set
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCXL=m
# CONFIG_OF_OVERLAY is not set
# CONFIG_OF_UNITTEST is not set
# CONFIG_OMFS_FS is not set
@@ -3622,6 +3655,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3683,6 +3717,7 @@ CONFIG_PHYLINK=m
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
+# CONFIG_PINCTRL_AXP209 is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -3754,7 +3789,9 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_PID is not set
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
+# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set
# CONFIG_PPC_MAPLE is not set
+CONFIG_PPC_MEM_KEYS=y
# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
@@ -3893,6 +3930,7 @@ CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -3951,7 +3989,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4130,6 +4167,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
@@ -4139,7 +4177,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4284,6 +4322,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4459,6 +4498,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4548,6 +4588,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_GPIO=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4560,6 +4601,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -4776,6 +4818,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# 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_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -4788,6 +4831,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -4807,13 +4852,17 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -4874,6 +4923,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPAPR_TCE_IOMMU=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_VMEMMAP=y
@@ -4947,6 +4999,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5098,7 +5153,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5257,6 +5311,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5279,7 +5334,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5570,6 +5624,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5714,6 +5769,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -5854,6 +5910,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_EMACLITE is not set
CONFIG_XILINX_GMII2RGMII=m
# CONFIG_XILINX_LL_TEMAC is not set
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -5881,6 +5938,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index 6b1a70787..9cde8bee9 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -191,6 +192,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -204,6 +206,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -387,6 +390,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -443,6 +447,7 @@ CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -498,7 +503,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -660,6 +665,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -685,6 +691,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1013,6 +1020,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1035,7 +1043,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1052,8 +1060,8 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1069,6 +1077,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1142,6 +1151,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1155,6 +1165,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1377,6 +1388,7 @@ CONFIG_FCOE=m
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
# CONFIG_FHCI_DEBUG is not set
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1505,6 +1517,7 @@ CONFIG_GPIOLIB=y
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1533,6 +1546,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
@@ -1580,6 +1594,7 @@ CONFIG_HID_GYRATION=m
CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1728,7 +1743,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -1845,6 +1860,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2017,6 +2033,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2146,7 +2163,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2409,6 +2425,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2442,6 +2459,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2474,11 +2492,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2628,6 +2646,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2706,8 +2725,6 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2756,6 +2773,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -2785,6 +2804,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -2805,6 +2825,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -2887,6 +2908,7 @@ CONFIG_MSI_BITMAP_SELFTEST=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -3023,9 +3045,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3208,6 +3232,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3242,6 +3267,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3320,6 +3346,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3381,6 +3411,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3503,6 +3534,7 @@ CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
# CONFIG_OCFS2_FS_STATS is not set
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCXL=m
# CONFIG_OF_OVERLAY is not set
# CONFIG_OF_UNITTEST is not set
# CONFIG_OMFS_FS is not set
@@ -3600,6 +3632,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3661,6 +3694,7 @@ CONFIG_PHYLINK=m
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
+# CONFIG_PINCTRL_AXP209 is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -3732,7 +3766,9 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_PID is not set
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
+# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set
# CONFIG_PPC_MAPLE is not set
+CONFIG_PPC_MEM_KEYS=y
# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
@@ -3870,6 +3906,7 @@ CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -3928,7 +3965,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4107,6 +4143,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
# CONFIG_SAMSUNG_USBPHY is not set
@@ -4116,7 +4153,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4261,6 +4298,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4436,6 +4474,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4525,6 +4564,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SIMPLE_GPIO=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4537,6 +4577,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -4752,6 +4793,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# 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_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -4764,6 +4806,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -4783,13 +4827,17 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -4850,6 +4898,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPAPR_TCE_IOMMU=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_VMEMMAP=y
@@ -4923,6 +4974,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5074,7 +5128,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5233,6 +5286,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5255,7 +5309,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5546,6 +5599,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5690,6 +5744,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -5830,6 +5885,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_EMACLITE is not set
CONFIG_XILINX_GMII2RGMII=m
# CONFIG_XILINX_LL_TEMAC is not set
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -5857,6 +5913,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index 598d7165f..d7a2712fe 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
CONFIG_ACPI_DEBUG=y
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -196,6 +197,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -209,6 +211,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -390,6 +393,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -445,6 +449,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -500,7 +505,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -663,6 +668,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHECK_STACK=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -689,6 +695,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1024,6 +1031,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1046,7 +1054,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1063,8 +1071,8 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1080,6 +1088,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
@@ -1152,6 +1161,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1165,6 +1175,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1261,6 +1272,8 @@ CONFIG_ETHERNET=y
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
# CONFIG_EXPERT is not set
+CONFIG_EXPOLINE_MEDIUM=y
+CONFIG_EXPOLINE=y
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
@@ -1290,6 +1303,7 @@ CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
@@ -1379,6 +1393,7 @@ CONFIG_FCOE_FNIC=m
# CONFIG_FDDI is not set
# CONFIG_FEALNX is not set
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
@@ -1498,6 +1513,7 @@ CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1524,6 +1540,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
@@ -1569,6 +1586,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
# CONFIG_HID is not set
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1707,7 +1725,7 @@ CONFIG_HWLAT_TRACER=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_S390=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -1816,6 +1834,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -1988,6 +2007,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2117,7 +2137,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2275,6 +2294,7 @@ CONFIG_KDB_KEYBOARD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
+CONFIG_KERNEL_NOBP=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
@@ -2374,6 +2394,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2406,6 +2427,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2438,11 +2460,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2592,6 +2614,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_SAS is not set
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2670,8 +2693,6 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-# CONFIG_MFD_RTSX_PCI is not set
-# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2719,6 +2740,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
# CONFIG_MISDN_HFCMULTI is not set
@@ -2748,6 +2771,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
# CONFIG_MLXSW_CORE is not set
CONFIG_MLXSW_CORE_THERMAL=y
@@ -2768,6 +2792,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC is not set
# CONFIG_MMC_MTK is not set
@@ -2849,6 +2874,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -2982,9 +3008,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3168,6 +3196,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
@@ -3200,6 +3229,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
@@ -3276,6 +3306,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3337,6 +3371,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3554,6 +3589,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3617,6 +3653,7 @@ CONFIG_PHYLINK=m
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
+# CONFIG_PINCTRL_AXP209 is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -3786,6 +3823,7 @@ CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -3844,7 +3882,6 @@ CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
# CONFIG_RESET_CONTROLLER is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4019,6 +4056,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
CONFIG_S390_CCW_IOMMU=y
CONFIG_S390_GUEST_OLD_TRANSPORT=y
@@ -4038,7 +4076,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4187,6 +4225,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4361,6 +4400,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4445,6 +4485,7 @@ CONFIG_SHARED_KERNEL=y
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4457,6 +4498,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
# CONFIG_SLIP is not set
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -4674,6 +4716,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -4686,6 +4729,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -4705,13 +4750,17 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -4772,6 +4821,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
# CONFIG_SOUND is not set
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPEAKUP is not set
# CONFIG_SPI_ALTERA is not set
@@ -4843,6 +4895,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4992,7 +5047,6 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5154,6 +5208,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5176,7 +5231,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5462,6 +5516,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5607,6 +5662,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -5746,6 +5802,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYBUS_OF is not set
@@ -5770,6 +5827,7 @@ CONFIG_ZFCP=m
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-s390x.config b/kernel-s390x.config
index 1f7a53fa7..d9d1d616b 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -44,6 +44,7 @@ CONFIG_ACPI_ALS=m
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_NFIT is not set
CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_AD2S1200 is not set
# CONFIG_AD2S1210 is not set
@@ -195,6 +196,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -208,6 +210,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -389,6 +392,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -444,6 +448,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -499,7 +504,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -662,6 +667,7 @@ CONFIG_CGROUPS=y
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_CHECK_STACK=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -688,6 +694,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -1013,6 +1020,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1035,7 +1043,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1052,8 +1060,8 @@ CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1069,6 +1077,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
@@ -1141,6 +1150,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1154,6 +1164,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1250,6 +1261,8 @@ CONFIG_ETHERNET=y
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
# CONFIG_EXPERT is not set
+CONFIG_EXPOLINE_MEDIUM=y
+CONFIG_EXPOLINE=y
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
@@ -1361,6 +1374,7 @@ CONFIG_FCOE_FNIC=m
# CONFIG_FDDI is not set
# CONFIG_FEALNX is not set
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_FIREWIRE is not set
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
@@ -1480,6 +1494,7 @@ CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1506,6 +1521,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
@@ -1551,6 +1567,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_ICADE=m
# CONFIG_HID is not set
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1689,7 +1706,7 @@ CONFIG_HWLAT_TRACER=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_S390=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
@@ -1798,6 +1815,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -1970,6 +1988,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2099,7 +2118,6 @@ CONFIG_IPVTAP=m
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_IPW2200 is not set
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2255,6 +2273,7 @@ CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
+CONFIG_KERNEL_NOBP=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
@@ -2354,6 +2373,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2386,6 +2406,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2418,11 +2439,11 @@ CONFIG_LIBFCOE=m
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2571,6 +2592,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_SAS is not set
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2649,8 +2671,6 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-# CONFIG_MFD_RTSX_PCI is not set
-# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2698,6 +2718,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
# CONFIG_MISDN_HFCMULTI is not set
@@ -2727,6 +2749,7 @@ CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
# CONFIG_MLXSW_CORE is not set
CONFIG_MLXSW_CORE_THERMAL=y
@@ -2747,6 +2770,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC is not set
# CONFIG_MMC_MTK is not set
@@ -2827,6 +2851,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
# CONFIG_MTD_BLKDEVS is not set
@@ -2960,9 +2985,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3146,6 +3173,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
@@ -3178,6 +3206,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
@@ -3254,6 +3283,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3315,6 +3348,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3532,6 +3566,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3595,6 +3630,7 @@ CONFIG_PHYLINK=m
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
+# CONFIG_PINCTRL_AXP209 is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -3763,6 +3799,7 @@ CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -3821,7 +3858,6 @@ CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
# CONFIG_RESET_CONTROLLER is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -3996,6 +4032,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
CONFIG_S390_CCW_IOMMU=y
CONFIG_S390_GUEST_OLD_TRANSPORT=y
@@ -4015,7 +4052,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4164,6 +4201,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
CONFIG_SECONDARY_TRUSTED_KEYRING=y
@@ -4338,6 +4376,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4422,6 +4461,7 @@ CONFIG_SHARED_KERNEL=y
# CONFIG_SIGMA is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4434,6 +4474,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
# CONFIG_SLIP is not set
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -4650,6 +4691,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -4662,6 +4704,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -4681,13 +4725,17 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -4748,6 +4796,9 @@ CONFIG_SONY_FF=y
# CONFIG_SONYPI is not set
# CONFIG_SOUND is not set
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_RCU_POINTER=y
# CONFIG_SPEAKUP is not set
# CONFIG_SPI_ALTERA is not set
@@ -4819,6 +4870,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -4968,7 +5022,6 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5130,6 +5183,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5152,7 +5206,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5438,6 +5491,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_XUSBATM=m
@@ -5583,6 +5637,7 @@ CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -5722,6 +5777,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYBUS_OF is not set
@@ -5746,6 +5802,7 @@ CONFIG_ZFCP=m
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config
index a9ce3a5a6..5201167d4 100644
--- a/kernel-x86_64-debug.config
+++ b/kernel-x86_64-debug.config
@@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_ACERHDF=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACER_WMI=m
# CONFIG_ACORN_PARTITION is not set
CONFIG_ACPI_AC=y
@@ -78,6 +79,7 @@ CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m
@@ -254,6 +256,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -267,6 +270,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -459,6 +463,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -515,6 +520,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -570,7 +576,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -734,6 +740,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -762,6 +769,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -904,6 +912,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
# CONFIG_CRYPTO_DEV_SP_CCP is not set
+CONFIG_CRYPTO_DEV_SP_PSP=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1080,8 +1089,8 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_RBTN=m
# CONFIG_DELL_RBU is not set
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_SMM=m
-CONFIG_DELL_SMBIOS_WMI=m
+CONFIG_DELL_SMBIOS_SMM=y
+CONFIG_DELL_SMBIOS_WMI=y
CONFIG_DELL_SMO8800=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_WMI_LED=m
@@ -1148,6 +1157,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1172,7 +1182,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1192,8 +1202,8 @@ CONFIG_DRM_GMA500=m
# CONFIG_DRM_GMA600 is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1218,6 +1228,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1292,6 +1303,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1305,6 +1317,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1472,6 +1485,7 @@ CONFIG_F2FS_FS_XATTR=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_F71808E_WDT=m
+CONFIG_FAIL_FUNCTION=y
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_MAKE_REQUEST=y
@@ -1573,6 +1587,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1670,6 +1685,7 @@ CONFIG_GIGASET_M105=m
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
# CONFIG_GP2AP020A00F is not set
+CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_104_DIO_48E is not set
# CONFIG_GPIO_104_IDI_48 is not set
# CONFIG_GPIO_104_IDIO_16 is not set
@@ -1708,6 +1724,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1737,6 +1754,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HAVE_MEMORY_PRESENT=y
@@ -1787,6 +1805,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1940,7 +1959,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
@@ -2073,6 +2092,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2227,6 +2247,7 @@ CONFIG_INT340X_THERMAL=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_ATOMISP is not set
CONFIG_INTEL_BXT_PMIC_THERMAL=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
@@ -2296,6 +2317,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2429,7 +2451,6 @@ CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2533,6 +2554,7 @@ CONFIG_IXGBE_HWMON=y
CONFIG_IXGBE=m
CONFIG_IXGBEVF=m
CONFIG_IXGB=m
+# CONFIG_JAILHOUSE_GUEST is not set
CONFIG_JBD2_DEBUG=y
CONFIG_JBD2=y
# CONFIG_JFFS2_FS is not set
@@ -2592,7 +2614,8 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_KEXEC_FILE=y
CONFIG_KEXEC_JUMP=y
-CONFIG_KEXEC_VERIFY_SIG=y
+CONFIG_KEXEC_SIG_FORCE=y
+CONFIG_KEXEC_SIG=y
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
@@ -2645,6 +2668,7 @@ CONFIG_KS0108_PORT=0x378
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KVM_AMD=m
+CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_KVM_DEVICE_ASSIGNMENT=y
CONFIG_KVM_GUEST=y
@@ -2697,6 +2721,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2729,6 +2754,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2763,11 +2789,11 @@ CONFIG_LIBNVDIMM=y
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2915,6 +2941,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2996,8 +3023,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3049,6 +3074,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3080,6 +3107,7 @@ CONFIG_MLX5_MPFS=y
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
CONFIG_MLX_PLATFORM=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3100,6 +3128,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -3185,6 +3214,7 @@ CONFIG_MSI_WMI=m
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
CONFIG_MTD_BLKDEVS=m
@@ -3326,9 +3356,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3512,6 +3544,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3544,6 +3577,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3623,6 +3657,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3684,6 +3722,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3935,6 +3974,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -4006,6 +4046,7 @@ CONFIG_PHYSICAL_START=0x1000000
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_AXP209 is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4191,6 +4232,7 @@ CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_MEMORY=y
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4282,7 +4324,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4458,6 +4499,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
CONFIG_SAMSUNG_LAPTOP=m
@@ -4469,7 +4511,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4610,6 +4652,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDMA_VERBOSITY is not set
CONFIG_SECCOMP=y
@@ -4801,6 +4844,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4894,6 +4938,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SILEAD_DMI=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4906,6 +4951,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -5009,7 +5055,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5149,8 +5195,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5163,6 +5210,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -5182,13 +5231,17 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5216,6 +5269,7 @@ CONFIG_SND_SOC_WM8524=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5253,6 +5307,10 @@ CONFIG_SONYPI_COMPAT=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE_INTEL=m
+CONFIG_SOUNDWIRE=y
CONFIG_SP5100_TCO=m
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_EXTREME=y
@@ -5332,6 +5390,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5491,7 +5552,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5654,6 +5714,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5676,7 +5737,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5963,6 +6023,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_XUSBATM=m
@@ -5985,6 +6046,7 @@ CONFIG_UWB_WHCI=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_VBOXGUEST is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6051,6 +6113,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IPU3_CIO2=m
# CONFIG_VIDEO_IVTV_ALSA is not set
# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
@@ -6106,12 +6169,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6271,7 +6335,7 @@ CONFIG_X86_PAT=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_X86_PMEM_LEGACY=y
+CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_PM_TIMER=y
CONFIG_X86_POWERNOW_K8=m
CONFIG_X86_PTDUMP=y
@@ -6334,6 +6398,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -6360,6 +6425,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DEVICE=y
CONFIG_ZONE_DMA=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel-x86_64.config b/kernel-x86_64.config
index e35b4df4c..53ff69190 100644
--- a/kernel-x86_64.config
+++ b/kernel-x86_64.config
@@ -40,6 +40,7 @@ CONFIG_ACCESSIBILITY=y
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_ACERHDF=m
+CONFIG_ACER_WIRELESS=m
CONFIG_ACER_WMI=m
# CONFIG_ACORN_PARTITION is not set
CONFIG_ACPI_AC=y
@@ -78,6 +79,7 @@ CONFIG_ACPI_PROCFS=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_SLEEP=y
+CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_TOSHIBA=m
@@ -253,6 +255,7 @@ CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
+# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
@@ -266,6 +269,7 @@ CONFIG_ATH6KL_USB=m
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+# CONFIG_ATH9K_COMMON_SPECTRAL is not set
CONFIG_ATH9K_DEBUGFS=y
# CONFIG_ATH9K_DEBUG is not set
# CONFIG_ATH9K_DYNACK is not set
@@ -458,6 +462,7 @@ CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NVME=m
# CONFIG_BLK_DEV_NVME_SCSI is not set
@@ -514,6 +519,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
+# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -569,7 +575,7 @@ CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBTSDIO=m
CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB=m
CONFIG_BT_HCIBTUSB_RTL=y
@@ -733,6 +739,7 @@ CONFIG_CHARGER_SMB347=m
# CONFIG_CHASH_SELFTEST is not set
# CONFIG_CHASH_STATS is not set
CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T3=m
@@ -761,6 +768,7 @@ CONFIG_CIFS_NFSD_EXPORT=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_SMB311 is not set
+# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_STATS2 is not set
CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
@@ -902,6 +910,7 @@ CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
# CONFIG_CRYPTO_DEV_SP_CCP is not set
+CONFIG_CRYPTO_DEV_SP_PSP=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1070,8 +1079,8 @@ CONFIG_DELL_LAPTOP=m
CONFIG_DELL_RBTN=m
# CONFIG_DELL_RBU is not set
CONFIG_DELL_SMBIOS=m
-CONFIG_DELL_SMBIOS_SMM=m
-CONFIG_DELL_SMBIOS_WMI=m
+CONFIG_DELL_SMBIOS_SMM=y
+CONFIG_DELL_SMBIOS_WMI=y
CONFIG_DELL_SMO8800=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_WMI_LED=m
@@ -1137,6 +1146,7 @@ CONFIG_DM_SNAPSHOT=y
CONFIG_DM_SWITCH=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_UEVENT=y
+CONFIG_DM_UNSTRIPED=m
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_VERITY=m
CONFIG_DM_ZERO=y
@@ -1161,7 +1171,7 @@ CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
+CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
CONFIG_DRM_AMD_POWERPLAY=y
CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -1181,8 +1191,8 @@ CONFIG_DRM_GMA500=m
# CONFIG_DRM_GMA600 is not set
CONFIG_DRM_HISI_HIBMC=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
-# CONFIG_DRM_I2C_ADV7511_CEC is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_I2C_ADV7511_CEC=y
+CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7533=y
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_NXP_TDA998X=m
@@ -1207,6 +1217,7 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
@@ -1281,6 +1292,7 @@ CONFIG_DVB_FIREDTV=m
CONFIG_DVB_HOPPER=m
CONFIG_DVB_MANTIS=m
CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_MMAP is not set
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_NETUP_UNIDVB=m
@@ -1294,6 +1306,7 @@ CONFIG_DVB_PT1=m
CONFIG_DVB_SMIPCIE=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+# CONFIG_DVB_ULE_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
@@ -1555,6 +1568,7 @@ CONFIG_FCOE=m
# CONFIG_FDDI is not set
CONFIG_FEALNX=m
CONFIG_FHANDLE=y
+# CONFIG_FIND_BIT_BENCHMARK is not set
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_NET=m
CONFIG_FIREWIRE_NOSY=m
@@ -1652,6 +1666,7 @@ CONFIG_GIGASET_M105=m
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
# CONFIG_GP2AP020A00F is not set
+CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_104_DIO_48E is not set
# CONFIG_GPIO_104_IDI_48 is not set
# CONFIG_GPIO_104_IDIO_16 is not set
@@ -1690,6 +1705,7 @@ CONFIG_GPIOLIB=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_RDC321X is not set
@@ -1719,6 +1735,7 @@ CONFIG_HAMACHI=m
CONFIG_HAMRADIO=y
CONFIG_HANGCHECK_TIMER=m
CONFIG_HAPPYMEAL=m
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HAVE_MEMORY_PRESENT=y
@@ -1769,6 +1786,7 @@ CONFIG_HID_HOLTEK=m
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
+CONFIG_HID_JABRA=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
@@ -1922,7 +1940,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
+CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_HW_RANDOM=y
@@ -2055,6 +2073,7 @@ CONFIG_IGB_HWMON=y
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IIO_BUFFER_CB=m
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
@@ -2209,6 +2228,7 @@ CONFIG_INT340X_THERMAL=m
# CONFIG_INTEGRITY is not set
# CONFIG_INTEL_ATOMISP is not set
CONFIG_INTEL_BXT_PMIC_THERMAL=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
@@ -2278,6 +2298,7 @@ CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
@@ -2411,7 +2432,6 @@ CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
# CONFIG_IPX is not set
# CONFIG_IRDA is not set
CONFIG_IR_ENE=m
@@ -2515,6 +2535,7 @@ CONFIG_IXGBE_HWMON=y
CONFIG_IXGBE=m
CONFIG_IXGBEVF=m
CONFIG_IXGB=m
+# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_JBD2_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JFFS2_FS is not set
@@ -2572,7 +2593,8 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_KEXEC_FILE=y
CONFIG_KEXEC_JUMP=y
-CONFIG_KEXEC_VERIFY_SIG=y
+CONFIG_KEXEC_SIG_FORCE=y
+CONFIG_KEXEC_SIG=y
CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
@@ -2625,6 +2647,7 @@ CONFIG_KS0108_PORT=0x378
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KVM_AMD=m
+CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_KVM_DEVICE_ASSIGNMENT=y
CONFIG_KVM_GUEST=y
@@ -2677,6 +2700,7 @@ CONFIG_LEDS_IS31FL32XX=m
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_LM3642 is not set
+CONFIG_LEDS_LM3692X=m
# CONFIG_LEDS_LOCOMO is not set
CONFIG_LEDS_LP3944=m
CONFIG_LEDS_LP3952=m
@@ -2709,6 +2733,7 @@ CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_MTD=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGERS=y
@@ -2743,11 +2768,11 @@ CONFIG_LIBNVDIMM=y
CONFIG_LIQUIDIO_VF=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_TRANSMITTER=y
CONFIG_LIRC_STAGING=y
+CONFIG_LIRC=y
CONFIG_LIRC_ZILOG=m
# CONFIG_LIVEPATCH is not set
# CONFIG_LKDTM is not set
@@ -2895,6 +2920,7 @@ CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_SAS=m
+CONFIG_MELLANOX_PLATFORM=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
@@ -2976,8 +3002,6 @@ CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -3029,6 +3053,8 @@ CONFIG_MII=m
CONFIG_MINIX_FS=m
CONFIG_MINIX_SUBPARTITION=y
CONFIG_MISC_FILESYSTEMS=y
+CONFIG_MISC_RTSX_PCI=m
+CONFIG_MISC_RTSX_USB=m
CONFIG_MISDN_AVMFRITZ=m
CONFIG_MISDN_DSP=m
CONFIG_MISDN_HFCMULTI=m
@@ -3060,6 +3086,7 @@ CONFIG_MLX5_MPFS=y
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
CONFIG_MLX_PLATFORM=m
+CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE=m
CONFIG_MLXSW_CORE_THERMAL=y
@@ -3080,6 +3107,7 @@ CONFIG_MMA7660=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
+CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
@@ -3165,6 +3193,7 @@ CONFIG_MSI_WMI=m
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
+CONFIG_MT76x2E=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_AR7_PARTS is not set
CONFIG_MTD_BLKDEVS=m
@@ -3306,9 +3335,11 @@ CONFIG_NET_CORE=y
# CONFIG_NET_DCCPPROBE is not set
CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=m
+# CONFIG_NETDEVSIM is not set
CONFIG_NET_DROP_MONITOR=y
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_HWMON=y
+# CONFIG_NET_DSA_LEGACY is not set
CONFIG_NET_DSA_LOOP=m
CONFIG_NET_DSA=m
CONFIG_NET_DSA_MT7530=m
@@ -3492,6 +3523,7 @@ CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_NET_VENDOR_CAVIUM is not set
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_NET_VENDOR_CORTINA is not set
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_NET_VENDOR_EMULEX=y
@@ -3524,6 +3556,7 @@ CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_NET_VENDOR_SNI is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3603,6 +3636,10 @@ CONFIG_NFC_TRF7970A=m
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_DUP_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE_IPV4=m
+CONFIG_NF_FLOW_TABLE_IPV6=m
+CONFIG_NF_FLOW_TABLE=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_BRIDGE=m
CONFIG_NF_LOG_IPV4=m
@@ -3664,6 +3701,7 @@ CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_FLOW_OFFLOAD=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3915,6 +3953,7 @@ CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
@@ -3986,6 +4025,7 @@ CONFIG_PHYSICAL_START=0x1000000
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_AXP209 is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
@@ -4170,6 +4210,7 @@ CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_MEMORY=y
# CONFIG_RAPIDIO is not set
CONFIG_RAS_CEC=y
+# CONFIG_RAVE_SP_CORE is not set
CONFIG_RAW_DRIVER=y
# CONFIG_RBTREE_TEST is not set
CONFIG_RC_ATI_REMOTE=m
@@ -4261,7 +4302,6 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
CONFIG_RENESAS_PHY=m
# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4437,6 +4477,7 @@ CONFIG_RTLLIB=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTS5208 is not set
+CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_S2IO=m
# CONFIG_SAMPLES is not set
CONFIG_SAMSUNG_LAPTOP=m
@@ -4448,7 +4489,7 @@ CONFIG_SATA_AHCI=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_HIGHBANK is not set
CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MOBILE_LPM_POLICY=3
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PMP=y
@@ -4589,6 +4630,7 @@ CONFIG_SCTP_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDMA_VERBOSITY is not set
CONFIG_SECCOMP=y
@@ -4780,6 +4822,7 @@ CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83773G=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
@@ -4873,6 +4916,7 @@ CONFIG_SH_ETH=m
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_SILEAD_DMI=y
# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SIOX is not set
CONFIG_SIS190=m
CONFIG_SIS900=m
# CONFIG_SKFP is not set
@@ -4885,6 +4929,7 @@ CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
+# CONFIG_SLIMBUS is not set
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP=m
# CONFIG_SLIP_MODE_SLIP6 is not set
@@ -4988,7 +5033,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5127,8 +5172,9 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
-CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=m
+CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC=m
+CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX98504 is not set
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX98927=m
@@ -5141,6 +5187,8 @@ CONFIG_SND_SOC_NAU8824=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
# CONFIG_SND_SOC_PCM179X is not set
# CONFIG_SND_SOC_PCM179X_SPI is not set
+CONFIG_SND_SOC_PCM186X_I2C=m
+CONFIG_SND_SOC_PCM186X_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
@@ -5160,13 +5208,17 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TAS6424=m
# 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_TLV320AIC32X4_I2C=m
+CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
+CONFIG_SND_SOC_TSCS42XX=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
CONFIG_SND_SOC_WM8524=m
@@ -5194,6 +5246,7 @@ CONFIG_SND_SOC_WM8524=m
CONFIG_SND_SONICVIBES=m
# CONFIG_SND_SPI is not set
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
+CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_TRIDENT=m
CONFIG_SND_USB_6FIRE=m
@@ -5231,6 +5284,10 @@ CONFIG_SONYPI_COMPAT=y
# CONFIG_SONYPI is not set
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
+CONFIG_SOUNDWIRE_BUS=m
+CONFIG_SOUNDWIRE_CADENCE=m
+CONFIG_SOUNDWIRE_INTEL=m
+CONFIG_SOUNDWIRE=y
CONFIG_SP5100_TCO=m
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_EXTREME=y
@@ -5310,6 +5367,9 @@ CONFIG_STRICT_DEVMEM=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_ST_UVIS25_I2C=m
+CONFIG_ST_UVIS25=m
+CONFIG_ST_UVIS25_SPI=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_SUNGEM=m
@@ -5469,7 +5529,6 @@ CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -5632,6 +5691,7 @@ CONFIG_UIO_SERCOS3=m
CONFIG_ULI526X=m
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_UNISYSSPAR is not set
+# CONFIG_UNISYS_VISORBUS is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX_DIAG=m
CONFIG_UNIXWARE_DISKLABEL=y
@@ -5654,7 +5714,6 @@ 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_F_UAC1_LEGACY is not set
CONFIG_USB_CXACRU=m
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -5941,6 +6000,7 @@ CONFIG_USB_WDM=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
CONFIG_USB_WUSB_CBAF=m
CONFIG_USB_WUSB=m
+CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=m
CONFIG_USB_XUSBATM=m
@@ -5963,6 +6023,7 @@ CONFIG_UWB_WHCI=m
CONFIG_V4L_MEM2MEM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_VBOXGUEST is not set
# CONFIG_VCNL4000 is not set
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6029,6 +6090,7 @@ CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
CONFIG_VIDEO_HDPVR=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_IPU3_CIO2=m
# CONFIG_VIDEO_IVTV_ALSA is not set
# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
CONFIG_VIDEO_IVTV=m
@@ -6084,12 +6146,13 @@ CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_ZR36060=m
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRT_DRIVERS=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MENU=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_NET=m
@@ -6249,7 +6312,7 @@ CONFIG_X86_PAT=y
CONFIG_X86_PCC_CPUFREQ=m
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_X86_PMEM_LEGACY=y
+CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_PM_TIMER=y
CONFIG_X86_POWERNOW_K8=m
# CONFIG_X86_PTDUMP is not set
@@ -6312,6 +6375,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XFS_WARN is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -6338,6 +6402,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DEVICE=y
CONFIG_ZONE_DMA=y
+CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/kernel.spec b/kernel.spec
index ebff58b65..90b308d79 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -42,19 +42,19 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 300
+%global baserelease 200
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 15
+%define base_sublevel 16
## If this is a released kernel ##
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 2
+%define stable_update 0
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -368,9 +368,8 @@ Summary: The Linux kernel
Name: kernel%{?variant}
-Group: System Environment/Kernel
License: GPLv2 and Redistributable, no modification permitted
-URL: http://www.kernel.org/
+URL: https://www.kernel.org/
Version: %{rpmversion}
Release: %{pkg_release}
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
@@ -388,7 +387,7 @@ Requires: kernel-modules-uname-r = %{KVERREL}%{?variant}
#
BuildRequires: kmod, patch, bash, tar, git
BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
-BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc
+BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex
BuildRequires: net-tools, hostname, bc, elfutils-devel
%if %{with_sparse}
BuildRequires: sparse
@@ -506,6 +505,9 @@ Source5000: patch-4.%{base_sublevel}-git%{gitrev}.xz
# ongoing complaint, full discussion delayed until ksummit/plumbers
Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch
+# gcc -Werror=aliasing workaround
+Patch003: 0001-Temporarily-work-around-gcc-aliasing-warning-error.patch
+
%if !%{nopatches}
# Git trees.
@@ -577,78 +579,63 @@ Patch302: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch
# http://patchwork.ozlabs.org/patch/587554/
Patch303: ARM-tegra-usb-no-reset.patch
-# https://www.spinics.net/lists/arm-kernel/msg554183.html
-Patch304: arm-imx6-hummingboard2.patch
-
-Patch305: arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch
+Patch304: arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch
# https://patchwork.kernel.org/patch/9820417/
-Patch306: qcom-msm89xx-fixes.patch
+Patch305: qcom-msm89xx-fixes.patch
# https://patchwork.kernel.org/patch/10173115/
-Patch307: arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch
+Patch306: arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch
-# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
-Patch308: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
+# http://patches.linaro.org/patch/131764/
+Patch307: wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch
-# https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=synquacer-netsec
-Patch330: arm64-socionext-96b-enablement.patch
+# https://patchwork.kernel.org/patch/10245303/
+Patch308: wcn36xx-reduce-verbosity-of-drivers-messages.patch
-# https://patchwork.kernel.org/patch/10149775/ MMC support for Synquacer
-Patch331: arm64-mmc-sdhci_f_sdh30-add-ACPI-support.patch
-
-# 400 - IBM (ppc/s390x) patches
+# https://www.spinics.net/lists/arm-kernel/msg632925.html
+Patch309: arm-crypto-sunxi-ss-Add-MODULE_ALIAS-to-sun4i-ss.patch
-# 500 - Temp fixes/CVEs etc
+# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
+Patch310: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
-# 600 - Patches for improved Bay and Cherry Trail device support
-# Below patches are submitted upstream, awaiting review / merging
-Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch
+# https://www.spinics.net/lists/arm-kernel/msg621982.html
+Patch311: bcm283x-Fix-probing-of-bcm2835-i2s.patch
-# rhbz 1476467
-Patch617: Fix-for-module-sig-verification.patch
+# https://www.spinics.net/lists/arm-kernel/msg633942.html
+Patch312: mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch
-# rhbz 1431375
-Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch
+# https://www.spinics.net/lists/arm-kernel/msg633945.html
+Patch313: bcm2835-hwrng-Handle-deferred-clock-properly.patch
-# rhbz 1509461
-Patch625: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
+Patch314: bcm283x-clk-audio-fixes.patch
-# For https://fedoraproject.org/wiki/Changes/ImprovedLaptopBatteryLife
-# Queued in bluetooth-next for merging into 4.16
-Patch628: 0001-Bluetooth-btusb-Add-a-Kconfig-option-to-enable-USB-a.patch
+# Enabling Patches for the RPi3+
+Patch330: bcm2837-rpi-initial-support-for-the-3.patch
+Patch331: bcm2837-gpio-expander.patch
+Patch332: bcm2837-enable-pmu.patch
+Patch333: bcm2837-lan78xx-fixes.patch
-# Fix left-button not working with some hid-multitouch touchpads
-# Adding these suggested by Benjamin Tissoires
-# Queued in hid.git/for-4.16/hid-quirks-cleanup/multitouch for merging into 4.16
-Patch630: 0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch
-Patch631: 0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch
-Patch632: 0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch
+# 400 - IBM (ppc/s390x) patches
-# Make SATA link powermanagement policy configurable for:
-# https://fedoraproject.org/wiki/Changes/ImprovedLaptopBatteryLife
-# Queued upstream for merging into 4.16
-Patch636: 0001-ahci-Annotate-PCI-ids-for-mobile-Intel-chipsets-as-s.patch
-Patch637: 0002-ahci-Add-PCI-ids-for-Intel-Bay-Trail-Cherry-Trail-an.patch
-Patch638: 0003-ahci-Allow-setting-a-default-LPM-policy-for-mobile-c.patch
+# 500 - Temp fixes/CVEs etc
-# rhbz1514969, submitted upstream
-Patch640: 0001-platform-x86-dell-laptop-Filter-out-spurious-keyboar.patch
+# rhbz 1476467
+Patch501: Fix-for-module-sig-verification.patch
-# rhbz1514836, submitted upstream
-Patch641: 0001-Bluetooth-btusb-Disable-autosuspend-on-QCA-Rome-devi.patch
+# rhbz 1431375
+Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch
-# Speculative Execution patches
-Patch642: prevent-bounds-check-bypass-via-speculative-execution.patch
+# rhbz 1509461
+Patch503: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
-# Fix crash on Xwayland using nouveau
-Patch650: dma-buf-fix-reservation_object_wait_timeout_rcu-once-more-v2.patch
+# rhbz 1558977
+Patch504: sunrpc-remove-incorrect-HMAC-request-initialization.patch
# END OF PATCH DEFINITIONS
%endif
-BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
%description
The kernel meta package
@@ -682,7 +669,6 @@ AutoProv: yes\
%package headers
Summary: Header files for the Linux kernel for use by glibc
-Group: Development/System
Obsoletes: glibc-kernheaders < 3.0-46
Provides: glibc-kernheaders = 3.0-46
%if "0%{?variant}"
@@ -698,7 +684,6 @@ glibc package.
%package cross-headers
Summary: Header files for the Linux kernel for use by cross-glibc
-Group: Development/System
%description cross-headers
Kernel-cross-headers includes the C header files that specify the interface
between the Linux kernel and userspace libraries and programs. The
@@ -709,7 +694,6 @@ cross-glibc package.
%package bootwrapper
Summary: Boot wrapper files for generating combined kernel + initrd images
-Group: Development/System
Requires: gzip binutils
%description bootwrapper
Kernel-bootwrapper contains the wrapper code which makes bootable "zImage"
@@ -717,7 +701,6 @@ files combining both kernel and initial ramdisk.
%package debuginfo-common-%{_target_cpu}
Summary: Kernel source files used by %{name}-debuginfo packages
-Group: Development/Debug
Provides: installonlypkg(kernel)
%description debuginfo-common-%{_target_cpu}
This package is required by %{name}-debuginfo subpackages.
@@ -730,7 +713,6 @@ It provides the kernel source files common to all builds.
%define kernel_debuginfo_package() \
%package %{?1:%{1}-}debuginfo\
Summary: Debug information for package %{name}%{?1:-%{1}}\
-Group: Development/Debug\
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\
Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\
Provides: installonlypkg(kernel)\
@@ -748,7 +730,6 @@ This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\
%define kernel_devel_package() \
%package %{?1:%{1}-}devel\
Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
-Group: System Environment/Kernel\
Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\
Provides: kernel-devel-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Provides: kernel-devel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
@@ -769,7 +750,6 @@ against the %{?2:%{2} }kernel package.\
%define kernel_modules_extra_package() \
%package %{?1:%{1}-}modules-extra\
Summary: Extra kernel modules to match the %{?2:%{2} }kernel\
-Group: System Environment/Kernel\
Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}\
Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Provides: kernel%{?1:-%{1}}-modules-extra = %{version}-%{release}%{?1:+%{1}}\
@@ -790,7 +770,6 @@ This package provides less commonly used kernel modules for the %{?2:%{2} }kerne
%define kernel_modules_package() \
%package %{?1:%{1}-}modules\
Summary: kernel modules to match the %{?2:%{2}-}core kernel\
-Group: System Environment/Kernel\
Provides: kernel%{?1:-%{1}}-modules-%{_target_cpu} = %{version}-%{release}\
Provides: kernel-modules-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Provides: kernel-modules = %{version}-%{release}%{?1:+%{1}}\
@@ -810,7 +789,6 @@ This package provides commonly used kernel modules for the %{?2:%{2}-}core kerne
%define kernel_meta_package() \
%package %{1}\
summary: kernel meta-package for the %{1} kernel\
-group: system environment/kernel\
Requires: kernel-%{1}-core-uname-r = %{KVERREL}%{?variant}+%{1}\
Requires: kernel-%{1}-modules-uname-r = %{KVERREL}%{?variant}+%{1}\
Provides: installonlypkg(kernel)\
@@ -826,7 +804,6 @@ The meta-package for the %{1} kernel\
%define kernel_variant_package(n:) \
%package %{?1:%{1}-}core\
Summary: %{variant_summary}\
-Group: System Environment/Kernel\
Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Provides: installonlypkg(kernel)\
%{expand:%%kernel_reqprovconf}\
@@ -1152,6 +1129,7 @@ git am %{patches}
# Any further pre-build tree manipulations happen here.
chmod +x scripts/checkpatch.pl
+chmod +x tools/objtool/sync-check.sh
# This Prevents scripts/setlocalversion from mucking with our version numbers.
touch .scmversion
@@ -1369,6 +1347,16 @@ BuildKernel() {
cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
if [ -f tools/objtool/objtool ]; then
cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || :
+ # these are a few files associated with objtool
+ cp -a --parents tools/build/Build.include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents tools/build/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents tools/build/fixdep.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents tools/scripts/utilities.mak $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ # also more than necessary but it's not that many more files
+ cp -a --parents tools/objtool/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents tools/lib/str_error_r.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents tools/lib/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp -a --parents tools/lib/subcmd/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
fi
if [ -d arch/$Arch/scripts ]; then
cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
@@ -1414,7 +1402,9 @@ BuildKernel() {
cp -a --parents arch/x86/tools/relocs.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/tools/relocs_common.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/tools/relocs.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
- cp -a --parents tools/include/tools/le_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ # Yes this is more includes than we probably need. Feel free to sort out
+ # dependencies if you so choose.
+ cp -a --parents tools/include/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/purgatory/purgatory.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/purgatory/sha256.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/purgatory/sha256.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
@@ -1631,7 +1621,6 @@ BuildKernel %make_target %kernel_image %{_use_vdso}
%ifnarch noarch
%global __debug_package 1
%files -f debugfiles.list debuginfo-common-%{_target_cpu}
-%defattr(-,root,root)
%endif
%endif
@@ -1704,9 +1693,6 @@ make DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kerne
### clean
###
-%clean
-rm -rf $RPM_BUILD_ROOT
-
###
### scripts
###
@@ -1817,27 +1803,22 @@ fi
%if %{with_headers}
%files headers
-%defattr(-,root,root)
/usr/include/*
%endif
%if %{with_cross_headers}
%files cross-headers
-%defattr(-,root,root)
/usr/*-linux-gnu/include/*
%endif
%if %{with_bootwrapper}
%files bootwrapper
-%defattr(-,root,root)
/usr/sbin/*
%{_libdir}/kernel-wrapper
%endif
# empty meta-package
%files
-%defattr(-,root,root)
-
# This is %%{image_install_path} on an arch where that includes ELF files,
# or empty otherwise.
%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
@@ -1850,7 +1831,6 @@ fi
%define kernel_variant_files(k:) \
%if %{2}\
%{expand:%%files -f kernel-%{?3:%{3}-}core.list %{?3:%{3}-}core}\
-%defattr(-,root,root)\
%{!?_licensedir:%global license %%doc}\
%license linux-%{KVERREL}/COPYING\
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
@@ -1878,29 +1858,24 @@ fi
%endif\
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\
%{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\
-%defattr(-,root,root)\
%{expand:%%files %{?3:%{3}-}devel}\
-%defattr(-,root,root)\
%defverify(not mtime)\
/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
%{expand:%%files %{?3:%{3}-}modules-extra}\
-%defattr(-,root,root)\
/lib/modules/%{KVERREL}%{?3:+%{3}}/extra\
%if %{with_debuginfo}\
%ifnarch noarch\
%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
-%defattr(-,root,root)\
%endif\
%endif\
%if %{?3:1} %{!?3:0}\
%{expand:%%files %{3}}\
-%defattr(-,root,root)\
%endif\
%endif\
%{nil}
-%kernel_variant_files %{_use_vdso} %{with_up}
-%kernel_variant_files %{_use_vdso} %{with_debug} debug
+%kernel_variant_files %{_use_vdso} %{with_up}
+%kernel_variant_files %{_use_vdso} %{with_debug} debug
%kernel_variant_files %{use_vdso} %{with_pae} %{pae}
%kernel_variant_files %{use_vdso} %{with_pae_debug} %{pae}debug
@@ -1909,6 +1884,9 @@ fi
#
#
%changelog
+* Thu Apr 05 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.0-200
+- Linux v4.16
+
* Wed Feb 07 2018 Laura Abbott <labbott@redhat.com> - 4.15.2-300
- Linux v4.15.2
diff --git a/mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch b/mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch
new file mode 100644
index 000000000..7b3b2c01c
--- /dev/null
+++ b/mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch
@@ -0,0 +1,37 @@
+From patchwork Mon Feb 12 20:02:44 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: mmc: sdhci-iproc: Disable preset values for BCM2835
+From: Stefan Wahren <stefan.wahren@i2se.com>
+X-Patchwork-Id: 10214367
+Message-Id: <1518465764-30051-1-git-send-email-stefan.wahren@i2se.com>
+To: Adrian Hunter <adrian.hunter@intel.com>,
+ Ulf Hansson <ulf.hansson@linaro.org>
+Cc: Eric Anholt <eric@anholt.net>, Ray Jui <rjui@broadcom.com>,
+ Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
+ linux-arm-kernel@lists.infradead.org,
+ bcm-kernel-feedback-list@broadcom.com, linux-mmc@vger.kernel.org,
+ Stefan Wahren <stefan.wahren@i2se.com>
+Date: Mon, 12 Feb 2018 21:02:44 +0100
+
+According to the BCM2835 datasheet there are no preset value registers.
+This wasn't an issue before, because we didn't propagate 1.8V support.
+
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ drivers/mmc/host/sdhci-iproc.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
+index 61666d2..0ef741b 100644
+--- a/drivers/mmc/host/sdhci-iproc.c
++++ b/drivers/mmc/host/sdhci-iproc.c
+@@ -214,6 +214,7 @@ static const struct sdhci_pltfm_data sdhci_bcm2835_pltfm_data = {
+ SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
+ SDHCI_QUIRK_MISSING_CAPS |
+ SDHCI_QUIRK_NO_HISPD_BIT,
++ .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
+ .ops = &sdhci_iproc_32only_ops,
+ };
+
diff --git a/prevent-bounds-check-bypass-via-speculative-execution.patch b/prevent-bounds-check-bypass-via-speculative-execution.patch
deleted file mode 100644
index aa19fc0d4..000000000
--- a/prevent-bounds-check-bypass-via-speculative-execution.patch
+++ /dev/null
@@ -1,1105 +0,0 @@
-From 1d115042dde79e3c0fcc18af548342b172e749e1 Mon Sep 17 00:00:00 2001
-From: Mark Rutland <mark.rutland@arm.com>
-Date: Thu, 7 Dec 2017 17:14:24 +0000
-Subject: [PATCH 01/19] asm-generic/barrier: add generic nospec helpers
-
-Under speculation, CPUs may mis-predict branches in bounds checks. Thus,
-memory accesses under a bounds check may be speculated even if the
-bounds check fails, providing a primitive for building a side channel.
-
-This patch adds helpers which can be used to inhibit the use of
-out-of-bounds pointers under speculation.
-
-A generic implementation is provided for compatibility, but does not
-guarantee safety under speculation. Architectures are expected to
-override these helpers as necessary.
-
-Signed-off-by: Mark Rutland <mark.rutland@arm.com>
-Signed-off-by: Will Deacon <will.deacon@arm.com>
-Cc: Daniel Willams <dan.j.williams@intel.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- include/asm-generic/barrier.h | 68 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 68 insertions(+)
-
-diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h
-index fe297b599b0a..91c3071f49e5 100644
---- a/include/asm-generic/barrier.h
-+++ b/include/asm-generic/barrier.h
-@@ -54,6 +54,74 @@
- #define read_barrier_depends() do { } while (0)
- #endif
-
-+/*
-+ * Inhibit subsequent speculative memory accesses.
-+ *
-+ * Architectures with a suitable memory barrier should provide an
-+ * implementation. This is non-portable, and generic code should use
-+ * nospec_ptr().
-+ */
-+#ifndef __nospec_barrier
-+#define __nospec_barrier() do { } while (0)
-+#endif
-+
-+/**
-+ * nospec_ptr() - Ensure a pointer is bounded, even under speculation.
-+ *
-+ * @ptr: the pointer to test
-+ * @lo: the lower valid bound for @ptr, inclusive
-+ * @hi: the upper valid bound for @ptr, exclusive
-+ *
-+ * If @ptr falls in the interval [@lo, @i), returns @ptr, otherwise returns
-+ * NULL.
-+ *
-+ * Architectures which do not provide __nospec_barrier() should override this
-+ * to ensure that ptr falls in the [lo, hi) interval both under architectural
-+ * execution and under speculation, preventing propagation of an out-of-bounds
-+ * pointer to code which is speculatively executed.
-+ */
-+#ifndef nospec_ptr
-+#define nospec_ptr(ptr, lo, hi) \
-+({ \
-+ typeof (ptr) __ret; \
-+ typeof (ptr) __ptr = (ptr); \
-+ typeof (ptr) __lo = (lo); \
-+ typeof (ptr) __hi = (hi); \
-+ \
-+ __ret = (__lo <= __ptr && __ptr < __hi) ? __ptr : NULL; \
-+ \
-+ __nospec_barrier(); \
-+ \
-+ __ret; \
-+})
-+#endif
-+
-+/**
-+ * nospec_array_ptr - Generate a pointer to an array element, ensuring the
-+ * pointer is bounded under speculation.
-+ *
-+ * @arr: the base of the array
-+ * @idx: the index of the element
-+ * @sz: the number of elements in the array
-+ *
-+ * If @idx falls in the interval [0, @sz), returns the pointer to @arr[@idx],
-+ * otherwise returns NULL.
-+ *
-+ * This is a wrapper around nospec_ptr(), provided for convenience.
-+ * Architectures should implement nospec_ptr() to ensure this is the case
-+ * under speculation.
-+ */
-+#define nospec_array_ptr(arr, idx, sz) \
-+({ \
-+ typeof(*(arr)) *__arr = (arr); \
-+ typeof(idx) __idx = (idx); \
-+ typeof(sz) __sz = (sz); \
-+ \
-+ nospec_ptr(__arr + __idx, __arr, __arr + __sz); \
-+})
-+
-+#undef __nospec_barrier
-+
- #ifndef __smp_mb
- #define __smp_mb() mb()
- #endif
---
-2.14.3
-
-From 2b98026ffeeb0b4a06c80fe39bfebd5cef4a8fa6 Mon Sep 17 00:00:00 2001
-From: Mark Rutland <mark.rutland@arm.com>
-Date: Thu, 7 Dec 2017 17:15:01 +0000
-Subject: [PATCH 03/19] arm64: implement nospec_ptr()
-
-This patch implements nospec_ptr() for arm64, following the recommended
-architectural sequence.
-
-Signed-off-by: Mark Rutland <mark.rutland@arm.com>
-Signed-off-by: Will Deacon <will.deacon@arm.com>
-Cc: Dan Williams <dan.j.williams@intel.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- arch/arm64/include/asm/barrier.h | 55 ++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 55 insertions(+)
-
-diff --git a/arch/arm64/include/asm/barrier.h b/arch/arm64/include/asm/barrier.h
-index 77651c49ef44..b4819f6a0e5c 100644
---- a/arch/arm64/include/asm/barrier.h
-+++ b/arch/arm64/include/asm/barrier.h
-@@ -40,6 +40,61 @@
- #define dma_rmb() dmb(oshld)
- #define dma_wmb() dmb(oshst)
-
-+#define __load_no_speculate_n(ptr, lo, hi, failval, cmpptr, w, sz) \
-+({ \
-+ typeof(*ptr) __nln_val; \
-+ typeof(*ptr) __failval = \
-+ (typeof(*ptr))(unsigned long)(failval); \
-+ \
-+ asm volatile ( \
-+ " cmp %[c], %[l]\n" \
-+ " ccmp %[c], %[h], 2, cs\n" \
-+ " b.cs 1f\n" \
-+ " ldr" #sz " %" #w "[v], %[p]\n" \
-+ "1: csel %" #w "[v], %" #w "[v], %" #w "[f], cc\n" \
-+ " hint #0x14 // CSDB\n" \
-+ : [v] "=&r" (__nln_val) \
-+ : [p] "m" (*(ptr)), [l] "r" (lo), [h] "r" (hi), \
-+ [f] "rZ" (__failval), [c] "r" (cmpptr) \
-+ : "cc"); \
-+ \
-+ __nln_val; \
-+})
-+
-+#define __load_no_speculate(ptr, lo, hi, failval, cmpptr) \
-+({ \
-+ typeof(*(ptr)) __nl_val; \
-+ \
-+ switch (sizeof(__nl_val)) { \
-+ case 1: \
-+ __nl_val = __load_no_speculate_n(ptr, lo, hi, failval, \
-+ cmpptr, w, b); \
-+ break; \
-+ case 2: \
-+ __nl_val = __load_no_speculate_n(ptr, lo, hi, failval, \
-+ cmpptr, w, h); \
-+ break; \
-+ case 4: \
-+ __nl_val = __load_no_speculate_n(ptr, lo, hi, failval, \
-+ cmpptr, w, ); \
-+ break; \
-+ case 8: \
-+ __nl_val = __load_no_speculate_n(ptr, lo, hi, failval, \
-+ cmpptr, x, ); \
-+ break; \
-+ default: \
-+ BUILD_BUG(); \
-+ } \
-+ \
-+ __nl_val; \
-+})
-+
-+#define nospec_ptr(ptr, lo, hi) \
-+({ \
-+ typeof(ptr) __np_ptr = (ptr); \
-+ __load_no_speculate(&__np_ptr, lo, hi, 0, __np_ptr); \
-+})
-+
- #define __smp_mb() dmb(ish)
- #define __smp_rmb() dmb(ishld)
- #define __smp_wmb() dmb(ishst)
---
-2.14.3
-
-From cedaed8d38108dc6b68c1418d9b942f64b2be488 Mon Sep 17 00:00:00 2001
-From: Mark Rutland <mark.rutland@arm.com>
-Date: Fri, 5 Jan 2018 16:44:36 +0000
-Subject: [PATCH 04/19] arm: implement nospec_ptr()
-
-This patch implements nospec_ptr() for arm, following the recommended
-architectural sequences for the arm and thumb instruction sets.
-
-Signed-off-by: Mark Rutland <mark.rutland@arm.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- arch/arm/include/asm/barrier.h | 75 ++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 75 insertions(+)
-
-diff --git a/arch/arm/include/asm/barrier.h b/arch/arm/include/asm/barrier.h
-index 40f5c410fd8c..6384c90e4b72 100644
---- a/arch/arm/include/asm/barrier.h
-+++ b/arch/arm/include/asm/barrier.h
-@@ -37,6 +37,81 @@
- #define dmb(x) __asm__ __volatile__ ("" : : : "memory")
- #endif
-
-+#ifdef CONFIG_THUMB2_KERNEL
-+#define __load_no_speculate_n(ptr, lo, hi, failval, cmpptr, sz) \
-+({ \
-+ typeof(*ptr) __nln_val; \
-+ typeof(*ptr) __failval = \
-+ (typeof(*ptr))(unsigned long)(failval); \
-+ \
-+ asm volatile ( \
-+ " cmp %[c], %[l]\n" \
-+ " it hs\n" \
-+ " cmphs %[h], %[c]\n" \
-+ " blo 1f\n" \
-+ " ld" #sz " %[v], %[p]\n" \
-+ "1: it lo\n" \
-+ " movlo %[v], %[f]\n" \
-+ " .inst 0xf3af8014 @ CSDB\n" \
-+ : [v] "=&r" (__nln_val) \
-+ : [p] "m" (*(ptr)), [l] "r" (lo), [h] "r" (hi), \
-+ [f] "r" (__failval), [c] "r" (cmpptr) \
-+ : "cc"); \
-+ \
-+ __nln_val; \
-+})
-+#else
-+#define __load_no_speculate_n(ptr, lo, hi, failval, cmpptr, sz) \
-+({ \
-+ typeof(*ptr) __nln_val; \
-+ typeof(*ptr) __failval = \
-+ (typeof(*ptr))(unsigned long)(failval); \
-+ \
-+ asm volatile ( \
-+ " cmp %[c], %[l]\n" \
-+ " cmphs %[h], %[c]\n" \
-+ " ldr" #sz "hi %[v], %[p]\n" \
-+ " movls %[v], %[f]\n" \
-+ " .inst 0xe320f014 @ CSDB\n" \
-+ : [v] "=&r" (__nln_val) \
-+ : [p] "m" (*(ptr)), [l] "r" (lo), [h] "r" (hi), \
-+ [f] "r" (__failval), [c] "r" (cmpptr) \
-+ : "cc"); \
-+ \
-+ __nln_val; \
-+})
-+#endif
-+
-+#define __load_no_speculate(ptr, lo, hi, failval, cmpptr) \
-+({ \
-+ typeof(*(ptr)) __nl_val; \
-+ \
-+ switch (sizeof(__nl_val)) { \
-+ case 1: \
-+ __nl_val = __load_no_speculate_n(ptr, lo, hi, failval, \
-+ cmpptr, b); \
-+ break; \
-+ case 2: \
-+ __nl_val = __load_no_speculate_n(ptr, lo, hi, failval, \
-+ cmpptr, h); \
-+ break; \
-+ case 4: \
-+ __nl_val = __load_no_speculate_n(ptr, lo, hi, failval, \
-+ cmpptr, ); \
-+ break; \
-+ default: \
-+ BUILD_BUG(); \
-+ } \
-+ \
-+ __nl_val; \
-+})
-+
-+#define nospec_ptr(ptr, lo, hi) \
-+({ \
-+ typeof(ptr) __np_ptr = (ptr); \
-+ __load_no_speculate(&__np_ptr, lo, hi, 0, __np_ptr); \
-+})
-+
- #ifdef CONFIG_ARM_HEAVY_MB
- extern void (*soc_mb)(void);
- extern void arm_heavy_mb(void);
---
-2.14.3
-
-From d077f11b7fcb697af0c9419cc2273d179e6f51ad Mon Sep 17 00:00:00 2001
-From: Andi Kleen <ak@linux.intel.com>
-Date: Thu, 4 Jan 2018 13:36:20 -0800
-Subject: [PATCH 06/19] x86, barrier: stop speculation for failed access_ok
-
-When access_ok fails we should always stop speculating.
-Add the required barriers to the x86 access_ok macro.
-
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: Ingo Molnar <mingo@redhat.com>
-Cc: "H. Peter Anvin" <hpa@zytor.com>
-Cc: Arnd Bergmann <arnd@arndb.de>
-Cc: x86@kernel.org
-Signed-off-by: Andi Kleen <ak@linux.intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- arch/x86/include/asm/uaccess.h | 17 +++++++++++++----
- include/asm-generic/barrier.h | 6 +++---
- 2 files changed, 16 insertions(+), 7 deletions(-)
-
-diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h
-index 574dff4d2913..9b6f20cfaeb9 100644
---- a/arch/x86/include/asm/uaccess.h
-+++ b/arch/x86/include/asm/uaccess.h
-@@ -43,6 +43,8 @@ static inline void set_fs(mm_segment_t fs)
- /*
- * Test whether a block of memory is a valid user space address.
- * Returns 0 if the range is valid, nonzero otherwise.
-+ *
-+ * We also disable speculation when a check fails.
- */
- static inline bool __chk_range_not_ok(unsigned long addr, unsigned long size, unsigned long limit)
- {
-@@ -53,14 +55,19 @@ static inline bool __chk_range_not_ok(unsigned long addr, unsigned long size, un
- * important to subtract the size from the
- * limit, not add it to the address).
- */
-- if (__builtin_constant_p(size))
-- return unlikely(addr > limit - size);
-+ if (__builtin_constant_p(size)) {
-+ if (unlikely(addr > limit - size))
-+ return true;
-+ barrier_nospec();
-+ return false;
-+ }
-
- /* Arbitrary sizes? Be careful about overflow */
- addr += size;
-- if (unlikely(addr < size))
-+ if (unlikely(addr < size || addr > limit))
- return true;
-- return unlikely(addr > limit);
-+ barrier_nospec();
-+ return false;
- }
-
- #define __range_not_ok(addr, size, limit) \
-@@ -94,6 +101,8 @@ static inline bool __chk_range_not_ok(unsigned long addr, unsigned long size, un
- * Note that, depending on architecture, this function probably just
- * checks that the pointer is in the user space range - after calling
- * this function, memory access functions may still return -EFAULT.
-+ *
-+ * Stops speculation automatically
- */
- #define access_ok(type, addr, size) \
- ({ \
-diff --git a/include/asm-generic/barrier.h b/include/asm-generic/barrier.h
-index 91c3071f49e5..a11765eba860 100644
---- a/include/asm-generic/barrier.h
-+++ b/include/asm-generic/barrier.h
-@@ -59,7 +59,9 @@
- *
- * Architectures with a suitable memory barrier should provide an
- * implementation. This is non-portable, and generic code should use
-- * nospec_ptr().
-+ * nospec_{array_ptr,ptr}. Arch-specific code should define and use
-+ * nospec_barrier() for usages where nospec_{array_ptr,ptr} is
-+ * unsuitable.
- */
- #ifndef __nospec_barrier
- #define __nospec_barrier() do { } while (0)
-@@ -120,8 +122,6 @@
- nospec_ptr(__arr + __idx, __arr, __arr + __sz); \
- })
-
--#undef __nospec_barrier
--
- #ifndef __smp_mb
- #define __smp_mb() mb()
- #endif
---
-2.14.3
-
-From bb10d660be01a93f19d258260dd25444e14e5889 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:53:55 -0800
-Subject: [PATCH 07/19] [media] uvcvideo: prevent bounds-check bypass via
- speculative execution
-
-Static analysis reports that 'index' may be a user controlled value that
-is used as a data dependency to read 'pin' from the
-'selector->baSourceID' array. In order to avoid potential leaks of
-kernel memory values, block speculative execution of the instruction
-stream that could issue reads based on an invalid value of 'pin'.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
-Cc: linux-media@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- drivers/media/usb/uvc/uvc_v4l2.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
-index 3e7e283a44a8..7442626dc20e 100644
---- a/drivers/media/usb/uvc/uvc_v4l2.c
-+++ b/drivers/media/usb/uvc/uvc_v4l2.c
-@@ -22,6 +22,7 @@
- #include <linux/mm.h>
- #include <linux/wait.h>
- #include <linux/atomic.h>
-+#include <linux/compiler.h>
-
- #include <media/v4l2-common.h>
- #include <media/v4l2-ctrls.h>
-@@ -810,6 +811,7 @@ static int uvc_ioctl_enum_input(struct file *file, void *fh,
- struct uvc_entity *iterm = NULL;
- u32 index = input->index;
- int pin = 0;
-+ __u8 *elem;
-
- if (selector == NULL ||
- (chain->dev->quirks & UVC_QUIRK_IGNORE_SELECTOR_UNIT)) {
-@@ -820,8 +822,9 @@ static int uvc_ioctl_enum_input(struct file *file, void *fh,
- break;
- }
- pin = iterm->id;
-- } else if (index < selector->bNrInPins) {
-- pin = selector->baSourceID[index];
-+ } else if ((elem = nospec_array_ptr(selector->baSourceID, index,
-+ selector->bNrInPins))) {
-+ pin = *elem;
- list_for_each_entry(iterm, &chain->entities, chain) {
- if (!UVC_ENTITY_IS_ITERM(iterm))
- continue;
---
-2.14.3
-
-From 8a4e4e1e674b9aaf0d2ca95c3fa5117ab5aa2987 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:53:56 -0800
-Subject: [PATCH 08/19] carl9170: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'queue' may be a user controlled value that
-is used as a data dependency to read from the 'ar9170_qmap' array. In
-order to avoid potential leaks of kernel memory values, block
-speculative execution of the instruction stream that could issue reads
-based on an invalid result of 'ar9170_qmap[queue]'. In this case the
-value of 'ar9170_qmap[queue]' is immediately reused as an index to the
-'ar->edcf' array.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: Christian Lamparter <chunkeey@googlemail.com>
-Cc: Kalle Valo <kvalo@codeaurora.org>
-Cc: linux-wireless@vger.kernel.org
-Cc: netdev@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- drivers/net/wireless/ath/carl9170/main.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c
-index 988c8857d78c..0ff34cbe2b62 100644
---- a/drivers/net/wireless/ath/carl9170/main.c
-+++ b/drivers/net/wireless/ath/carl9170/main.c
-@@ -41,6 +41,7 @@
- #include <linux/module.h>
- #include <linux/etherdevice.h>
- #include <linux/random.h>
-+#include <linux/compiler.h>
- #include <net/mac80211.h>
- #include <net/cfg80211.h>
- #include "hw.h"
-@@ -1384,11 +1385,12 @@ static int carl9170_op_conf_tx(struct ieee80211_hw *hw,
- const struct ieee80211_tx_queue_params *param)
- {
- struct ar9170 *ar = hw->priv;
-+ const u8 *elem;
- int ret;
-
- mutex_lock(&ar->mutex);
-- if (queue < ar->hw->queues) {
-- memcpy(&ar->edcf[ar9170_qmap[queue]], param, sizeof(*param));
-+ if ((elem = nospec_array_ptr(ar9170_qmap, queue, ar->hw->queues))) {
-+ memcpy(&ar->edcf[*elem], param, sizeof(*param));
- ret = carl9170_set_qos(ar);
- } else {
- ret = -EINVAL;
---
-2.14.3
-
-From b2134ba6dc16b4e6a232e34179c3489c3e51ba89 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:53:57 -0800
-Subject: [PATCH 09/19] p54: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'queue' may be a user controlled value that
-is used as a data dependency to read from the 'priv->qos_params' array.
-In order to avoid potential leaks of kernel memory values, block
-speculative execution of the instruction stream that could issue reads
-based on an invalid result of 'priv->qos_params[queue]'.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: Christian Lamparter <chunkeey@googlemail.com>
-Cc: Kalle Valo <kvalo@codeaurora.org>
-Cc: linux-wireless@vger.kernel.org
-Cc: netdev@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- drivers/net/wireless/intersil/p54/main.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/net/wireless/intersil/p54/main.c b/drivers/net/wireless/intersil/p54/main.c
-index ab6d39e12069..85c9cbee35fc 100644
---- a/drivers/net/wireless/intersil/p54/main.c
-+++ b/drivers/net/wireless/intersil/p54/main.c
-@@ -20,6 +20,7 @@
- #include <linux/firmware.h>
- #include <linux/etherdevice.h>
- #include <linux/module.h>
-+#include <linux/compiler.h>
-
- #include <net/mac80211.h>
-
-@@ -411,12 +412,13 @@ static int p54_conf_tx(struct ieee80211_hw *dev,
- const struct ieee80211_tx_queue_params *params)
- {
- struct p54_common *priv = dev->priv;
-+ struct p54_edcf_queue_param *p54_q;
- int ret;
-
- mutex_lock(&priv->conf_mutex);
-- if (queue < dev->queues) {
-- P54_SET_QUEUE(priv->qos_params[queue], params->aifs,
-- params->cw_min, params->cw_max, params->txop);
-+ if ((p54_q = nospec_array_ptr(priv->qos_params, queue, dev->queues))) {
-+ P54_SET_QUEUE(p54_q[0], params->aifs, params->cw_min,
-+ params->cw_max, params->txop);
- ret = p54_set_edcf(priv);
- } else
- ret = -EINVAL;
---
-2.14.3
-
-From addb69e8d90a79887aa369398e73b9b64fb9e910 Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:53:58 -0800
-Subject: [PATCH 10/19] qla2xxx: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'handle' may be a user controlled value
-that is used as a data dependency to read 'sp' from the
-'req->outstanding_cmds' array. In order to avoid potential leaks of
-kernel memory values, block speculative execution of the instruction
-stream that could issue reads based on an invalid value of 'sp'. In this
-case 'sp' is directly dereferenced later in the function.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: qla2xxx-upstream@qlogic.com
-Cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com>
-Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
-Cc: linux-scsi@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- drivers/scsi/qla2xxx/qla_mr.c | 15 +++++++++------
- 1 file changed, 9 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/scsi/qla2xxx/qla_mr.c b/drivers/scsi/qla2xxx/qla_mr.c
-index d5da3981cefe..128b41de3784 100644
---- a/drivers/scsi/qla2xxx/qla_mr.c
-+++ b/drivers/scsi/qla2xxx/qla_mr.c
-@@ -9,6 +9,7 @@
- #include <linux/ktime.h>
- #include <linux/pci.h>
- #include <linux/ratelimit.h>
-+#include <linux/compiler.h>
- #include <linux/vmalloc.h>
- #include <linux/bsg-lib.h>
- #include <scsi/scsi_tcq.h>
-@@ -2275,7 +2276,7 @@ qlafx00_ioctl_iosb_entry(scsi_qla_host_t *vha, struct req_que *req,
- static void
- qlafx00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)
- {
-- srb_t *sp;
-+ srb_t *sp, **elem;
- fc_port_t *fcport;
- struct scsi_cmnd *cp;
- struct sts_entry_fx00 *sts;
-@@ -2304,8 +2305,9 @@ qlafx00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)
- req = ha->req_q_map[que];
-
- /* Validate handle. */
-- if (handle < req->num_outstanding_cmds)
-- sp = req->outstanding_cmds[handle];
-+ if ((elem = nospec_array_ptr(req->outstanding_cmds, handle,
-+ req->num_outstanding_cmds)))
-+ sp = *elem;
- else
- sp = NULL;
-
-@@ -2626,7 +2628,7 @@ static void
- qlafx00_multistatus_entry(struct scsi_qla_host *vha,
- struct rsp_que *rsp, void *pkt)
- {
-- srb_t *sp;
-+ srb_t *sp, **elem;
- struct multi_sts_entry_fx00 *stsmfx;
- struct qla_hw_data *ha = vha->hw;
- uint32_t handle, hindex, handle_count, i;
-@@ -2655,8 +2657,9 @@ qlafx00_multistatus_entry(struct scsi_qla_host *vha,
- req = ha->req_q_map[que];
-
- /* Validate handle. */
-- if (handle < req->num_outstanding_cmds)
-- sp = req->outstanding_cmds[handle];
-+ if ((elem = nospec_array_ptr(req->outstanding_cmds, handle,
-+ req->num_outstanding_cmds)))
-+ sp = *elem;
- else
- sp = NULL;
-
---
-2.14.3
-
-From 18e5e10139f6a04e00f6522c4b0091f167eb6c1d Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:54:00 -0800
-Subject: [PATCH 11/19] cw1200: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'queue' may be a user controlled value that
-is used as a data dependency to read 'txq_params' from the
-'priv->tx_queue_params.params' array. In order to avoid potential leaks
-of kernel memory values, block speculative execution of the instruction
-stream that could issue reads based on an invalid value of 'txq_params'.
-In this case 'txq_params' is referenced later in the function.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: Solomon Peachy <pizza@shaftnet.org>
-Cc: Kalle Valo <kvalo@codeaurora.org>
-Cc: linux-wireless@vger.kernel.org
-Cc: netdev@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- drivers/net/wireless/st/cw1200/sta.c | 10 ++++++----
- drivers/net/wireless/st/cw1200/wsm.h | 4 +---
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/net/wireless/st/cw1200/sta.c b/drivers/net/wireless/st/cw1200/sta.c
-index 38678e9a0562..886942617f14 100644
---- a/drivers/net/wireless/st/cw1200/sta.c
-+++ b/drivers/net/wireless/st/cw1200/sta.c
-@@ -14,6 +14,7 @@
- #include <linux/firmware.h>
- #include <linux/module.h>
- #include <linux/etherdevice.h>
-+#include <linux/compiler.h>
-
- #include "cw1200.h"
- #include "sta.h"
-@@ -612,18 +613,19 @@ int cw1200_conf_tx(struct ieee80211_hw *dev, struct ieee80211_vif *vif,
- u16 queue, const struct ieee80211_tx_queue_params *params)
- {
- struct cw1200_common *priv = dev->priv;
-+ struct wsm_set_tx_queue_params *txq_params;
- int ret = 0;
- /* To prevent re-applying PM request OID again and again*/
- bool old_uapsd_flags;
-
- mutex_lock(&priv->conf_mutex);
-
-- if (queue < dev->queues) {
-+ if ((txq_params = nospec_array_ptr(priv->tx_queue_params.params,
-+ queue, dev->queues))) {
- old_uapsd_flags = le16_to_cpu(priv->uapsd_info.uapsd_flags);
-
-- WSM_TX_QUEUE_SET(&priv->tx_queue_params, queue, 0, 0, 0);
-- ret = wsm_set_tx_queue_params(priv,
-- &priv->tx_queue_params.params[queue], queue);
-+ WSM_TX_QUEUE_SET(txq_params, 0, 0, 0);
-+ ret = wsm_set_tx_queue_params(priv, txq_params, queue);
- if (ret) {
- ret = -EINVAL;
- goto out;
-diff --git a/drivers/net/wireless/st/cw1200/wsm.h b/drivers/net/wireless/st/cw1200/wsm.h
-index 48086e849515..8c8d9191e233 100644
---- a/drivers/net/wireless/st/cw1200/wsm.h
-+++ b/drivers/net/wireless/st/cw1200/wsm.h
-@@ -1099,10 +1099,8 @@ struct wsm_tx_queue_params {
- };
-
-
--#define WSM_TX_QUEUE_SET(queue_params, queue, ack_policy, allowed_time,\
-- max_life_time) \
-+#define WSM_TX_QUEUE_SET(p, ack_policy, allowed_time, max_life_time) \
- do { \
-- struct wsm_set_tx_queue_params *p = &(queue_params)->params[queue]; \
- p->ackPolicy = (ack_policy); \
- p->allowedMediumTime = (allowed_time); \
- p->maxTransmitLifetime = (max_life_time); \
---
-2.14.3
-
-From 0096694093529628e2a855812a5111358d1e952d Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:54:01 -0800
-Subject: [PATCH 12/19] Thermal/int340x: prevent bounds-check bypass via
- speculative execution
-
-Static analysis reports that 'trip' may be a user controlled value that
-is used as a data dependency to read '*temp' from the 'd->aux_trips'
-array. In order to avoid potential leaks of kernel memory values, block
-speculative execution of the instruction stream that could issue reads
-based on an invalid value of '*temp'.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
-Cc: Zhang Rui <rui.zhang@intel.com>
-Cc: Eduardo Valentin <edubezval@gmail.com>
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- drivers/thermal/int340x_thermal/int340x_thermal_zone.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/thermal/int340x_thermal/int340x_thermal_zone.c b/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
-index 145a5c53ff5c..442a1d9bf7ad 100644
---- a/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
-+++ b/drivers/thermal/int340x_thermal/int340x_thermal_zone.c
-@@ -17,6 +17,7 @@
- #include <linux/init.h>
- #include <linux/acpi.h>
- #include <linux/thermal.h>
-+#include <linux/compiler.h>
- #include "int340x_thermal_zone.h"
-
- static int int340x_thermal_get_zone_temp(struct thermal_zone_device *zone,
-@@ -52,20 +53,21 @@ static int int340x_thermal_get_trip_temp(struct thermal_zone_device *zone,
- int trip, int *temp)
- {
- struct int34x_thermal_zone *d = zone->devdata;
-+ unsigned long *elem;
- int i;
-
- if (d->override_ops && d->override_ops->get_trip_temp)
- return d->override_ops->get_trip_temp(zone, trip, temp);
-
-- if (trip < d->aux_trip_nr)
-- *temp = d->aux_trips[trip];
-- else if (trip == d->crt_trip_id)
-+ if ((elem = nospec_array_ptr(d->aux_trips, trip, d->aux_trip_nr))) {
-+ *temp = *elem;
-+ } else if (trip == d->crt_trip_id) {
- *temp = d->crt_temp;
-- else if (trip == d->psv_trip_id)
-+ } else if (trip == d->psv_trip_id) {
- *temp = d->psv_temp;
-- else if (trip == d->hot_trip_id)
-+ } else if (trip == d->hot_trip_id) {
- *temp = d->hot_temp;
-- else {
-+ } else {
- for (i = 0; i < INT340X_THERMAL_MAX_ACT_TRIP_COUNT; i++) {
- if (d->act_trips[i].valid &&
- d->act_trips[i].id == trip) {
---
-2.14.3
-
-From 2a5a165ff05df37c3f4d02ab70ddee1e9329401c Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:54:03 -0800
-Subject: [PATCH 13/19] ipv6: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'offset' may be a user controlled value
-that is used as a data dependency reading from a raw6_frag_vec buffer.
-In order to avoid potential leaks of kernel memory values, block
-speculative execution of the instruction stream that could issue further
-reads based on an invalid '*(rfv->c + offset)' value.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: "David S. Miller" <davem@davemloft.net>
-Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
-Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
-Cc: netdev@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- net/ipv6/raw.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
-index 761a473a07c5..384e3d59d148 100644
---- a/net/ipv6/raw.c
-+++ b/net/ipv6/raw.c
-@@ -33,6 +33,7 @@
- #include <linux/skbuff.h>
- #include <linux/compat.h>
- #include <linux/uaccess.h>
-+#include <linux/compiler.h>
- #include <asm/ioctls.h>
-
- #include <net/net_namespace.h>
-@@ -725,17 +726,17 @@ static int raw6_getfrag(void *from, char *to, int offset, int len, int odd,
- struct sk_buff *skb)
- {
- struct raw6_frag_vec *rfv = from;
-+ char *rfv_buf;
-
-- if (offset < rfv->hlen) {
-+ if ((rfv_buf = nospec_array_ptr(rfv->c, offset, rfv->hlen))) {
- int copy = min(rfv->hlen - offset, len);
-
- if (skb->ip_summed == CHECKSUM_PARTIAL)
-- memcpy(to, rfv->c + offset, copy);
-+ memcpy(to, rfv_buf, copy);
- else
- skb->csum = csum_block_add(
- skb->csum,
-- csum_partial_copy_nocheck(rfv->c + offset,
-- to, copy, 0),
-+ csum_partial_copy_nocheck(rfv_buf, to, copy, 0),
- odd);
-
- odd = 0;
---
-2.14.3
-
-From f38cdd5d461ce686d201e41242fd626641e7253d Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:54:02 -0800
-Subject: [PATCH 14/19] ipv4: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'offset' may be a user controlled value
-that is used as a data dependency reading from a raw_frag_vec buffer.
-In order to avoid potential leaks of kernel memory values, block
-speculative execution of the instruction stream that could issue further
-reads based on an invalid '*(rfv->c + offset)' value.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: "David S. Miller" <davem@davemloft.net>
-Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
-Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
-Cc: netdev@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- net/ipv4/raw.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
-index 125c1eab3eaa..f72b20131a15 100644
---- a/net/ipv4/raw.c
-+++ b/net/ipv4/raw.c
-@@ -57,6 +57,7 @@
- #include <linux/in_route.h>
- #include <linux/route.h>
- #include <linux/skbuff.h>
-+#include <linux/compiler.h>
- #include <linux/igmp.h>
- #include <net/net_namespace.h>
- #include <net/dst.h>
-@@ -472,17 +473,17 @@ static int raw_getfrag(void *from, char *to, int offset, int len, int odd,
- struct sk_buff *skb)
- {
- struct raw_frag_vec *rfv = from;
-+ char *rfv_buf;
-
-- if (offset < rfv->hlen) {
-+ if ((rfv_buf = nospec_array_ptr(rfv->hdr.c, offset, rfv->hlen))) {
- int copy = min(rfv->hlen - offset, len);
-
- if (skb->ip_summed == CHECKSUM_PARTIAL)
-- memcpy(to, rfv->hdr.c + offset, copy);
-+ memcpy(to, rfv_buf, copy);
- else
- skb->csum = csum_block_add(
- skb->csum,
-- csum_partial_copy_nocheck(rfv->hdr.c + offset,
-- to, copy, 0),
-+ csum_partial_copy_nocheck(rfv_buf, to, copy, 0),
- odd);
-
- odd = 0;
---
-2.14.3
-
-From e5ef1fdb08b0d2ae0af3f725a6c4a3394af538fe Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:54:05 -0800
-Subject: [PATCH 16/19] net: mpls: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'index' may be a user controlled value that
-is used as a data dependency reading 'rt' from the 'platform_label'
-array. In order to avoid potential leaks of kernel memory values, block
-speculative execution of the instruction stream that could issue further
-reads based on an invalid 'rt' value.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: "David S. Miller" <davem@davemloft.net>
-Cc: Eric W. Biederman <ebiederm@xmission.com>
-Cc: netdev@vger.kernel.org
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- net/mpls/af_mpls.c | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c
-index 8ca9915befc8..ebcf0e246cfe 100644
---- a/net/mpls/af_mpls.c
-+++ b/net/mpls/af_mpls.c
-@@ -8,6 +8,7 @@
- #include <linux/ipv6.h>
- #include <linux/mpls.h>
- #include <linux/netconf.h>
-+#include <linux/compiler.h>
- #include <linux/vmalloc.h>
- #include <linux/percpu.h>
- #include <net/ip.h>
-@@ -77,12 +78,13 @@ static void rtmsg_lfib(int event, u32 label, struct mpls_route *rt,
- static struct mpls_route *mpls_route_input_rcu(struct net *net, unsigned index)
- {
- struct mpls_route *rt = NULL;
-+ struct mpls_route __rcu **platform_label =
-+ rcu_dereference(net->mpls.platform_label);
-+ struct mpls_route __rcu **rtp;
-
-- if (index < net->mpls.platform_labels) {
-- struct mpls_route __rcu **platform_label =
-- rcu_dereference(net->mpls.platform_label);
-- rt = rcu_dereference(platform_label[index]);
-- }
-+ if ((rtp = nospec_array_ptr(platform_label, index,
-+ net->mpls.platform_labels)))
-+ rt = rcu_dereference(*rtp);
- return rt;
- }
-
---
-2.14.3
-
-From 276b18c636de3afc89571198b22b518473ce2b2a Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:54:07 -0800
-Subject: [PATCH 17/19] udf: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'eahd->appAttrLocation' and
-'eahd->impAttrLocation' may be a user controlled values that are used as
-data dependencies for calculating source and destination buffers for
-memmove operations. In order to avoid potential leaks of kernel memory
-values, block speculative execution of the instruction stream that could
-issue further reads based on invalid 'aal' or 'ial' values.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: Jan Kara <jack@suse.com>
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- fs/udf/misc.c | 39 +++++++++++++++++++++------------------
- 1 file changed, 21 insertions(+), 18 deletions(-)
-
-diff --git a/fs/udf/misc.c b/fs/udf/misc.c
-index 401e64cde1be..9403160822de 100644
---- a/fs/udf/misc.c
-+++ b/fs/udf/misc.c
-@@ -51,6 +51,8 @@ struct genericFormat *udf_add_extendedattr(struct inode *inode, uint32_t size,
- int offset;
- uint16_t crclen;
- struct udf_inode_info *iinfo = UDF_I(inode);
-+ uint8_t *ea_dst, *ea_src;
-+ uint32_t aal, ial;
-
- ea = iinfo->i_ext.i_data;
- if (iinfo->i_lenEAttr) {
-@@ -100,33 +102,34 @@ struct genericFormat *udf_add_extendedattr(struct inode *inode, uint32_t size,
-
- offset = iinfo->i_lenEAttr;
- if (type < 2048) {
-- if (le32_to_cpu(eahd->appAttrLocation) <
-- iinfo->i_lenEAttr) {
-- uint32_t aal =
-- le32_to_cpu(eahd->appAttrLocation);
-- memmove(&ea[offset - aal + size],
-- &ea[aal], offset - aal);
-+ aal = le32_to_cpu(eahd->appAttrLocation);
-+ if ((ea_dst = nospec_array_ptr(ea, offset - aal + size,
-+ iinfo->i_lenEAttr)) &&
-+ (ea_src = nospec_array_ptr(ea, aal,
-+ iinfo->i_lenEAttr))) {
-+ memmove(ea_dst, ea_src, offset - aal);
- offset -= aal;
- eahd->appAttrLocation =
- cpu_to_le32(aal + size);
- }
-- if (le32_to_cpu(eahd->impAttrLocation) <
-- iinfo->i_lenEAttr) {
-- uint32_t ial =
-- le32_to_cpu(eahd->impAttrLocation);
-- memmove(&ea[offset - ial + size],
-- &ea[ial], offset - ial);
-+
-+ ial = le32_to_cpu(eahd->impAttrLocation);
-+ if ((ea_dst = nospec_array_ptr(ea, offset - ial + size,
-+ iinfo->i_lenEAttr)) &&
-+ (ea_src = nospec_array_ptr(ea, ial,
-+ iinfo->i_lenEAttr))) {
-+ memmove(ea_dst, ea_src, offset - ial);
- offset -= ial;
- eahd->impAttrLocation =
- cpu_to_le32(ial + size);
- }
- } else if (type < 65536) {
-- if (le32_to_cpu(eahd->appAttrLocation) <
-- iinfo->i_lenEAttr) {
-- uint32_t aal =
-- le32_to_cpu(eahd->appAttrLocation);
-- memmove(&ea[offset - aal + size],
-- &ea[aal], offset - aal);
-+ aal = le32_to_cpu(eahd->appAttrLocation);
-+ if ((ea_dst = nospec_array_ptr(ea, offset - aal + size,
-+ iinfo->i_lenEAttr)) &&
-+ (ea_src = nospec_array_ptr(ea, aal,
-+ iinfo->i_lenEAttr))) {
-+ memmove(ea_dst, ea_src, offset - aal);
- offset -= aal;
- eahd->appAttrLocation =
- cpu_to_le32(aal + size);
---
-2.14.3
-
-From e13d6b8e1e65dc93044b72a84990094bb4f7b94c Mon Sep 17 00:00:00 2001
-From: Dan Williams <dan.j.williams@intel.com>
-Date: Wed, 3 Jan 2018 13:54:09 -0800
-Subject: [PATCH 18/19] userns: prevent bounds-check bypass via speculative
- execution
-
-Static analysis reports that 'pos' may be a user controlled value that
-is used as a data dependency determining which extent to return out of
-'map'. In order to avoid potential leaks of kernel memory values, block
-speculative execution of the instruction stream that could issue further
-reads based on an invalid speculative result from 'm_start()'.
-
-Based on an original patch by Elena Reshetova.
-
-Cc: "Eric W. Biederman" <ebiederm@xmission.com>
-Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
----
- kernel/user_namespace.c | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
-index 246d4d4ce5c7..e958f2e5c061 100644
---- a/kernel/user_namespace.c
-+++ b/kernel/user_namespace.c
-@@ -648,15 +648,13 @@ static void *m_start(struct seq_file *seq, loff_t *ppos,
- {
- loff_t pos = *ppos;
- unsigned extents = map->nr_extents;
-- smp_rmb();
-
-- if (pos >= extents)
-- return NULL;
-+ /* paired with smp_wmb in map_write */
-+ smp_rmb();
-
- if (extents <= UID_GID_MAP_MAX_BASE_EXTENTS)
-- return &map->extent[pos];
--
-- return &map->forward[pos];
-+ return nospec_array_ptr(map->extent, pos, extents);
-+ return nospec_array_ptr(map->forward, pos, extents);
- }
-
- static void *uid_m_start(struct seq_file *seq, loff_t *ppos)
---
-2.14.3
diff --git a/sources b/sources
index 0a3ef88dd..8715868cd 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-SHA512 (linux-4.15.tar.xz) = c00d92659df815a53dcac7dde145b742b1f20867d380c07cb09ddb3295d6ff10f8931b21ef0b09d7156923a3957b39d74d87c883300173b2e20690d2b4ec35ea
-SHA512 (patch-4.15.2.xz) = 883d36831ab6a785dda071c91502ca4401b4d4602901bb19716a390cf48ef21830ebb309fe77ec1b741519fa799de7e342df5d7689224a2989f2816bbeaded24
+SHA512 (linux-4.16.tar.xz) = ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662
diff --git a/sunrpc-remove-incorrect-HMAC-request-initialization.patch b/sunrpc-remove-incorrect-HMAC-request-initialization.patch
new file mode 100644
index 000000000..c31bb73bb
--- /dev/null
+++ b/sunrpc-remove-incorrect-HMAC-request-initialization.patch
@@ -0,0 +1,54 @@
+From 5cdbcf4aa78b57c4f10892f20725174829cca191 Mon Sep 17 00:00:00 2001
+From: Eric Biggers <ebiggers@google.com>
+Date: Wed, 28 Mar 2018 10:57:22 -0700
+Subject: [PATCH] sunrpc: remove incorrect HMAC request initialization
+
+make_checksum_hmac_md5() is allocating an HMAC transform and doing
+crypto API calls in the following order:
+
+ crypto_ahash_init()
+ crypto_ahash_setkey()
+ crypto_ahash_digest()
+
+This is wrong because it makes no sense to init() the request before a
+key has been set, given that the initial state depends on the key. And
+digest() is short for init() + update() + final(), so in this case
+there's no need to explicitly call init() at all.
+
+Before commit 9fa68f620041 ("crypto: hash - prevent using keyed hashes
+without setting key") the extra init() had no real effect, at least for
+the software HMAC implementation. (There are also hardware drivers that
+implement HMAC-MD5, and it's not immediately obvious how gracefully they
+handle init() before setkey().) But now the crypto API detects this
+incorrect initialization and returns -ENOKEY. This is breaking NFS
+mounts in some cases.
+
+Fix it by removing the incorrect call to crypto_ahash_init().
+
+Reported-by: Michael Young <m.a.young@durham.ac.uk>
+Fixes: 9fa68f620041 ("crypto: hash - prevent using keyed hashes without setting key")
+Fixes: fffdaef2eb4a ("gss_krb5: Add support for rc4-hmac encryption")
+Cc: stable@vger.kernel.org
+Signed-off-by: Eric Biggers <ebiggers@google.com>
+Signed-off-by: Jeremy Cline <jeremy@jcline.org>
+---
+ net/sunrpc/auth_gss/gss_krb5_crypto.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/net/sunrpc/auth_gss/gss_krb5_crypto.c b/net/sunrpc/auth_gss/gss_krb5_crypto.c
+index 12649c9fedab..8654494b4d0a 100644
+--- a/net/sunrpc/auth_gss/gss_krb5_crypto.c
++++ b/net/sunrpc/auth_gss/gss_krb5_crypto.c
+@@ -237,9 +237,6 @@ make_checksum_hmac_md5(struct krb5_ctx *kctx, char *header, int hdrlen,
+
+ ahash_request_set_callback(req, CRYPTO_TFM_REQ_MAY_SLEEP, NULL, NULL);
+
+- err = crypto_ahash_init(req);
+- if (err)
+- goto out;
+ err = crypto_ahash_setkey(hmac_md5, cksumkey, kctx->gk5e->keylength);
+ if (err)
+ goto out;
+--
+2.16.2
+
diff --git a/v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch b/v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
index 7e22e3669..a37b15ec7 100644
--- a/v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
+++ b/v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
@@ -25,5 +25,5 @@ index ee5466a374bf..b3c683a84d3f 100644
"LEN004a", /* W541 */
+ "LEN0073", /* X1 Carbon 5 */
"LEN200f", /* T450s */
- "LEN2018", /* T460p */
NULL
+ };
diff --git a/wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch b/wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch
new file mode 100644
index 000000000..dd8db063c
--- /dev/null
+++ b/wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch
@@ -0,0 +1,164 @@
+From patchwork Thu Mar 15 11:31:33 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: wcn36xx: Fix firmware crash due to corrupted buffer address
+X-Patchwork-Submitter: Ramon Fried <rfried@codeaurora.org>
+X-Patchwork-Id: 131764
+Message-Id: <20180315113133.28791-1-rfried@codeaurora.org>
+To: k.eugene.e@gmail.com, kvalo@codeaurora.org,
+ wcn36xx@lists.infradead.org, linux-wireless@vger.kernel.org
+Cc: Loic Poulain <loic.poulain@linaro.org>, Ramon Fried <rfried@codeaurora.org>
+Date: Thu, 15 Mar 2018 13:31:33 +0200
+From: Ramon Fried <rfried@codeaurora.org>
+List-Id: <linux-wireless.vger.kernel.org>
+
+From: Loic Poulain <loic.poulain@linaro.org>
+
+wcn36xx_start_tx function retrieves the buffer descriptor from the
+channel control queue to start filling tx buffer information. However,
+nothing prevents this same buffer to be concurrently accessed in a
+concurent tx call, leading to potential buffer coruption and firmware
+crash (observed during iperf test). The channel control queue should
+only be accessed and updated with the channel lock.
+
+Fix this issue by using a local buffer descriptor which will be copied
+in the thread-safe wcn36xx_dxe_tx_frame.
+
+Note that buffer descriptor size is few bytes so the introduced copy
+overhead is insignificant. Moreover, this allows to keep the locked
+section minimal.
+
+Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
+Signed-off-by: Ramon Fried <rfried@codeaurora.org>
+---
+ drivers/net/wireless/ath/wcn36xx/dxe.c | 13 ++++---------
+ drivers/net/wireless/ath/wcn36xx/dxe.h | 3 ++-
+ drivers/net/wireless/ath/wcn36xx/txrx.c | 32 ++++++++++----------------------
+ 3 files changed, 16 insertions(+), 32 deletions(-)
+
+--
+The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
+a Linux Foundation Collaborative Project
+
+diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c
+index 7d5ecaf02288..2c3b899a88fa 100644
+--- a/drivers/net/wireless/ath/wcn36xx/dxe.c
++++ b/drivers/net/wireless/ath/wcn36xx/dxe.c
+@@ -27,15 +27,6 @@
+ #include "wcn36xx.h"
+ #include "txrx.h"
+
+-void *wcn36xx_dxe_get_next_bd(struct wcn36xx *wcn, bool is_low)
+-{
+- struct wcn36xx_dxe_ch *ch = is_low ?
+- &wcn->dxe_tx_l_ch :
+- &wcn->dxe_tx_h_ch;
+-
+- return ch->head_blk_ctl->bd_cpu_addr;
+-}
+-
+ static void wcn36xx_ccu_write_register(struct wcn36xx *wcn, int addr, int data)
+ {
+ wcn36xx_dbg(WCN36XX_DBG_DXE,
+@@ -648,6 +639,7 @@ void wcn36xx_dxe_free_mem_pools(struct wcn36xx *wcn)
+
+ int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn,
+ struct wcn36xx_vif *vif_priv,
++ struct wcn36xx_tx_bd *bd,
+ struct sk_buff *skb,
+ bool is_low)
+ {
+@@ -681,6 +673,9 @@ int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn,
+ ctl->skb = NULL;
+ desc = ctl->desc;
+
++ /* write buffer descriptor */
++ memcpy(ctl->bd_cpu_addr, bd, sizeof(*bd));
++
+ /* Set source address of the BD we send */
+ desc->src_addr_l = ctl->bd_phy_addr;
+
+diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.h b/drivers/net/wireless/ath/wcn36xx/dxe.h
+index 2bc376c5391b..ce580960d109 100644
+--- a/drivers/net/wireless/ath/wcn36xx/dxe.h
++++ b/drivers/net/wireless/ath/wcn36xx/dxe.h
+@@ -452,6 +452,7 @@ struct wcn36xx_dxe_mem_pool {
+ dma_addr_t phy_addr;
+ };
+
++struct wcn36xx_tx_bd;
+ struct wcn36xx_vif;
+ int wcn36xx_dxe_allocate_mem_pools(struct wcn36xx *wcn);
+ void wcn36xx_dxe_free_mem_pools(struct wcn36xx *wcn);
+@@ -463,8 +464,8 @@ void wcn36xx_dxe_deinit(struct wcn36xx *wcn);
+ int wcn36xx_dxe_init_channels(struct wcn36xx *wcn);
+ int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn,
+ struct wcn36xx_vif *vif_priv,
++ struct wcn36xx_tx_bd *bd,
+ struct sk_buff *skb,
+ bool is_low);
+ void wcn36xx_dxe_tx_ack_ind(struct wcn36xx *wcn, u32 status);
+-void *wcn36xx_dxe_get_next_bd(struct wcn36xx *wcn, bool is_low);
+ #endif /* _DXE_H_ */
+diff --git a/drivers/net/wireless/ath/wcn36xx/txrx.c b/drivers/net/wireless/ath/wcn36xx/txrx.c
+index 22304edc5948..b1768ed6b0be 100644
+--- a/drivers/net/wireless/ath/wcn36xx/txrx.c
++++ b/drivers/net/wireless/ath/wcn36xx/txrx.c
+@@ -272,21 +272,9 @@ int wcn36xx_start_tx(struct wcn36xx *wcn,
+ bool is_low = ieee80211_is_data(hdr->frame_control);
+ bool bcast = is_broadcast_ether_addr(hdr->addr1) ||
+ is_multicast_ether_addr(hdr->addr1);
+- struct wcn36xx_tx_bd *bd = wcn36xx_dxe_get_next_bd(wcn, is_low);
+-
+- if (!bd) {
+- /*
+- * TX DXE are used in pairs. One for the BD and one for the
+- * actual frame. The BD DXE's has a preallocated buffer while
+- * the skb ones does not. If this isn't true something is really
+- * wierd. TODO: Recover from this situation
+- */
+-
+- wcn36xx_err("bd address may not be NULL for BD DXE\n");
+- return -EINVAL;
+- }
++ struct wcn36xx_tx_bd bd;
+
+- memset(bd, 0, sizeof(*bd));
++ memset(&bd, 0, sizeof(bd));
+
+ wcn36xx_dbg(WCN36XX_DBG_TX,
+ "tx skb %p len %d fc %04x sn %d %s %s\n",
+@@ -296,10 +284,10 @@ int wcn36xx_start_tx(struct wcn36xx *wcn,
+
+ wcn36xx_dbg_dump(WCN36XX_DBG_TX_DUMP, "", skb->data, skb->len);
+
+- bd->dpu_rf = WCN36XX_BMU_WQ_TX;
++ bd.dpu_rf = WCN36XX_BMU_WQ_TX;
+
+- bd->tx_comp = !!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS);
+- if (bd->tx_comp) {
++ bd.tx_comp = !!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS);
++ if (bd.tx_comp) {
+ wcn36xx_dbg(WCN36XX_DBG_DXE, "TX_ACK status requested\n");
+ spin_lock_irqsave(&wcn->dxe_lock, flags);
+ if (wcn->tx_ack_skb) {
+@@ -321,13 +309,13 @@ int wcn36xx_start_tx(struct wcn36xx *wcn,
+
+ /* Data frames served first*/
+ if (is_low)
+- wcn36xx_set_tx_data(bd, wcn, &vif_priv, sta_priv, skb, bcast);
++ wcn36xx_set_tx_data(&bd, wcn, &vif_priv, sta_priv, skb, bcast);
+ else
+ /* MGMT and CTRL frames are handeld here*/
+- wcn36xx_set_tx_mgmt(bd, wcn, &vif_priv, skb, bcast);
++ wcn36xx_set_tx_mgmt(&bd, wcn, &vif_priv, skb, bcast);
+
+- buff_to_be((u32 *)bd, sizeof(*bd)/sizeof(u32));
+- bd->tx_bd_sign = 0xbdbdbdbd;
++ buff_to_be((u32 *)&bd, sizeof(bd)/sizeof(u32));
++ bd.tx_bd_sign = 0xbdbdbdbd;
+
+- return wcn36xx_dxe_tx_frame(wcn, vif_priv, skb, is_low);
++ return wcn36xx_dxe_tx_frame(wcn, vif_priv, &bd, skb, is_low);
+ }
diff --git a/wcn36xx-reduce-verbosity-of-drivers-messages.patch b/wcn36xx-reduce-verbosity-of-drivers-messages.patch
new file mode 100644
index 000000000..7f9e39b40
--- /dev/null
+++ b/wcn36xx-reduce-verbosity-of-drivers-messages.patch
@@ -0,0 +1,95 @@
+From patchwork Tue Feb 27 14:05:35 2018
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v3] wcn36xx: reduce verbosity of drivers messages
+From: Ramon Fried <rfried@codeaurora.org>
+X-Patchwork-Id: 10245303
+Message-Id: <20180227140535.4794-1-rfried@codeaurora.org>
+To: k.eugene.e@gmail.com, kvalo@codeaurora.org,
+ wcn36xx@lists.infradead.org, linux-wireless@vger.kernel.org
+Cc: Ramon Fried <rfried@codeaurora.org>
+Date: Tue, 27 Feb 2018 16:05:35 +0200
+
+Whenever the WLAN interface is started the FW
+version and caps are printed.
+The caps now will be displayed only in debug mode.
+Firmware version will be displayed only once on first
+startup of the interface.
+
+Change-Id: I4db6ea7f384fe15eebe4c3ddb1d1ccab00094332
+Signed-off-by: Ramon Fried <rfried@codeaurora.org>
+---
+v2: print the firwmare version as info but only
+ onetime.
+v3: change the static variable to a struct variable.
+
+ drivers/net/wireless/ath/wcn36xx/main.c | 3 ++-
+ drivers/net/wireless/ath/wcn36xx/smd.c | 18 ++++++++++--------
+ drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 2 ++
+ 3 files changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
+index ab5be6d2c691..bfe9062bfa52 100644
+--- a/drivers/net/wireless/ath/wcn36xx/main.c
++++ b/drivers/net/wireless/ath/wcn36xx/main.c
+@@ -261,7 +261,7 @@ static void wcn36xx_feat_caps_info(struct wcn36xx *wcn)
+
+ for (i = 0; i < MAX_FEATURE_SUPPORTED; i++) {
+ if (get_feat_caps(wcn->fw_feat_caps, i))
+- wcn36xx_info("FW Cap %s\n", wcn36xx_get_cap_name(i));
++ wcn36xx_dbg(WCN36XX_DBG_MAC, "FW Cap %s\n", wcn36xx_get_cap_name(i));
+ }
+ }
+
+@@ -1283,6 +1283,7 @@ static int wcn36xx_probe(struct platform_device *pdev)
+ wcn = hw->priv;
+ wcn->hw = hw;
+ wcn->dev = &pdev->dev;
++ wcn->first_boot = true;
+ mutex_init(&wcn->conf_mutex);
+ mutex_init(&wcn->hal_mutex);
+ mutex_init(&wcn->scan_lock);
+diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
+index 2a4871ca9c72..1a5b4d57c0ac 100644
+--- a/drivers/net/wireless/ath/wcn36xx/smd.c
++++ b/drivers/net/wireless/ath/wcn36xx/smd.c
+@@ -409,15 +409,17 @@ static int wcn36xx_smd_start_rsp(struct wcn36xx *wcn, void *buf, size_t len)
+ wcn->fw_minor = rsp->start_rsp_params.version.minor;
+ wcn->fw_major = rsp->start_rsp_params.version.major;
+
+- wcn36xx_info("firmware WLAN version '%s' and CRM version '%s'\n",
+- wcn->wlan_version, wcn->crm_version);
+-
+- wcn36xx_info("firmware API %u.%u.%u.%u, %u stations, %u bssids\n",
+- wcn->fw_major, wcn->fw_minor,
+- wcn->fw_version, wcn->fw_revision,
+- rsp->start_rsp_params.stations,
+- rsp->start_rsp_params.bssids);
++ if (wcn->first_boot) {
++ wcn->first_boot = false;
++ wcn36xx_info("firmware WLAN version '%s' and CRM version '%s'\n",
++ wcn->wlan_version, wcn->crm_version);
+
++ wcn36xx_info("firmware API %u.%u.%u.%u, %u stations, %u bssids\n",
++ wcn->fw_major, wcn->fw_minor,
++ wcn->fw_version, wcn->fw_revision,
++ rsp->start_rsp_params.stations,
++ rsp->start_rsp_params.bssids);
++ }
+ return 0;
+ }
+
+diff --git a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h
+index 81017e6703b4..5854adf43f3a 100644
+--- a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h
++++ b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h
+@@ -192,6 +192,8 @@ struct wcn36xx {
+ u8 crm_version[WCN36XX_HAL_VERSION_LENGTH + 1];
+ u8 wlan_version[WCN36XX_HAL_VERSION_LENGTH + 1];
+
++ bool first_boot;
++
+ /* IRQs */
+ int tx_irq;
+ int rx_irq;