summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2020-04-25 06:35:48 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2020-04-25 06:35:48 +0200
commit750610bbd527aa7986403a19cab462dc676ed0ab (patch)
tree1078e1c78b0f5b9f501d3a3fe6cd18ec4998bec2
parent31abc94cfab0d06b87b630ce3b8b84f7c04b4286 (diff)
parente8a53f9d0f3caf6ea6a0c71f2ccfbbb2bd799c8c (diff)
downloadkernel-750610bbd527aa7986403a19cab462dc676ed0ab.tar.gz
kernel-750610bbd527aa7986403a19cab462dc676ed0ab.tar.xz
kernel-750610bbd527aa7986403a19cab462dc676ed0ab.zip
Merge remote-tracking branch 'origin/f30' into f30-user-thl-vanilla-fedorakernel-5.6.7-150.vanilla.knurd.1.fc30
-rw-r--r--0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch3487
-rw-r--r--20200310_chris_chris_wilson_co_uk.patch559
-rw-r--r--ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch905
-rw-r--r--ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch168
-rw-r--r--ARM64-Tegra-fixes.patch477
-rw-r--r--Add-LCD-support-for-Pine64-Pinebook-1080p.patch1033
-rw-r--r--Add-support-for-PinePhone-LCD-panel.patch1121
-rw-r--r--Add-support-for-the-pine64-Pinebook-Pro.patch1360
-rw-r--r--PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch481
-rw-r--r--Raspberry-Pi-4-PCIe-support.patch1995
-rw-r--r--USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch671
-rw-r--r--alsa-5.6.patch398
-rw-r--r--arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch374
-rw-r--r--arm-bcm2835-serial-8250_early-support-aux-uart.patch47
-rw-r--r--arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch50
-rw-r--r--arm64-a64-mbus.patch69
-rw-r--r--arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch320
-rw-r--r--arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch200
-rw-r--r--arm64-pine64-pinephone.patch568
-rw-r--r--arm64-pine64-pinetab.patch583
-rw-r--r--arm64-pinebook-fixes.patch429
-rw-r--r--arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch396
-rw-r--r--arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch29
-rw-r--r--arm64-tegra-jetson-tx1-fixes.patch39
-rw-r--r--backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch186
-rw-r--r--bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch30
-rwxr-xr-xconfigs/build_configs.sh72
-rw-r--r--configs/config_generation35
-rw-r--r--configs/fedora/generic/CONFIG_AD7091R51
-rw-r--r--configs/fedora/generic/CONFIG_ARCH_RANDOM (renamed from configs/fedora/generic/s390x/CONFIG_ARCH_RANDOM)0
-rw-r--r--configs/fedora/generic/CONFIG_ATH11K1
-rw-r--r--configs/fedora/generic/CONFIG_BACKLIGHT_LED1
-rw-r--r--configs/fedora/generic/CONFIG_BCM84881_PHY1
-rw-r--r--configs/fedora/generic/CONFIG_BMA4001
-rw-r--r--configs/fedora/generic/CONFIG_BOOTTIME_TRACING1
-rw-r--r--configs/fedora/generic/CONFIG_BOOT_CONFIG1
-rw-r--r--configs/fedora/generic/CONFIG_CAN_UCAN2
-rw-r--r--configs/fedora/generic/CONFIG_CAPI_AVM1
-rw-r--r--configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI1
-rw-r--r--configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL1
-rw-r--r--configs/fedora/generic/CONFIG_DLHL60D1
-rw-r--r--configs/fedora/generic/CONFIG_DMABUF_HEAPS1
-rw-r--r--configs/fedora/generic/CONFIG_DM_CLONE2
-rw-r--r--configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX63451
-rw-r--r--configs/fedora/generic/CONFIG_DRM_DP_CEC2
-rw-r--r--configs/fedora/generic/CONFIG_DRM_LVDS_CODEC1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK500HD18291
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD5991
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_XINPENG_XPP055C2721
-rw-r--r--configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA1
-rw-r--r--configs/fedora/generic/CONFIG_ETHTOOL_NETLINK1
-rw-r--r--configs/fedora/generic/CONFIG_EXFAT_FS1
-rw-r--r--configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION1
-rw-r--r--configs/fedora/generic/CONFIG_F2FS_FS_LZ41
-rw-r--r--configs/fedora/generic/CONFIG_F2FS_FS_LZO1
-rw-r--r--configs/fedora/generic/CONFIG_GIGASET_BASE1
-rw-r--r--configs/fedora/generic/CONFIG_GIGASET_CAPI1
-rw-r--r--configs/fedora/generic/CONFIG_GIGASET_DEBUG1
-rw-r--r--configs/fedora/generic/CONFIG_GIGASET_M1011
-rw-r--r--configs/fedora/generic/CONFIG_GIGASET_M1051
-rw-r--r--configs/fedora/generic/CONFIG_GPIO_LOGICVC1
-rw-r--r--configs/fedora/generic/CONFIG_GPIO_SIFIVE1
-rw-r--r--configs/fedora/generic/CONFIG_HYSDN1
-rw-r--r--configs/fedora/generic/CONFIG_HYSDN_CAPI1
-rw-r--r--configs/fedora/generic/CONFIG_I2C_PARPORT_LIGHT1
-rw-r--r--configs/fedora/generic/CONFIG_INET_ESPINTCP1
-rw-r--r--configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_BZIP21
-rw-r--r--configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP1
-rw-r--r--configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ41
-rw-r--r--configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA1
-rw-r--r--configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO1
-rw-r--r--configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE1
-rw-r--r--configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ1
-rw-r--r--configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST1
-rw-r--r--configs/fedora/generic/CONFIG_LTC24961
-rw-r--r--configs/fedora/generic/CONFIG_MFD_ROHM_BD718281
-rw-r--r--configs/fedora/generic/CONFIG_MFD_WCD934X1
-rw-r--r--configs/fedora/generic/CONFIG_MICROCHIP_PIT64B1
-rw-r--r--configs/fedora/generic/CONFIG_MPTCP1
-rw-r--r--configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST1
-rw-r--r--configs/fedora/generic/CONFIG_MPTCP_IPV61
-rw-r--r--configs/fedora/generic/CONFIG_MSM_MMCC_89981
-rw-r--r--configs/fedora/generic/CONFIG_MTD_NAND_FSL_IFC1
-rw-r--r--configs/fedora/generic/CONFIG_NET_DSA_AR93311
-rw-r--r--configs/fedora/generic/CONFIG_NET_DSA_TAG_AR93311
-rw-r--r--configs/fedora/generic/CONFIG_NET_SCH_ETS1
-rw-r--r--configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE1
-rw-r--r--configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC1
-rw-r--r--configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT1
-rw-r--r--configs/fedora/generic/CONFIG_PHY_INTEL_EMMC1
-rw-r--r--configs/fedora/generic/CONFIG_PING1
-rw-r--r--configs/fedora/generic/CONFIG_PLX_DMA1
-rw-r--r--configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS1
-rw-r--r--configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES1
-rw-r--r--configs/fedora/generic/CONFIG_QCOM_CPR1
-rw-r--r--configs/fedora/generic/CONFIG_REGULATOR_MP88591
-rw-r--r--configs/fedora/generic/CONFIG_REGULATOR_MPQ79201
-rw-r--r--configs/fedora/generic/CONFIG_REGULATOR_VQMMC_IPQ40191
-rw-r--r--configs/fedora/generic/CONFIG_RESET_BRCMSTB_RESCAL1
-rw-r--r--configs/fedora/generic/CONFIG_RESET_INTEL_GW1
-rw-r--r--configs/fedora/generic/CONFIG_SC_DISPCC_71801
-rw-r--r--configs/fedora/generic/CONFIG_SC_GPUCC_71801
-rw-r--r--configs/fedora/generic/CONFIG_SC_VIDEOCC_71801
-rw-r--r--configs/fedora/generic/CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE1
-rw-r--r--configs/fedora/generic/CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS1
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_ADM11771
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_DRIVETEMP1
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_MAX207301
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_MAX317301
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_XDPE1221
-rw-r--r--configs/fedora/generic/CONFIG_SERIAL_8250_16550A_VARIANTS1
-rw-r--r--configs/fedora/generic/CONFIG_SND_CTL_VALIDATION1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_MT66601
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_RT1308_SDW1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_RT700_SDW1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_RT711_SDW1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_RT715_SDW1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_WSA881X1
-rw-r--r--configs/fedora/generic/CONFIG_SPI_HISI_SFC_V3XX1
-rw-r--r--configs/fedora/generic/CONFIG_STAGING_EXFAT_FS1
-rw-r--r--configs/fedora/generic/CONFIG_STRICT_KERNEL_RWX1
-rw-r--r--configs/fedora/generic/CONFIG_SYNTH_EVENT_GEN_TEST1
-rw-r--r--configs/fedora/generic/CONFIG_THUNDERBOLT1
-rw-r--r--configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI1
-rw-r--r--configs/fedora/generic/CONFIG_VSOCKETS_LOOPBACK1
-rw-r--r--configs/fedora/generic/CONFIG_WIREGUARD1
-rw-r--r--configs/fedora/generic/CONFIG_WIREGUARD_DEBUG1
-rw-r--r--configs/fedora/generic/CONFIG_X86_PTDUMP1
-rw-r--r--configs/fedora/generic/CONFIG_ZONEFS_FS1
-rw-r--r--configs/fedora/generic/arm/CONFIG_ARM_IMX8M_DDRC_DEVFREQ1
-rw-r--r--configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER1
-rw-r--r--configs/fedora/generic/arm/CONFIG_DRM_LVDS_ENCODER1
-rw-r--r--configs/fedora/generic/arm/CONFIG_GPIO_MPC8XXX (renamed from configs/fedora/generic/CONFIG_GPIO_MPC8XXX)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_HW_RANDOM_IPROC_RNG2001
-rw-r--r--configs/fedora/generic/arm/CONFIG_IMX_DSP2
-rw-r--r--configs/fedora/generic/arm/CONFIG_INA2XX_ADC (renamed from configs/fedora/generic/arm/aarch64/CONFIG_INA2XX_ADC)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM89161
-rw-r--r--configs/fedora/generic/arm/CONFIG_IPQ_GCC_60181
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH (renamed from configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_OTP (renamed from configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_OTP)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_WRITE_VERIFY (renamed from configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_WRITE_VERIFY)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_GEMINI1
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_IXP4XX1
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF2
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_VERSATILE1
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_SST25L (renamed from configs/fedora/generic/arm/armv7/CONFIG_MTD_SST25L)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_NVMEM_SPMI_SDAM1
-rw-r--r--configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_DPHY_RX01
-rw-r--r--configs/fedora/generic/arm/CONFIG_QCOM_SCM1
-rw-r--r--configs/fedora/generic/arm/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT (renamed from configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_QUICC_ENGINE1
-rw-r--r--configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP2
-rw-r--r--configs/fedora/generic/arm/CONFIG_RTC_DRV_PCF853631
-rw-r--r--configs/fedora/generic/arm/CONFIG_SERIAL_8250_TEGRA1
-rw-r--r--configs/fedora/generic/arm/CONFIG_SND_IMX_SOC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_IMX_SOC)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_AUDMUX (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_AUDMUX)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SGTL5000 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SGTL5000)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SPDIF (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SPDIF)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_SND_SOC_WM8962 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_WM8962)0
-rw-r--r--configs/fedora/generic/arm/CONFIG_SUN8I_THERMAL1
-rw-r--r--configs/fedora/generic/arm/CONFIG_VIDEO_ROCKCHIP_ISP11
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_15309231
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CLK_LS1028A_PLLDIG1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD5991
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_HISI_DMA1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_MTD_NAND_FSL_IFC1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_NET_DSA_MSCC_FELIX1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_OCTEONTX2_PF1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CPR1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_QORIQ_CPUFREQ1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_MP88591
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_SND_IMX_SOC1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_SOUNDWIRE_QCOM1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI2
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES2
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SOC_LS1021A (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_LS1021A)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SPI_FSL_SPI1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV2
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC1
-rw-r--r--configs/fedora/generic/x86/CONFIG_I2C_PARPORT_LIGHT1
-rw-r--r--configs/fedora/generic/x86/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON1
-rw-r--r--configs/fedora/generic/x86/CONFIG_PCIE_INTEL_GW1
-rw-r--r--configs/fedora/generic/x86/CONFIG_PHY_INTEL_EMMC1
-rw-r--r--configs/fedora/generic/x86/CONFIG_PINCTRL_LYNXPOINT1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_HDA_PREALLOC_SIZE1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~1
-rw-r--r--configs/fedora/generic/x86/CONFIG_STACKPROTECTOR_STRONG1
-rw-r--r--configs/fedora/generic/x86/CONFIG_THUNDERBOLT_NET1
-rw-r--r--configs/fedora/generic/x86/CONFIG_TIME_NS1
-rw-r--r--configs/fedora/generic/x86/CONFIG_USB41
-rw-r--r--configs/fedora/generic/x86/CONFIG_USB4_NET1
-rw-r--r--configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_EFI_RCI2_TABLE (renamed from configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE)0
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_THUNDERBOLT1
-rwxr-xr-xconfigs/process_configs.sh97
-rw-r--r--drm-dp-mst-error-handling-improvements.patch471
-rw-r--r--drm-i915-backports.patch894
-rw-r--r--efi-secureboot.patch54
-rw-r--r--filter-aarch64.sh2
-rw-r--r--filter-aarch64.sh.fedora18
-rw-r--r--filter-aarch64.sh.rhel0
-rw-r--r--filter-armv7hl.sh2
-rw-r--r--filter-armv7hl.sh.fedora18
-rw-r--r--filter-armv7hl.sh.rhel0
-rw-r--r--filter-i686.sh.fedora14
-rw-r--r--filter-i686.sh.rhel0
-rwxr-xr-xfilter-modules.sh.fedora153
-rw-r--r--filter-modules.sh.rhel0
-rw-r--r--filter-ppc64le.sh.fedora14
-rw-r--r--filter-ppc64le.sh.rhel0
-rw-r--r--filter-s390x.sh.fedora12
-rw-r--r--filter-s390x.sh.rhel0
-rw-r--r--filter-x86_64.sh.fedora12
-rw-r--r--filter-x86_64.sh.rhel0
-rwxr-xr-xgenerate_all_configs.sh34
-rw-r--r--kernel-aarch64-debug-fedora.config166
-rw-r--r--kernel-aarch64-debug-rhel.config1
-rw-r--r--kernel-aarch64-fedora.config167
-rw-r--r--kernel-aarch64-rhel.config1
-rw-r--r--kernel-armv7hl-debug-fedora.config138
-rw-r--r--kernel-armv7hl-fedora.config139
-rw-r--r--kernel-armv7hl-lpae-debug-fedora.config146
-rw-r--r--kernel-armv7hl-lpae-fedora.config147
-rw-r--r--kernel-i686-debug-fedora.config126
-rw-r--r--kernel-i686-fedora.config127
-rw-r--r--kernel-ppc64le-debug-fedora.config111
-rw-r--r--kernel-ppc64le-debug-rhel.config1
-rw-r--r--kernel-ppc64le-fedora.config112
-rw-r--r--kernel-ppc64le-rhel.config1
-rw-r--r--kernel-s390x-debug-fedora.config108
-rw-r--r--kernel-s390x-debug-rhel.config1
-rw-r--r--kernel-s390x-fedora.config109
-rw-r--r--kernel-s390x-rhel.config1
-rw-r--r--kernel-s390x-zfcpdump-rhel.config1
-rw-r--r--kernel-x86_64-debug-fedora.config124
-rw-r--r--kernel-x86_64-debug-rhel.config1
-rw-r--r--kernel-x86_64-fedora.config125
-rw-r--r--kernel-x86_64-rhel.config1
-rw-r--r--kernel.spec148
-rw-r--r--regulator-pwm-Don-t-warn-on-probe-deferral.patch36
-rw-r--r--sources4
-rw-r--r--usb-fusb302-Convert-to-use-GPIO-descriptors.patch155
-rw-r--r--usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch91
264 files changed, 12260 insertions, 8087 deletions
diff --git a/0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch b/0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch
deleted file mode 100644
index 531779ce6..000000000
--- a/0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch
+++ /dev/null
@@ -1,3487 +0,0 @@
-From 25bd71190fef59375de6115044556d062a965801 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 25 Nov 2019 11:12:11 +0100
-Subject: [PATCH v3] fs: Add VirtualBox guest shared folder (vboxsf) support
-
-VirtualBox hosts can share folders with guests, this commit adds a
-VFS driver implementing the Linux-guest side of this, allowing folders
-exported by the host to be mounted under Linux.
-
-This driver depends on the guest <-> host IPC functions exported by
-the vboxguest driver.
-
-Acked-by: Christoph Hellwig <hch@infradead.org>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
-Changes in v19:
-- Misc. small code tweaks suggested by Al Viro (no functional changes)
-- Do not increment dir_context->pos when dir_emit has returned false.
-- Add a WARN_ON check for trying to access beyond the end of a
- vboxsf directory buffer, this uses WARN_ON as this means the host has
- given us corrupt data
-- Catch the user passing the "nls" opt more then once
-
-Changes in v18:
-- Move back to fs/vboxsf for direct submission to Linus
-- Squash in a few small fixes done during vboxsf's brief stint in staging
-- Add handling of short copies to vboxsf_write_end
-- Add a comment about our simple_write_begin usage (Suggested by David Howell)
-
-Changes in v17:
-- Submit upstream through drivers/staging as this is not getting any
- traction on the fsdevel list
-- Add TODO file
-- vboxsf_free_inode uses sbi->idr, call rcu_barrier from put_super to make
- sure all delayed rcu free inodes are flushed
-
-Changes in v16:
-- Make vboxsf_parse_monolithic() static, reported-by: kbuild test robot
-
-Changes in v15:
-- Rebase on top of 5.4-rc1
-
-Changes in v14
-- Add a commment explaining possible read cache strategies and which one
- has been chosen
-- Change pagecache-invalidation on open (inode_revalidate) to use
- invalidate_inode_pages2() so that mmap-ed pages are dropped from
- the cache too
-- Add a comment to vboxsf_file_release explaining why the
- filemap_write_and_wait() call is done there
-- Some minor code tweaks
-
-Changes in v13
-- Add SPDX tag to Makefile, use foo-y := to set objectfile list
-- Drop kerneldoc headers stating the obvious from vfs callbacks,
- to avoid them going stale
-- Replace sf_ prefix of functions and data-types with vboxsf_
-- Use more normal naming scheme for sbi and private inode data:
- struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb);
- struct vboxsf_inode *sf_i = VBOXSF_I(inode);
-- Refactor directory reading code
-- Use goto based unwinding instead of nested if-s in a number of places
-- Consolidate dir unlink and rmdir inode_operations into a single function
-- Use the page-cache for regular reads/writes too
-- Directly set super_operations.free_inode to what used to be our
- vboxsf_i_callback, instead of setting super_operations.destroy_inode
- to a function which just does: call_rcu(&inode->i_rcu, vboxsf_i_callback);
-- Use spinlock_irqsafe for ino_idr_lock
- vboxsf_free_inode may be called from a RCU callback, and thus from
- softirq context, so we need to use spinlock_irqsafe vboxsf_new_inode.
- On alloc_inode failure vboxsf_free_inode may be called from process
- context, so it too needs to use spinlock_irqsafe.
-
-Changes in v12:
-- Move make_kuid / make_kgid calls to option parsing time and add
- uid_valid / gid_valid checks.
-- In init_fs_context call current_uid_gid() to init uid and gid
-- Validate dmode, fmode, dmask and fmask options during option parsing
-- Use correct types for various mount option variables (kuid_t, kgid_t, umode_t)
-- Some small coding-style tweaks
-
-Changes in v11:
-- Convert to the new Documentation/filesystems/mount_api.txt mount API
-- Fixed all the function kerneldoc comments to have things in the proper order
-- Change type of d_type variable passed as type to dir_emit from int to
- unsigned int
-- Replaced the fake-ino overflow test with the one suggested by David Howells
-- Fixed various coding style issues
-
-See cover-letter for full changelog including older versions
----
- MAINTAINERS | 6 +
- fs/Kconfig | 1 +
- fs/Makefile | 1 +
- fs/vboxsf/Kconfig | 10 +
- fs/vboxsf/Makefile | 5 +
- fs/vboxsf/dir.c | 427 +++++++++++++++++
- fs/vboxsf/file.c | 379 +++++++++++++++
- fs/vboxsf/shfl_hostintf.h | 901 ++++++++++++++++++++++++++++++++++++
- fs/vboxsf/super.c | 497 ++++++++++++++++++++
- fs/vboxsf/utils.c | 551 ++++++++++++++++++++++
- fs/vboxsf/vboxsf_wrappers.c | 371 +++++++++++++++
- fs/vboxsf/vfsmod.h | 137 ++++++
- 12 files changed, 3286 insertions(+)
- create mode 100644 fs/vboxsf/Kconfig
- create mode 100644 fs/vboxsf/Makefile
- create mode 100644 fs/vboxsf/dir.c
- create mode 100644 fs/vboxsf/file.c
- create mode 100644 fs/vboxsf/shfl_hostintf.h
- create mode 100644 fs/vboxsf/super.c
- create mode 100644 fs/vboxsf/utils.c
- create mode 100644 fs/vboxsf/vboxsf_wrappers.c
- create mode 100644 fs/vboxsf/vfsmod.h
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 56765f542244..db3cec531b32 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -17612,6 +17612,12 @@ F: include/linux/vbox_utils.h
- F: include/uapi/linux/vbox*.h
- F: drivers/virt/vboxguest/
-
-+VIRTUAL BOX SHARED FOLDER VFS DRIVER:
-+M: Hans de Goede <hdegoede@redhat.com>
-+L: linux-fsdevel@vger.kernel.org
-+S: Maintained
-+F: fs/vboxsf/*
-+
- VIRTUAL SERIO DEVICE DRIVER
- M: Stephen Chandler Paul <thatslyude@gmail.com>
- S: Maintained
-diff --git a/fs/Kconfig b/fs/Kconfig
-index 7b623e9fc1b0..8493a3f0c4b1 100644
---- a/fs/Kconfig
-+++ b/fs/Kconfig
-@@ -264,6 +264,7 @@ source "fs/pstore/Kconfig"
- source "fs/sysv/Kconfig"
- source "fs/ufs/Kconfig"
- source "fs/erofs/Kconfig"
-+source "fs/vboxsf/Kconfig"
-
- endif # MISC_FILESYSTEMS
-
-diff --git a/fs/Makefile b/fs/Makefile
-index 1148c555c4d3..b807cbff3790 100644
---- a/fs/Makefile
-+++ b/fs/Makefile
-@@ -133,3 +133,4 @@ obj-$(CONFIG_CEPH_FS) += ceph/
- obj-$(CONFIG_PSTORE) += pstore/
- obj-$(CONFIG_EFIVAR_FS) += efivarfs/
- obj-$(CONFIG_EROFS_FS) += erofs/
-+obj-$(CONFIG_VBOXSF_FS) += vboxsf/
-diff --git a/fs/vboxsf/Kconfig b/fs/vboxsf/Kconfig
-new file mode 100644
-index 000000000000..b84586ae08b3
---- /dev/null
-+++ b/fs/vboxsf/Kconfig
-@@ -0,0 +1,10 @@
-+config VBOXSF_FS
-+ tristate "VirtualBox guest shared folder (vboxsf) support"
-+ depends on X86 && VBOXGUEST
-+ select NLS
-+ help
-+ VirtualBox hosts can share folders with guests, this driver
-+ implements the Linux-guest side of this allowing folders exported
-+ by the host to be mounted under Linux.
-+
-+ If you want to use shared folders in VirtualBox guests, answer Y or M.
-diff --git a/fs/vboxsf/Makefile b/fs/vboxsf/Makefile
-new file mode 100644
-index 000000000000..9e4328e79623
---- /dev/null
-+++ b/fs/vboxsf/Makefile
-@@ -0,0 +1,5 @@
-+# SPDX-License-Identifier: MIT
-+
-+obj-$(CONFIG_VBOXSF_FS) += vboxsf.o
-+
-+vboxsf-y := dir.o file.o utils.o vboxsf_wrappers.o super.o
-diff --git a/fs/vboxsf/dir.c b/fs/vboxsf/dir.c
-new file mode 100644
-index 000000000000..dd147b490982
---- /dev/null
-+++ b/fs/vboxsf/dir.c
-@@ -0,0 +1,427 @@
-+// SPDX-License-Identifier: MIT
-+/*
-+ * VirtualBox Guest Shared Folders support: Directory inode and file operations
-+ *
-+ * Copyright (C) 2006-2018 Oracle Corporation
-+ */
-+
-+#include <linux/namei.h>
-+#include <linux/vbox_utils.h>
-+#include "vfsmod.h"
-+
-+static int vboxsf_dir_open(struct inode *inode, struct file *file)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb);
-+ struct shfl_createparms params = {};
-+ struct vboxsf_dir_info *sf_d;
-+ int err;
-+
-+ sf_d = vboxsf_dir_info_alloc();
-+ if (!sf_d)
-+ return -ENOMEM;
-+
-+ params.handle = SHFL_HANDLE_NIL;
-+ params.create_flags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_OPEN_IF_EXISTS |
-+ SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ;
-+
-+ err = vboxsf_create_at_dentry(file_dentry(file), &params);
-+ if (err)
-+ goto err_free_dir_info;
-+
-+ if (params.result != SHFL_FILE_EXISTS) {
-+ err = -ENOENT;
-+ goto err_close;
-+ }
-+
-+ err = vboxsf_dir_read_all(sbi, sf_d, params.handle);
-+ if (err)
-+ goto err_close;
-+
-+ vboxsf_close(sbi->root, params.handle);
-+ file->private_data = sf_d;
-+ return 0;
-+
-+err_close:
-+ vboxsf_close(sbi->root, params.handle);
-+err_free_dir_info:
-+ vboxsf_dir_info_free(sf_d);
-+ return err;
-+}
-+
-+static int vboxsf_dir_release(struct inode *inode, struct file *file)
-+{
-+ if (file->private_data)
-+ vboxsf_dir_info_free(file->private_data);
-+
-+ return 0;
-+}
-+
-+static unsigned int vboxsf_get_d_type(u32 mode)
-+{
-+ unsigned int d_type;
-+
-+ switch (mode & SHFL_TYPE_MASK) {
-+ case SHFL_TYPE_FIFO:
-+ d_type = DT_FIFO;
-+ break;
-+ case SHFL_TYPE_DEV_CHAR:
-+ d_type = DT_CHR;
-+ break;
-+ case SHFL_TYPE_DIRECTORY:
-+ d_type = DT_DIR;
-+ break;
-+ case SHFL_TYPE_DEV_BLOCK:
-+ d_type = DT_BLK;
-+ break;
-+ case SHFL_TYPE_FILE:
-+ d_type = DT_REG;
-+ break;
-+ case SHFL_TYPE_SYMLINK:
-+ d_type = DT_LNK;
-+ break;
-+ case SHFL_TYPE_SOCKET:
-+ d_type = DT_SOCK;
-+ break;
-+ case SHFL_TYPE_WHITEOUT:
-+ d_type = DT_WHT;
-+ break;
-+ default:
-+ d_type = DT_UNKNOWN;
-+ break;
-+ }
-+ return d_type;
-+}
-+
-+static bool vboxsf_dir_emit(struct file *dir, struct dir_context *ctx)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(file_inode(dir)->i_sb);
-+ struct vboxsf_dir_info *sf_d = dir->private_data;
-+ struct shfl_dirinfo *info;
-+ struct vboxsf_dir_buf *b;
-+ unsigned int d_type;
-+ loff_t i, cur = 0;
-+ ino_t fake_ino;
-+ void *end;
-+ int err;
-+
-+ list_for_each_entry(b, &sf_d->info_list, head) {
-+try_next_entry:
-+ if (ctx->pos >= cur + b->entries) {
-+ cur += b->entries;
-+ continue;
-+ }
-+
-+ /*
-+ * Note the vboxsf_dir_info objects we are iterating over here
-+ * are variable sized, so the info pointer may end up being
-+ * unaligned. This is how we get the data from the host.
-+ * Since vboxsf is only supported on x86 machines this is not
-+ * a problem.
-+ */
-+ for (i = 0, info = b->buf; i < ctx->pos - cur; i++) {
-+ end = &info->name.string.utf8[info->name.size];
-+ /* Only happens if the host gives us corrupt data */
-+ if (WARN_ON(end > (b->buf + b->used)))
-+ return false;
-+ info = end;
-+ }
-+
-+ end = &info->name.string.utf8[info->name.size];
-+ if (WARN_ON(end > (b->buf + b->used)))
-+ return false;
-+
-+ /* Info now points to the right entry, emit it. */
-+ d_type = vboxsf_get_d_type(info->info.attr.mode);
-+
-+ /*
-+ * On 32 bit systems pos is 64 signed, while ino is 32 bit
-+ * unsigned so fake_ino may overflow, check for this.
-+ */
-+ if ((ino_t)(ctx->pos + 1) != (u64)(ctx->pos + 1)) {
-+ vbg_err("vboxsf: fake ino overflow, truncating dir\n");
-+ return false;
-+ }
-+ fake_ino = ctx->pos + 1;
-+
-+ if (sbi->nls) {
-+ char d_name[NAME_MAX];
-+
-+ err = vboxsf_nlscpy(sbi, d_name, NAME_MAX,
-+ info->name.string.utf8,
-+ info->name.length);
-+ if (err) {
-+ /* skip erroneous entry and proceed */
-+ ctx->pos += 1;
-+ goto try_next_entry;
-+ }
-+
-+ return dir_emit(ctx, d_name, strlen(d_name),
-+ fake_ino, d_type);
-+ }
-+
-+ return dir_emit(ctx, info->name.string.utf8, info->name.length,
-+ fake_ino, d_type);
-+ }
-+
-+ return false;
-+}
-+
-+static int vboxsf_dir_iterate(struct file *dir, struct dir_context *ctx)
-+{
-+ bool emitted;
-+
-+ do {
-+ emitted = vboxsf_dir_emit(dir, ctx);
-+ if (emitted)
-+ ctx->pos += 1;
-+ } while (emitted);
-+
-+ return 0;
-+}
-+
-+const struct file_operations vboxsf_dir_fops = {
-+ .open = vboxsf_dir_open,
-+ .iterate = vboxsf_dir_iterate,
-+ .release = vboxsf_dir_release,
-+ .read = generic_read_dir,
-+ .llseek = generic_file_llseek,
-+};
-+
-+/*
-+ * This is called during name resolution/lookup to check if the @dentry in
-+ * the cache is still valid. the job is handled by vboxsf_inode_revalidate.
-+ */
-+static int vboxsf_dentry_revalidate(struct dentry *dentry, unsigned int flags)
-+{
-+ if (flags & LOOKUP_RCU)
-+ return -ECHILD;
-+
-+ if (d_really_is_positive(dentry))
-+ return vboxsf_inode_revalidate(dentry) == 0;
-+ else
-+ return vboxsf_stat_dentry(dentry, NULL) == -ENOENT;
-+}
-+
-+const struct dentry_operations vboxsf_dentry_ops = {
-+ .d_revalidate = vboxsf_dentry_revalidate
-+};
-+
-+/* iops */
-+
-+static struct dentry *vboxsf_dir_lookup(struct inode *parent,
-+ struct dentry *dentry,
-+ unsigned int flags)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb);
-+ struct shfl_fsobjinfo fsinfo;
-+ struct inode *inode;
-+ int err;
-+
-+ dentry->d_time = jiffies;
-+
-+ err = vboxsf_stat_dentry(dentry, &fsinfo);
-+ if (err) {
-+ inode = (err == -ENOENT) ? NULL : ERR_PTR(err);
-+ } else {
-+ inode = vboxsf_new_inode(parent->i_sb);
-+ if (!IS_ERR(inode))
-+ vboxsf_init_inode(sbi, inode, &fsinfo);
-+ }
-+
-+ return d_splice_alias(inode, dentry);
-+}
-+
-+static int vboxsf_dir_instantiate(struct inode *parent, struct dentry *dentry,
-+ struct shfl_fsobjinfo *info)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb);
-+ struct vboxsf_inode *sf_i;
-+ struct inode *inode;
-+
-+ inode = vboxsf_new_inode(parent->i_sb);
-+ if (IS_ERR(inode))
-+ return PTR_ERR(inode);
-+
-+ sf_i = VBOXSF_I(inode);
-+ /* The host may have given us different attr then requested */
-+ sf_i->force_restat = 1;
-+ vboxsf_init_inode(sbi, inode, info);
-+
-+ d_instantiate(dentry, inode);
-+
-+ return 0;
-+}
-+
-+static int vboxsf_dir_create(struct inode *parent, struct dentry *dentry,
-+ umode_t mode, int is_dir)
-+{
-+ struct vboxsf_inode *sf_parent_i = VBOXSF_I(parent);
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb);
-+ struct shfl_createparms params = {};
-+ int err;
-+
-+ params.handle = SHFL_HANDLE_NIL;
-+ params.create_flags = SHFL_CF_ACT_CREATE_IF_NEW |
-+ SHFL_CF_ACT_FAIL_IF_EXISTS |
-+ SHFL_CF_ACCESS_READWRITE |
-+ (is_dir ? SHFL_CF_DIRECTORY : 0);
-+ params.info.attr.mode = (mode & 0777) |
-+ (is_dir ? SHFL_TYPE_DIRECTORY : SHFL_TYPE_FILE);
-+ params.info.attr.additional = SHFLFSOBJATTRADD_NOTHING;
-+
-+ err = vboxsf_create_at_dentry(dentry, &params);
-+ if (err)
-+ return err;
-+
-+ if (params.result != SHFL_FILE_CREATED)
-+ return -EPERM;
-+
-+ vboxsf_close(sbi->root, params.handle);
-+
-+ err = vboxsf_dir_instantiate(parent, dentry, &params.info);
-+ if (err)
-+ return err;
-+
-+ /* parent directory access/change time changed */
-+ sf_parent_i->force_restat = 1;
-+
-+ return 0;
-+}
-+
-+static int vboxsf_dir_mkfile(struct inode *parent, struct dentry *dentry,
-+ umode_t mode, bool excl)
-+{
-+ return vboxsf_dir_create(parent, dentry, mode, 0);
-+}
-+
-+static int vboxsf_dir_mkdir(struct inode *parent, struct dentry *dentry,
-+ umode_t mode)
-+{
-+ return vboxsf_dir_create(parent, dentry, mode, 1);
-+}
-+
-+static int vboxsf_dir_unlink(struct inode *parent, struct dentry *dentry)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb);
-+ struct vboxsf_inode *sf_parent_i = VBOXSF_I(parent);
-+ struct inode *inode = d_inode(dentry);
-+ struct shfl_string *path;
-+ u32 flags;
-+ int err;
-+
-+ if (S_ISDIR(inode->i_mode))
-+ flags = SHFL_REMOVE_DIR;
-+ else
-+ flags = SHFL_REMOVE_FILE;
-+
-+ if (S_ISLNK(inode->i_mode))
-+ flags |= SHFL_REMOVE_SYMLINK;
-+
-+ path = vboxsf_path_from_dentry(sbi, dentry);
-+ if (IS_ERR(path))
-+ return PTR_ERR(path);
-+
-+ err = vboxsf_remove(sbi->root, path, flags);
-+ __putname(path);
-+ if (err)
-+ return err;
-+
-+ /* parent directory access/change time changed */
-+ sf_parent_i->force_restat = 1;
-+
-+ return 0;
-+}
-+
-+static int vboxsf_dir_rename(struct inode *old_parent,
-+ struct dentry *old_dentry,
-+ struct inode *new_parent,
-+ struct dentry *new_dentry,
-+ unsigned int flags)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(old_parent->i_sb);
-+ struct vboxsf_inode *sf_old_parent_i = VBOXSF_I(old_parent);
-+ struct vboxsf_inode *sf_new_parent_i = VBOXSF_I(new_parent);
-+ u32 shfl_flags = SHFL_RENAME_FILE | SHFL_RENAME_REPLACE_IF_EXISTS;
-+ struct shfl_string *old_path, *new_path;
-+ int err;
-+
-+ if (flags)
-+ return -EINVAL;
-+
-+ old_path = vboxsf_path_from_dentry(sbi, old_dentry);
-+ if (IS_ERR(old_path))
-+ return PTR_ERR(old_path);
-+
-+ new_path = vboxsf_path_from_dentry(sbi, new_dentry);
-+ if (IS_ERR(new_path)) {
-+ err = PTR_ERR(new_path);
-+ goto err_put_old_path;
-+ }
-+
-+ if (d_inode(old_dentry)->i_mode & S_IFDIR)
-+ shfl_flags = 0;
-+
-+ err = vboxsf_rename(sbi->root, old_path, new_path, shfl_flags);
-+ if (err == 0) {
-+ /* parent directories access/change time changed */
-+ sf_new_parent_i->force_restat = 1;
-+ sf_old_parent_i->force_restat = 1;
-+ }
-+
-+ __putname(new_path);
-+err_put_old_path:
-+ __putname(old_path);
-+ return err;
-+}
-+
-+static int vboxsf_dir_symlink(struct inode *parent, struct dentry *dentry,
-+ const char *symname)
-+{
-+ struct vboxsf_inode *sf_parent_i = VBOXSF_I(parent);
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(parent->i_sb);
-+ int symname_size = strlen(symname) + 1;
-+ struct shfl_string *path, *ssymname;
-+ struct shfl_fsobjinfo info;
-+ int err;
-+
-+ path = vboxsf_path_from_dentry(sbi, dentry);
-+ if (IS_ERR(path))
-+ return PTR_ERR(path);
-+
-+ ssymname = kmalloc(SHFLSTRING_HEADER_SIZE + symname_size, GFP_KERNEL);
-+ if (!ssymname) {
-+ __putname(path);
-+ return -ENOMEM;
-+ }
-+ ssymname->length = symname_size - 1;
-+ ssymname->size = symname_size;
-+ memcpy(ssymname->string.utf8, symname, symname_size);
-+
-+ err = vboxsf_symlink(sbi->root, path, ssymname, &info);
-+ kfree(ssymname);
-+ __putname(path);
-+ if (err) {
-+ /* -EROFS means symlinks are note support -> -EPERM */
-+ return (err == -EROFS) ? -EPERM : err;
-+ }
-+
-+ err = vboxsf_dir_instantiate(parent, dentry, &info);
-+ if (err)
-+ return err;
-+
-+ /* parent directory access/change time changed */
-+ sf_parent_i->force_restat = 1;
-+ return 0;
-+}
-+
-+const struct inode_operations vboxsf_dir_iops = {
-+ .lookup = vboxsf_dir_lookup,
-+ .create = vboxsf_dir_mkfile,
-+ .mkdir = vboxsf_dir_mkdir,
-+ .rmdir = vboxsf_dir_unlink,
-+ .unlink = vboxsf_dir_unlink,
-+ .rename = vboxsf_dir_rename,
-+ .symlink = vboxsf_dir_symlink,
-+ .getattr = vboxsf_getattr,
-+ .setattr = vboxsf_setattr,
-+};
-diff --git a/fs/vboxsf/file.c b/fs/vboxsf/file.c
-new file mode 100644
-index 000000000000..c4ab5996d97a
---- /dev/null
-+++ b/fs/vboxsf/file.c
-@@ -0,0 +1,379 @@
-+// SPDX-License-Identifier: MIT
-+/*
-+ * VirtualBox Guest Shared Folders support: Regular file inode and file ops.
-+ *
-+ * Copyright (C) 2006-2018 Oracle Corporation
-+ */
-+
-+#include <linux/mm.h>
-+#include <linux/page-flags.h>
-+#include <linux/pagemap.h>
-+#include <linux/highmem.h>
-+#include <linux/sizes.h>
-+#include "vfsmod.h"
-+
-+struct vboxsf_handle {
-+ u64 handle;
-+ u32 root;
-+ u32 access_flags;
-+ struct kref refcount;
-+ struct list_head head;
-+};
-+
-+static int vboxsf_file_open(struct inode *inode, struct file *file)
-+{
-+ struct vboxsf_inode *sf_i = VBOXSF_I(inode);
-+ struct shfl_createparms params = {};
-+ struct vboxsf_handle *sf_handle;
-+ u32 access_flags = 0;
-+ int err;
-+
-+ sf_handle = kmalloc(sizeof(*sf_handle), GFP_KERNEL);
-+ if (!sf_handle)
-+ return -ENOMEM;
-+
-+ /*
-+ * We check the value of params.handle afterwards to find out if
-+ * the call succeeded or failed, as the API does not seem to cleanly
-+ * distinguish error and informational messages.
-+ *
-+ * Furthermore, we must set params.handle to SHFL_HANDLE_NIL to
-+ * make the shared folders host service use our mode parameter.
-+ */
-+ params.handle = SHFL_HANDLE_NIL;
-+ if (file->f_flags & O_CREAT) {
-+ params.create_flags |= SHFL_CF_ACT_CREATE_IF_NEW;
-+ /*
-+ * We ignore O_EXCL, as the Linux kernel seems to call create
-+ * beforehand itself, so O_EXCL should always fail.
-+ */
-+ if (file->f_flags & O_TRUNC)
-+ params.create_flags |= SHFL_CF_ACT_OVERWRITE_IF_EXISTS;
-+ else
-+ params.create_flags |= SHFL_CF_ACT_OPEN_IF_EXISTS;
-+ } else {
-+ params.create_flags |= SHFL_CF_ACT_FAIL_IF_NEW;
-+ if (file->f_flags & O_TRUNC)
-+ params.create_flags |= SHFL_CF_ACT_OVERWRITE_IF_EXISTS;
-+ }
-+
-+ switch (file->f_flags & O_ACCMODE) {
-+ case O_RDONLY:
-+ access_flags |= SHFL_CF_ACCESS_READ;
-+ break;
-+
-+ case O_WRONLY:
-+ access_flags |= SHFL_CF_ACCESS_WRITE;
-+ break;
-+
-+ case O_RDWR:
-+ access_flags |= SHFL_CF_ACCESS_READWRITE;
-+ break;
-+
-+ default:
-+ WARN_ON(1);
-+ }
-+
-+ if (file->f_flags & O_APPEND)
-+ access_flags |= SHFL_CF_ACCESS_APPEND;
-+
-+ params.create_flags |= access_flags;
-+ params.info.attr.mode = inode->i_mode;
-+
-+ err = vboxsf_create_at_dentry(file_dentry(file), &params);
-+ if (err == 0 && params.handle == SHFL_HANDLE_NIL)
-+ err = (params.result == SHFL_FILE_EXISTS) ? -EEXIST : -ENOENT;
-+ if (err) {
-+ kfree(sf_handle);
-+ return err;
-+ }
-+
-+ /* the host may have given us different attr then requested */
-+ sf_i->force_restat = 1;
-+
-+ /* init our handle struct and add it to the inode's handles list */
-+ sf_handle->handle = params.handle;
-+ sf_handle->root = VBOXSF_SBI(inode->i_sb)->root;
-+ sf_handle->access_flags = access_flags;
-+ kref_init(&sf_handle->refcount);
-+
-+ mutex_lock(&sf_i->handle_list_mutex);
-+ list_add(&sf_handle->head, &sf_i->handle_list);
-+ mutex_unlock(&sf_i->handle_list_mutex);
-+
-+ file->private_data = sf_handle;
-+ return 0;
-+}
-+
-+static void vboxsf_handle_release(struct kref *refcount)
-+{
-+ struct vboxsf_handle *sf_handle =
-+ container_of(refcount, struct vboxsf_handle, refcount);
-+
-+ vboxsf_close(sf_handle->root, sf_handle->handle);
-+ kfree(sf_handle);
-+}
-+
-+static int vboxsf_file_release(struct inode *inode, struct file *file)
-+{
-+ struct vboxsf_inode *sf_i = VBOXSF_I(inode);
-+ struct vboxsf_handle *sf_handle = file->private_data;
-+
-+ /*
-+ * When a file is closed on our (the guest) side, we want any subsequent
-+ * accesses done on the host side to see all changes done from our side.
-+ */
-+ filemap_write_and_wait(inode->i_mapping);
-+
-+ mutex_lock(&sf_i->handle_list_mutex);
-+ list_del(&sf_handle->head);
-+ mutex_unlock(&sf_i->handle_list_mutex);
-+
-+ kref_put(&sf_handle->refcount, vboxsf_handle_release);
-+ return 0;
-+}
-+
-+/*
-+ * Write back dirty pages now, because there may not be any suitable
-+ * open files later
-+ */
-+static void vboxsf_vma_close(struct vm_area_struct *vma)
-+{
-+ filemap_write_and_wait(vma->vm_file->f_mapping);
-+}
-+
-+static const struct vm_operations_struct vboxsf_file_vm_ops = {
-+ .close = vboxsf_vma_close,
-+ .fault = filemap_fault,
-+ .map_pages = filemap_map_pages,
-+};
-+
-+static int vboxsf_file_mmap(struct file *file, struct vm_area_struct *vma)
-+{
-+ int err;
-+
-+ err = generic_file_mmap(file, vma);
-+ if (!err)
-+ vma->vm_ops = &vboxsf_file_vm_ops;
-+
-+ return err;
-+}
-+
-+/*
-+ * Note that since we are accessing files on the host's filesystem, files
-+ * may always be changed underneath us by the host!
-+ *
-+ * The vboxsf API between the guest and the host does not offer any functions
-+ * to deal with this. There is no inode-generation to check for changes, no
-+ * events / callback on changes and no way to lock files.
-+ *
-+ * To avoid returning stale data when a file gets *opened* on our (the guest)
-+ * side, we do a "stat" on the host side, then compare the mtime with the
-+ * last known mtime and invalidate the page-cache if they differ.
-+ * This is done from vboxsf_inode_revalidate().
-+ *
-+ * When reads are done through the read_iter fop, it is possible to do
-+ * further cache revalidation then, there are 3 options to deal with this:
-+ *
-+ * 1) Rely solely on the revalidation done at open time
-+ * 2) Do another "stat" and compare mtime again. Unfortunately the vboxsf
-+ * host API does not allow stat on handles, so we would need to use
-+ * file->f_path.dentry and the stat will then fail if the file was unlinked
-+ * or renamed (and there is no thing like NFS' silly-rename). So we get:
-+ * 2a) "stat" and compare mtime, on stat failure invalidate the cache
-+ * 2b) "stat" and compare mtime, on stat failure do nothing
-+ * 3) Simply always call invalidate_inode_pages2_range on the range of the read
-+ *
-+ * Currently we are keeping things KISS and using option 1. this allows
-+ * directly using generic_file_read_iter without wrapping it.
-+ *
-+ * This means that only data written on the host side before open() on
-+ * the guest side is guaranteed to be seen by the guest. If necessary
-+ * we may provide other read-cache strategies in the future and make this
-+ * configurable through a mount option.
-+ */
-+const struct file_operations vboxsf_reg_fops = {
-+ .llseek = generic_file_llseek,
-+ .read_iter = generic_file_read_iter,
-+ .write_iter = generic_file_write_iter,
-+ .mmap = vboxsf_file_mmap,
-+ .open = vboxsf_file_open,
-+ .release = vboxsf_file_release,
-+ .fsync = noop_fsync,
-+ .splice_read = generic_file_splice_read,
-+};
-+
-+const struct inode_operations vboxsf_reg_iops = {
-+ .getattr = vboxsf_getattr,
-+ .setattr = vboxsf_setattr
-+};
-+
-+static int vboxsf_readpage(struct file *file, struct page *page)
-+{
-+ struct vboxsf_handle *sf_handle = file->private_data;
-+ loff_t off = page_offset(page);
-+ u32 nread = PAGE_SIZE;
-+ u8 *buf;
-+ int err;
-+
-+ buf = kmap(page);
-+
-+ err = vboxsf_read(sf_handle->root, sf_handle->handle, off, &nread, buf);
-+ if (err == 0) {
-+ memset(&buf[nread], 0, PAGE_SIZE - nread);
-+ flush_dcache_page(page);
-+ SetPageUptodate(page);
-+ } else {
-+ SetPageError(page);
-+ }
-+
-+ kunmap(page);
-+ unlock_page(page);
-+ return err;
-+}
-+
-+static struct vboxsf_handle *vboxsf_get_write_handle(struct vboxsf_inode *sf_i)
-+{
-+ struct vboxsf_handle *h, *sf_handle = NULL;
-+
-+ mutex_lock(&sf_i->handle_list_mutex);
-+ list_for_each_entry(h, &sf_i->handle_list, head) {
-+ if (h->access_flags == SHFL_CF_ACCESS_WRITE ||
-+ h->access_flags == SHFL_CF_ACCESS_READWRITE) {
-+ kref_get(&h->refcount);
-+ sf_handle = h;
-+ break;
-+ }
-+ }
-+ mutex_unlock(&sf_i->handle_list_mutex);
-+
-+ return sf_handle;
-+}
-+
-+static int vboxsf_writepage(struct page *page, struct writeback_control *wbc)
-+{
-+ struct inode *inode = page->mapping->host;
-+ struct vboxsf_inode *sf_i = VBOXSF_I(inode);
-+ struct vboxsf_handle *sf_handle;
-+ loff_t off = page_offset(page);
-+ loff_t size = i_size_read(inode);
-+ u32 nwrite = PAGE_SIZE;
-+ u8 *buf;
-+ int err;
-+
-+ if (off + PAGE_SIZE > size)
-+ nwrite = size & ~PAGE_MASK;
-+
-+ sf_handle = vboxsf_get_write_handle(sf_i);
-+ if (!sf_handle)
-+ return -EBADF;
-+
-+ buf = kmap(page);
-+ err = vboxsf_write(sf_handle->root, sf_handle->handle,
-+ off, &nwrite, buf);
-+ kunmap(page);
-+
-+ kref_put(&sf_handle->refcount, vboxsf_handle_release);
-+
-+ if (err == 0) {
-+ ClearPageError(page);
-+ /* mtime changed */
-+ sf_i->force_restat = 1;
-+ } else {
-+ ClearPageUptodate(page);
-+ }
-+
-+ unlock_page(page);
-+ return err;
-+}
-+
-+static int vboxsf_write_end(struct file *file, struct address_space *mapping,
-+ loff_t pos, unsigned int len, unsigned int copied,
-+ struct page *page, void *fsdata)
-+{
-+ struct inode *inode = mapping->host;
-+ struct vboxsf_handle *sf_handle = file->private_data;
-+ unsigned int from = pos & ~PAGE_MASK;
-+ u32 nwritten = len;
-+ u8 *buf;
-+ int err;
-+
-+ /* zero the stale part of the page if we did a short copy */
-+ if (!PageUptodate(page) && copied < len)
-+ zero_user(page, from + copied, len - copied);
-+
-+ buf = kmap(page);
-+ err = vboxsf_write(sf_handle->root, sf_handle->handle,
-+ pos, &nwritten, buf + from);
-+ kunmap(page);
-+
-+ if (err) {
-+ nwritten = 0;
-+ goto out;
-+ }
-+
-+ /* mtime changed */
-+ VBOXSF_I(inode)->force_restat = 1;
-+
-+ if (!PageUptodate(page) && nwritten == PAGE_SIZE)
-+ SetPageUptodate(page);
-+
-+ pos += nwritten;
-+ if (pos > inode->i_size)
-+ i_size_write(inode, pos);
-+
-+out:
-+ unlock_page(page);
-+ put_page(page);
-+
-+ return nwritten;
-+}
-+
-+/*
-+ * Note simple_write_begin does not read the page from disk on partial writes
-+ * this is ok since vboxsf_write_end only writes the written parts of the
-+ * page and it does not call SetPageUptodate for partial writes.
-+ */
-+const struct address_space_operations vboxsf_reg_aops = {
-+ .readpage = vboxsf_readpage,
-+ .writepage = vboxsf_writepage,
-+ .set_page_dirty = __set_page_dirty_nobuffers,
-+ .write_begin = simple_write_begin,
-+ .write_end = vboxsf_write_end,
-+};
-+
-+static const char *vboxsf_get_link(struct dentry *dentry, struct inode *inode,
-+ struct delayed_call *done)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb);
-+ struct shfl_string *path;
-+ char *link;
-+ int err;
-+
-+ if (!dentry)
-+ return ERR_PTR(-ECHILD);
-+
-+ path = vboxsf_path_from_dentry(sbi, dentry);
-+ if (IS_ERR(path))
-+ return ERR_CAST(path);
-+
-+ link = kzalloc(PATH_MAX, GFP_KERNEL);
-+ if (!link) {
-+ __putname(path);
-+ return ERR_PTR(-ENOMEM);
-+ }
-+
-+ err = vboxsf_readlink(sbi->root, path, PATH_MAX, link);
-+ __putname(path);
-+ if (err) {
-+ kfree(link);
-+ return ERR_PTR(err);
-+ }
-+
-+ set_delayed_call(done, kfree_link, link);
-+ return link;
-+}
-+
-+const struct inode_operations vboxsf_lnk_iops = {
-+ .get_link = vboxsf_get_link
-+};
-diff --git a/fs/vboxsf/shfl_hostintf.h b/fs/vboxsf/shfl_hostintf.h
-new file mode 100644
-index 000000000000..aca829062c12
---- /dev/null
-+++ b/fs/vboxsf/shfl_hostintf.h
-@@ -0,0 +1,901 @@
-+/* SPDX-License-Identifier: MIT */
-+/*
-+ * VirtualBox Shared Folders: host interface definition.
-+ *
-+ * Copyright (C) 2006-2018 Oracle Corporation
-+ */
-+
-+#ifndef SHFL_HOSTINTF_H
-+#define SHFL_HOSTINTF_H
-+
-+#include <linux/vbox_vmmdev_types.h>
-+
-+/* The max in/out buffer size for a FN_READ or FN_WRITE call */
-+#define SHFL_MAX_RW_COUNT (16 * SZ_1M)
-+
-+/*
-+ * Structures shared between guest and the service
-+ * can be relocated and use offsets to point to variable
-+ * length parts.
-+ *
-+ * Shared folders protocol works with handles.
-+ * Before doing any action on a file system object,
-+ * one have to obtain the object handle via a SHFL_FN_CREATE
-+ * request. A handle must be closed with SHFL_FN_CLOSE.
-+ */
-+
-+enum {
-+ SHFL_FN_QUERY_MAPPINGS = 1, /* Query mappings changes. */
-+ SHFL_FN_QUERY_MAP_NAME = 2, /* Query map name. */
-+ SHFL_FN_CREATE = 3, /* Open/create object. */
-+ SHFL_FN_CLOSE = 4, /* Close object handle. */
-+ SHFL_FN_READ = 5, /* Read object content. */
-+ SHFL_FN_WRITE = 6, /* Write new object content. */
-+ SHFL_FN_LOCK = 7, /* Lock/unlock a range in the object. */
-+ SHFL_FN_LIST = 8, /* List object content. */
-+ SHFL_FN_INFORMATION = 9, /* Query/set object information. */
-+ /* Note function number 10 is not used! */
-+ SHFL_FN_REMOVE = 11, /* Remove object */
-+ SHFL_FN_MAP_FOLDER_OLD = 12, /* Map folder (legacy) */
-+ SHFL_FN_UNMAP_FOLDER = 13, /* Unmap folder */
-+ SHFL_FN_RENAME = 14, /* Rename object */
-+ SHFL_FN_FLUSH = 15, /* Flush file */
-+ SHFL_FN_SET_UTF8 = 16, /* Select UTF8 filename encoding */
-+ SHFL_FN_MAP_FOLDER = 17, /* Map folder */
-+ SHFL_FN_READLINK = 18, /* Read symlink dest (as of VBox 4.0) */
-+ SHFL_FN_SYMLINK = 19, /* Create symlink (as of VBox 4.0) */
-+ SHFL_FN_SET_SYMLINKS = 20, /* Ask host to show symlinks (4.0+) */
-+};
-+
-+/* Root handles for a mapping are of type u32, Root handles are unique. */
-+#define SHFL_ROOT_NIL UINT_MAX
-+
-+/* Shared folders handle for an opened object are of type u64. */
-+#define SHFL_HANDLE_NIL ULLONG_MAX
-+
-+/* Hardcoded maximum length (in chars) of a shared folder name. */
-+#define SHFL_MAX_LEN (256)
-+/* Hardcoded maximum number of shared folder mapping available to the guest. */
-+#define SHFL_MAX_MAPPINGS (64)
-+
-+/** Shared folder string buffer structure. */
-+struct shfl_string {
-+ /** Allocated size of the string member in bytes. */
-+ u16 size;
-+
-+ /** Length of string without trailing nul in bytes. */
-+ u16 length;
-+
-+ /** UTF-8 or UTF-16 string. Nul terminated. */
-+ union {
-+ u8 utf8[2];
-+ u16 utf16[1];
-+ u16 ucs2[1]; /* misnomer, use utf16. */
-+ } string;
-+};
-+VMMDEV_ASSERT_SIZE(shfl_string, 6);
-+
-+/* The size of shfl_string w/o the string part. */
-+#define SHFLSTRING_HEADER_SIZE 4
-+
-+/* Calculate size of the string. */
-+static inline u32 shfl_string_buf_size(const struct shfl_string *string)
-+{
-+ return string ? SHFLSTRING_HEADER_SIZE + string->size : 0;
-+}
-+
-+/* Set user id on execution (S_ISUID). */
-+#define SHFL_UNIX_ISUID 0004000U
-+/* Set group id on execution (S_ISGID). */
-+#define SHFL_UNIX_ISGID 0002000U
-+/* Sticky bit (S_ISVTX / S_ISTXT). */
-+#define SHFL_UNIX_ISTXT 0001000U
-+
-+/* Owner readable (S_IRUSR). */
-+#define SHFL_UNIX_IRUSR 0000400U
-+/* Owner writable (S_IWUSR). */
-+#define SHFL_UNIX_IWUSR 0000200U
-+/* Owner executable (S_IXUSR). */
-+#define SHFL_UNIX_IXUSR 0000100U
-+
-+/* Group readable (S_IRGRP). */
-+#define SHFL_UNIX_IRGRP 0000040U
-+/* Group writable (S_IWGRP). */
-+#define SHFL_UNIX_IWGRP 0000020U
-+/* Group executable (S_IXGRP). */
-+#define SHFL_UNIX_IXGRP 0000010U
-+
-+/* Other readable (S_IROTH). */
-+#define SHFL_UNIX_IROTH 0000004U
-+/* Other writable (S_IWOTH). */
-+#define SHFL_UNIX_IWOTH 0000002U
-+/* Other executable (S_IXOTH). */
-+#define SHFL_UNIX_IXOTH 0000001U
-+
-+/* Named pipe (fifo) (S_IFIFO). */
-+#define SHFL_TYPE_FIFO 0010000U
-+/* Character device (S_IFCHR). */
-+#define SHFL_TYPE_DEV_CHAR 0020000U
-+/* Directory (S_IFDIR). */
-+#define SHFL_TYPE_DIRECTORY 0040000U
-+/* Block device (S_IFBLK). */
-+#define SHFL_TYPE_DEV_BLOCK 0060000U
-+/* Regular file (S_IFREG). */
-+#define SHFL_TYPE_FILE 0100000U
-+/* Symbolic link (S_IFLNK). */
-+#define SHFL_TYPE_SYMLINK 0120000U
-+/* Socket (S_IFSOCK). */
-+#define SHFL_TYPE_SOCKET 0140000U
-+/* Whiteout (S_IFWHT). */
-+#define SHFL_TYPE_WHITEOUT 0160000U
-+/* Type mask (S_IFMT). */
-+#define SHFL_TYPE_MASK 0170000U
-+
-+/* Checks the mode flags indicate a directory (S_ISDIR). */
-+#define SHFL_IS_DIRECTORY(m) (((m) & SHFL_TYPE_MASK) == SHFL_TYPE_DIRECTORY)
-+/* Checks the mode flags indicate a symbolic link (S_ISLNK). */
-+#define SHFL_IS_SYMLINK(m) (((m) & SHFL_TYPE_MASK) == SHFL_TYPE_SYMLINK)
-+
-+/** The available additional information in a shfl_fsobjattr object. */
-+enum shfl_fsobjattr_add {
-+ /** No additional information is available / requested. */
-+ SHFLFSOBJATTRADD_NOTHING = 1,
-+ /**
-+ * The additional unix attributes (shfl_fsobjattr::u::unix_attr) are
-+ * available / requested.
-+ */
-+ SHFLFSOBJATTRADD_UNIX,
-+ /**
-+ * The additional extended attribute size (shfl_fsobjattr::u::size) is
-+ * available / requested.
-+ */
-+ SHFLFSOBJATTRADD_EASIZE,
-+ /**
-+ * The last valid item (inclusive).
-+ * The valid range is SHFLFSOBJATTRADD_NOTHING thru
-+ * SHFLFSOBJATTRADD_LAST.
-+ */
-+ SHFLFSOBJATTRADD_LAST = SHFLFSOBJATTRADD_EASIZE,
-+
-+ /** The usual 32-bit hack. */
-+ SHFLFSOBJATTRADD_32BIT_SIZE_HACK = 0x7fffffff
-+};
-+
-+/**
-+ * Additional unix Attributes, these are available when
-+ * shfl_fsobjattr.additional == SHFLFSOBJATTRADD_UNIX.
-+ */
-+struct shfl_fsobjattr_unix {
-+ /**
-+ * The user owning the filesystem object (st_uid).
-+ * This field is ~0U if not supported.
-+ */
-+ u32 uid;
-+
-+ /**
-+ * The group the filesystem object is assigned (st_gid).
-+ * This field is ~0U if not supported.
-+ */
-+ u32 gid;
-+
-+ /**
-+ * Number of hard links to this filesystem object (st_nlink).
-+ * This field is 1 if the filesystem doesn't support hardlinking or
-+ * the information isn't available.
-+ */
-+ u32 hardlinks;
-+
-+ /**
-+ * The device number of the device which this filesystem object resides
-+ * on (st_dev). This field is 0 if this information is not available.
-+ */
-+ u32 inode_id_device;
-+
-+ /**
-+ * The unique identifier (within the filesystem) of this filesystem
-+ * object (st_ino). Together with inode_id_device, this field can be
-+ * used as a OS wide unique id, when both their values are not 0.
-+ * This field is 0 if the information is not available.
-+ */
-+ u64 inode_id;
-+
-+ /**
-+ * User flags (st_flags).
-+ * This field is 0 if this information is not available.
-+ */
-+ u32 flags;
-+
-+ /**
-+ * The current generation number (st_gen).
-+ * This field is 0 if this information is not available.
-+ */
-+ u32 generation_id;
-+
-+ /**
-+ * The device number of a char. or block device type object (st_rdev).
-+ * This field is 0 if the file isn't a char. or block device or when
-+ * the OS doesn't use the major+minor device idenfication scheme.
-+ */
-+ u32 device;
-+} __packed;
-+
-+/** Extended attribute size. */
-+struct shfl_fsobjattr_easize {
-+ /** Size of EAs. */
-+ s64 cb;
-+} __packed;
-+
-+/** Shared folder filesystem object attributes. */
-+struct shfl_fsobjattr {
-+ /** Mode flags (st_mode). SHFL_UNIX_*, SHFL_TYPE_*, and SHFL_DOS_*. */
-+ u32 mode;
-+
-+ /** The additional attributes available. */
-+ enum shfl_fsobjattr_add additional;
-+
-+ /**
-+ * Additional attributes.
-+ *
-+ * Unless explicitly specified to an API, the API can provide additional
-+ * data as it is provided by the underlying OS.
-+ */
-+ union {
-+ struct shfl_fsobjattr_unix unix_attr;
-+ struct shfl_fsobjattr_easize size;
-+ } __packed u;
-+} __packed;
-+VMMDEV_ASSERT_SIZE(shfl_fsobjattr, 44);
-+
-+struct shfl_timespec {
-+ s64 ns_relative_to_unix_epoch;
-+};
-+
-+/** Filesystem object information structure. */
-+struct shfl_fsobjinfo {
-+ /**
-+ * Logical size (st_size).
-+ * For normal files this is the size of the file.
-+ * For symbolic links, this is the length of the path name contained
-+ * in the symbolic link.
-+ * For other objects this fields needs to be specified.
-+ */
-+ s64 size;
-+
-+ /** Disk allocation size (st_blocks * DEV_BSIZE). */
-+ s64 allocated;
-+
-+ /** Time of last access (st_atime). */
-+ struct shfl_timespec access_time;
-+
-+ /** Time of last data modification (st_mtime). */
-+ struct shfl_timespec modification_time;
-+
-+ /**
-+ * Time of last status change (st_ctime).
-+ * If not available this is set to modification_time.
-+ */
-+ struct shfl_timespec change_time;
-+
-+ /**
-+ * Time of file birth (st_birthtime).
-+ * If not available this is set to change_time.
-+ */
-+ struct shfl_timespec birth_time;
-+
-+ /** Attributes. */
-+ struct shfl_fsobjattr attr;
-+
-+} __packed;
-+VMMDEV_ASSERT_SIZE(shfl_fsobjinfo, 92);
-+
-+/**
-+ * result of an open/create request.
-+ * Along with handle value the result code
-+ * identifies what has happened while
-+ * trying to open the object.
-+ */
-+enum shfl_create_result {
-+ SHFL_NO_RESULT,
-+ /** Specified path does not exist. */
-+ SHFL_PATH_NOT_FOUND,
-+ /** Path to file exists, but the last component does not. */
-+ SHFL_FILE_NOT_FOUND,
-+ /** File already exists and either has been opened or not. */
-+ SHFL_FILE_EXISTS,
-+ /** New file was created. */
-+ SHFL_FILE_CREATED,
-+ /** Existing file was replaced or overwritten. */
-+ SHFL_FILE_REPLACED
-+};
-+
-+/* No flags. Initialization value. */
-+#define SHFL_CF_NONE (0x00000000)
-+
-+/*
-+ * Only lookup the object, do not return a handle. When this is set all other
-+ * flags are ignored.
-+ */
-+#define SHFL_CF_LOOKUP (0x00000001)
-+
-+/*
-+ * Open parent directory of specified object.
-+ * Useful for the corresponding Windows FSD flag
-+ * and for opening paths like \\dir\\*.* to search the 'dir'.
-+ */
-+#define SHFL_CF_OPEN_TARGET_DIRECTORY (0x00000002)
-+
-+/* Create/open a directory. */
-+#define SHFL_CF_DIRECTORY (0x00000004)
-+
-+/*
-+ * Open/create action to do if object exists
-+ * and if the object does not exists.
-+ * REPLACE file means atomically DELETE and CREATE.
-+ * OVERWRITE file means truncating the file to 0 and
-+ * setting new size.
-+ * When opening an existing directory REPLACE and OVERWRITE
-+ * actions are considered invalid, and cause returning
-+ * FILE_EXISTS with NIL handle.
-+ */
-+#define SHFL_CF_ACT_MASK_IF_EXISTS (0x000000f0)
-+#define SHFL_CF_ACT_MASK_IF_NEW (0x00000f00)
-+
-+/* What to do if object exists. */
-+#define SHFL_CF_ACT_OPEN_IF_EXISTS (0x00000000)
-+#define SHFL_CF_ACT_FAIL_IF_EXISTS (0x00000010)
-+#define SHFL_CF_ACT_REPLACE_IF_EXISTS (0x00000020)
-+#define SHFL_CF_ACT_OVERWRITE_IF_EXISTS (0x00000030)
-+
-+/* What to do if object does not exist. */
-+#define SHFL_CF_ACT_CREATE_IF_NEW (0x00000000)
-+#define SHFL_CF_ACT_FAIL_IF_NEW (0x00000100)
-+
-+/* Read/write requested access for the object. */
-+#define SHFL_CF_ACCESS_MASK_RW (0x00003000)
-+
-+/* No access requested. */
-+#define SHFL_CF_ACCESS_NONE (0x00000000)
-+/* Read access requested. */
-+#define SHFL_CF_ACCESS_READ (0x00001000)
-+/* Write access requested. */
-+#define SHFL_CF_ACCESS_WRITE (0x00002000)
-+/* Read/Write access requested. */
-+#define SHFL_CF_ACCESS_READWRITE (0x00003000)
-+
-+/* Requested share access for the object. */
-+#define SHFL_CF_ACCESS_MASK_DENY (0x0000c000)
-+
-+/* Allow any access. */
-+#define SHFL_CF_ACCESS_DENYNONE (0x00000000)
-+/* Do not allow read. */
-+#define SHFL_CF_ACCESS_DENYREAD (0x00004000)
-+/* Do not allow write. */
-+#define SHFL_CF_ACCESS_DENYWRITE (0x00008000)
-+/* Do not allow access. */
-+#define SHFL_CF_ACCESS_DENYALL (0x0000c000)
-+
-+/* Requested access to attributes of the object. */
-+#define SHFL_CF_ACCESS_MASK_ATTR (0x00030000)
-+
-+/* No access requested. */
-+#define SHFL_CF_ACCESS_ATTR_NONE (0x00000000)
-+/* Read access requested. */
-+#define SHFL_CF_ACCESS_ATTR_READ (0x00010000)
-+/* Write access requested. */
-+#define SHFL_CF_ACCESS_ATTR_WRITE (0x00020000)
-+/* Read/Write access requested. */
-+#define SHFL_CF_ACCESS_ATTR_READWRITE (0x00030000)
-+
-+/*
-+ * The file is opened in append mode.
-+ * Ignored if SHFL_CF_ACCESS_WRITE is not set.
-+ */
-+#define SHFL_CF_ACCESS_APPEND (0x00040000)
-+
-+/** Create parameters buffer struct for SHFL_FN_CREATE call */
-+struct shfl_createparms {
-+ /** Returned handle of opened object. */
-+ u64 handle;
-+
-+ /** Returned result of the operation */
-+ enum shfl_create_result result;
-+
-+ /** SHFL_CF_* */
-+ u32 create_flags;
-+
-+ /**
-+ * Attributes of object to create and
-+ * returned actual attributes of opened/created object.
-+ */
-+ struct shfl_fsobjinfo info;
-+} __packed;
-+
-+/** Shared Folder directory information */
-+struct shfl_dirinfo {
-+ /** Full information about the object. */
-+ struct shfl_fsobjinfo info;
-+ /**
-+ * The length of the short field (number of UTF16 chars).
-+ * It is 16-bit for reasons of alignment.
-+ */
-+ u16 short_name_len;
-+ /**
-+ * The short name for 8.3 compatibility.
-+ * Empty string if not available.
-+ */
-+ u16 short_name[14];
-+ struct shfl_string name;
-+};
-+
-+/** Shared folder filesystem properties. */
-+struct shfl_fsproperties {
-+ /**
-+ * The maximum size of a filesystem object name.
-+ * This does not include the '\\0'.
-+ */
-+ u32 max_component_len;
-+
-+ /**
-+ * True if the filesystem is remote.
-+ * False if the filesystem is local.
-+ */
-+ bool remote;
-+
-+ /**
-+ * True if the filesystem is case sensitive.
-+ * False if the filesystem is case insensitive.
-+ */
-+ bool case_sensitive;
-+
-+ /**
-+ * True if the filesystem is mounted read only.
-+ * False if the filesystem is mounted read write.
-+ */
-+ bool read_only;
-+
-+ /**
-+ * True if the filesystem can encode unicode object names.
-+ * False if it can't.
-+ */
-+ bool supports_unicode;
-+
-+ /**
-+ * True if the filesystem is compresses.
-+ * False if it isn't or we don't know.
-+ */
-+ bool compressed;
-+
-+ /**
-+ * True if the filesystem compresses of individual files.
-+ * False if it doesn't or we don't know.
-+ */
-+ bool file_compression;
-+};
-+VMMDEV_ASSERT_SIZE(shfl_fsproperties, 12);
-+
-+struct shfl_volinfo {
-+ s64 total_allocation_bytes;
-+ s64 available_allocation_bytes;
-+ u32 bytes_per_allocation_unit;
-+ u32 bytes_per_sector;
-+ u32 serial;
-+ struct shfl_fsproperties properties;
-+};
-+
-+
-+/** SHFL_FN_MAP_FOLDER Parameters structure. */
-+struct shfl_map_folder {
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string buffer.
-+ */
-+ struct vmmdev_hgcm_function_parameter path;
-+
-+ /**
-+ * pointer, out: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * pointer, in: UTF16
-+ * Path delimiter
-+ */
-+ struct vmmdev_hgcm_function_parameter delimiter;
-+
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Case senstive flag
-+ */
-+ struct vmmdev_hgcm_function_parameter case_sensitive;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_MAP_FOLDER (4)
-+
-+
-+/** SHFL_FN_UNMAP_FOLDER Parameters structure. */
-+struct shfl_unmap_folder {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_UNMAP_FOLDER (1)
-+
-+
-+/** SHFL_FN_CREATE Parameters structure. */
-+struct shfl_create {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string buffer.
-+ */
-+ struct vmmdev_hgcm_function_parameter path;
-+
-+ /**
-+ * pointer, in/out:
-+ * Points to struct shfl_createparms buffer.
-+ */
-+ struct vmmdev_hgcm_function_parameter parms;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_CREATE (3)
-+
-+
-+/** SHFL_FN_CLOSE Parameters structure. */
-+struct shfl_close {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * value64, in:
-+ * SHFLHANDLE (u64) of object to close.
-+ */
-+ struct vmmdev_hgcm_function_parameter handle;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_CLOSE (2)
-+
-+
-+/** SHFL_FN_READ Parameters structure. */
-+struct shfl_read {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * value64, in:
-+ * SHFLHANDLE (u64) of object to read from.
-+ */
-+ struct vmmdev_hgcm_function_parameter handle;
-+
-+ /**
-+ * value64, in:
-+ * Offset to read from.
-+ */
-+ struct vmmdev_hgcm_function_parameter offset;
-+
-+ /**
-+ * value64, in/out:
-+ * Bytes to read/How many were read.
-+ */
-+ struct vmmdev_hgcm_function_parameter cb;
-+
-+ /**
-+ * pointer, out:
-+ * Buffer to place data to.
-+ */
-+ struct vmmdev_hgcm_function_parameter buffer;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_READ (5)
-+
-+
-+/** SHFL_FN_WRITE Parameters structure. */
-+struct shfl_write {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * value64, in:
-+ * SHFLHANDLE (u64) of object to write to.
-+ */
-+ struct vmmdev_hgcm_function_parameter handle;
-+
-+ /**
-+ * value64, in:
-+ * Offset to write to.
-+ */
-+ struct vmmdev_hgcm_function_parameter offset;
-+
-+ /**
-+ * value64, in/out:
-+ * Bytes to write/How many were written.
-+ */
-+ struct vmmdev_hgcm_function_parameter cb;
-+
-+ /**
-+ * pointer, in:
-+ * Data to write.
-+ */
-+ struct vmmdev_hgcm_function_parameter buffer;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_WRITE (5)
-+
-+
-+/*
-+ * SHFL_FN_LIST
-+ * Listing information includes variable length RTDIRENTRY[EX] structures.
-+ */
-+
-+#define SHFL_LIST_NONE 0
-+#define SHFL_LIST_RETURN_ONE 1
-+
-+/** SHFL_FN_LIST Parameters structure. */
-+struct shfl_list {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * value64, in:
-+ * SHFLHANDLE (u64) of object to be listed.
-+ */
-+ struct vmmdev_hgcm_function_parameter handle;
-+
-+ /**
-+ * value32, in:
-+ * List flags SHFL_LIST_*.
-+ */
-+ struct vmmdev_hgcm_function_parameter flags;
-+
-+ /**
-+ * value32, in/out:
-+ * Bytes to be used for listing information/How many bytes were used.
-+ */
-+ struct vmmdev_hgcm_function_parameter cb;
-+
-+ /**
-+ * pointer, in/optional
-+ * Points to struct shfl_string buffer that specifies a search path.
-+ */
-+ struct vmmdev_hgcm_function_parameter path;
-+
-+ /**
-+ * pointer, out:
-+ * Buffer to place listing information to. (struct shfl_dirinfo)
-+ */
-+ struct vmmdev_hgcm_function_parameter buffer;
-+
-+ /**
-+ * value32, in/out:
-+ * Indicates a key where the listing must be resumed.
-+ * in: 0 means start from begin of object.
-+ * out: 0 means listing completed.
-+ */
-+ struct vmmdev_hgcm_function_parameter resume_point;
-+
-+ /**
-+ * pointer, out:
-+ * Number of files returned
-+ */
-+ struct vmmdev_hgcm_function_parameter file_count;
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_LIST (8)
-+
-+
-+/** SHFL_FN_READLINK Parameters structure. */
-+struct shfl_readLink {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string buffer.
-+ */
-+ struct vmmdev_hgcm_function_parameter path;
-+
-+ /**
-+ * pointer, out:
-+ * Buffer to place data to.
-+ */
-+ struct vmmdev_hgcm_function_parameter buffer;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_READLINK (3)
-+
-+
-+/* SHFL_FN_INFORMATION */
-+
-+/* Mask of Set/Get bit. */
-+#define SHFL_INFO_MODE_MASK (0x1)
-+/* Get information */
-+#define SHFL_INFO_GET (0x0)
-+/* Set information */
-+#define SHFL_INFO_SET (0x1)
-+
-+/* Get name of the object. */
-+#define SHFL_INFO_NAME (0x2)
-+/* Set size of object (extend/trucate); only applies to file objects */
-+#define SHFL_INFO_SIZE (0x4)
-+/* Get/Set file object info. */
-+#define SHFL_INFO_FILE (0x8)
-+/* Get volume information. */
-+#define SHFL_INFO_VOLUME (0x10)
-+
-+/** SHFL_FN_INFORMATION Parameters structure. */
-+struct shfl_information {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * value64, in:
-+ * SHFLHANDLE (u64) of object to be listed.
-+ */
-+ struct vmmdev_hgcm_function_parameter handle;
-+
-+ /**
-+ * value32, in:
-+ * SHFL_INFO_*
-+ */
-+ struct vmmdev_hgcm_function_parameter flags;
-+
-+ /**
-+ * value32, in/out:
-+ * Bytes to be used for information/How many bytes were used.
-+ */
-+ struct vmmdev_hgcm_function_parameter cb;
-+
-+ /**
-+ * pointer, in/out:
-+ * Information to be set/get (shfl_fsobjinfo or shfl_string). Do not
-+ * forget to set the shfl_fsobjinfo::attr::additional for a get
-+ * operation as well.
-+ */
-+ struct vmmdev_hgcm_function_parameter info;
-+
-+};
-+
-+/* Number of parameters */
-+#define SHFL_CPARMS_INFORMATION (5)
-+
-+
-+/* SHFL_FN_REMOVE */
-+
-+#define SHFL_REMOVE_FILE (0x1)
-+#define SHFL_REMOVE_DIR (0x2)
-+#define SHFL_REMOVE_SYMLINK (0x4)
-+
-+/** SHFL_FN_REMOVE Parameters structure. */
-+struct shfl_remove {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string buffer.
-+ */
-+ struct vmmdev_hgcm_function_parameter path;
-+
-+ /**
-+ * value32, in:
-+ * remove flags (file/directory)
-+ */
-+ struct vmmdev_hgcm_function_parameter flags;
-+
-+};
-+
-+#define SHFL_CPARMS_REMOVE (3)
-+
-+
-+/* SHFL_FN_RENAME */
-+
-+#define SHFL_RENAME_FILE (0x1)
-+#define SHFL_RENAME_DIR (0x2)
-+#define SHFL_RENAME_REPLACE_IF_EXISTS (0x4)
-+
-+/** SHFL_FN_RENAME Parameters structure. */
-+struct shfl_rename {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string src.
-+ */
-+ struct vmmdev_hgcm_function_parameter src;
-+
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string dest.
-+ */
-+ struct vmmdev_hgcm_function_parameter dest;
-+
-+ /**
-+ * value32, in:
-+ * rename flags (file/directory)
-+ */
-+ struct vmmdev_hgcm_function_parameter flags;
-+
-+};
-+
-+#define SHFL_CPARMS_RENAME (4)
-+
-+
-+/** SHFL_FN_SYMLINK Parameters structure. */
-+struct shfl_symlink {
-+ /**
-+ * pointer, in: SHFLROOT (u32)
-+ * Root handle of the mapping which name is queried.
-+ */
-+ struct vmmdev_hgcm_function_parameter root;
-+
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string of path for the new symlink.
-+ */
-+ struct vmmdev_hgcm_function_parameter new_path;
-+
-+ /**
-+ * pointer, in:
-+ * Points to struct shfl_string of destination for symlink.
-+ */
-+ struct vmmdev_hgcm_function_parameter old_path;
-+
-+ /**
-+ * pointer, out:
-+ * Information about created symlink.
-+ */
-+ struct vmmdev_hgcm_function_parameter info;
-+
-+};
-+
-+#define SHFL_CPARMS_SYMLINK (4)
-+
-+#endif
-diff --git a/fs/vboxsf/super.c b/fs/vboxsf/super.c
-new file mode 100644
-index 000000000000..b14ecd2948f4
---- /dev/null
-+++ b/fs/vboxsf/super.c
-@@ -0,0 +1,497 @@
-+// SPDX-License-Identifier: MIT
-+/*
-+ * VirtualBox Guest Shared Folders support: Virtual File System.
-+ *
-+ * Module initialization/finalization
-+ * File system registration/deregistration
-+ * Superblock reading
-+ * Few utility functions
-+ *
-+ * Copyright (C) 2006-2018 Oracle Corporation
-+ */
-+
-+#include <linux/idr.h>
-+#include <linux/fs_parser.h>
-+#include <linux/magic.h>
-+#include <linux/module.h>
-+#include <linux/nls.h>
-+#include <linux/statfs.h>
-+#include <linux/vbox_utils.h>
-+#include "vfsmod.h"
-+
-+#define VBOXSF_SUPER_MAGIC 0x786f4256 /* 'VBox' little endian */
-+
-+#define VBSF_MOUNT_SIGNATURE_BYTE_0 ('\000')
-+#define VBSF_MOUNT_SIGNATURE_BYTE_1 ('\377')
-+#define VBSF_MOUNT_SIGNATURE_BYTE_2 ('\376')
-+#define VBSF_MOUNT_SIGNATURE_BYTE_3 ('\375')
-+
-+static int follow_symlinks;
-+module_param(follow_symlinks, int, 0444);
-+MODULE_PARM_DESC(follow_symlinks,
-+ "Let host resolve symlinks rather than showing them");
-+
-+static DEFINE_IDA(vboxsf_bdi_ida);
-+static DEFINE_MUTEX(vboxsf_setup_mutex);
-+static bool vboxsf_setup_done;
-+static struct super_operations vboxsf_super_ops; /* forward declaration */
-+static struct kmem_cache *vboxsf_inode_cachep;
-+
-+static char * const vboxsf_default_nls = CONFIG_NLS_DEFAULT;
-+
-+enum { opt_nls, opt_uid, opt_gid, opt_ttl, opt_dmode, opt_fmode,
-+ opt_dmask, opt_fmask };
-+
-+static const struct fs_parameter_spec vboxsf_param_specs[] = {
-+ fsparam_string ("nls", opt_nls),
-+ fsparam_u32 ("uid", opt_uid),
-+ fsparam_u32 ("gid", opt_gid),
-+ fsparam_u32 ("ttl", opt_ttl),
-+ fsparam_u32oct ("dmode", opt_dmode),
-+ fsparam_u32oct ("fmode", opt_fmode),
-+ fsparam_u32oct ("dmask", opt_dmask),
-+ fsparam_u32oct ("fmask", opt_fmask),
-+ {}
-+};
-+
-+static const struct fs_parameter_description vboxsf_fs_parameters = {
-+ .name = "vboxsf",
-+ .specs = vboxsf_param_specs,
-+};
-+
-+static int vboxsf_parse_param(struct fs_context *fc, struct fs_parameter *param)
-+{
-+ struct vboxsf_fs_context *ctx = fc->fs_private;
-+ struct fs_parse_result result;
-+ kuid_t uid;
-+ kgid_t gid;
-+ int opt;
-+
-+ opt = fs_parse(fc, &vboxsf_fs_parameters, param, &result);
-+ if (opt < 0)
-+ return opt;
-+
-+ switch (opt) {
-+ case opt_nls:
-+ if (ctx->nls_name || fc->purpose != FS_CONTEXT_FOR_MOUNT) {
-+ vbg_err("vboxsf: Cannot reconfigure nls option\n");
-+ return -EINVAL;
-+ }
-+ ctx->nls_name = param->string;
-+ param->string = NULL;
-+ break;
-+ case opt_uid:
-+ uid = make_kuid(current_user_ns(), result.uint_32);
-+ if (!uid_valid(uid))
-+ return -EINVAL;
-+ ctx->o.uid = uid;
-+ break;
-+ case opt_gid:
-+ gid = make_kgid(current_user_ns(), result.uint_32);
-+ if (!gid_valid(gid))
-+ return -EINVAL;
-+ ctx->o.gid = gid;
-+ break;
-+ case opt_ttl:
-+ ctx->o.ttl = msecs_to_jiffies(result.uint_32);
-+ break;
-+ case opt_dmode:
-+ if (result.uint_32 & ~0777)
-+ return -EINVAL;
-+ ctx->o.dmode = result.uint_32;
-+ ctx->o.dmode_set = true;
-+ break;
-+ case opt_fmode:
-+ if (result.uint_32 & ~0777)
-+ return -EINVAL;
-+ ctx->o.fmode = result.uint_32;
-+ ctx->o.fmode_set = true;
-+ break;
-+ case opt_dmask:
-+ if (result.uint_32 & ~07777)
-+ return -EINVAL;
-+ ctx->o.dmask = result.uint_32;
-+ break;
-+ case opt_fmask:
-+ if (result.uint_32 & ~07777)
-+ return -EINVAL;
-+ ctx->o.fmask = result.uint_32;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static int vboxsf_fill_super(struct super_block *sb, struct fs_context *fc)
-+{
-+ struct vboxsf_fs_context *ctx = fc->fs_private;
-+ struct shfl_string *folder_name, root_path;
-+ struct vboxsf_sbi *sbi;
-+ struct dentry *droot;
-+ struct inode *iroot;
-+ char *nls_name;
-+ size_t size;
-+ int err;
-+
-+ if (!fc->source)
-+ return -EINVAL;
-+
-+ sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
-+ if (!sbi)
-+ return -ENOMEM;
-+
-+ sbi->o = ctx->o;
-+ idr_init(&sbi->ino_idr);
-+ spin_lock_init(&sbi->ino_idr_lock);
-+ sbi->next_generation = 1;
-+ sbi->bdi_id = -1;
-+
-+ /* Load nls if not utf8 */
-+ nls_name = ctx->nls_name ? ctx->nls_name : vboxsf_default_nls;
-+ if (strcmp(nls_name, "utf8") != 0) {
-+ if (nls_name == vboxsf_default_nls)
-+ sbi->nls = load_nls_default();
-+ else
-+ sbi->nls = load_nls(nls_name);
-+
-+ if (!sbi->nls) {
-+ vbg_err("vboxsf: Count not load '%s' nls\n", nls_name);
-+ err = -EINVAL;
-+ goto fail_free;
-+ }
-+ }
-+
-+ sbi->bdi_id = ida_simple_get(&vboxsf_bdi_ida, 0, 0, GFP_KERNEL);
-+ if (sbi->bdi_id < 0) {
-+ err = sbi->bdi_id;
-+ goto fail_free;
-+ }
-+
-+ err = super_setup_bdi_name(sb, "vboxsf-%s.%d", fc->source, sbi->bdi_id);
-+ if (err)
-+ goto fail_free;
-+
-+ /* Turn source into a shfl_string and map the folder */
-+ size = strlen(fc->source) + 1;
-+ folder_name = kmalloc(SHFLSTRING_HEADER_SIZE + size, GFP_KERNEL);
-+ if (!folder_name) {
-+ err = -ENOMEM;
-+ goto fail_free;
-+ }
-+ folder_name->size = size;
-+ folder_name->length = size - 1;
-+ strlcpy(folder_name->string.utf8, fc->source, size);
-+ err = vboxsf_map_folder(folder_name, &sbi->root);
-+ kfree(folder_name);
-+ if (err) {
-+ vbg_err("vboxsf: Host rejected mount of '%s' with error %d\n",
-+ fc->source, err);
-+ goto fail_free;
-+ }
-+
-+ root_path.length = 1;
-+ root_path.size = 2;
-+ root_path.string.utf8[0] = '/';
-+ root_path.string.utf8[1] = 0;
-+ err = vboxsf_stat(sbi, &root_path, &sbi->root_info);
-+ if (err)
-+ goto fail_unmap;
-+
-+ sb->s_magic = VBOXSF_SUPER_MAGIC;
-+ sb->s_blocksize = 1024;
-+ sb->s_maxbytes = MAX_LFS_FILESIZE;
-+ sb->s_op = &vboxsf_super_ops;
-+ sb->s_d_op = &vboxsf_dentry_ops;
-+
-+ iroot = iget_locked(sb, 0);
-+ if (!iroot) {
-+ err = -ENOMEM;
-+ goto fail_unmap;
-+ }
-+ vboxsf_init_inode(sbi, iroot, &sbi->root_info);
-+ unlock_new_inode(iroot);
-+
-+ droot = d_make_root(iroot);
-+ if (!droot) {
-+ err = -ENOMEM;
-+ goto fail_unmap;
-+ }
-+
-+ sb->s_root = droot;
-+ sb->s_fs_info = sbi;
-+ return 0;
-+
-+fail_unmap:
-+ vboxsf_unmap_folder(sbi->root);
-+fail_free:
-+ if (sbi->bdi_id >= 0)
-+ ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
-+ if (sbi->nls)
-+ unload_nls(sbi->nls);
-+ idr_destroy(&sbi->ino_idr);
-+ kfree(sbi);
-+ return err;
-+}
-+
-+static void vboxsf_inode_init_once(void *data)
-+{
-+ struct vboxsf_inode *sf_i = data;
-+
-+ mutex_init(&sf_i->handle_list_mutex);
-+ inode_init_once(&sf_i->vfs_inode);
-+}
-+
-+static struct inode *vboxsf_alloc_inode(struct super_block *sb)
-+{
-+ struct vboxsf_inode *sf_i;
-+
-+ sf_i = kmem_cache_alloc(vboxsf_inode_cachep, GFP_NOFS);
-+ if (!sf_i)
-+ return NULL;
-+
-+ sf_i->force_restat = 0;
-+ INIT_LIST_HEAD(&sf_i->handle_list);
-+
-+ return &sf_i->vfs_inode;
-+}
-+
-+static void vboxsf_free_inode(struct inode *inode)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(inode->i_sb);
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&sbi->ino_idr_lock, flags);
-+ idr_remove(&sbi->ino_idr, inode->i_ino);
-+ spin_unlock_irqrestore(&sbi->ino_idr_lock, flags);
-+ kmem_cache_free(vboxsf_inode_cachep, VBOXSF_I(inode));
-+}
-+
-+static void vboxsf_put_super(struct super_block *sb)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(sb);
-+
-+ vboxsf_unmap_folder(sbi->root);
-+ if (sbi->bdi_id >= 0)
-+ ida_simple_remove(&vboxsf_bdi_ida, sbi->bdi_id);
-+ if (sbi->nls)
-+ unload_nls(sbi->nls);
-+
-+ /*
-+ * vboxsf_free_inode uses the idr, make sure all delayed rcu free
-+ * inodes are flushed.
-+ */
-+ rcu_barrier();
-+ idr_destroy(&sbi->ino_idr);
-+ kfree(sbi);
-+}
-+
-+static int vboxsf_statfs(struct dentry *dentry, struct kstatfs *stat)
-+{
-+ struct super_block *sb = dentry->d_sb;
-+ struct shfl_volinfo shfl_volinfo;
-+ struct vboxsf_sbi *sbi;
-+ u32 buf_len;
-+ int err;
-+
-+ sbi = VBOXSF_SBI(sb);
-+ buf_len = sizeof(shfl_volinfo);
-+ err = vboxsf_fsinfo(sbi->root, 0, SHFL_INFO_GET | SHFL_INFO_VOLUME,
-+ &buf_len, &shfl_volinfo);
-+ if (err)
-+ return err;
-+
-+ stat->f_type = VBOXSF_SUPER_MAGIC;
-+ stat->f_bsize = shfl_volinfo.bytes_per_allocation_unit;
-+
-+ do_div(shfl_volinfo.total_allocation_bytes,
-+ shfl_volinfo.bytes_per_allocation_unit);
-+ stat->f_blocks = shfl_volinfo.total_allocation_bytes;
-+
-+ do_div(shfl_volinfo.available_allocation_bytes,
-+ shfl_volinfo.bytes_per_allocation_unit);
-+ stat->f_bfree = shfl_volinfo.available_allocation_bytes;
-+ stat->f_bavail = shfl_volinfo.available_allocation_bytes;
-+
-+ stat->f_files = 1000;
-+ /*
-+ * Don't return 0 here since the guest may then think that it is not
-+ * possible to create any more files.
-+ */
-+ stat->f_ffree = 1000000;
-+ stat->f_fsid.val[0] = 0;
-+ stat->f_fsid.val[1] = 0;
-+ stat->f_namelen = 255;
-+ return 0;
-+}
-+
-+static struct super_operations vboxsf_super_ops = {
-+ .alloc_inode = vboxsf_alloc_inode,
-+ .free_inode = vboxsf_free_inode,
-+ .put_super = vboxsf_put_super,
-+ .statfs = vboxsf_statfs,
-+};
-+
-+static int vboxsf_setup(void)
-+{
-+ int err;
-+
-+ mutex_lock(&vboxsf_setup_mutex);
-+
-+ if (vboxsf_setup_done)
-+ goto success;
-+
-+ vboxsf_inode_cachep =
-+ kmem_cache_create("vboxsf_inode_cache",
-+ sizeof(struct vboxsf_inode), 0,
-+ (SLAB_RECLAIM_ACCOUNT | SLAB_MEM_SPREAD |
-+ SLAB_ACCOUNT),
-+ vboxsf_inode_init_once);
-+ if (!vboxsf_inode_cachep) {
-+ err = -ENOMEM;
-+ goto fail_nomem;
-+ }
-+
-+ err = vboxsf_connect();
-+ if (err) {
-+ vbg_err("vboxsf: err %d connecting to guest PCI-device\n", err);
-+ vbg_err("vboxsf: make sure you are inside a VirtualBox VM\n");
-+ vbg_err("vboxsf: and check dmesg for vboxguest errors\n");
-+ goto fail_free_cache;
-+ }
-+
-+ err = vboxsf_set_utf8();
-+ if (err) {
-+ vbg_err("vboxsf_setutf8 error %d\n", err);
-+ goto fail_disconnect;
-+ }
-+
-+ if (!follow_symlinks) {
-+ err = vboxsf_set_symlinks();
-+ if (err)
-+ vbg_warn("vboxsf: Unable to show symlinks: %d\n", err);
-+ }
-+
-+ vboxsf_setup_done = true;
-+success:
-+ mutex_unlock(&vboxsf_setup_mutex);
-+ return 0;
-+
-+fail_disconnect:
-+ vboxsf_disconnect();
-+fail_free_cache:
-+ kmem_cache_destroy(vboxsf_inode_cachep);
-+fail_nomem:
-+ mutex_unlock(&vboxsf_setup_mutex);
-+ return err;
-+}
-+
-+static int vboxsf_parse_monolithic(struct fs_context *fc, void *data)
-+{
-+ char *options = data;
-+
-+ if (options && options[0] == VBSF_MOUNT_SIGNATURE_BYTE_0 &&
-+ options[1] == VBSF_MOUNT_SIGNATURE_BYTE_1 &&
-+ options[2] == VBSF_MOUNT_SIGNATURE_BYTE_2 &&
-+ options[3] == VBSF_MOUNT_SIGNATURE_BYTE_3) {
-+ vbg_err("vboxsf: Old binary mount data not supported, remove obsolete mount.vboxsf and/or update your VBoxService.\n");
-+ return -EINVAL;
-+ }
-+
-+ return generic_parse_monolithic(fc, data);
-+}
-+
-+static int vboxsf_get_tree(struct fs_context *fc)
-+{
-+ int err;
-+
-+ err = vboxsf_setup();
-+ if (err)
-+ return err;
-+
-+ return get_tree_nodev(fc, vboxsf_fill_super);
-+}
-+
-+static int vboxsf_reconfigure(struct fs_context *fc)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(fc->root->d_sb);
-+ struct vboxsf_fs_context *ctx = fc->fs_private;
-+ struct inode *iroot = fc->root->d_sb->s_root->d_inode;
-+
-+ /* Apply changed options to the root inode */
-+ sbi->o = ctx->o;
-+ vboxsf_init_inode(sbi, iroot, &sbi->root_info);
-+
-+ return 0;
-+}
-+
-+static void vboxsf_free_fc(struct fs_context *fc)
-+{
-+ struct vboxsf_fs_context *ctx = fc->fs_private;
-+
-+ kfree(ctx->nls_name);
-+ kfree(ctx);
-+}
-+
-+static const struct fs_context_operations vboxsf_context_ops = {
-+ .free = vboxsf_free_fc,
-+ .parse_param = vboxsf_parse_param,
-+ .parse_monolithic = vboxsf_parse_monolithic,
-+ .get_tree = vboxsf_get_tree,
-+ .reconfigure = vboxsf_reconfigure,
-+};
-+
-+static int vboxsf_init_fs_context(struct fs_context *fc)
-+{
-+ struct vboxsf_fs_context *ctx;
-+
-+ ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
-+ if (!ctx)
-+ return -ENOMEM;
-+
-+ current_uid_gid(&ctx->o.uid, &ctx->o.gid);
-+
-+ fc->fs_private = ctx;
-+ fc->ops = &vboxsf_context_ops;
-+ return 0;
-+}
-+
-+static struct file_system_type vboxsf_fs_type = {
-+ .owner = THIS_MODULE,
-+ .name = "vboxsf",
-+ .init_fs_context = vboxsf_init_fs_context,
-+ .parameters = &vboxsf_fs_parameters,
-+ .kill_sb = kill_anon_super
-+};
-+
-+/* Module initialization/finalization handlers */
-+static int __init vboxsf_init(void)
-+{
-+ return register_filesystem(&vboxsf_fs_type);
-+}
-+
-+static void __exit vboxsf_fini(void)
-+{
-+ unregister_filesystem(&vboxsf_fs_type);
-+
-+ mutex_lock(&vboxsf_setup_mutex);
-+ if (vboxsf_setup_done) {
-+ vboxsf_disconnect();
-+ /*
-+ * Make sure all delayed rcu free inodes are flushed
-+ * before we destroy the cache.
-+ */
-+ rcu_barrier();
-+ kmem_cache_destroy(vboxsf_inode_cachep);
-+ }
-+ mutex_unlock(&vboxsf_setup_mutex);
-+}
-+
-+module_init(vboxsf_init);
-+module_exit(vboxsf_fini);
-+
-+MODULE_DESCRIPTION("Oracle VM VirtualBox Module for Host File System Access");
-+MODULE_AUTHOR("Oracle Corporation");
-+MODULE_LICENSE("GPL v2");
-+MODULE_ALIAS_FS("vboxsf");
-diff --git a/fs/vboxsf/utils.c b/fs/vboxsf/utils.c
-new file mode 100644
-index 000000000000..96bd160da48b
---- /dev/null
-+++ b/fs/vboxsf/utils.c
-@@ -0,0 +1,551 @@
-+// SPDX-License-Identifier: MIT
-+/*
-+ * VirtualBox Guest Shared Folders support: Utility functions.
-+ * Mainly conversion from/to VirtualBox/Linux data structures.
-+ *
-+ * Copyright (C) 2006-2018 Oracle Corporation
-+ */
-+
-+#include <linux/namei.h>
-+#include <linux/nls.h>
-+#include <linux/sizes.h>
-+#include <linux/vfs.h>
-+#include "vfsmod.h"
-+
-+struct inode *vboxsf_new_inode(struct super_block *sb)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(sb);
-+ struct inode *inode;
-+ unsigned long flags;
-+ int cursor, ret;
-+ u32 gen;
-+
-+ inode = new_inode(sb);
-+ if (!inode)
-+ return ERR_PTR(-ENOMEM);
-+
-+ idr_preload(GFP_KERNEL);
-+ spin_lock_irqsave(&sbi->ino_idr_lock, flags);
-+ cursor = idr_get_cursor(&sbi->ino_idr);
-+ ret = idr_alloc_cyclic(&sbi->ino_idr, inode, 1, 0, GFP_ATOMIC);
-+ if (ret >= 0 && ret < cursor)
-+ sbi->next_generation++;
-+ gen = sbi->next_generation;
-+ spin_unlock_irqrestore(&sbi->ino_idr_lock, flags);
-+ idr_preload_end();
-+
-+ if (ret < 0) {
-+ iput(inode);
-+ return ERR_PTR(ret);
-+ }
-+
-+ inode->i_ino = ret;
-+ inode->i_generation = gen;
-+ return inode;
-+}
-+
-+/* set [inode] attributes based on [info], uid/gid based on [sbi] */
-+void vboxsf_init_inode(struct vboxsf_sbi *sbi, struct inode *inode,
-+ const struct shfl_fsobjinfo *info)
-+{
-+ const struct shfl_fsobjattr *attr;
-+ s64 allocated;
-+ int mode;
-+
-+ attr = &info->attr;
-+
-+#define mode_set(r) ((attr->mode & (SHFL_UNIX_##r)) ? (S_##r) : 0)
-+
-+ mode = mode_set(IRUSR);
-+ mode |= mode_set(IWUSR);
-+ mode |= mode_set(IXUSR);
-+
-+ mode |= mode_set(IRGRP);
-+ mode |= mode_set(IWGRP);
-+ mode |= mode_set(IXGRP);
-+
-+ mode |= mode_set(IROTH);
-+ mode |= mode_set(IWOTH);
-+ mode |= mode_set(IXOTH);
-+
-+#undef mode_set
-+
-+ /* We use the host-side values for these */
-+ inode->i_flags |= S_NOATIME | S_NOCMTIME;
-+ inode->i_mapping->a_ops = &vboxsf_reg_aops;
-+
-+ if (SHFL_IS_DIRECTORY(attr->mode)) {
-+ inode->i_mode = sbi->o.dmode_set ? sbi->o.dmode : mode;
-+ inode->i_mode &= ~sbi->o.dmask;
-+ inode->i_mode |= S_IFDIR;
-+ inode->i_op = &vboxsf_dir_iops;
-+ inode->i_fop = &vboxsf_dir_fops;
-+ /*
-+ * XXX: this probably should be set to the number of entries
-+ * in the directory plus two (. ..)
-+ */
-+ set_nlink(inode, 1);
-+ } else if (SHFL_IS_SYMLINK(attr->mode)) {
-+ inode->i_mode = sbi->o.fmode_set ? sbi->o.fmode : mode;
-+ inode->i_mode &= ~sbi->o.fmask;
-+ inode->i_mode |= S_IFLNK;
-+ inode->i_op = &vboxsf_lnk_iops;
-+ set_nlink(inode, 1);
-+ } else {
-+ inode->i_mode = sbi->o.fmode_set ? sbi->o.fmode : mode;
-+ inode->i_mode &= ~sbi->o.fmask;
-+ inode->i_mode |= S_IFREG;
-+ inode->i_op = &vboxsf_reg_iops;
-+ inode->i_fop = &vboxsf_reg_fops;
-+ set_nlink(inode, 1);
-+ }
-+
-+ inode->i_uid = sbi->o.uid;
-+ inode->i_gid = sbi->o.gid;
-+
-+ inode->i_size = info->size;
-+ inode->i_blkbits = 12;
-+ /* i_blocks always in units of 512 bytes! */
-+ allocated = info->allocated + 511;
-+ do_div(allocated, 512);
-+ inode->i_blocks = allocated;
-+
-+ inode->i_atime = ns_to_timespec64(
-+ info->access_time.ns_relative_to_unix_epoch);
-+ inode->i_ctime = ns_to_timespec64(
-+ info->change_time.ns_relative_to_unix_epoch);
-+ inode->i_mtime = ns_to_timespec64(
-+ info->modification_time.ns_relative_to_unix_epoch);
-+}
-+
-+int vboxsf_create_at_dentry(struct dentry *dentry,
-+ struct shfl_createparms *params)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(dentry->d_sb);
-+ struct shfl_string *path;
-+ int err;
-+
-+ path = vboxsf_path_from_dentry(sbi, dentry);
-+ if (IS_ERR(path))
-+ return PTR_ERR(path);
-+
-+ err = vboxsf_create(sbi->root, path, params);
-+ __putname(path);
-+
-+ return err;
-+}
-+
-+int vboxsf_stat(struct vboxsf_sbi *sbi, struct shfl_string *path,
-+ struct shfl_fsobjinfo *info)
-+{
-+ struct shfl_createparms params = {};
-+ int err;
-+
-+ params.handle = SHFL_HANDLE_NIL;
-+ params.create_flags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW;
-+
-+ err = vboxsf_create(sbi->root, path, &params);
-+ if (err)
-+ return err;
-+
-+ if (params.result != SHFL_FILE_EXISTS)
-+ return -ENOENT;
-+
-+ if (info)
-+ *info = params.info;
-+
-+ return 0;
-+}
-+
-+int vboxsf_stat_dentry(struct dentry *dentry, struct shfl_fsobjinfo *info)
-+{
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(dentry->d_sb);
-+ struct shfl_string *path;
-+ int err;
-+
-+ path = vboxsf_path_from_dentry(sbi, dentry);
-+ if (IS_ERR(path))
-+ return PTR_ERR(path);
-+
-+ err = vboxsf_stat(sbi, path, info);
-+ __putname(path);
-+ return err;
-+}
-+
-+int vboxsf_inode_revalidate(struct dentry *dentry)
-+{
-+ struct vboxsf_sbi *sbi;
-+ struct vboxsf_inode *sf_i;
-+ struct shfl_fsobjinfo info;
-+ struct timespec64 prev_mtime;
-+ struct inode *inode;
-+ int err;
-+
-+ if (!dentry || !d_really_is_positive(dentry))
-+ return -EINVAL;
-+
-+ inode = d_inode(dentry);
-+ prev_mtime = inode->i_mtime;
-+ sf_i = VBOXSF_I(inode);
-+ sbi = VBOXSF_SBI(dentry->d_sb);
-+ if (!sf_i->force_restat) {
-+ if (time_before(jiffies, dentry->d_time + sbi->o.ttl))
-+ return 0;
-+ }
-+
-+ err = vboxsf_stat_dentry(dentry, &info);
-+ if (err)
-+ return err;
-+
-+ dentry->d_time = jiffies;
-+ sf_i->force_restat = 0;
-+ vboxsf_init_inode(sbi, inode, &info);
-+
-+ /*
-+ * If the file was changed on the host side we need to invalidate the
-+ * page-cache for it. Note this also gets triggered by our own writes,
-+ * this is unavoidable.
-+ */
-+ if (timespec64_compare(&inode->i_mtime, &prev_mtime) > 0)
-+ invalidate_inode_pages2(inode->i_mapping);
-+
-+ return 0;
-+}
-+
-+int vboxsf_getattr(const struct path *path, struct kstat *kstat,
-+ u32 request_mask, unsigned int flags)
-+{
-+ int err;
-+ struct dentry *dentry = path->dentry;
-+ struct inode *inode = d_inode(dentry);
-+ struct vboxsf_inode *sf_i = VBOXSF_I(inode);
-+
-+ switch (flags & AT_STATX_SYNC_TYPE) {
-+ case AT_STATX_DONT_SYNC:
-+ err = 0;
-+ break;
-+ case AT_STATX_FORCE_SYNC:
-+ sf_i->force_restat = 1;
-+ /* fall-through */
-+ default:
-+ err = vboxsf_inode_revalidate(dentry);
-+ }
-+ if (err)
-+ return err;
-+
-+ generic_fillattr(d_inode(dentry), kstat);
-+ return 0;
-+}
-+
-+int vboxsf_setattr(struct dentry *dentry, struct iattr *iattr)
-+{
-+ struct vboxsf_inode *sf_i = VBOXSF_I(d_inode(dentry));
-+ struct vboxsf_sbi *sbi = VBOXSF_SBI(dentry->d_sb);
-+ struct shfl_createparms params = {};
-+ struct shfl_fsobjinfo info = {};
-+ u32 buf_len;
-+ int err;
-+
-+ params.handle = SHFL_HANDLE_NIL;
-+ params.create_flags = SHFL_CF_ACT_OPEN_IF_EXISTS |
-+ SHFL_CF_ACT_FAIL_IF_NEW |
-+ SHFL_CF_ACCESS_ATTR_WRITE;
-+
-+ /* this is at least required for Posix hosts */
-+ if (iattr->ia_valid & ATTR_SIZE)
-+ params.create_flags |= SHFL_CF_ACCESS_WRITE;
-+
-+ err = vboxsf_create_at_dentry(dentry, &params);
-+ if (err || params.result != SHFL_FILE_EXISTS)
-+ return err ? err : -ENOENT;
-+
-+#define mode_set(r) ((iattr->ia_mode & (S_##r)) ? SHFL_UNIX_##r : 0)
-+
-+ /*
-+ * Setting the file size and setting the other attributes has to
-+ * be handled separately.
-+ */
-+ if (iattr->ia_valid & (ATTR_MODE | ATTR_ATIME | ATTR_MTIME)) {
-+ if (iattr->ia_valid & ATTR_MODE) {
-+ info.attr.mode = mode_set(IRUSR);
-+ info.attr.mode |= mode_set(IWUSR);
-+ info.attr.mode |= mode_set(IXUSR);
-+ info.attr.mode |= mode_set(IRGRP);
-+ info.attr.mode |= mode_set(IWGRP);
-+ info.attr.mode |= mode_set(IXGRP);
-+ info.attr.mode |= mode_set(IROTH);
-+ info.attr.mode |= mode_set(IWOTH);
-+ info.attr.mode |= mode_set(IXOTH);
-+
-+ if (iattr->ia_mode & S_IFDIR)
-+ info.attr.mode |= SHFL_TYPE_DIRECTORY;
-+ else
-+ info.attr.mode |= SHFL_TYPE_FILE;
-+ }
-+
-+ if (iattr->ia_valid & ATTR_ATIME)
-+ info.access_time.ns_relative_to_unix_epoch =
-+ timespec64_to_ns(&iattr->ia_atime);
-+
-+ if (iattr->ia_valid & ATTR_MTIME)
-+ info.modification_time.ns_relative_to_unix_epoch =
-+ timespec64_to_ns(&iattr->ia_mtime);
-+
-+ /*
-+ * Ignore ctime (inode change time) as it can't be set
-+ * from userland anyway.
-+ */
-+
-+ buf_len = sizeof(info);
-+ err = vboxsf_fsinfo(sbi->root, params.handle,
-+ SHFL_INFO_SET | SHFL_INFO_FILE, &buf_len,
-+ &info);
-+ if (err) {
-+ vboxsf_close(sbi->root, params.handle);
-+ return err;
-+ }
-+
-+ /* the host may have given us different attr then requested */
-+ sf_i->force_restat = 1;
-+ }
-+
-+#undef mode_set
-+
-+ if (iattr->ia_valid & ATTR_SIZE) {
-+ memset(&info, 0, sizeof(info));
-+ info.size = iattr->ia_size;
-+ buf_len = sizeof(info);
-+ err = vboxsf_fsinfo(sbi->root, params.handle,
-+ SHFL_INFO_SET | SHFL_INFO_SIZE, &buf_len,
-+ &info);
-+ if (err) {
-+ vboxsf_close(sbi->root, params.handle);
-+ return err;
-+ }
-+
-+ /* the host may have given us different attr then requested */
-+ sf_i->force_restat = 1;
-+ }
-+
-+ vboxsf_close(sbi->root, params.handle);
-+
-+ /* Update the inode with what the host has actually given us. */
-+ if (sf_i->force_restat)
-+ vboxsf_inode_revalidate(dentry);
-+
-+ return 0;
-+}
-+
-+/*
-+ * [dentry] contains string encoded in coding system that corresponds
-+ * to [sbi]->nls, we must convert it to UTF8 here.
-+ * Returns a shfl_string allocated through __getname (must be freed using
-+ * __putname), or an ERR_PTR on error.
-+ */
-+struct shfl_string *vboxsf_path_from_dentry(struct vboxsf_sbi *sbi,
-+ struct dentry *dentry)
-+{
-+ struct shfl_string *shfl_path;
-+ int path_len, out_len, nb;
-+ char *buf, *path;
-+ wchar_t uni;
-+ u8 *out;
-+
-+ buf = __getname();
-+ if (!buf)
-+ return ERR_PTR(-ENOMEM);
-+
-+ path = dentry_path_raw(dentry, buf, PATH_MAX);
-+ if (IS_ERR(path)) {
-+ __putname(buf);
-+ return ERR_CAST(path);
-+ }
-+ path_len = strlen(path);
-+
-+ if (sbi->nls) {
-+ shfl_path = __getname();
-+ if (!shfl_path) {
-+ __putname(buf);
-+ return ERR_PTR(-ENOMEM);
-+ }
-+
-+ out = shfl_path->string.utf8;
-+ out_len = PATH_MAX - SHFLSTRING_HEADER_SIZE - 1;
-+
-+ while (path_len) {
-+ nb = sbi->nls->char2uni(path, path_len, &uni);
-+ if (nb < 0) {
-+ __putname(shfl_path);
-+ __putname(buf);
-+ return ERR_PTR(-EINVAL);
-+ }
-+ path += nb;
-+ path_len -= nb;
-+
-+ nb = utf32_to_utf8(uni, out, out_len);
-+ if (nb < 0) {
-+ __putname(shfl_path);
-+ __putname(buf);
-+ return ERR_PTR(-ENAMETOOLONG);
-+ }
-+ out += nb;
-+ out_len -= nb;
-+ }
-+ *out = 0;
-+ shfl_path->length = out - shfl_path->string.utf8;
-+ shfl_path->size = shfl_path->length + 1;
-+ __putname(buf);
-+ } else {
-+ if ((SHFLSTRING_HEADER_SIZE + path_len + 1) > PATH_MAX) {
-+ __putname(buf);
-+ return ERR_PTR(-ENAMETOOLONG);
-+ }
-+ /*
-+ * dentry_path stores the name at the end of buf, but the
-+ * shfl_string string we return must be properly aligned.
-+ */
-+ shfl_path = (struct shfl_string *)buf;
-+ memmove(shfl_path->string.utf8, path, path_len);
-+ shfl_path->string.utf8[path_len] = 0;
-+ shfl_path->length = path_len;
-+ shfl_path->size = path_len + 1;
-+ }
-+
-+ return shfl_path;
-+}
-+
-+int vboxsf_nlscpy(struct vboxsf_sbi *sbi, char *name, size_t name_bound_len,
-+ const unsigned char *utf8_name, size_t utf8_len)
-+{
-+ const char *in;
-+ char *out;
-+ size_t out_len;
-+ size_t out_bound_len;
-+ size_t in_bound_len;
-+
-+ in = utf8_name;
-+ in_bound_len = utf8_len;
-+
-+ out = name;
-+ out_len = 0;
-+ /* Reserve space for terminating 0 */
-+ out_bound_len = name_bound_len - 1;
-+
-+ while (in_bound_len) {
-+ int nb;
-+ unicode_t uni;
-+
-+ nb = utf8_to_utf32(in, in_bound_len, &uni);
-+ if (nb < 0)
-+ return -EINVAL;
-+
-+ in += nb;
-+ in_bound_len -= nb;
-+
-+ nb = sbi->nls->uni2char(uni, out, out_bound_len);
-+ if (nb < 0)
-+ return nb;
-+
-+ out += nb;
-+ out_bound_len -= nb;
-+ out_len += nb;
-+ }
-+
-+ *out = 0;
-+
-+ return 0;
-+}
-+
-+static struct vboxsf_dir_buf *vboxsf_dir_buf_alloc(struct list_head *list)
-+{
-+ struct vboxsf_dir_buf *b;
-+
-+ b = kmalloc(sizeof(*b), GFP_KERNEL);
-+ if (!b)
-+ return NULL;
-+
-+ b->buf = kmalloc(DIR_BUFFER_SIZE, GFP_KERNEL);
-+ if (!b->buf) {
-+ kfree(b);
-+ return NULL;
-+ }
-+
-+ b->entries = 0;
-+ b->used = 0;
-+ b->free = DIR_BUFFER_SIZE;
-+ list_add(&b->head, list);
-+
-+ return b;
-+}
-+
-+static void vboxsf_dir_buf_free(struct vboxsf_dir_buf *b)
-+{
-+ list_del(&b->head);
-+ kfree(b->buf);
-+ kfree(b);
-+}
-+
-+struct vboxsf_dir_info *vboxsf_dir_info_alloc(void)
-+{
-+ struct vboxsf_dir_info *p;
-+
-+ p = kmalloc(sizeof(*p), GFP_KERNEL);
-+ if (!p)
-+ return NULL;
-+
-+ INIT_LIST_HEAD(&p->info_list);
-+ return p;
-+}
-+
-+void vboxsf_dir_info_free(struct vboxsf_dir_info *p)
-+{
-+ struct list_head *list, *pos, *tmp;
-+
-+ list = &p->info_list;
-+ list_for_each_safe(pos, tmp, list) {
-+ struct vboxsf_dir_buf *b;
-+
-+ b = list_entry(pos, struct vboxsf_dir_buf, head);
-+ vboxsf_dir_buf_free(b);
-+ }
-+ kfree(p);
-+}
-+
-+int vboxsf_dir_read_all(struct vboxsf_sbi *sbi, struct vboxsf_dir_info *sf_d,
-+ u64 handle)
-+{
-+ struct vboxsf_dir_buf *b;
-+ u32 entries, size;
-+ int err = 0;
-+ void *buf;
-+
-+ /* vboxsf_dirinfo returns 1 on end of dir */
-+ while (err == 0) {
-+ b = vboxsf_dir_buf_alloc(&sf_d->info_list);
-+ if (!b) {
-+ err = -ENOMEM;
-+ break;
-+ }
-+
-+ buf = b->buf;
-+ size = b->free;
-+
-+ err = vboxsf_dirinfo(sbi->root, handle, NULL, 0, 0,
-+ &size, buf, &entries);
-+ if (err < 0)
-+ break;
-+
-+ b->entries += entries;
-+ b->free -= size;
-+ b->used += size;
-+ }
-+
-+ if (b && b->used == 0)
-+ vboxsf_dir_buf_free(b);
-+
-+ /* -EILSEQ means the host could not translate a filename, ignore */
-+ if (err > 0 || err == -EILSEQ)
-+ err = 0;
-+
-+ return err;
-+}
-diff --git a/fs/vboxsf/vboxsf_wrappers.c b/fs/vboxsf/vboxsf_wrappers.c
-new file mode 100644
-index 000000000000..bfc78a097dae
---- /dev/null
-+++ b/fs/vboxsf/vboxsf_wrappers.c
-@@ -0,0 +1,371 @@
-+// SPDX-License-Identifier: MIT
-+/*
-+ * Wrapper functions for the shfl host calls.
-+ *
-+ * Copyright (C) 2006-2018 Oracle Corporation
-+ */
-+
-+#include <linux/mm.h>
-+#include <linux/slab.h>
-+#include <linux/vbox_err.h>
-+#include <linux/vbox_utils.h>
-+#include "vfsmod.h"
-+
-+#define SHFL_REQUEST \
-+ (VMMDEV_REQUESTOR_KERNEL | VMMDEV_REQUESTOR_USR_DRV_OTHER | \
-+ VMMDEV_REQUESTOR_CON_DONT_KNOW | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN)
-+
-+static u32 vboxsf_client_id;
-+
-+int vboxsf_connect(void)
-+{
-+ struct vbg_dev *gdev;
-+ struct vmmdev_hgcm_service_location loc;
-+ int err, vbox_status;
-+
-+ loc.type = VMMDEV_HGCM_LOC_LOCALHOST_EXISTING;
-+ strcpy(loc.u.localhost.service_name, "VBoxSharedFolders");
-+
-+ gdev = vbg_get_gdev();
-+ if (IS_ERR(gdev))
-+ return -ENODEV; /* No guest-device */
-+
-+ err = vbg_hgcm_connect(gdev, SHFL_REQUEST, &loc,
-+ &vboxsf_client_id, &vbox_status);
-+ vbg_put_gdev(gdev);
-+
-+ return err ? err : vbg_status_code_to_errno(vbox_status);
-+}
-+
-+void vboxsf_disconnect(void)
-+{
-+ struct vbg_dev *gdev;
-+ int vbox_status;
-+
-+ gdev = vbg_get_gdev();
-+ if (IS_ERR(gdev))
-+ return; /* guest-device is gone, already disconnected */
-+
-+ vbg_hgcm_disconnect(gdev, SHFL_REQUEST, vboxsf_client_id, &vbox_status);
-+ vbg_put_gdev(gdev);
-+}
-+
-+static int vboxsf_call(u32 function, void *parms, u32 parm_count, int *status)
-+{
-+ struct vbg_dev *gdev;
-+ int err, vbox_status;
-+
-+ gdev = vbg_get_gdev();
-+ if (IS_ERR(gdev))
-+ return -ESHUTDOWN; /* guest-dev removed underneath us */
-+
-+ err = vbg_hgcm_call(gdev, SHFL_REQUEST, vboxsf_client_id, function,
-+ U32_MAX, parms, parm_count, &vbox_status);
-+ vbg_put_gdev(gdev);
-+
-+ if (err < 0)
-+ return err;
-+
-+ if (status)
-+ *status = vbox_status;
-+
-+ return vbg_status_code_to_errno(vbox_status);
-+}
-+
-+int vboxsf_map_folder(struct shfl_string *folder_name, u32 *root)
-+{
-+ struct shfl_map_folder parms;
-+ int err, status;
-+
-+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL;
-+ parms.path.u.pointer.size = shfl_string_buf_size(folder_name);
-+ parms.path.u.pointer.u.linear_addr = (uintptr_t)folder_name;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = 0;
-+
-+ parms.delimiter.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.delimiter.u.value32 = '/';
-+
-+ parms.case_sensitive.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.case_sensitive.u.value32 = 1;
-+
-+ err = vboxsf_call(SHFL_FN_MAP_FOLDER, &parms, SHFL_CPARMS_MAP_FOLDER,
-+ &status);
-+ if (err == -ENOSYS && status == VERR_NOT_IMPLEMENTED)
-+ vbg_err("%s: Error host is too old\n", __func__);
-+
-+ *root = parms.root.u.value32;
-+ return err;
-+}
-+
-+int vboxsf_unmap_folder(u32 root)
-+{
-+ struct shfl_unmap_folder parms;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ return vboxsf_call(SHFL_FN_UNMAP_FOLDER, &parms,
-+ SHFL_CPARMS_UNMAP_FOLDER, NULL);
-+}
-+
-+/**
-+ * vboxsf_create - Create a new file or folder
-+ * @root: Root of the shared folder in which to create the file
-+ * @parsed_path: The path of the file or folder relative to the shared folder
-+ * @param: create_parms Parameters for file/folder creation.
-+ *
-+ * Create a new file or folder or open an existing one in a shared folder.
-+ * Note this function always returns 0 / success unless an exceptional condition
-+ * occurs - out of memory, invalid arguments, etc. If the file or folder could
-+ * not be opened or created, create_parms->handle will be set to
-+ * SHFL_HANDLE_NIL on return. In this case the value in create_parms->result
-+ * provides information as to why (e.g. SHFL_FILE_EXISTS), create_parms->result
-+ * is also set on success as additional information.
-+ *
-+ * Returns:
-+ * 0 or negative errno value.
-+ */
-+int vboxsf_create(u32 root, struct shfl_string *parsed_path,
-+ struct shfl_createparms *create_parms)
-+{
-+ struct shfl_create parms;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL;
-+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
-+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
-+
-+ parms.parms.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL;
-+ parms.parms.u.pointer.size = sizeof(struct shfl_createparms);
-+ parms.parms.u.pointer.u.linear_addr = (uintptr_t)create_parms;
-+
-+ return vboxsf_call(SHFL_FN_CREATE, &parms, SHFL_CPARMS_CREATE, NULL);
-+}
-+
-+int vboxsf_close(u32 root, u64 handle)
-+{
-+ struct shfl_close parms;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT;
-+ parms.handle.u.value64 = handle;
-+
-+ return vboxsf_call(SHFL_FN_CLOSE, &parms, SHFL_CPARMS_CLOSE, NULL);
-+}
-+
-+int vboxsf_remove(u32 root, struct shfl_string *parsed_path, u32 flags)
-+{
-+ struct shfl_remove parms;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
-+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
-+
-+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.flags.u.value32 = flags;
-+
-+ return vboxsf_call(SHFL_FN_REMOVE, &parms, SHFL_CPARMS_REMOVE, NULL);
-+}
-+
-+int vboxsf_rename(u32 root, struct shfl_string *src_path,
-+ struct shfl_string *dest_path, u32 flags)
-+{
-+ struct shfl_rename parms;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.src.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.src.u.pointer.size = shfl_string_buf_size(src_path);
-+ parms.src.u.pointer.u.linear_addr = (uintptr_t)src_path;
-+
-+ parms.dest.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.dest.u.pointer.size = shfl_string_buf_size(dest_path);
-+ parms.dest.u.pointer.u.linear_addr = (uintptr_t)dest_path;
-+
-+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.flags.u.value32 = flags;
-+
-+ return vboxsf_call(SHFL_FN_RENAME, &parms, SHFL_CPARMS_RENAME, NULL);
-+}
-+
-+int vboxsf_read(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf)
-+{
-+ struct shfl_read parms;
-+ int err;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT;
-+ parms.handle.u.value64 = handle;
-+ parms.offset.type = VMMDEV_HGCM_PARM_TYPE_64BIT;
-+ parms.offset.u.value64 = offset;
-+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.cb.u.value32 = *buf_len;
-+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT;
-+ parms.buffer.u.pointer.size = *buf_len;
-+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf;
-+
-+ err = vboxsf_call(SHFL_FN_READ, &parms, SHFL_CPARMS_READ, NULL);
-+
-+ *buf_len = parms.cb.u.value32;
-+ return err;
-+}
-+
-+int vboxsf_write(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf)
-+{
-+ struct shfl_write parms;
-+ int err;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT;
-+ parms.handle.u.value64 = handle;
-+ parms.offset.type = VMMDEV_HGCM_PARM_TYPE_64BIT;
-+ parms.offset.u.value64 = offset;
-+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.cb.u.value32 = *buf_len;
-+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.buffer.u.pointer.size = *buf_len;
-+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf;
-+
-+ err = vboxsf_call(SHFL_FN_WRITE, &parms, SHFL_CPARMS_WRITE, NULL);
-+
-+ *buf_len = parms.cb.u.value32;
-+ return err;
-+}
-+
-+/* Returns 0 on success, 1 on end-of-dir, negative errno otherwise */
-+int vboxsf_dirinfo(u32 root, u64 handle,
-+ struct shfl_string *parsed_path, u32 flags, u32 index,
-+ u32 *buf_len, struct shfl_dirinfo *buf, u32 *file_count)
-+{
-+ struct shfl_list parms;
-+ int err, status;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT;
-+ parms.handle.u.value64 = handle;
-+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.flags.u.value32 = flags;
-+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.cb.u.value32 = *buf_len;
-+ if (parsed_path) {
-+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
-+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
-+ } else {
-+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_IN;
-+ parms.path.u.pointer.size = 0;
-+ parms.path.u.pointer.u.linear_addr = 0;
-+ }
-+
-+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT;
-+ parms.buffer.u.pointer.size = *buf_len;
-+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf;
-+
-+ parms.resume_point.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.resume_point.u.value32 = index;
-+ parms.file_count.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.file_count.u.value32 = 0; /* out parameter only */
-+
-+ err = vboxsf_call(SHFL_FN_LIST, &parms, SHFL_CPARMS_LIST, &status);
-+ if (err == -ENODATA && status == VERR_NO_MORE_FILES)
-+ err = 1;
-+
-+ *buf_len = parms.cb.u.value32;
-+ *file_count = parms.file_count.u.value32;
-+ return err;
-+}
-+
-+int vboxsf_fsinfo(u32 root, u64 handle, u32 flags,
-+ u32 *buf_len, void *buf)
-+{
-+ struct shfl_information parms;
-+ int err;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.handle.type = VMMDEV_HGCM_PARM_TYPE_64BIT;
-+ parms.handle.u.value64 = handle;
-+ parms.flags.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.flags.u.value32 = flags;
-+ parms.cb.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.cb.u.value32 = *buf_len;
-+ parms.info.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL;
-+ parms.info.u.pointer.size = *buf_len;
-+ parms.info.u.pointer.u.linear_addr = (uintptr_t)buf;
-+
-+ err = vboxsf_call(SHFL_FN_INFORMATION, &parms, SHFL_CPARMS_INFORMATION,
-+ NULL);
-+
-+ *buf_len = parms.cb.u.value32;
-+ return err;
-+}
-+
-+int vboxsf_readlink(u32 root, struct shfl_string *parsed_path,
-+ u32 buf_len, u8 *buf)
-+{
-+ struct shfl_readLink parms;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.path.u.pointer.size = shfl_string_buf_size(parsed_path);
-+ parms.path.u.pointer.u.linear_addr = (uintptr_t)parsed_path;
-+
-+ parms.buffer.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT;
-+ parms.buffer.u.pointer.size = buf_len;
-+ parms.buffer.u.pointer.u.linear_addr = (uintptr_t)buf;
-+
-+ return vboxsf_call(SHFL_FN_READLINK, &parms, SHFL_CPARMS_READLINK,
-+ NULL);
-+}
-+
-+int vboxsf_symlink(u32 root, struct shfl_string *new_path,
-+ struct shfl_string *old_path, struct shfl_fsobjinfo *buf)
-+{
-+ struct shfl_symlink parms;
-+
-+ parms.root.type = VMMDEV_HGCM_PARM_TYPE_32BIT;
-+ parms.root.u.value32 = root;
-+
-+ parms.new_path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.new_path.u.pointer.size = shfl_string_buf_size(new_path);
-+ parms.new_path.u.pointer.u.linear_addr = (uintptr_t)new_path;
-+
-+ parms.old_path.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_IN;
-+ parms.old_path.u.pointer.size = shfl_string_buf_size(old_path);
-+ parms.old_path.u.pointer.u.linear_addr = (uintptr_t)old_path;
-+
-+ parms.info.type = VMMDEV_HGCM_PARM_TYPE_LINADDR_KERNEL_OUT;
-+ parms.info.u.pointer.size = sizeof(struct shfl_fsobjinfo);
-+ parms.info.u.pointer.u.linear_addr = (uintptr_t)buf;
-+
-+ return vboxsf_call(SHFL_FN_SYMLINK, &parms, SHFL_CPARMS_SYMLINK, NULL);
-+}
-+
-+int vboxsf_set_utf8(void)
-+{
-+ return vboxsf_call(SHFL_FN_SET_UTF8, NULL, 0, NULL);
-+}
-+
-+int vboxsf_set_symlinks(void)
-+{
-+ return vboxsf_call(SHFL_FN_SET_SYMLINKS, NULL, 0, NULL);
-+}
-diff --git a/fs/vboxsf/vfsmod.h b/fs/vboxsf/vfsmod.h
-new file mode 100644
-index 000000000000..18f95b00fc33
---- /dev/null
-+++ b/fs/vboxsf/vfsmod.h
-@@ -0,0 +1,137 @@
-+/* SPDX-License-Identifier: MIT */
-+/*
-+ * VirtualBox Guest Shared Folders support: module header.
-+ *
-+ * Copyright (C) 2006-2018 Oracle Corporation
-+ */
-+
-+#ifndef VFSMOD_H
-+#define VFSMOD_H
-+
-+#include <linux/backing-dev.h>
-+#include <linux/idr.h>
-+#include "shfl_hostintf.h"
-+
-+#define DIR_BUFFER_SIZE SZ_16K
-+
-+/* The cast is to prevent assignment of void * to pointers of arbitrary type */
-+#define VBOXSF_SBI(sb) ((struct vboxsf_sbi *)(sb)->s_fs_info)
-+#define VBOXSF_I(i) container_of(i, struct vboxsf_inode, vfs_inode)
-+
-+struct vboxsf_options {
-+ unsigned long ttl;
-+ kuid_t uid;
-+ kgid_t gid;
-+ bool dmode_set;
-+ bool fmode_set;
-+ umode_t dmode;
-+ umode_t fmode;
-+ umode_t dmask;
-+ umode_t fmask;
-+};
-+
-+struct vboxsf_fs_context {
-+ struct vboxsf_options o;
-+ char *nls_name;
-+};
-+
-+/* per-shared folder information */
-+struct vboxsf_sbi {
-+ struct vboxsf_options o;
-+ struct shfl_fsobjinfo root_info;
-+ struct idr ino_idr;
-+ spinlock_t ino_idr_lock; /* This protects ino_idr */
-+ struct nls_table *nls;
-+ u32 next_generation;
-+ u32 root;
-+ int bdi_id;
-+};
-+
-+/* per-inode information */
-+struct vboxsf_inode {
-+ /* some information was changed, update data on next revalidate */
-+ int force_restat;
-+ /* list of open handles for this inode + lock protecting it */
-+ struct list_head handle_list;
-+ /* This mutex protects handle_list accesses */
-+ struct mutex handle_list_mutex;
-+ /* The VFS inode struct */
-+ struct inode vfs_inode;
-+};
-+
-+struct vboxsf_dir_info {
-+ struct list_head info_list;
-+};
-+
-+struct vboxsf_dir_buf {
-+ size_t entries;
-+ size_t free;
-+ size_t used;
-+ void *buf;
-+ struct list_head head;
-+};
-+
-+/* globals */
-+extern const struct inode_operations vboxsf_dir_iops;
-+extern const struct inode_operations vboxsf_lnk_iops;
-+extern const struct inode_operations vboxsf_reg_iops;
-+extern const struct file_operations vboxsf_dir_fops;
-+extern const struct file_operations vboxsf_reg_fops;
-+extern const struct address_space_operations vboxsf_reg_aops;
-+extern const struct dentry_operations vboxsf_dentry_ops;
-+
-+/* from utils.c */
-+struct inode *vboxsf_new_inode(struct super_block *sb);
-+void vboxsf_init_inode(struct vboxsf_sbi *sbi, struct inode *inode,
-+ const struct shfl_fsobjinfo *info);
-+int vboxsf_create_at_dentry(struct dentry *dentry,
-+ struct shfl_createparms *params);
-+int vboxsf_stat(struct vboxsf_sbi *sbi, struct shfl_string *path,
-+ struct shfl_fsobjinfo *info);
-+int vboxsf_stat_dentry(struct dentry *dentry, struct shfl_fsobjinfo *info);
-+int vboxsf_inode_revalidate(struct dentry *dentry);
-+int vboxsf_getattr(const struct path *path, struct kstat *kstat,
-+ u32 request_mask, unsigned int query_flags);
-+int vboxsf_setattr(struct dentry *dentry, struct iattr *iattr);
-+struct shfl_string *vboxsf_path_from_dentry(struct vboxsf_sbi *sbi,
-+ struct dentry *dentry);
-+int vboxsf_nlscpy(struct vboxsf_sbi *sbi, char *name, size_t name_bound_len,
-+ const unsigned char *utf8_name, size_t utf8_len);
-+struct vboxsf_dir_info *vboxsf_dir_info_alloc(void);
-+void vboxsf_dir_info_free(struct vboxsf_dir_info *p);
-+int vboxsf_dir_read_all(struct vboxsf_sbi *sbi, struct vboxsf_dir_info *sf_d,
-+ u64 handle);
-+
-+/* from vboxsf_wrappers.c */
-+int vboxsf_connect(void);
-+void vboxsf_disconnect(void);
-+
-+int vboxsf_create(u32 root, struct shfl_string *parsed_path,
-+ struct shfl_createparms *create_parms);
-+
-+int vboxsf_close(u32 root, u64 handle);
-+int vboxsf_remove(u32 root, struct shfl_string *parsed_path, u32 flags);
-+int vboxsf_rename(u32 root, struct shfl_string *src_path,
-+ struct shfl_string *dest_path, u32 flags);
-+
-+int vboxsf_read(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf);
-+int vboxsf_write(u32 root, u64 handle, u64 offset, u32 *buf_len, u8 *buf);
-+
-+int vboxsf_dirinfo(u32 root, u64 handle,
-+ struct shfl_string *parsed_path, u32 flags, u32 index,
-+ u32 *buf_len, struct shfl_dirinfo *buf, u32 *file_count);
-+int vboxsf_fsinfo(u32 root, u64 handle, u32 flags,
-+ u32 *buf_len, void *buf);
-+
-+int vboxsf_map_folder(struct shfl_string *folder_name, u32 *root);
-+int vboxsf_unmap_folder(u32 root);
-+
-+int vboxsf_readlink(u32 root, struct shfl_string *parsed_path,
-+ u32 buf_len, u8 *buf);
-+int vboxsf_symlink(u32 root, struct shfl_string *new_path,
-+ struct shfl_string *old_path, struct shfl_fsobjinfo *buf);
-+
-+int vboxsf_set_utf8(void);
-+int vboxsf_set_symlinks(void);
-+
-+#endif
---
-2.25.0
-
diff --git a/20200310_chris_chris_wilson_co_uk.patch b/20200310_chris_chris_wilson_co_uk.patch
deleted file mode 100644
index 9b2dad2ed..000000000
--- a/20200310_chris_chris_wilson_co_uk.patch
+++ /dev/null
@@ -1,559 +0,0 @@
-From MAILER-DAEMON Thu Mar 12 13:30:18 2020
-From: Chris Wilson <chris@chris-wilson.co.uk>
-To: stable@vger.kernel.org
-Cc: Chris Wilson <chris@chris-wilson.co.uk>, Tvrtko Ursulin <tvrtko.ursulin@intel.com>, Jani Nikula <jani.nikula@intel.com>
-Subject: [PATCH 1/5] drm/i915: Check activity on i915_vma after confirming pin_count==0
-Date: Tue, 10 Mar 2020 20:40:42 +0000
-Message-Id: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-Sender: stable-owner@vger.kernel.org
-List-ID: <stable.vger.kernel.org>
-X-Mailing-List: stable@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-Only assert that the i915_vma is now idle if and only if no other pins
-are present. If another user has the i915_vma pinned, they may submit
-more work to the i915_vma skipping the vm->mutex used to serialise the
-unbind. We need to wait again, if we want to continue and unbind this
-vma.
-
-However, if we own the i915_vma (we hold the vm->mutex for the unbind
-and the pin_count is 0), we can assert that the vma remains idle as we
-unbind.
-
-Fixes: 2850748ef876 ("drm/i915: Pull i915_vma_pin under the vm->mutex")
-Closes: https://gitlab.freedesktop.org/drm/intel/issues/530
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200123224459.38128-1-chris@chris-wilson.co.uk
-(cherry picked from commit 60e94557fff1f5514c7fc4da7ddc2c7a13ffff26)
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-(cherry picked from commit e4edd4fcbf4daf9d4319bef0bfaf350cb672239a)
----
- drivers/gpu/drm/i915/i915_vma.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
-index 01c822256b39..7c7e152cc5ff 100644
---- a/drivers/gpu/drm/i915/i915_vma.c
-+++ b/drivers/gpu/drm/i915/i915_vma.c
-@@ -1149,16 +1149,26 @@ int __i915_vma_unbind(struct i915_vma *vma)
- if (ret)
- return ret;
-
-- GEM_BUG_ON(i915_vma_is_active(vma));
- if (i915_vma_is_pinned(vma)) {
- vma_print_allocator(vma, "is pinned");
- return -EBUSY;
- }
-
-- GEM_BUG_ON(i915_vma_is_active(vma));
-+ /*
-+ * After confirming that no one else is pinning this vma, wait for
-+ * any laggards who may have crept in during the wait (through
-+ * a residual pin skipping the vm->mutex) to complete.
-+ */
-+ ret = i915_vma_sync(vma);
-+ if (ret)
-+ return ret;
-+
- if (!drm_mm_node_allocated(&vma->node))
- return 0;
-
-+ GEM_BUG_ON(i915_vma_is_pinned(vma));
-+ GEM_BUG_ON(i915_vma_is_active(vma));
-+
- if (i915_vma_is_map_and_fenceable(vma)) {
- /*
- * Check that we have flushed all writes through the GGTT
---
-2.25.1
-
-
-From MAILER-DAEMON Thu Mar 12 13:30:18 2020
-From: Chris Wilson <chris@chris-wilson.co.uk>
-To: stable@vger.kernel.org
-Cc: Chris Wilson <chris@chris-wilson.co.uk>, Matthew Auld <matthew.auld@intel.com>
-Subject: [PATCH 2/5] drm/i915/gem: Avoid parking the vma as we unbind
-Date: Tue, 10 Mar 2020 20:40:43 +0000
-Message-Id: <20200310204046.3995087-2-chris@chris-wilson.co.uk>
-In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-Sender: stable-owner@vger.kernel.org
-List-ID: <stable.vger.kernel.org>
-X-Mailing-List: stable@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-In order to avoid keeping a reference on the i915_vma (which is long
-overdue!) we have to coordinate all the possible lifetimes and only use
-the vma while we know it is alive. In this episode, we are reminded that
-while idle, the closed vma are destroyed. So if the GT idles while we are
-working with the vma, the vma itself becomes invalid.
-
-First class i915_vma here we come, but in the meantime keep piling on
-the straw.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Reviewed-by: Matthew Auld <matthew.auld@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191203155032.3137263-1-chris@chris-wilson.co.uk
-(cherry picked from commit cb6c3d45f948f8f184687a23fea30017d01e892f)
----
- drivers/gpu/drm/i915/i915_gem.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 3f07948ea4da..f7c52b437f6a 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -128,18 +128,33 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- struct i915_vma,
- obj_link))) {
- struct i915_address_space *vm = vma->vm;
-+ bool awake = false;
-
-- ret = -EBUSY;
-+ ret = -EAGAIN;
- if (!i915_vm_tryopen(vm))
- break;
-
-+ /* Prevent vma being freed by i915_vma_parked as we unbind */
-+ if (intel_gt_pm_get_if_awake(vm->gt)) {
-+ awake = true;
-+ } else {
-+ if (i915_vma_is_closed(vma)) {
-+ spin_unlock(&obj->vma.lock);
-+ goto err_vm;
-+ }
-+ }
-+
- list_move_tail(&vma->obj_link, &still_in_list);
- spin_unlock(&obj->vma.lock);
-
-+ ret = -EBUSY;
- if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
- !i915_vma_is_active(vma))
- ret = i915_vma_unbind(vma);
-
-+ if (awake)
-+ intel_gt_pm_put(vm->gt);
-+err_vm:
- i915_vm_close(vm);
- spin_lock(&obj->vma.lock);
- }
---
-2.25.1
-
-
-From MAILER-DAEMON Thu Mar 12 13:30:18 2020
-From: Chris Wilson <chris@chris-wilson.co.uk>
-To: stable@vger.kernel.org
-Cc: Chris Wilson <chris@chris-wilson.co.uk>, Imre Deak <imre.deak@intel.com>
-Subject: [PATCH 3/5] drm/i915: Add a simple is-bound check before unbinding
-Date: Tue, 10 Mar 2020 20:40:44 +0000
-Message-Id: <20200310204046.3995087-3-chris@chris-wilson.co.uk>
-In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-Sender: stable-owner@vger.kernel.org
-List-ID: <stable.vger.kernel.org>
-X-Mailing-List: stable@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-Only acquire the various atomic references required to unbind the vma if
-we do need to unbind the vma.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Acked-by: Imre Deak <imre.deak@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-1-chris@chris-wilson.co.uk
-(cherry picked from commit f5af1659d809e264d619e5f483fd8f47bced3b6a)
----
- drivers/gpu/drm/i915/i915_gem.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index f7c52b437f6a..998b67e3466e 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -130,6 +130,10 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm = vma->vm;
- bool awake = false;
-
-+ list_move_tail(&vma->obj_link, &still_in_list);
-+ if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK))
-+ continue;
-+
- ret = -EAGAIN;
- if (!i915_vm_tryopen(vm))
- break;
-@@ -144,7 +148,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- }
- }
-
-- list_move_tail(&vma->obj_link, &still_in_list);
- spin_unlock(&obj->vma.lock);
-
- ret = -EBUSY;
---
-2.25.1
-
-
-From MAILER-DAEMON Thu Mar 12 13:30:18 2020
-From: Chris Wilson <chris@chris-wilson.co.uk>
-To: stable@vger.kernel.org
-Cc: Chris Wilson <chris@chris-wilson.co.uk>, Imre Deak <imre.deak@intel.com>
-Subject: [PATCH 4/5] drm/i915: Introduce a vma.kref
-Date: Tue, 10 Mar 2020 20:40:45 +0000
-Message-Id: <20200310204046.3995087-4-chris@chris-wilson.co.uk>
-In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-Sender: stable-owner@vger.kernel.org
-List-ID: <stable.vger.kernel.org>
-X-Mailing-List: stable@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-Start introducing a kref on i915_vma in order to protect the vma unbind
-(i915_gem_object_unbind) from a parallel destruction (i915_vma_parked).
-Later, we will use the refcount to manage all access and turn i915_vma
-into a first class container.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Imre Deak <imre.deak@intel.com>
-Acked-by: Imre Deak <imre.deak@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-2-chris@chris-wilson.co.uk
-(cherry picked from commit 76f9764cc3d538435262dea885bf69fac2415402)
----
- drivers/gpu/drm/i915/gem/i915_gem_object.c | 2 +-
- .../gpu/drm/i915/gem/selftests/huge_pages.c | 3 +--
- .../drm/i915/gem/selftests/i915_gem_mman.c | 4 +--
- drivers/gpu/drm/i915/i915_gem.c | 26 +++++++------------
- drivers/gpu/drm/i915/i915_gem_gtt.c | 5 ++--
- drivers/gpu/drm/i915/i915_vma.c | 9 ++++---
- drivers/gpu/drm/i915/i915_vma.h | 25 +++++++++++++++---
- 7 files changed, 44 insertions(+), 30 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
-index a596548c07bf..b6937469ffd3 100644
---- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
-+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
-@@ -174,7 +174,7 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
- GEM_BUG_ON(vma->obj != obj);
- spin_unlock(&obj->vma.lock);
-
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
-
- spin_lock(&obj->vma.lock);
- }
-diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
-index 688c49a24f32..bd1e2c12de63 100644
---- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
-+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
-@@ -1110,8 +1110,7 @@ static int __igt_write_huge(struct intel_context *ce,
- out_vma_unpin:
- i915_vma_unpin(vma);
- out_vma_close:
-- i915_vma_destroy(vma);
--
-+ __i915_vma_put(vma);
- return err;
- }
-
-diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
-index 29b2077b73d2..d226e55df8b2 100644
---- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
-+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
-@@ -161,7 +161,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj,
- kunmap(p);
-
- out:
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
- return err;
- }
-
-@@ -255,7 +255,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj,
- if (err)
- return err;
-
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
-
- if (igt_timeout(end_time,
- "%s: timed out after tiling=%d stride=%d\n",
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 998b67e3466e..67a8e7408e67 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -128,7 +128,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- struct i915_vma,
- obj_link))) {
- struct i915_address_space *vm = vma->vm;
-- bool awake = false;
-
- list_move_tail(&vma->obj_link, &still_in_list);
- if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK))
-@@ -139,25 +138,18 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- break;
-
- /* Prevent vma being freed by i915_vma_parked as we unbind */
-- if (intel_gt_pm_get_if_awake(vm->gt)) {
-- awake = true;
-- } else {
-- if (i915_vma_is_closed(vma)) {
-- spin_unlock(&obj->vma.lock);
-- goto err_vm;
-- }
-- }
--
-+ vma = __i915_vma_get(vma);
- spin_unlock(&obj->vma.lock);
-
-- ret = -EBUSY;
-- if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
-- !i915_vma_is_active(vma))
-- ret = i915_vma_unbind(vma);
-+ if (vma) {
-+ ret = -EBUSY;
-+ if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
-+ !i915_vma_is_active(vma))
-+ ret = i915_vma_unbind(vma);
-+
-+ __i915_vma_put(vma);
-+ }
-
-- if (awake)
-- intel_gt_pm_put(vm->gt);
--err_vm:
- i915_vm_close(vm);
- spin_lock(&obj->vma.lock);
- }
-diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
-index 44727806dfd7..dd2c20f7d4d2 100644
---- a/drivers/gpu/drm/i915/i915_gem_gtt.c
-+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
-@@ -522,7 +522,7 @@ void __i915_vm_close(struct i915_address_space *vm)
-
- atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
- WARN_ON(__i915_vma_unbind(vma));
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
-
- i915_gem_object_put(obj);
- }
-@@ -1790,7 +1790,7 @@ static void gen6_ppgtt_cleanup(struct i915_address_space *vm)
- {
- struct gen6_ppgtt *ppgtt = to_gen6_ppgtt(i915_vm_to_ppgtt(vm));
-
-- i915_vma_destroy(ppgtt->vma);
-+ __i915_vma_put(ppgtt->vma);
-
- gen6_ppgtt_free_pd(ppgtt);
- free_scratch(vm);
-@@ -1878,6 +1878,7 @@ static struct i915_vma *pd_vma_create(struct gen6_ppgtt *ppgtt, int size)
-
- i915_active_init(&vma->active, NULL, NULL);
-
-+ kref_init(&vma->ref);
- mutex_init(&vma->pages_mutex);
- vma->vm = i915_vm_get(&ggtt->vm);
- vma->ops = &pd_vma_ops;
-diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
-index 7c7e152cc5ff..5309872442bc 100644
---- a/drivers/gpu/drm/i915/i915_vma.c
-+++ b/drivers/gpu/drm/i915/i915_vma.c
-@@ -112,6 +112,7 @@ vma_create(struct drm_i915_gem_object *obj,
- if (vma == NULL)
- return ERR_PTR(-ENOMEM);
-
-+ kref_init(&vma->ref);
- mutex_init(&vma->pages_mutex);
- vma->vm = i915_vm_get(vm);
- vma->ops = &vm->vma_ops;
-@@ -978,8 +979,10 @@ void i915_vma_reopen(struct i915_vma *vma)
- __i915_vma_remove_closed(vma);
- }
-
--void i915_vma_destroy(struct i915_vma *vma)
-+void i915_vma_release(struct kref *ref)
- {
-+ struct i915_vma *vma = container_of(ref, typeof(*vma), ref);
-+
- if (drm_mm_node_allocated(&vma->node)) {
- mutex_lock(&vma->vm->mutex);
- atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
-@@ -1027,7 +1030,7 @@ void i915_vma_parked(struct intel_gt *gt)
- spin_unlock_irq(&gt->closed_lock);
-
- if (obj) {
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
- i915_gem_object_put(obj);
- }
-
-@@ -1202,7 +1205,7 @@ int __i915_vma_unbind(struct i915_vma *vma)
- i915_vma_detach(vma);
- vma_unbind_pages(vma);
-
-- drm_mm_remove_node(&vma->node); /* pairs with i915_vma_destroy() */
-+ drm_mm_remove_node(&vma->node); /* pairs with i915_vma_release() */
- return 0;
- }
-
-diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
-index 465932813bc5..ce1db908ad69 100644
---- a/drivers/gpu/drm/i915/i915_vma.h
-+++ b/drivers/gpu/drm/i915/i915_vma.h
-@@ -51,14 +51,19 @@ enum i915_cache_level;
- */
- struct i915_vma {
- struct drm_mm_node node;
-- struct drm_i915_gem_object *obj;
-+
- struct i915_address_space *vm;
- const struct i915_vma_ops *ops;
-- struct i915_fence_reg *fence;
-+
-+ struct drm_i915_gem_object *obj;
- struct dma_resv *resv; /** Alias of obj->resv */
-+
- struct sg_table *pages;
- void __iomem *iomap;
- void *private; /* owned by creator */
-+
-+ struct i915_fence_reg *fence;
-+
- u64 size;
- u64 display_alignment;
- struct i915_page_sizes page_sizes;
-@@ -71,6 +76,7 @@ struct i915_vma {
- * handles (but same file) for execbuf, i.e. the number of aliases
- * that exist in the ctx->handle_vmas LUT for this vma.
- */
-+ struct kref ref;
- atomic_t open_count;
- atomic_t flags;
- /**
-@@ -333,7 +339,20 @@ int __must_check i915_vma_unbind(struct i915_vma *vma);
- void i915_vma_unlink_ctx(struct i915_vma *vma);
- void i915_vma_close(struct i915_vma *vma);
- void i915_vma_reopen(struct i915_vma *vma);
--void i915_vma_destroy(struct i915_vma *vma);
-+
-+static inline struct i915_vma *__i915_vma_get(struct i915_vma *vma)
-+{
-+ if (kref_get_unless_zero(&vma->ref))
-+ return vma;
-+
-+ return NULL;
-+}
-+
-+void i915_vma_release(struct kref *ref);
-+static inline void __i915_vma_put(struct i915_vma *vma)
-+{
-+ kref_put(&vma->ref, i915_vma_release);
-+}
-
- #define assert_vma_held(vma) dma_resv_assert_held((vma)->resv)
-
---
-2.25.1
-
-
-From MAILER-DAEMON Thu Mar 12 13:30:18 2020
-From: Chris Wilson <chris@chris-wilson.co.uk>
-To: stable@vger.kernel.org
-Cc: Chris Wilson <chris@chris-wilson.co.uk>, Kenneth Graunke <kenneth@whitecape.org>, Tvrtko Ursulin <tvrtko.ursulin@intel.com>, Matthew Auld <matthew.auld@intel.com>
-Subject: [PATCH 5/5] drm/i915: Serialise i915_active_acquire() with __active_retire()
-Date: Tue, 10 Mar 2020 20:40:46 +0000
-Message-Id: <20200310204046.3995087-5-chris@chris-wilson.co.uk>
-In-Reply-To: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-References: <20200310204046.3995087-1-chris@chris-wilson.co.uk>
-Sender: stable-owner@vger.kernel.org
-List-ID: <stable.vger.kernel.org>
-X-Mailing-List: stable@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-As __active_retire() does it's final atomic_dec() under the
-ref->tree_lock spinlock, in order to prevent ourselves from reusing the
-ref->cache and ref->tree as they are being destroyed, we need to
-serialise with the retirement during i915_active_acquire().
-
-[ +0.000005] kernel BUG at drivers/gpu/drm/i915/i915_active.c:157!
-[ +0.000011] invalid opcode: 0000 [#1] SMP
-[ +0.000004] CPU: 7 PID: 188 Comm: kworker/u16:4 Not tainted 5.4.0-rc8-03070-gac5e57322614 #89
-[ +0.000002] Hardware name: Razer Razer Blade Stealth 13 Late 2019/LY320, BIOS 1.02 09/10/2019
-[ +0.000082] Workqueue: events_unbound active_work [i915]
-[ +0.000059] RIP: 0010:__active_retire+0x115/0x120 [i915]
-[ +0.000003] Code: 75 28 48 8b 3d 8c 6e 1a 00 48 89 ee e8 e4 5f a5 c0 48 8b 44 24 10 65 48 33 04 25 28 00 00 00 75 0f 48 83 c4 18 5b 5d 41 5c c3 <0f> 0b 0f 0b 0f 0b e8 a0 90 87 c0 0f 1f 44 00 00 48 8b 3d 54 6e 1a
-[ +0.000002] RSP: 0018:ffffb833003f7e48 EFLAGS: 00010286
-[ +0.000003] RAX: ffff8d6e8d726d00 RBX: ffff8d6f9db4e840 RCX: 0000000000000000
-[ +0.000001] RDX: ffffffff82605930 RSI: ffff8d6f9adc4908 RDI: ffff8d6e96cefe28
-[ +0.000002] RBP: ffff8d6e96cefe00 R08: 0000000000000000 R09: ffff8d6f9ffe9a50
-[ +0.000002] R10: 0000000000000048 R11: 0000000000000018 R12: ffff8d6f9adc4930
-[ +0.000001] R13: ffff8d6f9e04fb00 R14: 0000000000000000 R15: ffff8d6f9adc4988
-[ +0.000002] FS: 0000000000000000(0000) GS:ffff8d6f9ffc0000(0000) knlGS:0000000000000000
-[ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[ +0.000002] CR2: 000055eb5a34cf10 CR3: 000000018d609002 CR4: 0000000000760ee0
-[ +0.000002] PKRU: 55555554
-[ +0.000001] Call Trace:
-[ +0.000010] process_one_work+0x1aa/0x350
-[ +0.000004] worker_thread+0x4d/0x3a0
-[ +0.000004] kthread+0xfb/0x130
-[ +0.000004] ? process_one_work+0x350/0x350
-[ +0.000003] ? kthread_park+0x90/0x90
-[ +0.000005] ret_from_fork+0x1f/0x40
-
-Reported-by: Kenneth Graunke <kenneth@whitecape.org>
-Fixes: c9ad602feabe ("drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree")
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-Cc: Kenneth Graunke <kenneth@whitecape.org>
-Cc: Matthew Auld <matthew.auld@intel.com>
-Tested-by: Kenneth Graunke <kenneth@whitecape.org>
-Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191205183332.801237-1-chris@chris-wilson.co.uk
-(cherry picked from commit bbca083de291a03ffe1a1eb0832a0d74f8b64898)
----
- drivers/gpu/drm/i915/i915_active.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
-index a19e7d89bc8a..378b52d1ab74 100644
---- a/drivers/gpu/drm/i915/i915_active.c
-+++ b/drivers/gpu/drm/i915/i915_active.c
-@@ -91,10 +91,9 @@ static void debug_active_init(struct i915_active *ref)
-
- static void debug_active_activate(struct i915_active *ref)
- {
-- spin_lock_irq(&ref->tree_lock);
-+ lockdep_assert_held(&ref->tree_lock);
- if (!atomic_read(&ref->count)) /* before the first inc */
- debug_object_activate(ref, &active_debug_desc);
-- spin_unlock_irq(&ref->tree_lock);
- }
-
- static void debug_active_deactivate(struct i915_active *ref)
-@@ -407,8 +406,10 @@ int i915_active_acquire(struct i915_active *ref)
- if (!atomic_read(&ref->count) && ref->active)
- err = ref->active(ref);
- if (!err) {
-+ spin_lock_irq(&ref->tree_lock); /* vs __active_retire() */
- debug_active_activate(ref);
- atomic_inc(&ref->count);
-+ spin_unlock_irq(&ref->tree_lock);
- }
-
- mutex_unlock(&ref->mutex);
---
-2.25.1
-
-
diff --git a/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch b/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch
deleted file mode 100644
index 86824875b..000000000
--- a/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch
+++ /dev/null
@@ -1,905 +0,0 @@
-From patchwork Tue Jan 7 18:15:54 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
-X-Patchwork-Id: 11321573
-Return-Path:
- <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6D8381398
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:16:25 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 0478120848
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:16:24 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="SQ2gKFhN";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=gmx.net header.i=@gmx.net header.b="BJDhWiM+"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0478120848
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=gmx.net
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=YkqzhAYhCTWbi2xiP7xxu+Dn8Q8DmCRb4IJ4Bu0zhz8=; b=SQ2gKFhNqib/g5IS6Ax5bJ6+91
- NnToAV0XRtMvD+Mv//d/rvzEQuagdTXc7G1qFGgWXJVH3dbQAnlgt/iNOwtDxAT/4PcAn4h5HFAag
- 66kkhMcZAbA7JExXlnqfMil9fKX3gFJPxRophEP+3IPQkJpQyaYcSgCT7q1qWI0ea7WoySKITupFB
- /zqJdAB1FovALLqUMblrq+3yz5V5mtmXHbZ9XlaH2vZivUkozyl7y2lTwVupfEMEOX3tMsZKKw7kO
- 3zP1295r9jZD5AxI56MIxKUhe09ZgdaStZfRckzxKLVvphRbmbdj/a5lDLwebJ01BvFOZMnhxpSiD
- oPP03MfQ==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotOw-00044e-SA; Tue, 07 Jan 2020 18:16:22 +0000
-Received: from mout.gmx.net ([212.227.15.19])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotOo-0003u6-Ni
- for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
- s=badeba3b8450; t=1578420965;
- bh=u7twVNjh2D9zy5OC10Di3QMaWd8qSsrGW9KSWjAYn3g=;
- h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
- b=BJDhWiM+5P9ZadhIRk4bTNFKVwW+JTvjQQxBte6Z9/lEi/hUMLjX6X6wI0UsdG/9q
- F4Cwa0tCAECdod5u4KiSRbsYOd1o4Z/dYru23Wk+v5LX/L1GSxqimU6Rt6Y750q8m7
- H8qhNz2GpltKbfQYfiCht8+4Noq2Ir1n+/dUhyGU=
-X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
-Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
- (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
- 1M6llE-1im9Zy3f6U-008MHP; Tue, 07 Jan 2020 19:16:05 +0100
-From: Stefan Wahren <wahrenst@gmx.net>
-To: Zhang Rui <rui.zhang@intel.com>,
- Daniel Lezcano <daniel.lezcano@linaro.org>,
- Amit Kucheria <amit.kucheria@verdurent.com>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
-Subject: [PATCH V3 1/4] dt-bindings: Add Broadcom AVS RO thermal
-Date: Tue, 7 Jan 2020 19:15:54 +0100
-Message-Id: <1578420957-32229-2-git-send-email-wahrenst@gmx.net>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-X-Provags-ID: V03:K1:JNoVLD/m7l4v/En9GYWWvMF90Sn/VtIIReEvqeT1ahKtoJ1LkyQ
- iAtYBYTb+NwFUEidrSbyieU8GW35aLLzyYQnuJTNqPmnSbG2PnoXvhwHuDsxvWSwUy6mkwH
- 8ZEA1Til7h0N3jLmIx+k620EBhcirK4sOEO1dRoCyQ0YuU8w1s6WymV1wzmIWI654AscZ9o
- J8IrwX+k75qsiQ2SovoOg==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:1m7ABTNKeYs=:dwivK5EisaHNhkVyhbAPYp
- kvAhhRRErs0LcQc8ZbpEAx/yq5NZ5xne4VViuO86ljYW/FoCw48Pz8APxSxRAFasQ5XgUJLP5
- TwCvRfPRrdfLO3tE5KvLJTW7FJPetXyuRGB9vpPgp8f7UmdUL542Li3JvUZ33oouVIjMEPek6
- eJ7EymgiCWO2bamuE79cyu30HsDd1LGBBQrzvFwQleMU8BbbLmaiQtIfSxdPKqyjHm+bvLtDP
- uK/ei0MTgAsXPpgIdHoGsb71RQ0HY5PtjoLmMsNb3Nvcu9FNWgu+ybES1IfFGXvrkd1C8fgCB
- Q5VlqL1b7kUD0EHnh7rjg8rGKBiaqdQCE0rsj3GJDHLnhxpSblechYL1CIMYh0+YmL8VtDREe
- qzbJ3wdWDTKF1F8njEuuvjb05/C/4X6IzbpEWS5uxJ9wVdqWX2b6MpQQ7x7H4B88IHb0/IU+D
- vdYY8z+R3R5MkQzZJngkBLWIif2N/omDDhmHv+9TJcHmvbZJaDpHIfZ0rdtGe50zbA3DaQjjs
- bDwDylhHw0I+Hc8nBJUH7PN84Fiiime6VMByUd9PFiy9cpm2bP6AwEi1Mwefb1URWcmgwnYEe
- JmxWZoJ8JfGcW8ITKWyEuka8Ux5E2Ci1R82cWYUo5brxrZvFcYg2pUnUwpOysMZzLKCUWy2FL
- QwuEZfTk676yMpqbF1y0Xsuf+c9Q9pOvwzC3N+VKiDm3UOdnS5kmkaDAtRFJVCderrdeMv11a
- S2iZm2wNIvmHXsogK8savP05nVqWUbyf8h2vR0jlTRBz2kAyQmtZrJyPLBjww/6Vrx7SeElxk
- alcdmtEi3tdo6eMkRsFebFaCUPqItnfbJbHbXJ4udFSh4fsjduS3UppT4JbCCzqm+XNGVrUqR
- BT9vCmRbySk5wIT3D0Eg76wFeIZv4OSRzQguvVF9jkBp1Rpg++L8ryT16Wlox17PM5Er2T8Hn
- DvtQYG2N0H4cY1aJW/zPeQBWHH1uSqJfAew37CAL+skNaSTa0vFcZ767XBCfg6RLfXyKh85qm
- Gt8gRY7Js2eGw9uR74OlrgJ4TIun187UAelKzqsGADORGyoHo1fMJuk0Mdiowqu+iX5qn3+cE
- hCcZPwE2VuH0H9J8fUNRrotICpKdurbLvl40ubrd7Ke2b80dNLZfLbLnOKHSQyYy7TFJ8FgZ0
- eSlGh0KXP7kZU1n2gIGKqpYdthjTXDHyHw9QqRUStYpd/WtcY5d4gxnomwYCghPPhaIzjeHkD
- ifQLPwagP2YYxjG2ZH8f8ZQSh3kEP4r9bbTGpIw==
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200107_101615_067475_AF11981B
-X-CRM114-Status: GOOD ( 11.10 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.15.19 listed in list.dnswl.org]
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider (wahrenst[at]gmx.net)
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
- Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
- linux-pm@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-Since the BCM2711 doesn't have a AVS TMON block, the thermal information
-must be retrieved from the AVS ring oscillator block. This block is part
-of the AVS monitor which contains a bunch of raw sensors.
-
-Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
-Reviewed-by: Rob Herring <robh@kernel.org>
-Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- .../bindings/thermal/brcm,avs-ro-thermal.yaml | 45 ++++++++++++++++++++++
- 1 file changed, 45 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
-
---
-2.7.4
-
-diff --git a/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
-new file mode 100644
-index 0000000..98e7b57
---- /dev/null
-+++ b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
-@@ -0,0 +1,45 @@
-+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-+%YAML 1.2
-+---
-+$id: http://devicetree.org/schemas/thermal/brcm,avs-ro-thermal.yaml#
-+$schema: http://devicetree.org/meta-schemas/core.yaml#
-+
-+title: Broadcom AVS ring oscillator thermal
-+
-+maintainers:
-+ - Stefan Wahren <wahrenst@gmx.net>
-+
-+description: |+
-+ The thermal node should be the child of a syscon node with the
-+ required property:
-+
-+ - compatible: Should be one of the following:
-+ "brcm,bcm2711-avs-monitor", "syscon", "simple-mfd"
-+
-+ Refer to the the bindings described in
-+ Documentation/devicetree/bindings/mfd/syscon.txt
-+
-+properties:
-+ compatible:
-+ const: brcm,bcm2711-thermal
-+
-+ reg:
-+ maxItems: 1
-+
-+required:
-+ - compatible
-+ - reg
-+
-+examples:
-+ - |
-+ avs-monitor@7d5d2000 {
-+ compatible = "brcm,bcm2711-avs-monitor",
-+ "syscon", "simple-mfd";
-+ reg = <0x7d5d2000 0xf00>;
-+
-+ thermal: thermal {
-+ compatible = "brcm,bcm2711-thermal";
-+ #thermal-sensor-cells = <0>;
-+ };
-+ };
-+...
-
-From patchwork Tue Jan 7 18:15:55 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
-X-Patchwork-Id: 11321579
-Return-Path:
- <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4EEC4138D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:17:14 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 1A18F20848
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:17:14 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="WN1BmRCI";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=gmx.net header.i=@gmx.net header.b="JbSBDGbs"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A18F20848
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=gmx.net
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=rd33uxZir356e7wb2uZqLp6zepYzCUaWcTH20TBa6Qk=; b=WN1BmRCI/FB6C4+ssKo3wCeIYT
- 5K0oT/RSBHeB2bGbPVTr2hxGUgjDDUXvnyAUw5RMItV3h54Q8JS41AP+v6VpB99bd0X+8HrC3rHa9
- ZD6AcP0l8Qovx8Tk427GW5beomc7Z0mUK9NY2xfcEc81gfGAOa0+cOMBAoj7OSqAe3qXB4e/X0uWO
- Z8MrJvtd7wZzzvsXaEKac7C+gzrIZbm108W/rSS2205m8+TdzBCWB1PK23JgnqLZDzWt2Z0bfBI+W
- Yy4G5buoin/9QXdofS3uI/23A833iKxHljZL12/xWtwCy70/sqWVvTv13U3aKNh5SzqQ2zBi4nT+1
- ed+Q4ktg==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotPk-0004my-Pu; Tue, 07 Jan 2020 18:17:12 +0000
-Received: from mout.gmx.net ([212.227.15.18])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotOp-0003ud-1M
- for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
- s=badeba3b8450; t=1578420965;
- bh=4mbXLn8R9HTqHSqjDYTVnf33y1TLbPgq1QZsQUXuORI=;
- h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
- b=JbSBDGbsT0C/YiJLKHHclDX+IekngU601r/NZUXbm7pEwIYsEG9Fpom2kM2knFKu6
- P8bgl9yGKGMF3bKRLNYwPzCNgXdBIDyzI8MsZOrBpZG4jgG62ofrIuBWMuCDJ2if7S
- 9nt5L4RoIxNX7cPNA8tE7jX2d15dzT534YUlWCzQ=
-X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
-Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
- (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
- 1M7sDg-1il3eJ1VuE-0053xL; Tue, 07 Jan 2020 19:16:05 +0100
-From: Stefan Wahren <wahrenst@gmx.net>
-To: Zhang Rui <rui.zhang@intel.com>,
- Daniel Lezcano <daniel.lezcano@linaro.org>,
- Amit Kucheria <amit.kucheria@verdurent.com>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
-Subject: [PATCH V3 2/4] thermal: Add BCM2711 thermal driver
-Date: Tue, 7 Jan 2020 19:15:55 +0100
-Message-Id: <1578420957-32229-3-git-send-email-wahrenst@gmx.net>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-X-Provags-ID: V03:K1:yFvB7JDgtfyjUut8k1Chkrb/ErSVsg3EvQyWqLPXb8cBJL7dcQK
- dsv56Ee8bmn70zRFQcp+ZxoKnJOLsQX8yr4SSStLpZInOQB1eFljwNlqO1yvOMTchBW9aNV
- 8K/3K5y1XYvkIucOrqA4mcg/Abn6C2HRj+YX30kIzWXSZJYVPfGO7BlReGxXXeOS3RN/0+v
- AxjdzIeF7ITk0B2E8IlXg==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:jTzlGkSo9bo=:dlU7pPc0rf9QUy9ZULoDP9
- 8GSLL1VdjzaySpcK+jGdXJmnrTtTdrwOVCM13Yj+OFiXY9BhB02v3Y1/GACb0zByQF6m5R+HY
- E9rP1h/ZotZ106drpf22Cq8qEcdAIN5naIaEYooguO0tmeziCzo2zdEeRvJQpiw0XPxJzNMRM
- 6r/2TRXgeXb53bBysAa4tCjXgXGwqtbF0WKTAsWBjogBF/6lwK2AgGFC8X4mY7XOv8GZOq+EO
- eCr92WcgDG5MIwJF7G+Q/SWbTCV+S7Fs8D52Iy3YYtdNKYJa8Mq2PmZs+zx2feLAmwfSxGctw
- EuEMw9cv1bA2tVzuUn7GiFQYGlJpxGvvCrxvU6F99yw9ECI3c3zIOHKmsXPlWMBQo9AuD/0rF
- P//MLHaS7rzJds2En+JKdP/bAR2XxC/qCtHnF7VIxMkbrXUU69CYWVTAz5gaxFv5CtBY5kqmi
- /AkDqAJimergmP6IIVtmEpgO5aE2KcbFFWtqt8e+OshhR/JDJ6JP8+kZUnbV9e0nY2cUJQqeT
- n30n/BPVfHDvMlXeHpI//Eo90SBCEVY9BRd90Q/9tmyRckXcLt+mK9USdZAkyrq7X+eXNlB2b
- QPHkn7XPbEso/0K2GzZCEO+kh5IKoYf4o53VM++6q7SDY48oU7MGG29P36RlK40W4wxgYcnbQ
- G6ofOpVasFvQlsfoWZAy3tMP3h7pzSXTMzfb+oBl+20O/5R32GpSWt/jO/Rfhyk+Ho+MGiQwA
- TqHZK+xG6BWesd9jIKv+A0n/NnxbHfylDpSRa0x4Al27WH1GQcN70HE+B91a58+3NmNd8cl1u
- nR++5B6h+UhxHjwY3mJFn6JaJE9tzHZYUcYYH6JeUq03cFXZC9Fxdns96ofekPi24KiO9T49q
- byceV+B8w4shzosvTwbuExqTP6JvIQU0VGVNzFhWlFvoMardYHn0PWKlIy16TPVaRXEL7yl2U
- +TRzGy2pXi4g1TkFMGGmRU17UYWsREIKw3+RqOSuq8riGSWZrUgVbk2wJLp/0kS4pLMUzaF/a
- QMemNPTBJfdX15J9IiNHnOMDGmEdpRucbFs9HYRn4HhWDMl1TskP5nyUiG8p+7ET3PLjS+r4K
- IFzT7g2tghwbdcDkMOjwK1CFXVblw2fUa5gjZoLCAb+psUornL0pyskLONpUQDgX+FONMdu5C
- gXIa+nu2CgDmi+mxoDIx4hSim5yfx1eGeryexRr5UiX4wdT0jXDx3nyfK+z9DTgBbIwY0D0qM
- gN5jbjyZRfDrlBl1cMJHAWyDEdL42xvNhWkeV0Q==
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200107_101615_404914_F8328398
-X-CRM114-Status: GOOD ( 17.41 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.15.18 listed in list.dnswl.org]
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider (wahrenst[at]gmx.net)
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
- Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
- linux-pm@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This adds the thermal sensor driver for the Broadcom BCM2711 SoC,
-which is placed on the Raspberry Pi 4. The driver only provides
-SoC temperature reading so far.
-
-Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- drivers/thermal/broadcom/Kconfig | 7 ++
- drivers/thermal/broadcom/Makefile | 1 +
- drivers/thermal/broadcom/bcm2711_thermal.c | 129 +++++++++++++++++++++++++++++
- 3 files changed, 137 insertions(+)
- create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c
-
---
-2.7.4
-
-diff --git a/drivers/thermal/broadcom/Kconfig b/drivers/thermal/broadcom/Kconfig
-index cf43e15..061f1db 100644
---- a/drivers/thermal/broadcom/Kconfig
-+++ b/drivers/thermal/broadcom/Kconfig
-@@ -1,4 +1,11 @@
- # SPDX-License-Identifier: GPL-2.0-only
-+config BCM2711_THERMAL
-+ tristate "Broadcom AVS RO thermal sensor driver"
-+ depends on ARCH_BCM2835 || COMPILE_TEST
-+ depends on THERMAL_OF && MFD_SYSCON
-+ help
-+ Support for thermal sensors on Broadcom BCM2711 SoCs.
-+
- config BCM2835_THERMAL
- tristate "Thermal sensors on bcm2835 SoC"
- depends on ARCH_BCM2835 || COMPILE_TEST
-diff --git a/drivers/thermal/broadcom/Makefile b/drivers/thermal/broadcom/Makefile
-index 490ab1f..c917b24 100644
---- a/drivers/thermal/broadcom/Makefile
-+++ b/drivers/thermal/broadcom/Makefile
-@@ -1,4 +1,5 @@
- # SPDX-License-Identifier: GPL-2.0-only
-+obj-$(CONFIG_BCM2711_THERMAL) += bcm2711_thermal.o
- obj-$(CONFIG_BCM2835_THERMAL) += bcm2835_thermal.o
- obj-$(CONFIG_BRCMSTB_THERMAL) += brcmstb_thermal.o
- obj-$(CONFIG_BCM_NS_THERMAL) += ns-thermal.o
-diff --git a/drivers/thermal/broadcom/bcm2711_thermal.c b/drivers/thermal/broadcom/bcm2711_thermal.c
-new file mode 100644
-index 0000000..b1d3c4d
---- /dev/null
-+++ b/drivers/thermal/broadcom/bcm2711_thermal.c
-@@ -0,0 +1,129 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Broadcom AVS RO thermal sensor driver
-+ *
-+ * based on brcmstb_thermal
-+ *
-+ * Copyright (C) 2020 Stefan Wahren
-+ */
-+
-+#include <linux/bitops.h>
-+#include <linux/clk.h>
-+#include <linux/device.h>
-+#include <linux/err.h>
-+#include <linux/io.h>
-+#include <linux/kernel.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/of_device.h>
-+#include <linux/regmap.h>
-+#include <linux/thermal.h>
-+
-+#include "../thermal_hwmon.h"
-+
-+#define AVS_RO_TEMP_STATUS 0x200
-+ #define AVS_RO_TEMP_STATUS_valid_msk (BIT(16) | BIT(10))
-+ #define AVS_RO_TEMP_STATUS_data_msk GENMASK(9, 0)
-+
-+struct bcm2711_thermal_priv {
-+ struct regmap *regmap;
-+ struct device *dev;
-+ struct thermal_zone_device *thermal;
-+};
-+
-+static int bcm2711_get_temp(void *data, int *temp)
-+{
-+ struct bcm2711_thermal_priv *priv = data;
-+ int slope = thermal_zone_get_slope(priv->thermal);
-+ int offset = thermal_zone_get_offset(priv->thermal);
-+ u32 val;
-+ int ret;
-+ long t;
-+
-+ ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val);
-+ if (ret)
-+ return ret;
-+
-+ if (!(val & AVS_RO_TEMP_STATUS_valid_msk)) {
-+ dev_err(priv->dev, "reading not valid\n");
-+ return -EIO;
-+ }
-+
-+ val &= AVS_RO_TEMP_STATUS_data_msk;
-+
-+ /* Convert a HW code to a temperature reading (millidegree celsius) */
-+ t = slope * val + offset;
-+ if (t < 0)
-+ *temp = 0;
-+ else
-+ *temp = t;
-+
-+ return 0;
-+}
-+
-+static const struct thermal_zone_of_device_ops bcm2711_thermal_of_ops = {
-+ .get_temp = bcm2711_get_temp,
-+};
-+
-+static const struct of_device_id bcm2711_thermal_id_table[] = {
-+ { .compatible = "brcm,bcm2711-thermal" },
-+ {},
-+};
-+MODULE_DEVICE_TABLE(of, bcm2711_thermal_id_table);
-+
-+static int bcm2711_thermal_probe(struct platform_device *pdev)
-+{
-+ struct thermal_zone_device *thermal;
-+ struct bcm2711_thermal_priv *priv;
-+ struct device *dev = &pdev->dev;
-+ struct device_node *parent;
-+ struct regmap *regmap;
-+ int ret;
-+
-+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-+ if (!priv)
-+ return -ENOMEM;
-+
-+ /* get regmap from syscon node */
-+ parent = of_get_parent(dev->of_node); /* parent should be syscon node */
-+ regmap = syscon_node_to_regmap(parent);
-+ of_node_put(parent);
-+ if (IS_ERR(regmap)) {
-+ ret = PTR_ERR(regmap);
-+ dev_err(dev, "failed to get regmap: %d\n", ret);
-+ return ret;
-+ }
-+ priv->regmap = regmap;
-+ priv->dev = dev;
-+
-+ thermal = devm_thermal_zone_of_sensor_register(dev, 0, priv,
-+ &bcm2711_thermal_of_ops);
-+ if (IS_ERR(thermal)) {
-+ ret = PTR_ERR(thermal);
-+ dev_err(dev, "could not register sensor: %d\n", ret);
-+ return ret;
-+ }
-+
-+ priv->thermal = thermal;
-+
-+ thermal->tzp->no_hwmon = false;
-+ ret = thermal_add_hwmon_sysfs(thermal);
-+ if (ret)
-+ return ret;
-+
-+ return 0;
-+}
-+
-+static struct platform_driver bcm2711_thermal_driver = {
-+ .probe = bcm2711_thermal_probe,
-+ .driver = {
-+ .name = "bcm2711_thermal",
-+ .of_match_table = bcm2711_thermal_id_table,
-+ },
-+};
-+module_platform_driver(bcm2711_thermal_driver);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Stefan Wahren");
-+MODULE_DESCRIPTION("Broadcom AVS RO thermal sensor driver");
-
-From patchwork Tue Jan 7 18:15:56 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
-X-Patchwork-Id: 11321577
-Return-Path:
- <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E3DA138D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:17:03 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id D9D1920848
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:17:02 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="ik3qMsDb";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=gmx.net header.i=@gmx.net header.b="dq7Bd9O5"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D9D1920848
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=gmx.net
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=3Jmn1DTkt6iHJo4nKs/bZbMCywPz9fpkSPNvdSNQuD0=; b=ik3qMsDbyY7oIjPW5+6nccv1h7
- oTVZ+0E3fy/IjWBwKY5FfojiU4G096Dur2GDb1EeYQdJPYEusJkMhhogib+k9m2wcU+Ho8h2EZeKF
- Jll43seK5zjOJwQO8N/Jv0wOd2UqlWswRCLEoAUgGbDEU5gYR8Ue2MPlCFqJMBEeZ8KC3SeWIfYgi
- fLTUD74gERNQ7YL6u8uEq8Nx6BUgyW0/HUQ3Km8r9DMV7NbRoKm07M+5sKldGxSqxMRWUkW1aq9YV
- cQW+XybMtNHLfcTOJYOvyQApYP0CK8q+I+xtd4SM150gTyCKEhDUAk+UFEUnJ9pDgTeh6yGqQqv5I
- BmWUq8aQ==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotPZ-0004bP-3J; Tue, 07 Jan 2020 18:17:01 +0000
-Received: from mout.gmx.net ([212.227.15.18])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotOp-0003ue-1N
- for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
- s=badeba3b8450; t=1578420966;
- bh=aWglA2PfdwtIHtm2mDExM6LOMnFuWnZiRAiujdoAMW8=;
- h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
- b=dq7Bd9O5pRIoP35pWiEbr3vIwPVUIZdztKslWibSe4sYkKnlLAbn2Tly+3mecxMX4
- plidbchinnJHsr1byo3468d32bXORW9ghvyBGxOn50Zs4URcLnZ6Mj9sUeBhkRs9yz
- afE9G4bQQvpFS9Aa/ELtd1yj+QyiHuLkxDC5oxSA=
-X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
-Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
- (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
- 1MoO2E-1jUaw13WDg-00onqT; Tue, 07 Jan 2020 19:16:05 +0100
-From: Stefan Wahren <wahrenst@gmx.net>
-To: Zhang Rui <rui.zhang@intel.com>,
- Daniel Lezcano <daniel.lezcano@linaro.org>,
- Amit Kucheria <amit.kucheria@verdurent.com>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
-Subject: [PATCH V3 3/4] ARM: dts: bcm2711: Enable thermal
-Date: Tue, 7 Jan 2020 19:15:56 +0100
-Message-Id: <1578420957-32229-4-git-send-email-wahrenst@gmx.net>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-X-Provags-ID: V03:K1:nnCaGh26y5WZ7Y+Du8wo80ycqs5dd0zUOiU8IyxmRBut3vh+kbS
- hWpSdRT6jUdGy0zdQC4p0GWbndKZlE8PcisuGyj1O6JS+PZF0lvHyqMgg93jy1GqVcINVAT
- m9kwkGNF9DR+OKHvvajSgRYV5gRp3BIZpN7jBioSwAr2xEZCwI3aFYzZL0/nM1tdwZi08do
- f9kojNp6jUr4vT/oaeL8g==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:eypfnYKWbbQ=:3vD1OpSV55xSk4yzLYUc8F
- ss17pikWe3sKTkGoI3BFvSL2dMCJntwyDYvcMBefgSpGcgd2z3eK3CjpAhx5Z35UkdK7cr6ep
- lsMn51ut2iKyCZ1FGpPY5mDJroBPqJFUDxNCh0BAQJn/Vyd5aWvtIStBX8vhSZeSLwOpkgYtq
- INAm+O2AD+nw7gqpqya1+fc2pMPvW9S2I6sYSLCuOP1gqJraZSDDgUp8hn2DbLlhVPgD5MSet
- VUMc8Crizcnnhu+3dx1SJtxS/Vykaw4X0YVr5/sV3mNPI9sqSWpndRywGkJfhs6ruCBSTZPqD
- lR/PwjRR58iwZ2J2O3oBfahA9dQYEQNQqxsQxIcJ296R7AyEpq8PePDjT6Z0qKPaIP1KiR9/8
- bq+HA6Be/peO7fvhwDxJNy0yQSnXJDjLqu8Gop7ybALxiK+c+alVEtyBJwd7wL+FCdL3hNnHi
- gGsohKQNAHfMWgJXcnYBqr/mcSjQf07IYNuidrfs7biH4SIVMneDFBM+bDyXpPKaHrAf3f8AJ
- 6RwAQAuSBoGRrR6lOKFx63o3tmAI4R/vfyosXbLXm8nheUTCB3tmW+/J++QiCrafqCA8rzZCF
- eZgIaNncjMxPxyUmV608AjOWEnE6xf0cXC57Cw6mOq19oVtp3qesCkDvbyaAskyCX2IXZJ7hp
- R4RpokH33Uhu6IaIyGV2LuP3GZK9YmAOG1CZc6l5u7se8WRN7N1n2HkLLe2u6DM/WjZmdT7HR
- uOAbQn7NWoke1DXdnj57eY3h0Y+OJlYvhkdh7pWVUiWRLRqOOnD+ME2CRRRqD6RlKuSilEpeu
- qvPT2/eJFvIL4pejhNNrPB2C3RiHhHmyeUbQo+2Na5X/sLn3vwhfDac57ev5NKIeD7FPGPgzr
- 4YF/E/rSQhXylqhqwomJMyE77jIsa09OD73gY0UYIW38Z3bfj1MlNpM3Dzq68Uy7ILcunYJgS
- JYdohNePZWLE8JBRj3z04HdTs4ogtDQLrJZEoPqWJwyYXpIblHXV3hcEm99M6ZiBCVeJQz2st
- narTYNER7iY19YC1Bc/z0ahz5Y/DiKEZI1KwPjmqzwl9DtgiFpahgvJ/htv/UFTl6UZHKBM9g
- k/uJbVQbreofaRz730uheNJu0ruz6QvWSAMa21Ge+vl84CGbcDOtC2ydUXhbjpVYa12n5Eg5A
- pQS244oqQTS3hWqK8xrFNm4jmBcCDAPGv3xVBW1Jg6pRqybLzta5jN+FfPaMbWh0yVV5VO6qu
- tKLGAzCzdsJVRK3ly7+y1msAZ7D0THx91qoghfQ==
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200107_101615_402374_8C4F49A4
-X-CRM114-Status: GOOD ( 10.05 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider (wahrenst[at]gmx.net)
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.15.18 listed in list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
- Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
- linux-pm@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This enables thermal for the BCM2711 (used on Raspberry Pi 4) by adding
-the AVS monitor and a subnode for the thermal part.
-
-Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
-Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---
-2.7.4
-
-diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
-index 961bed8..96f341d 100644
---- a/arch/arm/boot/dts/bcm2711.dtsi
-+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -66,6 +66,17 @@
- IRQ_TYPE_LEVEL_HIGH)>;
- };
-
-+ avs_monitor: avs-monitor@7d5d2000 {
-+ compatible = "brcm,bcm2711-avs-monitor",
-+ "syscon", "simple-mfd";
-+ reg = <0x7d5d2000 0xf00>;
-+
-+ thermal: thermal {
-+ compatible = "brcm,bcm2711-thermal";
-+ #thermal-sensor-cells = <0>;
-+ };
-+ };
-+
- dma: dma@7e007000 {
- compatible = "brcm,bcm2835-dma";
- reg = <0x7e007000 0xb00>;
-@@ -363,6 +374,7 @@
-
- &cpu_thermal {
- coefficients = <(-487) 410040>;
-+ thermal-sensors = <&thermal>;
- };
-
- &dsi0 {
-
-From patchwork Tue Jan 7 18:15:57 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
-X-Patchwork-Id: 11321575
-Return-Path:
- <SRS0=75uJ=24=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E84E3138D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:16:44 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id C25C220848
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 7 Jan 2020 18:16:44 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="EHM8n8KN";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=gmx.net header.i=@gmx.net header.b="Idmw230V"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C25C220848
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=gmx.net
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=FI3zHZWFfRXQ5XfvKcNW0c7MrnTDIP/1CsQtLlw0qhk=; b=EHM8n8KNF/sE/U53eeci7J27D/
- L6VFKJctUZqFEOfeRIf3CEPuX3Pk7huocVD4K/yvqJnuSIC9Sje4gjYORUjtz0xEW8CKjxjf5sbo4
- iYEtnBsDYtEQWwTsMvpNbOtR9yZQiY7fMcQK8nhC4R5A9vtv43ytxgkV84YVL5SLBHhGZjzUmuRb9
- FKBtltjzocTcD8mbcVN6Lvjcu/a4J5A+/LHRH7nzuQ7ChaJ9Mw/y7zJHcaBuEOhba/3Dzd9+03jLD
- oOExZgjTpNtAXsLye/WHt/BTHen3PFAjAAMLvLPE6fEStapg1ZuOa2ueopvmsCSgQ7KMmBHUkX5NX
- 8kfsNepQ==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotPH-0004Mo-B2; Tue, 07 Jan 2020 18:16:43 +0000
-Received: from mout.gmx.net ([212.227.15.19])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iotOo-0003u5-Ni
- for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
- s=badeba3b8450; t=1578420966;
- bh=ywvSvkZtxIFgQK2uzodzJ55BZghcFbFAXSLbAwo36wY=;
- h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
- b=Idmw230VWPBhZW2v+dAYw62P6JElxPEL/uqCuoHO0gDvDK3VOnfVdcv9d1ALNkZ2+
- Y+8kPpr9BiXxUfm8bw+Xmjv/SzBxlFpg2EK/a8Hg1b+OzEQC+AII1OlGsc5FjmhCdA
- PYd0h0yBiUAl3qCFDZaEL6GR5SqLeAQ2sKdGgVLY=
-X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
-Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
- (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
- 1M1HZo-1irdDo1LiM-002s6V; Tue, 07 Jan 2020 19:16:06 +0100
-From: Stefan Wahren <wahrenst@gmx.net>
-To: Zhang Rui <rui.zhang@intel.com>,
- Daniel Lezcano <daniel.lezcano@linaro.org>,
- Amit Kucheria <amit.kucheria@verdurent.com>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
-Subject: [PATCH V3 4/4] ARM: configs: Build BCM2711 thermal as module
-Date: Tue, 7 Jan 2020 19:15:57 +0100
-Message-Id: <1578420957-32229-5-git-send-email-wahrenst@gmx.net>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
-X-Provags-ID: V03:K1:KgT8/xCsDfTXBG/ZvIRxjN+W6EAwuQgL8jv7F25Vy4z+LXj8G1P
- FvRXVhgSwOlulZ964d6rnvX7HL7dcwoY5KFt4EhM20cYoQ7YJ90EDHTamYirCxIqbox1UqU
- ONycfR3lNn3uKEv5yBZAPy3RJBy/loio9XdwmoBs6tYkYaaVTtIztndrmforVufG7I03eQv
- W3OI55XFGJevmqp5FLjsQ==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:XO0bOe0Ep8o=:kSgMi1gYunuPgzCu/XiJe8
- 55cXkb2VEpp+0ZB7lgktyFvshluW/8SnuuoMm0yhsBOUju5moUy3EZx62VduAycSWKQ78+NnI
- nuuYaeMimJEZFIkXd/bIo8qA7TQgY5Ai7wFwAtnufeOK6yhqeXld+O6drS9SE7OUPwiRaFLvX
- a4z3zZIJ/WSdgxfIjZJl+1A8tbqJu7QHtc7BvlrnNqu0L7T9RP/4wKZFs+iqJxgb56ONYX6aW
- eJEAdrGioHnjoWK1N2opYc6mYPThXU7WIGI67W1LEp4sdfzemZwQzCuEX4itQkAnL2DeCQ5Ga
- TB3twKe/JfrKyCgWbB1LzE4zIekmdDkNCLP1O1ry0t5+zdTGCZqjgF0aW1XQwp7nUNAKqvnkR
- oGFH00fcZrTjP7GTsAHM1SFbj/j8S4XbS2KGdNqEc+X3ozKoe941uA4inBhtY+DCHFbDc82RB
- saG1XiaXGsPKwjXuAqFoy+XoGrMHnHWh5g9mP7Zd8K8eY9UW2y2qLVLlIfRct6viL+vCIg5bq
- bBOs7WNQuQK66Q8JwSFVNkWe5cjQ4sjCurxBOCJu6414eyACNqp75abbUH3UXbZ1ZWeQB05gV
- pAQjr6XZtxFBUpzRIscP1mp92bxLC60clMvMwMY7L3J2tmJzvf+8KaEZ46/AXpMn/5UHILhV8
- RHgsmsQOZtPYbgegdxdoBc4kR22+31P9QayG4NNZpKN6TEFlqDfoNUbNez4dIJleG22IlSiAm
- HnfbzPvVXjeK2JiZBcfGTDhAuoGbB8Fj+2eQ26gxDe6zKM6e+8/ggitNae4Dbbw0frlGYT/H6
- Wawodx5tZYYdi+XZ6h7xR7gVz+qUtDxU3/g+269QUGswvjIS+a6z7lzkEuyK7V6ieV8u7Eh4X
- sN1khUObrdWcgax2sqRsD0RD05hMRw3yVlf9xuWpUo/SWo+mVR/rXK6YkXDiRCL5kmMzaJ/ZF
- b4PktMNM1fUynsV780QqPYKWWfAdvMlDCWnofVBqBUPHArgmZeAkiFzfCcecwEBz+jAxwUZmE
- ANzUWQENqeKB/qYYpxtBwoBTpfvKT9aAuk83/Xxf8kHjFo2JE0BLWXqe+/i6FQUtXR4VmNd2G
- UVWlOQJHCJCaXerv7dUwcdFH2tluzwimauf3xv9Suhg06gzqG2AzZefj6DSqfSFAESG+a1r9m
- u1k2ZLky+lFSekVHbbxsc5W/2rXnl7YvbHVJ1NqvR0HhNJjn7ISBZGvzeJz7kFQCKjXZiQA76
- XprBZmCVmQkyOoIyjE6h4g5xdzecqsXUyniZ7MA==
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200107_101615_064044_029A3653
-X-CRM114-Status: GOOD ( 10.12 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider (wahrenst[at]gmx.net)
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.15.19 listed in list.dnswl.org]
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
- Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
- linux-pm@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This builds the BCM2711 thermal driver as module for the Raspberry Pi 4.
-
-Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- arch/arm/configs/multi_v7_defconfig | 1 +
- arch/arm64/configs/defconfig | 1 +
- 2 files changed, 2 insertions(+)
-
---
-2.7.4
-
-diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
-index 3f1b96d..f5d19cc 100644
---- a/arch/arm/configs/multi_v7_defconfig
-+++ b/arch/arm/configs/multi_v7_defconfig
-@@ -496,6 +496,7 @@ CONFIG_IMX_THERMAL=y
- CONFIG_ROCKCHIP_THERMAL=y
- CONFIG_RCAR_THERMAL=y
- CONFIG_ARMADA_THERMAL=y
-+CONFIG_BCM2711_THERMAL=m
- CONFIG_BCM2835_THERMAL=m
- CONFIG_BRCMSTB_THERMAL=m
- CONFIG_ST_THERMAL_MEMMAP=y
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 6a83ba2..b2f6673 100644
---- a/arch/arm64/configs/defconfig
-+++ b/arch/arm64/configs/defconfig
-@@ -442,6 +442,7 @@ CONFIG_ROCKCHIP_THERMAL=m
- CONFIG_RCAR_THERMAL=y
- CONFIG_RCAR_GEN3_THERMAL=y
- CONFIG_ARMADA_THERMAL=y
-+CONFIG_BCM2711_THERMAL=m
- CONFIG_BCM2835_THERMAL=m
- CONFIG_BRCMSTB_THERMAL=m
- CONFIG_EXYNOS_THERMAL=y
diff --git a/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch b/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
new file mode 100644
index 000000000..dd0087104
--- /dev/null
+++ b/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
@@ -0,0 +1,168 @@
+From patchwork Wed Mar 4 13:24:37 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+X-Patchwork-Id: 11420129
+Return-Path:
+ <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6D01139A
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 8EA4C20848
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="rVot4hOX"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EA4C20848
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=suse.de
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
+ :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
+ Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
+ List-Owner; bh=8vOVvuwuEiZ/+aeWTFI6G54jitKev/MSiGHvL/NuYpM=; b=rVot4hOXzlJULi
+ AIV0tWo7xq5srSJPr0aW3ccsKyfTNsVGmB0Y4G8A2Wqd+29xOVNJGk9jIAaRqBaAEGozzfFQj8JuQ
+ YRKsDyKXSMgpM5EHFtlq7TSvY21pe6uHhTkMCYnhLdZu7BrX9V2BLfnG7b7kx+wVgh2SDk5Tu8iJI
+ 3vNkR22Qd4bIZAMQVwr97BN6IasYg2C9Q1hACZKKYVTxOvCw1MDDfedhRK9IxgZXV8eacZco5TlC+
+ 3FlBQSP6dxBhpgAZ2VSD8k94TZe8Vnj1HMmja4MShu5hUOaBMzV/cvTA0y9OFseFvzL3YES1oyPzk
+ vPYT4iiUYIWQEEsfDJoA==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j9U10-0004Kq-KB; Wed, 04 Mar 2020 13:24:46 +0000
+Received: from mx2.suse.de ([195.135.220.15])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j9U0x-0004KG-Lg; Wed, 04 Mar 2020 13:24:45 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx2.suse.de (Postfix) with ESMTP id 28610AAC7;
+ Wed, 4 Mar 2020 13:24:42 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: Rob Herring <robh+dt@kernel.org>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Subject: [PATCH v2] ARM: dts: bcm2711: Move emmc2 into its own bus
+Date: Wed, 4 Mar 2020 14:24:37 +0100
+Message-Id: <20200304132437.20164-1-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.25.1
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200304_052443_860022_0913505C
+X-CRM114-Status: GOOD ( 14.37 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-2.3 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
+ medium trust [195.135.220.15 listed in list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
+ [195.135.220.15 listed in wl.mailspike.net]
+ 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, phil@raspberrypi.org,
+ linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
+ linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+Depending on bcm2711's revision its emmc2 controller might have
+different DMA constraints. Raspberry Pi 4's firmware will take care of
+updating those, but only if a certain alias is found in the device tree.
+So, move emmc2 into its own bus, so as not to pollute other devices with
+dma-ranges changes and create the emmc2bus alias.
+
+Based in Phil ELwell's downstream implementation.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+
+Changes since v1:
+ - Add comment in dt
+ - Fix commit title
+
+ arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 +
+ arch/arm/boot/dts/bcm2711.dtsi | 25 ++++++++++++++++++++-----
+ 2 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+index 1d4b589fe233..e26ea9006378 100644
+--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+@@ -20,6 +20,7 @@ memory@0 {
+ };
+
+ aliases {
++ emmc2bus = &emmc2bus;
+ ethernet0 = &genet;
+ pcie0 = &pcie0;
+ };
+diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
+index d1e684d0acfd..a91cf68e3c4c 100644
+--- a/arch/arm/boot/dts/bcm2711.dtsi
++++ b/arch/arm/boot/dts/bcm2711.dtsi
+@@ -241,17 +241,32 @@ pwm1: pwm@7e20c800 {
+ status = "disabled";
+ };
+
++ hvs@7e400000 {
++ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
++ };
++ };
++
++ /*
++ * emmc2 has different DMA constraints based on SoC revisions. It was
++ * moved into its own bus, so as for RPi4's firmware to update them.
++ * The firmware will find whether the emmc2bus alias is defined, and if
++ * so, it'll edit the dma-ranges property below accordingly.
++ */
++ emmc2bus: emmc2bus {
++ compatible = "simple-bus";
++ #address-cells = <2>;
++ #size-cells = <1>;
++
++ ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>;
++ dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>;
++
+ emmc2: emmc2@7e340000 {
+ compatible = "brcm,bcm2711-emmc2";
+- reg = <0x7e340000 0x100>;
++ reg = <0x0 0x7e340000 0x100>;
+ interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clocks BCM2711_CLOCK_EMMC2>;
+ status = "disabled";
+ };
+-
+- hvs@7e400000 {
+- interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+- };
+ };
+
+ arm-pmu {
diff --git a/ARM64-Tegra-fixes.patch b/ARM64-Tegra-fixes.patch
new file mode 100644
index 000000000..6ddfc2322
--- /dev/null
+++ b/ARM64-Tegra-fixes.patch
@@ -0,0 +1,477 @@
+From patchwork Mon Feb 24 14:34:33 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
+X-Patchwork-Id: 1243145
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=duOxTEf6;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48R4Mz3K4gz9sRR
+ for <incoming@patchwork.ozlabs.org>;
+ Tue, 25 Feb 2020 01:34:55 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1727815AbgBXOew (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Mon, 24 Feb 2020 09:34:52 -0500
+Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6094 "EHLO
+ hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727498AbgBXOew (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Mon, 24 Feb 2020 09:34:52 -0500
+Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e53debf0001>; Mon, 24 Feb 2020 06:33:35 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate101.nvidia.com (PGP Universal service);
+ Mon, 24 Feb 2020 06:34:51 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:51 -0800
+Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL101.nvidia.com
+ (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Mon, 24 Feb 2020 14:34:50 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
+ (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Mon, 24 Feb 2020 14:34:50 +0000
+Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e53df090001>; Mon, 24 Feb 2020 06:34:50 -0800
+From: Jon Hunter <jonathanh@nvidia.com>
+To: Thierry Reding <thierry.reding@gmail.com>
+CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
+ Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
+Subject: [PATCH 1/4] ARM64: Tegra: Enable I2C controller for EEPROM
+Date: Mon, 24 Feb 2020 14:34:33 +0000
+Message-ID: <20200224143436.5438-1-jonathanh@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1582554815; bh=SKhUz0YkoB6pD4YoE/4KFxZbYw2qmSp519cZdmcBM3o=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ X-NVConfidentiality:MIME-Version:Content-Type;
+ b=duOxTEf6wTpBnmdA4GzgtJ0CYXr5t34ZZNN48pc9hExmRqaCcppGHAY2wcXqnjNmL
+ YwvDy0gfFikGS9gPJKICW2X6f4iOcgfnVhYOWdgnzSFD1bhtOoN+bEcXPC+LRDY89m
+ uAwuuKQR4MMohz9C8MW8xyatlc13ZEU0jeW1+S3PYfX2GhwRUooeFCGnmLUso5s2DZ
+ 65p26CoCGdQNBARsw2TNevBzLshNSXvHBdlFiKSs4S0hB7yJJrCwZx2JsjOm+aRtb3
+ dgVHvAZAd8GLLKC8NvPCAhbIRhDt0vkyWmqHnB5suduti7g4QA1Eb8HLAXB5ptvzeK
+ jor+qP+NC8CVQ==
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+Commit a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1
+module") populated the EEPROM on the Jetson TX1 module, but did not
+enable the corresponding I2C controller. Enable the I2C controller so
+that this EEPROM can be accessed.
+
+Fixes: a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1 module")
+
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
+---
+ arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
+index cb58f79deb48..95b1a6e76e6e 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
+@@ -265,6 +265,8 @@
+ };
+
+ i2c@7000c500 {
++ status = "okay";
++
+ /* module ID EEPROM */
+ eeprom@50 {
+ compatible = "atmel,24c02";
+
+From patchwork Mon Feb 24 14:34:34 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
+X-Patchwork-Id: 1243146
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=YrupJt5o;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48R4N1059Pz9sRR
+ for <incoming@patchwork.ozlabs.org>;
+ Tue, 25 Feb 2020 01:34:57 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1727498AbgBXOe4 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Mon, 24 Feb 2020 09:34:56 -0500
+Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8365 "EHLO
+ hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727803AbgBXOe4 (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Mon, 24 Feb 2020 09:34:56 -0500
+Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e53deec0000>; Mon, 24 Feb 2020 06:34:20 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate101.nvidia.com (PGP Universal service);
+ Mon, 24 Feb 2020 06:34:55 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:55 -0800
+Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
+ (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Mon, 24 Feb 2020 14:34:55 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
+ (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Mon, 24 Feb 2020 14:34:55 +0000
+Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e53df0d0000>; Mon, 24 Feb 2020 06:34:54 -0800
+From: Jon Hunter <jonathanh@nvidia.com>
+To: Thierry Reding <thierry.reding@gmail.com>
+CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
+ Jon Hunter <jonathanh@nvidia.com>
+Subject: [PATCH 2/4] ARM64: tegra: Add EEPROM supplies
+Date: Mon, 24 Feb 2020 14:34:34 +0000
+Message-ID: <20200224143436.5438-2-jonathanh@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
+References: <20200224143436.5438-1-jonathanh@nvidia.com>
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1582554860; bh=XQRed+hM+dOmUn7lEyFBRTITiHe/kmVf6bYnTKyb4yU=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ In-Reply-To:References:X-NVConfidentiality:MIME-Version:
+ Content-Type;
+ b=YrupJt5osNrArZbD3/6N+E76P788S2kgwb7HnwldZ99/x70lrAIXTKHOx35uqz7o0
+ bsYj1jAiz+BrmkHt678TBaesev2pBBcp8G+zkGDX+M6MWEvTixhn0bBERoHpnmuhQl
+ 1fWBcDKGg9r4KT46RFxrjCcRek8FB1gb1nM00FneNHFyguKuZEzRuMvoPfZEPr0Pm3
+ HaB3AybSYgm2KABS5aZo/a2/9sIP0Bx2St673Bx+9vz89pPr8lWjHZO9QjIUdJn2Qw
+ 5rEeeEdOKkbx0RMyKaPAPIdhmrnVzrcyrnZYmf0KnxXJCWitqt2cyAu6uDjPI8kiL+
+ JhWqRAza5osKg==
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+The following warning is observed on Jetson TX1, Jetson Nano and Jetson
+TX2 platforms because the supply regulators are not specified for the
+EEPROMs.
+
+ WARNING KERN at24 0-0050: 0-0050 supply vcc not found, using dummy regulator
+ WARNING KERN at24 0-0057: 0-0057 supply vcc not found, using dummy regulator
+
+For both of these platforms the EEPROM is powered by the main 1.8V
+supply rail and so populate the supply for these devices to fix these
+warnings.
+
+Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
+---
+ arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 1 +
+ arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 +
+ arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 1 +
+ arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
+ arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts | 2 ++
+ 5 files changed, 6 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
+index d7628f5afb85..961b1be0c56b 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
++++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
+@@ -226,6 +226,7 @@
+ compatible = "atmel,24c02";
+ reg = <0x57>;
+
++ vcc-supply = <&vdd_1v8>;
+ address-bits = <8>;
+ page-size = <8>;
+ size = <256>;
+diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
+index 947744d0f04c..da96de04d003 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
++++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
+@@ -171,6 +171,7 @@
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+
++ vcc-supply = <&vdd_1v8>;
+ address-bits = <8>;
+ page-size = <8>;
+ size = <256>;
+diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
+index 95b1a6e76e6e..f87d2437d11c 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
+@@ -272,6 +272,7 @@
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+
++ vcc-supply = <&vdd_1v8>;
+ address-bits = <8>;
+ page-size = <8>;
+ size = <256>;
+diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
+index a3cafe39ba4c..c70a610f8e3a 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
+@@ -85,6 +85,7 @@
+ compatible = "atmel,24c02";
+ reg = <0x57>;
+
++ vcc-supply = <&vdd_1v8>;
+ address-bits = <8>;
+ page-size = <8>;
+ size = <256>;
+diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
+index 848afd855da6..21ed1756b889 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
++++ b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
+@@ -114,6 +114,7 @@
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+
++ vcc-supply = <&vdd_1v8>;
+ address-bits = <8>;
+ page-size = <8>;
+ size = <256>;
+@@ -124,6 +125,7 @@
+ compatible = "atmel,24c02";
+ reg = <0x57>;
+
++ vcc-supply = <&vdd_1v8>;
+ address-bits = <8>;
+ page-size = <8>;
+ size = <256>;
+
+From patchwork Mon Feb 24 14:34:35 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
+X-Patchwork-Id: 1243147
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=cDDn02CY;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48R4N43Xmtz9sRQ
+ for <incoming@patchwork.ozlabs.org>;
+ Tue, 25 Feb 2020 01:35:00 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1727825AbgBXOfA (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Mon, 24 Feb 2020 09:35:00 -0500
+Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8373 "EHLO
+ hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727803AbgBXOfA (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Mon, 24 Feb 2020 09:35:00 -0500
+Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e53def00000>; Mon, 24 Feb 2020 06:34:24 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate102.nvidia.com (PGP Universal service);
+ Mon, 24 Feb 2020 06:34:59 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:34:59 -0800
+Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
+ (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Mon, 24 Feb 2020 14:34:59 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
+ (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Mon, 24 Feb 2020 14:34:58 +0000
+Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e53df110000>; Mon, 24 Feb 2020 06:34:58 -0800
+From: Jon Hunter <jonathanh@nvidia.com>
+To: Thierry Reding <thierry.reding@gmail.com>
+CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
+ Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
+Subject: [PATCH 3/4] ARM64: tegra: Fix Tegra186 SOR supply
+Date: Mon, 24 Feb 2020 14:34:35 +0000
+Message-ID: <20200224143436.5438-3-jonathanh@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
+References: <20200224143436.5438-1-jonathanh@nvidia.com>
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1582554864; bh=lUBb2WrI059cKuJQ/lQ6zAeA/dUVGu1GIMzWYnFLzuA=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ In-Reply-To:References:X-NVConfidentiality:MIME-Version:
+ Content-Type;
+ b=cDDn02CYOMd1x5bK/t7LoZ9fYn59xu8HcaGTMnsTAUfJYYkF5vUqcWjve/5PtksEv
+ +bYF/ELx+KLrbyXQ4LtKHW1V8F2iDHhNR1Rrs+/MUuPuxuOXwTsaYJgLd2A/FWO54O
+ men6fW7E5dJS7lmfJ050sgzZs+TABrFO/dyzOfrekczCVpqlnJEsPvdpFlBbzg125A
+ ZW3sMSe1pW+54pvkCWL7YF/RFnb9zefc0feJmu0Ky+kMH2QOFPSvufzsFBxOr1bUaJ
+ wqzLNTYwY6tWNy7axusq4KLKuCViERaAqSs/UlzzsrOQHJeecBOlH2GkFi8z7JASz2
+ ucv0C5PUNzlTg==
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+The following warning is observed on the Jetson TX2 platform ...
+
+ WARNING KERN tegra-sor 15540000.sor: 15540000.sor supply \
+ vdd-hdmi-dp-pll not found, using dummy regulator
+
+The problem is caused because the regulator for the SOR device is
+missing the '-supply' suffix in Device-Tree. Therefore, add the
+'-supply' suffix to fix this warning.
+
+Fixes: 3fdfaf8718fa arm64: tegra: Enable DP support on Jetson TX2
+
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
+---
+ arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
+index 961b1be0c56b..1af7f9ffb7b6 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
++++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
+@@ -278,7 +278,7 @@
+ status = "okay";
+
+ avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
+- vdd-hdmi-dp-pll = <&vdd_1v8_ap>;
++ vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
+
+ nvidia,dpaux = <&dpaux>;
+ };
+
+From patchwork Mon Feb 24 14:34:36 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
+X-Patchwork-Id: 1243148
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=K9z8jYfd;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48R4N71cwzz9sRQ
+ for <incoming@patchwork.ozlabs.org>;
+ Tue, 25 Feb 2020 01:35:03 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1727830AbgBXOfC (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Mon, 24 Feb 2020 09:35:02 -0500
+Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6117 "EHLO
+ hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727803AbgBXOfC (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Mon, 24 Feb 2020 09:35:02 -0500
+Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e53deca0000>; Mon, 24 Feb 2020 06:33:46 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate102.nvidia.com (PGP Universal service);
+ Mon, 24 Feb 2020 06:35:01 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:35:01 -0800
+Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL111.nvidia.com
+ (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Mon, 24 Feb 2020 14:35:01 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL111.nvidia.com
+ (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Mon, 24 Feb 2020 14:35:01 +0000
+Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e53df140006>; Mon, 24 Feb 2020 06:35:01 -0800
+From: Jon Hunter <jonathanh@nvidia.com>
+To: Thierry Reding <thierry.reding@gmail.com>
+CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
+ Jon Hunter <jonathanh@nvidia.com>
+Subject: [PATCH 4/4] ARM64: tegra: Populate LP8557 backlight regulator
+Date: Mon, 24 Feb 2020 14:34:36 +0000
+Message-ID: <20200224143436.5438-4-jonathanh@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
+References: <20200224143436.5438-1-jonathanh@nvidia.com>
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1582554826; bh=8MBs7jrK7WrFNE7o6bG0zu41Sicfxu97bK94j6RYNJs=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ In-Reply-To:References:X-NVConfidentiality:MIME-Version:
+ Content-Type;
+ b=K9z8jYfdaYDh/XGz5S/vyzBWYN4ZPYT6jkue5E5YiUVIyQgLCoZqfSIh3h9luB+/C
+ DhYTYMkUQRLasUE0VX9dr4Bn0Hxeaw8DjYS7BUq4LqfNwWjsCSsNEhk26FGBEUvhRH
+ i2nMUMk5Ivw78ouR6qNZhI6freANsproJ+yQkA0cC9WXj5mQw4xcKRmL48dccxrX47
+ aQi0BDk3SCzZBAa+4G3yynAGiRNiFuLVWkg/vFMcq1JDp6a2mVs/CS3Qj0/heE9gPn
+ Qr2Wy0Oa6tg3jhxR9hk7qyy5FlkfDAtJOlUt6sPloPS4bhqqDJtbnXZL7lzHDP+sw+
+ RZcjavnvJtCIQ==
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+The following warning is observed on Jetson TX1 platform because the
+supply regulator is not specified for the backlight.
+
+ WARNING KERN lp855x 0-002c: 0-002c supply power not found, using dummy regulator
+
+The backlight supply is provided by the 3.3V SYS rail and so add this
+as the supply for the backlight.
+
+Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
+---
+ arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
+index c70a610f8e3a..ea0e1efa6973 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
++++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
+@@ -56,6 +56,7 @@
+ backlight: backlight@2c {
+ compatible = "ti,lp8557";
+ reg = <0x2c>;
++ power-supply = <&vdd_3v3_sys>;
+
+ dev-ctrl = /bits/ 8 <0x80>;
+ init-brt = /bits/ 8 <0xff>;
diff --git a/Add-LCD-support-for-Pine64-Pinebook-1080p.patch b/Add-LCD-support-for-Pine64-Pinebook-1080p.patch
new file mode 100644
index 000000000..632601e4c
--- /dev/null
+++ b/Add-LCD-support-for-Pine64-Pinebook-1080p.patch
@@ -0,0 +1,1033 @@
+From patchwork Wed Feb 26 08:10:07 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
+X-Patchwork-Id: 11405511
+Return-Path:
+ <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C17F138D
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:10:50 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 285BF20714
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:10:50 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="cdeyR8r0";
+ dkim=fail reason="signature verification failed" (2048-bit key)
+ header.d=gmail.com header.i=@gmail.com header.b="Q0cii6N4"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 285BF20714
+Authentication-Results: mail.kernel.org;
+ dmarc=fail (p=none dis=none) header.from=gmail.com
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=Peo+SfFmr062rl3tgDW98UrixycGQzBn/gdB0fqrEec=; b=cdeyR8r0WrrQXL
+ fhHLecv9WUzj5mN4Jb7+S8U3VVCIJu7TkDD13MiIv2xqHbC9HXLBkGdb2Vrq2Rcfkl/jwWjXcgwST
+ vrUCWMU4jaNlxmeTiAXDyI1I6SEZ/9haXD8IUv7hU1BNoVyeH2GeaVHvTAwIA7TKEWzJHb3/naGAz
+ Yir51L7gXJoATQ86WVBgdnZ/6rUUmZe1Gs9aHwEjMZ5Rz/9WNydTH/VLWBCVDA9zdZiq8+jhja7y6
+ Dh8VhWGpCuvJ/6W0c7viQtFIuJAYI2cYQmI+ebHLMeiv0g7cZnaTxi/PPSICIl3iA9MSUbfVcYSoC
+ Ro1yQC9H+yqHToXqdWTg==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rmK-0000to-Bs; Wed, 26 Feb 2020 08:10:48 +0000
+Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rmH-0000rv-7o
+ for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:46 +0000
+Received: by mail-pl1-x644.google.com with SMTP id a6so990257plm.3
+ for <linux-arm-kernel@lists.infradead.org>;
+ Wed, 26 Feb 2020 00:10:44 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references
+ :mime-version:content-transfer-encoding;
+ bh=bV3ZvEYwFOIunmpWLGzAgCdGTlK6S+EV6uVEHB+FGxY=;
+ b=Q0cii6N45xFi8jvZk47bAoc1Nxu6hFKn2R/6gr1ZfjKbVoDJZ64PKB8Z3UWgfpC96z
+ m858biDFlV7/4mo1LjVTUmbbBHm1yKrJnJ3uLVZBlEdyOFSDznZRxrzu6B/mSXoBfdGU
+ mlGpBVLSLPU/z8ykPcedU1XFyCgTRivYgIcpSqG+QITc7/eIRdzyugFFz9Yzl27ql70w
+ 8AlOefrAt/HgAlO+4L6JoXtZp+YN7BobPP6qXr0OfqH/1PLZecbnI0vC7uItRmmZkPfN
+ j7AsPd8mIOV8s5KgCaaK+xwtreytUn7QQZvq+Frfrl0pLWndKlgav8D5uWnV85pooXdR
+ SCgg==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references:mime-version:content-transfer-encoding;
+ bh=bV3ZvEYwFOIunmpWLGzAgCdGTlK6S+EV6uVEHB+FGxY=;
+ b=ECNexu4zW9OhYucRWaQRPAtEEWE7WmtUxDePEa2BlUp2b5Kd9R3BagblFLB6VAHhjR
+ wSrCiVTMvlAgNAiXJuKq/J5YnOKBFR7YdGYc9odgo3waiK/XQw5lNOjmNA3hJepAn0wb
+ MXB9jYsbW2B5kyNLwCFFG6d6jTJEY6Q87mzTx3wqL6nBq6sjdHN5JvBkaERdHCCqKUVH
+ /jOwV7W2QFG0Kb+DYvfelZbfBCUOMf68VHiwQICiY52q5geL/Oa8/ZO56kEfCx3geUXF
+ qCuCL4PKAO3hL6jqm5peuzVj69VP64wtkL/eTdM7KKlJDTczayTs3A6DMsI9lRzmA7Ro
+ w63A==
+X-Gm-Message-State: APjAAAWTEdsoaCfLa1vBLhPyuzgRQw35FJ8aGRWduCgpvWjMqcy6TWNi
+ T7YrobqhUcuRzq8O/y3mjZo=
+X-Google-Smtp-Source:
+ APXvYqwzmN2dNDKDPwprqjYoy3wHRxeIo1QTGdy8Nrs8WKG2CT6K8e2fuBfcpdmu4anfHjvkmdpjJQ==
+X-Received: by 2002:a17:902:6184:: with SMTP id
+ u4mr2301682plj.216.1582704644297;
+ Wed, 26 Feb 2020 00:10:44 -0800 (PST)
+Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
+ [216.71.213.236])
+ by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.43
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Wed, 26 Feb 2020 00:10:43 -0800 (PST)
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
+ Andrzej Hajda <a.hajda@samsung.com>,
+ Neil Armstrong <narmstrong@baylibre.com>,
+ Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
+ Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
+ Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
+ Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
+ Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
+ Stephen Rothwell <sfr@canb.auug.org.au>,
+ Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
+ devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Subject: [PATCH v2 2/6] drm/bridge: anx6345: don't print error message if
+ regulator is not ready
+Date: Wed, 26 Feb 2020 00:10:07 -0800
+Message-Id: <20200226081011.1347245-3-anarsoul@gmail.com>
+X-Mailer: git-send-email 2.25.0
+In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
+References: <20200226081011.1347245-1-anarsoul@gmail.com>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200226_001045_305939_7F59723B
+X-CRM114-Status: GOOD ( 13.16 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2607:f8b0:4864:20:0:0:0:644 listed in]
+ [list.dnswl.org]
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider [anarsoul[at]gmail.com]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+We don't want to print scary message if devm_regulator_get() returns
+-EPROBE_DEFER
+
+Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+---
+ drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
+index 0d8d083b0207..0bf81b9b5faa 100644
+--- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
++++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
+@@ -714,14 +714,18 @@ static int anx6345_i2c_probe(struct i2c_client *client,
+ /* 1.2V digital core power regulator */
+ anx6345->dvdd12 = devm_regulator_get(dev, "dvdd12");
+ if (IS_ERR(anx6345->dvdd12)) {
+- DRM_ERROR("dvdd12-supply not found\n");
++ if (PTR_ERR(anx6345->dvdd12) != -EPROBE_DEFER)
++ DRM_ERROR("Failed to get dvdd12 supply (%ld)\n",
++ PTR_ERR(anx6345->dvdd12));
+ return PTR_ERR(anx6345->dvdd12);
+ }
+
+ /* 2.5V digital core power regulator */
+ anx6345->dvdd25 = devm_regulator_get(dev, "dvdd25");
+ if (IS_ERR(anx6345->dvdd25)) {
+- DRM_ERROR("dvdd25-supply not found\n");
++ if (PTR_ERR(anx6345->dvdd25) != -EPROBE_DEFER)
++ DRM_ERROR("Failed to get dvdd25 supply (%ld)\n",
++ PTR_ERR(anx6345->dvdd25));
+ return PTR_ERR(anx6345->dvdd25);
+ }
+
+
+From patchwork Wed Feb 26 08:10:08 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
+X-Patchwork-Id: 11405525
+Return-Path:
+ <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BA056930
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:11:35 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 9013820714
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:11:35 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="LGhb4fkQ";
+ dkim=fail reason="signature verification failed" (2048-bit key)
+ header.d=gmail.com header.i=@gmail.com header.b="ZqFr2Xde"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9013820714
+Authentication-Results: mail.kernel.org;
+ dmarc=fail (p=none dis=none) header.from=gmail.com
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=8ADp0ZCf/RXeiG8WcqeiUa/p9bRVFg9MWHrmkEvydR4=; b=LGhb4fkQPVOahi
+ BJtXEN4XzL/JpAolHzThXXSCz6Ga6a4XRsdusD5lW+G9d20OKblS1Li2yUXQBF3gD69zww/f2uZ89
+ SCjOIeF8YUi4eRd//H2ki/ugHNFjjr7D5+6X8lBg3oTpatQ2D+Snv83BF6PgDCBec7lxy6SgUaP77
+ ouDw0lLlP00NBYXZp31b5lBknpI4oolPTNfq/3hCcsnQGKORXv4xPzuVGOj8m4Aj9K9Uc1D9o+S9t
+ kYan/5JdjUcE2XmXgKkvQ4mK60O74eH9QZ1nqDxgtvQHnX7+JWnWoTTiYsV+8A/TxWEOTIeLpKZQJ
+ f5BizujU0K80o5bM8ckg==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rn4-0001aC-Nf; Wed, 26 Feb 2020 08:11:34 +0000
+Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rmI-0000se-31
+ for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:47 +0000
+Received: by mail-pj1-x1044.google.com with SMTP id fa20so941191pjb.1
+ for <linux-arm-kernel@lists.infradead.org>;
+ Wed, 26 Feb 2020 00:10:45 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references
+ :mime-version:content-transfer-encoding;
+ bh=vEnVySXBYfW3b1su9MemqgqPSinDbCdHAw5n+ZVHXKA=;
+ b=ZqFr2XdedoNMMzSdc2eWipJbPoWCSoIWOaxz1zsBu+w5FRw0nlJVp7B9aMcVR/ECrM
+ fWpYYrpUhtSvO1rGsvHH3i7x8JxpD2QgM4DK0weubmj2twGyNSOa9Gvtg6KWDj0oARIV
+ ossJG+QlPSs1QhoRE2faVAv1lrRd7/LwUBqX6m+LwRkGl9SmUJ5qeccTbXxGKO/jke+J
+ hejsi+GJu4wBCG1LLI2Rb9i3hLwtSZ88dY/P2BygJXrOuCX1Xh6+4AO3P044cgvoby3X
+ oVgYppEgNor2/7HskWoAIOtOe2teNJqCPhYgfnRcBTVY+U0Ce7WQEZmjOKtWi3whIYeH
+ uQBQ==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references:mime-version:content-transfer-encoding;
+ bh=vEnVySXBYfW3b1su9MemqgqPSinDbCdHAw5n+ZVHXKA=;
+ b=j3wqnMuutM7fm6+CgtpzUtqOybHnpB5v7GqNm5NrPLnZppqmIhQfo+XB29LZIR96Qs
+ Jy7BnRxwn82nTsr0gsi1J1SPyTVkFBfD/FPq2K+ScOhP7bMVMYU+T7gh7VCDvj1OqGCr
+ lwQ1+LNbccyZRW86D//6ySKwTfecrJ56FsWmrvWHvXykcnH8BIPijoOUTk7JgDMifSKZ
+ KGWkKaKZsVGgzycQMDy2UnKCcgvfJ8NNCHS0aJEy7YIhVHyHct2MLeU2jOQsBNJAoB8p
+ khuqKa1HHg9kFHvXcBokIyToppXiELRtmWg5Aixj6554KNk33a1wSglXIpxPHxncZ8sX
+ wMUw==
+X-Gm-Message-State: APjAAAVIaRZ6h9Ll6HvsBP2/ITar71fuZ8QWSrR6RUAlo4+/JyCCMCmC
+ nfYQIUTeyMaWhjT3gpH48Ag=
+X-Google-Smtp-Source:
+ APXvYqySsTMpSDO1lKEob5Z3qPaMibUnculbDtGi+2b/LHKNJPcUDEb49L+OdYHplPurgC0YCZJGNA==
+X-Received: by 2002:a17:90a:32e4:: with SMTP id
+ l91mr3675046pjb.23.1582704645464;
+ Wed, 26 Feb 2020 00:10:45 -0800 (PST)
+Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
+ [216.71.213.236])
+ by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.44
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Wed, 26 Feb 2020 00:10:44 -0800 (PST)
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
+ Andrzej Hajda <a.hajda@samsung.com>,
+ Neil Armstrong <narmstrong@baylibre.com>,
+ Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
+ Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
+ Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
+ Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
+ Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
+ Stephen Rothwell <sfr@canb.auug.org.au>,
+ Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
+ devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Subject: [PATCH v2 3/6] dt-bindings: Add Guangdong Neweast Optoelectronics CO.
+ LTD vendor prefix
+Date: Wed, 26 Feb 2020 00:10:08 -0800
+Message-Id: <20200226081011.1347245-4-anarsoul@gmail.com>
+X-Mailer: git-send-email 2.25.0
+In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
+References: <20200226081011.1347245-1-anarsoul@gmail.com>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200226_001046_126436_F508C228
+X-CRM114-Status: GOOD ( 10.72 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider [anarsoul[at]gmail.com]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+Add vendor prefix for Guangdong Neweast Optoelectronics CO. LTD
+
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+Acked-by: Rob Herring <robh@kernel.org>
+---
+ Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
+index 6456a6dfd83d..5dfbad67aa81 100644
+--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
++++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
+@@ -661,6 +661,8 @@ patternProperties:
+ description: Netron DY
+ "^netxeon,.*":
+ description: Shenzhen Netxeon Technology CO., LTD
++ "^neweast,.*":
++ description: Guangdong Neweast Optoelectronics CO., LTD
+ "^nexbox,.*":
+ description: Nexbox
+ "^nextthing,.*":
+
+From patchwork Wed Feb 26 08:10:09 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
+X-Patchwork-Id: 11405527
+Return-Path:
+ <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2CC5A930
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:11:45 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id D99A220714
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:11:44 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="NUXv3B19";
+ dkim=fail reason="signature verification failed" (2048-bit key)
+ header.d=gmail.com header.i=@gmail.com header.b="TBrP0h2w"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D99A220714
+Authentication-Results: mail.kernel.org;
+ dmarc=fail (p=none dis=none) header.from=gmail.com
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=anQFpGzSkI8IBbKtjkscYMGuTNi8IBx1f7ryKOpbIQ4=; b=NUXv3B191+285a
+ VyP0wvrXMEDMQsqqwv88YNzVR2CeJlhZYqbOVNDVdMHvHr7VbKohas0brz70I9kD9oQKr8t4lNbcq
+ p27kG4qmaeRzFa9TSIHJ6PLhfmuWhOctg7DrOaYPazvpEuklClpuIdh1nARq7aHgGVbwUQ2d9UAeL
+ DNq8Ux3oAlmn2fRtjEYbI2QEFz9SsD8mL0pK+qeYhw864dbHZoD4qv2z3wiRIOFxP5kjt9+cGXF32
+ U1GcKdog5IoElC7tP0e4kSeB6uhotxHuDO0FXghwnV/ScLxd+6TtAaNNox4x40LRQl7k4Cj5QGKgC
+ VUXOowbwTnzHE53PQGUQ==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rnE-0001ln-0r; Wed, 26 Feb 2020 08:11:44 +0000
+Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rmJ-0000tK-MR
+ for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:48 +0000
+Received: by mail-pf1-x42d.google.com with SMTP id i19so1066942pfa.2
+ for <linux-arm-kernel@lists.infradead.org>;
+ Wed, 26 Feb 2020 00:10:47 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references
+ :mime-version:content-transfer-encoding;
+ bh=UNDrMK3Cuph8hAawynxP4ClnMYdwocSlmGrvdp+XI7U=;
+ b=TBrP0h2wisco9iwCPRUPdbzfKPQaem8N0CCbkufM0ubNMvNGPVi7J4OrKi6XaCKbH6
+ hh3Y+bgMR/KAzZy3SJxpHSn/W55kTsTGse062SF7bXdc1s6lOwPqxkWqbnhYBTrOOQRL
+ P5UEoGPV5IsF76w8fyduRaTE03AV7RIeG3tdyzE6dWtIWMgpvpx224lpnK6HQOTLFKGx
+ 8NN0VzAznR0u0zIR0NAXJZCtJ32GmXNwAp/DudApysZdxoB5XwxmgmLNpboYi0ogxMJL
+ H4NuemzoK00dffBEXYJVCaGEH3TCcpoSWqSDpn+UxmqlsA7Meikom5RyLGooaap33bAj
+ PsSg==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references:mime-version:content-transfer-encoding;
+ bh=UNDrMK3Cuph8hAawynxP4ClnMYdwocSlmGrvdp+XI7U=;
+ b=tNIHOh5/U2zSCDF9YxBv2gBrXaOp1Ic3Ed0/DF9W1SwZlsOm8NdJnPoG/Qzz4Zzq9f
+ XO2KlEwTsZL/p5cUoBsgJp31//jbQwtydKN7A6Bc8syqlzNqTKkbH0lWw27byIqRQNVb
+ LZPrt8szaFd6cOQMgYuhMuft7xy3AEwAflpXSPhYxAZ/7/+17p9vRxIYfeQL25gxolY5
+ wcpVsTQNM58hJqeMjh5zlpTHzNVNi6eK1DfN4jgGyciaKSD2NkiJ8h94ilf+WPFSg2EC
+ tfX9NpVWx/fPa+99QUAGGBQZ6Rda+Iwf3iK2ypaJcz83ttVMLmZuoHn2gUauHWp5uwPX
+ nOQg==
+X-Gm-Message-State: APjAAAXSV09JyCccUw4DNzettQ7Qf47judkIMcKg29H1A33F/f9wiexa
+ clMeRPA3ejNUAeXoRpvNjIE=
+X-Google-Smtp-Source:
+ APXvYqx16ATSH0Ri7QydUSr5etiFpP7VXGwv2ajzCwfEDuf3Fsc6V5gruuHjTDm3C4cjgRnxu80rnQ==
+X-Received: by 2002:a63:42c2:: with SMTP id
+ p185mr2844380pga.268.1582704646751;
+ Wed, 26 Feb 2020 00:10:46 -0800 (PST)
+Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
+ [216.71.213.236])
+ by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.45
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Wed, 26 Feb 2020 00:10:46 -0800 (PST)
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
+ Andrzej Hajda <a.hajda@samsung.com>,
+ Neil Armstrong <narmstrong@baylibre.com>,
+ Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
+ Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
+ Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
+ Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
+ Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
+ Stephen Rothwell <sfr@canb.auug.org.au>,
+ Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
+ devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Subject: [PATCH v2 4/6] dt-bindings: display: simple: Add NewEast
+ Optoelectronics WJFH116008A compatible
+Date: Wed, 26 Feb 2020 00:10:09 -0800
+Message-Id: <20200226081011.1347245-5-anarsoul@gmail.com>
+X-Mailer: git-send-email 2.25.0
+In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
+References: <20200226081011.1347245-1-anarsoul@gmail.com>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200226_001047_734455_8E1B858A
+X-CRM114-Status: GOOD ( 10.74 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2607:f8b0:4864:20:0:0:0:42d listed in]
+ [list.dnswl.org]
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider [anarsoul[at]gmail.com]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+This commit adds compatible for NewEast Optoelectronics WJFH116008A panel
+to panel-simple binding
+
+Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+---
+ .../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+index 8fe60ee2531c..0e5d01ac32e1 100644
+--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
++++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+@@ -39,6 +39,8 @@ properties:
+ - boe,nv140fhmn49
+ # GiantPlus GPM940B0 3.0" QVGA TFT LCD panel
+ - giantplus,gpm940b0
++ # NewEast Optoelectronics CO., LTD WJFH116008A eDP TFT LCD panel
++ - neweast,wjfh116008a
+ # Satoz SAT050AT40H12R2 5.0" WVGA TFT LCD panel
+ - satoz,sat050at40h12r2
+ # Sharp LS020B1DD01D 2.0" HQVGA TFT LCD panel
+
+From patchwork Wed Feb 26 08:10:10 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
+X-Patchwork-Id: 11405529
+Return-Path:
+ <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 98009138D
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:12:06 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 706E22084E
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:12:06 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="RFmzpGxa";
+ dkim=fail reason="signature verification failed" (2048-bit key)
+ header.d=gmail.com header.i=@gmail.com header.b="l/TW+lXA"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 706E22084E
+Authentication-Results: mail.kernel.org;
+ dmarc=fail (p=none dis=none) header.from=gmail.com
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=Pjezg2eBVUZyXclyd85ezSxR08wks+q8A4EL9XqNFV8=; b=RFmzpGxaCKDN3Z
+ TKB9iB1O5CpLIOo6BJ5GeTFZUYua2bsR/5wdIkFR8fHe0NtrBQBgr9UFC3bn7vAR4ElOOPsqyiY/U
+ sSFoABabi3ubYjB5EsEFderIxHy3jM1GCiATMOVuVlQUCp+RBUOrZ0BRaeCfZHQwQ+TC1XczMZi7K
+ 3XAWciGmtAuQ0Fc+gjavhcSmThyAtlQ6dsXPA4Hs4tprQ4d1n4JaaPj/aoigY2QgcBGm3ZoTjSf67
+ lYjS0cBqOBMPxzeebuHILvAdrgyxP4euSXXQdM7ufztwwR60nibOMdsv9qjDABojmkq8B5MTZqdOH
+ 0ZaZ5qKKNoBg4Cc0s4tw==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rnW-00022y-I8; Wed, 26 Feb 2020 08:12:02 +0000
+Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rmK-0000tn-HT
+ for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:49 +0000
+Received: by mail-pf1-x444.google.com with SMTP id x185so1062134pfc.5
+ for <linux-arm-kernel@lists.infradead.org>;
+ Wed, 26 Feb 2020 00:10:48 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references
+ :mime-version:content-transfer-encoding;
+ bh=2c6a2wUIf1607PZkN1rZk+L4ET6oyW/A+dmD8ze92gI=;
+ b=l/TW+lXATIXM17aGIZ9zrNTKWKrYbTiLzzjCckt2sYGCNOgBJIAM/09gAYIyO8Ix1n
+ UHbe88pAp1n0plvmre5V5bbjfK092LKIqAYUkzsgoJS7/2xUSMZgE5o2q6j40HA9jjre
+ FF8uZvB+fx7B6YmX6nxlrWe2JsyENeFsB23HdsKTAR2dEJOG0eVZaT0pJNwkmq0+XMJC
+ c9jFO1zsFW7hO9kM7570YJrU/mpImzvlnR4RWJMtjUx3BXAFto3xHr0udkFVc1dm8Tg0
+ Ip4cwJcKanfhov2dNsyjvshdovNKgTGIdSWpGBGikwWBexhz01R0zL94DTwVMPuTLhGV
+ /+nw==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references:mime-version:content-transfer-encoding;
+ bh=2c6a2wUIf1607PZkN1rZk+L4ET6oyW/A+dmD8ze92gI=;
+ b=AFqJOlne6XiqyfXbe7Qg6mrk2SdVqJ7iExvkHRxNVYmdxUbR/6yRhvzOZQSVBtKC5i
+ TmW2u4Q8eZPHYreKvOIUWITey052Zg4u9hGHB3rMw7Av/4qxpWNPtkFqzZfU7XRxu98o
+ CGp2OcESKg6Ut1utUOOlHQrkxQCAKOG9z7/J5db2Ia8pCEzog0sZXpgIY4VSkT8+trYy
+ WcqYWGslvZVqZM/Vdc/26b2UTKBa6wqGA8lwIZ8hdr/UmSELSpEf6BVvU08zKfxoF/1B
+ 75us7suZtGwlG5X7xkj/8QUNiraZ4UQF4XTR7cywE+zar2l5vCrFG2751fJZrx9xW5+1
+ w3oQ==
+X-Gm-Message-State: APjAAAUZZE/KK0NMOoMfAeeMMg5NlS/caB+zFkrqz5jH670/oibneZxJ
+ h4YLd4JzSbuB9egyQmmLO68=
+X-Google-Smtp-Source:
+ APXvYqy00/8d+Wer4Z0MFSOy0sPlhrq7zbo/TdsWVeXFTKfHPPar8rV+DBjhxAWH91y4lWNMO4S3Pw==
+X-Received: by 2002:a63:ec0c:: with SMTP id j12mr2609426pgh.78.1582704647920;
+ Wed, 26 Feb 2020 00:10:47 -0800 (PST)
+Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
+ [216.71.213.236])
+ by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.46
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Wed, 26 Feb 2020 00:10:47 -0800 (PST)
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
+ Andrzej Hajda <a.hajda@samsung.com>,
+ Neil Armstrong <narmstrong@baylibre.com>,
+ Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
+ Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
+ Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
+ Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
+ Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
+ Stephen Rothwell <sfr@canb.auug.org.au>,
+ Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
+ devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Subject: [PATCH v2 5/6] drm/panel: simple: Add NewEast Optoelectronics CO.,
+ LTD WJFH116008A panel support
+Date: Wed, 26 Feb 2020 00:10:10 -0800
+Message-Id: <20200226081011.1347245-6-anarsoul@gmail.com>
+X-Mailer: git-send-email 2.25.0
+In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
+References: <20200226081011.1347245-1-anarsoul@gmail.com>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200226_001048_596182_84BBBB6A
+X-CRM114-Status: GOOD ( 13.16 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2607:f8b0:4864:20:0:0:0:444 listed in]
+ [list.dnswl.org]
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider [anarsoul[at]gmail.com]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+This commit adds support for the NewEast Optoelectronics CO., LTD
+WJFH116008A 11.6" 1920x1080 TFT LCD panel.
+
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+---
+ drivers/gpu/drm/panel/panel-simple.c | 48 ++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
+index e14c14ac62b5..4292e3e3a461 100644
+--- a/drivers/gpu/drm/panel/panel-simple.c
++++ b/drivers/gpu/drm/panel/panel-simple.c
+@@ -2224,6 +2224,51 @@ static const struct panel_desc netron_dy_e231732 = {
+ .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
+ };
+
++static const struct drm_display_mode neweast_wjfh116008a_modes[] = {
++ {
++ .clock = 138500,
++ .hdisplay = 1920,
++ .hsync_start = 1920 + 48,
++ .hsync_end = 1920 + 48 + 32,
++ .htotal = 1920 + 48 + 32 + 80,
++ .vdisplay = 1080,
++ .vsync_start = 1080 + 3,
++ .vsync_end = 1080 + 3 + 5,
++ .vtotal = 1080 + 3 + 5 + 23,
++ .vrefresh = 60,
++ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
++ }, {
++ .clock = 110920,
++ .hdisplay = 1920,
++ .hsync_start = 1920 + 48,
++ .hsync_end = 1920 + 48 + 32,
++ .htotal = 1920 + 48 + 32 + 80,
++ .vdisplay = 1080,
++ .vsync_start = 1080 + 3,
++ .vsync_end = 1080 + 3 + 5,
++ .vtotal = 1080 + 3 + 5 + 23,
++ .vrefresh = 48,
++ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
++ }
++};
++
++static const struct panel_desc neweast_wjfh116008a = {
++ .modes = neweast_wjfh116008a_modes,
++ .num_modes = 2,
++ .bpc = 6,
++ .size = {
++ .width = 260,
++ .height = 150,
++ },
++ .delay = {
++ .prepare = 110,
++ .enable = 20,
++ .unprepare = 500,
++ },
++ .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
++ .connector_type = DRM_MODE_CONNECTOR_eDP,
++};
++
+ static const struct drm_display_mode newhaven_nhd_43_480272ef_atxl_mode = {
+ .clock = 9000,
+ .hdisplay = 480,
+@@ -3399,6 +3444,9 @@ static const struct of_device_id platform_of_match[] = {
+ }, {
+ .compatible = "netron-dy,e231732",
+ .data = &netron_dy_e231732,
++ }, {
++ .compatible = "neweast,wjfh116008a",
++ .data = &neweast_wjfh116008a,
+ }, {
+ .compatible = "newhaven,nhd-4.3-480272ef-atxl",
+ .data = &newhaven_nhd_43_480272ef_atxl,
+
+From patchwork Wed Feb 26 08:10:11 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
+X-Patchwork-Id: 11405531
+Return-Path:
+ <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 77856930
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:12:17 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 51B0C24670
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 26 Feb 2020 08:12:17 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="Ttb9cpIi";
+ dkim=fail reason="signature verification failed" (2048-bit key)
+ header.d=gmail.com header.i=@gmail.com header.b="Uj9USULV"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 51B0C24670
+Authentication-Results: mail.kernel.org;
+ dmarc=fail (p=none dis=none) header.from=gmail.com
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=LnkqG8iA0ymdTA2w7CdGVHSCIBdn7y28YqcNDvsJWNU=; b=Ttb9cpIiR16OSX
+ C+0UQyaaAqkD801MCZ65bwRsQy+0yRPSFzRfv8Tc2s5Gm5L6TR05fd2w3uM9MocpU2FRV80A2XmKG
+ rVRDRn0q7jNpoxIYIc+2RWUuL1Jr7YvueQgU57O5c69nl3SgTzbc1r1xUS/q3mQkrGHbpmY2PlayQ
+ RPA4BQ3hNGi6naA71o8hf+uG9U8PousU2XUFhROHgAx7hePPf25ESKTbZVfKke7QuDJBw4JFxYJym
+ MH/qF08Y4EMH0jZYh/oeBwEf8X3Kb0CWHSTjMi9ppWH/SimAViI2NWVuusqvOdmXWorBM0vPTx8dG
+ 0xJZ511Bv5LYDdz46Zgw==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rnk-0002Fx-FU; Wed, 26 Feb 2020 08:12:16 +0000
+Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j6rmL-0000vN-TN
+ for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:51 +0000
+Received: by mail-pf1-x441.google.com with SMTP id s1so1047374pfh.10
+ for <linux-arm-kernel@lists.infradead.org>;
+ Wed, 26 Feb 2020 00:10:49 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references
+ :mime-version:content-transfer-encoding;
+ bh=1/9ulr35We1VvK4OKOtO+SeDdjZAIuN626KlRGL51e8=;
+ b=Uj9USULV1YhIjRQTGet+GBQYuuhLAkRgQq5aOXkZU55ZeXZOwYCvjYC0XTbkwI02vn
+ nMqNb637FbLBsLL+0OixEVNpFP/WYWrCLF5zLIEBTSZkXEK2J8hPyn24masq/KXBnUXK
+ 1WpXqTxgjbgl1eq/uxSXJMuc6aResWHy1sQuEaEYBEWdEyvPqtQts5z5Su639wYEgo9n
+ wE96FuZQY46tDJyTJqt+ZJrzDYNCNenLNiqWFwxe/zxWzBuM58iQ9ur+6Ym5ldZxRpj8
+ JJ2JlN+8/BPq8Wk9S0SAMAUumaOifHahGje65ULSbNA6Krngc4WuiBgliS4rekKjbPPq
+ Xcow==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references:mime-version:content-transfer-encoding;
+ bh=1/9ulr35We1VvK4OKOtO+SeDdjZAIuN626KlRGL51e8=;
+ b=NlA7PKzSo4EOEYlOtdfcH6TkSjbixH6f2CBb9+YjK0Qva2JOIWHVkd/xLF8DiM7+a5
+ WsI9c+6xtz/2NumAXPb3HJFRydr5L7HJjDvivJsN7nfSEG7DEhH69XXTIvEZenriDrMi
+ Y/e4D3KpvoqbzqXxLHj8aeWp4qLjT8qZkPhI2+wLfkiFn3RhC0Z7dPFHKp5axa/eBHDl
+ /P2wVZuhjA35KPAjAYlfuV8D1o3WnCOLw0ZUU3WlqU13p/3JBnZcqIzYgbspdp0VpGuF
+ FgeJtSaGyjIGdX5dS4zCvctLEovV3BWeFzMmx5oz2ugpokl4iACnNbBecKLEvWf5onEA
+ Iiow==
+X-Gm-Message-State: APjAAAW9K1sMiX2Ac7+xWeNX1IDTamXxZ1XKYfBb0FZh75fpIBHjo5qr
+ ZkS5JBqo+VG0fyrC0fmOg4c=
+X-Google-Smtp-Source:
+ APXvYqwdqfkaKNsVj/z20Fl00qUooa5Fc8g4w6gy6KhAC3QgiEMz+qOhI4aMxTYoHDNd7Lx/skz8fQ==
+X-Received: by 2002:a62:1883:: with SMTP id 125mr3012096pfy.166.1582704649041;
+ Wed, 26 Feb 2020 00:10:49 -0800 (PST)
+Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
+ [216.71.213.236])
+ by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.48
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Wed, 26 Feb 2020 00:10:48 -0800 (PST)
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
+ Andrzej Hajda <a.hajda@samsung.com>,
+ Neil Armstrong <narmstrong@baylibre.com>,
+ Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
+ Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
+ Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
+ Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
+ Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
+ Stephen Rothwell <sfr@canb.auug.org.au>,
+ Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
+ devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org
+Subject: [PATCH v2 6/6] arm64: allwinner: a64: enable LCD-related hardware for
+ Pinebook
+Date: Wed, 26 Feb 2020 00:10:11 -0800
+Message-Id: <20200226081011.1347245-7-anarsoul@gmail.com>
+X-Mailer: git-send-email 2.25.0
+In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
+References: <20200226081011.1347245-1-anarsoul@gmail.com>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200226_001050_010315_52B91C3C
+X-CRM114-Status: GOOD ( 14.29 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2607:f8b0:4864:20:0:0:0:441 listed in]
+ [list.dnswl.org]
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider [anarsoul[at]gmail.com]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+From: Icenowy Zheng <icenowy@aosc.io>
+
+Pinebook has an ANX6345 bridge connected to the RGB666 LCD output and
+eDP panel input. The bridge is controlled via I2C that's connected to
+R_I2C bus.
+
+Enable all this hardware in device tree.
+
+Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+---
+ .../dts/allwinner/sun50i-a64-pinebook.dts | 61 ++++++++++++++++++-
+ 1 file changed, 60 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index c06c540e6c08..0033f6a43d98 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -48,6 +48,18 @@ lid_switch {
+ };
+ };
+
++ panel_edp: panel-edp {
++ compatible = "neweast,wjfh116008a";
++ backlight = <&backlight>;
++ power-supply = <&reg_dc1sw>;
++
++ port {
++ panel_edp_in: endpoint {
++ remote-endpoint = <&anx6345_out_edp>;
++ };
++ };
++ };
++
+ reg_vbklt: vbklt {
+ compatible = "regulator-fixed";
+ regulator-name = "vbklt";
+@@ -109,6 +121,10 @@ &dai {
+ status = "okay";
+ };
+
++&de {
++ status = "okay";
++};
++
+ &ehci0 {
+ phys = <&usbphy 0>;
+ phy-names = "usb";
+@@ -119,6 +135,10 @@ &ehci1 {
+ status = "okay";
+ };
+
++&mixer0 {
++ status = "okay";
++};
++
+ &mmc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins>;
+@@ -177,12 +197,38 @@ &pwm {
+ status = "okay";
+ };
+
+-/* The ANX6345 eDP-bridge is on r_i2c */
+ &r_i2c {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_i2c_pl89_pins>;
+ status = "okay";
++
++ anx6345: anx6345@38 {
++ compatible = "analogix,anx6345";
++ reg = <0x38>;
++ reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
++ dvdd25-supply = <&reg_dldo2>;
++ dvdd12-supply = <&reg_fldo1>;
++
++ ports {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ anx6345_in: port@0 {
++ reg = <0>;
++ anx6345_in_tcon0: endpoint {
++ remote-endpoint = <&tcon0_out_anx6345>;
++ };
++ };
++
++ anx6345_out: port@1 {
++ reg = <1>;
++ anx6345_out_edp: endpoint {
++ remote-endpoint = <&panel_edp_in>;
++ };
++ };
++ };
++ };
+ };
+
+ &r_pio {
+@@ -357,6 +403,19 @@ &sound {
+ "MIC2", "Internal Microphone Right";
+ };
+
++&tcon0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&lcd_rgb666_pins>;
++
++ status = "okay";
++};
++
++&tcon0_out {
++ tcon0_out_anx6345: endpoint {
++ remote-endpoint = <&anx6345_in_tcon0>;
++ };
++};
++
+ &uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_pb_pins>;
diff --git a/Add-support-for-PinePhone-LCD-panel.patch b/Add-support-for-PinePhone-LCD-panel.patch
new file mode 100644
index 000000000..a8cfd239a
--- /dev/null
+++ b/Add-support-for-PinePhone-LCD-panel.patch
@@ -0,0 +1,1121 @@
+From patchwork Mon Mar 16 13:35:00 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
+X-Patchwork-Id: 11440381
+Return-Path:
+ <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 11A10913
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:37:33 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id D823220658
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:37:32 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="tONvF8xL";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=aosc.io header.i=@aosc.io header.b="OUlaYo/F"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D823220658
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=aosc.io
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=jopI4a0lnvKcPoWIQDtsU3+Ud4Almv/gYxD7C8b74AM=; b=tONvF8xLa0JOdp
+ lOlDz1mTuocTtleB1tz2mVLFhSSnvPuEVHfe/+tTd0RxGBi7RgesJwyproaLem7CQJC9XdeBHMAZi
+ GNHPDPwS11F/9Q5j0RGa9hqzmBn4auXeKB00LRPKKoNjIlbcXQzzU8tkGtvEHi7rHOS+k1TFWgSaM
+ UlnBfqD6z8rSAHHbAEPb9+dE9/gMuw6M8wi+4UwFZY8i8yxkjP00OfL3P1GUjX5Z8m3OTawi2jupS
+ yVUtKm/2fMPvyfC2x1YWUbTWiJoY1bznqv51lHwfOL60HJobKpisG/QRBWTmCdk3khQTjVBhrf7vG
+ syf/hIWeb2vFaaPjGf+g==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpvt-0007Bn-Dl; Mon, 16 Mar 2020 13:37:29 +0000
+Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpvq-0007Ax-Dr
+ for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:28 +0000
+X-Spam: yes
+X-Spam-Score: 6.6 / 99999
+X-Spam-Symbols: FROM_HAS_DN, RCPT_COUNT_TWELVE, FREEMAIL_TO, FROM_EQ_ENVFROM,
+ SUSPICIOUS_RECIPS, ARC_NA, RCVD_VIA_SMTP_AUTH, TAGGED_RCPT,
+ RCVD_COUNT_TWO, BROKEN_CONTENT_TYPE, TO_MATCH_ENVRCPT_SOME,
+ MIME_TRACE, ASN, TO_DN_SOME, FREEMAIL_ENVRCPT,
+ RCVD_NO_TLS_LAST, R_MISSING_CHARSET, MID_CONTAINS_FROM
+Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 040dde7f
+ (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
+ Mon, 16 Mar 2020 06:37:23 -0700 (PDT)
+Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
+ icenowy@aosc.io)
+ by hermes.aosc.io (Postfix) with ESMTPSA id 4124F4C196;
+ Mon, 16 Mar 2020 13:37:10 +0000 (UTC)
+From: Icenowy Zheng <icenowy@aosc.io>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
+ Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
+Subject: [PATCH v2 2/5] dt-bindings: panel: add binding for Xingbangda XBD599
+ panel
+Date: Mon, 16 Mar 2020 21:35:00 +0800
+Message-Id: <20200316133503.144650-3-icenowy@aosc.io>
+In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
+References: <20200316133503.144650-1-icenowy@aosc.io>
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
+ t=1584365841;
+ h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
+ bh=k5dZsJ/q6rrXyDSO2nmOTWqvPhDI4C+8rut25MFD+Sk=;
+ b=OUlaYo/FyQ18QC+9N7l4EKPc9OYtnaEJ6rHTTmw5vWDG6bE4z3Dc0JryPNmmzGXHubXOqg
+ vnAixztTiQggjBI+b2WQ1uKGq0JCKJczHDkbgeZsFMqH3T47xzNMNhu6qv5Xdi+haGzyNU
+ I+cG4IhCqhUW5fahJroACP3Tm5imnHs=
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200316_063726_515303_1C969948
+X-CRM114-Status: GOOD ( 12.18 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
+ [list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
+ linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI LCD panel.
+
+Add its device tree binding.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+---
+Changes in v2:
+- Example fix.
+- Format fix.
+
+ .../display/panel/xingbangda,xbd599.yaml | 50 +++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml
+
+diff --git a/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml b/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml
+new file mode 100644
+index 000000000000..b27bcf11198f
+--- /dev/null
++++ b/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml
+@@ -0,0 +1,50 @@
++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/display/panel/xingbangda,xbd599.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: Xingbangda XBD599 5.99in MIPI-DSI LCD panel
++
++maintainers:
++ - Icenowy Zheng <icenowy@aosc.io>
++
++allOf:
++ - $ref: panel-common.yaml#
++
++properties:
++ compatible:
++ const: xingbangda,xbd599
++ reg: true
++ backlight: true
++ reset-gpios: true
++ vcc-supply:
++ description: regulator that supplies the VCC voltage
++ iovcc-supply:
++ description: regulator that supplies the IOVCC voltage
++
++required:
++ - compatible
++ - reg
++ - backlight
++ - vcc-supply
++ - iovcc-supply
++
++additionalProperties: false
++
++examples:
++ - |
++ dsi {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ panel@0 {
++ compatible = "xingbangda,xbd599";
++ reg = <0>;
++ backlight = <&backlight>;
++ iovcc-supply = <&reg_dldo2>;
++ vcc-supply = <&reg_ldo_io0>;
++ };
++ };
++
++...
+
+From patchwork Mon Mar 16 13:35:01 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
+X-Patchwork-Id: 11440383
+Return-Path:
+ <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 04CA013B1
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:37:50 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id D4F1120658
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:37:49 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="Jauls22L";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=aosc.io header.i=@aosc.io header.b="OnKcz19D"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D4F1120658
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=aosc.io
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=TxGU4PiXBW274B0/qrcSGwYW6OdGxEdBGH504PoyIqM=; b=Jauls22LYE5NsX
+ fIslO/JUfhiN/XQQPdC2Q86jHiYF+bbm4r85Xyq09Ea+0sSxxchTeTfcHA7HMyk4GRem3FQJXH2yK
+ Rzs6OLQ/fL1rBVeMyXfJbyfR5Pq5ODc+lAI83DF0iPoCSFpcv40jQxkZnIkcrVvsbpilK1ord7fQ0
+ 1hf6hPDvswsxcgSbirrbJMfnYSIEzsUT5rrFvv9ws9J8ukRYOqsS9lXTdrXk03uLskptzBYp5sYVw
+ Jb34Fq+gtFhgoUE8jONVa6Puexcl2grtch82d6/Lwcy3v7KtztAQyeFw88UVUF+rNx/Q67yiLMNiF
+ OPLOwCemY5TZ4eYEkWgA==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpwA-0007PW-5b; Mon, 16 Mar 2020 13:37:46 +0000
+Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpw4-0007Ng-T4
+ for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:42 +0000
+X-Spam: yes
+X-Spam-Score: 6.6 / 99999
+X-Spam-Symbols: MID_CONTAINS_FROM, FREEMAIL_TO, RCVD_COUNT_TWO,
+ FROM_EQ_ENVFROM, ASN, SUSPICIOUS_RECIPS, RCVD_VIA_SMTP_AUTH,
+ TO_DN_SOME, FREEMAIL_ENVRCPT, TAGGED_RCPT, RCVD_NO_TLS_LAST,
+ ARC_NA, R_MISSING_CHARSET, BROKEN_CONTENT_TYPE,
+ RCPT_COUNT_TWELVE, FROM_HAS_DN, TO_MATCH_ENVRCPT_SOME,
+ MIME_TRACE
+Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 2c12d690
+ (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
+ Mon, 16 Mar 2020 06:37:40 -0700 (PDT)
+Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
+ icenowy@aosc.io)
+ by hermes.aosc.io (Postfix) with ESMTPSA id E8D484C196;
+ Mon, 16 Mar 2020 13:37:25 +0000 (UTC)
+From: Icenowy Zheng <icenowy@aosc.io>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
+ Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
+Subject: [PATCH v2 3/5] drm: panel: add Xingbangda XBD599 panel
+Date: Mon, 16 Mar 2020 21:35:01 +0800
+Message-Id: <20200316133503.144650-4-icenowy@aosc.io>
+In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
+References: <20200316133503.144650-1-icenowy@aosc.io>
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
+ t=1584365858;
+ h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
+ bh=r0lAtSWiBn8DOOqWzP8ERo3YcHe6/FA1xbvH5pEdRgw=;
+ b=OnKcz19DT6MgLt+rgH0qVaATJ7fQDnAVAXaZvZQM3agXAI3XDxnHoi+2DeVncogjT1bp0P
+ ljZ0XWs8BoeGtQ0sIdrAMvsBTCbnxBJHQqa3OWxS5inT7+90pxlCDVLERhwqIefwzeZDVJ
+ liP/v36WTzYINROF0nSPe1azOWltJ/g=
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200316_063740_985291_78D98883
+X-CRM114-Status: GOOD ( 20.73 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
+ [list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
+ linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI IPS LCD panel made by
+Xingbangda, which is used on PinePhone final assembled phones.
+
+Add support for it.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+---
+Changes in v2:
+- Raised copyright info to 2020.
+- Sort panel operation functions.
+- Sort inclusion.
+
+ drivers/gpu/drm/panel/Kconfig | 9 +
+ drivers/gpu/drm/panel/Makefile | 1 +
+ .../gpu/drm/panel/panel-xingbangda-xbd599.c | 366 ++++++++++++++++++
+ 3 files changed, 376 insertions(+)
+ create mode 100644 drivers/gpu/drm/panel/panel-xingbangda-xbd599.c
+
+diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
+index a1723c1b5fbf..cf0c59015a44 100644
+--- a/drivers/gpu/drm/panel/Kconfig
++++ b/drivers/gpu/drm/panel/Kconfig
+@@ -433,6 +433,15 @@ config DRM_PANEL_TRULY_NT35597_WQXGA
+ Say Y here if you want to enable support for Truly NT35597 WQXGA Dual DSI
+ Video Mode panel
+
++config DRM_PANEL_XINGBANGDA_XBD599
++ tristate "Xingbangda XBD599 panel"
++ depends on OF
++ depends on DRM_MIPI_DSI
++ depends on BACKLIGHT_CLASS_DEVICE
++ help
++ Say Y here if you want to enable support for the Xingbangda XBD599
++ MIPI DSI Video Mode panel.
++
+ config DRM_PANEL_XINPENG_XPP055C272
+ tristate "Xinpeng XPP055C272 panel driver"
+ depends on OF
+diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
+index 96a883cd6630..c84ed5215984 100644
+--- a/drivers/gpu/drm/panel/Makefile
++++ b/drivers/gpu/drm/panel/Makefile
+@@ -46,4 +46,5 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o
+ obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
+ obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o
+ obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o
++obj-$(CONFIG_DRM_PANEL_XINGBANGDA_XBD599) += panel-xingbangda-xbd599.o
+ obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o
+diff --git a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c
+new file mode 100644
+index 000000000000..8d56b6579111
+--- /dev/null
++++ b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c
+@@ -0,0 +1,366 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * Xingbangda XBD599 MIPI-DSI panel driver
++ *
++ * Copyright (C) 2019-2020 Icenowy Zheng <icenowy@aosc.io>
++ *
++ * Based on panel-rocktech-jh057n00900.c, which is:
++ * Copyright (C) Purism SPC 2019
++ */
++
++#include <linux/delay.h>
++#include <linux/gpio/consumer.h>
++#include <linux/mod_devicetable.h>
++#include <linux/module.h>
++#include <linux/of_device.h>
++#include <linux/regulator/consumer.h>
++
++#include <drm/drm_mipi_dsi.h>
++#include <drm/drm_modes.h>
++#include <drm/drm_panel.h>
++#include <drm/drm_print.h>
++
++/* Manufacturer specific Commands send via DSI */
++#define ST7703_CMD_ALL_PIXEL_OFF 0x22
++#define ST7703_CMD_ALL_PIXEL_ON 0x23
++#define ST7703_CMD_SETDISP 0xB2
++#define ST7703_CMD_SETRGBIF 0xB3
++#define ST7703_CMD_SETCYC 0xB4
++#define ST7703_CMD_SETBGP 0xB5
++#define ST7703_CMD_SETVCOM 0xB6
++#define ST7703_CMD_SETOTP 0xB7
++#define ST7703_CMD_SETPOWER_EXT 0xB8
++#define ST7703_CMD_SETEXTC 0xB9
++#define ST7703_CMD_SETMIPI 0xBA
++#define ST7703_CMD_SETVDC 0xBC
++#define ST7703_CMD_SETSCR 0xC0
++#define ST7703_CMD_SETPOWER 0xC1
++#define ST7703_CMD_UNK_C6 0xC6
++#define ST7703_CMD_SETPANEL 0xCC
++#define ST7703_CMD_SETGAMMA 0xE0
++#define ST7703_CMD_SETEQ 0xE3
++#define ST7703_CMD_SETGIP1 0xE9
++#define ST7703_CMD_SETGIP2 0xEA
++
++static const char * const regulator_names[] = {
++ "iovcc",
++ "vcc",
++};
++
++struct xbd599 {
++ struct device *dev;
++ struct drm_panel panel;
++ struct gpio_desc *reset_gpio;
++ struct regulator_bulk_data supplies[ARRAY_SIZE(regulator_names)];
++ bool prepared;
++};
++
++static inline struct xbd599 *panel_to_xbd599(struct drm_panel *panel)
++{
++ return container_of(panel, struct xbd599, panel);
++}
++
++#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \
++ static const u8 d[] = { seq }; \
++ int ret; \
++ ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \
++ if (ret < 0) \
++ return ret; \
++ } while (0)
++
++static int xbd599_init_sequence(struct xbd599 *ctx)
++{
++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
++ struct device *dev = ctx->dev;
++ int ret;
++
++ /*
++ * Init sequence was supplied by the panel vendor.
++ */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC,
++ 0xF1, 0x12, 0x83);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI,
++ 0x33, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25,
++ 0x00, 0x91, 0x0a, 0x00, 0x00, 0x02, 0x4F, 0x11,
++ 0x00, 0x00, 0x37);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT,
++ 0x25, 0x22, 0x20, 0x03);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF,
++ 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00,
++ 0x00, 0x00);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR,
++ 0x73, 0x73, 0x50, 0x50, 0x00, 0xC0, 0x08, 0x70,
++ 0x00);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0xF0);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ,
++ 0x00, 0x00, 0x0B, 0x0B, 0x10, 0x10, 0x00, 0x00,
++ 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10);
++ dsi_dcs_write_seq(dsi, 0xC6, 0x01, 0x00, 0xFF, 0xFF, 0x00);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER,
++ 0x74, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xFF, 0xFF,
++ 0xCC, 0xCC, 0x77, 0x77);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x07, 0x07);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x2C, 0x2C);
++ dsi_dcs_write_seq(dsi, 0xBF, 0x02, 0x11, 0x00);
++
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1,
++ 0x82, 0x10, 0x06, 0x05, 0xA2, 0x0A, 0xA5, 0x12,
++ 0x31, 0x23, 0x37, 0x83, 0x04, 0xBC, 0x27, 0x38,
++ 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00,
++ 0x03, 0x00, 0x00, 0x00, 0x75, 0x75, 0x31, 0x88,
++ 0x88, 0x88, 0x88, 0x88, 0x88, 0x13, 0x88, 0x64,
++ 0x64, 0x20, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
++ 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2,
++ 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x02, 0x88,
++ 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x88, 0x13,
++ 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
++ 0x75, 0x88, 0x23, 0x14, 0x00, 0x00, 0x02, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0A,
++ 0xA5, 0x00, 0x00, 0x00, 0x00);
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA,
++ 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, 0x35,
++ 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, 0x12,
++ 0x18, 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41,
++ 0x35, 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12,
++ 0x12, 0x18);
++ msleep(20);
++
++ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
++ if (ret < 0) {
++ DRM_DEV_ERROR(dev, "Failed to exit sleep mode\n");
++ return ret;
++ }
++ msleep(250);
++
++ ret = mipi_dsi_dcs_set_display_on(dsi);
++ if (ret)
++ return ret;
++ msleep(50);
++
++ DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n");
++ return 0;
++}
++
++static int xbd599_prepare(struct drm_panel *panel)
++{
++ struct xbd599 *ctx = panel_to_xbd599(panel);
++ int ret;
++
++ if (ctx->prepared)
++ return 0;
++
++ ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
++ if (ret)
++ return ret;
++
++ DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n");
++ gpiod_set_value_cansleep(ctx->reset_gpio, 1);
++ usleep_range(20, 40);
++ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
++ msleep(20);
++
++ ctx->prepared = true;
++
++ return 0;
++}
++
++static int xbd599_enable(struct drm_panel *panel)
++{
++ struct xbd599 *ctx = panel_to_xbd599(panel);
++ int ret;
++
++ ret = xbd599_init_sequence(ctx);
++ if (ret < 0) {
++ DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n",
++ ret);
++ return ret;
++ }
++
++ return 0;
++}
++
++static int xbd599_disable(struct drm_panel *panel)
++{
++ struct xbd599 *ctx = panel_to_xbd599(panel);
++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
++
++ return mipi_dsi_dcs_set_display_off(dsi);
++}
++
++static int xbd599_unprepare(struct drm_panel *panel)
++{
++ struct xbd599 *ctx = panel_to_xbd599(panel);
++
++ if (!ctx->prepared)
++ return 0;
++
++ gpiod_set_value_cansleep(ctx->reset_gpio, 1);
++ regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies);
++ ctx->prepared = false;
++
++ return 0;
++}
++
++static const struct drm_display_mode xbd599_default_mode = {
++ .hdisplay = 720,
++ .hsync_start = 720 + 40,
++ .hsync_end = 720 + 40 + 40,
++ .htotal = 720 + 40 + 40 + 40,
++ .vdisplay = 1440,
++ .vsync_start = 1440 + 18,
++ .vsync_end = 1440 + 18 + 10,
++ .vtotal = 1440 + 18 + 10 + 17,
++ .vrefresh = 60,
++ .clock = 69000,
++ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
++
++ .width_mm = 68,
++ .height_mm = 136,
++ .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
++};
++
++static int xbd599_get_modes(struct drm_panel *panel,
++ struct drm_connector *connector)
++{
++ struct xbd599 *ctx = panel_to_xbd599(panel);
++ struct drm_display_mode *mode;
++
++ mode = drm_mode_duplicate(connector->dev, &xbd599_default_mode);
++ if (!mode) {
++ DRM_DEV_ERROR(ctx->dev, "Failed to add mode\n");
++ return -ENOMEM;
++ }
++
++ drm_mode_set_name(mode);
++
++ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
++ connector->display_info.width_mm = mode->width_mm;
++ connector->display_info.height_mm = mode->height_mm;
++ drm_mode_probed_add(connector, mode);
++
++ return 1;
++}
++
++static const struct drm_panel_funcs xbd599_drm_funcs = {
++ .prepare = xbd599_prepare,
++ .enable = xbd599_enable,
++ .disable = xbd599_disable,
++ .unprepare = xbd599_unprepare,
++ .get_modes = xbd599_get_modes,
++};
++
++static int xbd599_probe(struct mipi_dsi_device *dsi)
++{
++ struct device *dev = &dsi->dev;
++ struct xbd599 *ctx;
++ int i, ret;
++
++ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
++ if (!ctx)
++ return -ENOMEM;
++
++ for (i = 0; i < ARRAY_SIZE(ctx->supplies); i++)
++ ctx->supplies[i].supply = regulator_names[i];
++
++ ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies),
++ ctx->supplies);
++ if (ret < 0) {
++ DRM_DEV_ERROR(&dsi->dev, "cannot get regulators\n");
++ return ret;
++ }
++
++ ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
++ if (IS_ERR(ctx->reset_gpio)) {
++ DRM_DEV_ERROR(dev, "cannot get reset gpio\n");
++ return PTR_ERR(ctx->reset_gpio);
++ }
++
++ mipi_dsi_set_drvdata(dsi, ctx);
++
++ ctx->dev = dev;
++
++ dsi->lanes = 4;
++ dsi->format = MIPI_DSI_FMT_RGB888;
++ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE;
++
++ drm_panel_init(&ctx->panel, &dsi->dev, &xbd599_drm_funcs,
++ DRM_MODE_CONNECTOR_DSI);
++
++ ret = drm_panel_of_backlight(&ctx->panel);
++ if (ret)
++ return ret;
++
++ drm_panel_add(&ctx->panel);
++
++ ret = mipi_dsi_attach(dsi);
++ if (ret < 0) {
++ DRM_DEV_ERROR(dev, "mipi_dsi_attach failed. Is host ready?\n");
++ drm_panel_remove(&ctx->panel);
++ return ret;
++ }
++
++ DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n",
++ xbd599_default_mode.hdisplay,
++ xbd599_default_mode.vdisplay,
++ xbd599_default_mode.vrefresh,
++ mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes);
++
++ return 0;
++}
++
++static void xbd599_shutdown(struct mipi_dsi_device *dsi)
++{
++ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi);
++ int ret;
++
++ ret = drm_panel_unprepare(&ctx->panel);
++ if (ret < 0)
++ DRM_DEV_ERROR(&dsi->dev, "Failed to unprepare panel: %d\n",
++ ret);
++}
++
++static int xbd599_remove(struct mipi_dsi_device *dsi)
++{
++ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi);
++ int ret;
++
++ xbd599_shutdown(dsi);
++
++ ret = mipi_dsi_detach(dsi);
++ if (ret < 0)
++ DRM_DEV_ERROR(&dsi->dev, "Failed to detach from DSI host: %d\n",
++ ret);
++
++ drm_panel_remove(&ctx->panel);
++
++ return 0;
++}
++
++static const struct of_device_id xbd599_of_match[] = {
++ { .compatible = "xingbangda,xbd599", },
++ { /* sentinel */ }
++};
++MODULE_DEVICE_TABLE(of, xbd599_of_match);
++
++static struct mipi_dsi_driver xbd599_driver = {
++ .probe = xbd599_probe,
++ .remove = xbd599_remove,
++ .shutdown = xbd599_shutdown,
++ .driver = {
++ .name = "panel-xingbangda-xbd599",
++ .of_match_table = xbd599_of_match,
++ },
++};
++module_mipi_dsi_driver(xbd599_driver);
++
++MODULE_AUTHOR("Icenowy Zheng <icenowy@aosc.io>");
++MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel");
++MODULE_LICENSE("GPL v2");
+
+From patchwork Mon Mar 16 13:35:02 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
+X-Patchwork-Id: 11440385
+Return-Path:
+ <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3551613B1
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:38:04 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 12F1120658
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:38:04 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="FXIsTC05";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=aosc.io header.i=@aosc.io header.b="quP9cKqY"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 12F1120658
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=aosc.io
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=Ok8n9BLE8SnVMofHytH8sKJgOZAdRVkUgENm5rZmFlM=; b=FXIsTC05LwmLW8
+ JIUJYcuGPwnerCktLqhIRVMIoUACV+PBjwCaXLEWUaLpYsx/fkH/6JQM4BBzg1AyfDq3atRF/nnBb
+ XD4OWFZC8nCVDiR7dqlEAxyOti5i1hsKYi1uKkOlwNdMx50Vklm+IEr5nd2rtKoWSFgNvr0LIQmYR
+ jk2fY+4TpwdEjCfSfCDoDlZsCssNnoQsaN2VRgkV0bKKSaQ+OTufaRoG4E3Ktjp2f0+IE0+saR8OT
+ ah8mB5WNxc5/MFTGoh8hq8aF2GlOfdhjRuNORBTjH7FRmGVFIsFY1dfMmTBQOnsDrxzz2guZVksZN
+ nf60u+PrkKp4zaAGdb8A==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpwP-0007eD-4F; Mon, 16 Mar 2020 13:38:01 +0000
+Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpwL-0007bo-FZ
+ for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:58 +0000
+X-Spam: yes
+X-Spam-Score: 6.6 / 99999
+X-Spam-Symbols: TO_DN_SOME, FREEMAIL_ENVRCPT, TO_MATCH_ENVRCPT_SOME,
+ MID_CONTAINS_FROM, RCVD_NO_TLS_LAST, RCVD_COUNT_TWO,
+ SUSPICIOUS_RECIPS, FROM_EQ_ENVFROM, ASN, R_MISSING_CHARSET,
+ TAGGED_RCPT, RCPT_COUNT_TWELVE, FREEMAIL_TO, ARC_NA,
+ RCVD_VIA_SMTP_AUTH, FROM_HAS_DN, BROKEN_CONTENT_TYPE,
+ MIME_TRACE
+Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id d83d4fb8
+ (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
+ Mon, 16 Mar 2020 06:37:56 -0700 (PDT)
+Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
+ icenowy@aosc.io)
+ by hermes.aosc.io (Postfix) with ESMTPSA id 904224CA5E;
+ Mon, 16 Mar 2020 13:37:47 +0000 (UTC)
+From: Icenowy Zheng <icenowy@aosc.io>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
+ Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
+Subject: [PATCH v2 4/5] drm/sun4i: sun6i_mipi_dsi: fix horizontal timing
+ calculation
+Date: Mon, 16 Mar 2020 21:35:02 +0800
+Message-Id: <20200316133503.144650-5-icenowy@aosc.io>
+In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
+References: <20200316133503.144650-1-icenowy@aosc.io>
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
+ t=1584365875;
+ h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
+ bh=I9YOqCvznKIa+lsR+6QqRxbL27UJzO8C40dZ4CFdKfA=;
+ b=quP9cKqYYDD232RMGPzPh7YZaHSfncJHKNCNVORZvb7EzFJyswyLBv7GzoCIM/6KvGiH5Z
+ xbpDQs4fRsR5P/Cp7hTcnx+MoFGO3XV0SD6R82gTqKwejhi4j3ozUQiiIMTMC0P2NzAMb0
+ tDkRk8CMwU/bfv3YHZlXvgGaYrZkMd8=
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200316_063757_563065_ED0BFB74
+X-CRM114-Status: GOOD ( 13.77 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
+ [list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
+ linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+The max() function call in horizontal timing calculation shouldn't pad a
+length already subtracted with overhead to overhead, instead it should
+only prevent the set timing to underflow.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+---
+No changes in v2.
+
+ drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
+index 059939789730..5f2313c40328 100644
+--- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
++++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
+@@ -555,7 +555,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
+ */
+ #define HSA_PACKET_OVERHEAD 10
+ hsa = max((unsigned int)HSA_PACKET_OVERHEAD,
+- (mode->hsync_end - mode->hsync_start) * Bpp - HSA_PACKET_OVERHEAD);
++ (mode->hsync_end - mode->hsync_start) * Bpp) - HSA_PACKET_OVERHEAD;
+
+ /*
+ * The backporch is set using a blanking packet (4
+@@ -564,7 +564,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
+ */
+ #define HBP_PACKET_OVERHEAD 6
+ hbp = max((unsigned int)HBP_PACKET_OVERHEAD,
+- (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD);
++ (mode->htotal - mode->hsync_end) * Bpp) - HBP_PACKET_OVERHEAD;
+
+ /*
+ * The frontporch is set using a sync event (4 bytes)
+@@ -574,7 +574,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
+ */
+ #define HFP_PACKET_OVERHEAD 16
+ hfp = max((unsigned int)HFP_PACKET_OVERHEAD,
+- (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD);
++ (mode->hsync_start - mode->hdisplay) * Bpp) - HFP_PACKET_OVERHEAD;
+
+ /*
+ * The blanking is set using a sync event (4 bytes)
+@@ -583,8 +583,8 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
+ */
+ #define HBLK_PACKET_OVERHEAD 10
+ hblk = max((unsigned int)HBLK_PACKET_OVERHEAD,
+- (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp -
+- HBLK_PACKET_OVERHEAD);
++ (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp) -
++ HBLK_PACKET_OVERHEAD;
+
+ /*
+ * And I'm not entirely sure what vblk is about. The driver in
+
+From patchwork Mon Mar 16 13:35:03 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
+X-Patchwork-Id: 11440387
+Return-Path:
+ <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7CB09913
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:38:25 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 5A3CF20663
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Mar 2020 13:38:25 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="Dprxe0zU";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=aosc.io header.i=@aosc.io header.b="gvv4Mt/p"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A3CF20663
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=aosc.io
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=rXiGf8B3g87rqGluDPPXHBPgLye0619C2/zq9YpC9mk=; b=Dprxe0zU40XkWN
+ m+hX9Icm5bhrdxLR5kmA+FetKifUp/T2toYOeoCfxA03wi/xuH83eTC/NNNeq2exi4vAQPAiKe4kJ
+ VnYn8drWuau9JdHE7b/KFeIhkULj3sy4MxJnnpxYCj63wXO+BDHm00cs1r8PoIzBtkP4DksqayKx7
+ wGb6miY8D9JjeHzt6zhSeG5JXUzPatdZnw/q8zhpgoOk8Y1QDjKgVEgypDPBDp95TtiEO5wv/uPhf
+ mIFdAYoKy01EX0IF5/r/kyAEQTh95K7IXUz6SJM00+3rHPB7Ut7n48eG0C2qJhljJEsSEWJ1DxbjM
+ X629GHE95cSsRkq5gd9A==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpwj-0007wT-EM; Mon, 16 Mar 2020 13:38:21 +0000
+Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jDpwZ-0007oi-Fv
+ for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:38:13 +0000
+X-Spam: yes
+X-Spam-Score: 6.6 / 99999
+X-Spam-Symbols: FREEMAIL_ENVRCPT, TO_MATCH_ENVRCPT_SOME, FROM_EQ_ENVFROM,
+ RCVD_VIA_SMTP_AUTH, FREEMAIL_TO, RCVD_COUNT_TWO, ARC_NA,
+ FROM_HAS_DN, TO_DN_SOME, RCPT_COUNT_TWELVE, RCVD_NO_TLS_LAST,
+ MIME_TRACE, R_MISSING_CHARSET, TAGGED_RCPT,
+ BROKEN_CONTENT_TYPE, MID_CONTAINS_FROM, ASN, SUSPICIOUS_RECIPS
+Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 3f67ee70
+ (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
+ Mon, 16 Mar 2020 06:38:10 -0700 (PDT)
+Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
+ icenowy@aosc.io)
+ by hermes.aosc.io (Postfix) with ESMTPSA id 718DE4CA5E;
+ Mon, 16 Mar 2020 13:38:00 +0000 (UTC)
+From: Icenowy Zheng <icenowy@aosc.io>
+To: Thierry Reding <thierry.reding@gmail.com>,
+ Sam Ravnborg <sam@ravnborg.org>,
+ Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
+ Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
+Subject: [PATCH v2 5/5] arm64: allwinner: dts: a64: add LCD-related device
+ nodes for PinePhone
+Date: Mon, 16 Mar 2020 21:35:03 +0800
+Message-Id: <20200316133503.144650-6-icenowy@aosc.io>
+In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
+References: <20200316133503.144650-1-icenowy@aosc.io>
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
+ t=1584365889;
+ h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
+ bh=vdJB1xaYREfjx8A1fc+UP5D7fCK/5ZczA3DRbH+hq08=;
+ b=gvv4Mt/ppP1U5dpUHA5n8qTEzN2afgaBkT+M0HHnD2QpiRBO0b4PVtnd5WiFOkLgnHm3Cm
+ uS+WljMpibhdzup+UJWKXGt9n3IFyflFgVAqemHSAFN5h+VJ1vskMjGMiiu1teCs1nUAhP
+ zGvHhAcI1EY4J2t587DsvuxH/d6lNFs=
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200316_063811_575168_FBAB174A
+X-CRM114-Status: GOOD ( 11.16 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
+ [list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
+ dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
+ linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for
+display.
+
+Add its device nodes.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+---
+No changes in v2.
+
+ .../dts/allwinner/sun50i-a64-pinephone.dtsi | 37 +++++++++++++++++++
+ 1 file changed, 37 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+index cefda145c3c9..96d9150423e0 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+@@ -16,6 +16,15 @@ aliases {
+ serial0 = &uart0;
+ };
+
++ backlight: backlight {
++ compatible = "pwm-backlight";
++ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>;
++ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>;
++ default-brightness-level = <15>;
++ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
++ power-supply = <&reg_ldo_io0>;
++ };
++
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+@@ -84,6 +93,30 @@ &dai {
+ status = "okay";
+ };
+
++&de {
++ status = "okay";
++};
++
++&dphy {
++ status = "okay";
++};
++
++&dsi {
++ vcc-dsi-supply = <&reg_dldo1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ panel@0 {
++ compatible = "xingbangda,xbd599";
++ reg = <0>;
++ reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */
++ iovcc-supply = <&reg_dldo2>;
++ vcc-supply = <&reg_ldo_io0>;
++ backlight = <&backlight>;
++ };
++};
++
+ &ehci0 {
+ status = "okay";
+ };
+@@ -188,6 +221,10 @@ &r_pio {
+ */
+ };
+
++&r_pwm {
++ status = "okay";
++};
++
+ &r_rsb {
+ status = "okay";
+
diff --git a/Add-support-for-the-pine64-Pinebook-Pro.patch b/Add-support-for-the-pine64-Pinebook-Pro.patch
new file mode 100644
index 000000000..d35ee323b
--- /dev/null
+++ b/Add-support-for-the-pine64-Pinebook-Pro.patch
@@ -0,0 +1,1360 @@
+From patchwork Wed Mar 4 21:30:22 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Tobias Schramm <t.schramm@manjaro.org>
+X-Patchwork-Id: 11420805
+Return-Path:
+ <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 82C16139A
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 4 Mar 2020 21:31:11 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 6132920828
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 4 Mar 2020 21:31:11 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="HKFX/pPT"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6132920828
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=manjaro.org
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
+ :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
+ Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
+ List-Owner; bh=w5RNMezlBKSJB0tCSEk4sJPOWhOWYWdtbkVGYQNDXFI=; b=HKFX/pPTL0fcDF
+ R9qC74ZcvmWsNe9+XRGoe/CFa6E5wpufnBwGVBlWAMf6TP3NxrI2eK9XCD6TAmQW18/85HychEgId
+ qGCU/seUa+UV6WOVWgQ5g3Ea+6kBaMM4cYYgsYaK3h3VlUQQtM3SvPArRNF1VYcj1uZiwX1ek7PO6
+ B8Btks26iWloBhYYW62B5FA9wYcw0+Bcg2DE9NyPZ1i63GA6P8esgYpDnGLkmWehpZDYy8tJK00rE
+ ABbvK0xNgIIKCbbomExLAdMHg8PO14V/BNR1Bf9QBVZpnxt8xfr7GG33Znp7N1Nf19YJecmdUw5e2
+ FnFUvjvPmLh4pIdxyp6Q==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j9bbh-0003te-QG; Wed, 04 Mar 2020 21:31:09 +0000
+Received: from mail.manjaro.org ([176.9.38.148])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j9bbe-0003tI-SU; Wed, 04 Mar 2020 21:31:08 +0000
+Received: from localhost (localhost [127.0.0.1])
+ by mail.manjaro.org (Postfix) with ESMTP id 9C0823701125;
+ Wed, 4 Mar 2020 22:31:05 +0100 (CET)
+X-Virus-Scanned: Debian amavisd-new at manjaro.org
+Received: from mail.manjaro.org ([127.0.0.1])
+ by localhost (manjaro.org [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id fkagLefmcj9V; Wed, 4 Mar 2020 22:31:03 +0100 (CET)
+From: Tobias Schramm <t.schramm@manjaro.org>
+To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Heiko Stuebner <heiko@sntech.de>, Andy Yan <andy.yan@rock-chips.com>,
+ Johan Jonker <jbx6244@gmail.com>
+Subject: [PATCH v4 1/2] dt-bindings: Add doc for Pine64 Pinebook Pro
+Date: Wed, 4 Mar 2020 22:30:22 +0100
+Message-Id: <20200304213023.689983-2-t.schramm@manjaro.org>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200304_133107_065063_D9B62F20
+X-CRM114-Status: UNSURE ( 6.54 )
+X-CRM114-Notice: Please train this message.
+X-Spam-Score: 0.0 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (0.0 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [176.9.38.148 listed in list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
+ Emmanuel Vadot <manu@freebsd.org>, Alexis Ballier <aballier@gentoo.org>,
+ Tobias Schramm <t.schramm@manjaro.org>, Rob Herring <robh@kernel.org>,
+ Katsuhiro Suzuki <katsuhiro@katsuster.net>, linux-kernel@vger.kernel.org,
+ Douglas Anderson <dianders@chromium.org>,
+ Kever Yang <kever.yang@rock-chips.com>,
+ Markus Reichl <m.reichl@fivetechno.de>,
+ linux-rockchip@lists.infradead.org, Matthias Kaehlcke <mka@chromium.org>,
+ Jagan Teki <jagan@amarulasolutions.com>, Nick Xie <nick@khadas.com>,
+ Vivek Unune <npcomplete13@gmail.com>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+From: Emmanuel Vadot <manu@freebsd.org>
+
+Add a compatible for Pine64 Pinebook Pro
+
+Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
+Reviewed-by: Rob Herring <robh@kernel.org>
+---
+ Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
+index 874b0eaa2a75..17f0ab0b8832 100644
+--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
++++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
+@@ -415,6 +415,11 @@ properties:
+ - const: pine64,rockpro64
+ - const: rockchip,rk3399
+
++ - description: Pine64 PinebookPro
++ items:
++ - const: pine64,pinebook-pro
++ - const: rockchip,rk3399
++
+ - description: Radxa Rock
+ items:
+ - const: radxa,rock
+
+From patchwork Wed Mar 4 21:30:23 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Tobias Schramm <t.schramm@manjaro.org>
+X-Patchwork-Id: 11420809
+Return-Path:
+ <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F1D201395
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 4 Mar 2020 21:31:26 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id C71432084E
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Wed, 4 Mar 2020 21:31:26 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="aaCRZACh"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C71432084E
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=manjaro.org
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=T4TZmXOPB1yBA/Cy6SktfxnDKyf4qoHPOaLfabPHwCI=; b=aaCRZAChIzBlJw
+ Ccci1IXygLymnzWTblUo/AuYY6tojwziDu90m20Ec1bJbXl27yBAYEeR3CEj4ELNSOiGKzqSpqE+k
+ rb7uRA7jjVfvj/gJJ2IFxGtd1CKBI6e0S+1qyN/l8ET6UykVavViDDtrsFHt7iD3X2+Bgbs9R8VLi
+ hB6gZwnuOsWb8JqpNLfrOPiCrkqTega/z2olbgct2T/Mb/85eH/l+SvyINCfyQCQyuOk9d2blYcA9
+ 1i4TJi3MpRw7Pa68BnGPO7zK/ttk4SRxKYPi3On226GN5bGg9jNgSEpALbI+CK0wrYS0mIxGg0q7k
+ Gy09LxFJP7I1IxV6BR2w==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j9bbv-00047c-LS; Wed, 04 Mar 2020 21:31:23 +0000
+Received: from mail.manjaro.org ([176.9.38.148])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j9bbk-0003vp-EA; Wed, 04 Mar 2020 21:31:15 +0000
+Received: from localhost (localhost [127.0.0.1])
+ by mail.manjaro.org (Postfix) with ESMTP id 26030370112C;
+ Wed, 4 Mar 2020 22:31:11 +0100 (CET)
+X-Virus-Scanned: Debian amavisd-new at manjaro.org
+Received: from mail.manjaro.org ([127.0.0.1])
+ by localhost (manjaro.org [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id OKG7wH7ZOt7o; Wed, 4 Mar 2020 22:31:07 +0100 (CET)
+From: Tobias Schramm <t.schramm@manjaro.org>
+To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Heiko Stuebner <heiko@sntech.de>, Andy Yan <andy.yan@rock-chips.com>,
+ Johan Jonker <jbx6244@gmail.com>
+Subject: [PATCH v4 2/2] arm64: dts: rockchip: Add initial support for Pinebook
+ Pro
+Date: Wed, 4 Mar 2020 22:30:23 +0100
+Message-Id: <20200304213023.689983-3-t.schramm@manjaro.org>
+In-Reply-To: <20200304213023.689983-2-t.schramm@manjaro.org>
+References: <20200304213023.689983-2-t.schramm@manjaro.org>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200304_133112_802914_89F85872
+X-CRM114-Status: GOOD ( 13.85 )
+X-Spam-Score: 0.0 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (0.0 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [176.9.38.148 listed in list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
+ Emmanuel Vadot <manu@freebsd.org>, Alexis Ballier <aballier@gentoo.org>,
+ Tobias Schramm <t.schramm@manjaro.org>,
+ Katsuhiro Suzuki <katsuhiro@katsuster.net>, linux-kernel@vger.kernel.org,
+ Douglas Anderson <dianders@chromium.org>,
+ Kever Yang <kever.yang@rock-chips.com>,
+ Markus Reichl <m.reichl@fivetechno.de>,
+ linux-rockchip@lists.infradead.org, Matthias Kaehlcke <mka@chromium.org>,
+ Jagan Teki <jagan@amarulasolutions.com>, Nick Xie <nick@khadas.com>,
+ Vivek Unune <npcomplete13@gmail.com>
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+This commit adds initial dt support for the rk3399 based Pinebook Pro.
+
+Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
+---
+ arch/arm64/boot/dts/rockchip/Makefile | 1 +
+ .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 1096 +++++++++++++++++
+ 2 files changed, 1097 insertions(+)
+ create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+
+diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
+index 60d9437096c7..ae7621309e92 100644
+--- a/arch/arm64/boot/dts/rockchip/Makefile
++++ b/arch/arm64/boot/dts/rockchip/Makefile
+@@ -28,6 +28,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
+diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+new file mode 100644
+index 000000000000..8f77ee4f256c
+--- /dev/null
++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+@@ -0,0 +1,1098 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++/*
++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
++ * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
++ * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org>
++ */
++
++/dts-v1/;
++#include <dt-bindings/input/gpio-keys.h>
++#include <dt-bindings/input/linux-event-codes.h>
++#include <dt-bindings/pwm/pwm.h>
++#include <dt-bindings/usb/pd.h>
++#include <dt-bindings/leds/common.h>
++#include "rk3399.dtsi"
++#include "rk3399-opp.dtsi"
++
++/ {
++ model = "Pine64 Pinebook Pro";
++ compatible = "pine64,pinebook-pro", "rockchip,rk3399";
++
++ chosen {
++ stdout-path = "serial2:1500000n8";
++ };
++
++ backlight: edp-backlight {
++ compatible = "pwm-backlight";
++ power-supply = <&vcc_12v>;
++ pwms = <&pwm0 0 740740 0>;
++ };
++
++ edp_panel: edp-panel {
++ compatible = "boe,nv140fhmn49";
++ backlight = <&backlight>;
++ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&panel_en_gpio>;
++ power-supply = <&vcc3v3_panel>;
++
++ ports {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ port@0 {
++ reg = <0>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ panel_in_edp: endpoint@0 {
++ reg = <0>;
++ remote-endpoint = <&edp_out_panel>;
++ };
++ };
++ };
++ };
++
++ /*
++ * Use separate nodes for gpio-keys to allow for selective deactivation
++ * of wakeup sources via sysfs without disabling the whole key
++ */
++ gpio-key-lid {
++ compatible = "gpio-keys";
++ pinctrl-names = "default";
++ pinctrl-0 = <&lidbtn_gpio>;
++
++ lid {
++ debounce-interval = <20>;
++ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
++ label = "Lid";
++ linux,code = <SW_LID>;
++ linux,input-type = <EV_SW>;
++ wakeup-event-action = <EV_ACT_DEASSERTED>;
++ wakeup-source;
++ };
++ };
++
++ gpio-key-power {
++ compatible = "gpio-keys";
++ pinctrl-names = "default";
++ pinctrl-0 = <&pwrbtn_gpio>;
++
++ power {
++ debounce-interval = <20>;
++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
++ label = "Power";
++ linux,code = <KEY_POWER>;
++ wakeup-source;
++ };
++ };
++
++
++ leds {
++ compatible = "gpio-leds";
++ pinctrl-names = "default";
++ pinctrl-0 = <&pwrled_gpio &slpled_gpio>;
++
++ green-led {
++ color = <LED_COLOR_ID_GREEN>;
++ default-state = "on";
++ function = LED_FUNCTION_POWER;
++ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
++ label = "green:power";
++ };
++
++ red-led {
++ color = <LED_COLOR_ID_RED>;
++ default-state = "off";
++ function = LED_FUNCTION_STANDBY;
++ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
++ label = "red:standby";
++ panic-indicator;
++ retain-state-suspended;
++ };
++ };
++
++ /* Power sequence for SDIO WiFi module */
++ sdio_pwrseq: sdio-pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ clocks = <&rk808 1>;
++ clock-names = "ext_clock";
++ pinctrl-names = "default";
++ pinctrl-0 = <&wifi_enable_h_gpio>;
++ post-power-on-delay-ms = <100>;
++ power-off-delay-us = <500000>;
++
++ /* WL_REG_ON on module */
++ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
++ };
++
++ /* Audio components */
++ es8316-sound {
++ compatible = "simple-audio-card";
++ pinctrl-names = "default";
++ pinctrl-0 = <&hp_det_gpio>;
++ simple-audio-card,name = "rockchip,es8316-codec";
++ simple-audio-card,format = "i2s";
++ simple-audio-card,mclk-fs = <256>;
++
++ simple-audio-card,widgets =
++ "Microphone", "Mic Jack",
++ "Headphone", "Headphones",
++ "Speaker", "Speaker";
++ simple-audio-card,routing =
++ "MIC1", "Mic Jack",
++ "Headphones", "HPOL",
++ "Headphones", "HPOR",
++ "Speaker Amplifier INL", "HPOL",
++ "Speaker Amplifier INR", "HPOR",
++ "Speaker", "Speaker Amplifier OUTL",
++ "Speaker", "Speaker Amplifier OUTR";
++
++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
++ simple-audio-card,aux-devs = <&speaker_amp>;
++ simple-audio-card,pin-switches = "Speaker";
++
++ simple-audio-card,cpu {
++ sound-dai = <&i2s1>;
++ };
++
++ simple-audio-card,codec {
++ sound-dai = <&es8316>;
++ };
++ };
++
++ speaker_amp: speaker-amplifier {
++ compatible = "simple-audio-amplifier";
++ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
++ sound-name-prefix = "Speaker Amplifier";
++ VCC-supply = <&pa_5v>;
++ };
++
++ /* Power tree */
++ /* Root power source */
++ vcc_sysin: vcc-sysin {
++ compatible = "regulator-fixed";
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-name = "vcc_sysin";
++ };
++
++ /* Regulators supplied by vcc_sysin */
++ /* LCD backlight supply */
++ vcc_12v: vcc-12v {
++ compatible = "regulator-fixed";
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <12000000>;
++ regulator-max-microvolt = <12000000>;
++ regulator-name = "vcc_12v";
++ vin-supply = <&vcc_sysin>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ /* Main 3.3 V supply */
++ vcc3v3_sys: wifi_bat: vcc3v3-sys {
++ compatible = "regulator-fixed";
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc3v3_sys";
++ vin-supply = <&vcc_sysin>;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++
++ /* 5 V USB power supply */
++ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pwr_5v_gpio>;
++ regulator-always-on;
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-name = "vcc5v0_usb";
++ vin-supply = <&vcc_sysin>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ /* RK3399 logic supply */
++ vdd_log: vdd-log {
++ compatible = "pwm-regulator";
++ pwms = <&pwm2 0 25000 1>;
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <800000>;
++ regulator-max-microvolt = <1400000>;
++ regulator-name = "vdd_log";
++ vin-supply = <&vcc_sysin>;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++
++ /* Regulators supplied by vcc3v3_sys */
++ /* 0.9 V supply, always on */
++ vcc_0v9: vcc-0v9 {
++ compatible = "regulator-fixed";
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <900000>;
++ regulator-max-microvolt = <900000>;
++ regulator-name = "vcc_0v9";
++ vin-supply = <&vcc3v3_sys>;
++ };
++
++ /* S3 1.8 V supply, switched by vcc1v8_s3 */
++ vcca1v8_s3: vcc1v8-s3 {
++ compatible = "regulator-fixed";
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcca1v8_s3";
++ vin-supply = <&vcc3v3_sys>;
++ };
++
++ /* micro SD card power */
++ vcc3v0_sd: vcc3v0-sd {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdmmc0_pwr_h_gpio>;
++ regulator-always-on;
++ regulator-min-microvolt = <3000000>;
++ regulator-max-microvolt = <3000000>;
++ regulator-name = "vcc3v0_sd";
++ vin-supply = <&vcc3v3_sys>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ /* LCD panel power, called VCC3V3_S0 in schematic */
++ vcc3v3_panel: vcc3v3-panel {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&lcdvcc_en_gpio>;
++ regulator-always-on;
++ regulator-enable-ramp-delay = <100000>;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc3v3_panel";
++ vin-supply = <&vcc3v3_sys>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ /* M.2 adapter power, switched by vcc1v8_s3 */
++ vcc3v3_ssd: vcc3v3-ssd {
++ compatible = "regulator-fixed";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc3v3_ssd";
++ vin-supply = <&vcc3v3_sys>;
++ };
++
++ /* Regulators supplied by vcc5v0_usb */
++ /* USB 3 port power supply regulator */
++ vcc5v0_otg: vcc5v0-otg {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&vcc5v0_host_en_gpio>;
++ regulator-always-on;
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-name = "vcc5v0_otg";
++ vin-supply = <&vcc5v0_usb>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ /* Regulators supplied by vcc5v0_usb */
++ /* Type C port power supply regulator */
++ vbus_5vout: vbus_typec: vbus-5vout {
++ compatible = "regulator-fixed";
++ enable-active-high;
++ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&vcc5v0_typec0_en_gpio>;
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-name = "vbus_5vout";
++ vin-supply = <&vcc5v0_usb>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ /* Regulators supplied by vcc_1v8 */
++ /* Primary 0.9 V LDO */
++ vcca0v9_s3: vcca0v9-s3 {
++ compatible = "regulator-fixed";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-name = "vcc0v9_s3";
++ vin-supply = <&vcc_1v8>;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++
++ mains_charger: dc-charger {
++ compatible = "gpio-charger";
++ charger-type = "mains";
++ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
++
++ /* Also triggered by USB charger */
++ pinctrl-names = "default";
++ pinctrl-0 = <&dc_det_gpio>;
++ };
++};
++
++&cdn_dp {
++ status = "okay";
++};
++
++&cpu_b0 {
++ cpu-supply = <&vdd_cpu_b>;
++};
++
++&cpu_b1 {
++ cpu-supply = <&vdd_cpu_b>;
++};
++
++&cpu_l0 {
++ cpu-supply = <&vdd_cpu_l>;
++};
++
++&cpu_l1 {
++ cpu-supply = <&vdd_cpu_l>;
++};
++
++&cpu_l2 {
++ cpu-supply = <&vdd_cpu_l>;
++};
++
++&cpu_l3 {
++ cpu-supply = <&vdd_cpu_l>;
++};
++
++&edp {
++ force-hpd;
++ pinctrl-names = "default";
++ pinctrl-0 = <&edp_hpd>;
++ status = "okay";
++
++ ports {
++ edp_out: port@1 {
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ edp_out_panel: endpoint@0 {
++ reg = <0>;
++ remote-endpoint = <&panel_in_edp>;
++ };
++ };
++ };
++};
++
++&emmc_phy {
++ status = "okay";
++};
++
++&gpu {
++ mali-supply = <&vdd_gpu>;
++ status = "okay";
++};
++
++&hdmi_sound {
++ status = "okay";
++};
++
++&i2c0 {
++ clock-frequency = <400000>;
++ i2c-scl-falling-time-ns = <4>;
++ i2c-scl-rising-time-ns = <168>;
++ status = "okay";
++
++ rk808: pmic@1b {
++ compatible = "rockchip,rk808";
++ reg = <0x1b>;
++ #clock-cells = <1>;
++ clock-output-names = "xin32k", "rk808-clkout2";
++ interrupt-parent = <&gpio3>;
++ interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pmic_int_l_gpio>;
++ rockchip,system-power-controller;
++ wakeup-source;
++
++ vcc1-supply = <&vcc_sysin>;
++ vcc2-supply = <&vcc_sysin>;
++ vcc3-supply = <&vcc_sysin>;
++ vcc4-supply = <&vcc_sysin>;
++ vcc6-supply = <&vcc_sysin>;
++ vcc7-supply = <&vcc_sysin>;
++ vcc8-supply = <&vcc3v3_sys>;
++ vcc9-supply = <&vcc_sysin>;
++ vcc10-supply = <&vcc_sysin>;
++ vcc11-supply = <&vcc_sysin>;
++ vcc12-supply = <&vcc3v3_sys>;
++ vcc13-supply = <&vcc_sysin>;
++ vcc14-supply = <&vcc_sysin>;
++
++ regulators {
++ /* rk3399 center logic supply */
++ vdd_center: DCDC_REG1 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <750000>;
++ regulator-max-microvolt = <1350000>;
++ regulator-name = "vdd_center";
++ regulator-ramp-delay = <6001>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vdd_cpu_l: DCDC_REG2 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <750000>;
++ regulator-max-microvolt = <1350000>;
++ regulator-name = "vdd_cpu_l";
++ regulator-ramp-delay = <6001>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vcc_ddr: DCDC_REG3 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-name = "vcc_ddr";
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++
++ vcc_1v8: vcc_wl: DCDC_REG4 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc_1v8";
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1800000>;
++ };
++ };
++
++ /* not used */
++ LDO_REG1 {
++ };
++
++ /* not used */
++ LDO_REG2 {
++ };
++
++ vcc1v8_pmupll: LDO_REG3 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc1v8_pmupll";
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1800000>;
++ };
++ };
++
++ vcc_sdio: LDO_REG4 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <3000000>;
++ regulator-name = "vcc_sdio";
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <3000000>;
++ };
++ };
++
++ vcca3v0_codec: LDO_REG5 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <3000000>;
++ regulator-max-microvolt = <3000000>;
++ regulator-name = "vcca3v0_codec";
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vcc_1v5: LDO_REG6 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1500000>;
++ regulator-max-microvolt = <1500000>;
++ regulator-name = "vcc_1v5";
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1500000>;
++ };
++ };
++
++ vcca1v8_codec: LDO_REG7 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcca1v8_codec";
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vcc_3v0: LDO_REG8 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <3000000>;
++ regulator-max-microvolt = <3000000>;
++ regulator-name = "vcc_3v0";
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <3000000>;
++ };
++ };
++
++ vcc3v3_s3: SWITCH_REG1 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-name = "vcc3v3_s3";
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vcc3v3_s0: SWITCH_REG2 {
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-name = "vcc3v3_s0";
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++ };
++ };
++
++ vdd_cpu_b: regulator@40 {
++ compatible = "silergy,syr827";
++ reg = <0x40>;
++ fcs,suspend-voltage-selector = <1>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&vsel1_gpio>;
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-compatible = "fan53555-reg";
++ regulator-min-microvolt = <712500>;
++ regulator-max-microvolt = <1500000>;
++ regulator-name = "vdd_cpu_b";
++ regulator-ramp-delay = <1000>;
++ vin-supply = <&vcc_1v8>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++
++ vdd_gpu: regulator@41 {
++ compatible = "silergy,syr828";
++ reg = <0x41>;
++ fcs,suspend-voltage-selector = <1>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&vsel2_gpio>;
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-compatible = "fan53555-reg";
++ regulator-min-microvolt = <712500>;
++ regulator-max-microvolt = <1500000>;
++ regulator-name = "vdd_gpu";
++ regulator-ramp-delay = <1000>;
++ vin-supply = <&vcc_1v8>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++};
++
++&i2c1 {
++ clock-frequency = <100000>;
++ i2c-scl-falling-time-ns = <4>;
++ i2c-scl-rising-time-ns = <168>;
++ status = "okay";
++
++ es8316: es8316@11 {
++ compatible = "everest,es8316";
++ reg = <0x11>;
++ clocks = <&cru SCLK_I2S_8CH_OUT>;
++ clock-names = "mclk";
++ #sound-dai-cells = <0>;
++ };
++};
++
++&i2c3 {
++ i2c-scl-falling-time-ns = <15>;
++ i2c-scl-rising-time-ns = <450>;
++ status = "okay";
++};
++
++&i2c4 {
++ i2c-scl-falling-time-ns = <20>;
++ i2c-scl-rising-time-ns = <600>;
++ status = "okay";
++
++ fusb0: fusb30x@22 {
++ compatible = "fcs,fusb302";
++ reg = <0x22>;
++ fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&fusb0_int_gpio>;
++ vbus-supply = <&vbus_typec>;
++
++ connector {
++ compatible = "usb-c-connector";
++ data-role = "host";
++ label = "USB-C";
++ op-sink-microwatt = <1000000>;
++ power-role = "dual";
++ sink-pdos =
++ <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
++ source-pdos =
++ <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
++ try-power-role = "sink";
++
++ ports {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ port@0 {
++ reg = <0>;
++
++ usbc_hs: endpoint {
++ remote-endpoint =
++ <&u2phy0_typec_hs>;
++ };
++ };
++
++ port@1 {
++ reg = <1>;
++
++ usbc_ss: endpoint {
++ remote-endpoint =
++ <&tcphy0_typec_ss>;
++ };
++ };
++
++ port@2 {
++ reg = <2>;
++
++ usbc_dp: endpoint {
++ remote-endpoint =
++ <&tcphy0_typec_dp>;
++ };
++ };
++ };
++ };
++ };
++};
++
++&i2s1 {
++ #sound-dai-cells = <0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>;
++ rockchip,capture-channels = <8>;
++ rockchip,playback-channels = <8>;
++ status = "okay";
++};
++
++&io_domains {
++ audio-supply = <&vcc_3v0>;
++ gpio1830-supply = <&vcc_3v0>;
++ sdmmc-supply = <&vcc_sdio>;
++ status = "okay";
++};
++
++&pcie_phy {
++ status = "okay";
++};
++
++&pcie0 {
++ bus-scan-delay-ms = <1000>;
++ ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
++ max-link-speed = <2>;
++ num-lanes = <4>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pcie_clkreqn_cpm>;
++ vpcie0v9-supply = <&vcca0v9_s3>;
++ vpcie1v8-supply = <&vcca1v8_s3>;
++ vpcie3v3-supply = <&vcc3v3_ssd>;
++ status = "okay";
++};
++
++&pinctrl {
++ buttons {
++ pwrbtn_gpio: pwrbtn-gpio {
++ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++
++ lidbtn_gpio: lidbtn-gpio {
++ rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
++
++ dc-charger {
++ dc_det_gpio: dc-det-gpio {
++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ es8316 {
++ hp_det_gpio: hp-det-gpio {
++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
++ };
++ };
++
++ fusb302x {
++ fusb0_int_gpio: fusb0-int-gpio {
++ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
++
++ i2s1 {
++ i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio {
++ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
++ };
++ };
++
++ lcd-panel {
++ lcdvcc_en_gpio: lcdvcc-en-gpio {
++ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ panel_en_gpio: panel-en-gpio {
++ rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ lcd_panel_reset_gpio: lcd-panel-reset-gpio {
++ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
++
++ leds {
++ pwrled_gpio: pwrled_gpio {
++ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ slpled_gpio: slpled_gpio {
++ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ pmic {
++ pmic_int_l_gpio: pmic-int-l-gpio {
++ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++
++ vsel1_gpio: vsel1-gpio {
++ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
++ };
++
++ vsel2_gpio: vsel2-gpio {
++ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
++ };
++ };
++
++ sdcard {
++ sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio {
++ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ };
++
++ sdio-pwrseq {
++ wifi_enable_h_gpio: wifi-enable-h-gpio {
++ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ usb-typec {
++ vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio {
++ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
++
++ usb2 {
++ pwr_5v_gpio: pwr-5v-gpio {
++ rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ vcc5v0_host_en_gpio: vcc5v0-host-en-gpio {
++ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ wireless-bluetooth {
++ bt_wake_gpio: bt-wake-gpio {
++ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ bt_host_wake_gpio: bt-host-wake-gpio {
++ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ bt_reset_gpio: bt-reset-gpio {
++ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++};
++
++&pmu_io_domains {
++ pmu1830-supply = <&vcc_3v0>;
++ status = "okay";
++};
++
++&pwm0 {
++ status = "okay";
++};
++
++&pwm2 {
++ status = "okay";
++};
++
++&saradc {
++ vref-supply = <&vcca1v8_s3>;
++ status = "okay";
++};
++
++&sdmmc {
++ bus-width = <4>;
++ cap-mmc-highspeed;
++ cap-sd-highspeed;
++ cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
++ disable-wp;
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
++ sd-uhs-sdr104;
++ vmmc-supply = <&vcc3v0_sd>;
++ vqmmc-supply = <&vcc_sdio>;
++ status = "okay";
++};
++
++&sdio0 {
++ bus-width = <4>;
++ cap-sd-highspeed;
++ cap-sdio-irq;
++ keep-power-in-suspend;
++ mmc-pwrseq = <&sdio_pwrseq>;
++ non-removable;
++ pinctrl-names = "default";
++ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
++ sd-uhs-sdr104;
++ status = "okay";
++};
++
++&sdhci {
++ bus-width = <8>;
++ mmc-hs200-1_8v;
++ non-removable;
++ status = "okay";
++};
++
++&spi1 {
++ max-freq = <10000000>;
++ status = "okay";
++
++ spiflash: flash@0 {
++ compatible = "jedec,spi-nor";
++ reg = <0>;
++ m25p,fast-read;
++ spi-max-frequency = <10000000>;
++ };
++};
++
++&tcphy0 {
++ status = "okay";
++};
++
++&tcphy0_dp {
++ port {
++ tcphy0_typec_dp: endpoint {
++ remote-endpoint = <&usbc_dp>;
++ };
++ };
++};
++
++&tcphy0_usb3 {
++ port {
++ tcphy0_typec_ss: endpoint {
++ remote-endpoint = <&usbc_ss>;
++ };
++ };
++};
++
++&tcphy1 {
++ status = "okay";
++};
++
++&tsadc {
++ /* tshut mode 0:CRU 1:GPIO */
++ rockchip,hw-tshut-mode = <1>;
++ /* tshut polarity 0:LOW 1:HIGH */
++ rockchip,hw-tshut-polarity = <1>;
++ status = "okay";
++};
++
++&u2phy0 {
++ status = "okay";
++
++ u2phy0_otg: otg-port {
++ status = "okay";
++ };
++
++ u2phy0_host: host-port {
++ phy-supply = <&vcc5v0_otg>;
++ status = "okay";
++ };
++
++ port {
++ u2phy0_typec_hs: endpoint {
++ remote-endpoint = <&usbc_hs>;
++ };
++ };
++};
++
++&u2phy1 {
++ status = "okay";
++
++ u2phy1_otg: otg-port {
++ status = "okay";
++ };
++
++ u2phy1_host: host-port {
++ phy-supply = <&vcc5v0_otg>;
++ status = "okay";
++ };
++};
++
++&uart0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
++ uart-has-rtscts;
++ status = "okay";
++
++ bluetooth {
++ compatible = "brcm,bcm4345c5";
++ clocks = <&rk808 1>;
++ clock-names = "lpo";
++ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
++ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
++ max-speed = <1500000>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>;
++ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
++ vbat-supply = <&wifi_bat>;
++ vddio-supply = <&vcc_wl>;
++ };
++};
++
++&uart2 {
++ status = "okay";
++};
++
++&usb_host0_ehci {
++ status = "okay";
++};
++
++&usb_host0_ohci {
++ status = "okay";
++};
++
++&usb_host1_ehci {
++ status = "okay";
++};
++
++&usb_host1_ohci {
++ status = "okay";
++};
++
++&usbdrd3_0 {
++ status = "okay";
++};
++
++&usbdrd_dwc3_0 {
++ dr_mode = "host";
++ status = "okay";
++};
++
++&usbdrd3_1 {
++ status = "okay";
++};
++
++&usbdrd_dwc3_1 {
++ dr_mode = "host";
++ status = "okay";
++};
++
++&vopb {
++ status = "okay";
++};
++
++&vopb_mmu {
++ status = "okay";
++};
++
++&vopl {
++ status = "okay";
++};
++
++&vopl_mmu {
++ status = "okay";
++};
diff --git a/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch b/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
new file mode 100644
index 000000000..1d859bb57
--- /dev/null
+++ b/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
@@ -0,0 +1,481 @@
+From patchwork Fri Jan 10 19:14:59 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
+X-Patchwork-Id: 1221384
+Return-Path: <linux-pci-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-pci-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=gf35ja2k;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 47vXkJ2PJMz9sPJ
+ for <incoming@patchwork.ozlabs.org>;
+ Sat, 11 Jan 2020 06:15:20 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1728167AbgAJTPQ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Fri, 10 Jan 2020 14:15:16 -0500
+Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:1668 "EHLO
+ hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727612AbgAJTPQ (ORCPT
+ <rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:16 -0500
+Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e18cd310000>; Fri, 10 Jan 2020 11:14:57 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate101.nvidia.com (PGP Universal service);
+ Fri, 10 Jan 2020 11:15:15 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:15 -0800
+Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL101.nvidia.com
+ (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Fri, 10 Jan 2020 19:15:15 +0000
+Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
+ (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Fri, 10 Jan 2020 19:15:14 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
+ (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Fri, 10 Jan 2020 19:15:14 +0000
+Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e18cd3e0001>; Fri, 10 Jan 2020 11:15:14 -0800
+From: Vidya Sagar <vidyas@nvidia.com>
+To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
+ <rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
+ <treding@nvidia.com>, <jonathanh@nvidia.com>
+CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
+ <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
+ <kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
+ <sagar.tv@gmail.com>
+Subject: [PATCH V3 1/2] arm64: tegra: Re-order PCIe aperture mappings to
+ support ACPI boot
+Date: Sat, 11 Jan 2020 00:44:59 +0530
+Message-ID: <20200110191500.9538-2-vidyas@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
+References: <20200106082709.14370-1-vidyas@nvidia.com>
+ <20200110191500.9538-1-vidyas@nvidia.com>
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1578683697; bh=A9295dTyR+j2yr8EqSviqtTgED4nGyVgvOv0oWR2ueU=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ In-Reply-To:References:X-NVConfidentiality:MIME-Version:
+ Content-Type;
+ b=gf35ja2k7JnAqX+jyF1OxPVsYL5Fk4U+zYrMvTudBnjv0lLjB+7vnkXuO5FnSX28a
+ o2Mvk9yks+a7NYLZkVfmKCXKbeDNoGPlPSy+g8CAyeAd5u7leSGONsy5awV83vmud7
+ /KuuExw/Ko4JihAJdQ57/4EaaohgPWUNbodkmI5Wo0e7qyfgf5PvkAkwe1PdtgEKls
+ t9tsBwoqjGJn5WWPiQMaUZ8OHdSvPrUDuyKEFPjjr9IpczNvMzJE8SyHDZci42N+s+
+ f0iCjfLLhugetglYqrGi5j8eknYwfvMIV+vnkZj0dSmiS70Y1G31dVfgR/s3ueHnRy
+ jBNjNRTUtey9w==
+Sender: linux-pci-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-pci.vger.kernel.org>
+X-Mailing-List: linux-pci@vger.kernel.org
+
+Re-order Tegra194's PCIe aperture mappings to have IO window moved to
+64-bit aperture and have the entire 32-bit aperture used for accessing
+the configuration space. This makes it to use the entire 32MB of the 32-bit
+aperture for ECAM purpose while booting through ACPI.
+
+Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
+---
+V3:
+* New change in this series
+
+ arch/arm64/boot/dts/nvidia/tegra194.dtsi | 36 ++++++++++++------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
+index ccac43be12ac..5d790ec5bdef 100644
+--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
++++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
+@@ -1247,9 +1247,9 @@
+ nvidia,aspm-l0s-entrance-latency-us = <3>;
+
+ bus-range = <0x0 0xff>;
+- ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */
+- 0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
+- 0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
++ ranges = <0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
++ 0x82000000 0x00 0x40000000 0x12 0x30000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
++ 0x81000000 0x00 0x00000000 0x12 0x3fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
+ };
+
+ pcie@14120000 {
+@@ -1292,9 +1292,9 @@
+ nvidia,aspm-l0s-entrance-latency-us = <3>;
+
+ bus-range = <0x0 0xff>;
+- ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */
+- 0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
+- 0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
++ ranges = <0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
++ 0x82000000 0x00 0x40000000 0x12 0x70000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
++ 0x81000000 0x00 0x00000000 0x12 0x7fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
+ };
+
+ pcie@14140000 {
+@@ -1337,9 +1337,9 @@
+ nvidia,aspm-l0s-entrance-latency-us = <3>;
+
+ bus-range = <0x0 0xff>;
+- ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */
+- 0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
+- 0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
++ ranges = <0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
++ 0x82000000 0x00 0x40000000 0x12 0xb0000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
++ 0x81000000 0x00 0x00000000 0x12 0xbfff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
+ };
+
+ pcie@14160000 {
+@@ -1382,9 +1382,9 @@
+ nvidia,aspm-l0s-entrance-latency-us = <3>;
+
+ bus-range = <0x0 0xff>;
+- ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */
+- 0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
+- 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
++ ranges = <0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
++ 0x82000000 0x00 0x40000000 0x17 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
++ 0x81000000 0x00 0x00000000 0x17 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
+ };
+
+ pcie@14180000 {
+@@ -1427,9 +1427,9 @@
+ nvidia,aspm-l0s-entrance-latency-us = <3>;
+
+ bus-range = <0x0 0xff>;
+- ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */
+- 0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
+- 0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
++ ranges = <0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
++ 0x82000000 0x00 0x40000000 0x1b 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
++ 0x81000000 0x00 0x00000000 0x1b 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
+ };
+
+ pcie@141a0000 {
+@@ -1476,9 +1476,9 @@
+ nvidia,aspm-l0s-entrance-latency-us = <3>;
+
+ bus-range = <0x0 0xff>;
+- ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */
+- 0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
+- 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
++ ranges = <0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
++ 0x82000000 0x00 0x40000000 0x1f 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
++ 0x81000000 0x00 0x00000000 0x1f 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
+ };
+
+ pcie_ep@14160000 {
+
+From patchwork Fri Jan 10 19:15:00 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
+X-Patchwork-Id: 1221385
+Return-Path: <linux-pci-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-pci-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=KDh6KAfT;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 47vXkS04dtz9sR0
+ for <incoming@patchwork.ozlabs.org>;
+ Sat, 11 Jan 2020 06:15:28 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1728451AbgAJTPX (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Fri, 10 Jan 2020 14:15:23 -0500
+Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:9177 "EHLO
+ hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727612AbgAJTPX (ORCPT
+ <rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:23 -0500
+Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e18cd160001>; Fri, 10 Jan 2020 11:14:30 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate101.nvidia.com (PGP Universal service);
+ Fri, 10 Jan 2020 11:15:21 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:21 -0800
+Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com
+ (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Fri, 10 Jan 2020 19:15:21 +0000
+Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com
+ (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Fri, 10 Jan 2020 19:15:21 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL109.nvidia.com
+ (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Fri, 10 Jan 2020 19:15:20 +0000
+Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e18cd440002>; Fri, 10 Jan 2020 11:15:20 -0800
+From: Vidya Sagar <vidyas@nvidia.com>
+To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
+ <rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
+ <treding@nvidia.com>, <jonathanh@nvidia.com>
+CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
+ <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
+ <kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
+ <sagar.tv@gmail.com>
+Subject: [PATCH V3 2/2] PCI: Add MCFG quirks for Tegra194 host controllers
+Date: Sat, 11 Jan 2020 00:45:00 +0530
+Message-ID: <20200110191500.9538-3-vidyas@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
+References: <20200106082709.14370-1-vidyas@nvidia.com>
+ <20200110191500.9538-1-vidyas@nvidia.com>
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1578683671; bh=6wJT/II+S2upRtJe41MS3kcnFzRRB57EIPkoU3txnnc=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ In-Reply-To:References:X-NVConfidentiality:MIME-Version:
+ Content-Type;
+ b=KDh6KAfT+xBJE0n0yRibTvav8qocX0wdxtjjCMNH+VNrt1Gvwgt8htMQvTCpi08Hz
+ OLS6piubtsXb2Fk+J0rDcwmB2QM0YMKe6eA3DQkuJTPhl6PRxtvXdAYPfl/Z2pvG38
+ dq6SIor6Yw4e76ncsvt69w6UXoLZHF7AywICq0jGnmPjWoKDnjID3qKSj5/u7tE+/L
+ 6hJUZ2QQebXRI17dRdfleyir+rRCS0wMl9tVNiAHplY3Wlxw895LJqvmVRZDVA+kg5
+ 8DPKJY2JbazS6P4QcywESwuhDfejJGaJUz+1/6oSiHBMCI5OhfhFZ/lyTf0iZycdTQ
+ gnZUMkPu2QZOg==
+Sender: linux-pci-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-pci.vger.kernel.org>
+X-Mailing-List: linux-pci@vger.kernel.org
+
+The PCIe controller in Tegra194 SoC is not completely ECAM-compliant.
+With the current hardware design limitations in place, ECAM can be enabled
+only for one controller (C5 controller to be precise) with bus numbers
+starting from 160 instead of 0. A different approach is taken to avoid this
+abnormal way of enabling ECAM for just one controller but to enable
+configuration space access for all the other controllers. In this approach,
+ops are added through MCFG quirk mechanism which access the configuration
+spaces by dynamically programming iATU (internal AddressTranslation Unit)
+to generate respective configuration accesses just like the way it is
+done in DesignWare core sub-system.
+
+Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
+Reported-by: kbuild test robot <lkp@intel.com>
+Acked-by: Thierry Reding <treding@nvidia.com>
+---
+V3:
+* Removed MCFG address hardcoding in pci_mcfg.c file
+* Started using 'dbi_base' for accessing root port's own config space
+* and using 'config_base' for accessing config space of downstream hierarchy
+
+V2:
+* Fixed build issues reported by kbuild test bot
+
+ drivers/acpi/pci_mcfg.c | 7 ++
+ drivers/pci/controller/dwc/Kconfig | 3 +-
+ drivers/pci/controller/dwc/Makefile | 2 +-
+ drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++++++
+ include/linux/pci-ecam.h | 1 +
+ 5 files changed, 113 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
+index 6b347d9920cc..707181408173 100644
+--- a/drivers/acpi/pci_mcfg.c
++++ b/drivers/acpi/pci_mcfg.c
+@@ -116,6 +116,13 @@ static struct mcfg_fixup mcfg_quirks[] = {
+ THUNDER_ECAM_QUIRK(2, 12),
+ THUNDER_ECAM_QUIRK(2, 13),
+
++ { "NVIDIA", "TEGRA194", 1, 0, MCFG_BUS_ANY, &tegra194_pcie_ops},
++ { "NVIDIA", "TEGRA194", 1, 1, MCFG_BUS_ANY, &tegra194_pcie_ops},
++ { "NVIDIA", "TEGRA194", 1, 2, MCFG_BUS_ANY, &tegra194_pcie_ops},
++ { "NVIDIA", "TEGRA194", 1, 3, MCFG_BUS_ANY, &tegra194_pcie_ops},
++ { "NVIDIA", "TEGRA194", 1, 4, MCFG_BUS_ANY, &tegra194_pcie_ops},
++ { "NVIDIA", "TEGRA194", 1, 5, MCFG_BUS_ANY, &tegra194_pcie_ops},
++
+ #define XGENE_V1_ECAM_MCFG(rev, seg) \
+ {"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \
+ &xgene_v1_pcie_ecam_ops }
+diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
+index 0830dfcfa43a..f5b9e75aceed 100644
+--- a/drivers/pci/controller/dwc/Kconfig
++++ b/drivers/pci/controller/dwc/Kconfig
+@@ -255,7 +255,8 @@ config PCIE_TEGRA194
+ select PHY_TEGRA194_P2U
+ help
+ Say Y here if you want support for DesignWare core based PCIe host
+- controller found in NVIDIA Tegra194 SoC.
++ controller found in NVIDIA Tegra194 SoC. ACPI platforms with Tegra194
++ don't need to enable this.
+
+ config PCIE_UNIPHIER
+ bool "Socionext UniPhier PCIe controllers"
+diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile
+index 8a637cfcf6e9..76a6c52b8500 100644
+--- a/drivers/pci/controller/dwc/Makefile
++++ b/drivers/pci/controller/dwc/Makefile
+@@ -17,7 +17,6 @@ obj-$(CONFIG_PCIE_INTEL_GW) += pcie-intel-gw.o
+ obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o
+ obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o
+ obj-$(CONFIG_PCI_MESON) += pci-meson.o
+-obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o
+ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
+
+ # The following drivers are for devices that use the generic ACPI
+@@ -33,4 +32,5 @@ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
+ ifdef CONFIG_PCI
+ obj-$(CONFIG_ARM64) += pcie-al.o
+ obj-$(CONFIG_ARM64) += pcie-hisi.o
++obj-$(CONFIG_ARM64) += pcie-tegra194.o
+ endif
+diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
+index cbe95f0ea0ca..660f55caa8be 100644
+--- a/drivers/pci/controller/dwc/pcie-tegra194.c
++++ b/drivers/pci/controller/dwc/pcie-tegra194.c
+@@ -21,6 +21,8 @@
+ #include <linux/of_irq.h>
+ #include <linux/of_pci.h>
+ #include <linux/pci.h>
++#include <linux/pci-acpi.h>
++#include <linux/pci-ecam.h>
+ #include <linux/phy/phy.h>
+ #include <linux/pinctrl/consumer.h>
+ #include <linux/platform_device.h>
+@@ -285,6 +287,103 @@ struct tegra_pcie_dw {
+ struct dentry *debugfs;
+ };
+
++#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS)
++struct tegra194_pcie_acpi {
++ void __iomem *config_base;
++ void __iomem *iatu_base;
++ void __iomem *dbi_base;
++};
++
++static int tegra194_acpi_init(struct pci_config_window *cfg)
++{
++ struct device *dev = cfg->parent;
++ struct tegra194_pcie_acpi *pcie;
++
++ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
++ if (!pcie)
++ return -ENOMEM;
++
++ pcie->config_base = cfg->win;
++ pcie->iatu_base = cfg->win + SZ_256K;
++ pcie->dbi_base = cfg->win + SZ_512K;
++ cfg->priv = pcie;
++
++ return 0;
++}
++
++static inline void atu_reg_write(struct tegra194_pcie_acpi *pcie, int index,
++ u32 val, u32 reg)
++{
++ u32 offset = PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index);
++
++ writel(val, pcie->iatu_base + offset + reg);
++}
++
++static void program_outbound_atu(struct tegra194_pcie_acpi *pcie, int index,
++ int type, u64 cpu_addr, u64 pci_addr, u64 size)
++{
++ atu_reg_write(pcie, index, lower_32_bits(cpu_addr),
++ PCIE_ATU_LOWER_BASE);
++ atu_reg_write(pcie, index, upper_32_bits(cpu_addr),
++ PCIE_ATU_UPPER_BASE);
++ atu_reg_write(pcie, index, lower_32_bits(pci_addr),
++ PCIE_ATU_LOWER_TARGET);
++ atu_reg_write(pcie, index, lower_32_bits(cpu_addr + size - 1),
++ PCIE_ATU_LIMIT);
++ atu_reg_write(pcie, index, upper_32_bits(pci_addr),
++ PCIE_ATU_UPPER_TARGET);
++ atu_reg_write(pcie, index, type, PCIE_ATU_CR1);
++ atu_reg_write(pcie, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2);
++}
++
++static void __iomem *tegra194_map_bus(struct pci_bus *bus,
++ unsigned int devfn, int where)
++{
++ struct pci_config_window *cfg = bus->sysdata;
++ struct tegra194_pcie_acpi *pcie = cfg->priv;
++ u32 busdev;
++ int type;
++
++ if (bus->number < cfg->busr.start || bus->number > cfg->busr.end)
++ return NULL;
++
++ if (bus->number == cfg->busr.start) {
++ if (PCI_SLOT(devfn) == 0)
++ return pcie->dbi_base + where;
++ else
++ return NULL;
++ }
++
++ busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) |
++ PCIE_ATU_FUNC(PCI_FUNC(devfn));
++
++ if (bus->parent->number == cfg->busr.start) {
++ if (PCI_SLOT(devfn) == 0)
++ type = PCIE_ATU_TYPE_CFG0;
++ else
++ return NULL;
++ } else {
++ type = PCIE_ATU_TYPE_CFG1;
++ }
++
++ program_outbound_atu(pcie, PCIE_ATU_REGION_INDEX0, type,
++ cfg->res.start, busdev, SZ_256K);
++ return (void __iomem *)(pcie->config_base + where);
++}
++
++struct pci_ecam_ops tegra194_pcie_ops = {
++ .bus_shift = 20,
++ .init = tegra194_acpi_init,
++ .pci_ops = {
++ .map_bus = tegra194_map_bus,
++ .read = pci_generic_config_read,
++ .write = pci_generic_config_write,
++ }
++};
++#endif /* defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) */
++
++#ifdef CONFIG_PCIE_TEGRA194
++
+ static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci)
+ {
+ return container_of(pci, struct tegra_pcie_dw, pci);
+@@ -1728,3 +1827,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match);
+ MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>");
+ MODULE_DESCRIPTION("NVIDIA PCIe host controller driver");
+ MODULE_LICENSE("GPL v2");
++
++#endif /* CONFIG_PCIE_TEGRA194 */
++
+diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h
+index a73164c85e78..6156140dcbb6 100644
+--- a/include/linux/pci-ecam.h
++++ b/include/linux/pci-ecam.h
+@@ -57,6 +57,7 @@ extern struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */
+ extern struct pci_ecam_ops xgene_v1_pcie_ecam_ops; /* APM X-Gene PCIe v1 */
+ extern struct pci_ecam_ops xgene_v2_pcie_ecam_ops; /* APM X-Gene PCIe v2.x */
+ extern struct pci_ecam_ops al_pcie_ops; /* Amazon Annapurna Labs PCIe */
++extern struct pci_ecam_ops tegra194_pcie_ops; /* Tegra194 PCIe */
+ #endif
+
+ #ifdef CONFIG_PCI_HOST_COMMON
diff --git a/Raspberry-Pi-4-PCIe-support.patch b/Raspberry-Pi-4-PCIe-support.patch
deleted file mode 100644
index d87f6f512..000000000
--- a/Raspberry-Pi-4-PCIe-support.patch
+++ /dev/null
@@ -1,1995 +0,0 @@
-From patchwork Mon Dec 16 11:01:07 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11293801
-Return-Path:
- <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1A73D930
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:01:44 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id B59B620700
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:01:43 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="cb79RIet"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B59B620700
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=BIaxi8TW6/7kc2+ri3jCQvUDcvRqu4DcRQH+PcSrqFE=; b=cb79RIetq9xDMB
- WjzGeSpWqqJFBoypJgtl/f0hMNvDJo23OqyPAA3XiHnd/1OiFVtIaHj0rl0/7mBUqLfVJzym3AJq8
- MbvE4H5sbjLxLskuQnjMJoITqCzh1fly6HBgLOQJRHZU3rLBVnkbRPgRv+nRt5Nqi5M3aJp1a3qsL
- 8hPhH1PkGeofP4XjfWvnfl7nhg21+dC3Bxu86pb1aKPogRL6Rw4FGwOawF3ySHMGue4t9OfGcUh+B
- NI08Au81lvrfZys52Hfb5S7BXmj8vd/1fGqW97GjBdZcHjdUNMfFHHlC4SmLwJqvKdVWpgJH01sdP
- 29RmPOdzQSiBF+WIhx2w==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo8E-0003Jg-15; Mon, 16 Dec 2019 11:01:42 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo80-00036F-By; Mon, 16 Dec 2019 11:01:30 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id 0A418ABF4;
- Mon, 16 Dec 2019 11:01:27 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
- Florian Fainelli <f.fainelli@gmail.com>,
- bcm-kernel-feedback-list@broadcom.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Bjorn Helgaas <bhelgaas@google.com>
-Subject: [PATCH v5 1/6] dt-bindings: PCI: Add bindings for brcmstb's PCIe
- device
-Date: Mon, 16 Dec 2019 12:01:07 +0100
-Message-Id: <20191216110113.30436-2-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.24.0
-In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20191216_030128_695398_7DDDD9AA
-X-CRM114-Status: GOOD ( 12.44 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Mark Rutland <mark.rutland@arm.com>, Rob Herring <robh@kernel.org>,
- mbrugger@suse.com, devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
- phil@raspberrypi.org, jeremy.linton@arm.com,
- Rob Herring <robh+dt@kernel.org>,
- wahrenst@gmx.net, james.quinlan@broadcom.com,
- linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-From: Jim Quinlan <james.quinlan@broadcom.com>
-
-The DT bindings description of the brcmstb PCIe device is described.
-This node can only be used for now on the Raspberry Pi 4.
-
-Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
-Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Reviewed-by: Rob Herring <robh@kernel.org>
-Reviewed-by: Andrew Murray <andrew.murray@arm.com>
----
-
-Changes since v2:
- - Add pci reference schema
- - Drop all default properties
- - Assume msi-controller and msi-parent are properly defined
- - Add num entries on multiple properties
- - use unevaluatedProperties
- - Update required properties
- - Fix license
-
-Changes since v1:
- - Fix commit Subject
- - Remove linux,pci-domain
-
-This was based on Jim's original submission[1], converted to yaml and
-adapted to the RPi4 case.
-
-[1] https://patchwork.kernel.org/patch/10605937/
-
- .../bindings/pci/brcm,stb-pcie.yaml | 97 +++++++++++++++++++
- 1 file changed, 97 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
-
-diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
-new file mode 100644
-index 000000000000..77d3e81a437b
---- /dev/null
-+++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
-@@ -0,0 +1,97 @@
-+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-+%YAML 1.2
-+---
-+$id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#
-+$schema: http://devicetree.org/meta-schemas/core.yaml#
-+
-+title: Brcmstb PCIe Host Controller Device Tree Bindings
-+
-+maintainers:
-+ - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-+
-+allOf:
-+ - $ref: /schemas/pci/pci-bus.yaml#
-+
-+properties:
-+ compatible:
-+ const: brcm,bcm2711-pcie # The Raspberry Pi 4
-+
-+ reg:
-+ maxItems: 1
-+
-+ interrupts:
-+ minItems: 1
-+ maxItems: 2
-+ items:
-+ - description: PCIe host controller
-+ - description: builtin MSI controller
-+
-+ interrupt-names:
-+ minItems: 1
-+ maxItems: 2
-+ items:
-+ - const: pcie
-+ - const: msi
-+
-+ ranges:
-+ maxItems: 1
-+
-+ dma-ranges:
-+ maxItems: 1
-+
-+ clocks:
-+ maxItems: 1
-+
-+ clock-names:
-+ items:
-+ - const: sw_pcie
-+
-+ msi-controller:
-+ description: Identifies the node as an MSI controller.
-+
-+ msi-parent:
-+ description: MSI controller the device is capable of using.
-+
-+ brcm,enable-ssc:
-+ description: Indicates usage of spread-spectrum clocking.
-+ type: boolean
-+
-+required:
-+ - reg
-+ - dma-ranges
-+ - "#interrupt-cells"
-+ - interrupts
-+ - interrupt-names
-+ - interrupt-map-mask
-+ - interrupt-map
-+ - msi-controller
-+
-+unevaluatedProperties: false
-+
-+examples:
-+ - |
-+ #include <dt-bindings/interrupt-controller/irq.h>
-+ #include <dt-bindings/interrupt-controller/arm-gic.h>
-+
-+ scb {
-+ #address-cells = <2>;
-+ #size-cells = <1>;
-+ pcie0: pcie@7d500000 {
-+ compatible = "brcm,bcm2711-pcie";
-+ reg = <0x0 0x7d500000 0x9310>;
-+ device_type = "pci";
-+ #address-cells = <3>;
-+ #size-cells = <2>;
-+ #interrupt-cells = <1>;
-+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
-+ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "pcie", "msi";
-+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
-+ interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
-+ msi-parent = <&pcie0>;
-+ msi-controller;
-+ ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>;
-+ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>;
-+ brcm,enable-ssc;
-+ };
-+ };
-
-From patchwork Mon Dec 16 11:01:08 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11293815
-Return-Path:
- <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 72D3D930
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:03 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 3F7AB207FF
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:03 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="ISsHC9fH"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3F7AB207FF
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=UdJf8Rwrz/6hs1077s5n/9efhkcR9FHAvuF0K/vLN8Y=; b=ISsHC9fHRq+60M
- 7gtGwBg+WQQOYb9jdFmwMcxGe0qeWpPaGIHMIEsnIe4XD9FwQCB/DOlaEd0YroSKG9wx+ltXjqRP6
- corbkj+3N2CbLy6xpcmwrU7Mbjs2kt7wAx86+oeF2HHVgt0LIa3b38nMkD9IIKU9cNsE/eBW8QAOz
- wBlxik6IpMapnTNb5x/QmfGMTJUfmL0t8wz7HK1aJtKRj8U99KmswxLykSrniOXw8EBd+NnZxjV5W
- 6sD8LTIHp/B5zbN06MCX9sggOhONO7PjnEkmJM68Jzwu/O+6k8MHEfGBRdTLXvkoDmW1uFhIt/u79
- nZo/2ZcH3xzpGMNR//gA==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo8W-0003bB-8M; Mon, 16 Dec 2019 11:02:00 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo81-00036I-17; Mon, 16 Dec 2019 11:01:31 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id B9907ACA7;
- Mon, 16 Dec 2019 11:01:27 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v5 2/6] ARM: dts: bcm2711: Enable PCIe controller
-Date: Mon, 16 Dec 2019 12:01:08 +0100
-Message-Id: <20191216110113.30436-3-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.24.0
-In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20191216_030129_211513_E7F95430
-X-CRM114-Status: GOOD ( 12.22 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com,
- linux-pci@vger.kernel.org,
- phil@raspberrypi.org, jeremy.linton@arm.com, mbrugger@suse.com,
- bcm-kernel-feedback-list@broadcom.com, wahrenst@gmx.net,
- james.quinlan@broadcom.com, linux-arm-kernel@lists.infradead.org,
- linux-rpi-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This enables bcm2711's PCIe bus, which is hardwired to a VIA
-Technologies XHCI USB 3.0 controller.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
-
-Changes since v4:
- - Rebase commit taking into account genet support series
-
-Changes since v3:
- - Remove unwarranted comment
-
-Changes since v2:
- - Remove unused interrupt-map
- - correct dma-ranges to it's full size, non power of 2 bus DMA
- constraints now supported in linux-next[1]
- - add device_type
- - rename alias from pcie_0 to pcie0
-
-Changes since v1:
- - remove linux,pci-domain
-
-[1] https://lkml.org/lkml/2019/11/21/235
-
- arch/arm/boot/dts/bcm2711.dtsi | 31 ++++++++++++++++++++++++++++++-
- 1 file changed, 30 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
-index e2f6ffb00aa9..b56388ce1216 100644
---- a/arch/arm/boot/dts/bcm2711.dtsi
-+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -331,7 +331,36 @@ scb {
- #address-cells = <2>;
- #size-cells = <1>;
-
-- ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>;
-+ ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>,
-+ <0x6 0x00000000 0x6 0x00000000 0x40000000>;
-+
-+ pcie0: pcie@7d500000 {
-+ compatible = "brcm,bcm2711-pcie";
-+ reg = <0x0 0x7d500000 0x9310>;
-+ device_type = "pci";
-+ #address-cells = <3>;
-+ #interrupt-cells = <1>;
-+ #size-cells = <2>;
-+ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
-+ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "pcie", "msi";
-+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
-+ interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143
-+ IRQ_TYPE_LEVEL_HIGH>;
-+ msi-controller;
-+ msi-parent = <&pcie0>;
-+
-+ ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000
-+ 0x0 0x04000000>;
-+ /*
-+ * The wrapper around the PCIe block has a bug
-+ * preventing it from accessing beyond the first 3GB of
-+ * memory.
-+ */
-+ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000
-+ 0x0 0xc0000000>;
-+ brcm,enable-ssc;
-+ };
-
- genet: ethernet@7d580000 {
- compatible = "brcm,bcm2711-genet-v5";
-
-From patchwork Mon Dec 16 11:01:09 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11293817
-Return-Path:
- <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5258B138C
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:16 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 2BC2C206EC
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:16 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="ESaFz97K"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2BC2C206EC
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=+5ayi0cziQL3ZyCMj3iZr+38A6c8osp+1etjz8lMcs0=; b=ESaFz97K8D7L5Q
- eP6cOr4xBwD8JGVEOalDJHmTA7YrfsYPlyqEmoV5jf6647ddqM+dXZE2HpqGgiKBSvQmg3bbSh92t
- DokvbV8Iglu0LlQvliFFakzKq3z/SEtdiQ67DhNsyC8/6150TSWOQ3bgblVRH3pBCettQmRRCdSPG
- S0nb5uLQ0mpfLJvfcpN6lDJepIxpaCo4My4i5OPN5rCVQgW0b181kKQ0CiOpn6+RHsZ8TZQT3oGLt
- lXuYTni2GgcysGX3UNYbzsex6v8wqmSxchH+qpnwdJw7G/oxFcNTvVQ5BIjU62CZmX6qC+RjOwwnB
- LwtY7yRrtR/lXNVBKOFQ==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo8l-0003rT-Fs; Mon, 16 Dec 2019 11:02:15 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo82-00036x-Ea; Mon, 16 Dec 2019 11:01:34 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id 25A22ACC6;
- Mon, 16 Dec 2019 11:01:29 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
- Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
- Florian Fainelli <f.fainelli@gmail.com>,
- bcm-kernel-feedback-list@broadcom.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v5 3/6] PCI: brcmstb: Add Broadcom STB PCIe host controller
- driver
-Date: Mon, 16 Dec 2019 12:01:09 +0100
-Message-Id: <20191216110113.30436-4-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.24.0
-In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20191216_030130_800432_3B8FE2E4
-X-CRM114-Status: GOOD ( 18.27 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: mbrugger@suse.com, linux-pci@vger.kernel.org, phil@raspberrypi.org,
- jeremy.linton@arm.com, wahrenst@gmx.net, james.quinlan@broadcom.com,
- Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org,
- linux-rpi-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-From: Jim Quinlan <james.quinlan@broadcom.com>
-
-This adds a basic driver for Broadcom's STB PCIe controller, for now
-aimed at Raspberry Pi 4's SoC, bcm2711.
-
-Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
-Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Reviewed-by: Andrew Murray <andrew.murray@arm.com>
-Reviewed-by: Jeremy Linton <jeremy.linton@arm.com>
----
-
-Changes since v3:
- - Update commit message
- - rollback roundup_pow_two usage, it'll be updated later down the line
- - Remove comment in register definition
-
-Changes since v2:
- - Correct rc_bar2_offset sign
- - Invert IRQ clear and masking in setup code
- - Use bitfield.h, redo all register ops while keeping the register
- names intact
- - Remove all SHIFT register definitions
- - Get rid of all _RB writes
- - Get rid of of_data
- - Don't iterate over inexisting dma-ranges
- - Add comment regarding dma-ranges validation
- - Small cosmetic cleanups
- - Fix license mismatch
- - Set driver Kconfig tristate
- - Didn't add any comment about the controller not being I/O coherent
- for now as I wait for Jeremy's reply
-
-Changes since v1:
- - Fix Kconfig
- - Remove pci domain check
- - Remove all MSI related code
- - Remove supend/resume code
- - Simplify link state wait routine
- - Prefix all functions
- - Use of_device_get_match_data()
- - Use devm_clk_get_optional()
- - Get rid of irq variable
- - Use STB all over the driver
- - Simplify map_bus() function
- - Fix license mismatch
- - Remove unused register definitions
- - Small cleanups, spell errors
-
-This is based on Jim's original submission[1] but adapted and tailored
-specifically to bcm2711's needs (that's the Raspberry Pi 4). Support for
-the rest of the brcmstb family will soon follow once we get support for
-multiple dma-ranges in dma/direct.
-
-[1] https://patchwork.kernel.org/patch/10605959/
-
- drivers/pci/controller/Kconfig | 8 +
- drivers/pci/controller/Makefile | 1 +
- drivers/pci/controller/pcie-brcmstb.c | 748 ++++++++++++++++++++++++++
- 3 files changed, 757 insertions(+)
- create mode 100644 drivers/pci/controller/pcie-brcmstb.c
-
-diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
-index c77069c8ee5d..27504f108ee5 100644
---- a/drivers/pci/controller/Kconfig
-+++ b/drivers/pci/controller/Kconfig
-@@ -253,6 +253,14 @@ config VMD
- To compile this driver as a module, choose M here: the
- module will be called vmd.
-
-+config PCIE_BRCMSTB
-+ tristate "Broadcom Brcmstb PCIe host controller"
-+ depends on ARCH_BCM2835 || COMPILE_TEST
-+ depends on OF
-+ help
-+ Say Y here to enable PCIe host controller support for
-+ Broadcom STB based SoCs, like the Raspberry Pi 4.
-+
- config PCI_HYPERV_INTERFACE
- tristate "Hyper-V PCI Interface"
- depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
-diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile
-index 3d4f597f15ce..01b2502a5323 100644
---- a/drivers/pci/controller/Makefile
-+++ b/drivers/pci/controller/Makefile
-@@ -28,6 +28,7 @@ obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
- obj-$(CONFIG_PCIE_MOBIVEIL) += pcie-mobiveil.o
- obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o
- obj-$(CONFIG_VMD) += vmd.o
-+obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o
- # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
- obj-y += dwc/
-
-diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
-new file mode 100644
-index 000000000000..dd681164faa0
---- /dev/null
-+++ b/drivers/pci/controller/pcie-brcmstb.c
-@@ -0,0 +1,748 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/* Copyright (C) 2009 - 2019 Broadcom */
-+
-+#include <linux/bitfield.h>
-+#include <linux/clk.h>
-+#include <linux/compiler.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+#include <linux/interrupt.h>
-+#include <linux/io.h>
-+#include <linux/ioport.h>
-+#include <linux/irqdomain.h>
-+#include <linux/kernel.h>
-+#include <linux/list.h>
-+#include <linux/log2.h>
-+#include <linux/module.h>
-+#include <linux/of_address.h>
-+#include <linux/of_irq.h>
-+#include <linux/of_pci.h>
-+#include <linux/of_platform.h>
-+#include <linux/pci.h>
-+#include <linux/printk.h>
-+#include <linux/sizes.h>
-+#include <linux/slab.h>
-+#include <linux/string.h>
-+#include <linux/types.h>
-+
-+#include "../pci.h"
-+
-+/* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */
-+#define BRCM_PCIE_CAP_REGS 0x00ac
-+
-+/* Broadcom STB PCIe Register Offsets */
-+#define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1 0x0188
-+#define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK 0xc
-+#define PCIE_RC_CFG_VENDOR_SPCIFIC_REG1_LITTLE_ENDIAN 0x0
-+
-+#define PCIE_RC_CFG_PRIV1_ID_VAL3 0x043c
-+#define PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK 0xffffff
-+
-+#define PCIE_RC_DL_MDIO_ADDR 0x1100
-+#define PCIE_RC_DL_MDIO_WR_DATA 0x1104
-+#define PCIE_RC_DL_MDIO_RD_DATA 0x1108
-+
-+#define PCIE_MISC_MISC_CTRL 0x4008
-+#define PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK 0x1000
-+#define PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK 0x2000
-+#define PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_MASK 0x300000
-+#define PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_128 0x0
-+#define PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK 0xf8000000
-+
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LO 0x400c
-+#define PCIE_MEM_WIN0_LO(win) \
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LO + ((win) * 4)
-+
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_HI 0x4010
-+#define PCIE_MEM_WIN0_HI(win) \
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_HI + ((win) * 4)
-+
-+#define PCIE_MISC_RC_BAR1_CONFIG_LO 0x402c
-+#define PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK 0x1f
-+
-+#define PCIE_MISC_RC_BAR2_CONFIG_LO 0x4034
-+#define PCIE_MISC_RC_BAR2_CONFIG_LO_SIZE_MASK 0x1f
-+#define PCIE_MISC_RC_BAR2_CONFIG_HI 0x4038
-+
-+#define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c
-+#define PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f
-+
-+#define PCIE_MISC_PCIE_CTRL 0x4064
-+#define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 0x1
-+
-+#define PCIE_MISC_PCIE_STATUS 0x4068
-+#define PCIE_MISC_PCIE_STATUS_PCIE_PORT_MASK 0x80
-+#define PCIE_MISC_PCIE_STATUS_PCIE_DL_ACTIVE_MASK 0x20
-+#define PCIE_MISC_PCIE_STATUS_PCIE_PHYLINKUP_MASK 0x10
-+#define PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK 0x40
-+
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT 0x4070
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_LIMIT_MASK 0xfff00000
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK 0xfff0
-+#define PCIE_MEM_WIN0_BASE_LIMIT(win) \
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT + ((win) * 4)
-+
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI 0x4080
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI_BASE_MASK 0xff
-+#define PCIE_MEM_WIN0_BASE_HI(win) \
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI + ((win) * 8)
-+
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI 0x4084
-+#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI_LIMIT_MASK 0xff
-+#define PCIE_MEM_WIN0_LIMIT_HI(win) \
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8)
-+
-+#define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204
-+#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK 0x2
-+#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000
-+
-+#define PCIE_MSI_INTR2_STATUS 0x4500
-+#define PCIE_MSI_INTR2_CLR 0x4508
-+#define PCIE_MSI_INTR2_MASK_SET 0x4510
-+#define PCIE_MSI_INTR2_MASK_CLR 0x4514
-+
-+#define PCIE_EXT_CFG_DATA 0x8000
-+
-+#define PCIE_EXT_CFG_INDEX 0x9000
-+#define PCIE_EXT_BUSNUM_SHIFT 20
-+#define PCIE_EXT_SLOT_SHIFT 15
-+#define PCIE_EXT_FUNC_SHIFT 12
-+
-+#define PCIE_RGR1_SW_INIT_1 0x9210
-+#define PCIE_RGR1_SW_INIT_1_PERST_MASK 0x1
-+#define PCIE_RGR1_SW_INIT_1_INIT_MASK 0x2
-+
-+/* PCIe parameters */
-+#define BRCM_NUM_PCIE_OUT_WINS 0x4
-+
-+/* MDIO registers */
-+#define MDIO_PORT0 0x0
-+#define MDIO_DATA_MASK 0x7fffffff
-+#define MDIO_PORT_MASK 0xf0000
-+#define MDIO_REGAD_MASK 0xffff
-+#define MDIO_CMD_MASK 0xfff00000
-+#define MDIO_CMD_READ 0x1
-+#define MDIO_CMD_WRITE 0x0
-+#define MDIO_DATA_DONE_MASK 0x80000000
-+#define MDIO_RD_DONE(x) (((x) & MDIO_DATA_DONE_MASK) ? 1 : 0)
-+#define MDIO_WT_DONE(x) (((x) & MDIO_DATA_DONE_MASK) ? 0 : 1)
-+#define SSC_REGS_ADDR 0x1100
-+#define SET_ADDR_OFFSET 0x1f
-+#define SSC_CNTL_OFFSET 0x2
-+#define SSC_CNTL_OVRD_EN_MASK 0x8000
-+#define SSC_CNTL_OVRD_VAL_MASK 0x4000
-+#define SSC_STATUS_OFFSET 0x1
-+#define SSC_STATUS_SSC_MASK 0x400
-+#define SSC_STATUS_PLL_LOCK_MASK 0x800
-+
-+/* Internal PCIe Host Controller Information.*/
-+struct brcm_pcie {
-+ struct device *dev;
-+ void __iomem *base;
-+ struct clk *clk;
-+ struct pci_bus *root_bus;
-+ struct device_node *np;
-+ bool ssc;
-+ int gen;
-+};
-+
-+/*
-+ * This is to convert the size of the inbound "BAR" region to the
-+ * non-linear values of PCIE_X_MISC_RC_BAR[123]_CONFIG_LO.SIZE
-+ */
-+static int brcm_pcie_encode_ibar_size(u64 size)
-+{
-+ int log2_in = ilog2(size);
-+
-+ if (log2_in >= 12 && log2_in <= 15)
-+ /* Covers 4KB to 32KB (inclusive) */
-+ return (log2_in - 12) + 0x1c;
-+ else if (log2_in >= 16 && log2_in <= 35)
-+ /* Covers 64KB to 32GB, (inclusive) */
-+ return log2_in - 15;
-+ /* Something is awry so disable */
-+ return 0;
-+}
-+
-+static u32 brcm_pcie_mdio_form_pkt(int port, int regad, int cmd)
-+{
-+ u32 pkt = 0;
-+
-+ pkt |= FIELD_PREP(MDIO_PORT_MASK, port);
-+ pkt |= FIELD_PREP(MDIO_REGAD_MASK, regad);
-+ pkt |= FIELD_PREP(MDIO_CMD_MASK, cmd);
-+
-+ return pkt;
-+}
-+
-+/* negative return value indicates error */
-+static int brcm_pcie_mdio_read(void __iomem *base, u8 port, u8 regad, u32 *val)
-+{
-+ int tries;
-+ u32 data;
-+
-+ writel(brcm_pcie_mdio_form_pkt(port, regad, MDIO_CMD_READ),
-+ base + PCIE_RC_DL_MDIO_ADDR);
-+ readl(base + PCIE_RC_DL_MDIO_ADDR);
-+
-+ data = readl(base + PCIE_RC_DL_MDIO_RD_DATA);
-+ for (tries = 0; !MDIO_RD_DONE(data) && tries < 10; tries++) {
-+ udelay(10);
-+ data = readl(base + PCIE_RC_DL_MDIO_RD_DATA);
-+ }
-+
-+ *val = FIELD_GET(MDIO_DATA_MASK, data);
-+ return MDIO_RD_DONE(data) ? 0 : -EIO;
-+}
-+
-+/* negative return value indicates error */
-+static int brcm_pcie_mdio_write(void __iomem *base, u8 port,
-+ u8 regad, u16 wrdata)
-+{
-+ int tries;
-+ u32 data;
-+
-+ writel(brcm_pcie_mdio_form_pkt(port, regad, MDIO_CMD_WRITE),
-+ base + PCIE_RC_DL_MDIO_ADDR);
-+ readl(base + PCIE_RC_DL_MDIO_ADDR);
-+ writel(MDIO_DATA_DONE_MASK | wrdata, base + PCIE_RC_DL_MDIO_WR_DATA);
-+
-+ data = readl(base + PCIE_RC_DL_MDIO_WR_DATA);
-+ for (tries = 0; !MDIO_WT_DONE(data) && tries < 10; tries++) {
-+ udelay(10);
-+ data = readl(base + PCIE_RC_DL_MDIO_WR_DATA);
-+ }
-+
-+ return MDIO_WT_DONE(data) ? 0 : -EIO;
-+}
-+
-+/*
-+ * Configures device for Spread Spectrum Clocking (SSC) mode; a negative
-+ * return value indicates error.
-+ */
-+static int brcm_pcie_set_ssc(struct brcm_pcie *pcie)
-+{
-+ int pll, ssc;
-+ int ret;
-+ u32 tmp;
-+
-+ ret = brcm_pcie_mdio_write(pcie->base, MDIO_PORT0, SET_ADDR_OFFSET,
-+ SSC_REGS_ADDR);
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = brcm_pcie_mdio_read(pcie->base, MDIO_PORT0,
-+ SSC_CNTL_OFFSET, &tmp);
-+ if (ret < 0)
-+ return ret;
-+
-+ u32p_replace_bits(&tmp, 1, SSC_CNTL_OVRD_EN_MASK);
-+ u32p_replace_bits(&tmp, 1, SSC_CNTL_OVRD_VAL_MASK);
-+ ret = brcm_pcie_mdio_write(pcie->base, MDIO_PORT0,
-+ SSC_CNTL_OFFSET, tmp);
-+ if (ret < 0)
-+ return ret;
-+
-+ usleep_range(1000, 2000);
-+ ret = brcm_pcie_mdio_read(pcie->base, MDIO_PORT0,
-+ SSC_STATUS_OFFSET, &tmp);
-+ if (ret < 0)
-+ return ret;
-+
-+ ssc = FIELD_GET(SSC_STATUS_SSC_MASK, tmp);
-+ pll = FIELD_GET(SSC_STATUS_PLL_LOCK_MASK, tmp);
-+
-+ return ssc && pll ? 0 : -EIO;
-+}
-+
-+/* Limits operation to a specific generation (1, 2, or 3) */
-+static void brcm_pcie_set_gen(struct brcm_pcie *pcie, int gen)
-+{
-+ u16 lnkctl2 = readw(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2);
-+ u32 lnkcap = readl(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP);
-+
-+ lnkcap = (lnkcap & ~PCI_EXP_LNKCAP_SLS) | gen;
-+ writel(lnkcap, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP);
-+
-+ lnkctl2 = (lnkctl2 & ~0xf) | gen;
-+ writew(lnkctl2, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2);
-+}
-+
-+static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie,
-+ unsigned int win, u64 cpu_addr,
-+ u64 pcie_addr, u64 size)
-+{
-+ u32 cpu_addr_mb_high, limit_addr_mb_high;
-+ phys_addr_t cpu_addr_mb, limit_addr_mb;
-+ int high_addr_shift;
-+ u32 tmp;
-+
-+ /* Set the base of the pcie_addr window */
-+ writel(lower_32_bits(pcie_addr), pcie->base + PCIE_MEM_WIN0_LO(win));
-+ writel(upper_32_bits(pcie_addr), pcie->base + PCIE_MEM_WIN0_HI(win));
-+
-+ /* Write the addr base & limit lower bits (in MBs) */
-+ cpu_addr_mb = cpu_addr / SZ_1M;
-+ limit_addr_mb = (cpu_addr + size - 1) / SZ_1M;
-+
-+ tmp = readl(pcie->base + PCIE_MEM_WIN0_BASE_LIMIT(win));
-+ u32p_replace_bits(&tmp, cpu_addr_mb,
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK);
-+ u32p_replace_bits(&tmp, limit_addr_mb,
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_LIMIT_MASK);
-+ writel(tmp, pcie->base + PCIE_MEM_WIN0_BASE_LIMIT(win));
-+
-+ /* Write the cpu & limit addr upper bits */
-+ high_addr_shift =
-+ HWEIGHT32(PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK);
-+
-+ cpu_addr_mb_high = cpu_addr_mb >> high_addr_shift;
-+ tmp = readl(pcie->base + PCIE_MEM_WIN0_BASE_HI(win));
-+ u32p_replace_bits(&tmp, cpu_addr_mb_high,
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI_BASE_MASK);
-+ writel(tmp, pcie->base + PCIE_MEM_WIN0_BASE_HI(win));
-+
-+ limit_addr_mb_high = limit_addr_mb >> high_addr_shift;
-+ tmp = readl(pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win));
-+ u32p_replace_bits(&tmp, limit_addr_mb_high,
-+ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI_LIMIT_MASK);
-+ writel(tmp, pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win));
-+}
-+
-+/* The controller is capable of serving in both RC and EP roles */
-+static bool brcm_pcie_rc_mode(struct brcm_pcie *pcie)
-+{
-+ void __iomem *base = pcie->base;
-+ u32 val = readl(base + PCIE_MISC_PCIE_STATUS);
-+
-+ return !!FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_PORT_MASK, val);
-+}
-+
-+static bool brcm_pcie_link_up(struct brcm_pcie *pcie)
-+{
-+ u32 val = readl(pcie->base + PCIE_MISC_PCIE_STATUS);
-+ u32 dla = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_DL_ACTIVE_MASK, val);
-+ u32 plu = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_PHYLINKUP_MASK, val);
-+
-+ return dla && plu;
-+}
-+
-+/* Configuration space read/write support */
-+static inline int brcm_pcie_cfg_index(int busnr, int devfn, int reg)
-+{
-+ return ((PCI_SLOT(devfn) & 0x1f) << PCIE_EXT_SLOT_SHIFT)
-+ | ((PCI_FUNC(devfn) & 0x07) << PCIE_EXT_FUNC_SHIFT)
-+ | (busnr << PCIE_EXT_BUSNUM_SHIFT)
-+ | (reg & ~3);
-+}
-+
-+static void __iomem *brcm_pcie_map_conf(struct pci_bus *bus, unsigned int devfn,
-+ int where)
-+{
-+ struct brcm_pcie *pcie = bus->sysdata;
-+ void __iomem *base = pcie->base;
-+ int idx;
-+
-+ /* Accesses to the RC go right to the RC registers if slot==0 */
-+ if (pci_is_root_bus(bus))
-+ return PCI_SLOT(devfn) ? NULL : base + where;
-+
-+ /* For devices, write to the config space index register */
-+ idx = brcm_pcie_cfg_index(bus->number, devfn, 0);
-+ writel(idx, pcie->base + PCIE_EXT_CFG_INDEX);
-+ return base + PCIE_EXT_CFG_DATA + where;
-+}
-+
-+static struct pci_ops brcm_pcie_ops = {
-+ .map_bus = brcm_pcie_map_conf,
-+ .read = pci_generic_config_read,
-+ .write = pci_generic_config_write,
-+};
-+
-+static inline void brcm_pcie_bridge_sw_init_set(struct brcm_pcie *pcie, u32 val)
-+{
-+ u32 tmp;
-+
-+ tmp = readl(pcie->base + PCIE_RGR1_SW_INIT_1);
-+ u32p_replace_bits(&tmp, val, PCIE_RGR1_SW_INIT_1_INIT_MASK);
-+ writel(tmp, pcie->base + PCIE_RGR1_SW_INIT_1);
-+}
-+
-+static inline void brcm_pcie_perst_set(struct brcm_pcie *pcie, u32 val)
-+{
-+ u32 tmp;
-+
-+ tmp = readl(pcie->base + PCIE_RGR1_SW_INIT_1);
-+ u32p_replace_bits(&tmp, val, PCIE_RGR1_SW_INIT_1_PERST_MASK);
-+ writel(tmp, pcie->base + PCIE_RGR1_SW_INIT_1);
-+}
-+
-+static inline int brcm_pcie_get_rc_bar2_size_and_offset(struct brcm_pcie *pcie,
-+ u64 *rc_bar2_size,
-+ u64 *rc_bar2_offset)
-+{
-+ struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
-+ struct device *dev = pcie->dev;
-+ struct resource_entry *entry;
-+
-+ entry = resource_list_first_type(&bridge->dma_ranges, IORESOURCE_MEM);
-+ if (!entry)
-+ return -ENODEV;
-+
-+ *rc_bar2_offset = -entry->offset;
-+ *rc_bar2_size = 1ULL << fls64(entry->res->end - entry->res->start);
-+
-+ /*
-+ * We validate the inbound memory view even though we should trust
-+ * whatever the device-tree provides. This is because of an HW issue on
-+ * early Raspberry Pi 4's revisions (bcm2711). It turns out its
-+ * firmware has to dynamically edit dma-ranges due to a bug on the
-+ * PCIe controller integration, which prohibits any access above the
-+ * lower 3GB of memory. Given this, we decided to keep the dma-ranges
-+ * in check, avoiding hard to debug device-tree related issues in the
-+ * future:
-+ *
-+ * The PCIe host controller by design must set the inbound viewport to
-+ * be a contiguous arrangement of all of the system's memory. In
-+ * addition, its size mut be a power of two. To further complicate
-+ * matters, the viewport must start on a pcie-address that is aligned
-+ * on a multiple of its size. If a portion of the viewport does not
-+ * represent system memory -- e.g. 3GB of memory requires a 4GB
-+ * viewport -- we can map the outbound memory in or after 3GB and even
-+ * though the viewport will overlap the outbound memory the controller
-+ * will know to send outbound memory downstream and everything else
-+ * upstream.
-+ *
-+ * For example:
-+ *
-+ * - The best-case scenario, memory up to 3GB, is to place the inbound
-+ * region in the first 4GB of pcie-space, as some legacy devices can
-+ * only address 32bits. We would also like to put the MSI under 4GB
-+ * as well, since some devices require a 32bit MSI target address.
-+ *
-+ * - If the system memory is 4GB or larger we cannot start the inbound
-+ * region at location 0 (since we have to allow some space for
-+ * outbound memory @ 3GB). So instead it will start at the 1x
-+ * multiple of its size
-+ */
-+ if (!*rc_bar2_size || *rc_bar2_offset % *rc_bar2_size ||
-+ (*rc_bar2_offset < SZ_4G && *rc_bar2_offset > SZ_2G)) {
-+ dev_err(dev, "Invalid rc_bar2_offset/size: size 0x%llx, off 0x%llx\n",
-+ *rc_bar2_size, *rc_bar2_offset);
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static int brcm_pcie_setup(struct brcm_pcie *pcie)
-+{
-+ struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
-+ u64 rc_bar2_offset, rc_bar2_size;
-+ void __iomem *base = pcie->base;
-+ struct device *dev = pcie->dev;
-+ struct resource_entry *entry;
-+ unsigned int scb_size_val;
-+ bool ssc_good = false;
-+ struct resource *res;
-+ int num_out_wins = 0;
-+ u16 nlw, cls, lnksta;
-+ int i, ret;
-+ u32 tmp;
-+
-+ /* Reset the bridge */
-+ brcm_pcie_bridge_sw_init_set(pcie, 1);
-+
-+ usleep_range(100, 200);
-+
-+ /* Take the bridge out of reset */
-+ brcm_pcie_bridge_sw_init_set(pcie, 0);
-+
-+ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
-+ tmp &= ~PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK;
-+ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
-+ /* Wait for SerDes to be stable */
-+ usleep_range(100, 200);
-+
-+ /* Set SCB_MAX_BURST_SIZE, CFG_READ_UR_MODE, SCB_ACCESS_EN */
-+ u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK);
-+ u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK);
-+ u32p_replace_bits(&tmp, PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_128,
-+ PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_MASK);
-+ writel(tmp, base + PCIE_MISC_MISC_CTRL);
-+
-+ ret = brcm_pcie_get_rc_bar2_size_and_offset(pcie, &rc_bar2_size,
-+ &rc_bar2_offset);
-+ if (ret)
-+ return ret;
-+
-+ tmp = lower_32_bits(rc_bar2_offset);
-+ u32p_replace_bits(&tmp, brcm_pcie_encode_ibar_size(rc_bar2_size),
-+ PCIE_MISC_RC_BAR2_CONFIG_LO_SIZE_MASK);
-+ writel(tmp, base + PCIE_MISC_RC_BAR2_CONFIG_LO);
-+ writel(upper_32_bits(rc_bar2_offset),
-+ base + PCIE_MISC_RC_BAR2_CONFIG_HI);
-+
-+ scb_size_val = rc_bar2_size ?
-+ ilog2(rc_bar2_size) - 15 : 0xf; /* 0xf is 1GB */
-+ tmp = readl(base + PCIE_MISC_MISC_CTRL);
-+ u32p_replace_bits(&tmp, scb_size_val,
-+ PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK);
-+ writel(tmp, base + PCIE_MISC_MISC_CTRL);
-+
-+ /* disable the PCIe->GISB memory window (RC_BAR1) */
-+ tmp = readl(base + PCIE_MISC_RC_BAR1_CONFIG_LO);
-+ tmp &= ~PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK;
-+ writel(tmp, base + PCIE_MISC_RC_BAR1_CONFIG_LO);
-+
-+ /* disable the PCIe->SCB memory window (RC_BAR3) */
-+ tmp = readl(base + PCIE_MISC_RC_BAR3_CONFIG_LO);
-+ tmp &= ~PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK;
-+ writel(tmp, base + PCIE_MISC_RC_BAR3_CONFIG_LO);
-+
-+ /* Mask all interrupts since we are not handling any yet */
-+ writel(0xffffffff, pcie->base + PCIE_MSI_INTR2_MASK_SET);
-+
-+ /* clear any interrupts we find on boot */
-+ writel(0xffffffff, pcie->base + PCIE_MSI_INTR2_CLR);
-+
-+ if (pcie->gen)
-+ brcm_pcie_set_gen(pcie, pcie->gen);
-+
-+ /* Unassert the fundamental reset */
-+ brcm_pcie_perst_set(pcie, 0);
-+
-+ /*
-+ * Give the RC/EP time to wake up, before trying to configure RC.
-+ * Intermittently check status for link-up, up to a total of 100ms.
-+ */
-+ for (i = 0; i < 100 && !brcm_pcie_link_up(pcie); i += 5)
-+ msleep(5);
-+
-+ if (!brcm_pcie_link_up(pcie)) {
-+ dev_err(dev, "link down\n");
-+ return -ENODEV;
-+ }
-+
-+ if (!brcm_pcie_rc_mode(pcie)) {
-+ dev_err(dev, "PCIe misconfigured; is in EP mode\n");
-+ return -EINVAL;
-+ }
-+
-+ resource_list_for_each_entry(entry, &bridge->windows) {
-+ res = entry->res;
-+
-+ if (resource_type(res) != IORESOURCE_MEM)
-+ continue;
-+
-+ if (num_out_wins >= BRCM_NUM_PCIE_OUT_WINS) {
-+ dev_err(pcie->dev, "too many outbound wins\n");
-+ return -EINVAL;
-+ }
-+
-+ brcm_pcie_set_outbound_win(pcie, num_out_wins, res->start,
-+ res->start - entry->offset,
-+ res->end - res->start + 1);
-+ num_out_wins++;
-+ }
-+
-+ /*
-+ * For config space accesses on the RC, show the right class for
-+ * a PCIe-PCIe bridge (the default setting is to be EP mode).
-+ */
-+ tmp = readl(base + PCIE_RC_CFG_PRIV1_ID_VAL3);
-+ u32p_replace_bits(&tmp, 0x060400,
-+ PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK);
-+ writel(tmp, base + PCIE_RC_CFG_PRIV1_ID_VAL3);
-+
-+ if (pcie->ssc) {
-+ ret = brcm_pcie_set_ssc(pcie);
-+ if (ret == 0)
-+ ssc_good = true;
-+ else
-+ dev_err(dev, "failed attempt to enter ssc mode\n");
-+ }
-+
-+ lnksta = readw(base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKSTA);
-+ cls = FIELD_GET(PCI_EXP_LNKSTA_CLS, lnksta);
-+ nlw = FIELD_GET(PCI_EXP_LNKSTA_NLW, lnksta);
-+ dev_info(dev, "link up, %s x%u %s\n",
-+ PCIE_SPEED2STR(cls + PCI_SPEED_133MHz_PCIX_533),
-+ nlw, ssc_good ? "(SSC)" : "(!SSC)");
-+
-+ /* PCIe->SCB endian mode for BAR */
-+ tmp = readl(base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1);
-+ u32p_replace_bits(&tmp, PCIE_RC_CFG_VENDOR_SPCIFIC_REG1_LITTLE_ENDIAN,
-+ PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK);
-+ writel(tmp, base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1);
-+
-+ /*
-+ * Refclk from RC should be gated with CLKREQ# input when ASPM L0s,L1
-+ * is enabled => setting the CLKREQ_DEBUG_ENABLE field to 1.
-+ */
-+ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
-+ tmp |= PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK;
-+ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
-+
-+ return 0;
-+}
-+
-+/* L23 is a low-power PCIe link state */
-+static void brcm_pcie_enter_l23(struct brcm_pcie *pcie)
-+{
-+ void __iomem *base = pcie->base;
-+ int l23, i;
-+ u32 tmp;
-+
-+ /* Assert request for L23 */
-+ tmp = readl(base + PCIE_MISC_PCIE_CTRL);
-+ u32p_replace_bits(&tmp, 1, PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK);
-+ writel(tmp, base + PCIE_MISC_PCIE_CTRL);
-+
-+ /* Wait up to 36 msec for L23 */
-+ tmp = readl(base + PCIE_MISC_PCIE_STATUS);
-+ l23 = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK, tmp);
-+ for (i = 0; i < 15 && !l23; i++) {
-+ usleep_range(2000, 2400);
-+ tmp = readl(base + PCIE_MISC_PCIE_STATUS);
-+ l23 = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK,
-+ tmp);
-+ }
-+
-+ if (!l23)
-+ dev_err(pcie->dev, "failed to enter low-power link state\n");
-+}
-+
-+static void brcm_pcie_turn_off(struct brcm_pcie *pcie)
-+{
-+ void __iomem *base = pcie->base;
-+ int tmp;
-+
-+ if (brcm_pcie_link_up(pcie))
-+ brcm_pcie_enter_l23(pcie);
-+ /* Assert fundamental reset */
-+ brcm_pcie_perst_set(pcie, 1);
-+
-+ /* Deassert request for L23 in case it was asserted */
-+ tmp = readl(base + PCIE_MISC_PCIE_CTRL);
-+ u32p_replace_bits(&tmp, 0, PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK);
-+ writel(tmp, base + PCIE_MISC_PCIE_CTRL);
-+
-+ /* Turn off SerDes */
-+ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
-+ u32p_replace_bits(&tmp, 1, PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK);
-+ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
-+
-+ /* Shutdown PCIe bridge */
-+ brcm_pcie_bridge_sw_init_set(pcie, 1);
-+}
-+
-+static void __brcm_pcie_remove(struct brcm_pcie *pcie)
-+{
-+ brcm_pcie_turn_off(pcie);
-+ clk_disable_unprepare(pcie->clk);
-+ clk_put(pcie->clk);
-+}
-+
-+static int brcm_pcie_remove(struct platform_device *pdev)
-+{
-+ struct brcm_pcie *pcie = platform_get_drvdata(pdev);
-+
-+ pci_stop_root_bus(pcie->root_bus);
-+ pci_remove_root_bus(pcie->root_bus);
-+ __brcm_pcie_remove(pcie);
-+
-+ return 0;
-+}
-+
-+static int brcm_pcie_probe(struct platform_device *pdev)
-+{
-+ struct device_node *np = pdev->dev.of_node;
-+ struct pci_host_bridge *bridge;
-+ struct brcm_pcie *pcie;
-+ struct pci_bus *child;
-+ struct resource *res;
-+ int ret;
-+
-+ bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
-+ if (!bridge)
-+ return -ENOMEM;
-+
-+ pcie = pci_host_bridge_priv(bridge);
-+ pcie->dev = &pdev->dev;
-+ pcie->np = np;
-+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ pcie->base = devm_ioremap_resource(&pdev->dev, res);
-+ if (IS_ERR(pcie->base))
-+ return PTR_ERR(pcie->base);
-+
-+ pcie->clk = devm_clk_get_optional(&pdev->dev, "sw_pcie");
-+ if (IS_ERR(pcie->clk))
-+ return PTR_ERR(pcie->clk);
-+
-+ ret = of_pci_get_max_link_speed(np);
-+ pcie->gen = (ret < 0) ? 0 : ret;
-+
-+ pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc");
-+
-+ ret = pci_parse_request_of_pci_ranges(pcie->dev, &bridge->windows,
-+ &bridge->dma_ranges, NULL);
-+ if (ret)
-+ return ret;
-+
-+ ret = clk_prepare_enable(pcie->clk);
-+ if (ret) {
-+ dev_err(&pdev->dev, "could not enable clock\n");
-+ return ret;
-+ }
-+
-+ ret = brcm_pcie_setup(pcie);
-+ if (ret)
-+ goto fail;
-+
-+ bridge->dev.parent = &pdev->dev;
-+ bridge->busnr = 0;
-+ bridge->ops = &brcm_pcie_ops;
-+ bridge->sysdata = pcie;
-+ bridge->map_irq = of_irq_parse_and_map_pci;
-+ bridge->swizzle_irq = pci_common_swizzle;
-+
-+ ret = pci_scan_root_bus_bridge(bridge);
-+ if (ret < 0) {
-+ dev_err(pcie->dev, "Scanning root bridge failed\n");
-+ goto fail;
-+ }
-+
-+ pci_assign_unassigned_bus_resources(bridge->bus);
-+ list_for_each_entry(child, &bridge->bus->children, node)
-+ pcie_bus_configure_settings(child);
-+ pci_bus_add_devices(bridge->bus);
-+ platform_set_drvdata(pdev, pcie);
-+ pcie->root_bus = bridge->bus;
-+
-+ return 0;
-+fail:
-+ __brcm_pcie_remove(pcie);
-+ return ret;
-+}
-+
-+static const struct of_device_id brcm_pcie_match[] = {
-+ { .compatible = "brcm,bcm2711-pcie" },
-+ {},
-+};
-+MODULE_DEVICE_TABLE(of, brcm_pcie_match);
-+
-+static struct platform_driver brcm_pcie_driver = {
-+ .probe = brcm_pcie_probe,
-+ .remove = brcm_pcie_remove,
-+ .driver = {
-+ .name = "brcm-pcie",
-+ .of_match_table = brcm_pcie_match,
-+ },
-+};
-+module_platform_driver(brcm_pcie_driver);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_DESCRIPTION("Broadcom STB PCIe RC driver");
-+MODULE_AUTHOR("Broadcom");
-
-From patchwork Mon Dec 16 11:01:10 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11293819
-Return-Path:
- <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0FB1A930
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:26 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id DA5D2206EC
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:25 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="L57a4G/z"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DA5D2206EC
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=iItojdIKeV2oJC/4nHltnSdo0OFytKQEQSG83gc3mIo=; b=L57a4G/zV1L3EX
- zFjTyLpmW4uweymZSoPuNKRbbLfHfV8GJzdk0+AIcGY8T/0LDSubyqm52QwbEIKIZF6q1tYQMV01x
- dCx/B3rV8B0EcUM/RedeUUqXgMXKYn7pdmzUYR2jRB1NEOucFv6xZA1Ap8ZF1k7A2oACSkf/SBoXA
- PKbjs2hB/33AoX7kK98vVxVctzuUBE2CkGB419pPh1eXx3QyybSGYoBsNLsQ1BFfL3YwCV2unHoCx
- h4QSzJ7vBkuNHDVCdq/t6NRFs98dk6ooDHlISOhJW6F3bdR36Vx1/+5tC1MBjm/Wy1oZmLGR+MeSo
- 0J11yccg2BRitcgEv2gw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo8u-00043K-US; Mon, 16 Dec 2019 11:02:24 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo83-00037J-Ob; Mon, 16 Dec 2019 11:01:35 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id 502A3AC7D;
- Mon, 16 Dec 2019 11:01:30 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
- Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
- Florian Fainelli <f.fainelli@gmail.com>,
- bcm-kernel-feedback-list@broadcom.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v5 4/6] PCI: brcmstb: Add MSI support
-Date: Mon, 16 Dec 2019 12:01:10 +0100
-Message-Id: <20191216110113.30436-5-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.24.0
-In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20191216_030132_128008_DE7B462C
-X-CRM114-Status: GOOD ( 23.12 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: mbrugger@suse.com, linux-pci@vger.kernel.org, phil@raspberrypi.org,
- jeremy.linton@arm.com, wahrenst@gmx.net, james.quinlan@broadcom.com,
- Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org,
- linux-rpi-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-From: Jim Quinlan <james.quinlan@broadcom.com>
-
-This adds MSI support to the Broadcom STB PCIe host controller. The MSI
-controller is physically located within the PCIe block, however, there
-is no reason why the MSI controller could not be moved elsewhere in the
-future. MSIX is not supported by the HW.
-
-Since the internal Brcmstb MSI controller is intertwined with the PCIe
-controller, it is not its own platform device but rather part of the
-PCIe platform device.
-
-Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
-Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Reviewed-by: Marc Zyngier <maz@kernel.org>
-Reviewed-by: Andrew Murray <andrew.murray@arm.com>
----
-
-Changes since v3 (kept Marc's reviewed by as changes seem small enough):
- - Use define to access MSI_DATA_CONFIG_VAL
- - Update commit message
-
-Changes since v2:
- - Use standard APIs on register operations
- - Get rid of revision code
- - Update rules to msi_target_addr selection
- - Remove unwarranted MSI_FLAG_PCI_MSIX
- - Small cosmetic changes
-
-Changes since v1:
- - Move revision code and some registers to this patch
- - Use PCIE_MSI_IRQ_DOMAIN in Kconfig
- - Remove redundant register read from ISR
- - Fail probe on MSI init error
- - Get rid of msi_internal
- - Use bitmap family of functions
- - Use edge triggered setup
- - Add comment regarding MultiMSI
- - Simplify compose_msi_msg to avoid reg read
-
-This is based on Jim's original submission[1] with some slight changes
-regarding how pcie->msi_target_addr is decided.
-
-[1] https://patchwork.kernel.org/patch/10605955/
-
- drivers/pci/controller/Kconfig | 1 +
- drivers/pci/controller/pcie-brcmstb.c | 261 +++++++++++++++++++++++++-
- 2 files changed, 261 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
-index 27504f108ee5..918e283bbff1 100644
---- a/drivers/pci/controller/Kconfig
-+++ b/drivers/pci/controller/Kconfig
-@@ -257,6 +257,7 @@ config PCIE_BRCMSTB
- tristate "Broadcom Brcmstb PCIe host controller"
- depends on ARCH_BCM2835 || COMPILE_TEST
- depends on OF
-+ depends on PCI_MSI_IRQ_DOMAIN
- help
- Say Y here to enable PCIe host controller support for
- Broadcom STB based SoCs, like the Raspberry Pi 4.
-diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
-index dd681164faa0..7ba06a0e1a71 100644
---- a/drivers/pci/controller/pcie-brcmstb.c
-+++ b/drivers/pci/controller/pcie-brcmstb.c
-@@ -2,6 +2,7 @@
- /* Copyright (C) 2009 - 2019 Broadcom */
-
- #include <linux/bitfield.h>
-+#include <linux/bitops.h>
- #include <linux/clk.h>
- #include <linux/compiler.h>
- #include <linux/delay.h>
-@@ -9,11 +10,13 @@
- #include <linux/interrupt.h>
- #include <linux/io.h>
- #include <linux/ioport.h>
-+#include <linux/irqchip/chained_irq.h>
- #include <linux/irqdomain.h>
- #include <linux/kernel.h>
- #include <linux/list.h>
- #include <linux/log2.h>
- #include <linux/module.h>
-+#include <linux/msi.h>
- #include <linux/of_address.h>
- #include <linux/of_irq.h>
- #include <linux/of_pci.h>
-@@ -67,6 +70,12 @@
- #define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c
- #define PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f
-
-+#define PCIE_MISC_MSI_BAR_CONFIG_LO 0x4044
-+#define PCIE_MISC_MSI_BAR_CONFIG_HI 0x4048
-+
-+#define PCIE_MISC_MSI_DATA_CONFIG 0x404c
-+#define PCIE_MISC_MSI_DATA_CONFIG_VAL 0xffe06540
-+
- #define PCIE_MISC_PCIE_CTRL 0x4064
- #define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 0x1
-
-@@ -114,6 +123,11 @@
-
- /* PCIe parameters */
- #define BRCM_NUM_PCIE_OUT_WINS 0x4
-+#define BRCM_INT_PCI_MSI_NR 32
-+
-+/* MSI target adresses */
-+#define BRCM_MSI_TARGET_ADDR_LT_4GB 0x0fffffffcULL
-+#define BRCM_MSI_TARGET_ADDR_GT_4GB 0xffffffffcULL
-
- /* MDIO registers */
- #define MDIO_PORT0 0x0
-@@ -135,6 +149,19 @@
- #define SSC_STATUS_SSC_MASK 0x400
- #define SSC_STATUS_PLL_LOCK_MASK 0x800
-
-+struct brcm_msi {
-+ struct device *dev;
-+ void __iomem *base;
-+ struct device_node *np;
-+ struct irq_domain *msi_domain;
-+ struct irq_domain *inner_domain;
-+ struct mutex lock; /* guards the alloc/free operations */
-+ u64 target_addr;
-+ int irq;
-+ /* used indicates which MSI interrupts have been alloc'd */
-+ unsigned long used;
-+};
-+
- /* Internal PCIe Host Controller Information.*/
- struct brcm_pcie {
- struct device *dev;
-@@ -144,6 +171,8 @@ struct brcm_pcie {
- struct device_node *np;
- bool ssc;
- int gen;
-+ u64 msi_target_addr;
-+ struct brcm_msi *msi;
- };
-
- /*
-@@ -309,6 +338,214 @@ static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie,
- writel(tmp, pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win));
- }
-
-+static struct irq_chip brcm_msi_irq_chip = {
-+ .name = "BRCM STB PCIe MSI",
-+ .irq_ack = irq_chip_ack_parent,
-+ .irq_mask = pci_msi_mask_irq,
-+ .irq_unmask = pci_msi_unmask_irq,
-+};
-+
-+static struct msi_domain_info brcm_msi_domain_info = {
-+ /* Multi MSI is supported by the controller, but not by this driver */
-+ .flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS),
-+ .chip = &brcm_msi_irq_chip,
-+};
-+
-+static void brcm_pcie_msi_isr(struct irq_desc *desc)
-+{
-+ struct irq_chip *chip = irq_desc_get_chip(desc);
-+ unsigned long status, virq;
-+ struct brcm_msi *msi;
-+ struct device *dev;
-+ u32 bit;
-+
-+ chained_irq_enter(chip, desc);
-+ msi = irq_desc_get_handler_data(desc);
-+ dev = msi->dev;
-+
-+ status = readl(msi->base + PCIE_MSI_INTR2_STATUS);
-+ for_each_set_bit(bit, &status, BRCM_INT_PCI_MSI_NR) {
-+ virq = irq_find_mapping(msi->inner_domain, bit);
-+ if (virq)
-+ generic_handle_irq(virq);
-+ else
-+ dev_dbg(dev, "unexpected MSI\n");
-+ }
-+
-+ chained_irq_exit(chip, desc);
-+}
-+
-+static void brcm_msi_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
-+{
-+ struct brcm_msi *msi = irq_data_get_irq_chip_data(data);
-+
-+ msg->address_lo = lower_32_bits(msi->target_addr);
-+ msg->address_hi = upper_32_bits(msi->target_addr);
-+ msg->data = (0xffff & PCIE_MISC_MSI_DATA_CONFIG_VAL) | data->hwirq;
-+}
-+
-+static int brcm_msi_set_affinity(struct irq_data *irq_data,
-+ const struct cpumask *mask, bool force)
-+{
-+ return -EINVAL;
-+}
-+
-+static void brcm_msi_ack_irq(struct irq_data *data)
-+{
-+ struct brcm_msi *msi = irq_data_get_irq_chip_data(data);
-+
-+ writel(1 << data->hwirq, msi->base + PCIE_MSI_INTR2_CLR);
-+}
-+
-+
-+static struct irq_chip brcm_msi_bottom_irq_chip = {
-+ .name = "BRCM STB MSI",
-+ .irq_compose_msi_msg = brcm_msi_compose_msi_msg,
-+ .irq_set_affinity = brcm_msi_set_affinity,
-+ .irq_ack = brcm_msi_ack_irq,
-+};
-+
-+static int brcm_msi_alloc(struct brcm_msi *msi)
-+{
-+ int hwirq;
-+
-+ mutex_lock(&msi->lock);
-+ hwirq = bitmap_find_free_region(&msi->used, BRCM_INT_PCI_MSI_NR, 0);
-+ mutex_unlock(&msi->lock);
-+
-+ return hwirq;
-+}
-+
-+static void brcm_msi_free(struct brcm_msi *msi, unsigned long hwirq)
-+{
-+ mutex_lock(&msi->lock);
-+ bitmap_release_region(&msi->used, hwirq, 0);
-+ mutex_unlock(&msi->lock);
-+}
-+
-+static int brcm_irq_domain_alloc(struct irq_domain *domain, unsigned int virq,
-+ unsigned int nr_irqs, void *args)
-+{
-+ struct brcm_msi *msi = domain->host_data;
-+ int hwirq;
-+
-+ hwirq = brcm_msi_alloc(msi);
-+
-+ if (hwirq < 0)
-+ return hwirq;
-+
-+ irq_domain_set_info(domain, virq, (irq_hw_number_t)hwirq,
-+ &brcm_msi_bottom_irq_chip, domain->host_data,
-+ handle_edge_irq, NULL, NULL);
-+ return 0;
-+}
-+
-+static void brcm_irq_domain_free(struct irq_domain *domain,
-+ unsigned int virq, unsigned int nr_irqs)
-+{
-+ struct irq_data *d = irq_domain_get_irq_data(domain, virq);
-+ struct brcm_msi *msi = irq_data_get_irq_chip_data(d);
-+
-+ brcm_msi_free(msi, d->hwirq);
-+}
-+
-+static const struct irq_domain_ops msi_domain_ops = {
-+ .alloc = brcm_irq_domain_alloc,
-+ .free = brcm_irq_domain_free,
-+};
-+
-+static int brcm_allocate_domains(struct brcm_msi *msi)
-+{
-+ struct fwnode_handle *fwnode = of_node_to_fwnode(msi->np);
-+ struct device *dev = msi->dev;
-+
-+ msi->inner_domain = irq_domain_add_linear(NULL, BRCM_INT_PCI_MSI_NR,
-+ &msi_domain_ops, msi);
-+ if (!msi->inner_domain) {
-+ dev_err(dev, "failed to create IRQ domain\n");
-+ return -ENOMEM;
-+ }
-+
-+ msi->msi_domain = pci_msi_create_irq_domain(fwnode,
-+ &brcm_msi_domain_info,
-+ msi->inner_domain);
-+ if (!msi->msi_domain) {
-+ dev_err(dev, "failed to create MSI domain\n");
-+ irq_domain_remove(msi->inner_domain);
-+ return -ENOMEM;
-+ }
-+
-+ return 0;
-+}
-+
-+static void brcm_free_domains(struct brcm_msi *msi)
-+{
-+ irq_domain_remove(msi->msi_domain);
-+ irq_domain_remove(msi->inner_domain);
-+}
-+
-+static void brcm_msi_remove(struct brcm_pcie *pcie)
-+{
-+ struct brcm_msi *msi = pcie->msi;
-+
-+ if (!msi)
-+ return;
-+ irq_set_chained_handler(msi->irq, NULL);
-+ irq_set_handler_data(msi->irq, NULL);
-+ brcm_free_domains(msi);
-+}
-+
-+static void brcm_msi_set_regs(struct brcm_msi *msi)
-+{
-+ writel(0xffffffff, msi->base + PCIE_MSI_INTR2_MASK_CLR);
-+
-+ /*
-+ * The 0 bit of PCIE_MISC_MSI_BAR_CONFIG_LO is repurposed to MSI
-+ * enable, which we set to 1.
-+ */
-+ writel(lower_32_bits(msi->target_addr) | 0x1,
-+ msi->base + PCIE_MISC_MSI_BAR_CONFIG_LO);
-+ writel(upper_32_bits(msi->target_addr),
-+ msi->base + PCIE_MISC_MSI_BAR_CONFIG_HI);
-+
-+ writel(PCIE_MISC_MSI_DATA_CONFIG_VAL,
-+ msi->base + PCIE_MISC_MSI_DATA_CONFIG);
-+}
-+
-+static int brcm_pcie_enable_msi(struct brcm_pcie *pcie)
-+{
-+ struct brcm_msi *msi;
-+ int irq, ret;
-+ struct device *dev = pcie->dev;
-+
-+ irq = irq_of_parse_and_map(dev->of_node, 1);
-+ if (irq <= 0) {
-+ dev_err(dev, "cannot map MSI interrupt\n");
-+ return -ENODEV;
-+ }
-+
-+ msi = devm_kzalloc(dev, sizeof(struct brcm_msi), GFP_KERNEL);
-+ if (!msi)
-+ return -ENOMEM;
-+
-+ msi->dev = dev;
-+ msi->base = pcie->base;
-+ msi->np = pcie->np;
-+ msi->target_addr = pcie->msi_target_addr;
-+ msi->irq = irq;
-+
-+ ret = brcm_allocate_domains(msi);
-+ if (ret)
-+ return ret;
-+
-+ irq_set_chained_handler_and_data(msi->irq, brcm_pcie_msi_isr, msi);
-+
-+ brcm_msi_set_regs(msi);
-+ pcie->msi = msi;
-+
-+ return 0;
-+}
-+
- /* The controller is capable of serving in both RC and EP roles */
- static bool brcm_pcie_rc_mode(struct brcm_pcie *pcie)
- {
-@@ -490,6 +727,18 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie)
- PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK);
- writel(tmp, base + PCIE_MISC_MISC_CTRL);
-
-+ /*
-+ * We ideally want the MSI target address to be located in the 32bit
-+ * addressable memory area. Some devices might depend on it. This is
-+ * possible either when the inbound window is located above the lower
-+ * 4GB or when the inbound area is smaller than 4GB (taking into
-+ * account the rounding-up we're forced to perform).
-+ */
-+ if (rc_bar2_offset >= SZ_4G || (rc_bar2_size + rc_bar2_offset) < SZ_4G)
-+ pcie->msi_target_addr = BRCM_MSI_TARGET_ADDR_LT_4GB;
-+ else
-+ pcie->msi_target_addr = BRCM_MSI_TARGET_ADDR_GT_4GB;
-+
- /* disable the PCIe->GISB memory window (RC_BAR1) */
- tmp = readl(base + PCIE_MISC_RC_BAR1_CONFIG_LO);
- tmp &= ~PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK;
-@@ -639,6 +888,7 @@ static void brcm_pcie_turn_off(struct brcm_pcie *pcie)
-
- static void __brcm_pcie_remove(struct brcm_pcie *pcie)
- {
-+ brcm_msi_remove(pcie);
- brcm_pcie_turn_off(pcie);
- clk_disable_unprepare(pcie->clk);
- clk_put(pcie->clk);
-@@ -657,7 +907,7 @@ static int brcm_pcie_remove(struct platform_device *pdev)
-
- static int brcm_pcie_probe(struct platform_device *pdev)
- {
-- struct device_node *np = pdev->dev.of_node;
-+ struct device_node *np = pdev->dev.of_node, *msi_np;
- struct pci_host_bridge *bridge;
- struct brcm_pcie *pcie;
- struct pci_bus *child;
-@@ -701,6 +951,15 @@ static int brcm_pcie_probe(struct platform_device *pdev)
- if (ret)
- goto fail;
-
-+ msi_np = of_parse_phandle(pcie->np, "msi-parent", 0);
-+ if (pci_msi_enabled() && msi_np == pcie->np) {
-+ ret = brcm_pcie_enable_msi(pcie);
-+ if (ret) {
-+ dev_err(pcie->dev, "probe of internal MSI failed");
-+ goto fail;
-+ }
-+ }
-+
- bridge->dev.parent = &pdev->dev;
- bridge->busnr = 0;
- bridge->ops = &brcm_pcie_ops;
-
-From patchwork Mon Dec 16 11:01:12 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11293821
-Return-Path:
- <SRS0=BOSQ=2G=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 224E3930
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:45 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id F26AB206EC
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Dec 2019 11:02:44 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="eMDipuhg"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F26AB206EC
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=89gvO/q/aU2KdnEtpUR7fViPlJcU9Hv2PR7UHxNLFTg=; b=eMDipuhg+M9lCx
- 8ENnzwQAiTmaNTilNadUK3F2Z1K6tk8e2VJcgmacOjfEF5yQspDGCxaemBhqrfFpIVaPIgd6D+2Ru
- 5oQaG8pyaOReVRpAa2xgws20vpYXVku0j4jel8gsAEXtyMKIFMqqUgQGKCTatNP4An1aMP6c5EC5z
- mkmzodfHSJPOATqU55l6AcamhGlfLO/xNXUEIFVQz891R1m8FQO6pnryIa7IYr3d3TkinptRk6hFO
- 60i+H50v2/NzmROaDORveKAO9a6APoqlzLK9sj8ehy3lVItSguKco7jnrBapYOPYcNgdMp2PrnkHq
- QFDUmvLZNnAqN+ez5NkA==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo9D-0004J8-3H; Mon, 16 Dec 2019 11:02:43 +0000
-Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1igo86-00039m-4x; Mon, 16 Dec 2019 11:01:36 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx1.suse.de (Postfix) with ESMTP id BD4CDACD7;
- Mon, 16 Dec 2019 11:01:32 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: andrew.murray@arm.com,
- maz@kernel.org,
- linux-kernel@vger.kernel.org
-Subject: [PATCH v5 6/6] arm64: defconfig: Enable Broadcom's STB PCIe
- controller
-Date: Mon, 16 Dec 2019 12:01:12 +0100
-Message-Id: <20191216110113.30436-7-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.24.0
-In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20191216_030134_339113_ECC8A7D7
-X-CRM114-Status: UNSURE ( 8.26 )
-X-CRM114-Notice: Please train this message.
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: linux-arm-kernel@lists.infradead.org, f.fainelli@gmail.com,
- linux-pci@vger.kernel.org, phil@raspberrypi.org, jeremy.linton@arm.com,
- mbrugger@suse.com, wahrenst@gmx.net, james.quinlan@broadcom.com,
- Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- linux-rpi-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-For now mainly used in the Raspberry Pi 4.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- arch/arm64/configs/defconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 2646fc76b8db..2b80980ef576 100644
---- a/arch/arm64/configs/defconfig
-+++ b/arch/arm64/configs/defconfig
-@@ -192,6 +192,7 @@ CONFIG_PCIE_ALTERA_MSI=y
- CONFIG_PCI_HOST_THUNDER_PEM=y
- CONFIG_PCI_HOST_THUNDER_ECAM=y
- CONFIG_PCIE_ROCKCHIP_HOST=m
-+CONFIG_PCIE_BRCMSTB=m
- CONFIG_PCI_LAYERSCAPE=y
- CONFIG_PCI_HISI=y
- CONFIG_PCIE_QCOM=y
diff --git a/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
new file mode 100644
index 000000000..fb7c1afaf
--- /dev/null
+++ b/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
@@ -0,0 +1,671 @@
+From patchwork Tue Mar 24 18:28:09 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+X-Patchwork-Id: 11456187
+Return-Path:
+ <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 884BD1667
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:29:06 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 64FF0206F6
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:29:06 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="G3ed3Qzw"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 64FF0206F6
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=suse.de
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=ZW8pFtwlUj3q7GZJotB4Rgjtfp9gMy+l74jJQcTab0w=; b=G3ed3QzwnvX3MD
+ lHn7XDGcdKtGCuuX/Xhmoz/5j7Rgw1hOz3+8tGJaH+BigLM7Kfms9kB2c3chHrDwTH5SW0LzlU8el
+ hxpbcJnVFy3VLdCMUrvQUXY0SmOcoSSN3NK032HxlqAKSa5HPE3dTBWheiUGKlZ6c3A9dGItYzD6I
+ M4WO+9b0wHM1KMMrsyVo51ysdAFEXtSym1xNN+pW/tE9ak+/bFHxMW1XcMNrVwo9R43U5JSvmcC0M
+ OKBYNAYFpFWx3n3wvAaFQkBEkmH3QmPBd0aiE8UTGk6CY0VHwjbVcE7u7daksOPLrZgsRgqmLRatE
+ 98WbgEKpzDu7mgvLn5zw==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoIP-0002bD-LX; Tue, 24 Mar 2020 18:29:01 +0000
+Received: from mx2.suse.de ([195.135.220.15])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoHq-00024O-PS; Tue, 24 Mar 2020 18:28:29 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx2.suse.de (Postfix) with ESMTP id 4A537ABD1;
+ Tue, 24 Mar 2020 18:28:22 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: linux-kernel@vger.kernel.org, Florian Fainelli <f.fainelli@gmail.com>,
+ Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
+ bcm-kernel-feedback-list@broadcom.com,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Subject: [PATCH v6 1/4] soc: bcm2835: Sync xHCI reset firmware property with
+ downstream
+Date: Tue, 24 Mar 2020 19:28:09 +0100
+Message-Id: <20200324182812.20420-2-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.25.1
+In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200324_112826_965603_11D899C2
+X-CRM114-Status: GOOD ( 13.71 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-2.3 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
+ [195.135.220.15 listed in wl.mailspike.net]
+ -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
+ medium trust [195.135.220.15 listed in list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
+ gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
+ linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+The property is needed in order to trigger VL805's firmware load. Note
+that there is a gap between the property introduced and the previous
+one. This is also the case downstream.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ include/soc/bcm2835/raspberrypi-firmware.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
+index 7800e12ee042..cc9cdbc66403 100644
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag {
+ RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045,
+ RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049,
+ RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050,
+-
++ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058,
+
+ /* Dispmanx TAGS */
+ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001,
+
+From patchwork Tue Mar 24 18:28:10 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+X-Patchwork-Id: 11456191
+Return-Path:
+ <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C4D571731
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:29:30 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 9A787206F6
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:29:30 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="Z5B/3JRW"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9A787206F6
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=suse.de
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=kAIknZ2RVw6gB9CaOcG4KQjgkdNyrtcLcfH5XAGtITo=; b=Z5B/3JRWWCVYHI
+ AsxnYFEFit0NnrRvZDbi0ktp8wUbVrztmKRPQWvfaWSlelJEKdEpJhHItnpicKfR5JhfHFsPt3V3X
+ i29DtdYSOr/cjW/qeoakzXY0b1ApjrrK3MWjX/k0k9SVqGwkq6KT3T3qok969KInPAe0ERZ9bYkP1
+ P2Jj1QT0QtCfcd0PsSjn4riMP09KNZVuviLm2bcg3Cr78qfIq6gDHHoS1nqPzdEt4gG+i/s66lTFY
+ Dd3vPgItuRBvzgAjWdT4Bvx41u82KONuYDshYftzUZX7pxh76o4PwtPoPt/A4hJT0pZZe9MB6pQlM
+ JwbBVC2fhM1afv00diOw==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoIm-00032a-5v; Tue, 24 Mar 2020 18:29:24 +0000
+Received: from mx2.suse.de ([195.135.220.15])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoHq-00024W-PL; Tue, 24 Mar 2020 18:28:29 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx2.suse.de (Postfix) with ESMTP id 3F0CFABE7;
+ Tue, 24 Mar 2020 18:28:23 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: linux-kernel@vger.kernel.org,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ Florian Fainelli <f.fainelli@gmail.com>, Ray Jui <rjui@broadcom.com>,
+ Scott Branden <sbranden@broadcom.com>,
+ bcm-kernel-feedback-list@broadcom.com
+Subject: [PATCH v6 2/4] firmware: raspberrypi: Introduce vl805 init routine
+Date: Tue, 24 Mar 2020 19:28:10 +0100
+Message-Id: <20200324182812.20420-3-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.25.1
+In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200324_112827_110873_06144E1C
+X-CRM114-Status: GOOD ( 15.67 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-2.3 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
+ [195.135.220.15 listed in wl.mailspike.net]
+ -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
+ medium trust [195.135.220.15 listed in list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
+ gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
+ linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
+loaded directly from an EEPROM or, if not present, by the SoC's
+VideCore. The function informs VideCore that VL805 was just reset, or
+requests for a probe defer.
+
+Based on Tim Gover's downstream implementation.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+Changes since v4:
+ - Inline function definition when RASPBERRYPI_FIRMWARE is not defined
+
+Changes since v1:
+ - Move include into .c file and add forward declaration to .h
+
+ drivers/firmware/raspberrypi.c | 38 ++++++++++++++++++++++
+ include/soc/bcm2835/raspberrypi-firmware.h | 7 ++++
+ 2 files changed, 45 insertions(+)
+
+diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c
+index da26a584dca0..cbb495aff6a0 100644
+--- a/drivers/firmware/raspberrypi.c
++++ b/drivers/firmware/raspberrypi.c
+@@ -12,6 +12,7 @@
+ #include <linux/of_platform.h>
+ #include <linux/platform_device.h>
+ #include <linux/slab.h>
++#include <linux/pci.h>
+ #include <soc/bcm2835/raspberrypi-firmware.h>
+
+ #define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf))
+@@ -286,6 +287,43 @@ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
+ }
+ EXPORT_SYMBOL_GPL(rpi_firmware_get);
+
++/*
++ * On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
++ * loaded directly from an EEPROM or, if not present, by the SoC's VideCore.
++ * Inform VideCore that VL805 was just reset, or defer xhci's probe if not yet
++ * joinable trough the mailbox interface.
++ */
++int rpi_firmware_init_vl805(struct pci_dev *pdev)
++{
++ struct device_node *fw_np;
++ struct rpi_firmware *fw;
++ u32 dev_addr;
++ int ret;
++
++ fw_np = of_find_compatible_node(NULL, NULL,
++ "raspberrypi,bcm2835-firmware");
++ if (!fw_np)
++ return 0;
++
++ fw = rpi_firmware_get(fw_np);
++ of_node_put(fw_np);
++ if (!fw)
++ return -EPROBE_DEFER;
++
++ dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
++ PCI_FUNC(pdev->devfn) << 12;
++
++ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
++ &dev_addr, sizeof(dev_addr));
++ if (ret)
++ return ret;
++
++ dev_dbg(&pdev->dev, "loaded Raspberry Pi's VL805 firmware\n");
++
++ return 0;
++}
++EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);
++
+ static const struct of_device_id rpi_firmware_of_match[] = {
+ { .compatible = "raspberrypi,bcm2835-firmware", },
+ {},
+diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
+index cc9cdbc66403..3025aca3c358 100644
+--- a/include/soc/bcm2835/raspberrypi-firmware.h
++++ b/include/soc/bcm2835/raspberrypi-firmware.h
+@@ -10,6 +10,7 @@
+ #include <linux/of_device.h>
+
+ struct rpi_firmware;
++struct pci_dev;
+
+ enum rpi_firmware_property_status {
+ RPI_FIRMWARE_STATUS_REQUEST = 0,
+@@ -141,6 +142,7 @@ int rpi_firmware_property(struct rpi_firmware *fw,
+ int rpi_firmware_property_list(struct rpi_firmware *fw,
+ void *data, size_t tag_size);
+ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node);
++int rpi_firmware_init_vl805(struct pci_dev *pdev);
+ #else
+ static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag,
+ void *data, size_t len)
+@@ -158,6 +160,11 @@ static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware
+ {
+ return NULL;
+ }
++
++static inline int rpi_firmware_init_vl805(struct pci_dev *pdev)
++{
++ return 0;
++}
+ #endif
+
+ #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */
+
+From patchwork Tue Mar 24 18:28:11 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+X-Patchwork-Id: 11456189
+Return-Path:
+ <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 168CB1667
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:29:15 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id EAB942076E
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:29:14 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="BOwwgdOE"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EAB942076E
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=suse.de
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=CLmK04T+baw5jWu/lH2cJ3fygso/fqFgoMOSigkpvRw=; b=BOwwgdOEAmbVoa
+ /8AtILxDfcKBVhbig0LKPFd94roUQzY/SylcBG5jWceT90PE3BxYgomfaBA6U41LW9Xe5LZsfylId
+ /IP3RNq34yRDWPXo3WWkLFYEtwJB60SWZlD8BG+ApGeUJ9z6vXTL9h3K9ThLwhFycZOkSxtDMicCG
+ vkP4ErkYnvASxQ021+lq/VxFgdnvtKcw2OE+ghhRHgOn8dc+/dJHCp8vi33Qrk9DFhKSGnSX/A5vz
+ E84/rlt964N9kXLE2npw9hNrj6DdrQozcB9YTAEL9S/krTUmOLI/iWS/DZEUA50xy9wVBqD9Bm78x
+ TS0oeyfH49HaUmd10Y6w==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoIa-0002oW-NS; Tue, 24 Mar 2020 18:29:12 +0000
+Received: from mx2.suse.de ([195.135.220.15])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoHr-00024Z-2w; Tue, 24 Mar 2020 18:28:29 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx2.suse.de (Postfix) with ESMTP id 1A1A0ABF4;
+ Tue, 24 Mar 2020 18:28:24 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: linux-kernel@vger.kernel.org,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ bcm-kernel-feedback-list@broadcom.com,
+ Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
+ Andrew Murray <amurray@thegoodpenguin.co.uk>
+Subject: [PATCH v6 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when
+ present
+Date: Tue, 24 Mar 2020 19:28:11 +0100
+Message-Id: <20200324182812.20420-4-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.25.1
+In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200324_112827_267470_0540B982
+X-CRM114-Status: GOOD ( 12.13 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-2.3 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
+ [195.135.220.15 listed in wl.mailspike.net]
+ -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
+ medium trust [195.135.220.15 listed in list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: tim.gover@raspberrypi.org, sergei.shtylyov@cogentembedded.com,
+ gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
+ linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org,
+ Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org,
+ wahrenst@gmx.net
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on
+RPi4's VideoCore firmware interface to be up and running. It's possible
+for both initializations to race, so make sure it's available prior to
+starting.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
+index 3a10e678c7f4..a3d3070a5832 100644
+--- a/drivers/pci/controller/pcie-brcmstb.c
++++ b/drivers/pci/controller/pcie-brcmstb.c
+@@ -28,6 +28,8 @@
+ #include <linux/string.h>
+ #include <linux/types.h>
+
++#include <soc/bcm2835/raspberrypi-firmware.h>
++
+ #include "../pci.h"
+
+ /* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */
+@@ -917,11 +919,24 @@ static int brcm_pcie_probe(struct platform_device *pdev)
+ {
+ struct device_node *np = pdev->dev.of_node, *msi_np;
+ struct pci_host_bridge *bridge;
++ struct device_node *fw_np;
+ struct brcm_pcie *pcie;
+ struct pci_bus *child;
+ struct resource *res;
+ int ret;
+
++ /*
++ * We have to wait for the Raspberry Pi's firmware interface to be up
++ * as some PCI fixups depend on it.
++ */
++ fw_np = of_find_compatible_node(NULL, NULL,
++ "raspberrypi,bcm2835-firmware");
++ if (fw_np && !rpi_firmware_get(fw_np)) {
++ of_node_put(fw_np);
++ return -EPROBE_DEFER;
++ }
++ of_node_put(fw_np);
++
+ bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
+ if (!bridge)
+ return -ENOMEM;
+
+From patchwork Tue Mar 24 18:28:12 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+X-Patchwork-Id: 11456185
+Return-Path:
+ <SRS0=7UWt=5J=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AD453174A
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:28:41 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 8690720789
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 24 Mar 2020 18:28:41 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="BSDoMdbd"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8690720789
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=suse.de
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=YaBoM78lqEEmZOW4u4cO0fQ+Qpc7vocOU6aRT/EpQsk=; b=BSDoMdbdXfJNCB
+ Ccoti2K8Qk9NgAlOnVt60cLhw66HCbJPwZn1v08f/rr05ZIoPMToFkJt5krqew7Vd+jlZnzMxf8MC
+ lBfOqOev9hIjbyu19c646LbpbqVrtrtm9vmy6Lvd2GGuQuvybpM0RHDvc2wzv8a3fejGMgKStaQ/3
+ Efne01FoiZvWBedWpTdsoGJbFzfSb4ua/8JT2Ki04i9itY4oTZs9itKK1Taqe3WfNDphluuFcmdGx
+ nNxQK/PkA6XCdpJHxaCz3DtyZj/2NhAqd8roXn+PUt5SG00Tfc6auERZQPLtTinW6m9ZaUkBhjJQ0
+ GHUMyyLHvQ583h1ty9ow==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoI3-0002Hl-Jz; Tue, 24 Mar 2020 18:28:39 +0000
+Received: from mx2.suse.de ([195.135.220.15])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jGoHq-00024d-Jc; Tue, 24 Mar 2020 18:28:28 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx2.suse.de (Postfix) with ESMTP id EE53FABF6;
+ Tue, 24 Mar 2020 18:28:24 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: linux-kernel@vger.kernel.org,
+ Mathias Nyman <mathias.nyman@intel.com>
+Subject: [PATCH v6 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk
+Date: Tue, 24 Mar 2020 19:28:12 +0100
+Message-Id: <20200324182812.20420-5-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.25.1
+In-Reply-To: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+References: <20200324182812.20420-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200324_112826_791336_2ABB38D1
+X-CRM114-Status: GOOD ( 16.34 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-2.3 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
+ [195.135.220.15 listed in wl.mailspike.net]
+ -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
+ medium trust [195.135.220.15 listed in list.dnswl.org]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: f.fainelli@gmail.com, sergei.shtylyov@cogentembedded.com,
+ gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, tim.gover@raspberrypi.org,
+ bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
+ linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
+ wahrenst@gmx.net
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
+loaded directly from an EEPROM or, if not present, by the SoC's
+VideCore. Inform VideCore that VL805 was just reset.
+
+Also, as this creates a dependency between USB_PCI and VideoCore's
+firmware interface. Since USB_PCI can't be set as a module neither this
+should.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+
+Changes since v5:
+ - Fix Kconfig issue with allmodconfig
+
+Changes since v4:
+ - Do not split up error message
+
+Changes since v3:
+ - Add more complete error message
+
+Changes since v1:
+ - Make RASPBERRYPI_FIRMWARE dependent on this quirk to make sure it
+ gets compiled when needed.
+
+ drivers/firmware/Kconfig | 3 ++-
+ drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++
+ 2 files changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
+index ea869addc89b..78ab2ad6d3f0 100644
+--- a/drivers/firmware/Kconfig
++++ b/drivers/firmware/Kconfig
+@@ -178,8 +178,9 @@ config ISCSI_IBFT
+ Otherwise, say N.
+
+ config RASPBERRYPI_FIRMWARE
+- tristate "Raspberry Pi Firmware Driver"
++ bool "Raspberry Pi Firmware Driver"
+ depends on BCM2835_MBOX
++ default USB_PCI
+ help
+ This option enables support for communicating with the firmware on the
+ Raspberry Pi.
+diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
+index beb2efa71341..0dc34668bb2a 100644
+--- a/drivers/usb/host/pci-quirks.c
++++ b/drivers/usb/host/pci-quirks.c
+@@ -16,6 +16,9 @@
+ #include <linux/export.h>
+ #include <linux/acpi.h>
+ #include <linux/dmi.h>
++
++#include <soc/bcm2835/raspberrypi-firmware.h>
++
+ #include "pci-quirks.h"
+ #include "xhci-ext-caps.h"
+
+@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
+
+ static void quirk_usb_early_handoff(struct pci_dev *pdev)
+ {
++ int ret;
++
+ /* Skip Netlogic mips SoC's internal PCI USB controller.
+ * This device does not need/support EHCI/OHCI handoff
+ */
+ if (pdev->vendor == 0x184e) /* vendor Netlogic */
+ return;
++
++ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
++ ret = rpi_firmware_init_vl805(pdev);
++ if (ret) {
++ /* Firmware might be outdated, or something failed */
++ dev_warn(&pdev->dev,
++ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n",
++ ret);
++ }
++ }
++
+ if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI &&
+ pdev->class != PCI_CLASS_SERIAL_USB_OHCI &&
+ pdev->class != PCI_CLASS_SERIAL_USB_EHCI &&
diff --git a/alsa-5.6.patch b/alsa-5.6.patch
deleted file mode 100644
index b33725784..000000000
--- a/alsa-5.6.patch
+++ /dev/null
@@ -1,398 +0,0 @@
-From 89be5f69889f7e9aeab05279869bba3e9e0d2002 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Wed, 4 Dec 2019 15:15:45 -0600
-Subject: [PATCH 2/4] ASoC: Intel - use control components to describe card
- config
-
-Use the control interface (field 'components' in the info structure)
-to pass the I/O configuration details. The goal is to replace
-the card long name with this.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191204211556.12671-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 0d5c8187562848b619a35f2ffc5e18ce703e9f3d)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/bytcht_es8316.c | 9 ++++++++-
- sound/soc/intel/boards/bytcr_rt5640.c | 6 ++++++
- sound/soc/intel/boards/bytcr_rt5651.c | 18 +++++++++++-------
- 3 files changed, 25 insertions(+), 8 deletions(-)
-
-diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
-index 46612331f5ea..efa33f30dcac 100644
---- a/sound/soc/intel/boards/bytcht_es8316.c
-+++ b/sound/soc/intel/boards/bytcht_es8316.c
-@@ -361,6 +361,7 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
- /* SoC card */
- static char codec_name[SND_ACPI_I2C_ID_LEN];
- static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */
-+static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */
-
- static int byt_cht_es8316_suspend(struct snd_soc_card *card)
- {
-@@ -572,11 +573,17 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
- }
- }
-
-- /* register the soc card */
-+ snprintf(components_string, sizeof(components_string),
-+ "cfg-spk:%s cfg-mic:%s",
-+ (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2",
-+ mic_name[BYT_CHT_ES8316_MAP(quirk)]);
-+ byt_cht_es8316_card.components = components_string;
- snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic",
- (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo",
- mic_name[BYT_CHT_ES8316_MAP(quirk)]);
- byt_cht_es8316_card.long_name = long_name;
-+
-+ /* register the soc card */
- snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
-
- ret = devm_snd_soc_register_card(dev, &byt_cht_es8316_card);
-diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
-index dd2b5ad08659..7bc6d3cec94c 100644
---- a/sound/soc/intel/boards/bytcr_rt5640.c
-+++ b/sound/soc/intel/boards/bytcr_rt5640.c
-@@ -1083,6 +1083,7 @@ static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */
- static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
- static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */
-+static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5640_suspend(struct snd_soc_card *card)
- {
-@@ -1305,6 +1306,11 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
- }
- }
-
-+ snprintf(byt_rt5640_components, sizeof(byt_rt5640_components),
-+ "cfg-spk:%s cfg-mic:%s",
-+ (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2",
-+ map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
-+ byt_rt5640_card.components = byt_rt5640_components;
- snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name),
- "bytcr-rt5640-%s-spk-%s-mic",
- (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ?
-diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
-index 4606f6f582d6..80a5674ddb1b 100644
---- a/sound/soc/intel/boards/bytcr_rt5651.c
-+++ b/sound/soc/intel/boards/bytcr_rt5651.c
-@@ -798,6 +798,7 @@ static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */
- static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
- static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */
-+static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5651_suspend(struct snd_soc_card *card)
- {
-@@ -876,7 +877,6 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- const char *platform_name;
- struct acpi_device *adev;
- struct device *codec_dev;
-- const char *hp_swapped;
- bool is_bytcr = false;
- int ret_val = 0;
- int dai_index = 0;
-@@ -1080,16 +1080,20 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- }
- }
-
-- if (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED)
-- hp_swapped = "-hp-swapped";
-- else
-- hp_swapped = "";
--
-+ snprintf(byt_rt5651_components, sizeof(byt_rt5651_components),
-+ "cfg-spk:%s cfg-mic:%s%s",
-+ (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? "1" : "2",
-+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)],
-+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
-+ " cfg-hp:lrswap" : "");
-+ byt_rt5651_card.components = byt_rt5651_components;
- snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name),
- "bytcr-rt5651-%s-spk-%s-mic%s",
- (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ?
- "mono" : "stereo",
-- mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], hp_swapped);
-+ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)],
-+ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
-+ "-hp-swapped" : "");
- byt_rt5651_card.long_name = byt_rt5651_long_name;
-
- /* override plaform name, if required */
---
-2.20.1
-
-
-From 36c175e19e9cbb685708519d41e27cd803206737 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Wed, 4 Dec 2019 15:15:46 -0600
-Subject: [PATCH 3/4] ASoC: Intel - do not describe I/O configuration in the
- long card name
-
-The long card name might be used in GUI. This information should be hidden.
-
-Add CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES configuration option.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191204211556.12671-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit b5706f8ec29fb461571d25e3e813ede121fe31cd)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 13 +++++++++++++
- sound/soc/intel/boards/bytcht_es8316.c | 4 ++++
- sound/soc/intel/boards/bytcr_rt5640.c | 4 ++++
- sound/soc/intel/boards/bytcr_rt5651.c | 4 ++++
- 4 files changed, 25 insertions(+)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index ef20316e83d1..145eb55bd691 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -13,6 +13,19 @@ menuconfig SND_SOC_INTEL_MACH
-
- if SND_SOC_INTEL_MACH
-
-+config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES
-+ bool "Use more user friendly long card names"
-+ help
-+ Some drivers report the I/O configuration to userspace through the
-+ soundcard's long card name in the control user space AP. An unfortunate
-+ side effect is that this long name may also be used by the GUI,
-+ confusing users with information they don't need.
-+ This option prevents the long name from being modified, and the I/O
-+ configuration will be provided through a different component interface.
-+ Select Y if userspace like UCM (Use Case Manager) uses the component
-+ interface.
-+ If unsure select N.
-+
- if SND_SOC_INTEL_HASWELL
-
- config SND_SOC_INTEL_HASWELL_MACH
-diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
-index efa33f30dcac..12a1c5255484 100644
---- a/sound/soc/intel/boards/bytcht_es8316.c
-+++ b/sound/soc/intel/boards/bytcht_es8316.c
-@@ -360,7 +360,9 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
-
- /* SoC card */
- static char codec_name[SND_ACPI_I2C_ID_LEN];
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */
-+#endif
- static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */
-
- static int byt_cht_es8316_suspend(struct snd_soc_card *card)
-@@ -578,10 +580,12 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
- (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2",
- mic_name[BYT_CHT_ES8316_MAP(quirk)]);
- byt_cht_es8316_card.components = components_string;
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic",
- (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo",
- mic_name[BYT_CHT_ES8316_MAP(quirk)]);
- byt_cht_es8316_card.long_name = long_name;
-+#endif
-
- /* register the soc card */
- snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
-diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
-index 7bc6d3cec94c..648fcc1d07b5 100644
---- a/sound/soc/intel/boards/bytcr_rt5640.c
-+++ b/sound/soc/intel/boards/bytcr_rt5640.c
-@@ -1082,7 +1082,9 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = {
- static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */
- static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */
-+#endif
- static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5640_suspend(struct snd_soc_card *card)
-@@ -1311,12 +1313,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
- (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2",
- map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
- byt_rt5640_card.components = byt_rt5640_components;
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name),
- "bytcr-rt5640-%s-spk-%s-mic",
- (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ?
- "mono" : "stereo",
- map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
- byt_rt5640_card.long_name = byt_rt5640_long_name;
-+#endif
-
- /* override plaform name, if required */
- platform_name = mach->mach_params.platform;
-diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
-index 80a5674ddb1b..c0d322a859f7 100644
---- a/sound/soc/intel/boards/bytcr_rt5651.c
-+++ b/sound/soc/intel/boards/bytcr_rt5651.c
-@@ -797,7 +797,9 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = {
- static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN];
- static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */
- static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */
-+#endif
- static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */
-
- static int byt_rt5651_suspend(struct snd_soc_card *card)
-@@ -1087,6 +1089,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
- " cfg-hp:lrswap" : "");
- byt_rt5651_card.components = byt_rt5651_components;
-+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
- snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name),
- "bytcr-rt5651-%s-spk-%s-mic%s",
- (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ?
-@@ -1095,6 +1098,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
- (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
- "-hp-swapped" : "");
- byt_rt5651_card.long_name = byt_rt5651_long_name;
-+#endif
-
- /* override plaform name, if required */
- platform_name = mach->mach_params.platform;
---
-2.20.1
-
-
-From 9008dcbcf36b9d67ea24920e05b50c8754488ebd Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Fri, 22 Nov 2019 09:31:03 +0100
-Subject: [PATCH] ASoC: SOF - topology - do not change the link trigger order
- for pre-1.4 firmware
-
-This patch is for SOF v1.3 firmware. The DSP firmware will crash (DSP oops)
-without this patch. The 1.4.1 firmare has this issue fixed.
-
-The ABI version is used for the comparison, because the firmware version
-for the firmware files before 1.4.2 was not set properly (git hash was
-used).
-
-BugLink: https://github.com/thesofproject/sof/issues/2102
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
----
- sound/soc/sof/topology.c | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 9f4f8868b386..58ff4766b47b 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -3111,6 +3111,7 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
- struct snd_soc_tplg_private *private = &cfg->priv;
- struct sof_ipc_dai_config config;
- struct snd_soc_tplg_hw_config *hw_config;
-+ struct sof_ipc_fw_version *v = &sdev->fw_ready.version;
- int num_hw_configs;
- int ret;
- int i = 0;
-@@ -3128,9 +3129,12 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
- if (!link->no_pcm) {
- link->nonatomic = true;
-
-- /* set trigger order */
-- link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
-- link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
-+ /* this causes DSP panic on firmware v1.3 */
-+ if (v->abi_version > SOF_ABI_VER(3, 7, 0)) {
-+ /* set trigger order */
-+ link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST;
-+ link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST;
-+ }
-
- /* nothing more to do for FE dai links */
- return 0;
---
-2.24.1
-
-
-From af7aae1b1f6306a1cda4da393e920a1334eaa3d4 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Thu, 6 Feb 2020 22:02:23 +0200
-Subject: [PATCH] ASoC: SOF: Intel: hda: move i915 init earlier
-
-To be compliant with i915 display driver requirements, i915 power-up
-must be done before any HDA communication takes place, including
-parsing the bus capabilities. Otherwise the initial codec probe
-may fail.
-
-Move i915 initialization earlier in the SOF HDA sequence. This
-sequence is now aligned with the snd-hda-intel driver where the
-display_power() call is before snd_hdac_bus_parse_capabilities()
-and rest of the capability parsing.
-
-Also remove unnecessary ifdef around hda_codec_i915_init(). There's
-a dummy implementation provided if CONFIG_SND_SOC_SOF_HDA is not
-enabled.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Link: https://lore.kernel.org/r/20200206200223.7715-3-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
----
- sound/soc/sof/intel/hda.c | 17 ++++++++---------
- 1 file changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
-index 8fddafb5c1d4..25946a1c2822 100644
---- a/sound/soc/sof/intel/hda.c
-+++ b/sound/soc/sof/intel/hda.c
-@@ -286,6 +286,13 @@ static int hda_init(struct snd_sof_dev *sdev)
- /* HDA base */
- sdev->bar[HDA_DSP_HDA_BAR] = bus->remap_addr;
-
-+ /* init i915 and HDMI codecs */
-+ ret = hda_codec_i915_init(sdev);
-+ if (ret < 0) {
-+ dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n");
-+ return ret;
-+ }
-+
- /* get controller capabilities */
- ret = hda_dsp_ctrl_get_caps(sdev);
- if (ret < 0)
-@@ -353,15 +360,6 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
- if (bus->ppcap)
- dev_dbg(sdev->dev, "PP capability, will probe DSP later.\n");
-
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
-- /* init i915 and HDMI codecs */
-- ret = hda_codec_i915_init(sdev);
-- if (ret < 0) {
-- dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n");
-- return ret;
-- }
--#endif
--
- /* Init HDA controller after i915 init */
- ret = hda_dsp_ctrl_init_chip(sdev, true);
- if (ret < 0) {
-@@ -611,6 +609,7 @@ int hda_dsp_probe(struct snd_sof_dev *sdev)
- iounmap(sdev->bar[HDA_DSP_BAR]);
- hdac_bus_unmap:
- iounmap(bus->remap_addr);
-+ hda_codec_i915_exit(sdev);
- err:
- return ret;
- }
---
-2.24.1
-
diff --git a/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch b/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
new file mode 100644
index 000000000..8c7a43185
--- /dev/null
+++ b/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
@@ -0,0 +1,374 @@
+From 6c92ae1e452ff3f4648b1450c9a3233a2ca53feb Mon Sep 17 00:00:00 2001
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Date: Fri, 6 Mar 2020 18:44:03 +0100
+Subject: mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage()
+
+Some controllers diverge from the standard way of setting power and need
+their bus voltage register to be configured regardless of the whether
+they use regulators. As this is a common pattern across sdhci hosts,
+create a helper function.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Acked-by: Adrian Hunter <adrian.hunter@intel.com>
+Link: https://lore.kernel.org/r/20200306174413.20634-2-nsaenzjulienne@suse.de
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+---
+ drivers/mmc/host/sdhci.c | 19 +++++++++++++++++++
+ drivers/mmc/host/sdhci.h | 3 +++
+ 2 files changed, 22 insertions(+)
+
+diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
+index c59566363a42..525e0c971c6a 100644
+--- a/drivers/mmc/host/sdhci.c
++++ b/drivers/mmc/host/sdhci.c
+@@ -2010,6 +2010,25 @@ void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
+ }
+ EXPORT_SYMBOL_GPL(sdhci_set_power);
+
++/*
++ * Some controllers need to configure a valid bus voltage on their power
++ * register regardless of whether an external regulator is taking care of power
++ * supply. This helper function takes care of it if set as the controller's
++ * sdhci_ops.set_power callback.
++ */
++void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
++ unsigned char mode,
++ unsigned short vdd)
++{
++ if (!IS_ERR(host->mmc->supply.vmmc)) {
++ struct mmc_host *mmc = host->mmc;
++
++ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
++ }
++ sdhci_set_power_noreg(host, mode, vdd);
++}
++EXPORT_SYMBOL_GPL(sdhci_set_power_and_bus_voltage);
++
+ /*****************************************************************************\
+ * *
+ * MMC callbacks *
+diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
+index 249635692112..851b81565f46 100644
+--- a/drivers/mmc/host/sdhci.h
++++ b/drivers/mmc/host/sdhci.h
+@@ -772,6 +772,9 @@ void sdhci_set_clock(struct sdhci_host *host, unsigned int clock);
+ void sdhci_enable_clk(struct sdhci_host *host, u16 clk);
+ void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
+ unsigned short vdd);
++void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
++ unsigned char mode,
++ unsigned short vdd);
+ void sdhci_set_power_noreg(struct sdhci_host *host, unsigned char mode,
+ unsigned short vdd);
+ void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq);
+--
+cgit 1.2-0.3.lf.el7
+From f87391eec2c5f54269e64d655da19f2c32515e4c Mon Sep 17 00:00:00 2001
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Date: Fri, 6 Mar 2020 18:44:11 +0100
+Subject: mmc: sdhci: iproc: Add custom set_power() callback for bcm2711
+
+The controller needs a valid bus voltage in its power register
+regardless of whether an external regulator is taking care of the power
+supply.
+
+The sdhci core already provides a helper function for this,
+sdhci_set_power_and_bus_voltage(), so create a bcm2711 specific 'struct
+sdhci_ops' which makes use of it.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Acked-by: Adrian Hunter <adrian.hunter@intel.com>
+Link: https://lore.kernel.org/r/20200306174413.20634-10-nsaenzjulienne@suse.de
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+---
+ drivers/mmc/host/sdhci-iproc.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
+index f4f5f0a70cda..225603148d7d 100644
+--- a/drivers/mmc/host/sdhci-iproc.c
++++ b/drivers/mmc/host/sdhci-iproc.c
+@@ -261,9 +261,24 @@ static const struct sdhci_iproc_data bcm2835_data = {
+ .mmc_caps = 0x00000000,
+ };
+
++static const struct sdhci_ops sdhci_iproc_bcm2711_ops = {
++ .read_l = sdhci_iproc_readl,
++ .read_w = sdhci_iproc_readw,
++ .read_b = sdhci_iproc_readb,
++ .write_l = sdhci_iproc_writel,
++ .write_w = sdhci_iproc_writew,
++ .write_b = sdhci_iproc_writeb,
++ .set_clock = sdhci_set_clock,
++ .set_power = sdhci_set_power_and_bus_voltage,
++ .get_max_clock = sdhci_iproc_get_max_clock,
++ .set_bus_width = sdhci_set_bus_width,
++ .reset = sdhci_reset,
++ .set_uhs_signaling = sdhci_set_uhs_signaling,
++};
++
+ static const struct sdhci_pltfm_data sdhci_bcm2711_pltfm_data = {
+ .quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
+- .ops = &sdhci_iproc_32only_ops,
++ .ops = &sdhci_iproc_bcm2711_ops,
+ };
+
+ static const struct sdhci_iproc_data bcm2711_data = {
+--
+cgit 1.2-0.3.lf.el7
+From patchwork Fri Mar 6 17:44:12 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+X-Patchwork-Id: 11424593
+Return-Path:
+ <SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9D86014E3
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 7BFCB2072A
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="YjdlKV21"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BFCB2072A
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=suse.de
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=uwmoUBe7WYtSPXJudhI4GM1SShwysP2rkzh9oA/iygA=; b=YjdlKV21P2YnYd
+ uFZk/zUDicQRMv6kHWHSeOubxKYNNZjuVUmkI6PWtCuEt37bz+3qPjaDWjY6QO0qR9wHKzxaPikjZ
+ upSKvBHf9jcYSON0gQhjCxZEGnfO3zrdObtnjdQFTTE9rJPiUXe+bIsvhqlNCO/5Xq4pXjSVR81Fw
+ IVfXtxtw0tmDjrN7VDqH+dhvUPrvLDRnXOHnolvQfQyuvyvSZ9I7Wn/c4fFJsZemBA7mjvORI7cTd
+ lVRuIqACikY2bT4Zh+ZtglOCFxtlNjCe60Dj94AnA/j51dvC8MHQOOD+HGKjGzKBwk5FONXjvKeUZ
+ kR8WGaZiQsG3hj3hzxyw==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jAH3k-0003wN-91; Fri, 06 Mar 2020 17:46:52 +0000
+Received: from mx2.suse.de ([195.135.220.15])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jAH1V-00085X-Ut; Fri, 06 Mar 2020 17:44:35 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx2.suse.de (Postfix) with ESMTP id 8906AACC2;
+ Fri, 6 Mar 2020 17:44:32 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
+ Rob Herring <robh+dt@kernel.org>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Subject: [PATCH v2 10/11] ARM: dts: bcm2711: Update expgpio's GPIO labels
+Date: Fri, 6 Mar 2020 18:44:12 +0100
+Message-Id: <20200306174413.20634-11-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.25.1
+In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
+References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200306_094434_171925_0978A2DC
+X-CRM114-Status: GOOD ( 11.64 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-2.3 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
+ [195.135.220.15 listed in wl.mailspike.net]
+ -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
+ medium trust [195.135.220.15 listed in list.dnswl.org]
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
+ linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
+ linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
+ linux-arm-kernel@lists.infradead.org
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+The 6th line of the GPIO expander is used to power the board's SD card.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+ arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+index 1d4b589fe233..b0ea8233b636 100644
+--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+@@ -68,7 +68,7 @@ expgpio: gpio {
+ "GLOBAL_RESET",
+ "VDD_SD_IO_SEL",
+ "CAM_GPIO",
+- "",
++ "SD_PWR_ON",
+ "";
+ status = "okay";
+ };
+From patchwork Fri Mar 6 17:44:13 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+X-Patchwork-Id: 11424599
+Return-Path:
+ <SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A9E8E14BC
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id 86F7120656
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="nK9IFX75"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 86F7120656
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=suse.de
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
+ Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
+ Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
+ List-Owner; bh=yrr+wQNcWoBzz3a/8/AcMlS2enrwpsgYIWUpL8bLv8o=; b=nK9IFX75hVaG6g
+ t8PhPIHJnIGtQxqZ65valF8dAq8JXeUle2mgnW5xdfa/YWcgzajD9/LaS1qMXKW7wDU/rQ0GbSW9t
+ +8F8v8NQzCf34sfHmFBEl30S1pJN/dQVJKJk0kmx6/P9N+ig3vAyMVsPsXq1Xij+OU0aU8SU1V+mE
+ nZnwLti9oSRWY6sNhg1MoHB2DNBt/FBNtROGqiXh13ngQTg8C/HgYapnJnXb+GjrutVM2DzH+i/tG
+ OtgGRm0XoLRz5QjavZZHPmlHUm8pMxfgllYbUvrESNgDT06vBiPj4idCN7X1XXxxoqPsP3/k8kido
+ Py713+dNVA1gqQEWqG1g==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jAH4a-0004vA-Os; Fri, 06 Mar 2020 17:47:44 +0000
+Received: from mx2.suse.de ([195.135.220.15])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1jAH1W-00086J-W9; Fri, 06 Mar 2020 17:44:36 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx2.suse.de (Postfix) with ESMTP id 8D8E5AEC5;
+ Fri, 6 Mar 2020 17:44:33 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
+ Rob Herring <robh+dt@kernel.org>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Subject: [PATCH v2 11/11] ARM: dts: bcm2711: Add vmmc regulator in emmc2
+Date: Fri, 6 Mar 2020 18:44:13 +0100
+Message-Id: <20200306174413.20634-12-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.25.1
+In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
+References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200306_094435_205829_20FE02CB
+X-CRM114-Status: GOOD ( 10.34 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-2.3 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
+ [195.135.220.15 listed in wl.mailspike.net]
+ -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
+ medium trust [195.135.220.15 listed in list.dnswl.org]
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
+ linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
+ linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
+ linux-arm-kernel@lists.infradead.org
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+The SD card power can be controlled trough a pin routed into the board's
+external GPIO expander. Turn that into a regulator and provide it to
+emmc2.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+ arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+index b0ea8233b636..a2da058396fe 100644
+--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
++++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+@@ -55,6 +55,16 @@ sd_io_1v8_reg: sd_io_1v8_reg {
+ 3300000 0x0>;
+ status = "okay";
+ };
++
++ sd_vcc_reg: sd_vcc_reg {
++ compatible = "regulator-fixed";
++ regulator-name = "vcc-sd";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-boot-on;
++ enable-active-high;
++ gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
++ };
+ };
+
+ &firmware {
+@@ -173,6 +183,7 @@ brcmf: wifi@1 {
+ /* EMMC2 is used to drive the SD card */
+ &emmc2 {
+ vqmmc-supply = <&sd_io_1v8_reg>;
++ vmmc-supply = <&sd_vcc_reg>;
+ broken-cd;
+ status = "okay";
+ };
diff --git a/arm-bcm2835-serial-8250_early-support-aux-uart.patch b/arm-bcm2835-serial-8250_early-support-aux-uart.patch
new file mode 100644
index 000000000..5ab954996
--- /dev/null
+++ b/arm-bcm2835-serial-8250_early-support-aux-uart.patch
@@ -0,0 +1,47 @@
+From 57b76faf1d7860f070a1ee2d0b7eccd9f37ecc55 Mon Sep 17 00:00:00 2001
+From: Matthias Brugger <mbrugger@suse.com>
+Date: Sun, 26 Jan 2020 13:33:14 +0100
+Subject: serial: 8250_early: Add earlycon for BCM2835 aux uart
+
+Define the OF early console for BCM2835 aux UART, which can be enabled
+by passing "earlycon" on the boot command line. This UART is found on
+BCM283x and BCM27xx SoCs, a.k.a. Raspberry Pi in its variants.
+
+Signed-off-by: Matthias Brugger <mbrugger@suse.com>
+Link: https://lore.kernel.org/r/20200126123314.3558-1-matthias.bgg@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/tty/serial/8250/8250_bcm2835aux.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c
+index e70e3cc30050..5cc03bf24f85 100644
+--- a/drivers/tty/serial/8250/8250_bcm2835aux.c
++++ b/drivers/tty/serial/8250/8250_bcm2835aux.c
+@@ -137,6 +137,24 @@ static struct platform_driver bcm2835aux_serial_driver = {
+ };
+ module_platform_driver(bcm2835aux_serial_driver);
+
++#ifdef CONFIG_SERIAL_8250_CONSOLE
++
++static int __init early_bcm2835aux_setup(struct earlycon_device *device,
++ const char *options)
++{
++ if (!device->port.membase)
++ return -ENODEV;
++
++ device->port.iotype = UPIO_MEM32;
++ device->port.regshift = 2;
++
++ return early_serial8250_setup(device, NULL);
++}
++
++OF_EARLYCON_DECLARE(bcm2835aux, "brcm,bcm2835-aux-uart",
++ early_bcm2835aux_setup);
++#endif
++
+ MODULE_DESCRIPTION("BCM2835 auxiliar UART driver");
+ MODULE_AUTHOR("Martin Sperl <kernel@martin.sperl.org>");
+ MODULE_LICENSE("GPL v2");
+--
+cgit 1.2-0.3.lf.el7
diff --git a/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch b/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
new file mode 100644
index 000000000..7bfd204b5
--- /dev/null
+++ b/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
@@ -0,0 +1,50 @@
+From c45fbddb2cd7ce6198e33ebe6dc4c1301d7875d4 Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Sun, 19 Apr 2020 20:50:08 +0100
+Subject: [PATCH] Fix some GPIO setup on Pinebook Pro
+
+This patchset contains two small fixes for the dts of the Pinebook Pro.
+The first fixes inverted logic on the headphone detect GPIO.
+The second patch fixes unreliable DC charger detection.
+
+Tobias Schramm (2):
+ arm64: dts: rockchip: fix inverted headphone detection
+ arm64: dts: rockchip: enable DC charger detection pullup
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+index 5ea281b55fe2..294d21bf45f5 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
++++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+@@ -147,7 +147,7 @@ es8316-sound {
+ "Speaker", "Speaker Amplifier OUTL",
+ "Speaker", "Speaker Amplifier OUTR";
+
+- simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
+ simple-audio-card,aux-devs = <&speaker_amp>;
+ simple-audio-card,pin-switches = "Speaker";
+
+@@ -788,13 +788,13 @@ lidbtn_gpio: lidbtn-gpio {
+
+ dc-charger {
+ dc_det_gpio: dc-det-gpio {
+- rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ es8316 {
+ hp_det_gpio: hp-det-gpio {
+- rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+--
+2.26.1
+
diff --git a/arm64-a64-mbus.patch b/arm64-a64-mbus.patch
new file mode 100644
index 000000000..46efa29cf
--- /dev/null
+++ b/arm64-a64-mbus.patch
@@ -0,0 +1,69 @@
+From daae9f66b29a04a94708b1b5a9b61e3ee14df031 Mon Sep 17 00:00:00 2001
+From: Jernej Skrabec <jernej.skrabec@siol.net>
+Date: Mon, 10 Feb 2020 18:06:52 +0100
+Subject: [PATCH 1/2] dt-bindings: interconnect: sunxi: Add A64 MBUS compatible
+
+A64 contains MBUS controller. Add a compatible for it.
+
+Acked-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
+index 9370e64992dd..aa0738b4d534 100644
+--- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
++++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
+@@ -30,6 +30,7 @@ properties:
+ enum:
+ - allwinner,sun5i-a13-mbus
+ - allwinner,sun8i-h3-mbus
++ - allwinner,sun50i-a64-mbus
+
+ reg:
+ maxItems: 1
+--
+2.24.1
+
+From 410bb2be7e1f1d329c238e2d6d06b6c25dcee404 Mon Sep 17 00:00:00 2001
+From: Jernej Skrabec <jernej.skrabec@siol.net>
+Date: Mon, 10 Feb 2020 18:06:54 +0100
+Subject: [PATCH 2/2] arm64: dts: allwinner: a64: Add MBUS controller node
+
+A64 contains MBUS, which is the bus used by DMA devices to access
+system memory.
+
+MBUS controller is responsible for arbitration between channels based
+on set priority and can do some other things as well, like report
+bandwidth used. It also maps RAM region to different address than CPU.
+
+Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+index 862b47dc9dc9..251c91724de1 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+@@ -1061,6 +1061,14 @@ pwm: pwm@1c21400 {
+ status = "disabled";
+ };
+
++ mbus: dram-controller@1c62000 {
++ compatible = "allwinner,sun50i-a64-mbus";
++ reg = <0x01c62000 0x1000>;
++ clocks = <&ccu 112>;
++ dma-ranges = <0x00000000 0x40000000 0xc0000000>;
++ #interconnect-cells = <1>;
++ };
++
+ csi: csi@1cb0000 {
+ compatible = "allwinner,sun50i-a64-csi";
+ reg = <0x01cb0000 0x1000>;
+--
+2.24.1
+
diff --git a/arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch b/arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch
new file mode 100644
index 000000000..3d43cd710
--- /dev/null
+++ b/arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch
@@ -0,0 +1,320 @@
+From patchwork Wed Mar 25 20:16:03 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com>
+X-Patchwork-Id: 1261638
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=gmail.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=gmail.com header.i=@gmail.com
+ header.a=rsa-sha256 header.s=20161025 header.b=sj7XVrax;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48nfWs1X7mz9sRf
+ for <incoming@patchwork.ozlabs.org>;
+ Thu, 26 Mar 2020 07:16:09 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1727374AbgCYUQI (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Wed, 25 Mar 2020 16:16:08 -0400
+Received: from mail-wm1-f68.google.com ([209.85.128.68]:50585 "EHLO
+ mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727328AbgCYUQI (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Wed, 25 Mar 2020 16:16:08 -0400
+Received: by mail-wm1-f68.google.com with SMTP id d198so4073496wmd.0
+ for <linux-tegra@vger.kernel.org>;
+ Wed, 25 Mar 2020 13:16:07 -0700 (PDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:mime-version
+ :content-transfer-encoding;
+ bh=yPLnagV0XBnTWT+nGjtRaD+LnSq2BqmeAJnp8U+CWPw=;
+ b=sj7XVraxdwiyRAeepEQ0wy1nLUUH6vcloNotxoFwaAZmvU2GILePtp+OM8VZxzmSg1
+ qVjos+BzgdtxI0QGYvlsRwZJmw1PdwfTDzM8kMKmP2AfXDgnFG7LZsGZnzTmdPqErqG6
+ RfQwpZiPunHplEvI/epnPHACQlV9HoX+teAIWP9gyJkMYwBCVOirkfv4yGqGZWyEciZ2
+ yM5mGeUZ/OprHtVVEEuF5yb50CJm8cBEHBMr2ooS+0jm+avVEG8DKe9QM2nWgJB7+TXH
+ 7+iryK1A4PDr9L6syw0p6sAbkFd2+P/p44d/rqsKPWTQG0lkd0cgRHx9fVPls/P4Snyr
+ JwCA==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
+ :content-transfer-encoding;
+ bh=yPLnagV0XBnTWT+nGjtRaD+LnSq2BqmeAJnp8U+CWPw=;
+ b=HWu2t1YnW/GoMLlkfp6ZQha8CvUnfMi/OK1zsN3hDtTtMLwVQL9YBFPvXYfAASIGzA
+ qXmgdbIdQmwOXRxlDmgcXk8KcOJmvnJTSoE+GPeLrKGVq9h2c6XLINshs7RDWqY7//GM
+ /NMVkESX/sVh5qVQYVzsQOBWAsLkwpVAmt3lJ81XrCGdA/L5aN2FWOftTWJWoStgtHuB
+ 9N27ffBkV8/72gDCcGxM/lJlfxMBcfPIEMDGWlErsl2U/EPtF+e5AH1kF9/a+lImxa1h
+ vBlXvgfPKazfOLm1jA809U0QJrCy5bmTOJsaLqnkLPNJRyvlY6JZqk8a1Wc4u6l44uoI
+ 4l3g==
+X-Gm-Message-State: ANhLgQ0GzmzHn/uC4G4GzXRW/D8i6fcQ7Y04Wxx+yBOvoeixp0lD9PYD
+ 9Q7E3Ezt7uCnfh5D41Ym8jY=
+X-Google-Smtp-Source: ADFU+vvV+Qjqcd+wksczhsC9MSisSEM36LfhftNulFkmYxqwCfpDcq22YDEoWHYpgjaXwwZC4lgCyg==
+X-Received: by 2002:a7b:c842:: with SMTP id c2mr5416219wml.154.1585167366416;
+ Wed, 25 Mar 2020 13:16:06 -0700 (PDT)
+Received: from localhost
+ (p200300E41F4A9B0076D02BFFFE273F51.dip0.t-ipconnect.de.
+ [2003:e4:1f4a:9b00:76d0:2bff:fe27:3f51])
+ by smtp.gmail.com with ESMTPSA id
+ i4sm132568wrm.32.2020.03.25.13.16.05
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Wed, 25 Mar 2020 13:16:05 -0700 (PDT)
+From: Thierry Reding <thierry.reding@gmail.com>
+To: Thierry Reding <thierry.reding@gmail.com>
+Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org
+Subject: [PATCH 1/2] drm/tegra: Fix SMMU support on Tegra124 and Tegra210
+Date: Wed, 25 Mar 2020 21:16:03 +0100
+Message-Id: <20200325201604.833898-1-thierry.reding@gmail.com>
+X-Mailer: git-send-email 2.24.1
+MIME-Version: 1.0
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+From: Thierry Reding <treding@nvidia.com>
+
+When testing whether or not to enable the use of the SMMU, consult the
+supported DMA mask rather than the actually configured DMA mask, since
+the latter might already have been restricted.
+
+Fixes: 2d9384ff9177 ("drm/tegra: Relax IOMMU usage criteria on old Tegra")
+Signed-off-by: Thierry Reding <treding@nvidia.com>
+Tested-by: Jon Hunter <jonathanh@nvidia.com>
+---
+ drivers/gpu/drm/tegra/drm.c | 3 ++-
+ drivers/gpu/host1x/dev.c | 13 +++++++++++++
+ include/linux/host1x.h | 3 +++
+ 3 files changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
+index bd268028fb3d..583cd6e0ae27 100644
+--- a/drivers/gpu/drm/tegra/drm.c
++++ b/drivers/gpu/drm/tegra/drm.c
+@@ -1039,6 +1039,7 @@ void tegra_drm_free(struct tegra_drm *tegra, size_t size, void *virt,
+
+ static bool host1x_drm_wants_iommu(struct host1x_device *dev)
+ {
++ struct host1x *host1x = dev_get_drvdata(dev->dev.parent);
+ struct iommu_domain *domain;
+
+ /*
+@@ -1076,7 +1077,7 @@ static bool host1x_drm_wants_iommu(struct host1x_device *dev)
+ * sufficient and whether or not the host1x is attached to an IOMMU
+ * doesn't matter.
+ */
+- if (!domain && dma_get_mask(dev->dev.parent) <= DMA_BIT_MASK(32))
++ if (!domain && host1x_get_dma_mask(host1x) <= DMA_BIT_MASK(32))
+ return true;
+
+ return domain != NULL;
+diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
+index 388bcc2889aa..40a4b9f8b861 100644
+--- a/drivers/gpu/host1x/dev.c
++++ b/drivers/gpu/host1x/dev.c
+@@ -502,6 +502,19 @@ static void __exit tegra_host1x_exit(void)
+ }
+ module_exit(tegra_host1x_exit);
+
++/**
++ * host1x_get_dma_mask() - query the supported DMA mask for host1x
++ * @host1x: host1x instance
++ *
++ * Note that this returns the supported DMA mask for host1x, which can be
++ * different from the applicable DMA mask under certain circumstances.
++ */
++u64 host1x_get_dma_mask(struct host1x *host1x)
++{
++ return host1x->info->dma_mask;
++}
++EXPORT_SYMBOL(host1x_get_dma_mask);
++
+ MODULE_AUTHOR("Thierry Reding <thierry.reding@avionic-design.de>");
+ MODULE_AUTHOR("Terje Bergstrom <tbergstrom@nvidia.com>");
+ MODULE_DESCRIPTION("Host1x driver for Tegra products");
+diff --git a/include/linux/host1x.h b/include/linux/host1x.h
+index 62d216ff1097..c230b4e70d75 100644
+--- a/include/linux/host1x.h
++++ b/include/linux/host1x.h
+@@ -17,9 +17,12 @@ enum host1x_class {
+ HOST1X_CLASS_GR3D = 0x60,
+ };
+
++struct host1x;
+ struct host1x_client;
+ struct iommu_group;
+
++u64 host1x_get_dma_mask(struct host1x *host1x);
++
+ /**
+ * struct host1x_client_ops - host1x client operations
+ * @init: host1x client initialization code
+
+From patchwork Wed Mar 25 20:16:04 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com>
+X-Patchwork-Id: 1261639
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=gmail.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=gmail.com header.i=@gmail.com
+ header.a=rsa-sha256 header.s=20161025 header.b=XXUz449u;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48nfWw6NvSz9sPk
+ for <incoming@patchwork.ozlabs.org>;
+ Thu, 26 Mar 2020 07:16:12 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1727316AbgCYUQM (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Wed, 25 Mar 2020 16:16:12 -0400
+Received: from mail-wr1-f65.google.com ([209.85.221.65]:33914 "EHLO
+ mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727328AbgCYUQM (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Wed, 25 Mar 2020 16:16:12 -0400
+Received: by mail-wr1-f65.google.com with SMTP id 65so4990084wrl.1
+ for <linux-tegra@vger.kernel.org>;
+ Wed, 25 Mar 2020 13:16:09 -0700 (PDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references
+ :mime-version:content-transfer-encoding;
+ bh=aW1zxIHiei+l8kDSE2lVXf/aMBDE/GtIkGFrQXvKkrY=;
+ b=XXUz449uJivXz+1lH6pKa9IvT3vUx61/skXaEyQxpkslFR268FwckKE0ryQDUx701N
+ hFN9ocSGCuE6bKpdgya8YmthXDASOYWZzKV0R5jms1rqgazVMF6jARv+kE4Jaj9Ek4tl
+ 4eTpmnHinx0xIrgGWCQbfltjb+zAE5XOGX8UCX1526r3yQQpu+OQlKZ70Tvq3pdw0zfT
+ URkTU8sfdTa9DCxUSsUukPcK9vKOk6XHkFleL6FisODDvXphdzzLa1TCv9UTGLrUsHSd
+ XDrukLto5efrUE03q5jP6ZN4xbnLDbhY6IkB7PAW1qwSPG/Eg0p0ivpJ58+QwwmBH6zF
+ ByDQ==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references:mime-version:content-transfer-encoding;
+ bh=aW1zxIHiei+l8kDSE2lVXf/aMBDE/GtIkGFrQXvKkrY=;
+ b=DIWKPWCoYx1rnX34DSkRPm2K6lR1SurVvq+IIY5Nrc9uq+E3pmXQcActG0DDAHHK8a
+ SgnziEvuWTeROgrlwONYq+FUZRQ6s1TRR1+qDXqAlRtdebU/cEep+LRvdzJe/qJBpPqd
+ SnSTR3Xntgo7EcyLRj9YqSodasylPt3OzrhuDudfTSQtKZghElLfyJV/tzgwG+OC3TD4
+ RJAykZ0tgWHy7Bc1UB+z6LovuT/sgcPUSLfNqDehQWqwQeqHqXgFAomUN0CCEr2YdjkT
+ sCpBZPqKtb22FdDWlDiNnEkEmMPA+K4MIWbZL9VuvArjFaaBn6fBxvnX4tAKEcOiKeUy
+ EZXw==
+X-Gm-Message-State: ANhLgQ1Vj1gSFYKgV/7jV1T3UIwTE5jasGmLOhuuGuWvjBs2xXUgieyz
+ VhNVgYIYU/8R/0Vx9Hv44rw=
+X-Google-Smtp-Source: ADFU+vtTfrVHW69I+ZhOz8qw8xUje/j42rKoNxAP2wTt+E5WQ5s6QhBcgeHzC4Bw5Q5NdWxjLUtZ/g==
+X-Received: by 2002:adf:800e:: with SMTP id 14mr5104354wrk.369.1585167368929;
+ Wed, 25 Mar 2020 13:16:08 -0700 (PDT)
+Received: from localhost
+ (p200300E41F4A9B0076D02BFFFE273F51.dip0.t-ipconnect.de.
+ [2003:e4:1f4a:9b00:76d0:2bff:fe27:3f51])
+ by smtp.gmail.com with ESMTPSA id
+ e9sm151985wrw.30.2020.03.25.13.16.07
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Wed, 25 Mar 2020 13:16:07 -0700 (PDT)
+From: Thierry Reding <thierry.reding@gmail.com>
+To: Thierry Reding <thierry.reding@gmail.com>
+Cc: dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org
+Subject: [PATCH 2/2] gpu: host1x: Use SMMU on Tegra124 and Tegra210
+Date: Wed, 25 Mar 2020 21:16:04 +0100
+Message-Id: <20200325201604.833898-2-thierry.reding@gmail.com>
+X-Mailer: git-send-email 2.24.1
+In-Reply-To: <20200325201604.833898-1-thierry.reding@gmail.com>
+References: <20200325201604.833898-1-thierry.reding@gmail.com>
+MIME-Version: 1.0
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+From: Thierry Reding <treding@nvidia.com>
+
+Tegra124 and Tegra210 support addressing more than 32 bits of physical
+memory. However, since their host1x does not support the wide GATHER
+opcode, they should use the SMMU if at all possible to ensure that all
+the system memory can be used for command buffers, irrespective of
+whether or not the host1x firewall is enabled.
+
+Signed-off-by: Thierry Reding <treding@nvidia.com>
+Tested-by: Jon Hunter <jonathanh@nvidia.com>
+---
+ drivers/gpu/host1x/dev.c | 46 ++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 42 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
+index 40a4b9f8b861..d24344e91922 100644
+--- a/drivers/gpu/host1x/dev.c
++++ b/drivers/gpu/host1x/dev.c
+@@ -192,17 +192,55 @@ static void host1x_setup_sid_table(struct host1x *host)
+ }
+ }
+
++static bool host1x_wants_iommu(struct host1x *host1x)
++{
++ /*
++ * If we support addressing a maximum of 32 bits of physical memory
++ * and if the host1x firewall is enabled, there's no need to enable
++ * IOMMU support. This can happen for example on Tegra20, Tegra30
++ * and Tegra114.
++ *
++ * Tegra124 and later can address up to 34 bits of physical memory and
++ * many platforms come equipped with more than 2 GiB of system memory,
++ * which requires crossing the 4 GiB boundary. But there's a catch: on
++ * SoCs before Tegra186 (i.e. Tegra124 and Tegra210), the host1x can
++ * only address up to 32 bits of memory in GATHER opcodes, which means
++ * that command buffers need to either be in the first 2 GiB of system
++ * memory (which could quickly lead to memory exhaustion), or command
++ * buffers need to be treated differently from other buffers (which is
++ * not possible with the current ABI).
++ *
++ * A third option is to use the IOMMU in these cases to make sure all
++ * buffers will be mapped into a 32-bit IOVA space that host1x can
++ * address. This allows all of the system memory to be used and works
++ * within the limitations of the host1x on these SoCs.
++ *
++ * In summary, default to enable IOMMU on Tegra124 and later. For any
++ * of the earlier SoCs, only use the IOMMU for additional safety when
++ * the host1x firewall is disabled.
++ */
++ if (host1x->info->dma_mask <= DMA_BIT_MASK(32)) {
++ if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL))
++ return false;
++ }
++
++ return true;
++}
++
+ static struct iommu_domain *host1x_iommu_attach(struct host1x *host)
+ {
+ struct iommu_domain *domain = iommu_get_domain_for_dev(host->dev);
+ int err;
+
+ /*
+- * If the host1x firewall is enabled, there's no need to enable IOMMU
+- * support. Similarly, if host1x is already attached to an IOMMU (via
+- * the DMA API), don't try to attach again.
++ * We may not always want to enable IOMMU support (for example if the
++ * host1x firewall is already enabled and we don't support addressing
++ * more than 32 bits of physical memory), so check for that first.
++ *
++ * Similarly, if host1x is already attached to an IOMMU (via the DMA
++ * API), don't try to attach again.
+ */
+- if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL) || domain)
++ if (!host1x_wants_iommu(host) || domain)
+ return domain;
+
+ host->group = iommu_group_get(host->dev);
diff --git a/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch b/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
new file mode 100644
index 000000000..efa8393c3
--- /dev/null
+++ b/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
@@ -0,0 +1,200 @@
+From patchwork Tue Feb 11 13:48:28 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Alifer Moraes <alifer.wsdm@gmail.com>
+X-Patchwork-Id: 11375533
+Return-Path:
+ <SRS0=9UBk=37=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
+Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
+ [172.30.200.123])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7DAC92A
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.kernel.org (Postfix) with ESMTPS id C5EA020714
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="balGUEE3";
+ dkim=fail reason="signature verification failed" (2048-bit key)
+ header.d=gmail.com header.i=@gmail.com header.b="d3FXu4Dc"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5EA020714
+Authentication-Results: mail.kernel.org;
+ dmarc=fail (p=none dis=none) header.from=gmail.com
+Authentication-Results: mail.kernel.org;
+ spf=none
+ smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
+ List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:
+ Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:
+ Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:
+ References:List-Owner; bh=Q9Eedrpm+ZQezEHXcjojgCHrYwg1NSmbBzGRJC6OAEs=; b=bal
+ GUEE3cweBEy/Vkjzf2O1dBoqXUeIQqctHowPUTw4Z2UghEKFuNfNsw8XoV+k/9uxO4M/XaDCgWyyp
+ qf26Y3SZo9+k2pqbjJt+qdqndF06tTHiH7QPQGbaWEBxURzOD+G1VW8Iyjvfi0f9vrXbv8d9b9+DI
+ LPpFdD/7IwXQZEYsPmaSEitj7mQXBlWZnRZrvrQfYtxXb3yABUQIUrBtZSoARs4A+Txn4vOFlT6B4
+ HOAidlwfT8hESddkvjjmeCAuPLXUyIBvDoSaYgAumOSh1xoUZsswM2ALud+R1XKVlGlAd1BE6uHt2
+ bWDUHrcXdge45JTn/egO1ibajqTlB/g==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j1VuW-0004DJ-JR; Tue, 11 Feb 2020 13:49:08 +0000
+Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1j1VuM-0003zu-98
+ for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2020 13:48:59 +0000
+Received: by mail-qt1-x841.google.com with SMTP id t13so7964724qto.3
+ for <linux-arm-kernel@lists.infradead.org>;
+ Tue, 11 Feb 2020 05:48:53 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id;
+ bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
+ b=d3FXu4DcpsHeeo7NBsq1Ec3f7OKhc4SsvQnIJenSnOtjREel9IF+kdR8ma1SWkO5OR
+ Ou4s2dnBv7WOxC4OPWNV6d8KIVpBRVtM/ukAKzN6d3zx7MvBtQz1N27NoDx/a7ujHsmS
+ jvZYtEEc8DToM7semtrIS3CUfnR8Jxni2Z/6WUP8wvMdDT8C1m2PB78zzz+BFas4vec2
+ VRg0vXB9eGeEdlGGMFCs2IJ9nbGhw7o3VA3WFY8plHWMmjNInC6fLgpMiA40FBmv4BzV
+ G9slDIDonCBacDdi6tPT8KEVnytqC8eiltqCoEj+hq8mYECNDQpWUjWhJQ4KRRh1aoXi
+ oAuA==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id;
+ bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
+ b=VDw2Y7qVf/KFTneIHUcwsg23yYrIU2SHbDXAyjC6m5rgjl9cM292uJO9J1u+Op1Cu/
+ dOhT15wf440CJpqMBTLTJJSuUVpomGxEXFT4qDa6Q84BqkWbFYl/d9HRJkcM1376rLVZ
+ 7nbzvWqSlLIu3wFgOabFryD13Mw65RJpKUn2vW0b7kInWJ/phJhDJ5+FwjVWJTXEIlsT
+ LFN5gpS5hajAUubLcUmK8avcuJGka+vT8NkK608MO8NndwUp56g4BRs7Pk4S6wvttmy3
+ F8ouwAvWF2idbxWjx9MGcaM/PVLhQpDmcif8AjlEhGnbBza4u5356N4S+SKZSkd43Grw
+ 8ZWA==
+X-Gm-Message-State: APjAAAUJWGlEecdg9M/V5ba1zVNwrP9LNv4AsXidTI7JEnOQd/PE0sMm
+ I4AUmnPqcCuUaNiG7XoZiUw=
+X-Google-Smtp-Source:
+ APXvYqybhzOEAAvHZbhKNes/s71zGxqa2omF1pXH9nVpHWlE7KVvcXMkRtBbOlD4T9UG/KxmmcCT+w==
+X-Received: by 2002:ac8:7caf:: with SMTP id z15mr14892626qtv.68.1581428933199;
+ Tue, 11 Feb 2020 05:48:53 -0800 (PST)
+Received: from NXL86673.nxp.com ([177.221.114.206])
+ by smtp.googlemail.com with ESMTPSA id h6sm2158936qtr.33.2020.02.11.05.48.50
+ (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
+ Tue, 11 Feb 2020 05:48:52 -0800 (PST)
+From: Alifer Moraes <alifer.wsdm@gmail.com>
+To: robh+dt@kernel.org
+Subject: [PATCH] arm64: dts: imx8mq-phanbell: Add support for ethernet
+Date: Tue, 11 Feb 2020 10:48:28 -0300
+Message-Id: <20200211134828.138-1-alifer.wsdm@gmail.com>
+X-Mailer: git-send-email 2.17.1
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200211_054858_316312_8FE28FDF
+X-CRM114-Status: GOOD ( 10.43 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [2607:f8b0:4864:20:0:0:0:841 listed in]
+ [list.dnswl.org]
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider [alifer.wsdm[at]gmail.com]
+ -0.0 SPF_PASS SPF: sender matches SPF record
+ 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
+ 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
+ not necessarily
+ valid
+ -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
+ envelope-from domain
+ -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
+ -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
+ author's domain
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.29
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, festevam@gmail.com,
+ s.hauer@pengutronix.de, linux-kernel@vger.kernel.org,
+ Alifer Moraes <alifer.wsdm@gmail.com>, marco.franchi@nxp.com,
+ shawnguo@kernel.org, linux-arm-kernel@lists.infradead.org
+MIME-Version: 1.0
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+
+Add support for ethernet on Google's i.MX 8MQ Phanbell
+
+Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
+---
+ .../boot/dts/freescale/imx8mq-phanbell.dts | 41 +++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
+index 3f2a489a4ad8..16ed13c44a47 100644
+--- a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
++++ b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
+@@ -201,6 +201,27 @@
+ };
+ };
+
++&fec1 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinctrl_fec1>;
++ phy-mode = "rgmii-id";
++ phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
++ phy-reset-duration = <10>;
++ phy-reset-post-delay = <30>;
++ phy-handle = <&ethphy0>;
++ fsl,magic-packet;
++ status = "okay";
++
++ mdio {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ ethphy0: ethernet-phy@0 {
++ compatible = "ethernet-phy-ieee802.3-c22";
++ reg = <0>;
++ };
++ };
++};
++
+ &uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart1>;
+@@ -254,6 +275,26 @@
+ };
+
+ &iomuxc {
++ pinctrl_fec1: fec1grp {
++ fsl,pins = <
++ MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3
++ MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23
++ MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
++ MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
++ MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
++ MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
++ MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
++ MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
++ MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
++ MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
++ MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
++ MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
++ MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
++ MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
++ MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
++ >;
++ };
++
+ pinctrl_i2c1: i2c1grp {
+ fsl,pins = <
+ MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f
diff --git a/arm64-pine64-pinephone.patch b/arm64-pine64-pinephone.patch
new file mode 100644
index 000000000..640d53e33
--- /dev/null
+++ b/arm64-pine64-pinephone.patch
@@ -0,0 +1,568 @@
+From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001
+From: Ondrej Jirman <megous@megous.com>
+Date: Thu, 27 Feb 2020 02:26:48 +0100
+Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins
+
+PinePhone needs I2C2 pins description. Add it, and make it default
+for i2c2, since it's the only possiblilty.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+index 862b47dc9dc9..107a48f9c5b3 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins {
+ function = "i2c1";
+ };
+
++ i2c2_pins: i2c2-pins {
++ pins = "PE14", "PE15";
++ function = "i2c2";
++ };
++
+ /omit-if-no-ref/
+ lcd_rgb666_pins: lcd-rgb666-pins {
+ pins = "PD0", "PD1", "PD2", "PD3", "PD4",
+@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 {
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&ccu CLK_BUS_I2C2>;
+ resets = <&ccu RST_BUS_I2C2>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&i2c2_pins>;
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+-
+ spi0: spi@1c68000 {
+ compatible = "allwinner,sun8i-h3-spi";
+ reg = <0x01c68000 0x1000>;
+--
+2.24.1
+
+From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001
+From: Ondrej Jirman <megous@megous.com>
+Date: Thu, 27 Feb 2020 02:26:49 +0100
+Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1
+ bindings
+
+Document board compatible names for Pine64 PinePhone:
+
+- 1.0 - Developer variant
+- 1.1 - Braveheart variant
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+Reviewed-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
+index 159060b65c5d..c632252be48b 100644
+--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
++++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
+@@ -636,6 +636,16 @@ properties:
+ - const: pine64,pinebook
+ - const: allwinner,sun50i-a64
+
++ - description: Pine64 PinePhone Developer Batch (1.0)
++ items:
++ - const: pine64,pinephone-1.0
++ - const: allwinner,sun50i-a64
++
++ - description: Pine64 PinePhone Braveheart (1.1)
++ items:
++ - const: pine64,pinephone-1.1
++ - const: allwinner,sun50i-a64
++
+ - description: Pine64 PineTab
+ items:
+ - const: pine64,pinetab
+--
+2.24.1
+
+From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001
+From: Ondrej Jirman <megous@megous.com>
+Date: Thu, 27 Feb 2020 02:26:50 +0100
+Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64
+ PinePhone
+
+At the moment PinePhone comes in two slightly incompatible variants:
+
+- 1.0: Early Developer Batch
+- 1.1: Braveheart Batch
+
+There will be at least one more incompatible variant in the very near
+future, so let's start by sharing the dtsi among multiple variants,
+right away, even though the HW description doesn't yet include the
+different bits.
+
+The differences between 1.0 and 1.1 are: change in pins that control
+the flash LED, differences in modem power status signal routing, and
+maybe some other subtler things, that have not been determined yet.
+
+This is a basic DT that includes only features that are already
+supported by mainline drivers.
+
+Co-developed-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Co-developed-by: Martijn Braam <martijn@brixit.nl>
+Signed-off-by: Martijn Braam <martijn@brixit.nl>
+Co-developed-by: Luca Weiss <luca@z3ntu.xyz>
+Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
+Signed-off-by: Bhushan Shah <bshah@kde.org>
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ arch/arm64/boot/dts/allwinner/Makefile | 2 +
+ .../allwinner/sun50i-a64-pinephone-1.0.dts | 11 +
+ .../allwinner/sun50i-a64-pinephone-1.1.dts | 11 +
+ .../dts/allwinner/sun50i-a64-pinephone.dtsi | 379 ++++++++++++++++++
+ 4 files changed, 403 insertions(+)
+ create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
+ create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
+ create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+
+diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
+index 6dad63881cd3..e4d3cd0ac5bb 100644
+--- a/arch/arm64/boot/dts/allwinner/Makefile
++++ b/arch/arm64/boot/dts/allwinner/Makefile
+@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb
++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
+new file mode 100644
+index 000000000000..0c42272106af
+--- /dev/null
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
+@@ -0,0 +1,11 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
++
++/dts-v1/;
++
++#include "sun50i-a64-pinephone.dtsi"
++
++/ {
++ model = "Pine64 PinePhone Developer Batch (1.0)";
++ compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64";
++};
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
+new file mode 100644
+index 000000000000..06a775c41664
+--- /dev/null
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
+@@ -0,0 +1,11 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
++
++/dts-v1/;
++
++#include "sun50i-a64-pinephone.dtsi"
++
++/ {
++ model = "Pine64 PinePhone Braveheart (1.1)";
++ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
++};
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+new file mode 100644
+index 000000000000..cefda145c3c9
+--- /dev/null
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+@@ -0,0 +1,379 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
++// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl>
++// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
++
++#include "sun50i-a64.dtsi"
++#include "sun50i-a64-cpu-opp.dtsi"
++
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/input.h>
++#include <dt-bindings/leds/common.h>
++#include <dt-bindings/pwm/pwm.h>
++
++/ {
++ aliases {
++ serial0 = &uart0;
++ };
++
++ chosen {
++ stdout-path = "serial0:115200n8";
++ };
++
++ leds {
++ compatible = "gpio-leds";
++
++ blue {
++ function = LED_FUNCTION_INDICATOR;
++ color = <LED_COLOR_ID_BLUE>;
++ gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
++ };
++
++ green {
++ function = LED_FUNCTION_INDICATOR;
++ color = <LED_COLOR_ID_GREEN>;
++ gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
++ };
++
++ red {
++ function = LED_FUNCTION_INDICATOR;
++ color = <LED_COLOR_ID_RED>;
++ gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
++ };
++ };
++
++ speaker_amp: audio-amplifier {
++ compatible = "simple-audio-amplifier";
++ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
++ sound-name-prefix = "Speaker Amp";
++ };
++
++ vibrator {
++ compatible = "gpio-vibrator";
++ enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
++ vcc-supply = <&reg_dcdc1>;
++ };
++};
++
++&codec {
++ status = "okay";
++};
++
++&codec_analog {
++ cpvdd-supply = <&reg_eldo1>;
++ status = "okay";
++};
++
++&cpu0 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&cpu1 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&cpu2 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&cpu3 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&dai {
++ status = "okay";
++};
++
++&ehci0 {
++ status = "okay";
++};
++
++&ehci1 {
++ status = "okay";
++};
++
++&i2c1 {
++ status = "okay";
++
++ /* Magnetometer */
++ lis3mdl@1e {
++ compatible = "st,lis3mdl-magn";
++ reg = <0x1e>;
++ vdd-supply = <&reg_dldo1>;
++ vddio-supply = <&reg_dldo1>;
++ };
++
++ /* Accelerometer/gyroscope */
++ mpu6050@68 {
++ compatible = "invensense,mpu6050";
++ reg = <0x68>;
++ interrupt-parent = <&pio>;
++ interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
++ vdd-supply = <&reg_dldo1>;
++ vddio-supply = <&reg_dldo1>;
++ };
++};
++
++/* Connected to pogo pins (external spring based pinheader for user addons) */
++&i2c2 {
++ status = "okay";
++};
++
++&lradc {
++ vref-supply = <&reg_aldo3>;
++ status = "okay";
++
++ button-200 {
++ label = "Volume Up";
++ linux,code = <KEY_VOLUMEUP>;
++ channel = <0>;
++ voltage = <200000>;
++ };
++
++ button-400 {
++ label = "Volume Down";
++ linux,code = <KEY_VOLUMEDOWN>;
++ channel = <0>;
++ voltage = <400000>;
++ };
++};
++
++&mmc0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&mmc0_pins>;
++ vmmc-supply = <&reg_dcdc1>;
++ vqmmc-supply = <&reg_dcdc1>;
++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
++ disable-wp;
++ bus-width = <4>;
++ status = "okay";
++};
++
++&mmc2 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&mmc2_pins>;
++ vmmc-supply = <&reg_dcdc1>;
++ vqmmc-supply = <&reg_dcdc1>;
++ bus-width = <8>;
++ non-removable;
++ cap-mmc-hw-reset;
++ status = "okay";
++};
++
++&ohci0 {
++ status = "okay";
++};
++
++&ohci1 {
++ status = "okay";
++};
++
++&pio {
++ vcc-pb-supply = <&reg_dcdc1>;
++ vcc-pc-supply = <&reg_dcdc1>;
++ vcc-pd-supply = <&reg_dcdc1>;
++ vcc-pe-supply = <&reg_aldo1>;
++ vcc-pf-supply = <&reg_dcdc1>;
++ vcc-pg-supply = <&reg_dldo4>;
++ vcc-ph-supply = <&reg_dcdc1>;
++};
++
++&r_pio {
++ /*
++ * FIXME: We can't add that supply for now since it would
++ * create a circular dependency between pinctrl, the regulator
++ * and the RSB Bus.
++ *
++ * vcc-pl-supply = <&reg_aldo2>;
++ */
++};
++
++&r_rsb {
++ status = "okay";
++
++ axp803: pmic@3a3 {
++ compatible = "x-powers,axp803";
++ reg = <0x3a3>;
++ interrupt-parent = <&r_intc>;
++ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
++ };
++};
++
++#include "axp803.dtsi"
++
++&ac_power_supply {
++ status = "okay";
++};
++
++&battery_power_supply {
++ status = "okay";
++};
++
++&reg_aldo1 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "dovdd-csi";
++};
++
++&reg_aldo2 {
++ regulator-always-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc-pl";
++};
++
++&reg_aldo3 {
++ regulator-always-on;
++ regulator-min-microvolt = <2700000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-pll-avcc";
++};
++
++&reg_dcdc1 {
++ regulator-always-on;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-3v3";
++};
++
++&reg_dcdc2 {
++ regulator-always-on;
++ regulator-min-microvolt = <1000000>;
++ regulator-max-microvolt = <1300000>;
++ regulator-name = "vdd-cpux";
++};
++
++/* DCDC3 is polyphased with DCDC2 */
++
++&reg_dcdc5 {
++ regulator-always-on;
++ regulator-min-microvolt = <1200000>;
++ regulator-max-microvolt = <1200000>;
++ regulator-name = "vcc-dram";
++};
++
++&reg_dcdc6 {
++ regulator-always-on;
++ regulator-min-microvolt = <1100000>;
++ regulator-max-microvolt = <1100000>;
++ regulator-name = "vdd-sys";
++};
++
++&reg_dldo1 {
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-dsi-sensor";
++};
++
++&reg_dldo2 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc-mipi-io";
++};
++
++&reg_dldo3 {
++ regulator-min-microvolt = <2800000>;
++ regulator-max-microvolt = <2800000>;
++ regulator-name = "avdd-csi";
++};
++
++&reg_dldo4 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-wifi-io";
++};
++
++&reg_eldo1 {
++ regulator-always-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc-lpddr";
++};
++
++&reg_eldo3 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "dvdd-1v8-csi";
++};
++
++&reg_fldo1 {
++ regulator-min-microvolt = <1200000>;
++ regulator-max-microvolt = <1200000>;
++ regulator-name = "vcc-1v2-hsic";
++};
++
++&reg_fldo2 {
++ regulator-always-on;
++ regulator-min-microvolt = <1100000>;
++ regulator-max-microvolt = <1100000>;
++ regulator-name = "vdd-cpus";
++};
++
++&reg_ldo_io0 {
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-lcd-ctp-stk";
++ status = "okay";
++};
++
++&reg_ldo_io1 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcc-1v8-typec";
++ status = "okay";
++};
++
++&reg_rtc_ldo {
++ regulator-name = "vcc-rtc";
++};
++
++&sound {
++ status = "okay";
++ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
++ simple-audio-card,widgets = "Microphone", "Headset Microphone",
++ "Microphone", "Internal Microphone",
++ "Headphone", "Headphone Jack",
++ "Speaker", "Internal Earpiece",
++ "Speaker", "Internal Speaker";
++ simple-audio-card,routing =
++ "Headphone Jack", "HP",
++ "Internal Earpiece", "EARPIECE",
++ "Internal Speaker", "Speaker Amp OUTL",
++ "Internal Speaker", "Speaker Amp OUTR",
++ "Speaker Amp INL", "LINEOUT",
++ "Speaker Amp INR", "LINEOUT",
++ "Left DAC", "AIF1 Slot 0 Left",
++ "Right DAC", "AIF1 Slot 0 Right",
++ "AIF1 Slot 0 Left ADC", "Left ADC",
++ "AIF1 Slot 0 Right ADC", "Right ADC",
++ "Internal Microphone", "MBIAS",
++ "MIC1", "Internal Microphone",
++ "Headset Microphone", "HBIAS",
++ "MIC2", "Headset Microphone";
++};
++
++&uart0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart0_pb_pins>;
++ status = "okay";
++};
++
++/* Connected to the modem (hardware flow control can't be used) */
++&uart3 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart3_pins>;
++ status = "okay";
++};
++
++&usb_otg {
++ dr_mode = "peripheral";
++ status = "okay";
++};
++
++&usb_power_supply {
++ status = "okay";
++};
++
++&usbphy {
++ status = "okay";
++};
+--
+2.24.1
+
diff --git a/arm64-pine64-pinetab.patch b/arm64-pine64-pinetab.patch
new file mode 100644
index 000000000..cafbc71bd
--- /dev/null
+++ b/arm64-pine64-pinetab.patch
@@ -0,0 +1,583 @@
+From e15d9c7cb74033f668c19a65abfd77ed7331f91e Mon Sep 17 00:00:00 2001
+From: Icenowy Zheng <icenowy@aosc.io>
+Date: Thu, 16 Jan 2020 11:36:35 +0800
+Subject: [PATCH 1/2] dt-bindings: arm: sunxi: add binding for PineTab tablet
+
+Add the device tree binding for Pine64's PineTab tablet, which uses
+Allwinner A64 SoC.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Reviewed-by: Rob Herring <robh@kernel.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
+index 327ce6730823..159060b65c5d 100644
+--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
++++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
+@@ -636,6 +636,11 @@ properties:
+ - const: pine64,pinebook
+ - const: allwinner,sun50i-a64
+
++ - description: Pine64 PineTab
++ items:
++ - const: pine64,pinetab
++ - const: allwinner,sun50i-a64
++
+ - description: Pine64 SoPine Baseboard
+ items:
+ - const: pine64,sopine-baseboard
+--
+2.24.1
+
+From d7b56d337bb980f0b996958ec6808253c4f50771 Mon Sep 17 00:00:00 2001
+From: Icenowy Zheng <icenowy@aosc.io>
+Date: Thu, 16 Jan 2020 11:36:36 +0800
+Subject: [PATCH 2/2] arm64: dts: allwinner: a64: add support for PineTab
+
+PineTab is a 10.1" tablet by Pine64 with Allwinner A64 inside.
+
+It includes the following peripherals:
+
+USB:
+- A microUSB Type-B port connected to the OTG-capable USB PHY of
+Allwinner A64. The ID pin is connected to a GPIO of the A64 SoC, and the
+Vbus is connected to the Vbus of AXP803 PMIC. These enables OTG
+functionality on this port.
+- A USB Type-A port is connected to the internal hub attached to the
+non-OTG USB PHY of Allwinner A64.
+- There are reserved pins for an external keyboard connected to the
+internal hub.
+
+Power:
+- The microUSB port has its Vbus connected to AXP803, mentioned above.
+- A DC jack (of a strange size, 2.5mm outer diameter) is connected to
+the ACIN of AXP803.
+- A Li-Polymer battery is connected to the battery pins of AXP803.
+
+Storage:
+- An tradition Pine64 eMMC slot is on the board, mounted with an eMMC
+module by factory.
+- An external microSD slot is hidden under a protect case.
+
+Display:
+- A MIPI-DSI LCD panel (800x1280) is connected to the DSI port of A64 SoC.
+- A mini HDMI port.
+
+Input:
+- A touch panel attached to a Goodix GT9271 touch controller.
+- Volume keys connected to the LRADC of the A64 SoC.
+
+Camera:
+- An OV5640 CMOS camera is at rear, connected to the CSI bus of A64 SoC.
+- A GC2145 CMOS camera is at front, shares the same CSI bus with OV5640.
+
+Audio:
+- A headphone jack is conencted to the SoC's internal codec.
+- A speaker connected is to the Line Out port of SoC's internal codec, via
+an amplifier.
+
+Misc:
+- Debug UART is muxed with the headphone jack, with the switch next to
+the microSD slot.
+- A bosch BMA223 accelerometer is connected to the I2C bus of A64 SoC.
+- Wi-Fi and Bluetooth are available via a RTL8723CS chip, similar to the
+one in Pinebook.
+
+This commit adds a basically usable device tree for it, implementing
+most of the features mentioned above. HDMI is not supported now because
+bad LCD-HDMI coexistence situation of mainline A64 display driver, the
+front camera currently lacks a driver and a facility to share the bus
+with the rear one, and the accelerometer currently lacks a DT binding.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ arch/arm64/boot/dts/allwinner/Makefile | 1 +
+ .../boot/dts/allwinner/sun50i-a64-pinetab.dts | 460 ++++++++++++++++++
+ 2 files changed, 461 insertions(+)
+ create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+
+diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
+index cf4f78617c3f..6dad63881cd3 100644
+--- a/arch/arm64/boot/dts/allwinner/Makefile
++++ b/arch/arm64/boot/dts/allwinner/Makefile
+@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
+ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+new file mode 100644
+index 000000000000..316e8a443913
+--- /dev/null
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+@@ -0,0 +1,460 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++/*
++ * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
++ *
++ */
++
++/dts-v1/;
++
++#include "sun50i-a64.dtsi"
++#include "sun50i-a64-cpu-opp.dtsi"
++
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/input.h>
++#include <dt-bindings/pwm/pwm.h>
++
++/ {
++ model = "PineTab";
++ compatible = "pine64,pinetab", "allwinner,sun50i-a64";
++
++ aliases {
++ serial0 = &uart0;
++ ethernet0 = &rtl8723cs;
++ };
++
++ backlight: backlight {
++ compatible = "pwm-backlight";
++ pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
++ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>;
++ default-brightness-level = <15>;
++ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
++ power-supply = <&vdd_bl>;
++ };
++
++ chosen {
++ stdout-path = "serial0:115200n8";
++ };
++
++ i2c-csi {
++ compatible = "i2c-gpio";
++ sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */
++ scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */
++ i2c-gpio,delay-us = <5>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ /* Rear camera */
++ ov5640: camera@3c {
++ compatible = "ovti,ov5640";
++ reg = <0x3c>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&csi_mclk_pin>;
++ clocks = <&ccu CLK_CSI_MCLK>;
++ clock-names = "xclk";
++
++ AVDD-supply = <&reg_dldo3>;
++ DOVDD-supply = <&reg_aldo1>;
++ DVDD-supply = <&reg_eldo3>;
++ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */
++ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */
++
++ port {
++ ov5640_ep: endpoint {
++ remote-endpoint = <&csi_ep>;
++ bus-width = <8>;
++ hsync-active = <1>; /* Active high */
++ vsync-active = <0>; /* Active low */
++ data-active = <1>; /* Active high */
++ pclk-sample = <1>; /* Rising */
++ };
++ };
++ };
++ };
++
++ speaker_amp: audio-amplifier {
++ compatible = "simple-audio-amplifier";
++ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
++ sound-name-prefix = "Speaker Amp";
++ };
++
++ vdd_bl: regulator@0 {
++ compatible = "regulator-fixed";
++ regulator-name = "bl-3v3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
++ enable-active-high;
++ };
++
++ wifi_pwrseq: wifi_pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
++ post-power-on-delay-ms = <200>;
++ };
++};
++
++&codec {
++ status = "okay";
++};
++
++&codec_analog {
++ hpvcc-supply = <&reg_eldo1>;
++ status = "okay";
++};
++
++&cpu0 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&cpu1 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&cpu2 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&cpu3 {
++ cpu-supply = <&reg_dcdc2>;
++};
++
++&csi {
++ status = "okay";
++
++ port {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ csi_ep: endpoint {
++ remote-endpoint = <&ov5640_ep>;
++ bus-width = <8>;
++ hsync-active = <1>; /* Active high */
++ vsync-active = <0>; /* Active low */
++ data-active = <1>; /* Active high */
++ pclk-sample = <1>; /* Rising */
++ };
++ };
++};
++
++&dai {
++ status = "okay";
++};
++
++&de {
++ status = "okay";
++};
++
++&dphy {
++ status = "okay";
++};
++
++&dsi {
++ vcc-dsi-supply = <&reg_dldo1>;
++ status = "okay";
++
++ panel@0 {
++ compatible = "feixin,k101-im2ba02";
++ reg = <0>;
++ avdd-supply = <&reg_dc1sw>;
++ dvdd-supply = <&reg_dc1sw>;
++ cvdd-supply = <&reg_ldo_io1>;
++ reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
++ backlight = <&backlight>;
++ };
++};
++
++&ehci0 {
++ status = "okay";
++};
++
++&ehci1 {
++ status = "okay";
++};
++
++&i2c0 {
++ status = "okay";
++
++ touchscreen@5d {
++ compatible = "goodix,gt9271";
++ reg = <0x5d>;
++ interrupt-parent = <&pio>;
++ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */
++ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
++ reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
++ AVDD28-supply = <&reg_ldo_io1>;
++ };
++};
++
++&i2c0_pins {
++ bias-pull-up;
++};
++
++&i2c1 {
++ status = "okay";
++
++ /* TODO: add Bochs BMA223 accelerometer here */
++};
++
++&lradc {
++ vref-supply = <&reg_aldo3>;
++ status = "okay";
++
++ button-200 {
++ label = "Volume Up";
++ linux,code = <KEY_VOLUMEUP>;
++ channel = <0>;
++ voltage = <200000>;
++ };
++
++ button-400 {
++ label = "Volume Down";
++ linux,code = <KEY_VOLUMEDOWN>;
++ channel = <0>;
++ voltage = <400000>;
++ };
++};
++
++&mixer1 {
++ status = "okay";
++};
++
++&mmc0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&mmc0_pins>;
++ vmmc-supply = <&reg_dcdc1>;
++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
++ disable-wp;
++ bus-width = <4>;
++ status = "okay";
++};
++
++&mmc1 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&mmc1_pins>;
++ vmmc-supply = <&reg_dldo4>;
++ vqmmc-supply = <&reg_eldo1>;
++ mmc-pwrseq = <&wifi_pwrseq>;
++ bus-width = <4>;
++ non-removable;
++ status = "okay";
++
++ rtl8723cs: wifi@1 {
++ reg = <1>;
++ };
++};
++
++&mmc2 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&mmc2_pins>;
++ vmmc-supply = <&reg_dcdc1>;
++ vqmmc-supply = <&reg_dcdc1>;
++ bus-width = <8>;
++ non-removable;
++ cap-mmc-hw-reset;
++ status = "okay";
++};
++
++&ohci0 {
++ status = "okay";
++};
++
++&pwm {
++ status = "okay";
++};
++
++&r_rsb {
++ status = "okay";
++
++ axp803: pmic@3a3 {
++ compatible = "x-powers,axp803";
++ reg = <0x3a3>;
++ interrupt-parent = <&r_intc>;
++ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
++ x-powers,drive-vbus-en;
++ };
++};
++
++#include "axp803.dtsi"
++
++&ac_power_supply {
++ status = "okay";
++};
++
++&battery_power_supply {
++ status = "okay";
++};
++
++&reg_aldo1 {
++ regulator-min-microvolt = <2800000>;
++ regulator-max-microvolt = <2800000>;
++ regulator-name = "dovdd-csi";
++};
++
++&reg_aldo2 {
++ regulator-always-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-pl";
++};
++
++&reg_aldo3 {
++ regulator-always-on;
++ regulator-min-microvolt = <2700000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-pll-avcc";
++};
++
++&reg_dc1sw {
++ regulator-name = "vcc-lcd";
++};
++
++&reg_dcdc1 {
++ regulator-always-on;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-3v3";
++};
++
++&reg_dcdc2 {
++ regulator-always-on;
++ regulator-min-microvolt = <1000000>;
++ regulator-max-microvolt = <1300000>;
++ regulator-name = "vdd-cpux";
++};
++
++/* DCDC3 is polyphased with DCDC2 */
++
++&reg_dcdc5 {
++ regulator-always-on;
++ regulator-min-microvolt = <1200000>;
++ regulator-max-microvolt = <1200000>;
++ regulator-name = "vcc-dram";
++};
++
++&reg_dcdc6 {
++ regulator-always-on;
++ regulator-min-microvolt = <1100000>;
++ regulator-max-microvolt = <1100000>;
++ regulator-name = "vdd-sys";
++};
++
++&reg_dldo1 {
++ regulator-always-on;
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-hdmi-dsi-sensor";
++};
++
++&reg_dldo3 {
++ regulator-min-microvolt = <2800000>;
++ regulator-max-microvolt = <2800000>;
++ regulator-name = "avdd-csi";
++};
++
++&reg_dldo4 {
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-wifi";
++};
++
++&reg_drivevbus {
++ regulator-name = "usb0-vbus";
++ status = "okay";
++};
++
++&reg_eldo1 {
++ regulator-always-on;
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "cpvdd";
++};
++
++&reg_eldo2 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "vcca-1v8";
++};
++
++&reg_eldo3 {
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-name = "dvdd-1v8-csi";
++};
++
++&reg_fldo1 {
++ regulator-min-microvolt = <1200000>;
++ regulator-max-microvolt = <1200000>;
++ regulator-name = "vcc-1v2-hsic";
++};
++
++&reg_fldo2 {
++ regulator-always-on;
++ regulator-min-microvolt = <1100000>;
++ regulator-max-microvolt = <1100000>;
++ regulator-name = "vdd-cpus";
++};
++
++&reg_ldo_io0 {
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-name = "vcc-usb";
++ status = "okay";
++};
++
++&reg_ldo_io1 {
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-enable-ramp-delay = <3500000>;
++ regulator-name = "vcc-touchscreen";
++ status = "okay";
++};
++
++&reg_rtc_ldo {
++ regulator-name = "vcc-rtc";
++};
++
++&sound {
++ status = "okay";
++ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
++ simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
++ "Microphone", "Internal Microphone Right",
++ "Headphone", "Headphone Jack",
++ "Speaker", "Internal Speaker";
++ simple-audio-card,routing =
++ "Left DAC", "AIF1 Slot 0 Left",
++ "Right DAC", "AIF1 Slot 0 Right",
++ "Speaker Amp INL", "LINEOUT",
++ "Speaker Amp INR", "LINEOUT",
++ "Internal Speaker", "Speaker Amp OUTL",
++ "Internal Speaker", "Speaker Amp OUTR",
++ "Headphone Jack", "HP",
++ "AIF1 Slot 0 Left ADC", "Left ADC",
++ "AIF1 Slot 0 Right ADC", "Right ADC",
++ "Internal Microphone Left", "MBIAS",
++ "MIC1", "Internal Microphone Left",
++ "Internal Microphone Right", "HBIAS",
++ "MIC2", "Internal Microphone Right";
++};
++
++&uart0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart0_pb_pins>;
++ status = "okay";
++};
++
++&usb_otg {
++ dr_mode = "otg";
++ status = "okay";
++};
++
++&usb_power_supply {
++ status = "okay";
++};
++
++&usbphy {
++ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
++ usb0_vbus_power-supply = <&usb_power_supply>;
++ usb0_vbus-supply = <&reg_drivevbus>;
++ usb1_vbus-supply = <&reg_ldo_io0>;
++ status = "okay";
++};
+--
+2.24.1
+
diff --git a/arm64-pinebook-fixes.patch b/arm64-pinebook-fixes.patch
new file mode 100644
index 000000000..410487293
--- /dev/null
+++ b/arm64-pinebook-fixes.patch
@@ -0,0 +1,429 @@
+From e7a6e6b0c6506a9f070dbfb2ca948770c47a1d78 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:30:57 -0600
+Subject: [PATCH 1/8] arm64: dts: allwinner: pinebook: Remove unused vcc3v3
+ regulator
+
+This fixed regulator has no consumers, GPIOs, or other connections.
+Remove it.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index 3d894b208901..ff32ca1a495e 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -63,13 +63,6 @@ lid_switch {
+ };
+ };
+
+- reg_vcc3v3: vcc3v3 {
+- compatible = "regulator-fixed";
+- regulator-name = "vcc3v3";
+- regulator-min-microvolt = <3300000>;
+- regulator-max-microvolt = <3300000>;
+- };
+-
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+--
+2.24.1
+
+From 5eea216437eeff908d6d2942bf893fb77ebfc111 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:30:59 -0600
+Subject: [PATCH 2/8] arm64: dts: allwinner: pinebook: Sort device tree nodes
+
+The r_i2c node should come before r_rsb, and in any case should not
+separate the axp803 node from its subnodes.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index ff32ca1a495e..77784f7b1da7 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -172,6 +172,14 @@ &pwm {
+ status = "okay";
+ };
+
++/* The ANX6345 eDP-bridge is on r_i2c */
++&r_i2c {
++ clock-frequency = <100000>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&r_i2c_pl89_pins>;
++ status = "okay";
++};
++
+ &r_rsb {
+ status = "okay";
+
+@@ -183,14 +191,6 @@ axp803: pmic@3a3 {
+ };
+ };
+
+-/* The ANX6345 eDP-bridge is on r_i2c */
+-&r_i2c {
+- clock-frequency = <100000>;
+- pinctrl-names = "default";
+- pinctrl-0 = <&r_i2c_pl89_pins>;
+- status = "okay";
+-};
+-
+ #include "axp803.dtsi"
+
+ &ac_power_supply {
+--
+2.24.1
+
+From 4bdf53ffc64e5c6738c942dcdc422d5ca8a2070a Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:31:00 -0600
+Subject: [PATCH 3/8] arm64: dts: allwinner: pinebook: Make simplefb more
+ consistent
+
+Boards generally reference the simplefb nodes from the SoC dtsi by
+label, not by full path. simplefb_hdmi is already like this in the
+Pinebook DTS. Update simplefb_lcd to match.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index 77784f7b1da7..224bed65d008 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -41,12 +41,6 @@ backlight: backlight {
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+-
+- framebuffer-lcd {
+- panel-supply = <&reg_dc1sw>;
+- dvdd25-supply = <&reg_dldo2>;
+- dvdd12-supply = <&reg_fldo1>;
+- };
+ };
+
+ gpio_keys {
+@@ -316,6 +310,12 @@ &reg_rtc_ldo {
+ regulator-name = "vcc-rtc";
+ };
+
++&simplefb_lcd {
++ panel-supply = <&reg_dc1sw>;
++ dvdd25-supply = <&reg_dldo2>;
++ dvdd12-supply = <&reg_fldo1>;
++};
++
+ &simplefb_hdmi {
+ vcc-hdmi-supply = <&reg_dldo1>;
+ };
+--
+2.24.1
+
+From c0f416de7141bbc713f080ad123b256f6320ec92 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:31:01 -0600
+Subject: [PATCH 4/8] arm64: dts: allwinner: pinebook: Document MMC0 CD pin
+ name
+
+Normally GPIO pin references are followed by a comment giving the pin
+name for searchability. Add the comment here where it was missing.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index 224bed65d008..a1e15777d524 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -119,7 +119,7 @@ &mmc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins>;
+ vmmc-supply = <&reg_dcdc1>;
+- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+ disable-wp;
+ bus-width = <4>;
+ status = "okay";
+--
+2.24.1
+
+From 8818d55ec31fa6e0dc14fb7a4924b3e8d3ecef7d Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:31:02 -0600
+Subject: [PATCH 5/8] arm64: dts: allwinner: pinebook: Add GPIO port regulators
+
+Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL.
+
+VCC-PC and VCC-PG are supplied by ELDO1 at 1.8v.
+VCC-PD is supplied by DCDC1 (VCC-IO) at 3.3v.
+VCC-PE is supplied by ALDO1, and is unused.
+
+VCC-PL creates a circular dependency, so it is omitted for now.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index a1e15777d524..1ec39120323f 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -162,6 +162,13 @@ &ohci1 {
+ status = "okay";
+ };
+
++&pio {
++ vcc-pc-supply = <&reg_eldo1>;
++ vcc-pd-supply = <&reg_dcdc1>;
++ vcc-pe-supply = <&reg_aldo1>;
++ vcc-pg-supply = <&reg_eldo1>;
++};
++
+ &pwm {
+ status = "okay";
+ };
+@@ -174,6 +181,16 @@ &r_i2c {
+ status = "okay";
+ };
+
++&r_pio {
++ /*
++ * FIXME: We can't add that supply for now since it would
++ * create a circular dependency between pinctrl, the regulator
++ * and the RSB Bus.
++ *
++ * vcc-pl-supply = <&reg_aldo2>;
++ */
++};
++
+ &r_rsb {
+ status = "okay";
+
+--
+2.24.1
+
+From bd863f25d41173e140850772f9a02ffb3b3e0d6b Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:31:03 -0600
+Subject: [PATCH 6/8] arm64: dts: allwinner: pinebook: Fix backlight regulator
+
+The output from the backlight regulator is labeled as "VBKLT" in the
+schematic. Using the equation and resistor values from the schematic,
+the output is approximately 18V, not 3.3V. Since the regulator in use
+(SS6640STR) is a boost regulator powered by PS (battery or AC input),
+which are both >3.3V, the output could not be 3.3V anyway.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../dts/allwinner/sun50i-a64-pinebook.dts | 20 +++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index 1ec39120323f..313f4e6edc19 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -21,22 +21,13 @@ aliases {
+ ethernet0 = &rtl8723cs;
+ };
+
+- vdd_bl: regulator@0 {
+- compatible = "regulator-fixed";
+- regulator-name = "bl-3v3";
+- regulator-min-microvolt = <3300000>;
+- regulator-max-microvolt = <3300000>;
+- gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
+- enable-active-high;
+- };
+-
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm 0 50000 0>;
+ brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
+ default-brightness-level = <2>;
+ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
+- power-supply = <&vdd_bl>;
++ power-supply = <&reg_vbklt>;
+ };
+
+ chosen {
+@@ -57,6 +48,15 @@ lid_switch {
+ };
+ };
+
++ reg_vbklt: vbklt {
++ compatible = "regulator-fixed";
++ regulator-name = "vbklt";
++ regulator-min-microvolt = <18000000>;
++ regulator-max-microvolt = <18000000>;
++ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
++ enable-active-high;
++ };
++
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+--
+2.24.1
+
+From 425472eb612873c9c64b41df70020de58448bef3 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:31:04 -0600
+Subject: [PATCH 7/8] arm64: dts: allwinner: pinebook: Fix 5v0 boost regulator
+
+Now that AXP803 GPIO support is available, we can properly model
+the hardware. Replace the use of GPIO0-LDO with a fixed regulator
+controlled by GPIO0. This boost regulator is used to power the
+(internal and external) USB ports, as well as the speakers.
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../dts/allwinner/sun50i-a64-pinebook.dts | 27 +++++++++----------
+ 1 file changed, 12 insertions(+), 15 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index 313f4e6edc19..c06c540e6c08 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -57,6 +57,15 @@ reg_vbklt: vbklt {
+ enable-active-high;
+ };
+
++ reg_vcc5v0: vcc5v0 {
++ compatible = "regulator-fixed";
++ regulator-name = "vcc5v0";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
++ enable-active-high;
++ };
++
+ wifi_pwrseq: wifi_pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
+@@ -64,12 +73,7 @@ wifi_pwrseq: wifi_pwrseq {
+
+ speaker_amp: audio-amplifier {
+ compatible = "simple-audio-amplifier";
+- /*
+- * TODO This is actually a fixed regulator controlled by
+- * the GPIO line on the PMIC. This should be corrected
+- * once GPIO support is added for this PMIC.
+- */
+- VCC-supply = <&reg_ldo_io0>;
++ VCC-supply = <&reg_vcc5v0>;
+ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
+ sound-name-prefix = "Speaker Amp";
+ };
+@@ -316,13 +320,6 @@ &reg_fldo2 {
+ regulator-name = "vdd-cpus";
+ };
+
+-&reg_ldo_io0 {
+- regulator-min-microvolt = <3300000>;
+- regulator-max-microvolt = <3300000>;
+- regulator-name = "vcc-usb";
+- status = "okay";
+-};
+-
+ &reg_rtc_ldo {
+ regulator-name = "vcc-rtc";
+ };
+@@ -371,7 +368,7 @@ &usb_otg {
+ };
+
+ &usbphy {
+- usb0_vbus-supply = <&reg_ldo_io0>;
+- usb1_vbus-supply = <&reg_ldo_io0>;
++ usb0_vbus-supply = <&reg_vcc5v0>;
++ usb1_vbus-supply = <&reg_vcc5v0>;
+ status = "okay";
+ };
+--
+2.24.1
+
+From c3aea4ea2117f5dc28da3d4175fc93296653ecd5 Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Sun, 19 Jan 2020 10:30:58 -0600
+Subject: [PATCH 8/8] arm64: dts: allwinner: pinebook: Remove unused AXP803
+ regulators
+
+The Pinebook does not use the CSI bus on the A64. In fact it does not
+use GPIO port E for anything at all. Thus the following regulators are
+not used and do not need voltages set:
+
+ - ALDO1: Connected to VCC-PE only
+ - DLDO3: Not connected
+ - ELDO3: Not connected
+
+Signed-off-by: Samuel Holland <samuel@sholland.org>
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+---
+ .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+index c06c540e6c08..12e513ba8f50 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
+@@ -217,9 +217,7 @@ &battery_power_supply {
+ };
+
+ &reg_aldo1 {
+- regulator-min-microvolt = <2800000>;
+- regulator-max-microvolt = <2800000>;
+- regulator-name = "vcc-csi";
++ regulator-name = "vcc-pe";
+ };
+
+ &reg_aldo2 {
+@@ -282,12 +280,6 @@ &reg_dldo2 {
+ regulator-name = "vcc-edp";
+ };
+
+-&reg_dldo3 {
+- regulator-min-microvolt = <3300000>;
+- regulator-max-microvolt = <3300000>;
+- regulator-name = "avdd-csi";
+-};
+-
+ &reg_dldo4 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+@@ -301,12 +293,6 @@ &reg_eldo1 {
+ regulator-name = "cpvdd";
+ };
+
+-&reg_eldo3 {
+- regulator-min-microvolt = <1800000>;
+- regulator-max-microvolt = <1800000>;
+- regulator-name = "vdd-1v8-csi";
+-};
+-
+ &reg_fldo1 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+--
+2.24.1
+
diff --git a/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch b/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
new file mode 100644
index 000000000..8f9dd4473
--- /dev/null
+++ b/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
@@ -0,0 +1,396 @@
+From patchwork Wed Jan 29 13:28:17 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
+X-Patchwork-Id: 1230891
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=lgr6vu5h;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48747F4JPmz9sPW
+ for <incoming@patchwork.ozlabs.org>;
+ Thu, 30 Jan 2020 00:28:25 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1726178AbgA2N2Y (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Wed, 29 Jan 2020 08:28:24 -0500
+Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:3674 "EHLO
+ hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1726069AbgA2N2Y (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Wed, 29 Jan 2020 08:28:24 -0500
+Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e3188630000>; Wed, 29 Jan 2020 05:28:03 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate101.nvidia.com (PGP Universal service);
+ Wed, 29 Jan 2020 05:28:23 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate101.nvidia.com on Wed, 29 Jan 2020 05:28:23 -0800
+Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL101.nvidia.com
+ (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Wed, 29 Jan 2020 13:28:22 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
+ (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Wed, 29 Jan 2020 13:28:22 +0000
+Received: from localhost.localdomain (Not Verified[10.21.133.51]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e3188740004>; Wed, 29 Jan 2020 05:28:21 -0800
+From: Jon Hunter <jonathanh@nvidia.com>
+To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
+ Jiri Slaby <jslaby@suse.com>, Thierry Reding <thierry.reding@gmail.com>
+CC: <linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
+ <linux-tegra@vger.kernel.org>, Jeff Brasen <jbrasen@nvidia.com>,
+ Jon Hunter <jonathanh@nvidia.com>
+Subject: [PATCH V3] serial: 8250_tegra: Create Tegra specific 8250 driver
+Date: Wed, 29 Jan 2020 13:28:17 +0000
+Message-ID: <20200129132817.26343-1-jonathanh@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1580304483; bh=HoJs+kXsFZvSMy4ts1p9lRICvn55qhYk7d+0r26WND4=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ X-NVConfidentiality:MIME-Version:Content-Type;
+ b=lgr6vu5h+VXLi0/YMPdPOZmrFcPymQL2RMQS/Y94oEs9qjQBfvOy9RYiQ5bsghpNO
+ 9U3OavbzFTAgW3KVZK8/mx1JJMjbFph68zpRKJEwBkblJHozmOkNlYLdz/cMpg5F3z
+ XIdzGIouM94Y4Hf/z/PboeRmHIBT/2El0aEgzPdP9pt7VwjIlXvaaQs07AQ8RQFHaL
+ NV3bpUNN5YnloRF8XZ4upFOBRw06fcNAkTS9bwSFXWyFX19F+pUyKwKLaMIsmytQ8Q
+ 1tMqHbNUdh2yi1PLb34dnWezFZmhfrhFsKrmWnbZA/QAcB+HuvRmUMtZmIE+K4sa1B
+ dhsJcFUWXmJbQ==
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+From: Jeff Brasen <jbrasen@nvidia.com>
+
+To support booting NVIDIA Tegra platforms with either Device-Tree or
+ACPI, create a Tegra specific 8250 serial driver that supports both
+firmware types. Another benefit from doing this, is that the Tegra
+specific codec in the generic Open Firmware 8250 driver can now be
+removed.
+
+Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
+Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
+---
+
+Changes since V2:
+- Added missing header for devm_ioremap (reported by kbuild test robot)
+Changes since V1:
+- Added support for COMPILE_TEST
+
+ drivers/tty/serial/8250/8250_of.c | 28 ----
+ drivers/tty/serial/8250/8250_tegra.c | 198 +++++++++++++++++++++++++++
+ drivers/tty/serial/8250/Kconfig | 9 ++
+ drivers/tty/serial/8250/Makefile | 1 +
+ 4 files changed, 208 insertions(+), 28 deletions(-)
+ create mode 100644 drivers/tty/serial/8250/8250_tegra.c
+
+diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
+index 531ad67395e0..5e45cf8dbc6e 100644
+--- a/drivers/tty/serial/8250/8250_of.c
++++ b/drivers/tty/serial/8250/8250_of.c
+@@ -7,7 +7,6 @@
+ #include <linux/console.h>
+ #include <linux/module.h>
+ #include <linux/slab.h>
+-#include <linux/delay.h>
+ #include <linux/serial_core.h>
+ #include <linux/serial_reg.h>
+ #include <linux/of_address.h>
+@@ -26,28 +25,6 @@ struct of_serial_info {
+ int line;
+ };
+
+-#ifdef CONFIG_ARCH_TEGRA
+-static void tegra_serial_handle_break(struct uart_port *p)
+-{
+- unsigned int status, tmout = 10000;
+-
+- do {
+- status = p->serial_in(p, UART_LSR);
+- if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
+- status = p->serial_in(p, UART_RX);
+- else
+- break;
+- if (--tmout == 0)
+- break;
+- udelay(1);
+- } while (1);
+-}
+-#else
+-static inline void tegra_serial_handle_break(struct uart_port *port)
+-{
+-}
+-#endif
+-
+ static int of_8250_rs485_config(struct uart_port *port,
+ struct serial_rs485 *rs485)
+ {
+@@ -211,10 +188,6 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
+ port->rs485_config = of_8250_rs485_config;
+
+ switch (type) {
+- case PORT_TEGRA:
+- port->handle_break = tegra_serial_handle_break;
+- break;
+-
+ case PORT_RT2880:
+ port->iotype = UPIO_AU;
+ break;
+@@ -359,7 +332,6 @@ static const struct of_device_id of_platform_serial_table[] = {
+ { .compatible = "ns16550", .data = (void *)PORT_16550, },
+ { .compatible = "ns16750", .data = (void *)PORT_16750, },
+ { .compatible = "ns16850", .data = (void *)PORT_16850, },
+- { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, },
+ { .compatible = "nxp,lpc3220-uart", .data = (void *)PORT_LPC3220, },
+ { .compatible = "ralink,rt2880-uart", .data = (void *)PORT_RT2880, },
+ { .compatible = "intel,xscale-uart", .data = (void *)PORT_XSCALE, },
+diff --git a/drivers/tty/serial/8250/8250_tegra.c b/drivers/tty/serial/8250/8250_tegra.c
+new file mode 100644
+index 000000000000..c0ffad1572c6
+--- /dev/null
++++ b/drivers/tty/serial/8250/8250_tegra.c
+@@ -0,0 +1,198 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Serial Port driver for Tegra devices
++ *
++ * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
++ */
++
++#include <linux/acpi.h>
++#include <linux/clk.h>
++#include <linux/console.h>
++#include <linux/delay.h>
++#include <linux/io.h>
++#include <linux/module.h>
++#include <linux/reset.h>
++#include <linux/slab.h>
++
++#include "8250.h"
++
++struct tegra_uart {
++ struct clk *clk;
++ struct reset_control *rst;
++ int line;
++};
++
++static void tegra_uart_handle_break(struct uart_port *p)
++{
++ unsigned int status, tmout = 10000;
++
++ do {
++ status = p->serial_in(p, UART_LSR);
++ if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
++ status = p->serial_in(p, UART_RX);
++ else
++ break;
++ if (--tmout == 0)
++ break;
++ udelay(1);
++ } while (1);
++}
++
++static int tegra_uart_probe(struct platform_device *pdev)
++{
++ struct uart_8250_port port8250;
++ struct tegra_uart *uart;
++ struct uart_port *port;
++ struct resource *res;
++ int ret;
++
++ uart = devm_kzalloc(&pdev->dev, sizeof(*uart), GFP_KERNEL);
++ if (!uart)
++ return -ENOMEM;
++
++ memset(&port8250, 0, sizeof(port8250));
++
++ port = &port8250.port;
++ spin_lock_init(&port->lock);
++
++ port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_FIXED_PORT |
++ UPF_FIXED_TYPE;
++ port->iotype = UPIO_MEM32;
++ port->regshift = 2;
++ port->type = PORT_TEGRA;
++ port->irqflags |= IRQF_SHARED;
++ port->dev = &pdev->dev;
++ port->handle_break = tegra_uart_handle_break;
++
++ ret = of_alias_get_id(pdev->dev.of_node, "serial");
++ if (ret >= 0)
++ port->line = ret;
++
++ ret = platform_get_irq(pdev, 0);
++ if (ret < 0)
++ return ret;
++
++ port->irq = ret;
++
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (!res)
++ return -ENODEV;
++
++ port->membase = devm_ioremap(&pdev->dev, res->start,
++ resource_size(res));
++ if (!port->membase)
++ return -ENOMEM;
++
++ port->mapbase = res->start;
++ port->mapsize = resource_size(res);
++
++ uart->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL);
++ if (IS_ERR(uart->rst))
++ return PTR_ERR(uart->rst);
++
++ if (device_property_read_u32(&pdev->dev, "clock-frequency",
++ &port->uartclk)) {
++ uart->clk = devm_clk_get(&pdev->dev, NULL);
++ if (IS_ERR(uart->clk)) {
++ dev_err(&pdev->dev, "failed to get clock!\n");
++ return -ENODEV;
++ }
++
++ ret = clk_prepare_enable(uart->clk);
++ if (ret < 0)
++ return ret;
++
++ port->uartclk = clk_get_rate(uart->clk);
++ }
++
++ ret = reset_control_deassert(uart->rst);
++ if (ret)
++ goto err_clkdisable;
++
++ ret = serial8250_register_8250_port(&port8250);
++ if (ret < 0)
++ goto err_clkdisable;
++
++ platform_set_drvdata(pdev, uart);
++ uart->line = ret;
++
++ return 0;
++
++err_clkdisable:
++ clk_disable_unprepare(uart->clk);
++
++ return ret;
++}
++
++static int tegra_uart_remove(struct platform_device *pdev)
++{
++ struct tegra_uart *uart = platform_get_drvdata(pdev);
++
++ serial8250_unregister_port(uart->line);
++ reset_control_assert(uart->rst);
++ clk_disable_unprepare(uart->clk);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM_SLEEP
++static int tegra_uart_suspend(struct device *dev)
++{
++ struct tegra_uart *uart = dev_get_drvdata(dev);
++ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
++ struct uart_port *port = &port8250->port;
++
++ serial8250_suspend_port(uart->line);
++
++ if (!uart_console(port) || console_suspend_enabled)
++ clk_disable_unprepare(uart->clk);
++
++ return 0;
++}
++
++static int tegra_uart_resume(struct device *dev)
++{
++ struct tegra_uart *uart = dev_get_drvdata(dev);
++ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
++ struct uart_port *port = &port8250->port;
++
++ if (!uart_console(port) || console_suspend_enabled)
++ clk_prepare_enable(uart->clk);
++
++ serial8250_resume_port(uart->line);
++
++ return 0;
++}
++#endif
++
++static SIMPLE_DEV_PM_OPS(tegra_uart_pm_ops, tegra_uart_suspend,
++ tegra_uart_resume);
++
++static const struct of_device_id tegra_uart_of_match[] = {
++ { .compatible = "nvidia,tegra20-uart", },
++ { },
++};
++MODULE_DEVICE_TABLE(of, tegra_uart_of_match);
++
++static const struct acpi_device_id tegra_uart_acpi_match[] = {
++ { "NVDA0100", 0 },
++ { },
++};
++MODULE_DEVICE_TABLE(acpi, tegra_uart_acpi_match);
++
++static struct platform_driver tegra_uart_driver = {
++ .driver = {
++ .name = "tegra-uart",
++ .pm = &tegra_uart_pm_ops,
++ .of_match_table = tegra_uart_of_match,
++ .acpi_match_table = ACPI_PTR(tegra_uart_acpi_match),
++ },
++ .probe = tegra_uart_probe,
++ .remove = tegra_uart_remove,
++};
++
++module_platform_driver(tegra_uart_driver);
++
++MODULE_AUTHOR("Jeff Brasen <jbrasen@nvidia.com>");
++MODULE_DESCRIPTION("NVIDIA Tegra 8250 Driver");
++MODULE_LICENSE("GPL v2");
+diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
+index f16824bbb573..af0688156dd0 100644
+--- a/drivers/tty/serial/8250/Kconfig
++++ b/drivers/tty/serial/8250/Kconfig
+@@ -500,6 +500,15 @@ config SERIAL_8250_PXA
+ applicable to both devicetree and legacy boards, and early console is
+ part of its support.
+
++config SERIAL_8250_TEGRA
++ tristate "8250 support for Tegra serial ports"
++ default SERIAL_8250
++ depends on SERIAL_8250
++ depends on ARCH_TEGRA || COMPILE_TEST
++ help
++ Select this option if you have machine with an NVIDIA Tegra SoC and
++ wish to enable 8250 serial driver for the Tegra serial interfaces.
++
+ config SERIAL_OF_PLATFORM
+ tristate "Devicetree based probing for 8250 ports"
+ depends on SERIAL_8250 && OF
+diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
+index 51a6079d3f1f..a8bfb654d490 100644
+--- a/drivers/tty/serial/8250/Makefile
++++ b/drivers/tty/serial/8250/Makefile
+@@ -37,6 +37,7 @@ obj-$(CONFIG_SERIAL_8250_INGENIC) += 8250_ingenic.o
+ obj-$(CONFIG_SERIAL_8250_LPSS) += 8250_lpss.o
+ obj-$(CONFIG_SERIAL_8250_MID) += 8250_mid.o
+ obj-$(CONFIG_SERIAL_8250_PXA) += 8250_pxa.o
++obj-$(CONFIG_SERIAL_8250_TEGRA) += 8250_tegra.o
+ obj-$(CONFIG_SERIAL_OF_PLATFORM) += 8250_of.o
+
+ CFLAGS_8250_ingenic.o += -I$(srctree)/scripts/dtc/libfdt
diff --git a/arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch b/arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch
deleted file mode 100644
index 3628a7e6b..000000000
--- a/arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 59780095ba35a49946e726c88caff6f65f3e433a Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Tue, 30 Jul 2019 14:22:36 +0100
-Subject: [PATCH] arm64: tegra: Jetson TX2: Allow bootloader to configure
- Ethernet MAC
-
-Add an ethernet alias so that a stable MAC address is added to the
-device tree for the wired ethernet interface.
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
-index 5e18acf5cfad..947744d0f04c 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
-@@ -8,6 +8,7 @@
- compatible = "nvidia,p3310", "nvidia,tegra186";
-
- aliases {
-+ ethernet0 = "/ethernet@2490000";
- sdhci0 = "/sdhci@3460000";
- sdhci1 = "/sdhci@3400000";
- serial0 = &uarta;
---
-2.21.0
-
diff --git a/arm64-tegra-jetson-tx1-fixes.patch b/arm64-tegra-jetson-tx1-fixes.patch
deleted file mode 100644
index 0f476970f..000000000
--- a/arm64-tegra-jetson-tx1-fixes.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From aea4a7a551fd7342299d34f04a8b75f58644ac07 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sat, 23 Mar 2019 17:45:10 +0000
-Subject: [PATCH 2/3] arm64: tegra210: Jetson TX1: disable display panel and
- associated backlight
-
-The Jetson TX1 dev kit doesn't ship with a screen by default and if
-it's not there it appears to crash on boot so disable them both by
-default until we work out the problem.
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-index 37e3c46e753f..a16f24f1d5ff 100644
---- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-@@ -36,7 +36,7 @@
-
- host1x@50000000 {
- dsi@54300000 {
-- status = "okay";
-+ status = "disabled";
-
- avdd-dsi-csi-supply = <&vdd_dsi_csi>;
-
-@@ -54,6 +54,8 @@
-
- i2c@7000c400 {
- backlight: backlight@2c {
-+ status = "disabled";
-+
- compatible = "ti,lp8557";
- reg = <0x2c>;
-
---
-2.20.1
diff --git a/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch b/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch
new file mode 100644
index 000000000..08c519629
--- /dev/null
+++ b/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch
@@ -0,0 +1,186 @@
+From patchwork Mon Feb 24 14:07:48 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
+X-Patchwork-Id: 1243112
+Return-Path: <linux-tegra-owner@vger.kernel.org>
+X-Original-To: incoming@patchwork.ozlabs.org
+Delivered-To: patchwork-incoming@bilbo.ozlabs.org
+Authentication-Results: ozlabs.org; spf=none (no SPF record)
+ smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
+ helo=vger.kernel.org;
+ envelope-from=linux-tegra-owner@vger.kernel.org;
+ receiver=<UNKNOWN>)
+Authentication-Results: ozlabs.org;
+ dmarc=pass (p=none dis=none) header.from=nvidia.com
+Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
+ unprotected) header.d=nvidia.com header.i=@nvidia.com
+ header.a=rsa-sha256 header.s=n1 header.b=bnwYpe6i;
+ dkim-atps=neutral
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by ozlabs.org (Postfix) with ESMTP id 48R3nG3y97z9sRQ
+ for <incoming@patchwork.ozlabs.org>;
+ Tue, 25 Feb 2020 01:08:18 +1100 (AEDT)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1727539AbgBXOIR (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
+ Mon, 24 Feb 2020 09:08:17 -0500
+Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:5063 "EHLO
+ hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1727451AbgBXOIR (ORCPT
+ <rfc822;linux-tegra@vger.kernel.org>);
+ Mon, 24 Feb 2020 09:08:17 -0500
+Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
+ hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
+ id <B5e53d8840000>; Mon, 24 Feb 2020 06:07:00 -0800
+Received: from hqmail.nvidia.com ([172.20.161.6])
+ by hqpgpgate101.nvidia.com (PGP Universal service);
+ Mon, 24 Feb 2020 06:08:16 -0800
+X-PGP-Universal: processed;
+ by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:08:16 -0800
+Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL107.nvidia.com
+ (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
+ Mon, 24 Feb 2020 14:08:16 +0000
+Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
+ (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
+ Frontend Transport; Mon, 24 Feb 2020 14:08:15 +0000
+Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
+ rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
+ id <B5e53d8cd0006>; Mon, 24 Feb 2020 06:08:15 -0800
+From: Jon Hunter <jonathanh@nvidia.com>
+To: Milo Kim <milo.kim@ti.com>, Lee Jones <lee.jones@linaro.org>,
+ Daniel Thompson <daniel.thompson@linaro.org>,
+ Jingoo Han <jingoohan1@gmail.com>
+CC: <dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
+ <linux-tegra@vger.kernel.org>, Jon Hunter <jonathanh@nvidia.com>
+Subject: [PATCH] backlight: lp855x: Ensure regulators are disabled on probe
+ failure
+Date: Mon, 24 Feb 2020 14:07:48 +0000
+Message-ID: <20200224140748.2182-1-jonathanh@nvidia.com>
+X-Mailer: git-send-email 2.17.1
+X-NVConfidentiality: public
+MIME-Version: 1.0
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
+ t=1582553220; bh=B1HKOxHeQwu3ZxgJLvSfafO1owYsd38lFNvB2Oh8gBc=;
+ h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
+ X-NVConfidentiality:MIME-Version:Content-Type;
+ b=bnwYpe6isaqG2Bp36VGI0VAYjd8jtznqNulwkVw85vf5zOMSfv809Oou4taz+1W9g
+ /eTLeJozbJBXhllQfybYW8hX4fyWIjWNON8aQugt/0HrnKAjg5r9wLT5lTgmy+8n2B
+ YrCJM3gob7XIi7l0cbONUTfyGssXmyEi+0SUamN4DDOnXIFxHBentnbyQdvOQ9+11P
+ Dr5X+zeRff1B/SMt2pdNwrja2cVOPDRGAM+U4epkb2bICZZUiGv1fQLKa+KgJ7xMMS
+ AwmdVrZ/6l2MAKwM+FuIqdF/x7mpCYg64MWX7TFFRwOSCFwNeq1fcK5TWItV01qcCa
+ mFLwbcDwN/IQA==
+Sender: linux-tegra-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-tegra.vger.kernel.org>
+X-Mailing-List: linux-tegra@vger.kernel.org
+
+If probing the LP885x backlight fails after the regulators have been
+enabled, then the following warning is seen when releasing the
+regulators ...
+
+ WARNING: CPU: 1 PID: 289 at drivers/regulator/core.c:2051 _regulator_put.part.28+0x158/0x160
+ Modules linked in: tegra_xudc lp855x_bl(+) host1x pwm_tegra ip_tables x_tables ipv6 nf_defrag_ipv6
+ CPU: 1 PID: 289 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200224 #1
+ Hardware name: NVIDIA Jetson TX1 Developer Kit (DT)
+
+ ...
+
+ Call trace:
+ _regulator_put.part.28+0x158/0x160
+ regulator_put+0x34/0x50
+ devm_regulator_release+0x10/0x18
+ release_nodes+0x12c/0x230
+ devres_release_all+0x34/0x50
+ really_probe+0x1c0/0x370
+ driver_probe_device+0x58/0x100
+ device_driver_attach+0x6c/0x78
+ __driver_attach+0xb0/0xf0
+ bus_for_each_dev+0x68/0xc8
+ driver_attach+0x20/0x28
+ bus_add_driver+0x160/0x1f0
+ driver_register+0x60/0x110
+ i2c_register_driver+0x40/0x80
+ lp855x_driver_init+0x20/0x1000 [lp855x_bl]
+ do_one_initcall+0x58/0x1a0
+ do_init_module+0x54/0x1d0
+ load_module+0x1d80/0x21c8
+ __do_sys_finit_module+0xe8/0x100
+ __arm64_sys_finit_module+0x18/0x20
+ el0_svc_common.constprop.3+0xb0/0x168
+ do_el0_svc+0x20/0x98
+ el0_sync_handler+0xf4/0x1b0
+ el0_sync+0x140/0x180
+
+Fix this by ensuring that the regulators are disabled, if enabled, on
+probe failure.
+
+Finally, ensure that the vddio regulator is disabled in the driver
+remove handler.
+
+Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
+Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
+---
+ drivers/video/backlight/lp855x_bl.c | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/video/backlight/lp855x_bl.c b/drivers/video/backlight/lp855x_bl.c
+index f68920131a4a..e94932c69f54 100644
+--- a/drivers/video/backlight/lp855x_bl.c
++++ b/drivers/video/backlight/lp855x_bl.c
+@@ -456,7 +456,7 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
+ ret = regulator_enable(lp->enable);
+ if (ret < 0) {
+ dev_err(lp->dev, "failed to enable vddio: %d\n", ret);
+- return ret;
++ goto disable_supply;
+ }
+
+ /*
+@@ -471,24 +471,34 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
+ ret = lp855x_configure(lp);
+ if (ret) {
+ dev_err(lp->dev, "device config err: %d", ret);
+- return ret;
++ goto disable_vddio;
+ }
+
+ ret = lp855x_backlight_register(lp);
+ if (ret) {
+ dev_err(lp->dev,
+ "failed to register backlight. err: %d\n", ret);
+- return ret;
++ goto disable_vddio;
+ }
+
+ ret = sysfs_create_group(&lp->dev->kobj, &lp855x_attr_group);
+ if (ret) {
+ dev_err(lp->dev, "failed to register sysfs. err: %d\n", ret);
+- return ret;
++ goto disable_vddio;
+ }
+
+ backlight_update_status(lp->bl);
++
+ return 0;
++
++disable_vddio:
++ if (lp->enable)
++ regulator_disable(lp->enable);
++disable_supply:
++ if (lp->supply)
++ regulator_disable(lp->supply);
++
++ return ret;
+ }
+
+ static int lp855x_remove(struct i2c_client *cl)
+@@ -497,6 +507,8 @@ static int lp855x_remove(struct i2c_client *cl)
+
+ lp->bl->props.brightness = 0;
+ backlight_update_status(lp->bl);
++ if (lp->enable)
++ regulator_disable(lp->enable);
+ if (lp->supply)
+ regulator_disable(lp->supply);
+ sysfs_remove_group(&lp->dev->kobj, &lp855x_attr_group);
diff --git a/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch b/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch
deleted file mode 100644
index a11f2ce1a..000000000
--- a/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 9ad059ee412caed3fc8666dadf0d2e897d621958 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Wed, 18 Dec 2019 08:03:36 +0000
-Subject: [PATCH] gpu/drm/v3d: Add ARCH_BCM2835 to DRM_V3D Kconfig
-
-On arm64 the config ARCH_BCM doesn't exist so to be able to
-build for platforms such as the Raspberry Pi 4 we need to add
-ARCH_BCM2835 similar to what has been done on vc4.
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- drivers/gpu/drm/v3d/Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/v3d/Kconfig b/drivers/gpu/drm/v3d/Kconfig
-index 9a5c44606337..b0e048697964 100644
---- a/drivers/gpu/drm/v3d/Kconfig
-+++ b/drivers/gpu/drm/v3d/Kconfig
-@@ -1,7 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0-only
- config DRM_V3D
- tristate "Broadcom V3D 3.x and newer"
-- depends on ARCH_BCM || ARCH_BCMSTB || COMPILE_TEST
-+ depends on ARCH_BCM || ARCH_BCMSTB || ARCH_BCM2835 || COMPILE_TEST
- depends on DRM
- depends on COMMON_CLK
- depends on MMU
---
-2.24.1
-
diff --git a/configs/build_configs.sh b/configs/build_configs.sh
index 61c3c0455..4ccb0dc2e 100755
--- a/configs/build_configs.sh
+++ b/configs/build_configs.sh
@@ -19,8 +19,6 @@ cd $SCRIPT_DIR
set errexit
set nounset
-control_file="config_generation"
-
cleanup()
{
rm -f config-*
@@ -52,7 +50,9 @@ function merge_configs()
arch=$(echo "$archvar" | cut -f1 -d"-")
configs=$2
order=$3
- name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar.config
+ flavor=$4
+
+ name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar-$flavor.config
echo -n "Building $name ... "
touch config-merging config-merged
@@ -95,33 +95,55 @@ function merge_configs()
echo "done"
}
-while read line
-do
- if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then
- continue
- elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then
- continue
- elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then
- order=$(echo "$line" | cut -f2 -d"=")
- for o in $order
- do
- glist=$(find $o -type d)
- for d in $glist
+function build_flavor()
+{
+ flavor=$1
+ control_file="priority".$flavor
+ while read line
+ do
+ if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then
+ continue
+ elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then
+ continue
+ elif [ $(echo "$line" | grep -c "^EMPTY") -ne 0 ]; then
+ empty=$(echo "$line" | cut -f2 -d"=")
+ for a in $empty
+ do
+ echo "# EMPTY" > $OUTPUT_DIR/$PACKAGE_NAME-$a-$flavor.config
+
+ done
+ elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then
+ order=$(echo "$line" | cut -f2 -d"=")
+ for o in $order
do
- combine_config_layer $d
+ glist=$(find $o -type d)
+ for d in $glist
+ do
+ combine_config_layer $d
+ done
done
- done
- else
- arch=$(echo "$line" | cut -f1 -d"=")
- configs=$(echo "$line" | cut -f2 -d"=")
+ else
+ arch=$(echo "$line" | cut -f1 -d"=")
+ configs=$(echo "$line" | cut -f2 -d"=")
+
+ if [ -n "$SUBARCH" ]; then
+ case $arch in
+ $SUBARCH*)
+ ;;
+ *)
+ continue
+ esac
+ fi
- if [ -n "$SUBARCH" -a "$SUBARCH" != "$arch" ]; then
- continue
+ merge_configs $arch $configs "$order" $flavor
fi
+ done < $control_file
+}
- merge_configs $arch $configs "$order"
- fi
-done < $control_file
+while read line
+do
+ build_flavor $line
+done < flavors
# A passed in kernel version implies copy to final location
# otherwise defer to another script
diff --git a/configs/config_generation b/configs/config_generation
deleted file mode 100644
index b3385fd1c..000000000
--- a/configs/config_generation
+++ /dev/null
@@ -1,35 +0,0 @@
-# config-variant=config:config:config
-# kernel.config files are build on the fly based on this config,
-# the first arg is arch and variant, the second is a hierarchy of
-# config options, lowest priority to highest
-
-# tells the build_configs.sh which order to build the configs.
-# this is useful when providing a separate overrides directory.
-# do not use quotes and space separate the directories.
-ORDER=fedora
-
-# x86_64
-x86_64=generic:generic-x86:generic-x86-x86_64
-x86_64-debug=generic:generic-x86:generic-x86-x86_64:debug:debug-x86:debug-x86-x86_64
-
-# i686
-i686=generic:generic-x86:generic-x86-i686
-i686-debug=generic:generic-x86:generic-x86-i686:debug:debug-x86
-
-# ppc64le
-ppc64le=generic:generic-powerpc
-ppc64le-debug=generic:generic-powerpc:debug
-
-# s390x
-s390x=generic:generic-s390x
-s390x-debug=generic:generic-s390x:debug
-
-# aarch64
-aarch64=generic:generic-arm:generic-arm-aarch64
-aarch64-debug=generic:generic-arm:generic-arm-aarch64:debug:debug-arm
-
-# arm
-armv7hl=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7
-armv7hl-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-armv7:debug:debug-arm
-armv7hl-lpae=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae
-armv7hl-lpae-debug=generic:generic-arm:generic-arm-armv7:generic-arm-armv7-lpae:debug:debug-arm
diff --git a/configs/fedora/generic/CONFIG_AD7091R5 b/configs/fedora/generic/CONFIG_AD7091R5
new file mode 100644
index 000000000..a2cd8825e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_AD7091R5
@@ -0,0 +1 @@
+# CONFIG_AD7091R5 is not set
diff --git a/configs/fedora/generic/s390x/CONFIG_ARCH_RANDOM b/configs/fedora/generic/CONFIG_ARCH_RANDOM
index 51658fe1c..51658fe1c 100644
--- a/configs/fedora/generic/s390x/CONFIG_ARCH_RANDOM
+++ b/configs/fedora/generic/CONFIG_ARCH_RANDOM
diff --git a/configs/fedora/generic/CONFIG_ATH11K b/configs/fedora/generic/CONFIG_ATH11K
new file mode 100644
index 000000000..584c5e3f1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ATH11K
@@ -0,0 +1 @@
+# CONFIG_ATH11K is not set
diff --git a/configs/fedora/generic/CONFIG_BACKLIGHT_LED b/configs/fedora/generic/CONFIG_BACKLIGHT_LED
new file mode 100644
index 000000000..177fa13b5
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BACKLIGHT_LED
@@ -0,0 +1 @@
+CONFIG_BACKLIGHT_LED=m
diff --git a/configs/fedora/generic/CONFIG_BCM84881_PHY b/configs/fedora/generic/CONFIG_BCM84881_PHY
new file mode 100644
index 000000000..6f472549d
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BCM84881_PHY
@@ -0,0 +1 @@
+# CONFIG_BCM84881_PHY is not set
diff --git a/configs/fedora/generic/CONFIG_BMA400 b/configs/fedora/generic/CONFIG_BMA400
new file mode 100644
index 000000000..597efc083
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BMA400
@@ -0,0 +1 @@
+# CONFIG_BMA400 is not set
diff --git a/configs/fedora/generic/CONFIG_BOOTTIME_TRACING b/configs/fedora/generic/CONFIG_BOOTTIME_TRACING
new file mode 100644
index 000000000..d0462f760
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BOOTTIME_TRACING
@@ -0,0 +1 @@
+CONFIG_BOOTTIME_TRACING=y
diff --git a/configs/fedora/generic/CONFIG_BOOT_CONFIG b/configs/fedora/generic/CONFIG_BOOT_CONFIG
new file mode 100644
index 000000000..6a72346aa
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BOOT_CONFIG
@@ -0,0 +1 @@
+CONFIG_BOOT_CONFIG=y
diff --git a/configs/fedora/generic/CONFIG_CAN_UCAN b/configs/fedora/generic/CONFIG_CAN_UCAN
index 80c32eda8..ec2185e3a 100644
--- a/configs/fedora/generic/CONFIG_CAN_UCAN
+++ b/configs/fedora/generic/CONFIG_CAN_UCAN
@@ -1 +1 @@
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
diff --git a/configs/fedora/generic/CONFIG_CAPI_AVM b/configs/fedora/generic/CONFIG_CAPI_AVM
deleted file mode 100644
index e22084428..000000000
--- a/configs/fedora/generic/CONFIG_CAPI_AVM
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CAPI_AVM=y
diff --git a/configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI b/configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI
new file mode 100644
index 000000000..03ef57306
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_COMMON_CLK_FSL_SAI
@@ -0,0 +1 @@
+# CONFIG_COMMON_CLK_FSL_SAI is not set
diff --git a/configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL b/configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL
new file mode 100644
index 000000000..25d6ba248
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CPU_FREQ_THERMAL
@@ -0,0 +1 @@
+CONFIG_CPU_FREQ_THERMAL=y
diff --git a/configs/fedora/generic/CONFIG_DLHL60D b/configs/fedora/generic/CONFIG_DLHL60D
new file mode 100644
index 000000000..031f3d2e3
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DLHL60D
@@ -0,0 +1 @@
+# CONFIG_DLHL60D is not set
diff --git a/configs/fedora/generic/CONFIG_DMABUF_HEAPS b/configs/fedora/generic/CONFIG_DMABUF_HEAPS
new file mode 100644
index 000000000..06c5f4cf1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DMABUF_HEAPS
@@ -0,0 +1 @@
+# CONFIG_DMABUF_HEAPS is not set
diff --git a/configs/fedora/generic/CONFIG_DM_CLONE b/configs/fedora/generic/CONFIG_DM_CLONE
index 03f992664..319d14515 100644
--- a/configs/fedora/generic/CONFIG_DM_CLONE
+++ b/configs/fedora/generic/CONFIG_DM_CLONE
@@ -1 +1 @@
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
diff --git a/configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345 b/configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345
new file mode 100644
index 000000000..8129e7197
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_ANALOGIX_ANX6345
@@ -0,0 +1 @@
+CONFIG_DRM_ANALOGIX_ANX6345=m
diff --git a/configs/fedora/generic/CONFIG_DRM_DP_CEC b/configs/fedora/generic/CONFIG_DRM_DP_CEC
index 5f9b38555..f0dbdcca2 100644
--- a/configs/fedora/generic/CONFIG_DRM_DP_CEC
+++ b/configs/fedora/generic/CONFIG_DRM_DP_CEC
@@ -1 +1 @@
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_LVDS_CODEC b/configs/fedora/generic/CONFIG_DRM_LVDS_CODEC
new file mode 100644
index 000000000..9b5f29038
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_LVDS_CODEC
@@ -0,0 +1 @@
+# CONFIG_DRM_LVDS_CODEC is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER b/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER
deleted file mode 100644
index e2ea277b3..000000000
--- a/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM_LVDS_ENCODER is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D b/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D
new file mode 100644
index 000000000..96be5cb7a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_HIMAX8279D
@@ -0,0 +1 @@
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 b/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829
new file mode 100644
index 000000000..b4e04533d
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829
@@ -0,0 +1 @@
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP b/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP
new file mode 100644
index 000000000..0fa27c807
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX424AKP
@@ -0,0 +1 @@
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 b/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
new file mode 100644
index 000000000..b3e186e66
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
@@ -0,0 +1 @@
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_XINPENG_XPP055C272 b/configs/fedora/generic/CONFIG_DRM_PANEL_XINPENG_XPP055C272
new file mode 100644
index 000000000..4978faa12
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_XINPENG_XPP055C272
@@ -0,0 +1 @@
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
diff --git a/configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA b/configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA
new file mode 100644
index 000000000..db43b2234
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EFI_DISABLE_PCI_DMA
@@ -0,0 +1 @@
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
diff --git a/configs/fedora/generic/CONFIG_ETHTOOL_NETLINK b/configs/fedora/generic/CONFIG_ETHTOOL_NETLINK
new file mode 100644
index 000000000..7ede260aa
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ETHTOOL_NETLINK
@@ -0,0 +1 @@
+CONFIG_ETHTOOL_NETLINK=y
diff --git a/configs/fedora/generic/CONFIG_EXFAT_FS b/configs/fedora/generic/CONFIG_EXFAT_FS
deleted file mode 100644
index 2113d8106..000000000
--- a/configs/fedora/generic/CONFIG_EXFAT_FS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EXFAT_FS is not set
diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION b/configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION
new file mode 100644
index 000000000..93db20585
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_F2FS_FS_COMPRESSION
@@ -0,0 +1 @@
+CONFIG_F2FS_FS_COMPRESSION=y
diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_LZ4 b/configs/fedora/generic/CONFIG_F2FS_FS_LZ4
new file mode 100644
index 000000000..93646c6d9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_F2FS_FS_LZ4
@@ -0,0 +1 @@
+CONFIG_F2FS_FS_LZ4=y
diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_LZO b/configs/fedora/generic/CONFIG_F2FS_FS_LZO
new file mode 100644
index 000000000..2210e5ab4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_F2FS_FS_LZO
@@ -0,0 +1 @@
+CONFIG_F2FS_FS_LZO=y
diff --git a/configs/fedora/generic/CONFIG_GIGASET_BASE b/configs/fedora/generic/CONFIG_GIGASET_BASE
deleted file mode 100644
index fa7bb4bea..000000000
--- a/configs/fedora/generic/CONFIG_GIGASET_BASE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_GIGASET_BASE=m
diff --git a/configs/fedora/generic/CONFIG_GIGASET_CAPI b/configs/fedora/generic/CONFIG_GIGASET_CAPI
deleted file mode 100644
index b94738045..000000000
--- a/configs/fedora/generic/CONFIG_GIGASET_CAPI
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_GIGASET_CAPI=y
diff --git a/configs/fedora/generic/CONFIG_GIGASET_DEBUG b/configs/fedora/generic/CONFIG_GIGASET_DEBUG
deleted file mode 100644
index 95c9cd104..000000000
--- a/configs/fedora/generic/CONFIG_GIGASET_DEBUG
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_GIGASET_DEBUG is not set
diff --git a/configs/fedora/generic/CONFIG_GIGASET_M101 b/configs/fedora/generic/CONFIG_GIGASET_M101
deleted file mode 100644
index 10388d0a9..000000000
--- a/configs/fedora/generic/CONFIG_GIGASET_M101
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_GIGASET_M101=m
diff --git a/configs/fedora/generic/CONFIG_GIGASET_M105 b/configs/fedora/generic/CONFIG_GIGASET_M105
deleted file mode 100644
index cf3d1db9f..000000000
--- a/configs/fedora/generic/CONFIG_GIGASET_M105
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_GIGASET_M105=m
diff --git a/configs/fedora/generic/CONFIG_GPIO_LOGICVC b/configs/fedora/generic/CONFIG_GPIO_LOGICVC
new file mode 100644
index 000000000..1ee4eb11a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_GPIO_LOGICVC
@@ -0,0 +1 @@
+# CONFIG_GPIO_LOGICVC is not set
diff --git a/configs/fedora/generic/CONFIG_GPIO_SIFIVE b/configs/fedora/generic/CONFIG_GPIO_SIFIVE
new file mode 100644
index 000000000..461cb49e4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_GPIO_SIFIVE
@@ -0,0 +1 @@
+# CONFIG_GPIO_SIFIVE is not set
diff --git a/configs/fedora/generic/CONFIG_HYSDN b/configs/fedora/generic/CONFIG_HYSDN
deleted file mode 100644
index 2f1ddde6c..000000000
--- a/configs/fedora/generic/CONFIG_HYSDN
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_HYSDN=m
diff --git a/configs/fedora/generic/CONFIG_HYSDN_CAPI b/configs/fedora/generic/CONFIG_HYSDN_CAPI
deleted file mode 100644
index db9a861ab..000000000
--- a/configs/fedora/generic/CONFIG_HYSDN_CAPI
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_HYSDN_CAPI=y
diff --git a/configs/fedora/generic/CONFIG_I2C_PARPORT_LIGHT b/configs/fedora/generic/CONFIG_I2C_PARPORT_LIGHT
deleted file mode 100644
index e18239222..000000000
--- a/configs/fedora/generic/CONFIG_I2C_PARPORT_LIGHT
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_I2C_PARPORT_LIGHT is not set
diff --git a/configs/fedora/generic/CONFIG_INET_ESPINTCP b/configs/fedora/generic/CONFIG_INET_ESPINTCP
new file mode 100644
index 000000000..ebf9d9fe6
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INET_ESPINTCP
@@ -0,0 +1 @@
+CONFIG_INET_ESPINTCP=y
diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_BZIP2 b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_BZIP2
new file mode 100644
index 000000000..1fa2256b7
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_BZIP2
@@ -0,0 +1 @@
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP
new file mode 100644
index 000000000..c196b5c5e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_GZIP
@@ -0,0 +1 @@
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4 b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4
new file mode 100644
index 000000000..001bc786f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZ4
@@ -0,0 +1 @@
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA
new file mode 100644
index 000000000..dad4d574a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZMA
@@ -0,0 +1 @@
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO
new file mode 100644
index 000000000..14032648b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_LZO
@@ -0,0 +1 @@
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE
new file mode 100644
index 000000000..5a21322e6
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_NONE
@@ -0,0 +1 @@
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
diff --git a/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ
new file mode 100644
index 000000000..8059cfb74
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_INITRAMFS_COMPRESSION_XZ
@@ -0,0 +1 @@
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
diff --git a/configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST b/configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST
new file mode 100644
index 000000000..01e6cc50d
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_KPROBE_EVENT_GEN_TEST
@@ -0,0 +1 @@
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
diff --git a/configs/fedora/generic/CONFIG_LTC2496 b/configs/fedora/generic/CONFIG_LTC2496
new file mode 100644
index 000000000..b63c5163c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_LTC2496
@@ -0,0 +1 @@
+# CONFIG_LTC2496 is not set
diff --git a/configs/fedora/generic/CONFIG_MFD_ROHM_BD71828 b/configs/fedora/generic/CONFIG_MFD_ROHM_BD71828
new file mode 100644
index 000000000..e60c1237e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MFD_ROHM_BD71828
@@ -0,0 +1 @@
+# CONFIG_MFD_ROHM_BD71828 is not set
diff --git a/configs/fedora/generic/CONFIG_MFD_WCD934X b/configs/fedora/generic/CONFIG_MFD_WCD934X
new file mode 100644
index 000000000..77d877e00
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MFD_WCD934X
@@ -0,0 +1 @@
+# CONFIG_MFD_WCD934X is not set
diff --git a/configs/fedora/generic/CONFIG_MICROCHIP_PIT64B b/configs/fedora/generic/CONFIG_MICROCHIP_PIT64B
new file mode 100644
index 000000000..eae364473
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MICROCHIP_PIT64B
@@ -0,0 +1 @@
+# CONFIG_MICROCHIP_PIT64B is not set
diff --git a/configs/fedora/generic/CONFIG_MPTCP b/configs/fedora/generic/CONFIG_MPTCP
new file mode 100644
index 000000000..3bfe60494
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MPTCP
@@ -0,0 +1 @@
+CONFIG_MPTCP=y
diff --git a/configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST b/configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST
new file mode 100644
index 000000000..bbf062136
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MPTCP_HMAC_TEST
@@ -0,0 +1 @@
+# CONFIG_MPTCP_HMAC_TEST is not set
diff --git a/configs/fedora/generic/CONFIG_MPTCP_IPV6 b/configs/fedora/generic/CONFIG_MPTCP_IPV6
new file mode 100644
index 000000000..d0780145d
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MPTCP_IPV6
@@ -0,0 +1 @@
+CONFIG_MPTCP_IPV6=y
diff --git a/configs/fedora/generic/CONFIG_MSM_MMCC_8998 b/configs/fedora/generic/CONFIG_MSM_MMCC_8998
new file mode 100644
index 000000000..8c52ae545
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MSM_MMCC_8998
@@ -0,0 +1 @@
+# CONFIG_MSM_MMCC_8998 is not set
diff --git a/configs/fedora/generic/CONFIG_MTD_NAND_FSL_IFC b/configs/fedora/generic/CONFIG_MTD_NAND_FSL_IFC
deleted file mode 100644
index b8a44ee19..000000000
--- a/configs/fedora/generic/CONFIG_MTD_NAND_FSL_IFC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_MTD_NAND_FSL_IFC is not set
diff --git a/configs/fedora/generic/CONFIG_NET_DSA_AR9331 b/configs/fedora/generic/CONFIG_NET_DSA_AR9331
new file mode 100644
index 000000000..c0f369f09
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NET_DSA_AR9331
@@ -0,0 +1 @@
+# CONFIG_NET_DSA_AR9331 is not set
diff --git a/configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331 b/configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331
new file mode 100644
index 000000000..96e408b5b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NET_DSA_TAG_AR9331
@@ -0,0 +1 @@
+# CONFIG_NET_DSA_TAG_AR9331 is not set
diff --git a/configs/fedora/generic/CONFIG_NET_SCH_ETS b/configs/fedora/generic/CONFIG_NET_SCH_ETS
new file mode 100644
index 000000000..95ea61e43
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NET_SCH_ETS
@@ -0,0 +1 @@
+# CONFIG_NET_SCH_ETS is not set
diff --git a/configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE b/configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE
new file mode 100644
index 000000000..71241b274
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NET_SCH_FQ_PIE
@@ -0,0 +1 @@
+# CONFIG_NET_SCH_FQ_PIE is not set
diff --git a/configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC b/configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC
new file mode 100644
index 000000000..ee88cb4c9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NFSD_V4_2_INTER_SSC
@@ -0,0 +1 @@
+CONFIG_NFSD_V4_2_INTER_SSC=y
diff --git a/configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT b/configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT
new file mode 100644
index 000000000..b0be4a26c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NFS_DISABLE_UDP_SUPPORT
@@ -0,0 +1 @@
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
diff --git a/configs/fedora/generic/CONFIG_PHY_INTEL_EMMC b/configs/fedora/generic/CONFIG_PHY_INTEL_EMMC
new file mode 100644
index 000000000..ac88cb5bd
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PHY_INTEL_EMMC
@@ -0,0 +1 @@
+# CONFIG_PHY_INTEL_EMMC is not set
diff --git a/configs/fedora/generic/CONFIG_PING b/configs/fedora/generic/CONFIG_PING
new file mode 100644
index 000000000..d0dcdc8ed
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PING
@@ -0,0 +1 @@
+# CONFIG_PING is not set
diff --git a/configs/fedora/generic/CONFIG_PLX_DMA b/configs/fedora/generic/CONFIG_PLX_DMA
new file mode 100644
index 000000000..61c623f9c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PLX_DMA
@@ -0,0 +1 @@
+# CONFIG_PLX_DMA is not set
diff --git a/configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS b/configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS
new file mode 100644
index 000000000..57785aa59
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PTDUMP_DEBUGFS
@@ -0,0 +1 @@
+# CONFIG_PTDUMP_DEBUGFS is not set
diff --git a/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES
new file mode 100644
index 000000000..ccff0ec88
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_INES
@@ -0,0 +1 @@
+# CONFIG_PTP_1588_CLOCK_INES is not set
diff --git a/configs/fedora/generic/CONFIG_QCOM_CPR b/configs/fedora/generic/CONFIG_QCOM_CPR
new file mode 100644
index 000000000..96eea8d43
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_QCOM_CPR
@@ -0,0 +1 @@
+# CONFIG_QCOM_CPR is not set
diff --git a/configs/fedora/generic/CONFIG_REGULATOR_MP8859 b/configs/fedora/generic/CONFIG_REGULATOR_MP8859
new file mode 100644
index 000000000..754940abf
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_REGULATOR_MP8859
@@ -0,0 +1 @@
+# CONFIG_REGULATOR_MP8859 is not set
diff --git a/configs/fedora/generic/CONFIG_REGULATOR_MPQ7920 b/configs/fedora/generic/CONFIG_REGULATOR_MPQ7920
new file mode 100644
index 000000000..c1a23686c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_REGULATOR_MPQ7920
@@ -0,0 +1 @@
+# CONFIG_REGULATOR_MPQ7920 is not set
diff --git a/configs/fedora/generic/CONFIG_REGULATOR_VQMMC_IPQ4019 b/configs/fedora/generic/CONFIG_REGULATOR_VQMMC_IPQ4019
new file mode 100644
index 000000000..2fe47853d
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_REGULATOR_VQMMC_IPQ4019
@@ -0,0 +1 @@
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
diff --git a/configs/fedora/generic/CONFIG_RESET_BRCMSTB_RESCAL b/configs/fedora/generic/CONFIG_RESET_BRCMSTB_RESCAL
new file mode 100644
index 000000000..299201c6f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_RESET_BRCMSTB_RESCAL
@@ -0,0 +1 @@
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
diff --git a/configs/fedora/generic/CONFIG_RESET_INTEL_GW b/configs/fedora/generic/CONFIG_RESET_INTEL_GW
new file mode 100644
index 000000000..eab682e0b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_RESET_INTEL_GW
@@ -0,0 +1 @@
+# CONFIG_RESET_INTEL_GW is not set
diff --git a/configs/fedora/generic/CONFIG_SC_DISPCC_7180 b/configs/fedora/generic/CONFIG_SC_DISPCC_7180
new file mode 100644
index 000000000..4e4aa7bc0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SC_DISPCC_7180
@@ -0,0 +1 @@
+# CONFIG_SC_DISPCC_7180 is not set
diff --git a/configs/fedora/generic/CONFIG_SC_GPUCC_7180 b/configs/fedora/generic/CONFIG_SC_GPUCC_7180
new file mode 100644
index 000000000..754bb8b3f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SC_GPUCC_7180
@@ -0,0 +1 @@
+# CONFIG_SC_GPUCC_7180 is not set
diff --git a/configs/fedora/generic/CONFIG_SC_VIDEOCC_7180 b/configs/fedora/generic/CONFIG_SC_VIDEOCC_7180
new file mode 100644
index 000000000..4abd39b9b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SC_VIDEOCC_7180
@@ -0,0 +1 @@
+# CONFIG_SC_VIDEOCC_7180 is not set
diff --git a/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE
new file mode 100644
index 000000000..e8e9e3ea8
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE
@@ -0,0 +1 @@
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
diff --git a/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS
new file mode 100644
index 000000000..5e8c57ec5
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS
@@ -0,0 +1 @@
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
diff --git a/configs/fedora/generic/CONFIG_SENSORS_ADM1177 b/configs/fedora/generic/CONFIG_SENSORS_ADM1177
new file mode 100644
index 000000000..73f1d35f4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_ADM1177
@@ -0,0 +1 @@
+# CONFIG_SENSORS_ADM1177 is not set
diff --git a/configs/fedora/generic/CONFIG_SENSORS_DRIVETEMP b/configs/fedora/generic/CONFIG_SENSORS_DRIVETEMP
new file mode 100644
index 000000000..6ca481ecc
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_DRIVETEMP
@@ -0,0 +1 @@
+CONFIG_SENSORS_DRIVETEMP=m
diff --git a/configs/fedora/generic/CONFIG_SENSORS_MAX20730 b/configs/fedora/generic/CONFIG_SENSORS_MAX20730
new file mode 100644
index 000000000..38f8a8dd9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_MAX20730
@@ -0,0 +1 @@
+# CONFIG_SENSORS_MAX20730 is not set
diff --git a/configs/fedora/generic/CONFIG_SENSORS_MAX31730 b/configs/fedora/generic/CONFIG_SENSORS_MAX31730
new file mode 100644
index 000000000..463fd89b1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_MAX31730
@@ -0,0 +1 @@
+# CONFIG_SENSORS_MAX31730 is not set
diff --git a/configs/fedora/generic/CONFIG_SENSORS_XDPE122 b/configs/fedora/generic/CONFIG_SENSORS_XDPE122
new file mode 100644
index 000000000..4de67bfd0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_XDPE122
@@ -0,0 +1 @@
+# CONFIG_SENSORS_XDPE122 is not set
diff --git a/configs/fedora/generic/CONFIG_SERIAL_8250_16550A_VARIANTS b/configs/fedora/generic/CONFIG_SERIAL_8250_16550A_VARIANTS
new file mode 100644
index 000000000..056bf6f16
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SERIAL_8250_16550A_VARIANTS
@@ -0,0 +1 @@
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
diff --git a/configs/fedora/generic/CONFIG_SND_CTL_VALIDATION b/configs/fedora/generic/CONFIG_SND_CTL_VALIDATION
new file mode 100644
index 000000000..a882af4c8
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_CTL_VALIDATION
@@ -0,0 +1 @@
+# CONFIG_SND_CTL_VALIDATION is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_MT6660 b/configs/fedora/generic/CONFIG_SND_SOC_MT6660
new file mode 100644
index 000000000..7e78d6d6e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_MT6660
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_MT6660 is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT1308_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT1308_SDW
new file mode 100644
index 000000000..46419fa28
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_RT1308_SDW
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_RT1308_SDW is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT700_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT700_SDW
new file mode 100644
index 000000000..fbb2dab88
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_RT700_SDW
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_RT700_SDW is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT711_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT711_SDW
new file mode 100644
index 000000000..f37826a01
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_RT711_SDW
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_RT711_SDW is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT715_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT715_SDW
new file mode 100644
index 000000000..828094466
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_RT715_SDW
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_RT715_SDW is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_WSA881X b/configs/fedora/generic/CONFIG_SND_SOC_WSA881X
new file mode 100644
index 000000000..0d83e772a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_WSA881X
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_WSA881X is not set
diff --git a/configs/fedora/generic/CONFIG_SPI_HISI_SFC_V3XX b/configs/fedora/generic/CONFIG_SPI_HISI_SFC_V3XX
new file mode 100644
index 000000000..e36c66c7e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SPI_HISI_SFC_V3XX
@@ -0,0 +1 @@
+# CONFIG_SPI_HISI_SFC_V3XX is not set
diff --git a/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS b/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS
new file mode 100644
index 000000000..ddd3656b3
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS
@@ -0,0 +1 @@
+# CONFIG_STAGING_EXFAT_FS is not set
diff --git a/configs/fedora/generic/CONFIG_STRICT_KERNEL_RWX b/configs/fedora/generic/CONFIG_STRICT_KERNEL_RWX
new file mode 100644
index 000000000..8c57b454a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_STRICT_KERNEL_RWX
@@ -0,0 +1 @@
+CONFIG_STRICT_KERNEL_RWX=y
diff --git a/configs/fedora/generic/CONFIG_SYNTH_EVENT_GEN_TEST b/configs/fedora/generic/CONFIG_SYNTH_EVENT_GEN_TEST
new file mode 100644
index 000000000..23019ea4c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SYNTH_EVENT_GEN_TEST
@@ -0,0 +1 @@
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
diff --git a/configs/fedora/generic/CONFIG_THUNDERBOLT b/configs/fedora/generic/CONFIG_THUNDERBOLT
deleted file mode 100644
index dce0561e8..000000000
--- a/configs/fedora/generic/CONFIG_THUNDERBOLT
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_THUNDERBOLT is not set
diff --git a/configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI b/configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI
deleted file mode 100644
index e551a8ba1..000000000
--- a/configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_VIRTIO_BLK_SCSI is not set
diff --git a/configs/fedora/generic/CONFIG_VSOCKETS_LOOPBACK b/configs/fedora/generic/CONFIG_VSOCKETS_LOOPBACK
new file mode 100644
index 000000000..e07891f5b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VSOCKETS_LOOPBACK
@@ -0,0 +1 @@
+CONFIG_VSOCKETS_LOOPBACK=m
diff --git a/configs/fedora/generic/CONFIG_WIREGUARD b/configs/fedora/generic/CONFIG_WIREGUARD
new file mode 100644
index 000000000..f4bb670b4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_WIREGUARD
@@ -0,0 +1 @@
+CONFIG_WIREGUARD=m
diff --git a/configs/fedora/generic/CONFIG_WIREGUARD_DEBUG b/configs/fedora/generic/CONFIG_WIREGUARD_DEBUG
new file mode 100644
index 000000000..bcd811328
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_WIREGUARD_DEBUG
@@ -0,0 +1 @@
+# CONFIG_WIREGUARD_DEBUG is not set
diff --git a/configs/fedora/generic/CONFIG_X86_PTDUMP b/configs/fedora/generic/CONFIG_X86_PTDUMP
deleted file mode 100644
index 74f8094eb..000000000
--- a/configs/fedora/generic/CONFIG_X86_PTDUMP
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_X86_PTDUMP is not set
diff --git a/configs/fedora/generic/CONFIG_ZONEFS_FS b/configs/fedora/generic/CONFIG_ZONEFS_FS
new file mode 100644
index 000000000..557a55ca1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZONEFS_FS
@@ -0,0 +1 @@
+# CONFIG_ZONEFS_FS is not set
diff --git a/configs/fedora/generic/arm/CONFIG_ARM_IMX8M_DDRC_DEVFREQ b/configs/fedora/generic/arm/CONFIG_ARM_IMX8M_DDRC_DEVFREQ
new file mode 100644
index 000000000..167c189ca
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_ARM_IMX8M_DDRC_DEVFREQ
@@ -0,0 +1 @@
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
diff --git a/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS b/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS
new file mode 100644
index 000000000..a8cf80f89
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS
@@ -0,0 +1 @@
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL
new file mode 100644
index 000000000..5c7d98e5a
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA
new file mode 100644
index 000000000..94f96317e
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA
@@ -0,0 +1 @@
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER
new file mode 100644
index 000000000..b0a7986d5
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER
@@ -0,0 +1 @@
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
diff --git a/configs/fedora/generic/arm/CONFIG_DRM_LVDS_ENCODER b/configs/fedora/generic/arm/CONFIG_DRM_LVDS_ENCODER
deleted file mode 100644
index 53f0efb59..000000000
--- a/configs/fedora/generic/arm/CONFIG_DRM_LVDS_ENCODER
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_LVDS_ENCODER=m
diff --git a/configs/fedora/generic/CONFIG_GPIO_MPC8XXX b/configs/fedora/generic/arm/CONFIG_GPIO_MPC8XXX
index 876fd6a58..876fd6a58 100644
--- a/configs/fedora/generic/CONFIG_GPIO_MPC8XXX
+++ b/configs/fedora/generic/arm/CONFIG_GPIO_MPC8XXX
diff --git a/configs/fedora/generic/arm/CONFIG_HW_RANDOM_IPROC_RNG200 b/configs/fedora/generic/arm/CONFIG_HW_RANDOM_IPROC_RNG200
new file mode 100644
index 000000000..afe147710
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_HW_RANDOM_IPROC_RNG200
@@ -0,0 +1 @@
+CONFIG_HW_RANDOM_IPROC_RNG200=m
diff --git a/configs/fedora/generic/arm/CONFIG_IMX_DSP b/configs/fedora/generic/arm/CONFIG_IMX_DSP
index e7d6b097b..21b752db3 100644
--- a/configs/fedora/generic/arm/CONFIG_IMX_DSP
+++ b/configs/fedora/generic/arm/CONFIG_IMX_DSP
@@ -1 +1 @@
-CONFIG_IMX_DSP=y
+CONFIG_IMX_DSP=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_INA2XX_ADC b/configs/fedora/generic/arm/CONFIG_INA2XX_ADC
index 32f6a0524..32f6a0524 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_INA2XX_ADC
+++ b/configs/fedora/generic/arm/CONFIG_INA2XX_ADC
diff --git a/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8916 b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8916
new file mode 100644
index 000000000..09742187e
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8916
@@ -0,0 +1 @@
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
diff --git a/configs/fedora/generic/arm/CONFIG_IPQ_GCC_6018 b/configs/fedora/generic/arm/CONFIG_IPQ_GCC_6018
new file mode 100644
index 000000000..15fac8f98
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_IPQ_GCC_6018
@@ -0,0 +1 @@
+# CONFIG_IPQ_GCC_6018 is not set
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH
index 811074928..811074928 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH
+++ b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_OTP b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_OTP
index 9b951bd56..9b951bd56 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_OTP
+++ b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_OTP
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_WRITE_VERIFY b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_WRITE_VERIFY
index 8549afbbc..8549afbbc 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_DATAFLASH_WRITE_VERIFY
+++ b/configs/fedora/generic/arm/CONFIG_MTD_DATAFLASH_WRITE_VERIFY
diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_GEMINI b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_GEMINI
new file mode 100644
index 000000000..0a5178936
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_GEMINI
@@ -0,0 +1 @@
+# CONFIG_MTD_PHYSMAP_GEMINI is not set
diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_IXP4XX b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_IXP4XX
new file mode 100644
index 000000000..51968d79e
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_IXP4XX
@@ -0,0 +1 @@
+# CONFIG_MTD_PHYSMAP_IXP4XX is not set
diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF
index 20f59ebc7..6cdadf044 100644
--- a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF
+++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_OF
@@ -1 +1 @@
-# CONFIG_MTD_PHYSMAP_OF is not set
+CONFIG_MTD_PHYSMAP_OF=y
diff --git a/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_VERSATILE b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_VERSATILE
new file mode 100644
index 000000000..54ac1e2a8
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_MTD_PHYSMAP_VERSATILE
@@ -0,0 +1 @@
+# CONFIG_MTD_PHYSMAP_VERSATILE is not set
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_SST25L b/configs/fedora/generic/arm/CONFIG_MTD_SST25L
index b1da0c467..b1da0c467 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_SST25L
+++ b/configs/fedora/generic/arm/CONFIG_MTD_SST25L
diff --git a/configs/fedora/generic/arm/CONFIG_NVMEM_SPMI_SDAM b/configs/fedora/generic/arm/CONFIG_NVMEM_SPMI_SDAM
new file mode 100644
index 000000000..e3925e528
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_NVMEM_SPMI_SDAM
@@ -0,0 +1 @@
+CONFIG_NVMEM_SPMI_SDAM=m
diff --git a/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_DPHY_RX0 b/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_DPHY_RX0
new file mode 100644
index 000000000..b13045cf4
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_DPHY_RX0
@@ -0,0 +1 @@
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
diff --git a/configs/fedora/generic/arm/CONFIG_QCOM_SCM b/configs/fedora/generic/arm/CONFIG_QCOM_SCM
new file mode 100644
index 000000000..58e98180c
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_QCOM_SCM
@@ -0,0 +1 @@
+CONFIG_QCOM_SCM=y
diff --git a/configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT b/configs/fedora/generic/arm/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT
index 8f9c32859..8f9c32859 100644
--- a/configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT
+++ b/configs/fedora/generic/arm/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT
diff --git a/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE b/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE
new file mode 100644
index 000000000..b340a0279
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE
@@ -0,0 +1 @@
+# CONFIG_QUICC_ENGINE is not set
diff --git a/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP
index 86d2137bd..98a696d76 100644
--- a/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP
+++ b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP
@@ -1 +1 @@
-CONFIG_ROCKCHIP_CDN_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
diff --git a/configs/fedora/generic/arm/CONFIG_RTC_DRV_PCF85363 b/configs/fedora/generic/arm/CONFIG_RTC_DRV_PCF85363
new file mode 100644
index 000000000..41451f50b
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_RTC_DRV_PCF85363
@@ -0,0 +1 @@
+CONFIG_RTC_DRV_PCF85363=m
diff --git a/configs/fedora/generic/arm/CONFIG_SERIAL_8250_TEGRA b/configs/fedora/generic/arm/CONFIG_SERIAL_8250_TEGRA
new file mode 100644
index 000000000..b9ebe4268
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_SERIAL_8250_TEGRA
@@ -0,0 +1 @@
+CONFIG_SERIAL_8250_TEGRA=y
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_IMX_SOC b/configs/fedora/generic/arm/CONFIG_SND_IMX_SOC
index 25cc80938..25cc80938 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_IMX_SOC
+++ b/configs/fedora/generic/arm/CONFIG_SND_IMX_SOC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_AUDMUX b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_AUDMUX
index efa06fed2..efa06fed2 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_AUDMUX
+++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_AUDMUX
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SGTL5000 b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SGTL5000
index 9bc19346c..9bc19346c 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SGTL5000
+++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SGTL5000
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SPDIF b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SPDIF
index 58a211e43..58a211e43 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_IMX_SPDIF
+++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_IMX_SPDIF
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_WM8962 b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8962
index cfebf5ded..cfebf5ded 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_WM8962
+++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8962
diff --git a/configs/fedora/generic/arm/CONFIG_SUN8I_THERMAL b/configs/fedora/generic/arm/CONFIG_SUN8I_THERMAL
new file mode 100644
index 000000000..32182a25f
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_SUN8I_THERMAL
@@ -0,0 +1 @@
+CONFIG_SUN8I_THERMAL=m
diff --git a/configs/fedora/generic/arm/CONFIG_VIDEO_ROCKCHIP_ISP1 b/configs/fedora/generic/arm/CONFIG_VIDEO_ROCKCHIP_ISP1
new file mode 100644
index 000000000..c8db5948b
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_VIDEO_ROCKCHIP_ISP1
@@ -0,0 +1 @@
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD
new file mode 100644
index 000000000..cba9bf0b8
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD
@@ -0,0 +1 @@
+CONFIG_ARM64_E0PD=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923
new file mode 100644
index 000000000..4cc427c4a
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923
@@ -0,0 +1 @@
+CONFIG_ARM64_ERRATUM_1530923=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS
new file mode 100644
index 000000000..bb1ab4cb2
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS
@@ -0,0 +1 @@
+CONFIG_ARM64_USE_LSE_ATOMICS=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP
new file mode 100644
index 000000000..f6d939b0e
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP
@@ -0,0 +1 @@
+# CONFIG_CLK_IMX8MP is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_LS1028A_PLLDIG b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_LS1028A_PLLDIG
new file mode 100644
index 000000000..d558056c3
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_LS1028A_PLLDIG
@@ -0,0 +1 @@
+CONFIG_CLK_LS1028A_PLLDIG=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ
index b05638e5c..def0884d5 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_QORIQ
@@ -1 +1 @@
-# CONFIG_CLK_QORIQ is not set
+CONFIG_CLK_QORIQ=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 b/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
new file mode 100644
index 000000000..aba5e985e
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_HISI_DMA b/configs/fedora/generic/arm/aarch64/CONFIG_HISI_DMA
new file mode 100644
index 000000000..be503d27c
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_HISI_DMA
@@ -0,0 +1 @@
+CONFIG_HISI_DMA=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_MTD_NAND_FSL_IFC b/configs/fedora/generic/arm/aarch64/CONFIG_MTD_NAND_FSL_IFC
new file mode 100644
index 000000000..38acef3a9
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_MTD_NAND_FSL_IFC
@@ -0,0 +1 @@
+CONFIG_MTD_NAND_FSL_IFC=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_NET_DSA_MSCC_FELIX b/configs/fedora/generic/arm/aarch64/CONFIG_NET_DSA_MSCC_FELIX
new file mode 100644
index 000000000..47506f794
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_NET_DSA_MSCC_FELIX
@@ -0,0 +1 @@
+CONFIG_NET_DSA_MSCC_FELIX=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_OCTEONTX2_PF b/configs/fedora/generic/arm/aarch64/CONFIG_OCTEONTX2_PF
new file mode 100644
index 000000000..69cbb9236
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_OCTEONTX2_PF
@@ -0,0 +1 @@
+CONFIG_OCTEONTX2_PF=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP b/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP
new file mode 100644
index 000000000..5d797be71
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_IMX8MP is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CPR b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CPR
new file mode 100644
index 000000000..e86e12294
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CPR
@@ -0,0 +1 @@
+CONFIG_QCOM_CPR=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO
deleted file mode 100644
index 8e56160a2..000000000
--- a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_QCOM_SOCINFO is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QORIQ_CPUFREQ b/configs/fedora/generic/arm/aarch64/CONFIG_QORIQ_CPUFREQ
new file mode 100644
index 000000000..f70531603
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_QORIQ_CPUFREQ
@@ -0,0 +1 @@
+CONFIG_QORIQ_CPUFREQ=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_MP8859 b/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_MP8859
new file mode 100644
index 000000000..730804512
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_MP8859
@@ -0,0 +1 @@
+CONFIG_REGULATOR_MP8859=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SND_IMX_SOC b/configs/fedora/generic/arm/aarch64/CONFIG_SND_IMX_SOC
deleted file mode 100644
index f0bf90c04..000000000
--- a/configs/fedora/generic/arm/aarch64/CONFIG_SND_IMX_SOC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_IMX_SOC is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SOUNDWIRE_QCOM b/configs/fedora/generic/arm/aarch64/CONFIG_SOUNDWIRE_QCOM
new file mode 100644
index 000000000..bfb00c97e
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_SOUNDWIRE_QCOM
@@ -0,0 +1 @@
+CONFIG_SOUNDWIRE_QCOM=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI b/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI
index 7b081b181..e5284e9c8 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_SPI_QCOM_GENI
@@ -1 +1 @@
-# CONFIG_SPI_QCOM_GENI is not set
+CONFIG_SPI_QCOM_GENI=m
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES
index eb6803b74..1b126b18e 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES
+++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES
@@ -1 +1 @@
-# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+CONFIG_CRYPTO_DEV_OMAP_AES=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_LS1021A b/configs/fedora/generic/arm/armv7/CONFIG_SOC_LS1021A
index 3df043f0c..3df043f0c 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_LS1021A
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SOC_LS1021A
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SPI_FSL_SPI b/configs/fedora/generic/arm/armv7/CONFIG_SPI_FSL_SPI
new file mode 100644
index 000000000..834ceae37
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SPI_FSL_SPI
@@ -0,0 +1 @@
+CONFIG_SPI_FSL_SPI=m
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD
deleted file mode 100644
index e16720b6a..000000000
--- a/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_USB_MUSB_AM335X_CHILD=m
diff --git a/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV b/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV
index d304d6073..3224c1e00 100644
--- a/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV
+++ b/configs/fedora/generic/powerpc/CONFIG_HOTPLUG_PCI_POWERNV
@@ -1 +1 @@
-# CONFIG_HOTPLUG_PCI_POWERNV is not set
+CONFIG_HOTPLUG_PCI_POWERNV=m
diff --git a/configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE b/configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE
new file mode 100644
index 000000000..b340a0279
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE
@@ -0,0 +1 @@
+# CONFIG_QUICC_ENGINE is not set
diff --git a/configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC b/configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC
new file mode 100644
index 000000000..a1bcfe6b5
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC
@@ -0,0 +1 @@
+CONFIG_ZLIB_DFLTCC=y
diff --git a/configs/fedora/generic/x86/CONFIG_I2C_PARPORT_LIGHT b/configs/fedora/generic/x86/CONFIG_I2C_PARPORT_LIGHT
deleted file mode 100644
index 1dbc68883..000000000
--- a/configs/fedora/generic/x86/CONFIG_I2C_PARPORT_LIGHT
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_I2C_PARPORT_LIGHT=m
diff --git a/configs/fedora/generic/x86/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON b/configs/fedora/generic/x86/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
new file mode 100644
index 000000000..e0046c4d9
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
@@ -0,0 +1 @@
+CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
diff --git a/configs/fedora/generic/x86/CONFIG_PCIE_INTEL_GW b/configs/fedora/generic/x86/CONFIG_PCIE_INTEL_GW
new file mode 100644
index 000000000..2047fe3b5
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_PCIE_INTEL_GW
@@ -0,0 +1 @@
+# CONFIG_PCIE_INTEL_GW is not set
diff --git a/configs/fedora/generic/x86/CONFIG_PHY_INTEL_EMMC b/configs/fedora/generic/x86/CONFIG_PHY_INTEL_EMMC
new file mode 100644
index 000000000..7829f20cf
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_PHY_INTEL_EMMC
@@ -0,0 +1 @@
+CONFIG_PHY_INTEL_EMMC=m
diff --git a/configs/fedora/generic/x86/CONFIG_PINCTRL_LYNXPOINT b/configs/fedora/generic/x86/CONFIG_PINCTRL_LYNXPOINT
new file mode 100644
index 000000000..49e70e671
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_PINCTRL_LYNXPOINT
@@ -0,0 +1 @@
+CONFIG_PINCTRL_LYNXPOINT=m
diff --git a/configs/fedora/generic/x86/CONFIG_SND_HDA_PREALLOC_SIZE b/configs/fedora/generic/x86/CONFIG_SND_HDA_PREALLOC_SIZE
new file mode 100644
index 000000000..c7493fadb
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_SND_HDA_PREALLOC_SIZE
@@ -0,0 +1 @@
+CONFIG_SND_HDA_PREALLOC_SIZE=0
diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH
new file mode 100644
index 000000000..08ec882bb
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH
@@ -0,0 +1 @@
+CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~
deleted file mode 100644
index 4181a1dd2..000000000
--- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=n
diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
index c13580570..7cc6669fd 100644
--- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
+++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
@@ -1,2 +1 @@
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
-
diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~
deleted file mode 100644
index bad67ba0e..000000000
--- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH is not set
diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH
new file mode 100644
index 000000000..a96d1ad40
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH
@@ -0,0 +1 @@
+CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~
deleted file mode 100644
index df1d44aef..000000000
--- a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1=n
diff --git a/configs/fedora/generic/x86/CONFIG_STACKPROTECTOR_STRONG b/configs/fedora/generic/x86/CONFIG_STACKPROTECTOR_STRONG
deleted file mode 100644
index 6c885445e..000000000
--- a/configs/fedora/generic/x86/CONFIG_STACKPROTECTOR_STRONG
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_STACKPROTECTOR_STRONG=y
diff --git a/configs/fedora/generic/x86/CONFIG_THUNDERBOLT_NET b/configs/fedora/generic/x86/CONFIG_THUNDERBOLT_NET
deleted file mode 100644
index 1cfc06a79..000000000
--- a/configs/fedora/generic/x86/CONFIG_THUNDERBOLT_NET
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_THUNDERBOLT_NET=m
diff --git a/configs/fedora/generic/x86/CONFIG_TIME_NS b/configs/fedora/generic/x86/CONFIG_TIME_NS
new file mode 100644
index 000000000..4480620f6
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_TIME_NS
@@ -0,0 +1 @@
+CONFIG_TIME_NS=y
diff --git a/configs/fedora/generic/x86/CONFIG_USB4 b/configs/fedora/generic/x86/CONFIG_USB4
new file mode 100644
index 000000000..2b50250e8
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_USB4
@@ -0,0 +1 @@
+CONFIG_USB4=m
diff --git a/configs/fedora/generic/x86/CONFIG_USB4_NET b/configs/fedora/generic/x86/CONFIG_USB4_NET
new file mode 100644
index 000000000..2d51af31b
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_USB4_NET
@@ -0,0 +1 @@
+CONFIG_USB4_NET=m
diff --git a/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX b/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX
deleted file mode 100644
index ed1a6daeb..000000000
--- a/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_X86_INTEL_MPX=y
diff --git a/configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE b/configs/fedora/generic/x86/x86_64/CONFIG_EFI_RCI2_TABLE
index 083461929..083461929 100644
--- a/configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE
+++ b/configs/fedora/generic/x86/x86_64/CONFIG_EFI_RCI2_TABLE
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD
new file mode 100644
index 000000000..5ca68a398
--- /dev/null
+++ b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD
@@ -0,0 +1 @@
+CONFIG_INTEL_IDXD=m
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL
new file mode 100644
index 000000000..f8e5172cf
--- /dev/null
+++ b/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL
@@ -0,0 +1 @@
+CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_THUNDERBOLT b/configs/fedora/generic/x86/x86_64/CONFIG_THUNDERBOLT
deleted file mode 100644
index 12b8cdd76..000000000
--- a/configs/fedora/generic/x86/x86_64/CONFIG_THUNDERBOLT
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_THUNDERBOLT=m
diff --git a/configs/process_configs.sh b/configs/process_configs.sh
index 846fe2e70..b464d95ce 100755
--- a/configs/process_configs.sh
+++ b/configs/process_configs.sh
@@ -2,7 +2,20 @@
#
# This script takes the merged config files and processes them through oldconfig
# and listnewconfig
+#
+usage()
+{
+ # alphabetical order please
+ echo "process_configs.sh [ options ] package_name kernel_version"
+ echo " -a: report all errors, equivalent to [-c -n -w -i]"
+ echo " -c: error on mismatched config options"
+ echo " -i: continue on error"
+ echo " -n: error on unset config options"
+ echo " -t: test run, do not overwrite original config"
+ echo " -w: error on misconfigured config options"
+ exit 1
+}
die()
{
@@ -14,16 +27,16 @@ die()
switch_to_toplevel()
{
path="$(pwd)"
- while test "$path" != "/"
+ while test -n "$path"
do
test -e $path/MAINTAINERS && \
- test -d $path/drivers && \
- break
+ test -d $path/drivers && \
+ break
path="$(dirname $path)"
done
- test "$path" != "/" || die "Can't find toplevel"
+ test -n "$path" || die "Can't find toplevel"
echo "$path"
}
@@ -48,7 +61,7 @@ checkoptions()
configs[a[1]]=a[2];
} else {
if (configs[a[1]] != "" && configs[a[1]] != a[2])
- print "Found "a[1]"="configs[a[1]]" after generation, had " a[1]"="a[2]" in Source tree";
+ print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree";
}
}
' $1 $2 > .mismatches
@@ -57,14 +70,15 @@ checkoptions()
then
echo "Error: Mismatches found in configuration files"
cat .mismatches
- exit 1
+ RETURNCODE=1
+ [ "$CONTINUEONERROR" ] || exit 1
fi
}
function process_configs()
{
# assume we are in $source_tree/configs, need to get to top level
- pushd $(switch_to_toplevel)
+ pushd $(switch_to_toplevel) &>/dev/null
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config
do
@@ -73,49 +87,97 @@ function process_configs()
cfgorig="${cfg}.orig"
cat $cfg > $cfgorig
+ if [ "$arch" = "EMPTY" ]
+ then
+ # This arch is intentionally left blank
+ continue
+ fi
echo -n "Processing $cfg ... "
- # an empty grep is good but leaves a return value, so use # 'true' to bypass
- make ARCH=$arch KCONFIG_CONFIG=$cfg listnewconfig | grep -E 'CONFIG_' > .newoptions || true
+ make ARCH=$arch KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
+ grep -E 'CONFIG_' .listnewconfig > .newoptions
if test -n "$NEWOPTIONS" && test -s .newoptions
then
echo "Found unset config items, please set them to an appropriate value"
cat .newoptions
rm .newoptions
- exit 1
+ RETURNCODE=1
+ [ "$CONTINUEONERROR" ] || exit 1
fi
rm .newoptions
- make ARCH=$arch KCONFIG_CONFIG=$cfg olddefconfig > /dev/null || exit 1
+ grep -E 'config.*warning' .listnewconfig > .warnings
+ if test -n "$CHECKWARNINGS" && test -s .warnings
+ then
+ echo "Found misconfigured config items, please set them to an appropriate value"
+ cat .warnings
+ rm .warnings
+ RETURNCODE=1
+ [ "$CONTINUEONERROR" ] || exit 1
+ fi
+ rm .warnings
+
+ rm .listnewconfig
+
+ make ARCH=$arch KCONFIG_CONFIG=$cfgorig olddefconfig > /dev/null || exit 1
echo "# $arch" > ${cfgtmp}
- cat "${cfg}" >> ${cfgtmp}
+ cat "${cfgorig}" >> ${cfgtmp}
if test -n "$CHECKOPTIONS"
then
- checkoptions $cfgtmp $cfgorig
+ checkoptions $cfg $cfgtmp
+ fi
+ # if test run, don't overwrite original
+ if test -n "$TESTRUN"
+ then
+ rm ${cfgtmp}
+ else
+ mv ${cfgtmp} ${cfg}
fi
- mv ${cfgtmp} ${cfg}
rm ${cfgorig}
echo "done"
done
- rm "$SCRIPT_DIR"/*.config.old
+ rm "$SCRIPT_DIR"/*.config*.old
popd > /dev/null
echo "Processed config files are in $SCRIPT_DIR"
}
-NEWOPTIONS=""
CHECKOPTIONS=""
+CONTINUEONERROR=""
+NEWOPTIONS=""
+TESTRUN=""
+CHECKWARNINGS=""
+
+RETURNCODE=0
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
- -n)
+ -a)
+ CHECKOPTIONS="x"
+ CONTINUEONERROR="x"
NEWOPTIONS="x"
+ CHECKWARNINGS="x"
;;
-c)
CHECKOPTIONS="x"
;;
+ -h)
+ usage
+ ;;
+ -i)
+ CONTINUEONERROR="x"
+ ;;
+ -n)
+ NEWOPTIONS="x"
+ ;;
+ -t)
+ TESTRUN="x"
+ ;;
+ -w)
+ CHECKWARNINGS="x"
+ ;;
*)
break;;
esac
@@ -133,3 +195,4 @@ SCRIPT_DIR="$(dirname $SCRIPT)"
cd $SCRIPT_DIR
process_configs
+exit $RETURNCODE
diff --git a/drm-dp-mst-error-handling-improvements.patch b/drm-dp-mst-error-handling-improvements.patch
new file mode 100644
index 000000000..91e396940
--- /dev/null
+++ b/drm-dp-mst-error-handling-improvements.patch
@@ -0,0 +1,471 @@
+From 52bd42038880354565bd5ca0bcc1d24b15136b0d Mon Sep 17 00:00:00 2001
+From: Benjamin Gaignard <benjamin.gaignard@st.com>
+Date: Wed, 5 Feb 2020 09:48:42 +0100
+Subject: [PATCH 1/3] drm/dp_mst: Fix W=1 warnings
+
+Fix the warnings that show up with W=1.
+They are all about unused but set variables.
+If functions returns are not used anymore make them void.
+
+Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
+Reviewed-by: Lyude Paul <lyude@redhat.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20200205084842.5642-1-benjamin.gaignard@st.com
+---
+ drivers/gpu/drm/drm_dp_mst_topology.c | 114 +++++++++++++++-----------
+ 1 file changed, 65 insertions(+), 49 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
+index 415bd0770eab..95e08d908dd2 100644
+--- a/drivers/gpu/drm/drm_dp_mst_topology.c
++++ b/drivers/gpu/drm/drm_dp_mst_topology.c
+@@ -1035,7 +1035,8 @@ static bool drm_dp_sideband_parse_req(struct drm_dp_sideband_msg_rx *raw,
+ }
+ }
+
+-static int build_dpcd_write(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 offset, u8 num_bytes, u8 *bytes)
++static void build_dpcd_write(struct drm_dp_sideband_msg_tx *msg,
++ u8 port_num, u32 offset, u8 num_bytes, u8 *bytes)
+ {
+ struct drm_dp_sideband_msg_req_body req;
+
+@@ -1045,17 +1046,14 @@ static int build_dpcd_write(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32
+ req.u.dpcd_write.num_bytes = num_bytes;
+ req.u.dpcd_write.bytes = bytes;
+ drm_dp_encode_sideband_req(&req, msg);
+-
+- return 0;
+ }
+
+-static int build_link_address(struct drm_dp_sideband_msg_tx *msg)
++static void build_link_address(struct drm_dp_sideband_msg_tx *msg)
+ {
+ struct drm_dp_sideband_msg_req_body req;
+
+ req.req_type = DP_LINK_ADDRESS;
+ drm_dp_encode_sideband_req(&req, msg);
+- return 0;
+ }
+
+ static int build_clear_payload_id_table(struct drm_dp_sideband_msg_tx *msg)
+@@ -1067,7 +1065,8 @@ static int build_clear_payload_id_table(struct drm_dp_sideband_msg_tx *msg)
+ return 0;
+ }
+
+-static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, int port_num)
++static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg,
++ int port_num)
+ {
+ struct drm_dp_sideband_msg_req_body req;
+
+@@ -1078,10 +1077,11 @@ static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, int por
+ return 0;
+ }
+
+-static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_num,
+- u8 vcpi, uint16_t pbn,
+- u8 number_sdp_streams,
+- u8 *sdp_stream_sink)
++static void build_allocate_payload(struct drm_dp_sideband_msg_tx *msg,
++ int port_num,
++ u8 vcpi, uint16_t pbn,
++ u8 number_sdp_streams,
++ u8 *sdp_stream_sink)
+ {
+ struct drm_dp_sideband_msg_req_body req;
+ memset(&req, 0, sizeof(req));
+@@ -1094,11 +1094,10 @@ static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_n
+ number_sdp_streams);
+ drm_dp_encode_sideband_req(&req, msg);
+ msg->path_msg = true;
+- return 0;
+ }
+
+-static int build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg,
+- int port_num, bool power_up)
++static void build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg,
++ int port_num, bool power_up)
+ {
+ struct drm_dp_sideband_msg_req_body req;
+
+@@ -1110,7 +1109,6 @@ static int build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg,
+ req.u.port_num.port_number = port_num;
+ drm_dp_encode_sideband_req(&req, msg);
+ msg->path_msg = true;
+- return 0;
+ }
+
+ static int drm_dp_mst_assign_payload_id(struct drm_dp_mst_topology_mgr *mgr,
+@@ -2073,29 +2071,24 @@ ssize_t drm_dp_mst_dpcd_write(struct drm_dp_aux *aux,
+ offset, size, buffer);
+ }
+
+-static void drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid)
++static int drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid)
+ {
+- int ret;
++ int ret = 0;
+
+ memcpy(mstb->guid, guid, 16);
+
+ if (!drm_dp_validate_guid(mstb->mgr, mstb->guid)) {
+ if (mstb->port_parent) {
+- ret = drm_dp_send_dpcd_write(
+- mstb->mgr,
+- mstb->port_parent,
+- DP_GUID,
+- 16,
+- mstb->guid);
++ ret = drm_dp_send_dpcd_write(mstb->mgr,
++ mstb->port_parent,
++ DP_GUID, 16, mstb->guid);
+ } else {
+-
+- ret = drm_dp_dpcd_write(
+- mstb->mgr->aux,
+- DP_GUID,
+- mstb->guid,
+- 16);
++ ret = drm_dp_dpcd_write(mstb->mgr->aux,
++ DP_GUID, mstb->guid, 16);
+ }
+ }
++
++ return ret;
+ }
+
+ static void build_mst_prop_path(const struct drm_dp_mst_branch *mstb,
+@@ -2641,7 +2634,8 @@ static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr,
+ return false;
+ }
+
+-static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 offset, u8 num_bytes)
++static void build_dpcd_read(struct drm_dp_sideband_msg_tx *msg,
++ u8 port_num, u32 offset, u8 num_bytes)
+ {
+ struct drm_dp_sideband_msg_req_body req;
+
+@@ -2650,8 +2644,6 @@ static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32
+ req.u.dpcd_read.dpcd_address = offset;
+ req.u.dpcd_read.num_bytes = num_bytes;
+ drm_dp_encode_sideband_req(&req, msg);
+-
+- return 0;
+ }
+
+ static int drm_dp_send_sideband_msg(struct drm_dp_mst_topology_mgr *mgr,
+@@ -2877,7 +2869,7 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_sideband_msg_tx *txmsg;
+ struct drm_dp_link_address_ack_reply *reply;
+ struct drm_dp_mst_port *port, *tmp;
+- int i, len, ret, port_mask = 0;
++ int i, ret, port_mask = 0;
+ bool changed = false;
+
+ txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
+@@ -2885,7 +2877,7 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
+ return -ENOMEM;
+
+ txmsg->dst = mstb;
+- len = build_link_address(txmsg);
++ build_link_address(txmsg);
+
+ mstb->link_address_sent = true;
+ drm_dp_queue_down_tx(mgr, txmsg);
+@@ -2906,7 +2898,9 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
+ DRM_DEBUG_KMS("link address reply: %d\n", reply->nports);
+ drm_dp_dump_link_address(reply);
+
+- drm_dp_check_mstb_guid(mstb, reply->guid);
++ ret = drm_dp_check_mstb_guid(mstb, reply->guid);
++ if (ret)
++ goto out;
+
+ for (i = 0; i < reply->nports; i++) {
+ port_mask |= BIT(reply->ports[i].port_number);
+@@ -2947,14 +2941,14 @@ void drm_dp_send_clear_payload_id_table(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_mst_branch *mstb)
+ {
+ struct drm_dp_sideband_msg_tx *txmsg;
+- int len, ret;
++ int ret;
+
+ txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
+ if (!txmsg)
+ return;
+
+ txmsg->dst = mstb;
+- len = build_clear_payload_id_table(txmsg);
++ build_clear_payload_id_table(txmsg);
+
+ drm_dp_queue_down_tx(mgr, txmsg);
+
+@@ -2972,7 +2966,6 @@ drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr,
+ {
+ struct drm_dp_enum_path_resources_ack_reply *path_res;
+ struct drm_dp_sideband_msg_tx *txmsg;
+- int len;
+ int ret;
+
+ txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
+@@ -2980,7 +2973,7 @@ drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr,
+ return -ENOMEM;
+
+ txmsg->dst = mstb;
+- len = build_enum_path_resources(txmsg, port->port_num);
++ build_enum_path_resources(txmsg, port->port_num);
+
+ drm_dp_queue_down_tx(mgr, txmsg);
+
+@@ -3073,7 +3066,7 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
+ {
+ struct drm_dp_sideband_msg_tx *txmsg;
+ struct drm_dp_mst_branch *mstb;
+- int len, ret, port_num;
++ int ret, port_num;
+ u8 sinks[DRM_DP_MAX_SDP_STREAMS];
+ int i;
+
+@@ -3098,9 +3091,9 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
+ sinks[i] = i;
+
+ txmsg->dst = mstb;
+- len = build_allocate_payload(txmsg, port_num,
+- id,
+- pbn, port->num_sdp_streams, sinks);
++ build_allocate_payload(txmsg, port_num,
++ id,
++ pbn, port->num_sdp_streams, sinks);
+
+ drm_dp_queue_down_tx(mgr, txmsg);
+
+@@ -3129,7 +3122,7 @@ int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_mst_port *port, bool power_up)
+ {
+ struct drm_dp_sideband_msg_tx *txmsg;
+- int len, ret;
++ int ret;
+
+ port = drm_dp_mst_topology_get_port_validated(mgr, port);
+ if (!port)
+@@ -3142,7 +3135,7 @@ int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr,
+ }
+
+ txmsg->dst = port->parent;
+- len = build_power_updown_phy(txmsg, port->port_num, power_up);
++ build_power_updown_phy(txmsg, port->port_num, power_up);
+ drm_dp_queue_down_tx(mgr, txmsg);
+
+ ret = drm_dp_mst_wait_tx_reply(port->parent, txmsg);
+@@ -3364,7 +3357,6 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_mst_port *port,
+ int offset, int size, u8 *bytes)
+ {
+- int len;
+ int ret = 0;
+ struct drm_dp_sideband_msg_tx *txmsg;
+ struct drm_dp_mst_branch *mstb;
+@@ -3379,7 +3371,7 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
+ goto fail_put;
+ }
+
+- len = build_dpcd_read(txmsg, port->port_num, offset, size);
++ build_dpcd_read(txmsg, port->port_num, offset, size);
+ txmsg->dst = port->parent;
+
+ drm_dp_queue_down_tx(mgr, txmsg);
+@@ -3417,7 +3409,6 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_mst_port *port,
+ int offset, int size, u8 *bytes)
+ {
+- int len;
+ int ret;
+ struct drm_dp_sideband_msg_tx *txmsg;
+ struct drm_dp_mst_branch *mstb;
+@@ -3432,7 +3423,7 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
+ goto fail_put;
+ }
+
+- len = build_dpcd_write(txmsg, port->port_num, offset, size, bytes);
++ build_dpcd_write(txmsg, port->port_num, offset, size, bytes);
+ txmsg->dst = mstb;
+
+ drm_dp_queue_down_tx(mgr, txmsg);
+@@ -3682,7 +3673,12 @@ int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr,
+ DRM_DEBUG_KMS("dpcd read failed - undocked during suspend?\n");
+ goto out_fail;
+ }
+- drm_dp_check_mstb_guid(mgr->mst_primary, guid);
++
++ ret = drm_dp_check_mstb_guid(mgr->mst_primary, guid);
++ if (ret) {
++ DRM_DEBUG_KMS("check mstb failed - undocked during suspend?\n");
++ goto out_fail;
++ }
+
+ /*
+ * For the final step of resuming the topology, we need to bring the
+@@ -4625,15 +4621,34 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
+ int ret;
+
+ ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE);
++ if (ret) {
++ seq_printf(m, "dpcd read failed\n");
++ goto out;
++ }
+ seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf);
++
+ ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2);
++ if (ret) {
++ seq_printf(m, "faux/mst read failed\n");
++ goto out;
++ }
+ seq_printf(m, "faux/mst: %*ph\n", 2, buf);
++
+ ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1);
++ if (ret) {
++ seq_printf(m, "mst ctrl read failed\n");
++ goto out;
++ }
+ seq_printf(m, "mst ctrl: %*ph\n", 1, buf);
+
+ /* dump the standard OUI branch header */
+ ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE);
++ if (ret) {
++ seq_printf(m, "branch oui read failed\n");
++ goto out;
++ }
+ seq_printf(m, "branch oui: %*phN devid: ", 3, buf);
++
+ for (i = 0x3; i < 0x8 && buf[i]; i++)
+ seq_printf(m, "%c", buf[i]);
+ seq_printf(m, " revision: hw: %x.%x sw: %x.%x\n",
+@@ -4642,6 +4657,7 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
+ seq_printf(m, "payload table: %*ph\n", DP_PAYLOAD_TABLE_SIZE, buf);
+ }
+
++out:
+ mutex_unlock(&mgr->lock);
+
+ }
+--
+2.25.1
+
+From 9004e704af8486da3dcbde0fb35a2a309152a5c3 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Fri, 6 Mar 2020 18:49:21 -0500
+Subject: [PATCH 2/3] drm/dp_mst: Make drm_dp_mst_dpcd_write() consistent with
+ drm_dp_dpcd_write()
+
+Noticed this while having some problems with hubs sometimes not being
+detected on the first plug. Every single dpcd read or write function
+returns the number of bytes transferred on success or a negative error
+code, except apparently for drm_dp_mst_dpcd_write() - which returns 0 on
+success.
+
+There's not really any good reason for this difference that I can tell,
+and having the two functions give differing behavior means that
+drm_dp_dpcd_write() will end up returning 0 on success for MST devices,
+but the number of bytes transferred for everything else.
+
+So, fix that and update the kernel doc.
+
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Fixes: 2f221a5efed4 ("drm/dp_mst: Add MST support to DP DPCD R/W functions")
+Cc: Hans de Goede <hdegoede@redhat.com>
+Cc: Mikita Lipski <mikita.lipski@amd.com>
+Cc: Sean Paul <sean@poorly.run>
+---
+ drivers/gpu/drm/drm_dp_mst_topology.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
+index 95e08d908dd2..2dc1c0ba456b 100644
+--- a/drivers/gpu/drm/drm_dp_mst_topology.c
++++ b/drivers/gpu/drm/drm_dp_mst_topology.c
+@@ -2059,7 +2059,7 @@ ssize_t drm_dp_mst_dpcd_read(struct drm_dp_aux *aux,
+ * sideband messaging as drm_dp_dpcd_write() does for local
+ * devices via actual AUX CH.
+ *
+- * Return: 0 on success, negative error code on failure.
++ * Return: number of bytes written on success, negative error code on failure.
+ */
+ ssize_t drm_dp_mst_dpcd_write(struct drm_dp_aux *aux,
+ unsigned int offset, void *buffer, size_t size)
+@@ -3429,12 +3429,9 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
+ drm_dp_queue_down_tx(mgr, txmsg);
+
+ ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
+- if (ret > 0) {
+- if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
+- ret = -EIO;
+- else
+- ret = 0;
+- }
++ if (ret > 0 && txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
++ ret = -EIO;
++
+ kfree(txmsg);
+ fail_put:
+ drm_dp_mst_topology_put_mstb(mstb);
+--
+2.25.1
+
+From ff18e1a7ef709cdd3dcbf7b4ae2b37e1c6695289 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Fri, 6 Mar 2020 18:49:22 -0500
+Subject: [PATCH 3/3] drm/dp_mst: Fix drm_dp_check_mstb_guid() return code
+
+We actually expect this to return a 0 on success, or negative error code
+on failure. In order to do that, we check whether or not we managed to
+write the whole GUID and then return 0 if so, otherwise return a
+negative error code. Also, let's add an error message here so it's a
+little more obvious when this fails in the middle of a link address
+probe.
+
+This should fix issues with certain MST hubs seemingly stopping for no
+reason in the middle of the link address probe process.
+
+Fixes: cb897542c6d2 ("drm/dp_mst: Fix W=1 warnings")
+Cc: Benjamin Gaignard <benjamin.gaignard@st.com>
+Cc: Sean Paul <sean@poorly.run>
+Cc: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+---
+ drivers/gpu/drm/drm_dp_mst_topology.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
+index 2dc1c0ba456b..d0e5993b0622 100644
+--- a/drivers/gpu/drm/drm_dp_mst_topology.c
++++ b/drivers/gpu/drm/drm_dp_mst_topology.c
+@@ -2088,7 +2088,10 @@ static int drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid)
+ }
+ }
+
+- return ret;
++ if (ret < 16 && ret > 0)
++ return -EPROTO;
++
++ return ret == 16 ? 0 : ret;
+ }
+
+ static void build_mst_prop_path(const struct drm_dp_mst_branch *mstb,
+@@ -2899,8 +2902,14 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
+ drm_dp_dump_link_address(reply);
+
+ ret = drm_dp_check_mstb_guid(mstb, reply->guid);
+- if (ret)
++ if (ret) {
++ char buf[64];
++
++ drm_dp_mst_rad_to_str(mstb->rad, mstb->lct, buf, sizeof(buf));
++ DRM_ERROR("GUID check on %s failed: %d\n",
++ buf, ret);
+ goto out;
++ }
+
+ for (i = 0; i < reply->nports; i++) {
+ port_mask |= BIT(reply->ports[i].port_number);
+--
+2.25.1
+
diff --git a/drm-i915-backports.patch b/drm-i915-backports.patch
new file mode 100644
index 000000000..6fa8d2849
--- /dev/null
+++ b/drm-i915-backports.patch
@@ -0,0 +1,894 @@
+From 0fdb20f83f9962a3501e9cbdbfcc37ed5e721ab8 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Tue, 10 Mar 2020 14:07:31 -0400
+Subject: [PATCH 1/7] drm/i915: Fix eDP DPCD aux max backlight calculations
+
+Max backlight value for the panel was being calculated using byte
+count i.e. 0xffff if 2 bytes are supported for backlight brightness
+and 0xff if 1 byte is supported. However, EDP_PWMGEN_BIT_COUNT
+determines the number of active control bits used for the brightness
+setting. Thus, even if the panel uses 2 byte setting, it might not use
+all the control bits. Thus, max backlight should be set based on the
+value of EDP_PWMGEN_BIT_COUNT instead of assuming 65535 or 255.
+
+Additionally, EDP_PWMGEN_BIT_COUNT was being updated based on the VBT
+frequency which results in a different max backlight value. Thus,
+setting of EDP_PWMGEN_BIT_COUNT is moved to setup phase instead of
+enable so that max backlight can be calculated correctly. Only the
+frequency divider is set during the enable phase using the value of
+EDP_PWMGEN_BIT_COUNT.
+
+This is based off the original patch series from Furquan Shaikh
+<furquan@google.com>:
+
+https://patchwork.freedesktop.org/patch/317255/?series=62326&rev=3
+
+Changes since original patch:
+* Remove unused intel_dp variable in intel_dp_aux_setup_backlight()
+* Fix checkpatch issues
+* Make sure that we rewrite the pwmgen bit count whenever we bring the
+ panel out of D3 mode
+
+v2 by Jani:
+* rebase
+* fix readb return value check
+
+Cc: Furquan Shaikh <furquan@google.com>
+Tested-by: AceLan Kao <acelan.kao@canonical.com>
+Tested-by: Perry Yuan <pyuan@redhat.com>
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-2-lyude@redhat.com
+---
+ .../drm/i915/display/intel_display_types.h | 3 +
+ .../drm/i915/display/intel_dp_aux_backlight.c | 139 ++++++++++++------
+ 2 files changed, 95 insertions(+), 47 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
+index 888ea8a170d1..778bd30743e5 100644
+--- a/drivers/gpu/drm/i915/display/intel_display_types.h
++++ b/drivers/gpu/drm/i915/display/intel_display_types.h
+@@ -214,6 +214,9 @@ struct intel_panel {
+ u8 controller; /* bxt+ only */
+ struct pwm_device *pwm;
+
++ /* DPCD backlight */
++ u8 pwmgen_bit_count;
++
+ struct backlight_device *device;
+
+ /* Connector and platform specific backlight functions */
+diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+index 7c653f8c307f..345eed641455 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+@@ -111,61 +111,28 @@ static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
+ {
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+- int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
+- u8 pn, pn_min, pn_max;
++ const u8 pn = connector->panel.backlight.pwmgen_bit_count;
++ int freq, fxp, f, fxp_actual, fxp_min, fxp_max;
+
+- /* Find desired value of (F x P)
+- * Note that, if F x P is out of supported range, the maximum value or
+- * minimum value will applied automatically. So no need to check that.
+- */
+ freq = dev_priv->vbt.backlight.pwm_freq_hz;
+- DRM_DEBUG_KMS("VBT defined backlight frequency %u Hz\n", freq);
+ if (!freq) {
+ DRM_DEBUG_KMS("Use panel default backlight frequency\n");
+ return false;
+ }
+
+ fxp = DIV_ROUND_CLOSEST(KHz(DP_EDP_BACKLIGHT_FREQ_BASE_KHZ), freq);
++ f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255);
++ fxp_actual = f << pn;
+
+- /* Use highest possible value of Pn for more granularity of brightness
+- * adjustment while satifying the conditions below.
+- * - Pn is in the range of Pn_min and Pn_max
+- * - F is in the range of 1 and 255
+- * - FxP is within 25% of desired value.
+- * Note: 25% is arbitrary value and may need some tweak.
+- */
+- if (drm_dp_dpcd_readb(&intel_dp->aux,
+- DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN, &pn_min) != 1) {
+- DRM_DEBUG_KMS("Failed to read pwmgen bit count cap min\n");
+- return false;
+- }
+- if (drm_dp_dpcd_readb(&intel_dp->aux,
+- DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX, &pn_max) != 1) {
+- DRM_DEBUG_KMS("Failed to read pwmgen bit count cap max\n");
+- return false;
+- }
+- pn_min &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
+- pn_max &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
+-
++ /* Ensure frequency is within 25% of desired value */
+ fxp_min = DIV_ROUND_CLOSEST(fxp * 3, 4);
+ fxp_max = DIV_ROUND_CLOSEST(fxp * 5, 4);
+- if (fxp_min < (1 << pn_min) || (255 << pn_max) < fxp_max) {
+- DRM_DEBUG_KMS("VBT defined backlight frequency out of range\n");
+- return false;
+- }
+
+- for (pn = pn_max; pn >= pn_min; pn--) {
+- f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255);
+- fxp_actual = f << pn;
+- if (fxp_min <= fxp_actual && fxp_actual <= fxp_max)
+- break;
+- }
+-
+- if (drm_dp_dpcd_writeb(&intel_dp->aux,
+- DP_EDP_PWMGEN_BIT_COUNT, pn) < 0) {
+- DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n");
++ if (fxp_min > fxp_actual || fxp_actual > fxp_max) {
++ DRM_DEBUG_KMS("Actual frequency out of range\n");
+ return false;
+ }
++
+ if (drm_dp_dpcd_writeb(&intel_dp->aux,
+ DP_EDP_BACKLIGHT_FREQ_SET, (u8) f) < 0) {
+ DRM_DEBUG_KMS("Failed to write aux backlight freq\n");
+@@ -179,6 +146,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
+ {
+ struct intel_connector *connector = to_intel_connector(conn_state->connector);
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
++ struct intel_panel *panel = &connector->panel;
+ u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
+
+ if (drm_dp_dpcd_readb(&intel_dp->aux,
+@@ -197,6 +165,12 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
+ case DP_EDP_BACKLIGHT_CONTROL_MODE_PRODUCT:
+ new_dpcd_buf &= ~DP_EDP_BACKLIGHT_CONTROL_MODE_MASK;
+ new_dpcd_buf |= DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD;
++
++ if (drm_dp_dpcd_writeb(&intel_dp->aux,
++ DP_EDP_PWMGEN_BIT_COUNT,
++ panel->backlight.pwmgen_bit_count) < 0)
++ DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n");
++
+ break;
+
+ /* Do nothing when it is already DPCD mode */
+@@ -226,20 +200,91 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
+ false);
+ }
+
++static u32 intel_dp_aux_calc_max_backlight(struct intel_connector *connector)
++{
++ struct drm_i915_private *i915 = to_i915(connector->base.dev);
++ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
++ struct intel_panel *panel = &connector->panel;
++ u32 max_backlight = 0;
++ int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
++ u8 pn, pn_min, pn_max;
++
++ if (drm_dp_dpcd_readb(&intel_dp->aux, DP_EDP_PWMGEN_BIT_COUNT, &pn) == 1) {
++ pn &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
++ max_backlight = (1 << pn) - 1;
++ }
++
++ /* Find desired value of (F x P)
++ * Note that, if F x P is out of supported range, the maximum value or
++ * minimum value will applied automatically. So no need to check that.
++ */
++ freq = i915->vbt.backlight.pwm_freq_hz;
++ DRM_DEBUG_KMS("VBT defined backlight frequency %u Hz\n", freq);
++ if (!freq) {
++ DRM_DEBUG_KMS("Use panel default backlight frequency\n");
++ return max_backlight;
++ }
++
++ fxp = DIV_ROUND_CLOSEST(KHz(DP_EDP_BACKLIGHT_FREQ_BASE_KHZ), freq);
++
++ /* Use highest possible value of Pn for more granularity of brightness
++ * adjustment while satifying the conditions below.
++ * - Pn is in the range of Pn_min and Pn_max
++ * - F is in the range of 1 and 255
++ * - FxP is within 25% of desired value.
++ * Note: 25% is arbitrary value and may need some tweak.
++ */
++ if (drm_dp_dpcd_readb(&intel_dp->aux,
++ DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN, &pn_min) != 1) {
++ DRM_DEBUG_KMS("Failed to read pwmgen bit count cap min\n");
++ return max_backlight;
++ }
++ if (drm_dp_dpcd_readb(&intel_dp->aux,
++ DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX, &pn_max) != 1) {
++ DRM_DEBUG_KMS("Failed to read pwmgen bit count cap max\n");
++ return max_backlight;
++ }
++ pn_min &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
++ pn_max &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
++
++ fxp_min = DIV_ROUND_CLOSEST(fxp * 3, 4);
++ fxp_max = DIV_ROUND_CLOSEST(fxp * 5, 4);
++ if (fxp_min < (1 << pn_min) || (255 << pn_max) < fxp_max) {
++ DRM_DEBUG_KMS("VBT defined backlight frequency out of range\n");
++ return max_backlight;
++ }
++
++ for (pn = pn_max; pn >= pn_min; pn--) {
++ f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255);
++ fxp_actual = f << pn;
++ if (fxp_min <= fxp_actual && fxp_actual <= fxp_max)
++ break;
++ }
++
++ DRM_DEBUG_KMS("Using eDP pwmgen bit count of %d\n", pn);
++ if (drm_dp_dpcd_writeb(&intel_dp->aux,
++ DP_EDP_PWMGEN_BIT_COUNT, pn) < 0) {
++ DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n");
++ return max_backlight;
++ }
++ panel->backlight.pwmgen_bit_count = pn;
++
++ max_backlight = (1 << pn) - 1;
++
++ return max_backlight;
++}
++
+ static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
+ enum pipe pipe)
+ {
+- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ struct intel_panel *panel = &connector->panel;
+
+- if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
+- panel->backlight.max = 0xFFFF;
+- else
+- panel->backlight.max = 0xFF;
++ panel->backlight.max = intel_dp_aux_calc_max_backlight(connector);
++ if (!panel->backlight.max)
++ return -ENODEV;
+
+ panel->backlight.min = 0;
+ panel->backlight.level = intel_dp_aux_get_backlight(connector);
+-
+ panel->backlight.enabled = panel->backlight.level != 0;
+
+ return 0;
+--
+2.25.1
+
+From 7dbe3f659d364de34b210baf0598913dc8c3cabd Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Tue, 10 Mar 2020 14:07:32 -0400
+Subject: [PATCH 2/7] drm/i915: Assume 100% brightness when not in DPCD control
+ mode
+
+Currently we always determine the initial panel brightness level by
+simply reading the value from DP_EDP_BACKLIGHT_BRIGHTNESS_MSB/LSB. This
+seems wrong though, because if the panel is not currently in DPCD
+control mode there's not really any reason why there would be any
+brightness value programmed in the first place.
+
+This appears to be the case on the Lenovo ThinkPad X1 Extreme 2nd
+Generation, where the default value in these registers is always 0 on
+boot despite the fact the panel runs at max brightness by default.
+Getting the initial brightness value correct here is important as well,
+since the panel on this laptop doesn't behave well if it's ever put into
+DPCD control mode while the brightness level is programmed to 0.
+
+So, let's fix this by checking what the current backlight control mode
+is before reading the brightness level. If it's in DPCD control mode, we
+return the programmed brightness level. Otherwise we assume 100%
+brightness and return the highest possible brightness level. This also
+prevents us from accidentally programming a brightness level of 0.
+
+This is one of the many fixes that gets backlight controls working on
+the ThinkPad X1 Extreme 2nd Generation with optional 4K AMOLED screen.
+
+Changes since v1:
+* s/DP_EDP_DISPLAY_CONTROL_REGISTER/DP_EDP_BACKLIGHT_MODE_SET_REGISTER/
+ - Jani
+
+Tested-by: AceLan Kao <acelan.kao@canonical.com>
+Tested-by: Perry Yuan <pyuan@redhat.com>
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-3-lyude@redhat.com
+---
+ .../drm/i915/display/intel_dp_aux_backlight.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+index 345eed641455..5d4db5f8a165 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+@@ -59,8 +59,25 @@ static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
+ {
+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
+ u8 read_val[2] = { 0x0 };
++ u8 mode_reg;
+ u16 level = 0;
+
++ if (drm_dp_dpcd_readb(&intel_dp->aux,
++ DP_EDP_BACKLIGHT_MODE_SET_REGISTER,
++ &mode_reg) != 1) {
++ DRM_DEBUG_KMS("Failed to read the DPCD register 0x%x\n",
++ DP_EDP_BACKLIGHT_MODE_SET_REGISTER);
++ return 0;
++ }
++
++ /*
++ * If we're not in DPCD control mode yet, the programmed brightness
++ * value is meaningless and we should assume max brightness
++ */
++ if ((mode_reg & DP_EDP_BACKLIGHT_CONTROL_MODE_MASK) !=
++ DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD)
++ return connector->panel.backlight.max;
++
+ if (drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_BACKLIGHT_BRIGHTNESS_MSB,
+ &read_val, sizeof(read_val)) < 0) {
+ DRM_DEBUG_KMS("Failed to read DPCD register 0x%x\n",
+--
+2.25.1
+
+From b2a29a70e386c2fbd92e1b7980091e7980495211 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Tue, 10 Mar 2020 14:07:33 -0400
+Subject: [PATCH 3/7] drm/i915: Fix DPCD register order in
+ intel_dp_aux_enable_backlight()
+
+For eDP panels, it appears it's expected that so long as the panel is in
+DPCD control mode that the brightness value is never set to 0. Instead,
+if the desired effect is to set the panel's backlight to 0 we're
+expected to simply turn off the backlight through the
+DP_EDP_DISPLAY_CONTROL_REGISTER.
+
+We already do the latter correctly in intel_dp_aux_disable_backlight().
+But, we make the mistake of writing the DPCD registers in the wrong
+order when enabling the backlight in intel_dp_aux_enable_backlight()
+since we currently enable the backlight through
+DP_EDP_DISPLAY_CONTROL_REGISTER before writing the brightness level. On
+the X1 Extreme 2nd Generation, this appears to have the potential of
+confusing the panel in such a way that further attempts to set the
+brightness don't actually change the backlight as expected and leave it
+off. Presumably, this happens because the incorrect register writing
+order briefly leaves the panel with DPCD mode enabled and a 0 brightness
+level set.
+
+So, reverse the order we write the DPCD registers when enabling the
+panel backlight so that we write the brightness value first, and enable
+the backlight second. This fix appears to be the final bit needed to get
+the backlight on the ThinkPad X1 Extreme 2nd Generation's AMOLED screen
+working.
+
+Tested-by: AceLan Kao <acelan.kao@canonical.com>
+Tested-by: Perry Yuan <pyuan@redhat.com>
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-4-lyude@redhat.com
+---
+ drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+index 5d4db5f8a165..77a759361c5c 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+@@ -207,8 +207,9 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
+ }
+ }
+
++ intel_dp_aux_set_backlight(conn_state,
++ connector->panel.backlight.level);
+ set_aux_backlight_enable(intel_dp, true);
+- intel_dp_aux_set_backlight(conn_state, connector->panel.backlight.level);
+ }
+
+ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old_conn_state)
+--
+2.25.1
+
+From 8b2e6f450c1f8d34632d4789369030008e874a75 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Tue, 10 Mar 2020 14:07:34 -0400
+Subject: [PATCH 4/7] drm/i915: Auto detect DPCD backlight support by default
+
+Turns out we actually already have some companies, such as Lenovo,
+shipping machines with AMOLED screens that don't allow controlling the
+backlight through the usual PWM interface and only allow controlling it
+through the standard EDP DPCD interface. One example of one of these
+laptops is the X1 Extreme 2nd Generation.
+
+Since we've got systems that need this turned on by default now to have
+backlight controls working out of the box, let's start auto-detecting it
+for systems by default based on what the VBT tells us. We do this by
+changing the default value for the enable_dpcd_backlight module param
+from 0 to -1.
+
+Tested-by: AceLan Kao <acelan.kao@canonical.com>
+Tested-by: Perry Yuan <pyuan@redhat.com>
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-6-lyude@redhat.com
+---
+ drivers/gpu/drm/i915/i915_params.c | 2 +-
+ drivers/gpu/drm/i915/i915_params.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
+index 1dd1f3652795..31eed60c167e 100644
+--- a/drivers/gpu/drm/i915/i915_params.c
++++ b/drivers/gpu/drm/i915/i915_params.c
+@@ -172,7 +172,7 @@ i915_param_named_unsafe(inject_probe_failure, uint, 0400,
+
+ i915_param_named(enable_dpcd_backlight, int, 0600,
+ "Enable support for DPCD backlight control"
+- "(-1=use per-VBT LFP backlight type setting, 0=disabled [default], 1=enabled)");
++ "(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enabled)");
+
+ #if IS_ENABLED(CONFIG_DRM_I915_GVT)
+ i915_param_named(enable_gvt, bool, 0400,
+diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
+index 31b88f297fbc..a79d0867f77a 100644
+--- a/drivers/gpu/drm/i915/i915_params.h
++++ b/drivers/gpu/drm/i915/i915_params.h
+@@ -64,7 +64,7 @@ struct drm_printer;
+ param(int, reset, 3) \
+ param(unsigned int, inject_probe_failure, 0) \
+ param(int, fastboot, -1) \
+- param(int, enable_dpcd_backlight, 0) \
++ param(int, enable_dpcd_backlight, -1) \
+ param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
+ param(unsigned long, fake_lmem_start, 0) \
+ /* leave bools at the end to not create holes */ \
+--
+2.25.1
+
+From c10b0dfaac8385f9b712a552c9a5eed9976aacf2 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Tue, 10 Mar 2020 14:07:35 -0400
+Subject: [PATCH 5/7] drm/dp: Introduce EDID-based quirks
+
+The whole point of using OUIs is so that we can recognize certain
+devices and potentially apply quirks for them. Normally this should work
+quite well, but there appears to be quite a number of laptop panels out
+there that will fill the OUI but not the device ID. As such, for devices
+like this I can't imagine it's a very good idea to try relying on OUIs
+for applying quirks. As well, some laptop vendors have confirmed to us
+that their panels have this exact issue.
+
+So, let's introduce the ability to apply DP quirks based on EDID
+identification. We reuse the same quirk bits for OUI-based quirks, so
+that callers can simply check all possible quirks using
+drm_dp_has_quirk().
+
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+Cc: Jani Nikula <jani.nikula@intel.com>
+---
+ drivers/gpu/drm/drm_dp_helper.c | 61 +++++++++++++++++++
+ drivers/gpu/drm/drm_dp_mst_topology.c | 3 +-
+ .../drm/i915/display/intel_display_types.h | 1 +
+ drivers/gpu/drm/i915/display/intel_dp.c | 11 ++--
+ drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 +-
+ drivers/gpu/drm/i915/display/intel_psr.c | 2 +-
+ include/drm/drm_dp_helper.h | 11 +++-
+ 7 files changed, 81 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
+index a5364b5192b8..9b2ea2ae0204 100644
+--- a/drivers/gpu/drm/drm_dp_helper.c
++++ b/drivers/gpu/drm/drm_dp_helper.c
+@@ -1222,6 +1222,67 @@ drm_dp_get_quirks(const struct drm_dp_dpcd_ident *ident, bool is_branch)
+ #undef DEVICE_ID_ANY
+ #undef DEVICE_ID
+
++struct edid_quirk {
++ u8 mfg_id[2];
++ u8 prod_id[2];
++ u32 quirks;
++};
++
++#define MFG(first, second) { (first), (second) }
++#define PROD_ID(first, second) { (first), (second) }
++
++/*
++ * Some devices have unreliable OUIDs where they don't set the device ID
++ * correctly, and as a result we need to use the EDID for finding additional
++ * DP quirks in such cases.
++ */
++static const struct edid_quirk edid_quirk_list[] = {
++};
++
++#undef MFG
++#undef PROD_ID
++
++/**
++ * drm_dp_get_edid_quirks() - Check the EDID of a DP device to find additional
++ * DP-specific quirks
++ * @edid: The EDID to check
++ *
++ * While OUIDs are meant to be used to recognize a DisplayPort device, a lot
++ * of manufacturers don't seem to like following standards and neglect to fill
++ * the dev-ID in, making it impossible to only use OUIDs for determining
++ * quirks in some cases. This function can be used to check the EDID and look
++ * up any additional DP quirks. The bits returned by this function correspond
++ * to the quirk bits in &drm_dp_quirk.
++ *
++ * Returns: a bitmask of quirks, if any. The driver can check this using
++ * drm_dp_has_quirk().
++ */
++u32 drm_dp_get_edid_quirks(const struct edid *edid)
++{
++ const struct edid_quirk *quirk;
++ u32 quirks = 0;
++ int i;
++
++ if (!edid)
++ return 0;
++
++ for (i = 0; i < ARRAY_SIZE(edid_quirk_list); i++) {
++ quirk = &edid_quirk_list[i];
++ if (memcmp(quirk->mfg_id, edid->mfg_id,
++ sizeof(edid->mfg_id)) == 0 &&
++ memcmp(quirk->prod_id, edid->prod_code,
++ sizeof(edid->prod_code)) == 0)
++ quirks |= quirk->quirks;
++ }
++
++ DRM_DEBUG_KMS("DP sink: EDID mfg %*phD prod-ID %*phD quirks: 0x%04x\n",
++ (int)sizeof(edid->mfg_id), edid->mfg_id,
++ (int)sizeof(edid->prod_code), edid->prod_code, quirks);
++
++ return quirks;
++}
++EXPORT_SYMBOL(drm_dp_get_edid_quirks);
++
+ /**
+ * drm_dp_read_desc - read sink/branch descriptor from DPCD
+ * @aux: DisplayPort AUX channel
+diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
+index cce0b1bba591..685c35e67144 100644
+--- a/drivers/gpu/drm/drm_dp_mst_topology.c
++++ b/drivers/gpu/drm/drm_dp_mst_topology.c
+@@ -5461,7 +5461,8 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port)
+ if (drm_dp_read_desc(port->mgr->aux, &desc, true))
+ return NULL;
+
+- if (drm_dp_has_quirk(&desc, DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) &&
++ if (drm_dp_has_quirk(&desc, 0,
++ DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) &&
+ port->mgr->dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14 &&
+ port->parent == port->mgr->mst_primary) {
+ u8 downstreamport;
+diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
+index 778bd30743e5..8e3c5569603b 100644
+--- a/drivers/gpu/drm/i915/display/intel_display_types.h
++++ b/drivers/gpu/drm/i915/display/intel_display_types.h
+@@ -1253,6 +1253,7 @@ struct intel_dp {
+ int max_link_rate;
+ /* sink or branch descriptor */
+ struct drm_dp_desc desc;
++ u32 edid_quirks;
+ struct drm_dp_aux aux;
+ u32 aux_busy_last_status;
+ u8 train_set[4];
+diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
+index c7424e2a04a3..e20b85ff937d 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp.c
++++ b/drivers/gpu/drm/i915/display/intel_dp.c
+@@ -2373,7 +2373,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
+ struct intel_connector *intel_connector = intel_dp->attached_connector;
+ struct intel_digital_connector_state *intel_conn_state =
+ to_intel_digital_connector_state(conn_state);
+- bool constant_n = drm_dp_has_quirk(&intel_dp->desc,
++ bool constant_n = drm_dp_has_quirk(&intel_dp->desc, 0,
+ DP_DPCD_QUIRK_CONSTANT_N);
+ int ret = 0, output_bpp;
+
+@@ -4466,7 +4466,8 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
+ * it don't care about read it here and in intel_edp_init_dpcd().
+ */
+ if (!intel_dp_is_edp(intel_dp) &&
+- !drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_SINK_COUNT)) {
++ !drm_dp_has_quirk(&intel_dp->desc, 0,
++ DP_DPCD_QUIRK_NO_SINK_COUNT)) {
+ u8 count;
+ ssize_t r;
+
+@@ -5631,6 +5632,7 @@ intel_dp_set_edid(struct intel_dp *intel_dp)
+
+ intel_dp->has_audio = drm_detect_monitor_audio(edid);
+ drm_dp_cec_set_edid(&intel_dp->aux, edid);
++ intel_dp->edid_quirks = drm_dp_get_edid_quirks(edid);
+ }
+
+ static void
+@@ -5643,6 +5645,7 @@ intel_dp_unset_edid(struct intel_dp *intel_dp)
+ intel_connector->detect_edid = NULL;
+
+ intel_dp->has_audio = false;
++ intel_dp->edid_quirks = 0;
+ }
+
+ static int
+@@ -7356,8 +7359,8 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
+ edid = drm_get_edid(connector, &intel_dp->aux.ddc);
+ if (edid) {
+ if (drm_add_edid_modes(connector, edid)) {
+- drm_connector_update_edid_property(connector,
+- edid);
++ drm_connector_update_edid_property(connector, edid);
++ intel_dp->edid_quirks = drm_dp_get_edid_quirks(edid);
+ } else {
+ kfree(edid);
+ edid = ERR_PTR(-EINVAL);
+diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
+index cba68c5a80fa..4a1a2f868423 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
++++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
+@@ -50,7 +50,7 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder,
+ const struct drm_display_mode *adjusted_mode =
+ &crtc_state->hw.adjusted_mode;
+ void *port = connector->port;
+- bool constant_n = drm_dp_has_quirk(&intel_dp->desc,
++ bool constant_n = drm_dp_has_quirk(&intel_dp->desc, 0,
+ DP_DPCD_QUIRK_CONSTANT_N);
+ int bpp, slots = -EINVAL;
+
+diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
+index 83025052c965..82ba5624d14f 100644
+--- a/drivers/gpu/drm/i915/display/intel_psr.c
++++ b/drivers/gpu/drm/i915/display/intel_psr.c
+@@ -282,7 +282,7 @@ void intel_psr_init_dpcd(struct intel_dp *intel_dp)
+ DRM_DEBUG_KMS("eDP panel supports PSR version %x\n",
+ intel_dp->psr_dpcd[0]);
+
+- if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_PSR)) {
++ if (drm_dp_has_quirk(&intel_dp->desc, 0, DP_DPCD_QUIRK_NO_PSR)) {
+ DRM_DEBUG_KMS("PSR support not currently available for this panel\n");
+ return;
+ }
+diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
+index bc04467f7c3a..1fe49e202dfb 100644
+--- a/include/drm/drm_dp_helper.h
++++ b/include/drm/drm_dp_helper.h
+@@ -1493,13 +1493,16 @@ struct drm_dp_desc {
+
+ int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc,
+ bool is_branch);
++u32 drm_dp_get_edid_quirks(const struct edid *edid);
+
+ /**
+ * enum drm_dp_quirk - Display Port sink/branch device specific quirks
+ *
+ * Display Port sink and branch devices in the wild have a variety of bugs, try
+ * to collect them here. The quirks are shared, but it's up to the drivers to
+- * implement workarounds for them.
++ * implement workarounds for them. Note that because some devices have
++ * unreliable OUIDs, the EDID of sinks should also be checked for quirks using
++ * drm_dp_get_edid_quirks().
+ */
+ enum drm_dp_quirk {
+ /**
+@@ -1535,14 +1538,16 @@ enum drm_dp_quirk {
+ /**
+ * drm_dp_has_quirk() - does the DP device have a specific quirk
+ * @desc: Device decriptor filled by drm_dp_read_desc()
++ * @edid_quirks: Optional quirk bitmask filled by drm_dp_get_edid_quirks()
+ * @quirk: Quirk to query for
+ *
+ * Return true if DP device identified by @desc has @quirk.
+ */
+ static inline bool
+-drm_dp_has_quirk(const struct drm_dp_desc *desc, enum drm_dp_quirk quirk)
++drm_dp_has_quirk(const struct drm_dp_desc *desc, u32 edid_quirks,
++ enum drm_dp_quirk quirk)
+ {
+- return desc->quirks & BIT(quirk);
++ return (desc->quirks | edid_quirks) & BIT(quirk);
+ }
+
+ #ifdef CONFIG_DRM_DP_CEC
+--
+2.25.1
+
+From a21ec8aec8452de788d6b1fc175dc8281a57d5de Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Tue, 10 Mar 2020 14:07:36 -0400
+Subject: [PATCH 6/7] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen
+ 4K AMOLED panel
+
+The X1 Extreme is one of the systems that lies about which backlight
+interface that it uses in its VBIOS as PWM backlight controls don't work
+at all on this machine. It's possible that this panel could be one of
+the infamous ones that can switch between PWM mode and DPCD backlight
+control mode, but we haven't gotten any more details on this from Lenovo
+just yet. For the time being though, making sure the backlight 'just
+works' is a bit more important.
+
+So, add a quirk to force DPCD backlight controls on for these systems
+based on EDID (since this panel doesn't appear to fill in the device ID).
+Hopefully in the future we'll figure out a better way of probing this.
+
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+Cc: Jani Nikula <jani.nikula@intel.com>
+
+Changes since v2:
+* The bugzilla URL is deprecated, bug reporting happens on gitlab now.
+ Update the messages we print to reflect this
+* Also, take the opportunity to move FDO_BUG_URL out of i915_utils.c and
+ into i915_utils.h so that other places which print things that aren't
+ traditional errors but are worth filing bugs about, can actually use
+ it.
+
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+---
+ drivers/gpu/drm/drm_dp_helper.c | 4 ++++
+ .../drm/i915/display/intel_dp_aux_backlight.c | 24 +++++++++++++++----
+ drivers/gpu/drm/i915/i915_utils.c | 1 -
+ drivers/gpu/drm/i915/i915_utils.h | 2 ++
+ include/drm/drm_dp_helper.h | 10 ++++++++
+ 5 files changed, 36 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
+index 9b2ea2ae0204..026f701eac69 100644
+--- a/drivers/gpu/drm/drm_dp_helper.c
++++ b/drivers/gpu/drm/drm_dp_helper.c
+@@ -1237,6 +1237,10 @@ struct edid_quirk {
+ * DP quirks in such cases.
+ */
+ static const struct edid_quirk edid_quirk_list[] = {
++ /* Optional 4K AMOLED panel in the ThinkPad X1 Extreme 2nd Generation
++ * only supports DPCD backlight controls
++ */
++ { MFG(0x4c, 0x83), PROD_ID(0x41, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
+ };
+
+ #undef MFG
+diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+index 77a759361c5c..a7c94c201b38 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+@@ -328,15 +328,31 @@ intel_dp_aux_display_control_capable(struct intel_connector *connector)
+ int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector)
+ {
+ struct intel_panel *panel = &intel_connector->panel;
+- struct drm_i915_private *dev_priv = to_i915(intel_connector->base.dev);
++ struct intel_dp *intel_dp = enc_to_intel_dp(intel_connector->encoder);
++ struct drm_device *dev = intel_connector->base.dev;
++ struct drm_i915_private *dev_priv = to_i915(dev);
+
+ if (i915_modparams.enable_dpcd_backlight == 0 ||
+- (i915_modparams.enable_dpcd_backlight == -1 &&
+- dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_VESA_EDP_AUX_INTERFACE))
++ !intel_dp_aux_display_control_capable(intel_connector))
+ return -ENODEV;
+
+- if (!intel_dp_aux_display_control_capable(intel_connector))
++ /*
++ * There are a lot of machines that don't advertise the backlight
++ * control interface to use properly in their VBIOS, :\
++ */
++ if (dev_priv->vbt.backlight.type !=
++ INTEL_BACKLIGHT_VESA_EDP_AUX_INTERFACE &&
++ !drm_dp_has_quirk(&intel_dp->desc, intel_dp->edid_quirks,
++ DP_QUIRK_FORCE_DPCD_BACKLIGHT)) {
++ DRM_DEV_INFO(dev->dev,
++ "Panel advertises DPCD backlight support, but "
++ "VBT disagrees. If your backlight controls "
++ "don't work try booting with "
++ "i915.enable_dpcd_backlight=1. If your machine "
++ "needs this, please file a _new_ bug report on "
++ "drm/i915, see " FDO_BUG_URL " for details.\n");
+ return -ENODEV;
++ }
+
+ panel->backlight.setup = intel_dp_aux_setup_backlight;
+ panel->backlight.enable = intel_dp_aux_enable_backlight;
+diff --git a/drivers/gpu/drm/i915/i915_utils.c b/drivers/gpu/drm/i915/i915_utils.c
+index 632d6953c78d..029854ae65fc 100644
+--- a/drivers/gpu/drm/i915/i915_utils.c
++++ b/drivers/gpu/drm/i915/i915_utils.c
+@@ -8,7 +8,6 @@
+ #include "i915_drv.h"
+ #include "i915_utils.h"
+
+-#define FDO_BUG_URL "https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs"
+ #define FDO_BUG_MSG "Please file a bug on drm/i915; see " FDO_BUG_URL " for details."
+
+ void
+diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
+index b0ade76bec90..cae0ae520398 100644
+--- a/drivers/gpu/drm/i915/i915_utils.h
++++ b/drivers/gpu/drm/i915/i915_utils.h
+@@ -34,6 +34,8 @@
+ struct drm_i915_private;
+ struct timer_list;
+
++#define FDO_BUG_URL "https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs"
++
+ #undef WARN_ON
+ /* Many gcc seem to no see through this and fall over :( */
+ #if 0
+diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
+index 1fe49e202dfb..eff5a69051d6 100644
+--- a/include/drm/drm_dp_helper.h
++++ b/include/drm/drm_dp_helper.h
+@@ -1533,6 +1533,16 @@ enum drm_dp_quirk {
+ * The DSC caps can be read from the physical aux instead.
+ */
+ DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD,
++ /**
++ * @DP_QUIRK_FORCE_DPCD_BACKLIGHT:
++ *
++ * The device is telling the truth when it says that it uses DPCD
++ * backlight controls, even if the system's firmware disagrees. This
++ * quirk should be checked against both the ident and panel EDID.
++ * When present, the driver should honor the DPCD backlight
++ * capabilities advertised.
++ */
++ DP_QUIRK_FORCE_DPCD_BACKLIGHT,
+ };
+
+ /**
+--
+2.25.1
+
+From 057e7f8db05c2382b666270b1fbf986fdd172769 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Tue, 10 Mar 2020 14:07:37 -0400
+Subject: [PATCH 7/7] drm/i915: Force DPCD backlight mode for some Dell CML
+ 2020 panels
+
+According to Dell, trying to match their panels via OUI is not reliable
+enough and we've been told that we should check against the EDID
+instead. As well, Dell seems to have some panels that are actually
+intended to switch between using PWM for backlight controls and DPCD for
+backlight controls depending on whether or not the panel is in HDR or
+SDR mode. Yikes.
+
+Regardless, we need to add quirks for these so that DPCD backlight
+controls get enabled by default, since without additional driver support
+that's the only form of brightness control that will work. Hopefully in
+the future we can remove these quirks once we have a better way of
+probing for this.
+
+Changes since v1:
+* Add one more EDID per Dell's request
+* Remove model number (which is possibly wrong) and replace with Dell
+ CML 2020 systems
+
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+Cc: Jani Nikula <jani.nikula@intel.com>
+---
+ drivers/gpu/drm/drm_dp_helper.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
+index 026f701eac69..d3a636a925d4 100644
+--- a/drivers/gpu/drm/drm_dp_helper.c
++++ b/drivers/gpu/drm/drm_dp_helper.c
+@@ -1241,6 +1241,20 @@ static const struct edid_quirk edid_quirk_list[] = {
+ * only supports DPCD backlight controls
+ */
+ { MFG(0x4c, 0x83), PROD_ID(0x41, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
++ /*
++ * Some Dell CML 2020 systems have panels support both AUX and PWM
++ * backlight control, and some only support AUX backlight control. All
++ * said panels start up in AUX mode by default, and we don't have any
++ * support for disabling HDR mode on these panels which would be
++ * required to switch to PWM backlight control mode (plus, I'm not
++ * even sure we want PWM backlight controls over DPCD backlight
++ * controls anyway...). Until we have a better way of detecting these,
++ * force DPCD backlight mode on all of them.
++ */
++ { MFG(0x06, 0xaf), PROD_ID(0x9b, 0x32), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
++ { MFG(0x06, 0xaf), PROD_ID(0xeb, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
++ { MFG(0x4d, 0x10), PROD_ID(0xc7, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
++ { MFG(0x4d, 0x10), PROD_ID(0xe6, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
+ };
+
+ #undef MFG
+--
+2.25.1
+
diff --git a/efi-secureboot.patch b/efi-secureboot.patch
index 227805e8c..90ac9feca 100644
--- a/efi-secureboot.patch
+++ b/efi-secureboot.patch
@@ -131,10 +131,10 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com>
create mode 100644 drivers/firmware/efi/secureboot.c
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index bbe35bf879f5..7e528b6af86b 100644
+index 2441b64d061f..1797623b0c3a 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -1179,19 +1179,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -1126,19 +1126,7 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -156,10 +156,10 @@ index bbe35bf879f5..7e528b6af86b 100644
reserve_initrd();
diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
-index 4ac2de4dfa72..195b078a423c 100644
+index 554d795270d9..d2e17e26ac55 100644
--- a/drivers/firmware/efi/Makefile
+++ b/drivers/firmware/efi/Makefile
-@@ -24,6 +24,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o
+@@ -24,6 +24,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_map.o
obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o
obj-$(CONFIG_EFI_TEST) += test/
obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o
@@ -169,7 +169,7 @@ index 4ac2de4dfa72..195b078a423c 100644
diff --git a/drivers/firmware/efi/secureboot.c b/drivers/firmware/efi/secureboot.c
new file mode 100644
-index 000000000000..9070055de0a1
+index 000000000000..de0a3714a5d4
--- /dev/null
+++ b/drivers/firmware/efi/secureboot.c
@@ -0,0 +1,38 @@
@@ -212,10 +212,10 @@ index 000000000000..9070055de0a1
+ }
+}
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 21d81021c1f4..758ec061d03b 100644
+index 5062683d4d08..6ae0e02f461e 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
-@@ -1204,6 +1204,14 @@ extern int __init efi_setup_pcdp_console(char *);
+@@ -1126,6 +1126,14 @@ extern int __init efi_setup_pcdp_console(char *);
#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? */
#define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */
@@ -230,25 +230,25 @@ index 21d81021c1f4..758ec061d03b 100644
#ifdef CONFIG_EFI
/*
-@@ -1214,6 +1222,8 @@ static inline bool efi_enabled(int feature)
- return test_bit(feature, &efi.flags) != 0;
+@@ -1137,6 +1145,8 @@ static inline bool efi_enabled(int feature)
}
extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused);
-+
-+extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode);
++extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode);
++
bool __pure __efi_soft_reserve_enabled(void);
-@@ -1227,6 +1237,8 @@ efi_capsule_pending(int *reset_type)
- {
+ static inline bool __pure efi_soft_reserve_enabled(void)
+@@ -1158,6 +1168,8 @@ efi_capsule_pending(int *reset_type)
return false;
}
-+
-+static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
++static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
++
static inline bool efi_soft_reserve_enabled(void)
{
-@@ -1619,12 +1631,6 @@ static inline bool efi_runtime_disabled(void) { return true; }
+ return false;
+@@ -1541,12 +1553,6 @@ static inline bool efi_runtime_disabled(void) { return true; }
extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
extern unsigned long efi_call_virt_save_flags(void);
@@ -258,11 +258,11 @@ index 21d81021c1f4..758ec061d03b 100644
- efi_secureboot_mode_disabled,
- efi_secureboot_mode_enabled,
-};
- enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table);
+ enum efi_secureboot_mode efi_get_secureboot(void);
#ifdef CONFIG_RESET_ATTACK_MITIGATION
--
-2.21.0
+2.24.1
From 15368f76d4997912318d35c52bfeb9041d85098e Mon Sep 17 00:00:00 2001
@@ -284,18 +284,18 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com>
2 files changed, 21 insertions(+)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 77ea96b794bd..a119e1bc9623 100644
+index 1797623b0c3a..fa8ac411bf6e 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -73,6 +73,7 @@
- #include <linux/jiffies.h>
- #include <linux/mem_encrypt.h>
- #include <linux/sizes.h>
+@@ -17,6 +17,7 @@
+ #include <linux/root_dev.h>
+ #include <linux/sfi.h>
+ #include <linux/tboot.h>
+#include <linux/security.h>
-
#include <linux/usb/xhci-dbgp.h>
- #include <video/edid.h>
-@@ -1027,6 +1028,13 @@ void __init setup_arch(char **cmdline_p)
+
+ #include <uapi/linux/mount.h>
+@@ -975,6 +976,13 @@ void __init setup_arch(char **cmdline_p)
if (efi_enabled(EFI_BOOT))
efi_init();
@@ -334,4 +334,4 @@ index e84ddf484010..d0501353a4b9 100644
prompt "Kernel default lockdown mode"
default LOCK_DOWN_KERNEL_FORCE_NONE
--
-2.21.0
+2.24.1
diff --git a/filter-aarch64.sh b/filter-aarch64.sh
index 41dc7d19c..7c3441b9d 100644
--- a/filter-aarch64.sh
+++ b/filter-aarch64.sh
@@ -9,7 +9,7 @@
# 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 fpga infiniband isdn leds media memstick message mmc mtd nfc ntb pcmcia power ssb staging tty uio uwb w1"
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick message mmc mtd nfc ntb pcmcia power ssb soundwire 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"
diff --git a/filter-aarch64.sh.fedora b/filter-aarch64.sh.fedora
new file mode 100644
index 000000000..7c3441b9d
--- /dev/null
+++ b/filter-aarch64.sh.fedora
@@ -0,0 +1,18 @@
+#! /bin/bash
+
+# This is the aarch64 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 fpga infiniband isdn leds media memstick message mmc mtd nfc ntb pcmcia power ssb soundwire 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 bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel pl111 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 chtls"
diff --git a/filter-aarch64.sh.rhel b/filter-aarch64.sh.rhel
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/filter-aarch64.sh.rhel
diff --git a/filter-armv7hl.sh b/filter-armv7hl.sh
index 69183432b..566083c1d 100644
--- a/filter-armv7hl.sh
+++ b/filter-armv7hl.sh
@@ -9,7 +9,7 @@
# 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 fpga infiniband isdn media memstick message nfc ntb pcmcia ssb staging tty uio uwb w1"
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn media memstick message nfc ntb pcmcia ssb soundwire 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"
diff --git a/filter-armv7hl.sh.fedora b/filter-armv7hl.sh.fedora
new file mode 100644
index 000000000..566083c1d
--- /dev/null
+++ b/filter-armv7hl.sh.fedora
@@ -0,0 +1,18 @@
+#! /bin/bash
+
+# This is the armv7hl 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 fpga infiniband isdn media memstick message nfc ntb pcmcia ssb soundwire 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 arm armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm nouveau omapdrm panel pl111 radeon rockchip sti stm sun4i sun4i-drm-hdmi tegra tilcdc 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 chtls bq27xxx_battery_hdq"
diff --git a/filter-armv7hl.sh.rhel b/filter-armv7hl.sh.rhel
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/filter-armv7hl.sh.rhel
diff --git a/filter-i686.sh.fedora b/filter-i686.sh.fedora
new file mode 100644
index 000000000..1a13ddf60
--- /dev/null
+++ b/filter-i686.sh.fedora
@@ -0,0 +1,14 @@
+#! /bin/bash
+
+# This is the i686 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 fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire 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 hid-sensor-hub hid-sensor-magn-3d hid-sensor-incl-3d hid-sensor-gyro-3d hid-sensor-iio-common hid-sensor-accel-3d hid-sensor-trigger hid-sensor-als hid-sensor-rotation hid-sensor-temperature hid-sensor-humidity target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial regmap-sdw hid-asus"
diff --git a/filter-i686.sh.rhel b/filter-i686.sh.rhel
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/filter-i686.sh.rhel
diff --git a/filter-modules.sh.fedora b/filter-modules.sh.fedora
new file mode 100755
index 000000000..eb246e157
--- /dev/null
+++ b/filter-modules.sh.fedora
@@ -0,0 +1,153 @@
+#! /bin/bash
+#
+# Called as filter-modules.sh list-of-modules Arch
+
+# This script filters the modules into the kernel-core and kernel-modules
+# subpackages. We list out subsystems/subdirs to prune from the installed
+# module directory. What is left is put into the kernel-core package. What is
+# pruned is contained in the kernel-modules package.
+#
+# This file contains the default subsys/subdirs to prune from all architectures.
+# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
+# that contains the set of override lists to be used instead. If a module or
+# subsys should be in kernel-modules on all arches, please change the defaults
+# listed here.
+
+# Set the default dirs/modules to filter out
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1"
+
+chardrvs="mwave pcmcia"
+
+netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
+
+ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell mellanox neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
+
+inputdrvs="gameport tablet touchscreen"
+
+scsidrvs="aacraid advansys aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf wd719x"
+
+usbdrvs="atm image misc serial wusbcore"
+
+fsdrvs="affs befs coda cramfs dlm ecryptfs hfs hfsplus jfs jffs2 minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
+
+netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
+
+drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon"
+
+iiodrvs="accel adc afe common dac gyro health humidity light magnetometer multiplexer orientation potentiometer potentiostat pressure temperature"
+
+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 chtls parport_serial regmap-sdw hid-asus"
+
+# Grab the arch-specific filter list overrides
+source ./filter-$2.sh
+
+filter_dir() {
+ filelist=$1
+ dir=$2
+
+ grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
+
+ if [ $? -ne 0 ]
+ then
+ echo "Couldn't remove ${dir}. Skipping."
+ else
+ grep -e "${dir}/" ${filelist} >> k-d.list
+ mv ${filelist}.tmp $filelist
+ fi
+
+ return 0
+}
+
+filter_ko() {
+ filelist=$1
+ mod=$2
+
+ grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
+
+ if [ $? -ne 0 ]
+ then
+ echo "Couldn't remove ${mod}.ko Skipping."
+ else
+ grep -e "${mod}.ko" ${filelist} >> k-d.list
+ mv ${filelist}.tmp $filelist
+ fi
+
+ return 0
+}
+
+# Filter the drivers/ subsystems
+for subsys in ${driverdirs}
+do
+ filter_dir $1 drivers/${subsys}
+done
+
+# Filter the networking drivers
+for netdrv in ${netdrvs}
+do
+ filter_dir $1 drivers/net/${netdrv}
+done
+
+# Filter the char drivers
+for char in ${chardrvs}
+do
+ filter_dir $1 drivers/char/${input}
+done
+
+# Filter the ethernet drivers
+for eth in ${ethdrvs}
+do
+ filter_dir $1 drivers/net/ethernet/${eth}
+done
+
+# SCSI
+for scsi in ${scsidrvs}
+do
+ filter_dir $1 drivers/scsi/${scsi}
+done
+
+# Input
+for input in ${inputdrvs}
+do
+ filter_dir $1 drivers/input/${input}
+done
+
+# USB
+for usb in ${usbdrvs}
+do
+ filter_dir $1 drivers/usb/${usb}
+done
+
+# Filesystems
+for fs in ${fsdrvs}
+do
+ filter_dir $1 fs/${fs}
+done
+
+# Network protocols
+for prot in ${netprots}
+do
+ filter_dir $1 kernel/net/${prot}
+done
+
+# DRM
+for drm in ${drmdrvs}
+do
+ filter_dir $1 drivers/gpu/drm/${drm}
+done
+
+# Just kill sound.
+filter_dir $1 kernel/sound
+
+# Now go through and filter any single .ko files that might have deps on the
+# things we filtered above
+for mod in ${singlemods}
+do
+ filter_ko $1 ${mod}
+done
+
+# Go through our generated drivers list and remove the .ko files. We'll
+# restore them later.
+for mod in `cat k-d.list`
+do
+ rm -rf $mod
+done
diff --git a/filter-modules.sh.rhel b/filter-modules.sh.rhel
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/filter-modules.sh.rhel
diff --git a/filter-ppc64le.sh.fedora b/filter-ppc64le.sh.fedora
new file mode 100644
index 000000000..24d3f1346
--- /dev/null
+++ b/filter-ppc64le.sh.fedora
@@ -0,0 +1,14 @@
+#! /bin/bash
+
+# This is the ppc64le 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 fpga infiniband isdn leds media memstick message mmc mtd 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 chtls"
diff --git a/filter-ppc64le.sh.rhel b/filter-ppc64le.sh.rhel
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/filter-ppc64le.sh.rhel
diff --git a/filter-s390x.sh.fedora b/filter-s390x.sh.fedora
new file mode 100644
index 000000000..04f7110ad
--- /dev/null
+++ b/filter-s390x.sh.fedora
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+# This is the s390x 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.
+
+# Defaults work so no need to override
diff --git a/filter-s390x.sh.rhel b/filter-s390x.sh.rhel
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/filter-s390x.sh.rhel
diff --git a/filter-x86_64.sh.fedora b/filter-x86_64.sh.fedora
new file mode 100644
index 000000000..1aa80f2e0
--- /dev/null
+++ b/filter-x86_64.sh.fedora
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+# This is the x86_64 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.
+
+# Defaults work so no need to override
diff --git a/filter-x86_64.sh.rhel b/filter-x86_64.sh.rhel
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/filter-x86_64.sh.rhel
diff --git a/generate_all_configs.sh b/generate_all_configs.sh
index dde72eaff..14f0f3a24 100755
--- a/generate_all_configs.sh
+++ b/generate_all_configs.sh
@@ -1,6 +1,36 @@
#!/bin/sh
-for i in kernel-*.config; do
- NEW=kernel-$VERSION-`echo $i | cut -d - -f2-`
+# Adjusts the configuration options to build the variants correctly
+#
+# arg1: configuration to go in the primary variant
+# arg2: are we only generating debug configs
+
+
+PRIMARY=$1
+DEBUGBUILDSENABLED=$2
+
+if [ -z $2 ]; then
+ exit 1
+fi
+
+if [ $PRIMARY == "fedora" ]; then
+ SECONDARY=rhel
+else
+ SECONDARY=fedora
+fi
+
+for i in kernel-*-$PRIMARY.config; do
+ NEW=kernel-$VERSION-`echo $i | cut -d - -f2- | sed s/-$PRIMARY//`
+ #echo $NEW
mv $i $NEW
done
+
+rm kernel-*-$SECONDARY.config
+
+if [ $DEBUGBUILDSENABLED -eq 0 ]; then
+ for i in kernel-*debug*.config; do
+ base=`echo $i | sed -r s/-?debug//g`
+ NEW=kernel-`echo $base | cut -d - -f2-`
+ mv $i $NEW
+ done
+fi
diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config
index 195e408fc..0a2eab1f2 100644
--- a/kernel-aarch64-debug-fedora.config
+++ b/kernel-aarch64-debug-fedora.config
@@ -96,6 +96,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -256,6 +257,7 @@ CONFIG_ARCH_MXC=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
CONFIG_ARCH_QCOM=y
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RDA is not set
# CONFIG_ARCH_REALTEK is not set
# CONFIG_ARCH_RENESAS is not set
@@ -288,12 +290,14 @@ CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
CONFIG_ARM64_CNP=y
CONFIG_ARM64_CRYPTO=y
+CONFIG_ARM64_E0PD=y
CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_1165522=y
CONFIG_ARM64_ERRATUM_1286807=y
CONFIG_ARM64_ERRATUM_1319367=y
CONFIG_ARM64_ERRATUM_1418040=y
CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1530923=y
CONFIG_ARM64_ERRATUM_1542419=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y
@@ -319,6 +323,7 @@ CONFIG_ARM64_SVE=y
CONFIG_ARM64_SW_TTBR0_PAN=y
CONFIG_ARM64_TAGGED_ADDR_ABI=y
CONFIG_ARM64_UAO=y
+CONFIG_ARM64_USE_LSE_ATOMICS=y
# CONFIG_ARM64_VA_BITS_39 is not set
CONFIG_ARM64_VA_BITS=48
CONFIG_ARM64_VA_BITS_48=y
@@ -354,6 +359,7 @@ CONFIG_ARM_GIC_V3=y
CONFIG_ARM_GIC=y
CONFIG_ARM_GLOBAL_TIMER=y
# CONFIG_ARM_IMX6Q_CPUFREQ is not set
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
CONFIG_ARM_IMX_CPUFREQ_DT=m
CONFIG_ARM_MHU=m
CONFIG_ARM_PL172_MPMC=m
@@ -376,6 +382,7 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SDE_INTERFACE=y
CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
CONFIG_ARM_SMMU_V3_PMU=m
CONFIG_ARM_SMMU_V3=y
CONFIG_ARM_SMMU=y
@@ -413,6 +420,7 @@ CONFIG_ATH10K_SNOC=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -520,6 +528,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -568,6 +577,7 @@ CONFIG_BCM2835_THERMAL=m
CONFIG_BCM2835_VCHIQ=m
CONFIG_BCM2835_WDT=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -648,6 +658,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
CONFIG_BMA180=m
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -667,12 +678,14 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -835,11 +848,10 @@ CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -957,9 +969,11 @@ CONFIG_CLKDEV_LOOKUP=y
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
+# CONFIG_CLK_IMX8MP is not set
CONFIG_CLK_IMX8MQ=y
CONFIG_CLK_IMX8QXP=y
-# CONFIG_CLK_QORIQ is not set
+CONFIG_CLK_LS1028A_PLLDIG=y
+CONFIG_CLK_QORIQ=y
CONFIG_CLK_RASPBERRYPI=y
# CONFIG_CLK_SIFIVE is not set
CONFIG_CLK_SP810=y
@@ -1000,6 +1014,7 @@ CONFIG_COMMON_CLK_BD718XX=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_HI3516CV300 is not set
CONFIG_COMMON_CLK_HI3519=m
CONFIG_COMMON_CLK_HI3660=y
@@ -1062,6 +1077,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
@@ -1183,6 +1199,9 @@ CONFIG_CRYPTO_DEV_HISI_SEC2=m
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
@@ -1395,12 +1414,14 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
CONFIG_DMA_BCM2835=m
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1418,7 +1439,7 @@ CONFIG_DMA_SUN6I=m
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1472,6 +1493,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m
# CONFIG_DRM_ARCPGU is not set
@@ -1482,7 +1504,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_DW_HDMI_CEC=m
@@ -1511,7 +1533,7 @@ CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-CONFIG_DRM_LVDS_ENCODER=m
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MCDE is not set
@@ -1536,6 +1558,7 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
@@ -1543,6 +1566,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
@@ -1570,11 +1594,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
@@ -1753,6 +1780,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1786,9 +1814,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1817,6 +1845,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -2045,11 +2076,6 @@ CONFIG_GENEVE=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIANFAR=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -2075,6 +2101,7 @@ CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -2100,6 +2127,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_SYSCON=m
# CONFIG_GPIO_SYSFS is not set
@@ -2258,6 +2286,7 @@ CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
+CONFIG_HISI_DMA=m
CONFIG_HISILICON_ERRATUM_161010101=y
CONFIG_HISILICON_ERRATUM_161600802=y
CONFIG_HISILICON_IRQ_MBIGEN=y
@@ -2305,6 +2334,7 @@ CONFIG_HW_RANDOM_CAVIUM=m
CONFIG_HW_RANDOM_HISI=m
CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
+CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_OPTEE=m
@@ -2316,8 +2346,6 @@ CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_QCOM=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ=100
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
@@ -2382,7 +2410,6 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2514,7 +2541,7 @@ CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
# CONFIG_IMX_DMA is not set
-CONFIG_IMX_DSP=y
+CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IPUV3_CORE is not set
@@ -2537,6 +2564,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2573,6 +2601,13 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2650,6 +2685,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
CONFIG_INTERCONNECT=m
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
CONFIG_INTERCONNECT_QCOM_SDM845=m
@@ -2737,6 +2773,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_IP_PNP is not set
# CONFIG_IPQ_GCC_4019 is not set
+# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
# CONFIG_IPQ_GCC_8074 is not set
# CONFIG_IPQ_LCC_806X is not set
@@ -3014,6 +3051,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -3187,6 +3225,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3419,6 +3458,7 @@ CONFIG_MFD_MAX77686=y
CONFIG_MFD_RK808=y
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
CONFIG_MFD_ROHM_BD718XX=y
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -3456,6 +3496,7 @@ CONFIG_MFD_TPS68470=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3467,6 +3508,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3622,6 +3664,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3642,6 +3687,7 @@ CONFIG_MSM_GPUCC_8998=m
CONFIG_MSM_MMCC_8960=m
CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3666,7 +3712,9 @@ CONFIG_MTD_CFI=m
CONFIG_MTD_CFI_STAA=m
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_DATAFLASH is not set
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_DATAFLASH_OTP=y
+CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
# CONFIG_MTD_DOCG3 is not set
# CONFIG_MTD_HYPERBUS is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
@@ -3688,7 +3736,7 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
+CONFIG_MTD_NAND_FSL_IFC=m
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND_MARVELL=m
@@ -3708,8 +3756,11 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PARTITIONED_MASTER is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_PHYSMAP_GEMINI is not set
+# CONFIG_MTD_PHYSMAP_IXP4XX is not set
CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_OF is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PHYSMAP_VERSATILE is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_RAM is not set
@@ -3721,7 +3772,7 @@ CONFIG_MTD_RAW_NAND=m
CONFIG_MTD_SPI_NAND=m
CONFIG_MTD_SPI_NOR=m
# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-# CONFIG_MTD_SST25L is not set
+CONFIG_MTD_SST25L=m
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_UBI_BEB_LIMIT=20
@@ -3815,6 +3866,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3823,7 +3875,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
-# CONFIG_NET_DSA_MSCC_FELIX is not set
+CONFIG_NET_DSA_MSCC_FELIX=m
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3835,6 +3887,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3974,8 +4027,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -4159,11 +4214,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4311,6 +4368,7 @@ CONFIG_NVMEM_IMX_OCOTP=m
CONFIG_NVMEM_IMX_OCOTP_SCU=m
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
+CONFIG_NVMEM_SPMI_SDAM=m
CONFIG_NVMEM_STM32_ROMEM=m
CONFIG_NVMEM_SUNXI_SID=m
CONFIG_NVMEM_SYSFS=y
@@ -4335,6 +4393,7 @@ CONFIG_OCFS2_FS_O2CB=m
# CONFIG_OCFS2_FS_STATS is not set
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCTEONTX2_AF=m
+CONFIG_OCTEONTX2_PF=m
CONFIG_OF_ADDRESS=y
CONFIG_OF_DYNAMIC=y
CONFIG_OF_EARLY_FLATTREE=y
@@ -4544,6 +4603,7 @@ CONFIG_PHY_HI3660_USB=m
CONFIG_PHY_HI6220_USB=m
CONFIG_PHY_HISI_INNO_USB2=m
CONFIG_PHY_HISTB_COMBPHY=m
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4570,6 +4630,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
@@ -4605,6 +4666,7 @@ CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX8MM=y
CONFIG_PINCTRL_IMX8MN=y
+# CONFIG_PINCTRL_IMX8MP is not set
CONFIG_PINCTRL_IMX8MQ=y
CONFIG_PINCTRL_IMX8QM=y
CONFIG_PINCTRL_IMX8QXP=y
@@ -4664,6 +4726,7 @@ CONFIG_PINCTRL_SUN50I_H6=y
# CONFIG_PINCTRL_SUN9I_A80_R is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -4674,6 +4737,7 @@ CONFIG_PL353_SMC=m
CONFIG_PLATFORM_MHU=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM8916_WATCHDOG=m
CONFIG_PM_ADVANCED_DEBUG=y
@@ -4783,7 +4847,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4819,6 +4885,7 @@ CONFIG_QCOM_CLK_RPMH=y
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_COMMAND_DB=y
+CONFIG_QCOM_CPR=m
# CONFIG_QCOM_EBI2 is not set
CONFIG_QCOM_EMAC=m
# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
@@ -4850,11 +4917,12 @@ CONFIG_QCOM_RMTFS_MEM=m
CONFIG_QCOM_RPMHPD=y
CONFIG_QCOM_RPMH=y
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
+CONFIG_QCOM_SCM=y
CONFIG_QCOM_SMD_RPM=m
CONFIG_QCOM_SMEM=m
CONFIG_QCOM_SMP2P=m
CONFIG_QCOM_SMSM=m
-# CONFIG_QCOM_SOCINFO is not set
+CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCOM_SPMI_IADC=m
CONFIG_QCOM_SPMI_TEMP_ALARM=m
@@ -4882,13 +4950,14 @@ CONFIG_QLCNIC_SRIOV=y
CONFIG_QLGE=m
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
-# CONFIG_QORIQ_CPUFREQ is not set
+CONFIG_QORIQ_CPUFREQ=m
CONFIG_QORIQ_THERMAL=m
CONFIG_QRTR=m
CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -5003,6 +5072,8 @@ CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_MAX8973=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP8859=m
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88060 is not set
@@ -5028,6 +5099,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m
CONFIG_REGULATOR_VCTRL=m
CONFIG_REGULATOR_VEXPRESS=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
@@ -5041,9 +5113,11 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_HISI=y
CONFIG_RESET_IMX7=y
+# CONFIG_RESET_INTEL_GW is not set
CONFIG_RESET_MESON_AUDIO_ARB=m
CONFIG_RESET_QCOM_AOSS=y
CONFIG_RESET_QCOM_PDC=m
@@ -5074,7 +5148,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5202,7 +5276,7 @@ CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
CONFIG_RTC_DRV_PCF8523=m
-# CONFIG_RTC_DRV_PCF85363 is not set
+CONFIG_RTC_DRV_PCF85363=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
# CONFIG_RTC_DRV_PL030 is not set
@@ -5306,7 +5380,9 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
# CONFIG_SC_GCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5418,6 +5494,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SDM_CAMCC_845=m
@@ -5446,6 +5523,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -5463,6 +5542,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -5484,6 +5564,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5558,8 +5639,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5631,8 +5714,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
CONFIG_SENSORS_XGENE=m
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_SERIAL_8250_CONSOLE=y
@@ -5651,6 +5736,7 @@ CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_TEGRA=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
@@ -5799,6 +5885,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5859,7 +5946,7 @@ CONFIG_SND_HRTIMER=m
CONFIG_SND_I2S_HI6210_I2S=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
-# CONFIG_SND_IMX_SOC is not set
+CONFIG_SND_IMX_SOC=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_INDIGOIO=m
@@ -5989,8 +6076,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ICS43432=m
# CONFIG_SND_SOC_IMG is not set
CONFIG_SND_SOC_IMX_AUDMIX=m
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SOC_IMX_AUDMUX=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
+CONFIG_SND_SOC_IMX_SGTL5000=m
+CONFIG_SND_SOC_IMX_SPDIF=m
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX9759=m
@@ -6006,6 +6095,7 @@ CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
CONFIG_SND_SOC_MSM8996=m
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -6038,12 +6128,16 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
CONFIG_SND_SOC_RT5663=m
CONFIG_SND_SOC_RT5677=m
CONFIG_SND_SOC_RT5677_SPI=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
CONFIG_SND_SOC_SDM845=m
CONFIG_SND_SOC_SGTL5000=m
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
@@ -6123,10 +6217,11 @@ CONFIG_SND_SOC_WM8804_SPI=m
# CONFIG_SND_SOC_WM8903 is not set
# CONFIG_SND_SOC_WM8904 is not set
CONFIG_SND_SOC_WM8960=m
-# CONFIG_SND_SOC_WM8962 is not set
+CONFIG_SND_SOC_WM8962=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m
CONFIG_SND_SOC_XILINX_I2S=m
CONFIG_SND_SOC_XILINX_SPDIF=m
@@ -6179,6 +6274,7 @@ CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
# CONFIG_SOUNDWIRE_INTEL is not set
+CONFIG_SOUNDWIRE_QCOM=m
CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_MANUAL=y
@@ -6205,6 +6301,7 @@ CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
CONFIG_SPI_GPIO=m
CONFIG_SPI_HISI_SFC=m
+# CONFIG_SPI_HISI_SFC_V3XX is not set
CONFIG_SPI_IMX=m
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -6219,7 +6316,7 @@ CONFIG_SPI_MESON_SPIFC=m
CONFIG_SPI_ORION=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
-# CONFIG_SPI_QCOM_GENI is not set
+CONFIG_SPI_QCOM_GENI=m
CONFIG_SPI_QCOM_QSPI=m
CONFIG_SPI_QUP=m
CONFIG_SPI_ROCKCHIP=m
@@ -6278,6 +6375,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -6297,6 +6395,7 @@ CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_STUB_CLK_HI3660=y
@@ -6314,6 +6413,7 @@ CONFIG_SUN50I_H6_R_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R_CCU=y
+CONFIG_SUN8I_THERMAL=m
# CONFIG_SUN8I_V3S_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
@@ -6341,6 +6441,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -6484,7 +6585,6 @@ CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
CONFIG_THUNDER_NIC_BGX=m
CONFIG_THUNDER_NIC_PF=m
CONFIG_THUNDER_NIC_RGX=m
@@ -7205,6 +7305,7 @@ CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_QCOM_CAMSS=m
CONFIG_VIDEO_QCOM_VENUS=m
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
CONFIG_VIDEO_ROCKCHIP_RGA=m
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
@@ -7244,7 +7345,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -7276,6 +7376,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -7343,6 +7444,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -7439,6 +7542,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-aarch64-debug-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config
index 07ab4e405..7532f0f4b 100644
--- a/kernel-aarch64-fedora.config
+++ b/kernel-aarch64-fedora.config
@@ -96,6 +96,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -256,6 +257,7 @@ CONFIG_ARCH_MXC=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
CONFIG_ARCH_QCOM=y
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RDA is not set
# CONFIG_ARCH_REALTEK is not set
# CONFIG_ARCH_RENESAS is not set
@@ -288,12 +290,14 @@ CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
CONFIG_ARM64_CNP=y
CONFIG_ARM64_CRYPTO=y
+CONFIG_ARM64_E0PD=y
CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_1165522=y
CONFIG_ARM64_ERRATUM_1286807=y
CONFIG_ARM64_ERRATUM_1319367=y
CONFIG_ARM64_ERRATUM_1418040=y
CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1530923=y
CONFIG_ARM64_ERRATUM_1542419=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y
@@ -319,6 +323,7 @@ CONFIG_ARM64_SVE=y
CONFIG_ARM64_SW_TTBR0_PAN=y
CONFIG_ARM64_TAGGED_ADDR_ABI=y
CONFIG_ARM64_UAO=y
+CONFIG_ARM64_USE_LSE_ATOMICS=y
# CONFIG_ARM64_VA_BITS_39 is not set
CONFIG_ARM64_VA_BITS=48
CONFIG_ARM64_VA_BITS_48=y
@@ -354,6 +359,7 @@ CONFIG_ARM_GIC_V3=y
CONFIG_ARM_GIC=y
CONFIG_ARM_GLOBAL_TIMER=y
# CONFIG_ARM_IMX6Q_CPUFREQ is not set
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
CONFIG_ARM_IMX_CPUFREQ_DT=m
CONFIG_ARM_MHU=m
CONFIG_ARM_PL172_MPMC=m
@@ -376,6 +382,7 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SDE_INTERFACE=y
CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
CONFIG_ARM_SMMU_V3_PMU=m
CONFIG_ARM_SMMU_V3=y
CONFIG_ARM_SMMU=y
@@ -413,6 +420,7 @@ CONFIG_ATH10K_SNOC=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -520,6 +528,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -568,6 +577,7 @@ CONFIG_BCM2835_THERMAL=m
CONFIG_BCM2835_VCHIQ=m
CONFIG_BCM2835_WDT=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -648,6 +658,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
CONFIG_BMA180=m
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -667,12 +678,14 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -835,11 +848,10 @@ CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -957,9 +969,11 @@ CONFIG_CLKDEV_LOOKUP=y
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
+# CONFIG_CLK_IMX8MP is not set
CONFIG_CLK_IMX8MQ=y
CONFIG_CLK_IMX8QXP=y
-# CONFIG_CLK_QORIQ is not set
+CONFIG_CLK_LS1028A_PLLDIG=y
+CONFIG_CLK_QORIQ=y
CONFIG_CLK_RASPBERRYPI=y
# CONFIG_CLK_SIFIVE is not set
CONFIG_CLK_SP810=y
@@ -1000,6 +1014,7 @@ CONFIG_COMMON_CLK_BD718XX=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_HI3516CV300 is not set
CONFIG_COMMON_CLK_HI3519=m
CONFIG_COMMON_CLK_HI3660=y
@@ -1062,6 +1077,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
@@ -1183,6 +1199,9 @@ CONFIG_CRYPTO_DEV_HISI_SEC2=m
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
@@ -1388,12 +1407,14 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_BCM2835=m
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1410,7 +1431,7 @@ CONFIG_DMA_SUN6I=m
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1464,6 +1485,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m
# CONFIG_DRM_ARCPGU is not set
@@ -1474,7 +1496,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_DW_HDMI_CEC=m
@@ -1503,7 +1525,7 @@ CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-CONFIG_DRM_LVDS_ENCODER=m
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MCDE is not set
@@ -1528,6 +1550,7 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
@@ -1535,6 +1558,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
@@ -1562,11 +1586,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
@@ -1745,6 +1772,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1778,9 +1806,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1809,6 +1837,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -2029,11 +2060,6 @@ CONFIG_GENEVE=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
CONFIG_GIANFAR=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -2059,6 +2085,7 @@ CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -2084,6 +2111,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_SYSCON=m
# CONFIG_GPIO_SYSFS is not set
@@ -2242,6 +2270,7 @@ CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
+CONFIG_HISI_DMA=m
CONFIG_HISILICON_ERRATUM_161010101=y
CONFIG_HISILICON_ERRATUM_161600802=y
CONFIG_HISILICON_IRQ_MBIGEN=y
@@ -2289,6 +2318,7 @@ CONFIG_HW_RANDOM_CAVIUM=m
CONFIG_HW_RANDOM_HISI=m
CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
+CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_OPTEE=m
@@ -2300,8 +2330,6 @@ CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK_QCOM=m
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ=100
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
@@ -2366,7 +2394,6 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2498,7 +2525,7 @@ CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
# CONFIG_IMX_DMA is not set
-CONFIG_IMX_DSP=y
+CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IPUV3_CORE is not set
@@ -2521,6 +2548,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2557,6 +2585,13 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2634,6 +2669,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
CONFIG_INTERCONNECT=m
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
CONFIG_INTERCONNECT_QCOM_SDM845=m
@@ -2721,6 +2757,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_IP_PNP is not set
# CONFIG_IPQ_GCC_4019 is not set
+# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
# CONFIG_IPQ_GCC_8074 is not set
# CONFIG_IPQ_LCC_806X is not set
@@ -2996,6 +3033,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -3169,6 +3207,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3400,6 +3439,7 @@ CONFIG_MFD_MAX77686=y
CONFIG_MFD_RK808=y
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
CONFIG_MFD_ROHM_BD718XX=y
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -3437,6 +3477,7 @@ CONFIG_MFD_TPS68470=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3448,6 +3489,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3602,6 +3644,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3622,6 +3667,7 @@ CONFIG_MSM_GPUCC_8998=m
CONFIG_MSM_MMCC_8960=m
CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3646,7 +3692,9 @@ CONFIG_MTD_CFI=m
CONFIG_MTD_CFI_STAA=m
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_DATAFLASH is not set
+CONFIG_MTD_DATAFLASH=m
+CONFIG_MTD_DATAFLASH_OTP=y
+CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
# CONFIG_MTD_DOCG3 is not set
# CONFIG_MTD_HYPERBUS is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
@@ -3668,7 +3716,7 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
+CONFIG_MTD_NAND_FSL_IFC=m
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND_MARVELL=m
@@ -3688,8 +3736,11 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PARTITIONED_MASTER is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_PHYSMAP_GEMINI is not set
+# CONFIG_MTD_PHYSMAP_IXP4XX is not set
CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_OF is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PHYSMAP_VERSATILE is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_RAM is not set
@@ -3701,7 +3752,7 @@ CONFIG_MTD_RAW_NAND=m
CONFIG_MTD_SPI_NAND=m
CONFIG_MTD_SPI_NOR=m
# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
-# CONFIG_MTD_SST25L is not set
+CONFIG_MTD_SST25L=m
# CONFIG_MTD_SWAP is not set
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_UBI_BEB_LIMIT=20
@@ -3795,6 +3846,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3803,7 +3855,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
-# CONFIG_NET_DSA_MSCC_FELIX is not set
+CONFIG_NET_DSA_MSCC_FELIX=m
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3815,6 +3867,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3954,8 +4007,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -4139,11 +4194,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4291,6 +4348,7 @@ CONFIG_NVMEM_IMX_OCOTP=m
CONFIG_NVMEM_IMX_OCOTP_SCU=m
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
+CONFIG_NVMEM_SPMI_SDAM=m
CONFIG_NVMEM_STM32_ROMEM=m
CONFIG_NVMEM_SUNXI_SID=m
CONFIG_NVMEM_SYSFS=y
@@ -4315,6 +4373,7 @@ CONFIG_OCFS2_FS_O2CB=m
# CONFIG_OCFS2_FS_STATS is not set
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCTEONTX2_AF=m
+CONFIG_OCTEONTX2_PF=m
CONFIG_OF_ADDRESS=y
CONFIG_OF_DYNAMIC=y
CONFIG_OF_EARLY_FLATTREE=y
@@ -4524,6 +4583,7 @@ CONFIG_PHY_HI3660_USB=m
CONFIG_PHY_HI6220_USB=m
CONFIG_PHY_HISI_INNO_USB2=m
CONFIG_PHY_HISTB_COMBPHY=m
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4550,6 +4610,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
@@ -4585,6 +4646,7 @@ CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX8MM=y
CONFIG_PINCTRL_IMX8MN=y
+# CONFIG_PINCTRL_IMX8MP is not set
CONFIG_PINCTRL_IMX8MQ=y
CONFIG_PINCTRL_IMX8QM=y
CONFIG_PINCTRL_IMX8QXP=y
@@ -4644,6 +4706,7 @@ CONFIG_PINCTRL_SUN50I_H6=y
# CONFIG_PINCTRL_SUN9I_A80_R is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -4654,6 +4717,7 @@ CONFIG_PL353_SMC=m
CONFIG_PLATFORM_MHU=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM8916_WATCHDOG=m
# CONFIG_PM_ADVANCED_DEBUG is not set
@@ -4762,7 +4826,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4798,6 +4864,7 @@ CONFIG_QCOM_CLK_RPMH=y
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_COMMAND_DB=y
+CONFIG_QCOM_CPR=m
# CONFIG_QCOM_EBI2 is not set
CONFIG_QCOM_EMAC=m
# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
@@ -4829,11 +4896,12 @@ CONFIG_QCOM_RMTFS_MEM=m
CONFIG_QCOM_RPMHPD=y
CONFIG_QCOM_RPMH=y
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
+CONFIG_QCOM_SCM=y
CONFIG_QCOM_SMD_RPM=m
CONFIG_QCOM_SMEM=m
CONFIG_QCOM_SMP2P=m
CONFIG_QCOM_SMSM=m
-# CONFIG_QCOM_SOCINFO is not set
+CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCOM_SPMI_IADC=m
CONFIG_QCOM_SPMI_TEMP_ALARM=m
@@ -4861,13 +4929,14 @@ CONFIG_QLCNIC_SRIOV=y
CONFIG_QLGE=m
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
-# CONFIG_QORIQ_CPUFREQ is not set
+CONFIG_QORIQ_CPUFREQ=m
CONFIG_QORIQ_THERMAL=m
CONFIG_QRTR=m
CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -4982,6 +5051,8 @@ CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_MAX8973=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP8859=m
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88060 is not set
@@ -5007,6 +5078,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m
CONFIG_REGULATOR_VCTRL=m
CONFIG_REGULATOR_VEXPRESS=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
@@ -5020,9 +5092,11 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_HISI=y
CONFIG_RESET_IMX7=y
+# CONFIG_RESET_INTEL_GW is not set
CONFIG_RESET_MESON_AUDIO_ARB=m
CONFIG_RESET_QCOM_AOSS=y
CONFIG_RESET_QCOM_PDC=m
@@ -5053,7 +5127,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5181,7 +5255,7 @@ CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
CONFIG_RTC_DRV_PCF8523=m
-# CONFIG_RTC_DRV_PCF85363 is not set
+CONFIG_RTC_DRV_PCF85363=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
# CONFIG_RTC_DRV_PL030 is not set
@@ -5285,7 +5359,9 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
# CONFIG_SC_GCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5397,6 +5473,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
CONFIG_SDM_CAMCC_845=m
@@ -5425,6 +5502,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -5442,6 +5521,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -5463,6 +5543,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5537,8 +5618,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5610,8 +5693,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
CONFIG_SENSORS_XGENE=m
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_SERIAL_8250_CONSOLE=y
@@ -5630,6 +5715,7 @@ CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_TEGRA=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
@@ -5778,6 +5864,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5838,7 +5925,7 @@ CONFIG_SND_HRTIMER=m
CONFIG_SND_I2S_HI6210_I2S=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
-# CONFIG_SND_IMX_SOC is not set
+CONFIG_SND_IMX_SOC=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_INDIGOIO=m
@@ -5967,8 +6054,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ICS43432=m
# CONFIG_SND_SOC_IMG is not set
CONFIG_SND_SOC_IMX_AUDMIX=m
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SOC_IMX_AUDMUX=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
+CONFIG_SND_SOC_IMX_SGTL5000=m
+CONFIG_SND_SOC_IMX_SPDIF=m
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX9759=m
@@ -5984,6 +6073,7 @@ CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
CONFIG_SND_SOC_MSM8996=m
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -6016,12 +6106,16 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
CONFIG_SND_SOC_RT5663=m
CONFIG_SND_SOC_RT5677=m
CONFIG_SND_SOC_RT5677_SPI=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
CONFIG_SND_SOC_SDM845=m
CONFIG_SND_SOC_SGTL5000=m
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
@@ -6101,10 +6195,11 @@ CONFIG_SND_SOC_WM8804_SPI=m
# CONFIG_SND_SOC_WM8903 is not set
# CONFIG_SND_SOC_WM8904 is not set
CONFIG_SND_SOC_WM8960=m
-# CONFIG_SND_SOC_WM8962 is not set
+CONFIG_SND_SOC_WM8962=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m
CONFIG_SND_SOC_XILINX_I2S=m
CONFIG_SND_SOC_XILINX_SPDIF=m
@@ -6157,6 +6252,7 @@ CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
# CONFIG_SOUNDWIRE_INTEL is not set
+CONFIG_SOUNDWIRE_QCOM=m
CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_MANUAL=y
@@ -6183,6 +6279,7 @@ CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
CONFIG_SPI_GPIO=m
CONFIG_SPI_HISI_SFC=m
+# CONFIG_SPI_HISI_SFC_V3XX is not set
CONFIG_SPI_IMX=m
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -6197,7 +6294,7 @@ CONFIG_SPI_MESON_SPIFC=m
CONFIG_SPI_ORION=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
-# CONFIG_SPI_QCOM_GENI is not set
+CONFIG_SPI_QCOM_GENI=m
CONFIG_SPI_QCOM_QSPI=m
CONFIG_SPI_QUP=m
CONFIG_SPI_ROCKCHIP=m
@@ -6256,6 +6353,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -6275,6 +6373,7 @@ CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_STUB_CLK_HI3660=y
@@ -6292,6 +6391,7 @@ CONFIG_SUN50I_H6_R_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R_CCU=y
+CONFIG_SUN8I_THERMAL=m
# CONFIG_SUN8I_V3S_CCU is not set
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
@@ -6319,6 +6419,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -6462,7 +6563,6 @@ CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
CONFIG_THUNDER_NIC_BGX=m
CONFIG_THUNDER_NIC_PF=m
CONFIG_THUNDER_NIC_RGX=m
@@ -7183,6 +7283,7 @@ CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_QCOM_CAMSS=m
CONFIG_VIDEO_QCOM_VENUS=m
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
CONFIG_VIDEO_ROCKCHIP_RGA=m
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
@@ -7222,7 +7323,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -7254,6 +7354,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -7321,6 +7422,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -7360,7 +7463,6 @@ CONFIG_WLCORE_SPI=m
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_MCELOG_LEGACY=y
-# CONFIG_X86_PTDUMP is not set
CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
@@ -7417,6 +7519,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-aarch64-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-armv7hl-debug-fedora.config b/kernel-armv7hl-debug-fedora.config
index 76d39eeab..908fe1217 100644
--- a/kernel-armv7hl-debug-fedora.config
+++ b/kernel-armv7hl-debug-fedora.config
@@ -67,6 +67,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -248,6 +249,7 @@ CONFIG_ARCH_OMAP3=y
CONFIG_ARCH_OMAP4=y
# CONFIG_ARCH_PXA is not set
CONFIG_ARCH_QCOM=y
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RDA is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_RENESAS is not set
@@ -338,6 +340,7 @@ CONFIG_ARM_GLOBAL_TIMER=y
CONFIG_ARM_HIGHBANK_CPUFREQ=m
# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
CONFIG_ARM_IMX6Q_CPUFREQ=m
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
# CONFIG_ARM_IMX_CPUFREQ_DT is not set
CONFIG_ARM_KPROBES_TEST=m
# CONFIG_ARM_LPAE is not set
@@ -363,6 +366,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m
CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_SPE_PMU=m
@@ -407,6 +411,7 @@ CONFIG_ATH10K_SNOC=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -518,6 +523,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_DA9052=m
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -572,6 +578,7 @@ CONFIG_BCM2835_THERMAL=m
CONFIG_BCM2835_VCHIQ=m
CONFIG_BCM2835_WDT=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -653,6 +660,7 @@ CONFIG_BLK_WBT=y
CONFIG_BL_SWITCHER=y
CONFIG_BMA180=m
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -672,11 +680,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -842,11 +852,10 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -999,6 +1008,7 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
CONFIG_COMMON_CLK_MMP2=y
@@ -1052,6 +1062,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
@@ -1165,10 +1176,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
CONFIG_CRYPTO_DEV_MXS_DCP=m
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
-# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+CONFIG_CRYPTO_DEV_OMAP_AES=m
CONFIG_CRYPTO_DEV_OMAP_DES=m
CONFIG_CRYPTO_DEV_OMAP=m
CONFIG_CRYPTO_DEV_OMAP_SHAM=m
+CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
@@ -1387,6 +1401,7 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
# CONFIG_DM9000 is not set
@@ -1394,6 +1409,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
CONFIG_DMA_BCM2835=m
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1412,7 +1428,7 @@ CONFIG_DMA_SUN6I=m
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1467,6 +1483,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m
# CONFIG_DRM_ARCPGU is not set
@@ -1477,7 +1494,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_DW_HDMI_CEC=m
@@ -1526,7 +1543,7 @@ CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-CONFIG_DRM_LVDS_ENCODER=m
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MCDE is not set
@@ -1557,6 +1574,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m
CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
@@ -1564,6 +1582,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
@@ -1591,11 +1610,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
@@ -1780,6 +1802,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1813,9 +1836,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1852,6 +1875,9 @@ CONFIG_EXYNOS_THERMAL=y
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -2057,11 +2083,6 @@ CONFIG_GENEVE=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
# CONFIG_GIANFAR is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -2089,6 +2110,7 @@ CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -2114,6 +2136,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_SYSCON=m
# CONFIG_GPIO_SYSFS is not set
@@ -2317,6 +2340,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
+CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP3_ROM=m
CONFIG_HW_RANDOM_OMAP=m
@@ -2332,8 +2356,6 @@ CONFIG_HWSPINLOCK_QCOM=m
# CONFIG_HWSPINLOCK_STM32 is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2398,7 +2420,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2530,7 +2551,7 @@ CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
# CONFIG_IMX_DMA is not set
-CONFIG_IMX_DSP=y
+CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
CONFIG_IMX_GPCV2=y
CONFIG_IMX_IPUV3_CORE=m
@@ -2542,7 +2563,7 @@ CONFIG_IMX_SC_WDT=m
CONFIG_IMX_SDMA=m
CONFIG_IMX_THERMAL=m
CONFIG_IMX_WEIM=y
-# CONFIG_INA2XX_ADC is not set
+CONFIG_INA2XX_ADC=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
@@ -2550,6 +2571,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2586,6 +2608,13 @@ CONFIG_INFINIBAND_QEDR=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2674,6 +2703,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
@@ -2759,6 +2789,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_IP_PNP is not set
# CONFIG_IPQ_GCC_4019 is not set
+# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
# CONFIG_IPQ_GCC_8074 is not set
# CONFIG_IPQ_LCC_806X is not set
@@ -3039,6 +3070,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -3215,6 +3247,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3467,6 +3500,7 @@ CONFIG_MFD_QCOM_RPM=m
CONFIG_MFD_RK808=y
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
CONFIG_MFD_SEC_CORE=y
@@ -3508,6 +3542,7 @@ CONFIG_MFD_TPS80031=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3519,6 +3554,7 @@ CONFIG_MFD_WM8994=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3681,6 +3717,9 @@ CONFIG_MPL115_I2C=m
CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3702,6 +3741,7 @@ CONFIG_MSM_GCC_8996=y
CONFIG_MSM_MMCC_8960=m
CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3750,7 +3790,6 @@ CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
CONFIG_MTD_NAND_GPIO=m
CONFIG_MTD_NAND_GPMI_NAND=m
# CONFIG_MTD_NAND_HISI504 is not set
@@ -3775,8 +3814,11 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PARTITIONED_MASTER is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_PHYSMAP_GEMINI is not set
+# CONFIG_MTD_PHYSMAP_IXP4XX is not set
CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_OF is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PHYSMAP_VERSATILE is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_RAM is not set
@@ -3882,6 +3924,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3902,6 +3945,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -4040,8 +4084,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -4224,11 +4270,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4373,6 +4421,7 @@ CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SNVS_LPGPR=m
+CONFIG_NVMEM_SPMI_SDAM=m
CONFIG_NVMEM_STM32_ROMEM=m
CONFIG_NVMEM_SUNXI_SID=m
CONFIG_NVMEM_SYSFS=y
@@ -4634,6 +4683,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4663,6 +4713,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
@@ -4752,6 +4803,7 @@ CONFIG_PINCTRL_SUN9I_A80=y
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
CONFIG_PINCTRL_ZYNQ=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PJ4B_ERRATA_4742=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4768,6 +4820,7 @@ CONFIG_PLATFORM_MHU=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM8916_WATCHDOG=m
CONFIG_PM_ADVANCED_DEBUG=y
@@ -4877,7 +4930,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4921,6 +4976,7 @@ CONFIG_QCOM_CLK_RPM=m
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_COMMAND_DB=y
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
CONFIG_QCOM_FASTRPC=m
@@ -4939,6 +4995,7 @@ CONFIG_QCOM_PM=y
CONFIG_QCOM_QFPROM=m
CONFIG_QCOM_RMTFS_MEM=m
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
+CONFIG_QCOM_SCM=y
CONFIG_QCOM_SMD_RPM=m
# CONFIG_QCOM_SMEM is not set
CONFIG_QCOM_SMP2P=m
@@ -4978,6 +5035,7 @@ CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -5097,6 +5155,8 @@ CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PBIAS=m
@@ -5138,6 +5198,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m
CONFIG_REGULATOR_VCTRL=m
CONFIG_REGULATOR_VEXPRESS=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR_WM8994=m
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
@@ -5151,8 +5212,10 @@ CONFIG_RELAY=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_IMX7=y
+# CONFIG_RESET_INTEL_GW is not set
CONFIG_RESET_MESON_AUDIO_ARB=m
# CONFIG_RESET_QCOM_AOSS is not set
CONFIG_RESET_QCOM_PDC=m
@@ -5184,7 +5247,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5319,7 +5382,7 @@ CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
CONFIG_RTC_DRV_PCF8523=m
-# CONFIG_RTC_DRV_PCF85363 is not set
+CONFIG_RTC_DRV_PCF85363=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_PL030=y
@@ -5431,7 +5494,9 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
# CONFIG_SC_GCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5542,6 +5607,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDM_CAMCC_845 is not set
@@ -5570,6 +5636,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -5586,6 +5654,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -5609,6 +5678,7 @@ CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DA9052_ADC=m
CONFIG_SENSORS_DA9055=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5683,8 +5753,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5757,8 +5829,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_SERIAL_8250_CONSOLE=y
@@ -5781,6 +5855,7 @@ CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_TEGRA=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
@@ -5937,6 +6012,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -6165,6 +6241,7 @@ CONFIG_SND_SOC_MAX98927=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -6204,9 +6281,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
CONFIG_SND_SOC_SAMSUNG=m
CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
@@ -6302,6 +6383,7 @@ CONFIG_SND_SOC_WM8962=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -6403,8 +6485,9 @@ CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
-# CONFIG_SPI_FSL_SPI is not set
+CONFIG_SPI_FSL_SPI=m
CONFIG_SPI_GPIO=m
+# CONFIG_SPI_HISI_SFC_V3XX is not set
CONFIG_SPI_IMX=m
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -6482,6 +6565,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -6543,6 +6627,7 @@ CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
+CONFIG_SUN8I_THERMAL=m
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
@@ -6571,6 +6656,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -6714,7 +6800,6 @@ CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
-# CONFIG_THUNDERBOLT is not set
CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -7174,7 +7259,6 @@ CONFIG_USB_MICROTEK=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_USB_MON=y
CONFIG_USB_MR800=m
-CONFIG_USB_MUSB_AM335X_CHILD=m
CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_MUSB_DUAL_ROLE=y
@@ -7485,6 +7569,7 @@ CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_QCOM_VENUS=m
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
CONFIG_VIDEO_ROCKCHIP_RGA=m
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
@@ -7544,7 +7629,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -7575,6 +7659,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -7642,6 +7727,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -7740,6 +7827,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-armv7hl-fedora.config b/kernel-armv7hl-fedora.config
index d6f59bf7f..c56bd894e 100644
--- a/kernel-armv7hl-fedora.config
+++ b/kernel-armv7hl-fedora.config
@@ -67,6 +67,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -248,6 +249,7 @@ CONFIG_ARCH_OMAP3=y
CONFIG_ARCH_OMAP4=y
# CONFIG_ARCH_PXA is not set
CONFIG_ARCH_QCOM=y
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RDA is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_RENESAS is not set
@@ -338,6 +340,7 @@ CONFIG_ARM_GLOBAL_TIMER=y
CONFIG_ARM_HIGHBANK_CPUFREQ=m
# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
CONFIG_ARM_IMX6Q_CPUFREQ=m
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
# CONFIG_ARM_IMX_CPUFREQ_DT is not set
CONFIG_ARM_KPROBES_TEST=m
# CONFIG_ARM_LPAE is not set
@@ -363,6 +366,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m
CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_SPE_PMU=m
@@ -407,6 +411,7 @@ CONFIG_ATH10K_SNOC=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -518,6 +523,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_DA9052=m
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -572,6 +578,7 @@ CONFIG_BCM2835_THERMAL=m
CONFIG_BCM2835_VCHIQ=m
CONFIG_BCM2835_WDT=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -653,6 +660,7 @@ CONFIG_BLK_WBT=y
CONFIG_BL_SWITCHER=y
CONFIG_BMA180=m
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -672,11 +680,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -842,11 +852,10 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -999,6 +1008,7 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
CONFIG_COMMON_CLK_MMP2=y
@@ -1052,6 +1062,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
@@ -1165,10 +1176,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
CONFIG_CRYPTO_DEV_MXS_DCP=m
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
-# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+CONFIG_CRYPTO_DEV_OMAP_AES=m
CONFIG_CRYPTO_DEV_OMAP_DES=m
CONFIG_CRYPTO_DEV_OMAP=m
CONFIG_CRYPTO_DEV_OMAP_SHAM=m
+CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
@@ -1380,6 +1394,7 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
# CONFIG_DM9000 is not set
@@ -1387,6 +1402,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_BCM2835=m
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1405,7 +1421,7 @@ CONFIG_DMA_SUN6I=m
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1460,6 +1476,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m
# CONFIG_DRM_ARCPGU is not set
@@ -1470,7 +1487,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_DW_HDMI_CEC=m
@@ -1519,7 +1536,7 @@ CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-CONFIG_DRM_LVDS_ENCODER=m
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MCDE is not set
@@ -1550,6 +1567,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m
CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
@@ -1557,6 +1575,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
@@ -1584,11 +1603,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
@@ -1773,6 +1795,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1806,9 +1829,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1845,6 +1868,9 @@ CONFIG_EXYNOS_THERMAL=y
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -2042,11 +2068,6 @@ CONFIG_GENEVE=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
# CONFIG_GIANFAR is not set
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -2074,6 +2095,7 @@ CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -2099,6 +2121,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_SYSCON=m
# CONFIG_GPIO_SYSFS is not set
@@ -2302,6 +2325,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
+CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP3_ROM=m
CONFIG_HW_RANDOM_OMAP=m
@@ -2317,8 +2341,6 @@ CONFIG_HWSPINLOCK_QCOM=m
# CONFIG_HWSPINLOCK_STM32 is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2383,7 +2405,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2515,7 +2536,7 @@ CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
# CONFIG_IMX_DMA is not set
-CONFIG_IMX_DSP=y
+CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
CONFIG_IMX_GPCV2=y
CONFIG_IMX_IPUV3_CORE=m
@@ -2527,7 +2548,7 @@ CONFIG_IMX_SC_WDT=m
CONFIG_IMX_SDMA=m
CONFIG_IMX_THERMAL=m
CONFIG_IMX_WEIM=y
-# CONFIG_INA2XX_ADC is not set
+CONFIG_INA2XX_ADC=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
@@ -2535,6 +2556,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2571,6 +2593,13 @@ CONFIG_INFINIBAND_QEDR=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2659,6 +2688,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
@@ -2744,6 +2774,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_IP_PNP is not set
# CONFIG_IPQ_GCC_4019 is not set
+# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
# CONFIG_IPQ_GCC_8074 is not set
# CONFIG_IPQ_LCC_806X is not set
@@ -3022,6 +3053,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -3198,6 +3230,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3449,6 +3482,7 @@ CONFIG_MFD_QCOM_RPM=m
CONFIG_MFD_RK808=y
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
CONFIG_MFD_SEC_CORE=y
@@ -3490,6 +3524,7 @@ CONFIG_MFD_TPS80031=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3501,6 +3536,7 @@ CONFIG_MFD_WM8994=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3662,6 +3698,9 @@ CONFIG_MPL115_I2C=m
CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3683,6 +3722,7 @@ CONFIG_MSM_GCC_8996=y
CONFIG_MSM_MMCC_8960=m
CONFIG_MSM_MMCC_8974=m
CONFIG_MSM_MMCC_8996=m
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3731,7 +3771,6 @@ CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
CONFIG_MTD_NAND_GPIO=m
CONFIG_MTD_NAND_GPMI_NAND=m
# CONFIG_MTD_NAND_HISI504 is not set
@@ -3756,8 +3795,11 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PARTITIONED_MASTER is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_PHYSMAP_GEMINI is not set
+# CONFIG_MTD_PHYSMAP_IXP4XX is not set
CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_OF is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PHYSMAP_VERSATILE is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_RAM is not set
@@ -3863,6 +3905,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3883,6 +3926,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -4021,8 +4065,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -4205,11 +4251,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4354,6 +4402,7 @@ CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SNVS_LPGPR=m
+CONFIG_NVMEM_SPMI_SDAM=m
CONFIG_NVMEM_STM32_ROMEM=m
CONFIG_NVMEM_SUNXI_SID=m
CONFIG_NVMEM_SYSFS=y
@@ -4615,6 +4664,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4644,6 +4694,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
@@ -4733,6 +4784,7 @@ CONFIG_PINCTRL_SUN9I_A80=y
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
CONFIG_PINCTRL_ZYNQ=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PJ4B_ERRATA_4742=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4749,6 +4801,7 @@ CONFIG_PLATFORM_MHU=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM8916_WATCHDOG=m
# CONFIG_PM_ADVANCED_DEBUG is not set
@@ -4857,7 +4910,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4901,6 +4956,7 @@ CONFIG_QCOM_CLK_RPM=m
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_COMMAND_DB=y
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
CONFIG_QCOM_FASTRPC=m
@@ -4919,6 +4975,7 @@ CONFIG_QCOM_PM=y
CONFIG_QCOM_QFPROM=m
CONFIG_QCOM_RMTFS_MEM=m
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
+CONFIG_QCOM_SCM=y
CONFIG_QCOM_SMD_RPM=m
# CONFIG_QCOM_SMEM is not set
CONFIG_QCOM_SMP2P=m
@@ -4958,6 +5015,7 @@ CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -5077,6 +5135,8 @@ CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PBIAS=m
@@ -5118,6 +5178,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m
CONFIG_REGULATOR_VCTRL=m
CONFIG_REGULATOR_VEXPRESS=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR_WM8994=m
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
@@ -5131,8 +5192,10 @@ CONFIG_RELAY=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_IMX7=y
+# CONFIG_RESET_INTEL_GW is not set
CONFIG_RESET_MESON_AUDIO_ARB=m
# CONFIG_RESET_QCOM_AOSS is not set
CONFIG_RESET_QCOM_PDC=m
@@ -5164,7 +5227,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5299,7 +5362,7 @@ CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
CONFIG_RTC_DRV_PCF8523=m
-# CONFIG_RTC_DRV_PCF85363 is not set
+CONFIG_RTC_DRV_PCF85363=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_PL030=y
@@ -5411,7 +5474,9 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
# CONFIG_SC_GCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5522,6 +5587,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDM_CAMCC_845 is not set
@@ -5550,6 +5616,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -5566,6 +5634,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -5589,6 +5658,7 @@ CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DA9052_ADC=m
CONFIG_SENSORS_DA9055=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5663,8 +5733,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5737,8 +5809,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_SERIAL_8250_CONSOLE=y
@@ -5761,6 +5835,7 @@ CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_TEGRA=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
@@ -5917,6 +5992,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -6144,6 +6220,7 @@ CONFIG_SND_SOC_MAX98927=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -6183,9 +6260,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
CONFIG_SND_SOC_SAMSUNG=m
CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
@@ -6281,6 +6362,7 @@ CONFIG_SND_SOC_WM8962=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -6382,8 +6464,9 @@ CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
-# CONFIG_SPI_FSL_SPI is not set
+CONFIG_SPI_FSL_SPI=m
CONFIG_SPI_GPIO=m
+# CONFIG_SPI_HISI_SFC_V3XX is not set
CONFIG_SPI_IMX=m
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -6461,6 +6544,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -6522,6 +6606,7 @@ CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
+CONFIG_SUN8I_THERMAL=m
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
@@ -6550,6 +6635,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -6693,7 +6779,6 @@ CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
-# CONFIG_THUNDERBOLT is not set
CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -7153,7 +7238,6 @@ CONFIG_USB_MICROTEK=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_USB_MON=y
CONFIG_USB_MR800=m
-CONFIG_USB_MUSB_AM335X_CHILD=m
CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_MUSB_DUAL_ROLE=y
@@ -7464,6 +7548,7 @@ CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_QCOM_VENUS=m
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
CONFIG_VIDEO_ROCKCHIP_RGA=m
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
@@ -7523,7 +7608,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -7554,6 +7638,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -7621,6 +7706,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -7662,7 +7749,6 @@ CONFIG_WLCORE_SPI=m
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_MCELOG_LEGACY=y
-# CONFIG_X86_PTDUMP is not set
CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
@@ -7719,6 +7805,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-armv7hl-lpae-debug-fedora.config b/kernel-armv7hl-lpae-debug-fedora.config
index 28225d806..bb077007b 100644
--- a/kernel-armv7hl-lpae-debug-fedora.config
+++ b/kernel-armv7hl-lpae-debug-fedora.config
@@ -67,6 +67,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -240,6 +241,7 @@ CONFIG_ARCH_MVEBU=y
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_QCOM is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RDA is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_RENESAS is not set
@@ -330,6 +332,7 @@ CONFIG_ARM_GLOBAL_TIMER=y
CONFIG_ARM_HIGHBANK_CPUFREQ=m
# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
# CONFIG_ARM_IMX6Q_CPUFREQ is not set
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
# CONFIG_ARM_IMX_CPUFREQ_DT is not set
CONFIG_ARM_KPROBES_TEST=m
CONFIG_ARM_LPAE=y
@@ -355,6 +358,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m
CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_SPE_PMU=m
@@ -396,6 +400,7 @@ CONFIG_ATH10K_SNOC=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -506,6 +511,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -551,6 +557,7 @@ CONFIG_BCM2835_THERMAL=m
CONFIG_BCM2835_VCHIQ=m
CONFIG_BCM2835_WDT=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -632,6 +639,7 @@ CONFIG_BLK_WBT=y
CONFIG_BL_SWITCHER=y
CONFIG_BMA180=m
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -651,11 +659,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -820,11 +830,10 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -972,6 +981,7 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
CONFIG_COMMON_CLK_PALMAS=m
@@ -1023,6 +1033,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
@@ -1136,10 +1147,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
-# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+CONFIG_CRYPTO_DEV_OMAP_AES=m
CONFIG_CRYPTO_DEV_OMAP_DES=m
CONFIG_CRYPTO_DEV_OMAP=m
CONFIG_CRYPTO_DEV_OMAP_SHAM=m
+CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1355,6 +1369,7 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
# CONFIG_DM9000 is not set
@@ -1362,6 +1377,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
CONFIG_DMA_BCM2835=m
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1380,7 +1396,7 @@ CONFIG_DMA_SUN6I=m
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1435,6 +1451,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m
# CONFIG_DRM_ARCPGU is not set
@@ -1445,7 +1462,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_DW_HDMI_CEC=m
@@ -1490,7 +1507,7 @@ CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-CONFIG_DRM_LVDS_ENCODER=m
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MCDE is not set
@@ -1512,6 +1529,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m
CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
@@ -1519,6 +1537,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
@@ -1546,11 +1565,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
@@ -1732,6 +1754,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1765,9 +1788,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1803,6 +1826,9 @@ CONFIG_EXYNOS_THERMAL=y
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -2007,11 +2033,6 @@ CONFIG_GENEVE=m
# CONFIG_GENWQE is not set
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -2038,6 +2059,7 @@ CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -2063,6 +2085,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_SYSCON=m
# CONFIG_GPIO_SYSFS is not set
@@ -2262,6 +2285,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
+CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_KEYSTONE=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
@@ -2275,8 +2299,6 @@ CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_STM32 is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2342,7 +2364,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2472,7 +2493,7 @@ CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
# CONFIG_IMX_DMA is not set
-CONFIG_IMX_DSP=y
+CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IPUV3_CORE is not set
@@ -2482,7 +2503,7 @@ CONFIG_IMX_MBOX=m
CONFIG_IMX_SC_WDT=m
CONFIG_IMX_SDMA=m
# CONFIG_IMX_WEIM is not set
-# CONFIG_INA2XX_ADC is not set
+CONFIG_INA2XX_ADC=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
@@ -2490,6 +2511,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2526,6 +2548,13 @@ CONFIG_INFINIBAND_QEDR=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2605,6 +2634,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
@@ -2690,6 +2720,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_IP_PNP is not set
# CONFIG_IPQ_GCC_4019 is not set
+# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
# CONFIG_IPQ_GCC_8074 is not set
# CONFIG_IPQ_LCC_806X is not set
@@ -2966,6 +2997,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -3141,6 +3173,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3383,6 +3416,7 @@ CONFIG_MFD_PALMAS=y
CONFIG_MFD_RK808=y
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
CONFIG_MFD_SEC_CORE=y
@@ -3423,6 +3457,7 @@ CONFIG_MFD_TPS68470=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3434,6 +3469,7 @@ CONFIG_MFD_WM8994=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3590,6 +3626,9 @@ CONFIG_MPL115_I2C=m
CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3601,6 +3640,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
# CONFIG_MSM_GCC_8998 is not set
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3650,7 +3690,6 @@ CONFIG_MTD_NAND_DAVINCI=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND_MARVELL=m
@@ -3673,8 +3712,11 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PARTITIONED_MASTER is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_PHYSMAP_GEMINI is not set
+# CONFIG_MTD_PHYSMAP_IXP4XX is not set
CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_OF is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PHYSMAP_VERSATILE is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_RAM is not set
@@ -3780,6 +3822,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3800,6 +3843,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3938,8 +3982,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -4121,11 +4167,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4268,6 +4316,7 @@ CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SNVS_LPGPR=m
+CONFIG_NVMEM_SPMI_SDAM=m
CONFIG_NVMEM_STM32_ROMEM=m
CONFIG_NVMEM_SUNXI_SID=m
CONFIG_NVMEM_SYSFS=y
@@ -4521,6 +4570,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4545,6 +4595,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
# CONFIG_PHY_QCOM_USB_HSIC is not set
# CONFIG_PHY_QCOM_USB_HS is not set
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
@@ -4623,6 +4674,7 @@ CONFIG_PINCTRL_SUN9I_A80_R=y
CONFIG_PINCTRL_SUN9I_A80=y
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PJ4B_ERRATA_4742=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4639,6 +4691,7 @@ CONFIG_PLATFORM_MHU=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_AUTOSLEEP is not set
@@ -4744,7 +4797,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4779,6 +4834,7 @@ CONFIG_QCOM_A53PLL=m
# CONFIG_QCOM_APR is not set
CONFIG_QCOM_CLK_APCS_MSM8916=m
# CONFIG_QCOM_COMMAND_DB is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
CONFIG_QCOM_FASTRPC=m
@@ -4793,6 +4849,7 @@ CONFIG_QCOM_PDC=y
CONFIG_QCOM_PM8XXX_XOADC=m
CONFIG_QCOM_RMTFS_MEM=m
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
+CONFIG_QCOM_SCM=y
CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCS_GCC_404=m
@@ -4820,6 +4877,7 @@ CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -4930,6 +4988,8 @@ CONFIG_REGULATOR_MAX8952=m
CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PBIAS=m
@@ -4965,6 +5025,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m
CONFIG_REGULATOR_VCTRL=m
CONFIG_REGULATOR_VEXPRESS=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR_WM8994=m
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
@@ -4978,8 +5039,10 @@ CONFIG_RELAY=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_IMX7=y
+# CONFIG_RESET_INTEL_GW is not set
CONFIG_RESET_MESON_AUDIO_ARB=m
# CONFIG_RESET_QCOM_AOSS is not set
CONFIG_RESET_QCOM_PDC=m
@@ -5011,7 +5074,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5139,7 +5202,7 @@ CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
CONFIG_RTC_DRV_PCF8523=m
-# CONFIG_RTC_DRV_PCF85363 is not set
+CONFIG_RTC_DRV_PCF85363=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_PL030=y
@@ -5248,7 +5311,9 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
# CONFIG_SC_GCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5359,6 +5424,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDM_CAMCC_845 is not set
@@ -5387,6 +5453,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -5403,6 +5471,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -5424,6 +5493,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5498,8 +5568,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5571,8 +5643,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_SERIAL_8250_CONSOLE=y
@@ -5594,6 +5668,7 @@ CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_TEGRA=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
@@ -5743,6 +5818,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5803,6 +5879,7 @@ CONFIG_SND_HRTIMER=m
CONFIG_SND_I2S_HI6210_I2S=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
+CONFIG_SND_IMX_SOC=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_INDIGOIO=m
@@ -5937,8 +6014,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ICS43432=m
# CONFIG_SND_SOC_IMG is not set
# CONFIG_SND_SOC_IMX_AUDMIX is not set
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SOC_IMX_AUDMUX=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
+CONFIG_SND_SOC_IMX_SGTL5000=m
+CONFIG_SND_SOC_IMX_SPDIF=m
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX9759=m
@@ -5954,6 +6033,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5989,9 +6069,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
CONFIG_SND_SOC_SAMSUNG=m
CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
@@ -6077,10 +6161,11 @@ CONFIG_SND_SOC_WM8804_SPI=m
# CONFIG_SND_SOC_WM8903 is not set
# CONFIG_SND_SOC_WM8904 is not set
CONFIG_SND_SOC_WM8960=m
-# CONFIG_SND_SOC_WM8962 is not set
+CONFIG_SND_SOC_WM8962=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -6131,6 +6216,7 @@ CONFIG_SOC_EXYNOS5800=y
# CONFIG_SOC_HAS_OMAP2_SDRC is not set
CONFIG_SOC_HAS_REALTIME_COUNTER=y
# CONFIG_SOC_IMX6SLL is not set
+# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP5=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
@@ -6164,8 +6250,9 @@ CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
-# CONFIG_SPI_FSL_SPI is not set
+CONFIG_SPI_FSL_SPI=m
CONFIG_SPI_GPIO=m
+# CONFIG_SPI_HISI_SFC_V3XX is not set
CONFIG_SPI_IMX=m
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -6237,6 +6324,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -6294,6 +6382,7 @@ CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
+CONFIG_SUN8I_THERMAL=m
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
@@ -6322,6 +6411,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -6465,7 +6555,6 @@ CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
-# CONFIG_THUNDERBOLT is not set
CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -6913,7 +7002,6 @@ CONFIG_USB_MICROTEK=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_USB_MON=y
CONFIG_USB_MR800=m
-CONFIG_USB_MUSB_AM335X_CHILD=m
CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_MUSB_DUAL_ROLE=y
@@ -7215,6 +7303,7 @@ CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
CONFIG_VIDEO_ROCKCHIP_RGA=m
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
@@ -7267,7 +7356,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -7298,6 +7386,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -7365,6 +7454,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -7461,6 +7552,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-armv7hl-lpae-fedora.config b/kernel-armv7hl-lpae-fedora.config
index 73bb515c0..d06900a42 100644
--- a/kernel-armv7hl-lpae-fedora.config
+++ b/kernel-armv7hl-lpae-fedora.config
@@ -67,6 +67,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -240,6 +241,7 @@ CONFIG_ARCH_MVEBU=y
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_QCOM is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RDA is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_RENESAS is not set
@@ -330,6 +332,7 @@ CONFIG_ARM_GLOBAL_TIMER=y
CONFIG_ARM_HIGHBANK_CPUFREQ=m
# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
# CONFIG_ARM_IMX6Q_CPUFREQ is not set
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
# CONFIG_ARM_IMX_CPUFREQ_DT is not set
CONFIG_ARM_KPROBES_TEST=m
CONFIG_ARM_LPAE=y
@@ -355,6 +358,7 @@ CONFIG_ARM_SCPI_CPUFREQ=m
CONFIG_ARM_SCPI_POWER_DOMAIN=m
CONFIG_ARM_SCPI_PROTOCOL=m
CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_SPE_PMU=m
@@ -396,6 +400,7 @@ CONFIG_ATH10K_SNOC=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -506,6 +511,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_GENERIC=m
CONFIG_BACKLIGHT_GPIO=m
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -551,6 +557,7 @@ CONFIG_BCM2835_THERMAL=m
CONFIG_BCM2835_VCHIQ=m
CONFIG_BCM2835_WDT=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -632,6 +639,7 @@ CONFIG_BLK_WBT=y
CONFIG_BL_SWITCHER=y
CONFIG_BMA180=m
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -651,11 +659,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -820,11 +830,10 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -972,6 +981,7 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
CONFIG_COMMON_CLK_PALMAS=m
@@ -1023,6 +1033,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
@@ -1136,10 +1147,13 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
-# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+CONFIG_CRYPTO_DEV_OMAP_AES=m
CONFIG_CRYPTO_DEV_OMAP_DES=m
CONFIG_CRYPTO_DEV_OMAP=m
CONFIG_CRYPTO_DEV_OMAP_SHAM=m
+CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1348,6 +1362,7 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
# CONFIG_DM9000 is not set
@@ -1355,6 +1370,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_BCM2835=m
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1373,7 +1389,7 @@ CONFIG_DMA_SUN6I=m
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1428,6 +1444,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m
# CONFIG_DRM_ARCPGU is not set
@@ -1438,7 +1455,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
CONFIG_DRM_DW_HDMI_CEC=m
@@ -1483,7 +1500,7 @@ CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-CONFIG_DRM_LVDS_ENCODER=m
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MCDE is not set
@@ -1505,6 +1522,7 @@ CONFIG_DRM_OMAP_ENCODER_TPD12S015=m
CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
@@ -1512,6 +1530,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
@@ -1539,11 +1558,14 @@ CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
@@ -1725,6 +1747,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1758,9 +1781,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1796,6 +1819,9 @@ CONFIG_EXYNOS_THERMAL=y
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1992,11 +2018,6 @@ CONFIG_GENEVE=m
# CONFIG_GENWQE is not set
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -2023,6 +2044,7 @@ CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -2048,6 +2070,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_SYSCON=m
# CONFIG_GPIO_SYSFS is not set
@@ -2247,6 +2270,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
CONFIG_HW_RANDOM_IMX_RNGC=m
+CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_KEYSTONE=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
@@ -2260,8 +2284,6 @@ CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_STM32 is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2327,7 +2349,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2457,7 +2478,7 @@ CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
# CONFIG_IMX_DMA is not set
-CONFIG_IMX_DSP=y
+CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IPUV3_CORE is not set
@@ -2467,7 +2488,7 @@ CONFIG_IMX_MBOX=m
CONFIG_IMX_SC_WDT=m
CONFIG_IMX_SDMA=m
# CONFIG_IMX_WEIM is not set
-# CONFIG_INA2XX_ADC is not set
+CONFIG_INA2XX_ADC=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
@@ -2475,6 +2496,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2511,6 +2533,13 @@ CONFIG_INFINIBAND_QEDR=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2590,6 +2619,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
@@ -2675,6 +2705,7 @@ CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_IP_PNP is not set
# CONFIG_IPQ_GCC_4019 is not set
+# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
# CONFIG_IPQ_GCC_8074 is not set
# CONFIG_IPQ_LCC_806X is not set
@@ -2949,6 +2980,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -3124,6 +3156,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3365,6 +3398,7 @@ CONFIG_MFD_PALMAS=y
CONFIG_MFD_RK808=y
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
CONFIG_MFD_SEC_CORE=y
@@ -3405,6 +3439,7 @@ CONFIG_MFD_TPS68470=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3416,6 +3451,7 @@ CONFIG_MFD_WM8994=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3571,6 +3607,9 @@ CONFIG_MPL115_I2C=m
CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3582,6 +3621,7 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
# CONFIG_MSM_GCC_8998 is not set
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3631,7 +3671,6 @@ CONFIG_MTD_NAND_DAVINCI=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_HISI504 is not set
CONFIG_MTD_NAND_MARVELL=m
@@ -3654,8 +3693,11 @@ CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_PARTITIONED_MASTER is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_PHYSMAP_GEMINI is not set
+# CONFIG_MTD_PHYSMAP_IXP4XX is not set
CONFIG_MTD_PHYSMAP=m
-# CONFIG_MTD_PHYSMAP_OF is not set
+CONFIG_MTD_PHYSMAP_OF=y
+# CONFIG_MTD_PHYSMAP_VERSATILE is not set
# CONFIG_MTD_PLATRAM is not set
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_RAM is not set
@@ -3761,6 +3803,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3781,6 +3824,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3919,8 +3963,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -4102,11 +4148,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4249,6 +4297,7 @@ CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SNVS_LPGPR=m
+CONFIG_NVMEM_SPMI_SDAM=m
CONFIG_NVMEM_STM32_ROMEM=m
CONFIG_NVMEM_SUNXI_SID=m
CONFIG_NVMEM_SYSFS=y
@@ -4502,6 +4551,7 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4526,6 +4576,7 @@ CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
# CONFIG_PHY_QCOM_USB_HSIC is not set
# CONFIG_PHY_QCOM_USB_HS is not set
+CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
@@ -4604,6 +4655,7 @@ CONFIG_PINCTRL_SUN9I_A80_R=y
CONFIG_PINCTRL_SUN9I_A80=y
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PJ4B_ERRATA_4742=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4620,6 +4672,7 @@ CONFIG_PLATFORM_MHU=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLAT_SPEAR is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_AUTOSLEEP is not set
@@ -4724,7 +4777,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4759,6 +4814,7 @@ CONFIG_QCOM_A53PLL=m
# CONFIG_QCOM_APR is not set
CONFIG_QCOM_CLK_APCS_MSM8916=m
# CONFIG_QCOM_COMMAND_DB is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
CONFIG_QCOM_FASTRPC=m
@@ -4773,6 +4829,7 @@ CONFIG_QCOM_PDC=y
CONFIG_QCOM_PM8XXX_XOADC=m
CONFIG_QCOM_RMTFS_MEM=m
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
+CONFIG_QCOM_SCM=y
CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCS_GCC_404=m
@@ -4800,6 +4857,7 @@ CONFIG_QRTR_SMD=m
CONFIG_QRTR_TUN=m
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -4910,6 +4968,8 @@ CONFIG_REGULATOR_MAX8952=m
CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PBIAS=m
@@ -4945,6 +5005,7 @@ CONFIG_REGULATOR_USERSPACE_CONSUMER=m
CONFIG_REGULATOR_VCTRL=m
CONFIG_REGULATOR_VEXPRESS=m
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR_WM8994=m
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
@@ -4958,8 +5019,10 @@ CONFIG_RELAY=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_IMX7=y
+# CONFIG_RESET_INTEL_GW is not set
CONFIG_RESET_MESON_AUDIO_ARB=m
# CONFIG_RESET_QCOM_AOSS is not set
CONFIG_RESET_QCOM_PDC=m
@@ -4991,7 +5054,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5119,7 +5182,7 @@ CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
CONFIG_RTC_DRV_PCF8523=m
-# CONFIG_RTC_DRV_PCF85363 is not set
+CONFIG_RTC_DRV_PCF85363=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_PL030=y
@@ -5228,7 +5291,9 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
# CONFIG_SC_GCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5339,6 +5404,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDM_CAMCC_845 is not set
@@ -5367,6 +5433,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -5383,6 +5451,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -5404,6 +5473,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5478,8 +5548,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5551,8 +5623,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_BCM2835AUX=y
CONFIG_SERIAL_8250_CONSOLE=y
@@ -5574,6 +5648,7 @@ CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_RUNTIME_UARTS=32
CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_TEGRA=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
@@ -5723,6 +5798,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5783,6 +5859,7 @@ CONFIG_SND_HRTIMER=m
CONFIG_SND_I2S_HI6210_I2S=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
+CONFIG_SND_IMX_SOC=m
CONFIG_SND_INDIGODJ=m
CONFIG_SND_INDIGODJX=m
CONFIG_SND_INDIGOIO=m
@@ -5916,8 +5993,10 @@ CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_ICS43432=m
# CONFIG_SND_SOC_IMG is not set
# CONFIG_SND_SOC_IMX_AUDMIX is not set
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SOC_IMX_AUDMUX=m
# CONFIG_SND_SOC_IMX_ES8328 is not set
+CONFIG_SND_SOC_IMX_SGTL5000=m
+CONFIG_SND_SOC_IMX_SPDIF=m
# CONFIG_SND_SOC_INNO_RK3036 is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_MAX9759=m
@@ -5933,6 +6012,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5968,9 +6048,13 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
CONFIG_SND_SOC_SAMSUNG=m
CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF=m
CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
@@ -6056,10 +6140,11 @@ CONFIG_SND_SOC_WM8804_SPI=m
# CONFIG_SND_SOC_WM8903 is not set
# CONFIG_SND_SOC_WM8904 is not set
CONFIG_SND_SOC_WM8960=m
-# CONFIG_SND_SOC_WM8962 is not set
+CONFIG_SND_SOC_WM8962=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -6110,6 +6195,7 @@ CONFIG_SOC_EXYNOS5800=y
# CONFIG_SOC_HAS_OMAP2_SDRC is not set
CONFIG_SOC_HAS_REALTIME_COUNTER=y
# CONFIG_SOC_IMX6SLL is not set
+# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP5=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
@@ -6143,8 +6229,9 @@ CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
-# CONFIG_SPI_FSL_SPI is not set
+CONFIG_SPI_FSL_SPI=m
CONFIG_SPI_GPIO=m
+# CONFIG_SPI_HISI_SFC_V3XX is not set
CONFIG_SPI_IMX=m
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -6216,6 +6303,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -6273,6 +6361,7 @@ CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
+CONFIG_SUN8I_THERMAL=m
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
CONFIG_SUNDANCE=m
@@ -6301,6 +6390,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -6444,7 +6534,6 @@ CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
-# CONFIG_THUNDERBOLT is not set
CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -6892,7 +6981,6 @@ CONFIG_USB_MICROTEK=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_USB_MON=y
CONFIG_USB_MR800=m
-CONFIG_USB_MUSB_AM335X_CHILD=m
CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_MUSB_DUAL_ROLE=y
@@ -7194,6 +7282,7 @@ CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
CONFIG_VIDEO_ROCKCHIP_RGA=m
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
@@ -7246,7 +7335,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -7277,6 +7365,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -7344,6 +7433,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -7384,7 +7475,6 @@ CONFIG_WLCORE_SPI=m
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_MCELOG_LEGACY=y
-# CONFIG_X86_PTDUMP is not set
CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
@@ -7440,6 +7530,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-i686-debug-fedora.config b/kernel-i686-debug-fedora.config
index c1f0feddb..e69fb4122 100644
--- a/kernel-i686-debug-fedora.config
+++ b/kernel-i686-debug-fedora.config
@@ -102,6 +102,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -244,6 +245,7 @@ CONFIG_AR5523=m
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
@@ -278,6 +280,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -380,6 +383,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -420,6 +424,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -495,6 +500,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -514,11 +520,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -677,10 +685,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -820,6 +827,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -862,6 +870,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
@@ -1066,7 +1075,7 @@ CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_DEBUG_HIGHMEM=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
-CONFIG_DEBUG_INFO_BTF=y
+# CONFIG_DEBUG_INFO_BTF is not set
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
@@ -1159,11 +1168,13 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1177,7 +1188,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1234,6 +1245,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_AST=m
@@ -1242,7 +1254,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1271,7 +1283,7 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1281,6 +1293,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1288,6 +1301,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1315,11 +1329,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
CONFIG_DRM_QXL=m
@@ -1492,10 +1509,11 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
-CONFIG_EFI_RCI2_TABLE=y
+# CONFIG_EFI_RCI2_TABLE is not set
CONFIG_EFI_RUNTIME_MAP=y
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_STUB=y
@@ -1528,9 +1546,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1557,6 +1575,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1772,11 +1793,6 @@ CONFIG_GEODE_WDT=m
# CONFIG_GEOS is not set
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1807,6 +1823,7 @@ CONFIG_GPIO_ICH=m
CONFIG_GPIO_IT87=m
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_LYNXPOINT is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
@@ -1817,7 +1834,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
@@ -1828,6 +1844,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
CONFIG_GPIO_SCH=m
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
@@ -2049,8 +2066,6 @@ CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2107,7 +2122,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_PIIX4=m
@@ -2236,6 +2250,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2272,6 +2287,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2355,6 +2377,7 @@ CONFIG_INTEL_IOATDMA=m
# CONFIG_INTEL_IOMMU_DEBUGFS is not set
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IPS=m
@@ -2738,6 +2761,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2915,6 +2939,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3131,6 +3156,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -3164,6 +3190,7 @@ CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3175,6 +3202,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_INTEL=y
@@ -3322,6 +3350,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3333,6 +3364,7 @@ CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3373,7 +3405,6 @@ CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3489,6 +3520,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3509,6 +3541,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3648,8 +3681,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3832,11 +3867,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4133,6 +4170,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4197,6 +4235,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+CONFIG_PHY_INTEL_EMMC=m
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4224,6 +4263,7 @@ CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
+CONFIG_PINCTRL_LYNXPOINT=m
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_OCELOT is not set
# CONFIG_PINCTRL_QCS404 is not set
@@ -4256,12 +4296,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_AUTOSLEEP is not set
@@ -4366,7 +4408,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4386,10 +4430,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4509,6 +4553,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4527,6 +4573,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
@@ -4540,6 +4587,8 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4762,6 +4811,8 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_MC_PRIO=y
@@ -4872,6 +4923,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_SC_VIDEOCC_7180 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_SCx200 is not set
CONFIG_SD_ADC_MODULATOR=m
@@ -4895,6 +4947,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4914,6 +4968,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4938,6 +4993,7 @@ CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5018,8 +5074,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5090,8 +5148,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -5231,6 +5291,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5282,7 +5343,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5408,6 +5469,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
+CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m
@@ -5441,6 +5503,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5458,6 +5521,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5477,9 +5541,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5559,6 +5627,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5622,6 +5691,7 @@ CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
CONFIG_SPI_MASTER=y
@@ -5671,11 +5741,12 @@ CONFIG_SSB_SDIOHOST=y
CONFIG_STACKLEAK_METRICS=y
CONFIG_STACKLEAK_RUNTIME_DISABLE=y
CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
-CONFIG_STACKPROTECTOR_STRONG=y
+# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACKPROTECTOR=y
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -5692,6 +5763,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5721,6 +5793,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5853,8 +5926,6 @@ CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
-CONFIG_THUNDERBOLT_NET=m
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -5877,6 +5948,7 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
@@ -6075,6 +6147,8 @@ CONFIG_UNUSED_SYMBOLS=y
CONFIG_UNWINDER_FRAME_POINTER=y
CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
+CONFIG_USB4=m
+CONFIG_USB4_NET=m
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_ALI_M5632=y
@@ -6528,7 +6602,6 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y
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_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6564,6 +6637,7 @@ CONFIG_VMXNET3=m
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -6634,6 +6708,8 @@ CONFIG_WILCO_EC=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6695,7 +6771,6 @@ CONFIG_X86_GENERIC=y
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_INTEL_MID is not set
-CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_QUARK is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
@@ -6816,6 +6891,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-i686-fedora.config b/kernel-i686-fedora.config
index f147467a8..464d8a6d0 100644
--- a/kernel-i686-fedora.config
+++ b/kernel-i686-fedora.config
@@ -102,6 +102,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -244,6 +245,7 @@ CONFIG_AR5523=m
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
@@ -277,6 +279,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -379,6 +382,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -419,6 +423,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -494,6 +499,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -513,11 +519,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -676,10 +684,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -819,6 +826,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -861,6 +869,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
@@ -1065,7 +1074,7 @@ CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_DEBUG_HIGHMEM=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
-CONFIG_DEBUG_INFO_BTF=y
+# CONFIG_DEBUG_INFO_BTF is not set
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
@@ -1151,11 +1160,13 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1168,7 +1179,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1225,6 +1236,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_AST=m
@@ -1233,7 +1245,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1262,7 +1274,7 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1272,6 +1284,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1279,6 +1292,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1306,11 +1320,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
CONFIG_DRM_QXL=m
@@ -1483,10 +1500,11 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
-CONFIG_EFI_RCI2_TABLE=y
+# CONFIG_EFI_RCI2_TABLE is not set
CONFIG_EFI_RUNTIME_MAP=y
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_STUB=y
@@ -1519,9 +1537,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1548,6 +1566,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1755,11 +1776,6 @@ CONFIG_GEODE_WDT=m
# CONFIG_GEOS is not set
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1790,6 +1806,7 @@ CONFIG_GPIO_ICH=m
CONFIG_GPIO_IT87=m
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_LYNXPOINT is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
@@ -1800,7 +1817,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
@@ -1811,6 +1827,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
CONFIG_GPIO_SCH=m
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
@@ -2032,8 +2049,6 @@ CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2090,7 +2105,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_PIIX4=m
@@ -2219,6 +2233,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2255,6 +2270,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2338,6 +2360,7 @@ CONFIG_INTEL_IOATDMA=m
# CONFIG_INTEL_IOMMU_DEBUGFS is not set
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IPS=m
@@ -2719,6 +2742,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2896,6 +2920,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3112,6 +3137,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -3145,6 +3171,7 @@ CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3156,6 +3183,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_INTEL=y
@@ -3303,6 +3331,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3314,6 +3345,7 @@ CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3354,7 +3386,6 @@ CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3470,6 +3501,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3490,6 +3522,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3629,8 +3662,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3813,11 +3848,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4114,6 +4151,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4178,6 +4216,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+CONFIG_PHY_INTEL_EMMC=m
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4205,6 +4244,7 @@ CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
+CONFIG_PINCTRL_LYNXPOINT=m
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_OCELOT is not set
# CONFIG_PINCTRL_QCS404 is not set
@@ -4237,12 +4277,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_AUTOSLEEP is not set
@@ -4346,7 +4388,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4366,10 +4410,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4489,6 +4533,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4507,6 +4553,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
@@ -4520,6 +4567,8 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4742,6 +4791,8 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_MC_PRIO=y
@@ -4852,6 +4903,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_SC_VIDEOCC_7180 is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_SCx200 is not set
CONFIG_SD_ADC_MODULATOR=m
@@ -4875,6 +4927,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4894,6 +4948,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4918,6 +4973,7 @@ CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -4998,8 +5054,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5070,8 +5128,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -5211,6 +5271,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5262,7 +5323,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5387,6 +5448,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
+CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m
@@ -5420,6 +5482,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5437,6 +5500,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5456,9 +5520,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5538,6 +5606,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5601,6 +5670,7 @@ CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
CONFIG_SPI_MASTER=y
@@ -5650,11 +5720,12 @@ CONFIG_SSB_SDIOHOST=y
CONFIG_STACKLEAK_METRICS=y
CONFIG_STACKLEAK_RUNTIME_DISABLE=y
CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
-CONFIG_STACKPROTECTOR_STRONG=y
+# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACKPROTECTOR=y
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -5671,6 +5742,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5700,6 +5772,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5832,8 +5905,6 @@ CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
-CONFIG_THUNDERBOLT_NET=m
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -5856,6 +5927,7 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
@@ -6054,6 +6126,8 @@ CONFIG_UNUSED_SYMBOLS=y
CONFIG_UNWINDER_FRAME_POINTER=y
CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
+CONFIG_USB4=m
+CONFIG_USB4_NET=m
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_ALI_M5632=y
@@ -6507,7 +6581,6 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y
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_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6543,6 +6616,7 @@ CONFIG_VMXNET3=m
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -6613,6 +6687,8 @@ CONFIG_WILCO_EC=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6674,7 +6750,6 @@ CONFIG_X86_GENERIC=y
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_INTEL_MID is not set
-CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_QUARK is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
@@ -6701,7 +6776,6 @@ CONFIG_X86_PM_TIMER=y
# CONFIG_X86_POWERNOW_K6 is not set
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_PTDUMP is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_REBOOTFIXUPS is not set
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
@@ -6795,6 +6869,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config
index fffc610e9..7488797de 100644
--- a/kernel-ppc64le-debug-fedora.config
+++ b/kernel-ppc64le-debug-fedora.config
@@ -66,6 +66,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -188,6 +189,7 @@ CONFIG_AR5523=m
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
@@ -218,6 +220,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -319,6 +322,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -357,6 +361,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -432,6 +437,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -451,11 +457,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
@@ -614,10 +622,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -752,6 +759,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -791,6 +799,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
@@ -1069,11 +1078,13 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1087,7 +1098,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1137,6 +1148,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_AST=m
@@ -1145,7 +1157,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1163,7 +1175,7 @@ CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1173,6 +1185,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1180,6 +1193,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1207,11 +1221,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
CONFIG_DRM_QXL=m
@@ -1358,6 +1375,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1385,9 +1403,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1414,6 +1432,9 @@ CONFIG_EXTRA_TARGETS=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1614,11 +1635,6 @@ CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1643,6 +1659,7 @@ CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1651,7 +1668,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
@@ -1661,6 +1677,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS68470=y
@@ -1818,7 +1835,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_PCIE=y
-# CONFIG_HOTPLUG_PCI_POWERNV is not set
+CONFIG_HOTPLUG_PCI_POWERNV=m
CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
CONFIG_HOTPLUG_PCI_RPA=m
CONFIG_HOTPLUG_PCI_SHPC=y
@@ -1859,8 +1876,6 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ=100
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
@@ -1917,7 +1932,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OPAL=m
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_RK3X is not set
@@ -2038,6 +2052,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2074,6 +2089,13 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2488,6 +2510,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2661,6 +2684,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -2869,6 +2893,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -2902,6 +2927,7 @@ CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -2913,6 +2939,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3046,6 +3073,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3056,6 +3086,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_BITMAP_SELFTEST=y
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3096,7 +3127,6 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3205,6 +3235,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3225,6 +3256,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3363,8 +3395,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3545,11 +3579,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -3881,6 +3917,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -3927,12 +3964,14 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80 is not set
# CONFIG_PINCTRL_SUN9I_A80_R is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PING is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_AUTOSLEEP is not set
@@ -4069,7 +4108,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4082,10 +4123,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4104,6 +4145,7 @@ CONFIG_QLGE=m
# CONFIG_QNX6FS_FS is not set
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -4203,6 +4245,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4221,6 +4265,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_FS_POSIX_ACL=y
@@ -4233,6 +4278,8 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4455,6 +4502,8 @@ CONFIG_SBP_TARGET=m
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
CONFIG_SCANLOG=y
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -4566,6 +4615,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_SC_VIDEOCC_7180 is not set
# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
@@ -4587,6 +4637,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4603,6 +4655,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4622,6 +4675,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -4697,8 +4751,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -4768,8 +4824,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -4908,6 +4966,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5093,6 +5152,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5112,9 +5172,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5178,6 +5242,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5236,6 +5301,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -5289,6 +5355,7 @@ CONFIG_STACKPROTECTOR=y
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -5305,6 +5372,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5334,6 +5402,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5458,7 +5527,6 @@ CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -6119,7 +6187,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6150,6 +6217,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
CONFIG_VSX=y
@@ -6218,6 +6286,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6313,6 +6383,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DEVICE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-ppc64le-debug-rhel.config b/kernel-ppc64le-debug-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-ppc64le-debug-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config
index 8af4a2b3d..e59a04250 100644
--- a/kernel-ppc64le-fedora.config
+++ b/kernel-ppc64le-fedora.config
@@ -66,6 +66,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -188,6 +189,7 @@ CONFIG_AR5523=m
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
@@ -217,6 +219,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -318,6 +321,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -356,6 +360,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -431,6 +436,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -450,11 +456,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
@@ -613,10 +621,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -751,6 +758,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -790,6 +798,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
@@ -1061,11 +1070,13 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1078,7 +1089,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1128,6 +1139,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_AST=m
@@ -1136,7 +1148,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1154,7 +1166,7 @@ CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1164,6 +1176,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1171,6 +1184,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1198,11 +1212,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
CONFIG_DRM_QXL=m
@@ -1349,6 +1366,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1376,9 +1394,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1405,6 +1423,9 @@ CONFIG_EXTRA_TARGETS=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1597,11 +1618,6 @@ CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1626,6 +1642,7 @@ CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1634,7 +1651,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
@@ -1644,6 +1660,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS68470=y
@@ -1801,7 +1818,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_PCIE=y
-# CONFIG_HOTPLUG_PCI_POWERNV is not set
+CONFIG_HOTPLUG_PCI_POWERNV=m
CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
CONFIG_HOTPLUG_PCI_RPA=m
CONFIG_HOTPLUG_PCI_SHPC=y
@@ -1842,8 +1859,6 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ=100
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
@@ -1900,7 +1915,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OPAL=m
-# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_RK3X is not set
@@ -2021,6 +2035,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2057,6 +2072,13 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2469,6 +2491,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2642,6 +2665,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -2849,6 +2873,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -2882,6 +2907,7 @@ CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -2893,6 +2919,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3025,6 +3052,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3035,6 +3065,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_BITMAP_SELFTEST=y
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3075,7 +3106,6 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3184,6 +3214,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3204,6 +3235,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3342,8 +3374,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3524,11 +3558,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -3860,6 +3896,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -3906,12 +3943,14 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80 is not set
# CONFIG_PINCTRL_SUN9I_A80_R is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PING is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_AUTOSLEEP is not set
@@ -4047,7 +4086,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4060,10 +4101,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4082,6 +4123,7 @@ CONFIG_QLGE=m
# CONFIG_QNX6FS_FS is not set
CONFIG_QSEMI_PHY=m
CONFIG_QTNFMAC_PCIE=m
+# CONFIG_QUICC_ENGINE is not set
CONFIG_QUOTACTL=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -4181,6 +4223,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4199,6 +4243,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_FS_POSIX_ACL=y
@@ -4211,6 +4256,8 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4433,6 +4480,8 @@ CONFIG_SBP_TARGET=m
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
CONFIG_SCANLOG=y
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -4544,6 +4593,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_SC_VIDEOCC_7180 is not set
# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
@@ -4565,6 +4615,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4581,6 +4633,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4600,6 +4653,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -4675,8 +4729,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -4746,8 +4802,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -4886,6 +4944,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5070,6 +5129,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5089,9 +5149,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5155,6 +5219,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5213,6 +5278,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -5266,6 +5332,7 @@ CONFIG_STACKPROTECTOR=y
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -5282,6 +5349,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5311,6 +5379,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5435,7 +5504,6 @@ CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -6096,7 +6164,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=m
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6127,6 +6194,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
CONFIG_VSX=y
@@ -6195,6 +6263,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6234,7 +6304,6 @@ CONFIG_WLCORE_SPI=m
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_MCELOG_LEGACY=y
-# CONFIG_X86_PTDUMP is not set
CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
@@ -6290,6 +6359,7 @@ CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DEVICE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-ppc64le-rhel.config b/kernel-ppc64le-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-ppc64le-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config
index cb7b54839..675cdacee 100644
--- a/kernel-s390x-debug-fedora.config
+++ b/kernel-s390x-debug-fedora.config
@@ -66,6 +66,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -222,6 +223,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -323,6 +325,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=m
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -361,6 +364,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -437,6 +441,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -456,11 +461,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -617,10 +624,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -758,6 +764,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -798,6 +805,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
@@ -1076,11 +1084,13 @@ CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DIAG288_WATCHDOG=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1094,7 +1104,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1144,6 +1154,7 @@ CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU is not set
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_AST is not set
@@ -1152,7 +1163,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1170,7 +1181,7 @@ CONFIG_DRM_I2C_ADV7533=y
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_MGAG200 is not set
@@ -1180,6 +1191,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU is not set
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1187,6 +1199,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1214,11 +1227,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_QXL is not set
@@ -1364,6 +1380,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1392,9 +1409,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
# CONFIG_ETHOC is not set
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
CONFIG_EXPOLINE_AUTO=y
# CONFIG_EXPOLINE_FULL is not set
@@ -1421,6 +1438,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1612,11 +1632,6 @@ CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1640,6 +1655,7 @@ CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
# CONFIG_GPIOLIB is not set
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1648,7 +1664,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
@@ -1658,6 +1673,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS68470=y
@@ -1843,8 +1859,6 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
# CONFIG_HZ_200 is not set
@@ -1898,7 +1912,6 @@ CONFIG_I2C_MUX_MLXCPLD=m
# CONFIG_I2C_NFORCE2_S4985 is not set
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_RK3X is not set
@@ -2017,6 +2030,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2053,6 +2067,13 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2467,6 +2488,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2635,6 +2657,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -2844,6 +2867,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -2877,6 +2901,7 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_WCD934X is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -2888,6 +2913,7 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3021,6 +3047,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3030,6 +3059,7 @@ CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3070,7 +3100,6 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3177,6 +3206,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3197,6 +3227,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3336,8 +3367,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3517,11 +3550,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -3847,6 +3882,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -3893,6 +3929,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80 is not set
# CONFIG_PINCTRL_SUN9I_A80_R is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PING is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3900,6 +3937,7 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_PKEY=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_AUTOSLEEP is not set
@@ -3997,7 +4035,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4010,10 +4050,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QDIO=m
CONFIG_QEDE=m
@@ -4136,6 +4176,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4154,6 +4196,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_FS_POSIX_ACL=y
@@ -4166,7 +4209,9 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4395,6 +4440,8 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_BOOK=y
CONFIG_SCHED_DEBUG=y
@@ -4510,6 +4557,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_SC_VIDEOCC_7180 is not set
# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
@@ -4531,6 +4579,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4547,6 +4597,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4566,6 +4617,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -4640,8 +4692,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -4711,8 +4765,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -4850,6 +4906,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5034,6 +5091,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5053,9 +5111,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5119,6 +5181,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5174,6 +5237,7 @@ CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -5226,6 +5290,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
# CONFIG_STAGING is not set
CONFIG_STAGING_MEDIA=y
@@ -5242,6 +5307,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5269,6 +5335,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5393,7 +5460,6 @@ CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -6057,7 +6123,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6092,6 +6157,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -6159,6 +6225,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
# CONFIG_WIRELESS_EXT is not set
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6250,7 +6318,9 @@ CONFIG_ZFCP=m
# CONFIG_ZIIRAVE_WATCHDOG is not set
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
+CONFIG_ZLIB_DFLTCC=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-s390x-debug-rhel.config b/kernel-s390x-debug-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-s390x-debug-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config
index 2b96ce67c..251997b4d 100644
--- a/kernel-s390x-fedora.config
+++ b/kernel-s390x-fedora.config
@@ -66,6 +66,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -221,6 +222,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -322,6 +324,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=m
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -360,6 +363,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -436,6 +440,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
# CONFIG_BMC150_MAGN_I2C is not set
# CONFIG_BMC150_MAGN is not set
@@ -455,11 +460,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -616,10 +623,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -757,6 +763,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -797,6 +804,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
@@ -1068,11 +1076,13 @@ CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DIAG288_WATCHDOG=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1085,7 +1095,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1135,6 +1145,7 @@ CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU is not set
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_AST is not set
@@ -1143,7 +1154,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1161,7 +1172,7 @@ CONFIG_DRM_I2C_ADV7533=y
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_MGAG200 is not set
@@ -1171,6 +1182,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU is not set
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1178,6 +1190,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1205,11 +1218,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_QXL is not set
@@ -1355,6 +1371,7 @@ CONFIG_EEPROM_EE1004=m
CONFIG_EEPROM_IDT_89HPESX=m
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
@@ -1383,9 +1400,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
# CONFIG_ETHOC is not set
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
CONFIG_EXPOLINE_AUTO=y
# CONFIG_EXPOLINE_FULL is not set
@@ -1412,6 +1429,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1595,11 +1615,6 @@ CONFIG_GENWQE=m
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1623,6 +1638,7 @@ CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
# CONFIG_GPIOLIB is not set
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1631,7 +1647,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
@@ -1641,6 +1656,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_RDC321X is not set
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS68470=y
@@ -1826,8 +1842,6 @@ CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
# CONFIG_HZ_1000 is not set
CONFIG_HZ_100=y
# CONFIG_HZ_200 is not set
@@ -1881,7 +1895,6 @@ CONFIG_I2C_MUX_MLXCPLD=m
# CONFIG_I2C_NFORCE2_S4985 is not set
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_RK3X is not set
@@ -2000,6 +2013,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2036,6 +2050,13 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2448,6 +2469,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2616,6 +2638,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -2824,6 +2847,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -2857,6 +2881,7 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_TQMX86 is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_WCD934X is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -2868,6 +2893,7 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROSEMI_PHY=m
CONFIG_MIGRATION=y
@@ -3000,6 +3026,9 @@ CONFIG_MPL115_I2C=m
# CONFIG_MPL3115 is not set
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3009,6 +3038,7 @@ CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3049,7 +3079,6 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3156,6 +3185,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3176,6 +3206,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3315,8 +3346,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3496,11 +3529,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -3826,6 +3861,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_INTEL_EMMC is not set
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -3872,6 +3908,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80 is not set
# CONFIG_PINCTRL_SUN9I_A80_R is not set
# CONFIG_PINCTRL_SX150X is not set
+# CONFIG_PING is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
@@ -3879,6 +3916,7 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_PKEY=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_AUTOSLEEP is not set
@@ -3975,7 +4013,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -3988,10 +4028,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QDIO=m
CONFIG_QEDE=m
@@ -4114,6 +4154,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4132,6 +4174,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_FS_POSIX_ACL=y
@@ -4144,7 +4187,9 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD77402 is not set
# CONFIG_RFD_FTL is not set
@@ -4373,6 +4418,8 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_BOOK=y
CONFIG_SCHED_DEBUG=y
@@ -4488,6 +4535,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_SC_VIDEOCC_7180 is not set
# CONFIG_SD_ADC_MODULATOR is not set
CONFIG_SDIO_UART=m
CONFIG_SECCOMP=y
@@ -4509,6 +4557,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4525,6 +4575,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4544,6 +4595,7 @@ CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_BEL_PFE=m
# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -4618,8 +4670,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -4689,8 +4743,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -4828,6 +4884,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5011,6 +5068,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
# CONFIG_SND_SOC_NAU8540 is not set
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5030,9 +5088,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5096,6 +5158,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5151,6 +5214,7 @@ CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
@@ -5203,6 +5267,7 @@ CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
# CONFIG_STAGING is not set
CONFIG_STAGING_MEDIA=y
@@ -5219,6 +5284,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5246,6 +5312,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5370,7 +5437,6 @@ CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_STATISTICS=y
# CONFIG_THERMAL_WRITABLE_TRIPS is not set
CONFIG_THRUSTMASTER_FF=y
-# CONFIG_THUNDERBOLT is not set
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -6034,7 +6100,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6069,6 +6134,7 @@ CONFIG_VMSPLIT_3G=y
# CONFIG_VOP_BUS is not set
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -6136,6 +6202,8 @@ CONFIG_WIL6210=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
# CONFIG_WIRELESS_EXT is not set
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6175,7 +6243,6 @@ CONFIG_WLCORE_SPI=m
# CONFIG_X25 is not set
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_MCELOG_LEGACY=y
-# CONFIG_X86_PTDUMP is not set
CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
@@ -6227,7 +6294,9 @@ CONFIG_ZFCP=m
# CONFIG_ZIIRAVE_WATCHDOG is not set
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
+CONFIG_ZLIB_DFLTCC=y
CONFIG_ZLIB_INFLATE=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-s390x-rhel.config b/kernel-s390x-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-s390x-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-s390x-zfcpdump-rhel.config b/kernel-s390x-zfcpdump-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-s390x-zfcpdump-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config
index 4477b4270..c52f99776 100644
--- a/kernel-x86_64-debug-fedora.config
+++ b/kernel-x86_64-debug-fedora.config
@@ -106,6 +106,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -247,6 +248,7 @@ CONFIG_AR5523=m
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
@@ -281,6 +283,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -388,6 +391,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -426,6 +430,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -501,6 +506,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
CONFIG_BMC150_MAGN_I2C=m
CONFIG_BMC150_MAGN=m
@@ -522,11 +528,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -685,10 +693,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -832,6 +839,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -874,6 +882,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
@@ -1197,11 +1206,13 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1215,7 +1226,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1272,6 +1283,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_AST=m
@@ -1280,7 +1292,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1309,7 +1321,7 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1319,6 +1331,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1326,6 +1339,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1353,11 +1367,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
CONFIG_DRM_QXL=m
@@ -1530,6 +1547,7 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_MIXED=y
CONFIG_EFI_PARTITION=y
@@ -1567,9 +1585,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1599,6 +1617,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1807,11 +1828,6 @@ CONFIG_GENEVE=m
# CONFIG_GENWQE is not set
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1841,6 +1857,7 @@ CONFIG_GPIO_ICH=m
CONFIG_GPIO_IT87=m
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_LYNXPOINT is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
@@ -1851,7 +1868,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
@@ -1862,6 +1878,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SCH is not set
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS68470=y
@@ -2080,8 +2097,6 @@ CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2140,7 +2155,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_PIIX4=m
@@ -2275,6 +2289,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2313,6 +2328,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2392,11 +2414,13 @@ CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
CONFIG_INTEL_IDMA64=m
+CONFIG_INTEL_IDXD=m
CONFIG_INTEL_INT0002_VGPIO=m
CONFIG_INTEL_IOATDMA=m
# CONFIG_INTEL_IOMMU_DEBUGFS is not set
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IPS=m
@@ -2432,6 +2456,7 @@ CONFIG_INTEL_TELEMETRY=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
+CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2789,6 +2814,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2967,6 +2993,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3178,6 +3205,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -3211,6 +3239,7 @@ CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3223,6 +3252,7 @@ CONFIG_MIC_COSM=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_INTEL=y
@@ -3364,6 +3394,9 @@ CONFIG_MPL115_I2C=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPSC is not set
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3375,6 +3408,7 @@ CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3415,7 +3449,6 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3528,6 +3561,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3548,6 +3582,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3687,8 +3722,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3871,11 +3908,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_FAULT_INJECTION=y
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4178,6 +4217,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4238,6 +4278,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+CONFIG_PHY_INTEL_EMMC=m
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4265,6 +4306,7 @@ CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
+CONFIG_PINCTRL_LYNXPOINT=m
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_OCELOT is not set
# CONFIG_PINCTRL_QCS404 is not set
@@ -4296,12 +4338,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
CONFIG_PM_ADVANCED_DEBUG=y
# CONFIG_PM_AUTOSLEEP is not set
@@ -4404,7 +4448,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4425,10 +4471,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4550,6 +4596,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4568,6 +4616,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
@@ -4581,6 +4630,8 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4804,6 +4855,8 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_MC_PRIO=y
@@ -4916,6 +4969,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDMA_VERBOSITY is not set
@@ -4938,6 +4992,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4957,6 +5013,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4981,6 +5038,7 @@ CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5061,8 +5119,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5133,8 +5193,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -5280,6 +5342,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5331,7 +5394,7 @@ 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_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5458,6 +5521,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
+CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m
@@ -5491,6 +5555,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5508,6 +5573,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5527,9 +5593,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5609,6 +5679,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5675,6 +5746,7 @@ CONFIG_SPARSEMEM=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
CONFIG_SPI_MASTER=y
@@ -5724,11 +5796,12 @@ CONFIG_SSB_SDIOHOST=y
CONFIG_STACKLEAK_METRICS=y
CONFIG_STACKLEAK_RUNTIME_DISABLE=y
CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
-CONFIG_STACKPROTECTOR_STRONG=y
+# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACKPROTECTOR=y
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -5745,6 +5818,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5775,6 +5849,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5906,8 +5981,6 @@ CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THRUSTMASTER_FF=y
-CONFIG_THUNDERBOLT=m
-CONFIG_THUNDERBOLT_NET=m
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -5930,6 +6003,7 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
@@ -6129,6 +6203,8 @@ CONFIG_UNUSED_SYMBOLS=y
CONFIG_UNWINDER_ORC=y
CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
+CONFIG_USB4=m
+CONFIG_USB4_NET=m
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_ALI_M5632=y
@@ -6583,7 +6659,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
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_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6621,6 +6696,7 @@ CONFIG_VOP_BUS=m
CONFIG_VOP=m
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -6691,6 +6767,8 @@ CONFIG_WILCO_EC=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6748,7 +6826,6 @@ CONFIG_X86_GENERIC=y
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_MID is not set
-CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
@@ -6868,6 +6945,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DEVICE=y
CONFIG_ZONE_DMA=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-x86_64-debug-rhel.config b/kernel-x86_64-debug-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-x86_64-debug-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config
index 9b611e802..24121b0e7 100644
--- a/kernel-x86_64-fedora.config
+++ b/kernel-x86_64-fedora.config
@@ -106,6 +106,7 @@ CONFIG_AD5272=m
# CONFIG_AD5764 is not set
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
+# CONFIG_AD7091R5 is not set
CONFIG_AD7124=m
# CONFIG_AD7150 is not set
# CONFIG_AD7192 is not set
@@ -247,6 +248,7 @@ CONFIG_AR5523=m
CONFIG_ARCH_MULTIPLATFORM=y
# CONFIG_ARCH_OMAP1 is not set
# CONFIG_ARCH_PXA is not set
+CONFIG_ARCH_RANDOM=y
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
@@ -280,6 +282,7 @@ CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_SPECTRAL is not set
# CONFIG_ATH10K_TRACING is not set
CONFIG_ATH10K_USB=m
+# CONFIG_ATH11K is not set
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -387,6 +390,7 @@ CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_GPIO is not set
+CONFIG_BACKLIGHT_LED=m
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
@@ -425,6 +429,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
CONFIG_BCM7XXX_PHY=m
+# CONFIG_BCM84881_PHY is not set
CONFIG_BCM87XX_PHY=m
CONFIG_BCMA_BLOCKIO=y
# CONFIG_BCMA_DEBUG is not set
@@ -500,6 +505,7 @@ CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_WBT=y
# CONFIG_BMA180 is not set
# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
CONFIG_BMC150_ACCEL=m
CONFIG_BMC150_MAGN_I2C=m
CONFIG_BMC150_MAGN=m
@@ -521,11 +527,13 @@ CONFIG_BNXT_HWMON=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
+CONFIG_BOOT_CONFIG=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOT_PRINTK_DELAY=y
+CONFIG_BOOTTIME_TRACING=y
CONFIG_BOUNCE=y
# CONFIG_BPFILTER is not set
CONFIG_BPF_JIT_ALWAYS_ON=y
@@ -684,10 +692,9 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-CONFIG_CAN_UCAN=m
+# CONFIG_CAN_UCAN is not set
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
-CONFIG_CAPI_AVM=y
# CONFIG_CAPI_TRACE is not set
CONFIG_CARDBUS=y
CONFIG_CARDMAN_4000=m
@@ -831,6 +838,7 @@ CONFIG_CODA_FS=m
# CONFIG_COMMON_CLK_CDCE925 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_COMMON_CLK_FSL_SAI is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_COMMON_CLK_SI514 is not set
@@ -873,6 +881,7 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
@@ -1189,11 +1198,13 @@ CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS=y
CONFIG_DHT11=m
CONFIG_DL2K=m
+# CONFIG_DLHL60D is not set
CONFIG_DLM_DEBUG=y
CONFIG_DLM=m
CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
+# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1206,7 +1217,7 @@ CONFIG_DMARD10=m
# CONFIG_DMATEST is not set
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
-# CONFIG_DM_CLONE is not set
+CONFIG_DM_CLONE=m
CONFIG_DM_CRYPT=m
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
@@ -1263,6 +1274,7 @@ CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_USERPTR=y
+CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_ARCPGU is not set
CONFIG_DRM_AST=m
@@ -1271,7 +1283,7 @@ CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_DP_AUX_CHARDEV=y
-CONFIG_DRM_DP_CEC=y
+# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
@@ -1300,7 +1312,7 @@ CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_KOMEDA is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1310,6 +1322,7 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
@@ -1317,6 +1330,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
@@ -1344,11 +1358,14 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
CONFIG_DRM_QXL=m
@@ -1521,6 +1538,7 @@ CONFIG_EEPROM_MAX6875=m
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_MIXED=y
CONFIG_EFI_PARTITION=y
@@ -1558,9 +1576,9 @@ CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
+CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
-# CONFIG_EXFAT_FS is not set
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1590,6 +1608,9 @@ CONFIG_EXTRA_FIRMWARE=""
# CONFIG_EZX_PCAP is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
@@ -1790,11 +1811,6 @@ CONFIG_GENEVE=m
# CONFIG_GENWQE is not set
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
@@ -1824,6 +1840,7 @@ CONFIG_GPIO_ICH=m
CONFIG_GPIO_IT87=m
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIOLIB=y
+# CONFIG_GPIO_LOGICVC is not set
# CONFIG_GPIO_LYNXPOINT is not set
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7300 is not set
@@ -1834,7 +1851,6 @@ CONFIG_GPIO_MAX77650=m
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_PCA953X=m
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
@@ -1845,6 +1861,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SAMA5D2_PIOBU is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_SCH is not set
+# CONFIG_GPIO_SIFIVE is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS68470=y
@@ -2063,8 +2080,6 @@ CONFIG_HYPERV_STORAGE=m
# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
-CONFIG_HYSDN_CAPI=y
-CONFIG_HYSDN=m
CONFIG_HZ_1000=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_200 is not set
@@ -2123,7 +2138,6 @@ CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_PIIX4=m
@@ -2258,6 +2272,7 @@ CONFIG_INET6_IPCOMP=m
CONFIG_INET_AH=m
CONFIG_INET_DIAG_DESTROY=y
CONFIG_INET_DIAG=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
@@ -2296,6 +2311,13 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZO is not set
+CONFIG_INITRAMFS_COMPRESSION_NONE=y
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INIT_STACK_NONE=y
CONFIG_INOTIFY_USER=y
@@ -2375,11 +2397,13 @@ CONFIG_INTEL_CHT_INT33FE=m
CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_IDLE=y
CONFIG_INTEL_IDMA64=m
+CONFIG_INTEL_IDXD=m
CONFIG_INTEL_INT0002_VGPIO=m
CONFIG_INTEL_IOATDMA=m
# CONFIG_INTEL_IOMMU_DEBUGFS is not set
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IPS=m
@@ -2415,6 +2439,7 @@ CONFIG_INTEL_TELEMETRY=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
+CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2770,6 +2795,7 @@ CONFIG_KGDB_TESTS=y
CONFIG_KGDB=y
# CONFIG_KMX61 is not set
# CONFIG_KPC2000 is not set
+# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBES_SANITY_TEST is not set
@@ -2948,6 +2974,7 @@ CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
CONFIG_LTC1660=m
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
CONFIG_LTC2983=m
@@ -3159,6 +3186,7 @@ CONFIG_MFD_MAX77650=m
# CONFIG_MFD_RK808 is not set
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_ROHM_BD70528 is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
# CONFIG_MFD_ROHM_BD718XX is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_SEC_CORE is not set
@@ -3192,6 +3220,7 @@ CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
+# CONFIG_MFD_WCD934X is not set
CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
@@ -3204,6 +3233,7 @@ CONFIG_MIC_COSM=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_PIT64B is not set
# CONFIG_MICROCHIP_T1_PHY is not set
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_INTEL=y
@@ -3345,6 +3375,9 @@ CONFIG_MPL115_I2C=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
# CONFIG_MPSC is not set
+# CONFIG_MPTCP_HMAC_TEST is not set
+CONFIG_MPTCP_IPV6=y
+CONFIG_MPTCP=y
CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
@@ -3356,6 +3389,7 @@ CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
# CONFIG_MSM_GPUCC_8998 is not set
+# CONFIG_MSM_MMCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3396,7 +3430,6 @@ CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
-# CONFIG_MTD_NAND_FSL_IFC is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MESON is not set
@@ -3509,6 +3542,7 @@ CONFIG_NETDEVICES=y
CONFIG_NET_DEVLINK=y
CONFIG_NETDEVSIM=m
CONFIG_NET_DROP_MONITOR=y
+# CONFIG_NET_DSA_AR9331 is not set
CONFIG_NET_DSA_BCM_SF2=m
# CONFIG_NET_DSA_LANTIQ_GSWIP is not set
CONFIG_NET_DSA_LOOP=m
@@ -3529,6 +3563,7 @@ CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
+# CONFIG_NET_DSA_TAG_AR9331 is not set
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
CONFIG_NET_DSA_TAG_OCELOT=m
@@ -3668,8 +3703,10 @@ CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_ETF=m
+# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
+# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_HHF=m
@@ -3852,11 +3889,13 @@ CONFIG_NF_REJECT_IPV6=m
CONFIG_NFSD_BLOCKLAYOUT=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_NFSD_FLEXFILELAYOUT=y
+# CONFIG_NFS_DISABLE_UDP_SUPPORT is not set
CONFIG_NFSD=m
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_FSCACHE=y
@@ -4159,6 +4198,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4219,6 +4259,7 @@ CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+CONFIG_PHY_INTEL_EMMC=m
CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
@@ -4246,6 +4287,7 @@ CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
+CONFIG_PINCTRL_LYNXPOINT=m
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_OCELOT is not set
# CONFIG_PINCTRL_QCS404 is not set
@@ -4277,12 +4319,14 @@ CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
+# CONFIG_PING is not set
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
# CONFIG_PLATFORM_SI4713 is not set
# CONFIG_PLIP is not set
+# CONFIG_PLX_DMA is not set
CONFIG_PLX_HERMES=m
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_AUTOSLEEP is not set
@@ -4384,7 +4428,9 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_PTP_1588_CLOCK_IDTCM=m
+# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4405,10 +4451,10 @@ CONFIG_PWRSEQ_SD8787=m
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
+# CONFIG_QCOM_CPR is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4530,6 +4576,8 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
# CONFIG_REGULATOR_PV88060 is not set
@@ -4548,6 +4596,7 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_REGULATOR_VCTRL=m
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
CONFIG_REGULATOR=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_FS=m
@@ -4561,6 +4610,8 @@ CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
+# CONFIG_RESET_INTEL_GW is not set
# CONFIG_RESET_TI_SYSCON is not set
CONFIG_RETPOLINE=y
# CONFIG_RFD77402 is not set
@@ -4784,6 +4835,8 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_DISPCC_7180 is not set
+# CONFIG_SC_GPUCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_MC_PRIO=y
@@ -4896,6 +4949,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_SC_VIDEOCC_7180 is not set
CONFIG_SD_ADC_MODULATOR=m
CONFIG_SDIO_UART=m
# CONFIG_SDMA_VERBOSITY is not set
@@ -4918,6 +4972,8 @@ CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
@@ -4937,6 +4993,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADS7828=m
@@ -4961,6 +5018,7 @@ CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_EMC1403=m
@@ -5041,8 +5099,10 @@ CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX20730 is not set
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31722=m
+# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX31790=m
CONFIG_SENSORS_MAX34440=m
@@ -5113,8 +5173,10 @@ CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
+# CONFIG_SENSORS_XDPE122 is not set
# CONFIG_SENSORS_XGENE is not set
CONFIG_SENSORS_ZL6100=m
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
@@ -5260,6 +5322,7 @@ CONFIG_SND_CS46XX=m
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CS5530=m
CONFIG_SND_CS5535AUDIO=m
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_CTXFI=m
CONFIG_SND_DARLA20=m
CONFIG_SND_DARLA24=m
@@ -5311,7 +5374,7 @@ 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_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5437,6 +5500,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# CONFIG_SND_SOC_IMX_ES8328 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
+CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m
@@ -5470,6 +5534,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5487,6 +5552,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
# CONFIG_SND_SOC_MTK_BTCVSD is not set
CONFIG_SND_SOC_NAU8540=m
# CONFIG_SND_SOC_NAU8810 is not set
@@ -5506,9 +5572,13 @@ CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
+# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+# CONFIG_SND_SOC_RT700_SDW is not set
+# CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT715_SDW is not set
# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
@@ -5588,6 +5658,7 @@ CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8974 is not set
# CONFIG_SND_SOC_WM8978 is not set
# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_WSA881X is not set
# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
# CONFIG_SND_SOC_XILINX_I2S is not set
# CONFIG_SND_SOC_XILINX_SPDIF is not set
@@ -5654,6 +5725,7 @@ CONFIG_SPARSEMEM=y
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_HISI_SFC_V3XX is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
CONFIG_SPI_MASTER=y
@@ -5703,11 +5775,12 @@ CONFIG_SSB_SDIOHOST=y
CONFIG_STACKLEAK_METRICS=y
CONFIG_STACKLEAK_RUNTIME_DISABLE=y
CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
-CONFIG_STACKPROTECTOR_STRONG=y
+# CONFIG_STACKPROTECTOR_STRONG is not set
CONFIG_STACKPROTECTOR=y
CONFIG_STACK_TRACER=y
CONFIG_STACK_VALIDATION=y
# CONFIG_STAGING_BOARD is not set
+# CONFIG_STAGING_EXFAT_FS is not set
# CONFIG_STAGING_GASKET_FRAMEWORK is not set
CONFIG_STAGING_MEDIA=y
CONFIG_STAGING=y
@@ -5724,6 +5797,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_STRICT_DEVMEM=y
+CONFIG_STRICT_KERNEL_RWX=y
# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
CONFIG_ST_UVIS25_I2C=m
@@ -5754,6 +5828,7 @@ CONFIG_SYNCLINK_GT=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYN_COOKIES=y
+# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
@@ -5885,8 +5960,6 @@ CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THRUSTMASTER_FF=y
-CONFIG_THUNDERBOLT=m
-CONFIG_THUNDERBOLT_NET=m
# CONFIG_TI_ADC081C is not set
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
@@ -5909,6 +5982,7 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
@@ -6108,6 +6182,8 @@ CONFIG_UNUSED_SYMBOLS=y
CONFIG_UNWINDER_ORC=y
CONFIG_UPROBE_EVENTS=y
# CONFIG_US5182D is not set
+CONFIG_USB4=m
+CONFIG_USB4_NET=m
CONFIG_USB_ACM=m
CONFIG_USB_ADUTUX=m
CONFIG_USB_ALI_M5632=y
@@ -6562,7 +6638,6 @@ CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
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_FS=m
CONFIG_VIRTIO_INPUT=m
@@ -6600,6 +6675,7 @@ CONFIG_VOP_BUS=m
CONFIG_VOP=m
CONFIG_VORTEX=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKMON=m
# CONFIG_VT6655 is not set
@@ -6670,6 +6746,8 @@ CONFIG_WILCO_EC=m
CONFIG_WILINK_PLATFORM_DATA=y
# CONFIG_WIMAX is not set
CONFIG_WINBOND_840=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_WIREGUARD=m
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS=y
CONFIG_WIZNET_BUS_ANY=y
@@ -6727,7 +6805,6 @@ CONFIG_X86_GENERIC=y
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_MID is not set
-CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
@@ -6750,7 +6827,6 @@ CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_PM_TIMER=y
CONFIG_X86_POWERNOW_K8=m
-# CONFIG_X86_PTDUMP is not set
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_RESERVE_LOW=64
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
@@ -6847,6 +6923,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DEVICE=y
CONFIG_ZONE_DMA=y
+# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
diff --git a/kernel-x86_64-rhel.config b/kernel-x86_64-rhel.config
new file mode 100644
index 000000000..c76e0e471
--- /dev/null
+++ b/kernel-x86_64-rhel.config
@@ -0,0 +1 @@
+# EMPTY
diff --git a/kernel.spec b/kernel.spec
index 08b2dcbf0..a242f088b 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -52,7 +52,7 @@ Summary: The Linux kernel
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 5
+%define base_sublevel 6
## If this is a released kernel ##
%if 0%{?released_kernel}
@@ -61,7 +61,7 @@ Summary: The Linux kernel
%define stable_rc 0
# Do we have a -stable update to apply?
-%define stable_update 19
+%define stable_update 7
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -447,26 +447,36 @@ Source95: filter-s390x.sh
Source99: filter-modules.sh
%define modsign_cmd %{SOURCE18}
-Source20: kernel-aarch64.config
-Source21: kernel-aarch64-debug.config
-Source22: kernel-armv7hl.config
-Source23: kernel-armv7hl-debug.config
-Source24: kernel-armv7hl-lpae.config
-Source25: kernel-armv7hl-lpae-debug.config
-Source26: kernel-i686.config
-Source27: kernel-i686-debug.config
-Source30: kernel-ppc64le.config
-Source31: kernel-ppc64le-debug.config
-Source32: kernel-s390x.config
-Source33: kernel-s390x-debug.config
-Source34: kernel-x86_64.config
-Source35: kernel-x86_64-debug.config
-
-Source40: generate_all_configs.sh
-Source41: generate_debug_configs.sh
-
-Source42: process_configs.sh
-Source43: generate_bls_conf.sh
+Source20: kernel-aarch64-rhel.config
+Source21: kernel-aarch64-debug-rhel.config
+Source30: kernel-ppc64le-rhel.config
+Source31: kernel-ppc64le-debug-rhel.config
+Source32: kernel-s390x-rhel.config
+Source33: kernel-s390x-debug-rhel.config
+Source34: kernel-s390x-zfcpdump-rhel.config
+Source35: kernel-x86_64-rhel.config
+Source36: kernel-x86_64-debug-rhel.config
+
+Source37: kernel-aarch64-fedora.config
+Source38: kernel-aarch64-debug-fedora.config
+Source39: kernel-armv7hl-fedora.config
+Source40: kernel-armv7hl-debug-fedora.config
+Source41: kernel-armv7hl-lpae-fedora.config
+Source42: kernel-armv7hl-lpae-debug-fedora.config
+Source43: kernel-i686-fedora.config
+Source44: kernel-i686-debug-fedora.config
+Source45: kernel-ppc64le-fedora.config
+Source46: kernel-ppc64le-debug-fedora.config
+Source47: kernel-s390x-fedora.config
+Source48: kernel-s390x-debug-fedora.config
+Source49: kernel-x86_64-fedora.config
+Source50: kernel-x86_64-debug-fedora.config
+
+Source60: generate_all_configs.sh
+Source61: generate_debug_configs.sh
+
+Source62: process_configs.sh
+Source63: generate_bls_conf.sh
# This file is intentionally left empty in the stock kernel. Its a nicety
# added for those wanting to do custom rebuilds with altered config opts.
@@ -537,23 +547,54 @@ Patch303: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch
Patch304: ARM-tegra-usb-no-reset.patch
# Raspberry Pi
-# https://patchwork.kernel.org/cover/11271017/
-Patch310: Raspberry-Pi-4-PCIe-support.patch
-# https://patchwork.kernel.org/patch/11223139/
-Patch311: ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch
-# https://patchwork.kernel.org/patch/11299997/
-Patch312: bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch
# https://patchwork.kernel.org/cover/11353083/
-Patch313: arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
-# https://github.com/raspberrypi/linux/commit/c74b1b53254016fd83b580b8d49bb02d72ce4836
-Patch314: usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch
+Patch310: arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
+# v5 https://patchwork.kernel.org/cover/11429245/
+Patch311: USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
# https://patchwork.kernel.org/patch/11372935/
-Patch315: bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
+Patch312: bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
+# https://patchwork.kernel.org/patch/11420129/
+Patch313: ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
+# Upstream commit f87391eec2c5 thread: https://www.spinics.net/lists/linux-mmc/msg58036.html
+Patch314: arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
+# Upstream commit 57b76faf1d78
+Patch316: arm-bcm2835-serial-8250_early-support-aux-uart.patch
# Tegra bits
-Patch320: arm64-tegra-jetson-tx1-fixes.patch
-# https://www.spinics.net/lists/linux-tegra/msg43110.html
-Patch321: arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch
+# https://www.spinics.net/lists/linux-tegra/msg48152.html
+Patch320: ARM64-Tegra-fixes.patch
+# http://patchwork.ozlabs.org/patch/1230891/
+Patch321: arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
+# http://patchwork.ozlabs.org/patch/1243162/
+Patch324: regulator-pwm-Don-t-warn-on-probe-deferral.patch
+# http://patchwork.ozlabs.org/patch/1243112/
+Patch325: backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch
+# https://patchwork.ozlabs.org/patch/1261638/
+Patch326: arm64-drm-tegra-Fix-SMMU-support-on-Tegra124-and-Tegra210.patch
+# http://patchwork.ozlabs.org/patch/1221384/
+Patch327: PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
+
+# Coral
+Patch330: arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
+
+# Pine64 bits
+# 340-345 queued for 5.7
+Patch340: arm64-pinebook-fixes.patch
+Patch341: arm64-a64-mbus.patch
+# v4 https://patchwork.kernel.org/cover/11420797/
+Patch342: Add-support-for-the-pine64-Pinebook-Pro.patch
+# https://patchwork.kernel.org/cover/11405517/
+Patch343: Add-LCD-support-for-Pine64-Pinebook-1080p.patch
+# https://lkml.org/lkml/2020/1/15/1320
+Patch344: arm64-pine64-pinetab.patch
+# https://www.spinics.net/lists/arm-kernel/msg789135.html
+Patch345: arm64-pine64-pinephone.patch
+# https://patchwork.kernel.org/cover/11440399/
+Patch346: Add-support-for-PinePhone-LCD-panel.patch
+# https://www.spinics.net/lists/devicetree/msg346446.html
+Patch347: arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
+# https://www.spinics.net/lists/devicetree/msg347052.html
+Patch348: usb-fusb302-Convert-to-use-GPIO-descriptors.patch
# 400 - IBM (ppc/s390x) patches
@@ -577,14 +618,11 @@ Patch504: 0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
# https://lkml.org/lkml/2019/8/29/1772
Patch505: ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch
-# ALSA code from v5.6 (Intel ASoC Sound Open Firmware driver support)
-Patch506: alsa-5.6.patch
+# More DP-MST fixes, pending for 5.7
+Patch507: drm-dp-mst-error-handling-improvements.patch
-# i915 "critical" patch from upstream
-Patch508: 20200310_chris_chris_wilson_co_uk.patch
-
-# Backport vboxsf from 5.6, can be dropped when we move to 5.6
-Patch510: 0001-fs-Add-VirtualBox-guest-shared-folder-vboxsf-support.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=1811850
+Patch509: drm-i915-backports.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1816621
# https://patchwork.ozlabs.org/patch/1260523/
@@ -1046,22 +1084,11 @@ cd configs
cp $RPM_SOURCE_DIR/kernel-*.config .
cp %{SOURCE1000} .
cp %{SOURCE15} .
-cp %{SOURCE40} .
-cp %{SOURCE41} .
-cp %{SOURCE43} .
-
-%if !%{debugbuildsenabled}
-# The normal build is a really debug build and the user has explicitly requested
-# a release kernel. Change the config files into non-debug versions.
-%if !%{with_release}
-VERSION=%{version} ./generate_debug_configs.sh
-%else
-VERSION=%{version} ./generate_all_configs.sh
-%endif
+cp %{SOURCE60} .
+cp %{SOURCE61} .
+cp %{SOURCE63} .
-%else
-VERSION=%{version} ./generate_all_configs.sh
-%endif
+VERSION=%{version} ./generate_all_configs.sh fedora %{debugbuildsenabled}
# Merge in any user-provided local config option changes
%ifnarch %nobuildarches
@@ -1092,7 +1119,7 @@ CheckConfigs() {
fi
}
-cp %{SOURCE42} .
+cp %{SOURCE62} .
OPTS=""
%if %{listnewconfig_fail}
OPTS="$OPTS -n"
@@ -1517,7 +1544,7 @@ BuildKernel() {
find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete
# build a BLS config for this kernel
- %{SOURCE43} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}"
+ %{SOURCE63} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}"
}
###
@@ -1833,6 +1860,9 @@ fi
#
#
%changelog
+* Fri Apr 24 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.6.7-100
+- Linux v5.6.7 rebase
+
* Tue Apr 21 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.5.19-100
- Linux v5.5.19
diff --git a/regulator-pwm-Don-t-warn-on-probe-deferral.patch b/regulator-pwm-Don-t-warn-on-probe-deferral.patch
new file mode 100644
index 000000000..cebfae9de
--- /dev/null
+++ b/regulator-pwm-Don-t-warn-on-probe-deferral.patch
@@ -0,0 +1,36 @@
+From 0cd71b9a43ad80f4d9a8bfde6ec6db8daf447029 Mon Sep 17 00:00:00 2001
+From: Jon Hunter <jonathanh@nvidia.com>
+Date: Mon, 2 Mar 2020 14:14:28 +0000
+Subject: regulator: pwm: Don't warn on probe deferral
+
+Deferred probe is an expected return value for devm_pwm_get(). Given
+that the driver deals with it properly, rather than warn on probe
+deferral, only output a message on probe deferral if debug level
+prints are enabled.
+
+Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
+Link: https://lore.kernel.org/r/20200302141428.14119-1-jonathanh@nvidia.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+---
+ drivers/regulator/pwm-regulator.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c
+index e74e11101fc1..638329bd0745 100644
+--- a/drivers/regulator/pwm-regulator.c
++++ b/drivers/regulator/pwm-regulator.c
+@@ -354,7 +354,11 @@ static int pwm_regulator_probe(struct platform_device *pdev)
+ drvdata->pwm = devm_pwm_get(&pdev->dev, NULL);
+ if (IS_ERR(drvdata->pwm)) {
+ ret = PTR_ERR(drvdata->pwm);
+- dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
++ if (ret == -EPROBE_DEFER)
++ dev_dbg(&pdev->dev,
++ "Failed to get PWM, deferring probe\n");
++ else
++ dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
+ return ret;
+ }
+
+--
+cgit 1.2-0.3.lf.el7
diff --git a/sources b/sources
index 8f6bb3cac..63e07ca91 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (linux-5.5.tar.xz) = fa74fdabb5e63384a39e54da05b86a9ae9ea16179524b041fbbdffc7177e80b53600ae98d76be127ba216148f9dc55fe07ab20637e22c6d6030cb4aa09eb2f86
-SHA512 (patch-5.5.19.xz) = c472b98a1c22b42f8acf1f14d47e639c880b45e5eb3dfcf0aedd601c259db920c0071d128d975c21caf31cb58f33cfeebae18135ba3c1f43cf8dc90562c73b27
+SHA512 (linux-5.6.tar.xz) = 80846fe2b4e4a7ff471d2dde28a8216ae807a3209f959e93d39ea4fc9a189ea28ec3db9d303b3fe15a28c2cb90e7446876678e93e23353c2d6f262e364a06bc9
+SHA512 (patch-5.6.7.xz) = 1d8835bc1b90841a08eaed15202c65e27a584d036c6ea59869a87707bf71521bf3796321e0e730df2fe28b45ad0e19301d53add4d7e2f7fd7371b5061552c86f
diff --git a/usb-fusb302-Convert-to-use-GPIO-descriptors.patch b/usb-fusb302-Convert-to-use-GPIO-descriptors.patch
new file mode 100644
index 000000000..8ba00ea69
--- /dev/null
+++ b/usb-fusb302-Convert-to-use-GPIO-descriptors.patch
@@ -0,0 +1,155 @@
+From 619bb30cc0fe1754f8dfa0fa4ea94fd937857fbd Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Mon, 20 Apr 2020 09:55:38 +0100
+Subject: [PATCH] usb: fusb302: Convert to use GPIO descriptors
+
+This converts the FUSB302 driver to use GPIO descriptors.
+The conversion to descriptors per se is pretty straight-forward.
+
+In the process I discovered that:
+
+1. The driver uses a completely undocumented device tree binding
+ for the interrupt GPIO line, "fcs,int_n". Ooops.
+
+2. The undocumented binding, presumably since it has not seen
+ review, is just "fcs,int_n", lacking the compulsory "-gpios"
+ suffix and also something that is not a good name because
+ the "_n" implies the line is inverted which is something we
+ handle with flags in the device tree. Ooops.
+
+3. Possibly the driver should not be requesting the line as a
+ GPIO and request the corresponding interrupt line by open
+ coding, the GPIO chip is very likely doubleing as an IRQ
+ controller and can probably provide an interrupt directly
+ for this line with interrupts-extended = <&gpio0 ...>;
+
+4. Possibly the IRQ should just be tagged on the I2C client node
+ in the device tree like apparently ACPI does, as it overrides
+ this IRQ with client->irq if that exists.
+
+But now it is too late to do much about that and as I can see
+this is used like this in the Pinebook which is a shipping product
+so let'a just contain the mess and move on.
+
+The property currently appears in:
+arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
+
+Create a quirk in the GPIO OF library to allow this property
+specifically to be specified without the "-gpios" suffix, we have
+other such bindings already.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+---
+ drivers/gpio/gpiolib-of.c | 21 +++++++++++++++++++++
+ drivers/usb/typec/tcpm/fusb302.c | 32 +++++++++-----------------------
+ 2 files changed, 30 insertions(+), 23 deletions(-)
+
+diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
+index ccc449df3792..20c2c428168e 100644
+--- a/drivers/gpio/gpiolib-of.c
++++ b/drivers/gpio/gpiolib-of.c
+@@ -460,6 +460,24 @@ static struct gpio_desc *of_find_arizona_gpio(struct device *dev,
+ return of_get_named_gpiod_flags(dev->of_node, con_id, 0, of_flags);
+ }
+
++static struct gpio_desc *of_find_usb_gpio(struct device *dev,
++ const char *con_id,
++ enum of_gpio_flags *of_flags)
++{
++ /*
++ * Currently this USB quirk is only for the Fairchild FUSB302 host which is using
++ * an undocumented DT GPIO line named "fcs,int_n" without the compulsory "-gpios"
++ * suffix.
++ */
++ if (!IS_ENABLED(CONFIG_TYPEC_FUSB302))
++ return ERR_PTR(-ENOENT);
++
++ if (!con_id || strcmp(con_id, "fcs,int_n"))
++ return ERR_PTR(-ENOENT);
++
++ return of_get_named_gpiod_flags(dev->of_node, con_id, 0, of_flags);
++}
++
+ struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id,
+ unsigned int idx, unsigned long *flags)
+ {
+@@ -504,6 +522,9 @@ struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id,
+ if (PTR_ERR(desc) == -ENOENT)
+ desc = of_find_arizona_gpio(dev, con_id, &of_flags);
+
++ if (PTR_ERR(desc) == -ENOENT)
++ desc = of_find_usb_gpio(dev, con_id, &of_flags);
++
+ if (IS_ERR(desc))
+ return desc;
+
+diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
+index b498960ff72b..b28facece43c 100644
+--- a/drivers/usb/typec/tcpm/fusb302.c
++++ b/drivers/usb/typec/tcpm/fusb302.c
+@@ -9,14 +9,13 @@
+ #include <linux/delay.h>
+ #include <linux/errno.h>
+ #include <linux/extcon.h>
+-#include <linux/gpio.h>
++#include <linux/gpio/consumer.h>
+ #include <linux/i2c.h>
+ #include <linux/interrupt.h>
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/mutex.h>
+ #include <linux/of_device.h>
+-#include <linux/of_gpio.h>
+ #include <linux/pinctrl/consumer.h>
+ #include <linux/proc_fs.h>
+ #include <linux/regulator/consumer.h>
+@@ -83,7 +82,7 @@ struct fusb302_chip {
+ struct work_struct irq_work;
+ bool irq_suspended;
+ bool irq_while_suspended;
+- int gpio_int_n;
++ struct gpio_desc *gpio_int_n;
+ int gpio_int_n_irq;
+ struct extcon_dev *extcon;
+
+@@ -1618,30 +1617,17 @@ static void fusb302_irq_work(struct work_struct *work)
+
+ static int init_gpio(struct fusb302_chip *chip)
+ {
+- struct device_node *node;
++ struct device *dev = chip->dev;
+ int ret = 0;
+
+- node = chip->dev->of_node;
+- chip->gpio_int_n = of_get_named_gpio(node, "fcs,int_n", 0);
+- if (!gpio_is_valid(chip->gpio_int_n)) {
+- ret = chip->gpio_int_n;
+- dev_err(chip->dev, "cannot get named GPIO Int_N, ret=%d", ret);
+- return ret;
+- }
+- ret = devm_gpio_request(chip->dev, chip->gpio_int_n, "fcs,int_n");
+- if (ret < 0) {
+- dev_err(chip->dev, "cannot request GPIO Int_N, ret=%d", ret);
+- return ret;
+- }
+- ret = gpio_direction_input(chip->gpio_int_n);
+- if (ret < 0) {
+- dev_err(chip->dev,
+- "cannot set GPIO Int_N to input, ret=%d", ret);
+- return ret;
++ chip->gpio_int_n = devm_gpiod_get(dev, "fcs,int_n", GPIOD_IN);
++ if (IS_ERR(chip->gpio_int_n)) {
++ dev_err(dev, "failed to request gpio_int_n\n");
++ return PTR_ERR(chip->gpio_int_n);
+ }
+- ret = gpio_to_irq(chip->gpio_int_n);
++ ret = gpiod_to_irq(chip->gpio_int_n);
+ if (ret < 0) {
+- dev_err(chip->dev,
++ dev_err(dev,
+ "cannot request IRQ for GPIO Int_N, ret=%d", ret);
+ return ret;
+ }
+--
+2.26.1
+
diff --git a/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch b/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch
deleted file mode 100644
index 7bf875c6d..000000000
--- a/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From eb05efbfe58a7815957844e6dbe28735e85393cf Mon Sep 17 00:00:00 2001
-From: Tim Gover <990920+timg236@users.noreply.github.com>
-Date: Wed, 15 Jan 2020 11:26:19 +0000
-Subject: [PATCH] usb: xhci: Raspberry Pi FW loader for VIA VL805
-
-The VL805 FW may either be loaded from an SPI EEPROM or alternatively
-loaded directly by the VideoCore firmware. A PCI reset will reset
-the VL805 XHCI controller on the Raspberry Pi4 requiring the firmware
-to be reloaded if an SPI EEPROM is not present.
-
-Use a VideoCore mailbox to trigger the loading of the VL805
-firmware (if necessary) after a PCI reset.
-
-Signed-off-by: Tim Gover <tim.gover@raspberrypi.org>
----
- drivers/usb/host/pci-quirks.c | 31 +++++++++++++++++++++-
- include/soc/bcm2835/raspberrypi-firmware.h | 2 +-
- 2 files changed, 31 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
-index 6c7f0a876b96..c3367b053044 100644
---- a/drivers/usb/host/pci-quirks.c
-+++ b/drivers/usb/host/pci-quirks.c
-@@ -18,7 +18,7 @@
- #include <linux/dmi.h>
- #include "pci-quirks.h"
- #include "xhci-ext-caps.h"
--
-+#include <soc/bcm2835/raspberrypi-firmware.h>
-
- #define UHCI_USBLEGSUP 0xc0 /* legacy support */
- #define UHCI_USBCMD 0 /* command register */
-@@ -630,6 +630,32 @@ bool usb_amd_pt_check_port(struct device *device, int port)
- }
- EXPORT_SYMBOL_GPL(usb_amd_pt_check_port);
-
-+/* The VL805 firmware may either be loaded from an EEPROM or by the BIOS into
-+ * memory. If run from memory it must be reloaded after a PCI fundmental reset.
-+ * The Raspberry Pi firmware acts as the BIOS in this case.
-+ */
-+static void usb_vl805_init(struct pci_dev *pdev)
-+{
-+#if IS_ENABLED(CONFIG_RASPBERRYPI_FIRMWARE)
-+ struct rpi_firmware *fw;
-+ struct {
-+ u32 dev_addr;
-+ } packet;
-+ int ret;
-+
-+ fw = rpi_firmware_get(NULL);
-+ if (!fw)
-+ return;
-+
-+ packet.dev_addr = (pdev->bus->number << 20) |
-+ (PCI_SLOT(pdev->devfn) << 15) | (PCI_FUNC(pdev->devfn) << 12);
-+
-+ dev_dbg(&pdev->dev, "RPI_FIRMWARE_NOTIFY_XHCI_RESET %x", packet.dev_addr);
-+ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
-+ &packet, sizeof(packet));
-+#endif
-+}
-+
- /*
- * Make sure the controller is completely inactive, unable to
- * generate interrupts or do DMA.
-@@ -1207,6 +1233,9 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
- if (pdev->vendor == PCI_VENDOR_ID_INTEL)
- usb_enable_intel_xhci_ports(pdev);
-
-+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483)
-+ usb_vl805_init(pdev);
-+
- op_reg_base = base + XHCI_HC_LENGTH(readl(base));
-
- /* Wait for the host controller to be ready before writing any
-diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
-index 7800e12ee042..cc9cdbc66403 100644
---- a/include/soc/bcm2835/raspberrypi-firmware.h
-+++ b/include/soc/bcm2835/raspberrypi-firmware.h
-@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag {
- RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045,
- RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049,
- RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050,
--
-+ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058,
-
- /* Dispmanx TAGS */
- RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001,
---
-2.24.1
-