summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2017-12-09 10:08:21 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2017-12-09 10:08:21 +0000
commit3a08a42a80e892bfed08938c22c0e0a17b2a8e6a (patch)
tree06a011048f7e12cf6ad9fe01a6fb41d2a6e2c184
parent472b0ba6fa4dfa204677f906deadae058ca12287 (diff)
downloadlinux-libre-raptor-3a08a42a80e892bfed08938c22c0e0a17b2a8e6a.tar.gz
linux-libre-raptor-3a08a42a80e892bfed08938c22c0e0a17b2a8e6a.zip
4.14.4-200.fc26.gnu
-rw-r--r--freed-ora/current/f26/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch46
-rw-r--r--freed-ora/current/f26/0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch296
-rw-r--r--freed-ora/current/f26/0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch108
-rw-r--r--freed-ora/current/f26/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch339
-rw-r--r--freed-ora/current/f26/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch78
-rw-r--r--freed-ora/current/f26/0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch204
-rw-r--r--freed-ora/current/f26/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch355
-rw-r--r--freed-ora/current/f26/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch80
-rw-r--r--freed-ora/current/f26/0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch49
-rw-r--r--freed-ora/current/f26/0003-power-supply-core-Add-support-for-supplied-from-devi.patch57
-rw-r--r--freed-ora/current/f26/0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch129
-rw-r--r--freed-ora/current/f26/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch48
-rw-r--r--freed-ora/current/f26/0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch48
-rw-r--r--freed-ora/current/f26/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch80
-rw-r--r--freed-ora/current/f26/0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch38
-rw-r--r--freed-ora/current/f26/0006-Input-axp20x-pek-Add-wakeup-support.patch67
-rw-r--r--freed-ora/current/f26/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch56
-rw-r--r--freed-ora/current/f26/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch59
-rw-r--r--freed-ora/current/f26/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch57
-rw-r--r--freed-ora/current/f26/0011-Input-goodix-Add-support-for-capacitive-home-button.patch53
-rw-r--r--freed-ora/current/f26/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch150
-rw-r--r--freed-ora/current/f26/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch32
-rw-r--r--freed-ora/current/f26/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch143
-rw-r--r--freed-ora/current/f26/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch410
-rw-r--r--freed-ora/current/f26/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch54
-rw-r--r--freed-ora/current/f26/1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch296
-rw-r--r--freed-ora/current/f26/1-3-net-set-tb--fast_sk_family.patch50
-rw-r--r--freed-ora/current/f26/2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch44
-rw-r--r--freed-ora/current/f26/3-3-inet-fix-improper-empty-comparison.patch53
-rw-r--r--freed-ora/current/f26/AllWinner-net-emac.patch2554
-rw-r--r--freed-ora/current/f26/CVE-2017-16538.patch166
-rw-r--r--freed-ora/current/f26/CVE-2017-7477.patch73
-rw-r--r--freed-ora/current/f26/CVE-2017-7645.patch180
-rw-r--r--freed-ora/current/f26/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch54
-rw-r--r--freed-ora/current/f26/Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch51
-rw-r--r--freed-ora/current/f26/KEYS-Add-a-system-blacklist-keyring.patch102
-rw-r--r--freed-ora/current/f26/PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch55
-rw-r--r--freed-ora/current/f26/RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch156
-rw-r--r--freed-ora/current/f26/USB-ulpi-fix-bus-node-lookup.patch48
-rw-r--r--freed-ora/current/f26/V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch231
-rw-r--r--freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch107
-rw-r--r--freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch96
-rw-r--r--freed-ora/current/f26/allwinner-net-emac.patch1648
-rw-r--r--freed-ora/current/f26/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch40
-rw-r--r--freed-ora/current/f26/arm-exynos-fix-usb3.patch411
-rw-r--r--freed-ora/current/f26/arm-of-restrict-dma-configuration.patch121
-rw-r--r--freed-ora/current/f26/arm-tegra-fix-gpu-iommu.patch39
-rw-r--r--freed-ora/current/f26/arm-thermal-fixes.patch224
-rw-r--r--freed-ora/current/f26/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch41
-rw-r--r--freed-ora/current/f26/arm64-cavium-fixes.patch455
-rw-r--r--freed-ora/current/f26/arm64-socionext-96b-enablement.patch3099
-rw-r--r--freed-ora/current/f26/arm64-thunderX-fix-ipv6-checksum-offload.patch39
-rw-r--r--freed-ora/current/f26/arm64-xgene-acpi-fix.patch38
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_ALTERA_MSGDMA1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_ATH10K_USB1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_BATTERY_MAX1721X1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_BLK_CPQ_CISS_DA1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_BLK_DEV_UB1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_BPF_STREAM_PARSER1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_BT_SCO1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_CCS8111
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_CEC_PIN1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_CHARGER_QCOM_SMBB1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_CISS_SCSI_TAPE1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_CLK_HSDK1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_CLOCK_THERMAL1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_DEVFREQ_THERMAL1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC2
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_EXPERIMENTAL1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_GPIO_BD9571MWV1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT872
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_GPIO_TPS684701
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_HID_CP21122
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT2
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_INOTIFY1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_INPUT_PWM_VIBRA1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_INPUT_RK805_PWRKEY1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP2
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_IR_GPIO_TX1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_IR_PWM_TX1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_LEDS_AS3645A1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_LTC24711
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_MDIO_I2C1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_MFD_BD9571MWV1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_MFD_TPS684701
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_MLX5_ESWITCH1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_MLX5_MPFS1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_MMC_BLOCK_BOUNCE1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_NET_NSH1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_HUAWEI1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_SNI1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_NFT_FIB_NETDEV1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PARPORT2
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC2
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PCIE_DW_HOST_ECAM1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PHYLINK1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PI4331
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_MSM89941
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_RK8051
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD_SC98601
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_PM_OPP2
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_QCOM_GLINK_SSR1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_R8822BE1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_REGULATOR_BD9571MWV1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_RESET_ATTACK_MITIGATION1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_RESET_HSDK_V11
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_RMNET1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_ROCKCHIP_PHY1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SENSORS_IBM_CFFPS1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SENSORS_TPS536791
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SERIO_GPIO_PS21
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SFP1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SLAB_FREELIST_HARDENED1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT2
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_CS431301
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_WM85241
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_SQUASHFS_ZSTD1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_STRING_SELFTEST1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_TI_SYSCON_RESET1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_USB_LED1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_VIDEO_RENESAS_VSP11
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_W1_SLAVE_DS28051
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_WIL6210_DEBUGFS1
-rw-r--r--freed-ora/current/f26/baseconfig/CONFIG_ZRAM_WRITEBACK1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_ARCH_BCM_IPROC (renamed from freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_BCM_IPROC)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM642
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE2
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM2
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_IOMMU_DMA1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_MESON_GX_SOCINFO1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_MTD_NAND_PXA3xx (renamed from freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MTD_NAND_PXA3xx)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_PARPORT1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_PATA_OF_PLATFORM1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_RADIO_WL128X1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_ROCKCHIP_PHY1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_AC97 (renamed from freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_AC97)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_DAS (renamed from freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_DAS)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S (renamed from freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA20_I2S)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_SPDIF (renamed from freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_SPDIF)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_AHUB (renamed from freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_AHUB)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_I2S (renamed from freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_I2S)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_SUNXI_SRAM (renamed from freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUNXI_SRAM)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_REPAPER1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_ST75861
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_TI_ST1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA (renamed from freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_HOST (renamed from freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_HOST)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_UDC (renamed from freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_UDC)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI (renamed from freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_ULPI)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC2
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM64_PMEM1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CHARGER_QCOM_SMBB1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM642
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMIID1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI_SYSFS1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_GPIO_THUNDERX1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC (renamed from freed-ora/current/f26/baseconfig/arm/CONFIG_MFD_SPMI_PMIC)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML2
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_NET_VENDOR_SNI1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PARPORT_PC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PCIE_DW_HOST_ECAM1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PHY_MVEBU_CP110_COMPHY1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE2
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_MODULE_REGION_FULL1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE2
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SNI_NETSEC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SOCIONEXT_SYNQUACER_PREITS1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CONFIGFS_F_LB_SS1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VIDEO_QCOM_CAMSS1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VMAP_STACK1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND (renamed from freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_SUN4I_BACKEND)0
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_HDMI_CEC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MMC_QCOM_DML1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX351
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PWM_TIECAP1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML2
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_ULPI1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS1
-rw-r--r--freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_MEMTRACE1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_VAS1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU1
-rw-r--r--freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_AREAS1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUG1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUGFS1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_BD9571MWV1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_RTSX_USB1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_TPS684701
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_VIPERBOARD1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_PARPORT1
-rw-r--r--freed-ora/current/f26/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_HYPERV_VSOCKETS1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT (renamed from freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_INTEL_RDT1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP2
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_1284 (renamed from freed-ora/current/f26/baseconfig/CONFIG_PARPORT_1284)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_AX88796 (renamed from freed-ora/current/f26/baseconfig/CONFIG_PARPORT_AX88796)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_FIFO (renamed from freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_FIFO)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_PCMCIA (renamed from freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_PCMCIA)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_SUPERIO (renamed from freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_SUPERIO)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_SERIAL (renamed from freed-ora/current/f26/baseconfig/CONFIG_PARPORT_SERIAL)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PINCTRL_DENVERTON1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_PPS_CLIENT_PARPORT (renamed from freed-ora/current/f26/baseconfig/CONFIG_PPS_CLIENT_PARPORT)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_USB_SERIAL_MOS7715_PARPORT (renamed from freed-ora/current/f26/baseconfig/CONFIG_USB_SERIAL_MOS7715_PARPORT)0
-rw-r--r--freed-ora/current/f26/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX33551
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_SM55021
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT1
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS2
-rw-r--r--freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL1
-rw-r--r--freed-ora/current/f26/bcm2835-clk-audio-jitter-issues.patch206
-rw-r--r--freed-ora/current/f26/bcm2835-fix-potential-null-pointer-dereferences.patch70
-rw-r--r--freed-ora/current/f26/bcm2835-pinctrl-Avoid-warning-from-__irq_do_set_handler.patch70
-rw-r--r--freed-ora/current/f26/bcm2837-arm32-support.patch48
-rw-r--r--freed-ora/current/f26/bcm2837-bluetooth-support.patch36
-rw-r--r--freed-ora/current/f26/bcm2837-initial-support.patch48
-rw-r--r--freed-ora/current/f26/bcm2837-move-dt.patch516
-rw-r--r--freed-ora/current/f26/bcm2837-sdhost-fixes.patch83
-rw-r--r--freed-ora/current/f26/bcm283x-Define-UART-pinmuxing-on-board-level.patch171
-rw-r--r--freed-ora/current/f26/bcm283x-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch42
-rw-r--r--freed-ora/current/f26/bcm283x-flip-sdcontroller.patch41
-rw-r--r--freed-ora/current/f26/bcm283x-vc4-fix-vblank.patch123
-rw-r--r--freed-ora/current/f26/bcm283x-vc4-fixes.patch1803
-rw-r--r--freed-ora/current/f26/bt-bcm.patch32
-rwxr-xr-xfreed-ora/current/f26/build_configs.sh2
-rw-r--r--freed-ora/current/f26/config_generation9
-rwxr-xr-xfreed-ora/current/f26/deblob-4.14 (renamed from freed-ora/current/f26/deblob-4.13)236
-rwxr-xr-xfreed-ora/current/f26/deblob-check60
-rw-r--r--freed-ora/current/f26/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG1
-rw-r--r--freed-ora/current/f26/debugconfig/x86/x86_64/CONFIG_NR_CPUS1
-rw-r--r--freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch53
-rw-r--r--freed-ora/current/f26/drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch200
-rw-r--r--freed-ora/current/f26/drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch238
-rw-r--r--freed-ora/current/f26/drm-i915-turn-off-wc-mmaps.patch21
-rw-r--r--freed-ora/current/f26/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch42
-rw-r--r--freed-ora/current/f26/efi-Add-SHIM-and-image-security-database-GUID-defini.patch31
-rw-r--r--freed-ora/current/f26/efi-lockdown.patch1643
-rw-r--r--freed-ora/current/f26/filter-armv7hl.sh2
-rwxr-xr-xfreed-ora/current/f26/filter-modules.sh2
-rw-r--r--freed-ora/current/f26/filter-ppc64p7.sh14
-rw-r--r--freed-ora/current/f26/kernel-aarch64-debug.config136
-rw-r--r--freed-ora/current/f26/kernel-aarch64.config136
-rw-r--r--freed-ora/current/f26/kernel-armv7hl-debug.config121
-rw-r--r--freed-ora/current/f26/kernel-armv7hl-lpae-debug.config127
-rw-r--r--freed-ora/current/f26/kernel-armv7hl-lpae.config127
-rw-r--r--freed-ora/current/f26/kernel-armv7hl.config121
-rw-r--r--freed-ora/current/f26/kernel-i686-PAE.config89
-rw-r--r--freed-ora/current/f26/kernel-i686-PAEdebug.config87
-rw-r--r--freed-ora/current/f26/kernel-i686-debug.config87
-rw-r--r--freed-ora/current/f26/kernel-i686.config89
-rw-r--r--freed-ora/current/f26/kernel-ppc64-debug.config100
-rw-r--r--freed-ora/current/f26/kernel-ppc64.config100
-rw-r--r--freed-ora/current/f26/kernel-ppc64le-debug.config100
-rw-r--r--freed-ora/current/f26/kernel-ppc64le.config100
-rw-r--r--freed-ora/current/f26/kernel-ppc64p7-debug.config5818
-rw-r--r--freed-ora/current/f26/kernel-ppc64p7.config5794
-rw-r--r--freed-ora/current/f26/kernel-s390x-debug.config104
-rw-r--r--freed-ora/current/f26/kernel-s390x.config104
-rw-r--r--freed-ora/current/f26/kernel-x86_64-debug.config92
-rw-r--r--freed-ora/current/f26/kernel-x86_64.config96
-rw-r--r--freed-ora/current/f26/kernel.spec198
-rw-r--r--freed-ora/current/f26/linux-libre-4.13-gnu.tar.xz.sign6
-rw-r--r--freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xzbin146356 -> 0 bytes
-rw-r--r--freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz.sign6
-rw-r--r--freed-ora/current/f26/linux-libre-4.14-gnu.tar.xz.sign6
-rw-r--r--freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xzbin0 -> 170184 bytes
-rw-r--r--freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz.sign6
-rw-r--r--freed-ora/current/f26/media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch106
-rw-r--r--freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch79
-rw-r--r--freed-ora/current/f26/no-pcspkr-modalias.patch8
-rw-r--r--freed-ora/current/f26/patch-4.13-gnu-4.13.16-gnu.xz.sign6
-rw-r--r--freed-ora/current/f26/patch-4.14-gnu-4.14.4-gnu.xz.sign6
-rw-r--r--freed-ora/current/f26/pci-mark-amd-stoney-gpu-ats-as-broken.patch47
-rw-r--r--freed-ora/current/f26/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch40
-rw-r--r--freed-ora/current/f26/qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch93
-rw-r--r--freed-ora/current/f26/qcom-display-iommu.patch1960
-rw-r--r--freed-ora/current/f26/qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch45
-rw-r--r--freed-ora/current/f26/qcom-msm89xx-fixes.patch159
-rw-r--r--freed-ora/current/f26/qxl-fix-primary-surface-handling.patch87
-rw-r--r--freed-ora/current/f26/qxl-fixes.patch324
-rw-r--r--freed-ora/current/f26/qxl_cursor_fix.patch565
-rw-r--r--freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch220
-rw-r--r--freed-ora/current/f26/silence-fbcon-logo.patch19
-rw-r--r--freed-ora/current/f26/sources6
-rw-r--r--freed-ora/current/f26/v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch42
343 files changed, 8535 insertions, 28589 deletions
diff --git a/freed-ora/current/f26/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch b/freed-ora/current/f26/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch
new file mode 100644
index 000000000..540b925eb
--- /dev/null
+++ b/freed-ora/current/f26/0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch
@@ -0,0 +1,46 @@
+From 37af97ef14c201b1db8dd341aabd262da23e48aa Mon Sep 17 00:00:00 2001
+From: Fedora Kernel Team <kernel-team@fedoraproject.org>
+Date: Mon, 30 Oct 2017 11:38:27 -0500
+Subject: [PATCH] [PATCH] staging: rtl8822be: fix wrong dma unmap len
+
+Patch fixes splat:
+
+r8822be 0000:04:00.0: DMA-API: device driver frees DMA memory with different size
+[device address=0x0000000078477000] [map size=4096 bytes] [unmap size=424 bytes]
+<snip>
+Call Trace:
+ debug_dma_unmap_page+0xa5/0xb0
+ ? unmap_single+0x2f/0x40
+ _rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be]
+ ? _rtl8822be_send_bcn_or_cmd_packet+0x2c5/0x300 [r8822be]
+ rtl8822b_halmac_cb_write_data_rsvd_page+0x51/0xc0 [r8822be]
+ _halmac_write_data_rsvd_page+0x22/0x30 [r8822be]
+ halmac_download_rsvd_page_88xx+0xee/0x1f0 [r8822be]
+ halmac_dlfw_to_mem_88xx+0x80/0x120 [r8822be]
+ halmac_download_firmware_88xx.part.47+0x477/0x600 [r8822be]
+ halmac_download_firmware_88xx+0x32/0x40 [r8822be]
+ rtl_halmac_dlfw+0x70/0x120 [r8822be]
+ rtl_halmac_init_hal+0x5f/0x1b0 [r8822be]
+ rtl8822be_hw_init+0x8a2/0x1040 [r8822be]
+
+Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
+---
+ drivers/staging/rtlwifi/rtl8822be/fw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/staging/rtlwifi/rtl8822be/fw.c b/drivers/staging/rtlwifi/rtl8822be/fw.c
+index 8e24da1..a2cc548 100644
+--- a/drivers/staging/rtlwifi/rtl8822be/fw.c
++++ b/drivers/staging/rtlwifi/rtl8822be/fw.c
+@@ -419,7 +419,7 @@ static bool _rtl8822be_send_bcn_or_cmd_packet(struct ieee80211_hw *hw,
+ dma_addr = rtlpriv->cfg->ops->get_desc(
+ hw, (u8 *)pbd_desc, true, HW_DESC_TXBUFF_ADDR);
+
+- pci_unmap_single(rtlpci->pdev, dma_addr, skb->len,
++ pci_unmap_single(rtlpci->pdev, dma_addr, pskb->len,
+ PCI_DMA_TODEVICE);
+ kfree_skb(pskb);
+
+--
+2.13.6
+
diff --git a/freed-ora/current/f26/0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch b/freed-ora/current/f26/0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch
deleted file mode 100644
index 065132bc2..000000000
--- a/freed-ora/current/f26/0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch
+++ /dev/null
@@ -1,296 +0,0 @@
-From 9d5b86ac13c573795525ecac6ed2db39ab23e2a8 Mon Sep 17 00:00:00 2001
-From: Benjamin Coddington <bcodding@redhat.com>
-Date: Sun, 16 Jul 2017 10:28:22 -0400
-Subject: [PATCH] fs/locks: Remove fl_nspid and use fs-specific l_pid for
- remote locks
-
-Since commit c69899a17ca4 "NFSv4: Update of VFS byte range lock must be
-atomic with the stateid update", NFSv4 has been inserting locks in rpciod
-worker context. The result is that the file_lock's fl_nspid is the
-kworker's pid instead of the original userspace pid.
-
-The fl_nspid is only used to represent the namespaced virtual pid number
-when displaying locks or returning from F_GETLK. There's no reason to set
-it for every inserted lock, since we can usually just look it up from
-fl_pid. So, instead of looking up and holding struct pid for every lock,
-let's just look up the virtual pid number from fl_pid when it is needed.
-That means we can remove fl_nspid entirely.
-
-The translaton and presentation of fl_pid should handle the following four
-cases:
-
-1 - F_GETLK on a remote file with a remote lock:
- In this case, the filesystem should determine the l_pid to return here.
- Filesystems should indicate that the fl_pid represents a non-local pid
- value that should not be translated by returning an fl_pid <= 0.
-
-2 - F_GETLK on a local file with a remote lock:
- This should be the l_pid of the lock manager process, and translated.
-
-3 - F_GETLK on a remote file with a local lock, and
-4 - F_GETLK on a local file with a local lock:
- These should be the translated l_pid of the local locking process.
-
-Fuse was already doing the correct thing by translating the pid into the
-caller's namespace. With this change we must update fuse to translate
-to init's pid namespace, so that the locks API can then translate from
-init's pid namespace into the pid namespace of the caller.
-
-With this change, the locks API will expect that if a filesystem returns
-a remote pid as opposed to a local pid for F_GETLK, that remote pid will
-be <= 0. This signifies that the pid is remote, and the locks API will
-forego translating that pid into the pid namespace of the local calling
-process.
-
-Finally, we convert remote filesystems to present remote pids using
-negative numbers. Have lustre, 9p, ceph, cifs, and dlm negate the remote
-pid returned for F_GETLK lock requests.
-
-Since local pids will never be larger than PID_MAX_LIMIT (which is
-currently defined as <= 4 million), but pid_t is an unsigned int, we
-should have plenty of room to represent remote pids with negative
-numbers if we assume that remote pid numbers are similarly limited.
-
-If this is not the case, then we run the risk of having a remote pid
-returned for which there is also a corresponding local pid. This is a
-problem we have now, but this patch should reduce the chances of that
-occurring, while also returning those remote pid numbers, for whatever
-that may be worth.
-
-Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
-Signed-off-by: Jeff Layton <jlayton@redhat.com>
----
- drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +-
- fs/9p/vfs_file.c | 2 +-
- fs/ceph/locks.c | 2 +-
- fs/cifs/cifssmb.c | 2 +-
- fs/dlm/plock.c | 2 +-
- fs/fuse/file.c | 6 +--
- fs/locks.c | 62 +++++++++++++++----------
- include/linux/fs.h | 1 -
- 8 files changed, 45 insertions(+), 34 deletions(-)
-
-diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c
-index b7f28b39c7b3..abcbf075acc0 100644
---- a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c
-+++ b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c
-@@ -596,7 +596,7 @@ ldlm_flock_completion_ast(struct ldlm_lock *lock, __u64 flags, void *data)
- default:
- getlk->fl_type = F_UNLCK;
- }
-- getlk->fl_pid = (pid_t)lock->l_policy_data.l_flock.pid;
-+ getlk->fl_pid = -(pid_t)lock->l_policy_data.l_flock.pid;
- getlk->fl_start = (loff_t)lock->l_policy_data.l_flock.start;
- getlk->fl_end = (loff_t)lock->l_policy_data.l_flock.end;
- } else {
-diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c
-index 3de3b4a89d89..43c242e17132 100644
---- a/fs/9p/vfs_file.c
-+++ b/fs/9p/vfs_file.c
-@@ -288,7 +288,7 @@ static int v9fs_file_getlock(struct file *filp, struct file_lock *fl)
- fl->fl_end = OFFSET_MAX;
- else
- fl->fl_end = glock.start + glock.length - 1;
-- fl->fl_pid = glock.proc_id;
-+ fl->fl_pid = -glock.proc_id;
- }
- kfree(glock.client_id);
- return res;
-diff --git a/fs/ceph/locks.c b/fs/ceph/locks.c
-index 64ae74472046..8cd63e8123d8 100644
---- a/fs/ceph/locks.c
-+++ b/fs/ceph/locks.c
-@@ -79,7 +79,7 @@ static int ceph_lock_message(u8 lock_type, u16 operation, struct file *file,
- err = ceph_mdsc_do_request(mdsc, inode, req);
-
- if (operation == CEPH_MDS_OP_GETFILELOCK) {
-- fl->fl_pid = le64_to_cpu(req->r_reply_info.filelock_reply->pid);
-+ fl->fl_pid = -le64_to_cpu(req->r_reply_info.filelock_reply->pid);
- if (CEPH_LOCK_SHARED == req->r_reply_info.filelock_reply->type)
- fl->fl_type = F_RDLCK;
- else if (CEPH_LOCK_EXCL == req->r_reply_info.filelock_reply->type)
-diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
-index 72a53bd19865..118a63e7e221 100644
---- a/fs/cifs/cifssmb.c
-+++ b/fs/cifs/cifssmb.c
-@@ -2522,7 +2522,7 @@ CIFSSMBPosixLock(const unsigned int xid, struct cifs_tcon *tcon,
- pLockData->fl_start = le64_to_cpu(parm_data->start);
- pLockData->fl_end = pLockData->fl_start +
- le64_to_cpu(parm_data->length) - 1;
-- pLockData->fl_pid = le32_to_cpu(parm_data->pid);
-+ pLockData->fl_pid = -le32_to_cpu(parm_data->pid);
- }
- }
-
-diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c
-index d401425f602a..e631b1689228 100644
---- a/fs/dlm/plock.c
-+++ b/fs/dlm/plock.c
-@@ -367,7 +367,7 @@ int dlm_posix_get(dlm_lockspace_t *lockspace, u64 number, struct file *file,
- locks_init_lock(fl);
- fl->fl_type = (op->info.ex) ? F_WRLCK : F_RDLCK;
- fl->fl_flags = FL_POSIX;
-- fl->fl_pid = op->info.pid;
-+ fl->fl_pid = -op->info.pid;
- fl->fl_start = op->info.start;
- fl->fl_end = op->info.end;
- rv = 0;
-diff --git a/fs/fuse/file.c b/fs/fuse/file.c
-index 3ee4fdc3da9e..7cd692f51d1d 100644
---- a/fs/fuse/file.c
-+++ b/fs/fuse/file.c
-@@ -2101,11 +2101,11 @@ static int convert_fuse_file_lock(struct fuse_conn *fc,
- fl->fl_end = ffl->end;
-
- /*
-- * Convert pid into the caller's pid namespace. If the pid
-- * does not map into the namespace fl_pid will get set to 0.
-+ * Convert pid into init's pid namespace. The locks API will
-+ * translate it into the caller's pid namespace.
- */
- rcu_read_lock();
-- fl->fl_pid = pid_vnr(find_pid_ns(ffl->pid, fc->pid_ns));
-+ fl->fl_pid = pid_nr_ns(find_pid_ns(ffl->pid, fc->pid_ns), &init_pid_ns);
- rcu_read_unlock();
- break;
-
-diff --git a/fs/locks.c b/fs/locks.c
-index d7daa6c8932f..6d0949880ebd 100644
---- a/fs/locks.c
-+++ b/fs/locks.c
-@@ -137,6 +137,7 @@
- #define IS_FLOCK(fl) (fl->fl_flags & FL_FLOCK)
- #define IS_LEASE(fl) (fl->fl_flags & (FL_LEASE|FL_DELEG|FL_LAYOUT))
- #define IS_OFDLCK(fl) (fl->fl_flags & FL_OFDLCK)
-+#define IS_REMOTELCK(fl) (fl->fl_pid <= 0)
-
- static inline bool is_remote_lock(struct file *filp)
- {
-@@ -733,7 +734,6 @@ static void locks_wake_up_blocks(struct file_lock *blocker)
- static void
- locks_insert_lock_ctx(struct file_lock *fl, struct list_head *before)
- {
-- fl->fl_nspid = get_pid(task_tgid(current));
- list_add_tail(&fl->fl_list, before);
- locks_insert_global_locks(fl);
- }
-@@ -743,10 +743,6 @@ locks_unlink_lock_ctx(struct file_lock *fl)
- {
- locks_delete_global_locks(fl);
- list_del_init(&fl->fl_list);
-- if (fl->fl_nspid) {
-- put_pid(fl->fl_nspid);
-- fl->fl_nspid = NULL;
-- }
- locks_wake_up_blocks(fl);
- }
-
-@@ -823,8 +819,6 @@ posix_test_lock(struct file *filp, struct file_lock *fl)
- list_for_each_entry(cfl, &ctx->flc_posix, fl_list) {
- if (posix_locks_conflict(fl, cfl)) {
- locks_copy_conflock(fl, cfl);
-- if (cfl->fl_nspid)
-- fl->fl_pid = pid_vnr(cfl->fl_nspid);
- goto out;
- }
- }
-@@ -2048,9 +2042,33 @@ int vfs_test_lock(struct file *filp, struct file_lock *fl)
- }
- EXPORT_SYMBOL_GPL(vfs_test_lock);
-
-+/**
-+ * locks_translate_pid - translate a file_lock's fl_pid number into a namespace
-+ * @fl: The file_lock who's fl_pid should be translated
-+ * @ns: The namespace into which the pid should be translated
-+ *
-+ * Used to tranlate a fl_pid into a namespace virtual pid number
-+ */
-+static pid_t locks_translate_pid(struct file_lock *fl, struct pid_namespace *ns)
-+{
-+ pid_t vnr;
-+ struct pid *pid;
-+
-+ if (IS_OFDLCK(fl))
-+ return -1;
-+ if (IS_REMOTELCK(fl))
-+ return fl->fl_pid;
-+
-+ rcu_read_lock();
-+ pid = find_pid_ns(fl->fl_pid, &init_pid_ns);
-+ vnr = pid_nr_ns(pid, ns);
-+ rcu_read_unlock();
-+ return vnr;
-+}
-+
- static int posix_lock_to_flock(struct flock *flock, struct file_lock *fl)
- {
-- flock->l_pid = IS_OFDLCK(fl) ? -1 : fl->fl_pid;
-+ flock->l_pid = locks_translate_pid(fl, task_active_pid_ns(current));
- #if BITS_PER_LONG == 32
- /*
- * Make sure we can represent the posix lock via
-@@ -2072,7 +2090,7 @@ static int posix_lock_to_flock(struct flock *flock, struct file_lock *fl)
- #if BITS_PER_LONG == 32
- static void posix_lock_to_flock64(struct flock64 *flock, struct file_lock *fl)
- {
-- flock->l_pid = IS_OFDLCK(fl) ? -1 : fl->fl_pid;
-+ flock->l_pid = locks_translate_pid(fl, task_active_pid_ns(current));
- flock->l_start = fl->fl_start;
- flock->l_len = fl->fl_end == OFFSET_MAX ? 0 :
- fl->fl_end - fl->fl_start + 1;
-@@ -2584,22 +2602,16 @@ static void lock_get_status(struct seq_file *f, struct file_lock *fl,
- {
- struct inode *inode = NULL;
- unsigned int fl_pid;
-+ struct pid_namespace *proc_pidns = file_inode(f->file)->i_sb->s_fs_info;
-
-- if (fl->fl_nspid) {
-- struct pid_namespace *proc_pidns = file_inode(f->file)->i_sb->s_fs_info;
--
-- /* Don't let fl_pid change based on who is reading the file */
-- fl_pid = pid_nr_ns(fl->fl_nspid, proc_pidns);
--
-- /*
-- * If there isn't a fl_pid don't display who is waiting on
-- * the lock if we are called from locks_show, or if we are
-- * called from __show_fd_info - skip lock entirely
-- */
-- if (fl_pid == 0)
-- return;
-- } else
-- fl_pid = fl->fl_pid;
-+ fl_pid = locks_translate_pid(fl, proc_pidns);
-+ /*
-+ * If there isn't a fl_pid don't display who is waiting on
-+ * the lock if we are called from locks_show, or if we are
-+ * called from __show_fd_info - skip lock entirely
-+ */
-+ if (fl_pid == 0)
-+ return;
-
- if (fl->fl_file != NULL)
- inode = locks_inode(fl->fl_file);
-@@ -2674,7 +2686,7 @@ static int locks_show(struct seq_file *f, void *v)
-
- fl = hlist_entry(v, struct file_lock, fl_link);
-
-- if (fl->fl_nspid && !pid_nr_ns(fl->fl_nspid, proc_pidns))
-+ if (locks_translate_pid(fl, proc_pidns) == 0)
- return 0;
-
- lock_get_status(f, fl, iter->li_pos, "");
-diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 7b5d6816542b..f0b108af9b02 100644
---- a/include/linux/fs.h
-+++ b/include/linux/fs.h
-@@ -999,7 +999,6 @@ struct file_lock {
- unsigned char fl_type;
- unsigned int fl_pid;
- int fl_link_cpu; /* what cpu's list is this on? */
-- struct pid *fl_nspid;
- wait_queue_head_t fl_wait;
- struct file *fl_file;
- loff_t fl_start;
---
-2.14.1
-
diff --git a/freed-ora/current/f26/0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch b/freed-ora/current/f26/0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch
deleted file mode 100644
index 2a1d7b719..000000000
--- a/freed-ora/current/f26/0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From a8f97366452ed491d13cf1e44241bc0b5740b1f0 Mon Sep 17 00:00:00 2001
-From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
-Date: Mon, 27 Nov 2017 06:21:25 +0300
-Subject: [PATCH] mm, thp: Do not make page table dirty unconditionally in
- touch_p[mu]d()
-
-Currently, we unconditionally make page table dirty in touch_pmd().
-It may result in false-positive can_follow_write_pmd().
-
-We may avoid the situation, if we would only make the page table entry
-dirty if caller asks for write access -- FOLL_WRITE.
-
-The patch also changes touch_pud() in the same way.
-
-Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
-Cc: Michal Hocko <mhocko@suse.com>
-Cc: Hugh Dickins <hughd@google.com>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----
- mm/huge_memory.c | 36 +++++++++++++-----------------------
- 1 file changed, 13 insertions(+), 23 deletions(-)
-
-diff --git a/mm/huge_memory.c b/mm/huge_memory.c
-index 86fe697e8bfb..0e7ded98d114 100644
---- a/mm/huge_memory.c
-+++ b/mm/huge_memory.c
-@@ -842,20 +842,15 @@ EXPORT_SYMBOL_GPL(vmf_insert_pfn_pud);
- #endif /* CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */
-
- static void touch_pmd(struct vm_area_struct *vma, unsigned long addr,
-- pmd_t *pmd)
-+ pmd_t *pmd, int flags)
- {
- pmd_t _pmd;
-
-- /*
-- * We should set the dirty bit only for FOLL_WRITE but for now
-- * the dirty bit in the pmd is meaningless. And if the dirty
-- * bit will become meaningful and we'll only set it with
-- * FOLL_WRITE, an atomic set_bit will be required on the pmd to
-- * set the young bit, instead of the current set_pmd_at.
-- */
-- _pmd = pmd_mkyoung(pmd_mkdirty(*pmd));
-+ _pmd = pmd_mkyoung(*pmd);
-+ if (flags & FOLL_WRITE)
-+ _pmd = pmd_mkdirty(_pmd);
- if (pmdp_set_access_flags(vma, addr & HPAGE_PMD_MASK,
-- pmd, _pmd, 1))
-+ pmd, _pmd, flags & FOLL_WRITE))
- update_mmu_cache_pmd(vma, addr, pmd);
- }
-
-@@ -884,7 +879,7 @@ struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr,
- return NULL;
-
- if (flags & FOLL_TOUCH)
-- touch_pmd(vma, addr, pmd);
-+ touch_pmd(vma, addr, pmd, flags);
-
- /*
- * device mapped pages can only be returned if the
-@@ -995,20 +990,15 @@ int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm,
-
- #ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
- static void touch_pud(struct vm_area_struct *vma, unsigned long addr,
-- pud_t *pud)
-+ pud_t *pud, int flags)
- {
- pud_t _pud;
-
-- /*
-- * We should set the dirty bit only for FOLL_WRITE but for now
-- * the dirty bit in the pud is meaningless. And if the dirty
-- * bit will become meaningful and we'll only set it with
-- * FOLL_WRITE, an atomic set_bit will be required on the pud to
-- * set the young bit, instead of the current set_pud_at.
-- */
-- _pud = pud_mkyoung(pud_mkdirty(*pud));
-+ _pud = pud_mkyoung(*pud);
-+ if (flags & FOLL_WRITE)
-+ _pud = pud_mkdirty(_pud);
- if (pudp_set_access_flags(vma, addr & HPAGE_PUD_MASK,
-- pud, _pud, 1))
-+ pud, _pud, flags & FOLL_WRITE))
- update_mmu_cache_pud(vma, addr, pud);
- }
-
-@@ -1031,7 +1021,7 @@ struct page *follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr,
- return NULL;
-
- if (flags & FOLL_TOUCH)
-- touch_pud(vma, addr, pud);
-+ touch_pud(vma, addr, pud, flags);
-
- /*
- * device mapped pages can only be returned if the
-@@ -1424,7 +1414,7 @@ struct page *follow_trans_huge_pmd(struct vm_area_struct *vma,
- page = pmd_page(*pmd);
- VM_BUG_ON_PAGE(!PageHead(page) && !is_zone_device_page(page), page);
- if (flags & FOLL_TOUCH)
-- touch_pmd(vma, addr, pmd);
-+ touch_pmd(vma, addr, pmd, flags);
- if ((flags & FOLL_MLOCK) && (vma->vm_flags & VM_LOCKED)) {
- /*
- * We don't mlock() pte-mapped THPs. This way we can avoid
---
-2.14.3
-
diff --git a/freed-ora/current/f26/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch b/freed-ora/current/f26/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch
deleted file mode 100644
index a0b6ff03e..000000000
--- a/freed-ora/current/f26/0001-platform-x86-Add-driver-for-ACPI-INT0002-Virtual-GPI.patch
+++ /dev/null
@@ -1,339 +0,0 @@
-From 3bbfe49a1d965b951527cde0da48f5d7677db264 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 21 May 2017 13:15:11 +0200
-Subject: [PATCH 01/16] platform/x86: Add driver for ACPI INT0002 Virtual GPIO
- device
-
-Some peripherals on Bay Trail and Cherry Trail platforms signal a
-Power Management Event (PME) to the Power Management Controller (PMC)
-to wakeup the system. When this happens software needs to explicitly
-clear the PME bus 0 status bit in the GPE0a_STS register to avoid an
-IRQ storm on IRQ 9.
-
-This is modelled in ACPI through the INT0002 ACPI device, which is
-called a "Virtual GPIO controller" in ACPI because it defines the
-event handler to call when the PME triggers through _AEI and _L02
-methods as would be done for a real GPIO interrupt in ACPI.
-
-This commit adds a driver which registers the Virtual GPIOs expected
-by the DSDT on these devices, letting gpiolib-acpi claim the
-virtual GPIO and install a GPIO-interrupt handler which call the _L02
-handler as it would for a real GPIO controller.
-
-Cc: joeyli <jlee@suse.com>
-Cc: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
----
-Changes in v2:
--Remove dev_err after malloc failure
--Remove unused empty runtime pm callbacks
--s/GPE0A_PME_/GPE0A_PME_B0_/
--Fixed some checkpatch warnings (I forgot to run checkpatch on v1)
-
-Changes in v3:
--Rewrite as gpiochip driver letting gpiolib-acpi deal with claiming the pin
- 0x0002 and calling the _L02 event handler when the virtual gpio-irq triggers
--Rebase on 4.12-rc1
-
-Changes in v4:
--Drop device_init_wakeup() from _probe(), use pm_system_wakeup() instead
- of pm_wakeup_hard_event(chip->parent)
--Improve commit message
-
-Changes in v5:
--Use BIT() macro for FOO_BIT defines
--Drop unneeded ACPI_PTR macro usage
-
-Changes in v6:
--Move back to drivers/platform/x86
--Expand certain acronyms (PME, PMC)
--Use linux/gpio/driver.h include instead of linux/gpio.h
--Document why the get / set / direction_output functions are dummys
--No functional changes
-
-Changes in v7:
--Some minor cleanups from Andy:
- -Move asm/ includes below linux/ includes
- -s/APCI/ACPI/
- -Use bitmap_clear on chip->irq_valid_mask
--Add Linus Walleij's Reviewed-by
----
- drivers/platform/x86/Kconfig | 19 +++
- drivers/platform/x86/Makefile | 1 +
- drivers/platform/x86/intel_int0002_vgpio.c | 219 +++++++++++++++++++++++++++++
- 3 files changed, 239 insertions(+)
- create mode 100644 drivers/platform/x86/intel_int0002_vgpio.c
-
-diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 8489020ecf44..a3ccc3c795a5 100644
---- a/drivers/platform/x86/Kconfig
-+++ b/drivers/platform/x86/Kconfig
-@@ -794,6 +794,25 @@ config INTEL_CHT_INT33FE
- This driver instantiates i2c-clients for these, so that standard
- i2c drivers for these chips can bind to the them.
-
-+config INTEL_INT0002_VGPIO
-+ tristate "Intel ACPI INT0002 Virtual GPIO driver"
-+ depends on GPIOLIB && ACPI
-+ select GPIOLIB_IRQCHIP
-+ ---help---
-+ Some peripherals on Bay Trail and Cherry Trail platforms signal a
-+ Power Management Event (PME) to the Power Management Controller (PMC)
-+ to wakeup the system. When this happens software needs to explicitly
-+ clear the PME bus 0 status bit in the GPE0a_STS register to avoid an
-+ IRQ storm on IRQ 9.
-+
-+ This is modelled in ACPI through the INT0002 ACPI device, which is
-+ called a "Virtual GPIO controller" in ACPI because it defines the
-+ event handler to call when the PME triggers through _AEI and _L02
-+ methods as would be done for a real GPIO interrupt in ACPI.
-+
-+ To compile this driver as a module, choose M here: the module will
-+ be called intel_int0002_vgpio.
-+
- config INTEL_HID_EVENT
- tristate "INTEL HID Event"
- depends on ACPI
-diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
-index 182a3ed6605a..ab22ce77fb66 100644
---- a/drivers/platform/x86/Makefile
-+++ b/drivers/platform/x86/Makefile
-@@ -46,6 +46,7 @@ obj-$(CONFIG_TOSHIBA_BT_RFKILL) += toshiba_bluetooth.o
- obj-$(CONFIG_TOSHIBA_HAPS) += toshiba_haps.o
- obj-$(CONFIG_TOSHIBA_WMI) += toshiba-wmi.o
- obj-$(CONFIG_INTEL_CHT_INT33FE) += intel_cht_int33fe.o
-+obj-$(CONFIG_INTEL_INT0002_VGPIO) += intel_int0002_vgpio.o
- obj-$(CONFIG_INTEL_HID_EVENT) += intel-hid.o
- obj-$(CONFIG_INTEL_VBTN) += intel-vbtn.o
- obj-$(CONFIG_INTEL_SCU_IPC) += intel_scu_ipc.o
-diff --git a/drivers/platform/x86/intel_int0002_vgpio.c b/drivers/platform/x86/intel_int0002_vgpio.c
-new file mode 100644
-index 000000000000..92dc230ef5b2
---- /dev/null
-+++ b/drivers/platform/x86/intel_int0002_vgpio.c
-@@ -0,0 +1,219 @@
-+/*
-+ * Intel INT0002 "Virtual GPIO" driver
-+ *
-+ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com>
-+ *
-+ * Loosely based on android x86 kernel code which is:
-+ *
-+ * Copyright (c) 2014, Intel Corporation.
-+ *
-+ * Author: Dyut Kumar Sil <dyut.k.sil@intel.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * Some peripherals on Bay Trail and Cherry Trail platforms signal a Power
-+ * Management Event (PME) to the Power Management Controller (PMC) to wakeup
-+ * the system. When this happens software needs to clear the PME bus 0 status
-+ * bit in the GPE0a_STS register to avoid an IRQ storm on IRQ 9.
-+ *
-+ * This is modelled in ACPI through the INT0002 ACPI device, which is
-+ * called a "Virtual GPIO controller" in ACPI because it defines the event
-+ * handler to call when the PME triggers through _AEI and _L02 / _E02
-+ * methods as would be done for a real GPIO interrupt in ACPI. Note this
-+ * is a hack to define an AML event handler for the PME while using existing
-+ * ACPI mechanisms, this is not a real GPIO at all.
-+ *
-+ * This driver will bind to the INT0002 device, and register as a GPIO
-+ * controller, letting gpiolib-acpi.c call the _L02 handler as it would
-+ * for a real GPIO controller.
-+ */
-+
-+#include <linux/acpi.h>
-+#include <linux/bitmap.h>
-+#include <linux/gpio/driver.h>
-+#include <linux/interrupt.h>
-+#include <linux/io.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/slab.h>
-+#include <linux/suspend.h>
-+
-+#include <asm/cpu_device_id.h>
-+#include <asm/intel-family.h>
-+
-+#define DRV_NAME "INT0002 Virtual GPIO"
-+
-+/* For some reason the virtual GPIO pin tied to the GPE is numbered pin 2 */
-+#define GPE0A_PME_B0_VIRT_GPIO_PIN 2
-+
-+#define GPE0A_PME_B0_STS_BIT BIT(13)
-+#define GPE0A_PME_B0_EN_BIT BIT(13)
-+#define GPE0A_STS_PORT 0x420
-+#define GPE0A_EN_PORT 0x428
-+
-+#define ICPU(model) { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, }
-+
-+static const struct x86_cpu_id int0002_cpu_ids[] = {
-+/*
-+ * Limit ourselves to Cherry Trail for now, until testing shows we
-+ * need to handle the INT0002 device on Baytrail too.
-+ * ICPU(INTEL_FAM6_ATOM_SILVERMONT1), * Valleyview, Bay Trail *
-+ */
-+ ICPU(INTEL_FAM6_ATOM_AIRMONT), /* Braswell, Cherry Trail */
-+ {}
-+};
-+
-+/*
-+ * As this is not a real GPIO at all, but just a hack to model an event in
-+ * ACPI the get / set functions are dummy functions.
-+ */
-+
-+static int int0002_gpio_get(struct gpio_chip *chip, unsigned int offset)
-+{
-+ return 0;
-+}
-+
-+static void int0002_gpio_set(struct gpio_chip *chip, unsigned int offset,
-+ int value)
-+{
-+}
-+
-+static int int0002_gpio_direction_output(struct gpio_chip *chip,
-+ unsigned int offset, int value)
-+{
-+ return 0;
-+}
-+
-+static void int0002_irq_ack(struct irq_data *data)
-+{
-+ outl(GPE0A_PME_B0_STS_BIT, GPE0A_STS_PORT);
-+}
-+
-+static void int0002_irq_unmask(struct irq_data *data)
-+{
-+ u32 gpe_en_reg;
-+
-+ gpe_en_reg = inl(GPE0A_EN_PORT);
-+ gpe_en_reg |= GPE0A_PME_B0_EN_BIT;
-+ outl(gpe_en_reg, GPE0A_EN_PORT);
-+}
-+
-+static void int0002_irq_mask(struct irq_data *data)
-+{
-+ u32 gpe_en_reg;
-+
-+ gpe_en_reg = inl(GPE0A_EN_PORT);
-+ gpe_en_reg &= ~GPE0A_PME_B0_EN_BIT;
-+ outl(gpe_en_reg, GPE0A_EN_PORT);
-+}
-+
-+static irqreturn_t int0002_irq(int irq, void *data)
-+{
-+ struct gpio_chip *chip = data;
-+ u32 gpe_sts_reg;
-+
-+ gpe_sts_reg = inl(GPE0A_STS_PORT);
-+ if (!(gpe_sts_reg & GPE0A_PME_B0_STS_BIT))
-+ return IRQ_NONE;
-+
-+ generic_handle_irq(irq_find_mapping(chip->irqdomain,
-+ GPE0A_PME_B0_VIRT_GPIO_PIN));
-+
-+ pm_system_wakeup();
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static struct irq_chip int0002_irqchip = {
-+ .name = DRV_NAME,
-+ .irq_ack = int0002_irq_ack,
-+ .irq_mask = int0002_irq_mask,
-+ .irq_unmask = int0002_irq_unmask,
-+};
-+
-+static int int0002_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ const struct x86_cpu_id *cpu_id;
-+ struct gpio_chip *chip;
-+ int irq, ret;
-+
-+ /* Menlow has a different INT0002 device? <sigh> */
-+ cpu_id = x86_match_cpu(int0002_cpu_ids);
-+ if (!cpu_id)
-+ return -ENODEV;
-+
-+ irq = platform_get_irq(pdev, 0);
-+ if (irq < 0) {
-+ dev_err(dev, "Error getting IRQ: %d\n", irq);
-+ return irq;
-+ }
-+
-+ chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);
-+ if (!chip)
-+ return -ENOMEM;
-+
-+ chip->label = DRV_NAME;
-+ chip->parent = dev;
-+ chip->owner = THIS_MODULE;
-+ chip->get = int0002_gpio_get;
-+ chip->set = int0002_gpio_set;
-+ chip->direction_input = int0002_gpio_get;
-+ chip->direction_output = int0002_gpio_direction_output;
-+ chip->base = -1;
-+ chip->ngpio = GPE0A_PME_B0_VIRT_GPIO_PIN + 1;
-+ chip->irq_need_valid_mask = true;
-+
-+ ret = devm_gpiochip_add_data(&pdev->dev, chip, NULL);
-+ if (ret) {
-+ dev_err(dev, "Error adding gpio chip: %d\n", ret);
-+ return ret;
-+ }
-+
-+ bitmap_clear(chip->irq_valid_mask, 0, GPE0A_PME_B0_VIRT_GPIO_PIN);
-+
-+ /*
-+ * We manually request the irq here instead of passing a flow-handler
-+ * to gpiochip_set_chained_irqchip, because the irq is shared.
-+ */
-+ ret = devm_request_irq(dev, irq, int0002_irq,
-+ IRQF_SHARED | IRQF_NO_THREAD, "INT0002", chip);
-+ if (ret) {
-+ dev_err(dev, "Error requesting IRQ %d: %d\n", irq, ret);
-+ return ret;
-+ }
-+
-+ ret = gpiochip_irqchip_add(chip, &int0002_irqchip, 0, handle_edge_irq,
-+ IRQ_TYPE_NONE);
-+ if (ret) {
-+ dev_err(dev, "Error adding irqchip: %d\n", ret);
-+ return ret;
-+ }
-+
-+ gpiochip_set_chained_irqchip(chip, &int0002_irqchip, irq, NULL);
-+
-+ return 0;
-+}
-+
-+static const struct acpi_device_id int0002_acpi_ids[] = {
-+ { "INT0002", 0 },
-+ { },
-+};
-+MODULE_DEVICE_TABLE(acpi, int0002_acpi_ids);
-+
-+static struct platform_driver int0002_driver = {
-+ .driver = {
-+ .name = DRV_NAME,
-+ .acpi_match_table = int0002_acpi_ids,
-+ },
-+ .probe = int0002_probe,
-+};
-+
-+module_platform_driver(int0002_driver);
-+
-+MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>");
-+MODULE_DESCRIPTION("Intel INT0002 Virtual GPIO driver");
-+MODULE_LICENSE("GPL");
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch b/freed-ora/current/f26/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch
deleted file mode 100644
index 858cd5a34..000000000
--- a/freed-ora/current/f26/0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 075bb90dbb4d894938c5859e3850987238db9cd8 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 11 Aug 2017 22:30:55 +0200
-Subject: [PATCH 1/2] power: supply: max17042_battery: Add support for ACPI
- enumeration
-
-Some x86 devices enumerate a max17047 fuel-gauge through a MAX17047
-ACPI firmware-node, add support for this.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/power/supply/max17042_battery.c | 22 +++++++++++++++++++++-
- 1 file changed, 21 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
-index aecaaa2b0586..b2ddb7eb69c6 100644
---- a/drivers/power/supply/max17042_battery.c
-+++ b/drivers/power/supply/max17042_battery.c
-@@ -22,6 +22,7 @@
- * This driver is based on max17040_battery.c
- */
-
-+#include <linux/acpi.h>
- #include <linux/init.h>
- #include <linux/module.h>
- #include <linux/slab.h>
-@@ -982,6 +983,8 @@ static int max17042_probe(struct i2c_client *client,
- struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
- const struct power_supply_desc *max17042_desc = &max17042_psy_desc;
- struct power_supply_config psy_cfg = {};
-+ const struct acpi_device_id *acpi_id;
-+ struct device *dev = &client->dev;
- struct max17042_chip *chip;
- int ret;
- int i;
-@@ -995,7 +998,15 @@ static int max17042_probe(struct i2c_client *client,
- return -ENOMEM;
-
- chip->client = client;
-- chip->chip_type = id->driver_data;
-+ if (id) {
-+ chip->chip_type = id->driver_data;
-+ } else {
-+ acpi_id = acpi_match_device(dev->driver->acpi_match_table, dev);
-+ if (!acpi_id)
-+ return -ENODEV;
-+
-+ chip->chip_type = acpi_id->driver_data;
-+ }
- chip->regmap = devm_regmap_init_i2c(client, &max17042_regmap_config);
- if (IS_ERR(chip->regmap)) {
- dev_err(&client->dev, "Failed to initialize regmap\n");
-@@ -1104,6 +1115,14 @@ static int max17042_resume(struct device *dev)
- static SIMPLE_DEV_PM_OPS(max17042_pm_ops, max17042_suspend,
- max17042_resume);
-
-+#ifdef CONFIG_ACPI
-+static const struct acpi_device_id max17042_acpi_match[] = {
-+ { "MAX17047", MAXIM_DEVICE_TYPE_MAX17047 },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(acpi, max17042_acpi_match);
-+#endif
-+
- #ifdef CONFIG_OF
- static const struct of_device_id max17042_dt_match[] = {
- { .compatible = "maxim,max17042" },
-@@ -1125,6 +1144,7 @@ MODULE_DEVICE_TABLE(i2c, max17042_id);
- static struct i2c_driver max17042_i2c_driver = {
- .driver = {
- .name = "max17042",
-+ .acpi_match_table = ACPI_PTR(max17042_acpi_match),
- .of_match_table = of_match_ptr(max17042_dt_match),
- .pm = &max17042_pm_ops,
- },
---
-2.13.4
-
diff --git a/freed-ora/current/f26/0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch b/freed-ora/current/f26/0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch
deleted file mode 100644
index 4d2bbfaf7..000000000
--- a/freed-ora/current/f26/0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-From aca20afc84cf8578e044c67c4949672ac98f064a Mon Sep 17 00:00:00 2001
-From: Nicholas Piggin <npiggin@gmail.com>
-Date: Tue, 28 Nov 2017 11:26:54 +0100
-Subject: [PATCH 1/5] powerpc/64s/radix: Fix 128TB-512TB virtual address
- boundary case allocation
-
-commit 85e3f1adcb9d49300b0a943bb93f9604be375bfb upstream.
-
-Radix VA space allocations test addresses against mm->task_size which
-is 512TB, even in cases where the intention is to limit allocation to
-below 128TB.
-
-This results in mmap with a hint address below 128TB but address +
-length above 128TB succeeding when it should fail (as hash does after
-the previous patch).
-
-Set the high address limit to be considered up front, and base
-subsequent allocation checks on that consistently.
-
-Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB")
-Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
-Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/mm/hugetlbpage-radix.c | 26 ++++++++++++------
- arch/powerpc/mm/mmap.c | 55 ++++++++++++++++++++++---------------
- 2 files changed, 50 insertions(+), 31 deletions(-)
-
-diff --git a/arch/powerpc/mm/hugetlbpage-radix.c b/arch/powerpc/mm/hugetlbpage-radix.c
-index a12e86395025..0a3d71aae175 100644
---- a/arch/powerpc/mm/hugetlbpage-radix.c
-+++ b/arch/powerpc/mm/hugetlbpage-radix.c
-@@ -48,17 +48,28 @@ radix__hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
- struct mm_struct *mm = current->mm;
- struct vm_area_struct *vma;
- struct hstate *h = hstate_file(file);
-+ int fixed = (flags & MAP_FIXED);
-+ unsigned long high_limit;
- struct vm_unmapped_area_info info;
-
-- if (unlikely(addr > mm->context.addr_limit && addr < TASK_SIZE))
-- mm->context.addr_limit = TASK_SIZE;
-+ high_limit = DEFAULT_MAP_WINDOW;
-+ if (addr >= high_limit || (fixed && (addr + len > high_limit)))
-+ high_limit = TASK_SIZE;
-
- if (len & ~huge_page_mask(h))
- return -EINVAL;
-- if (len > mm->task_size)
-+ if (len > high_limit)
- return -ENOMEM;
-+ if (fixed) {
-+ if (addr > high_limit - len)
-+ return -ENOMEM;
-+ }
-
-- if (flags & MAP_FIXED) {
-+ if (unlikely(addr > mm->context.addr_limit &&
-+ mm->context.addr_limit != TASK_SIZE))
-+ mm->context.addr_limit = TASK_SIZE;
-+
-+ if (fixed) {
- if (prepare_hugepage_range(file, addr, len))
- return -EINVAL;
- return addr;
-@@ -67,7 +78,7 @@ radix__hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
- if (addr) {
- addr = ALIGN(addr, huge_page_size(h));
- vma = find_vma(mm, addr);
-- if (mm->task_size - len >= addr &&
-+ if (high_limit - len >= addr &&
- (!vma || addr + len <= vm_start_gap(vma)))
- return addr;
- }
-@@ -78,12 +89,9 @@ radix__hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
- info.flags = VM_UNMAPPED_AREA_TOPDOWN;
- info.length = len;
- info.low_limit = PAGE_SIZE;
-- info.high_limit = current->mm->mmap_base;
-+ info.high_limit = mm->mmap_base + (high_limit - DEFAULT_MAP_WINDOW);
- info.align_mask = PAGE_MASK & ~huge_page_mask(h);
- info.align_offset = 0;
-
-- if (addr > DEFAULT_MAP_WINDOW)
-- info.high_limit += mm->context.addr_limit - DEFAULT_MAP_WINDOW;
--
- return vm_unmapped_area(&info);
- }
-diff --git a/arch/powerpc/mm/mmap.c b/arch/powerpc/mm/mmap.c
-index 5d78b193fec4..6d476a7b5611 100644
---- a/arch/powerpc/mm/mmap.c
-+++ b/arch/powerpc/mm/mmap.c
-@@ -106,22 +106,32 @@ radix__arch_get_unmapped_area(struct file *filp, unsigned long addr,
- {
- struct mm_struct *mm = current->mm;
- struct vm_area_struct *vma;
-+ int fixed = (flags & MAP_FIXED);
-+ unsigned long high_limit;
- struct vm_unmapped_area_info info;
-
-+ high_limit = DEFAULT_MAP_WINDOW;
-+ if (addr >= high_limit || (fixed && (addr + len > high_limit)))
-+ high_limit = TASK_SIZE;
-+
-+ if (len > high_limit)
-+ return -ENOMEM;
-+ if (fixed) {
-+ if (addr > high_limit - len)
-+ return -ENOMEM;
-+ }
-+
- if (unlikely(addr > mm->context.addr_limit &&
- mm->context.addr_limit != TASK_SIZE))
- mm->context.addr_limit = TASK_SIZE;
-
-- if (len > mm->task_size - mmap_min_addr)
-- return -ENOMEM;
--
-- if (flags & MAP_FIXED)
-+ if (fixed)
- return addr;
-
- if (addr) {
- addr = PAGE_ALIGN(addr);
- vma = find_vma(mm, addr);
-- if (mm->task_size - len >= addr && addr >= mmap_min_addr &&
-+ if (high_limit - len >= addr && addr >= mmap_min_addr &&
- (!vma || addr + len <= vm_start_gap(vma)))
- return addr;
- }
-@@ -129,13 +139,9 @@ radix__arch_get_unmapped_area(struct file *filp, unsigned long addr,
- info.flags = 0;
- info.length = len;
- info.low_limit = mm->mmap_base;
-+ info.high_limit = high_limit;
- info.align_mask = 0;
-
-- if (unlikely(addr > DEFAULT_MAP_WINDOW))
-- info.high_limit = mm->context.addr_limit;
-- else
-- info.high_limit = DEFAULT_MAP_WINDOW;
--
- return vm_unmapped_area(&info);
- }
-
-@@ -149,37 +155,42 @@ radix__arch_get_unmapped_area_topdown(struct file *filp,
- struct vm_area_struct *vma;
- struct mm_struct *mm = current->mm;
- unsigned long addr = addr0;
-+ int fixed = (flags & MAP_FIXED);
-+ unsigned long high_limit;
- struct vm_unmapped_area_info info;
-
-+ high_limit = DEFAULT_MAP_WINDOW;
-+ if (addr >= high_limit || (fixed && (addr + len > high_limit)))
-+ high_limit = TASK_SIZE;
-+
-+ if (len > high_limit)
-+ return -ENOMEM;
-+ if (fixed) {
-+ if (addr > high_limit - len)
-+ return -ENOMEM;
-+ }
-+
- if (unlikely(addr > mm->context.addr_limit &&
- mm->context.addr_limit != TASK_SIZE))
- mm->context.addr_limit = TASK_SIZE;
-
-- /* requested length too big for entire address space */
-- if (len > mm->task_size - mmap_min_addr)
-- return -ENOMEM;
--
-- if (flags & MAP_FIXED)
-+ if (fixed)
- return addr;
-
-- /* requesting a specific address */
- if (addr) {
- addr = PAGE_ALIGN(addr);
- vma = find_vma(mm, addr);
-- if (mm->task_size - len >= addr && addr >= mmap_min_addr &&
-- (!vma || addr + len <= vm_start_gap(vma)))
-+ if (high_limit - len >= addr && addr >= mmap_min_addr &&
-+ (!vma || addr + len <= vm_start_gap(vma)))
- return addr;
- }
-
- info.flags = VM_UNMAPPED_AREA_TOPDOWN;
- info.length = len;
- info.low_limit = max(PAGE_SIZE, mmap_min_addr);
-- info.high_limit = mm->mmap_base;
-+ info.high_limit = mm->mmap_base + (high_limit - DEFAULT_MAP_WINDOW);
- info.align_mask = 0;
-
-- if (addr > DEFAULT_MAP_WINDOW)
-- info.high_limit += mm->context.addr_limit - DEFAULT_MAP_WINDOW;
--
- addr = vm_unmapped_area(&info);
- if (!(addr & ~PAGE_MASK))
- return addr;
---
-2.14.3
-
diff --git a/freed-ora/current/f26/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch b/freed-ora/current/f26/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch
deleted file mode 100644
index 49975811b..000000000
--- a/freed-ora/current/f26/0002-mfd-Add-Cherry-Trail-Whiskey-Cove-PMIC-driver.patch
+++ /dev/null
@@ -1,355 +0,0 @@
-From c0f9254fdd0703ade018b2ff3a8cca433f781a11 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 26 Feb 2017 21:07:29 +0100
-Subject: [PATCH 02/16] mfd: Add Cherry Trail Whiskey Cove PMIC driver
-
-Add mfd driver for Intel CHT Whiskey Cove PMIC, based on various non
-upstreamed CHT Whiskey Cove PMIC patches.
-
-This is a somewhat minimal version which adds irqchip support and cells
-for: ACPI PMIC opregion support, the i2c-controller driving the external
-charger irc and the pwrsrc/extcon block.
-
-Further cells can be added in the future if/when drivers are upstreamed
-for them.
-
-Cc: Bin Gao <bin.gao@intel.com>
-Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
-Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
----
-Changes in v2:
--Since this uses plain mfd and not the intel_soc_pmic stuff give it
- its own Kconfig and allow this to be built as a module
--Add missing #include <acpi/acpi_bus.h>
-
-Changes in v3:
--Drop #include <acpi/acpi_bus.h> again, not the right fix for the build errors
--Error out when the upper byte of the register-address passed to the regmap
- functions is 0 rather then hardcoding an address in that case
--Various minor style tweaks / cleanups
--Move defines of regulator register addresses to intel_pmic_chtwc.c,
- it is the only place where they are used
--Drop now empty include/linux/mfd/intel_chtwc.h
--Rename intel_soc_pmic_chtwc.c to intel_cht_wc.c to match Kconfig option name
--Add irqchip support
--Add external charger cell
--Add pwrsrc cell
-
-Changes in v4:
--Use PLATFORM_DEVID_NONE
-
-Changes in v5:
--Change Kconfig option from tristate to boolean and add a select for the
- i2c-bus driver, this is necessary because the chtwc PMIC provides an ACPI
- OPRegion handler, which must be available before other drivers using it
- are loaded, which can only be ensured if the mfd, opregion and i2c-bus
- drivers are built in. This fixes errors like these during boot:
- mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA
- ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion] (20170119/evregion-166)
- ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-299)
- ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93543b0cde10), AE_NOT_EXIST (20170119/psparse-543)
- ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b0b5cd0), AE_NOT_EXIST (20170119/psparse-543)
- acpi 80860F14:02: Failed to change power state to D0
--Some minor style and capitalization fixes from review by Lee Jones
-
-Changes in v6:
--Fix Kconfig depends and selects to fix warning reported by kbuild test robot
-
-Changes in v7:
--Add explanation why this is a bool and why it selects i2c-designwaree
- to the help text rather then as comments in the Kconfig
-
-Changes in v8:
--Remove MODULE macros, etc. now that this driver is a bool in Kconfig
-
-Changes in v9:
--Some whitespace tweaks
--Return -EINVAL from probe on invalid irq
--Use probe_new i2c_driver callback
----
- drivers/mfd/Kconfig | 16 +++
- drivers/mfd/Makefile | 1 +
- drivers/mfd/intel_soc_pmic_chtwc.c | 230 +++++++++++++++++++++++++++++++++++++
- 3 files changed, 247 insertions(+)
- create mode 100644 drivers/mfd/intel_soc_pmic_chtwc.c
-
-diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
-index 3eb5c93595f6..5203a86b8f6c 100644
---- a/drivers/mfd/Kconfig
-+++ b/drivers/mfd/Kconfig
-@@ -470,6 +470,22 @@ config INTEL_SOC_PMIC_BXTWC
- thermal, charger and related power management functions
- on these systems.
-
-+config INTEL_SOC_PMIC_CHTWC
-+ bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
-+ depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
-+ depends on X86 || COMPILE_TEST
-+ select MFD_CORE
-+ select REGMAP_I2C
-+ select REGMAP_IRQ
-+ select I2C_DESIGNWARE_PLATFORM
-+ help
-+ Select this option to enable support for the Intel Cherry Trail
-+ Whiskey Cove PMIC found on some Intel Cherry Trail systems.
-+
-+ This option is a bool as it provides an ACPI OpRegion which must be
-+ available before any devices using it are probed. This option also
-+ causes the designware-i2c driver to be builtin for the same reason.
-+
- config MFD_INTEL_LPSS
- tristate
- select COMMON_CLK
-diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
-index c16bf1ea0ea9..6f6aed8cfccc 100644
---- a/drivers/mfd/Makefile
-+++ b/drivers/mfd/Makefile
-@@ -214,6 +214,7 @@ obj-$(CONFIG_MFD_SKY81452) += sky81452.o
- intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o
- obj-$(CONFIG_INTEL_SOC_PMIC) += intel-soc-pmic.o
- obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC) += intel_soc_pmic_bxtwc.o
-+obj-$(CONFIG_INTEL_SOC_PMIC_CHTWC) += intel_soc_pmic_chtwc.o
- obj-$(CONFIG_MFD_MT6397) += mt6397-core.o
-
- obj-$(CONFIG_MFD_ALTERA_A10SR) += altera-a10sr.o
-diff --git a/drivers/mfd/intel_soc_pmic_chtwc.c b/drivers/mfd/intel_soc_pmic_chtwc.c
-new file mode 100644
-index 000000000000..b35da01d5bcf
---- /dev/null
-+++ b/drivers/mfd/intel_soc_pmic_chtwc.c
-@@ -0,0 +1,230 @@
-+/*
-+ * MFD core driver for Intel Cherrytrail Whiskey Cove PMIC
-+ *
-+ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com>
-+ *
-+ * Based on various non upstream patches to support the CHT Whiskey Cove PMIC:
-+ * Copyright (C) 2013-2015 Intel Corporation. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#include <linux/acpi.h>
-+#include <linux/delay.h>
-+#include <linux/err.h>
-+#include <linux/i2c.h>
-+#include <linux/interrupt.h>
-+#include <linux/kernel.h>
-+#include <linux/mfd/core.h>
-+#include <linux/mfd/intel_soc_pmic.h>
-+#include <linux/regmap.h>
-+
-+/* PMIC device registers */
-+#define REG_OFFSET_MASK GENMASK(7, 0)
-+#define REG_ADDR_MASK GENMASK(15, 8)
-+#define REG_ADDR_SHIFT 8
-+
-+#define CHT_WC_IRQLVL1 0x6e02
-+#define CHT_WC_IRQLVL1_MASK 0x6e0e
-+
-+/* Whiskey Cove PMIC share same ACPI ID between different platforms */
-+#define CHT_WC_HRV 3
-+
-+/* Level 1 IRQs (level 2 IRQs are handled in the child device drivers) */
-+enum {
-+ CHT_WC_PWRSRC_IRQ = 0,
-+ CHT_WC_THRM_IRQ,
-+ CHT_WC_BCU_IRQ,
-+ CHT_WC_ADC_IRQ,
-+ CHT_WC_EXT_CHGR_IRQ,
-+ CHT_WC_GPIO_IRQ,
-+ /* There is no irq 6 */
-+ CHT_WC_CRIT_IRQ = 7,
-+};
-+
-+static struct resource cht_wc_pwrsrc_resources[] = {
-+ DEFINE_RES_IRQ(CHT_WC_PWRSRC_IRQ),
-+};
-+
-+static struct resource cht_wc_ext_charger_resources[] = {
-+ DEFINE_RES_IRQ(CHT_WC_EXT_CHGR_IRQ),
-+};
-+
-+static struct mfd_cell cht_wc_dev[] = {
-+ {
-+ .name = "cht_wcove_pwrsrc",
-+ .num_resources = ARRAY_SIZE(cht_wc_pwrsrc_resources),
-+ .resources = cht_wc_pwrsrc_resources,
-+ }, {
-+ .name = "cht_wcove_ext_chgr",
-+ .num_resources = ARRAY_SIZE(cht_wc_ext_charger_resources),
-+ .resources = cht_wc_ext_charger_resources,
-+ },
-+ { .name = "cht_wcove_region", },
-+};
-+
-+/*
-+ * The CHT Whiskey Cove covers multiple I2C addresses, with a 1 Byte
-+ * register address space per I2C address, so we use 16 bit register
-+ * addresses where the high 8 bits contain the I2C client address.
-+ */
-+static int cht_wc_byte_reg_read(void *context, unsigned int reg,
-+ unsigned int *val)
-+{
-+ struct i2c_client *client = context;
-+ int ret, orig_addr = client->addr;
-+
-+ if (!(reg & REG_ADDR_MASK)) {
-+ dev_err(&client->dev, "Error I2C address not specified\n");
-+ return -EINVAL;
-+ }
-+
-+ client->addr = (reg & REG_ADDR_MASK) >> REG_ADDR_SHIFT;
-+ ret = i2c_smbus_read_byte_data(client, reg & REG_OFFSET_MASK);
-+ client->addr = orig_addr;
-+
-+ if (ret < 0)
-+ return ret;
-+
-+ *val = ret;
-+ return 0;
-+}
-+
-+static int cht_wc_byte_reg_write(void *context, unsigned int reg,
-+ unsigned int val)
-+{
-+ struct i2c_client *client = context;
-+ int ret, orig_addr = client->addr;
-+
-+ if (!(reg & REG_ADDR_MASK)) {
-+ dev_err(&client->dev, "Error I2C address not specified\n");
-+ return -EINVAL;
-+ }
-+
-+ client->addr = (reg & REG_ADDR_MASK) >> REG_ADDR_SHIFT;
-+ ret = i2c_smbus_write_byte_data(client, reg & REG_OFFSET_MASK, val);
-+ client->addr = orig_addr;
-+
-+ return ret;
-+}
-+
-+static const struct regmap_config cht_wc_regmap_cfg = {
-+ .reg_bits = 16,
-+ .val_bits = 8,
-+ .reg_write = cht_wc_byte_reg_write,
-+ .reg_read = cht_wc_byte_reg_read,
-+};
-+
-+static const struct regmap_irq cht_wc_regmap_irqs[] = {
-+ REGMAP_IRQ_REG(CHT_WC_PWRSRC_IRQ, 0, BIT(CHT_WC_PWRSRC_IRQ)),
-+ REGMAP_IRQ_REG(CHT_WC_THRM_IRQ, 0, BIT(CHT_WC_THRM_IRQ)),
-+ REGMAP_IRQ_REG(CHT_WC_BCU_IRQ, 0, BIT(CHT_WC_BCU_IRQ)),
-+ REGMAP_IRQ_REG(CHT_WC_ADC_IRQ, 0, BIT(CHT_WC_ADC_IRQ)),
-+ REGMAP_IRQ_REG(CHT_WC_EXT_CHGR_IRQ, 0, BIT(CHT_WC_EXT_CHGR_IRQ)),
-+ REGMAP_IRQ_REG(CHT_WC_GPIO_IRQ, 0, BIT(CHT_WC_GPIO_IRQ)),
-+ REGMAP_IRQ_REG(CHT_WC_CRIT_IRQ, 0, BIT(CHT_WC_CRIT_IRQ)),
-+};
-+
-+static const struct regmap_irq_chip cht_wc_regmap_irq_chip = {
-+ .name = "cht_wc_irq_chip",
-+ .status_base = CHT_WC_IRQLVL1,
-+ .mask_base = CHT_WC_IRQLVL1_MASK,
-+ .irqs = cht_wc_regmap_irqs,
-+ .num_irqs = ARRAY_SIZE(cht_wc_regmap_irqs),
-+ .num_regs = 1,
-+};
-+
-+static int cht_wc_probe(struct i2c_client *client)
-+{
-+ struct device *dev = &client->dev;
-+ struct intel_soc_pmic *pmic;
-+ acpi_status status;
-+ unsigned long long hrv;
-+ int ret;
-+
-+ status = acpi_evaluate_integer(ACPI_HANDLE(dev), "_HRV", NULL, &hrv);
-+ if (ACPI_FAILURE(status)) {
-+ dev_err(dev, "Failed to get PMIC hardware revision\n");
-+ return -ENODEV;
-+ }
-+ if (hrv != CHT_WC_HRV) {
-+ dev_err(dev, "Invalid PMIC hardware revision: %llu\n", hrv);
-+ return -ENODEV;
-+ }
-+ if (client->irq < 0) {
-+ dev_err(dev, "Invalid IRQ\n");
-+ return -EINVAL;
-+ }
-+
-+ pmic = devm_kzalloc(dev, sizeof(*pmic), GFP_KERNEL);
-+ if (!pmic)
-+ return -ENOMEM;
-+
-+ pmic->irq = client->irq;
-+ pmic->dev = dev;
-+ i2c_set_clientdata(client, pmic);
-+
-+ pmic->regmap = devm_regmap_init(dev, NULL, client, &cht_wc_regmap_cfg);
-+ if (IS_ERR(pmic->regmap))
-+ return PTR_ERR(pmic->regmap);
-+
-+ ret = devm_regmap_add_irq_chip(dev, pmic->regmap, pmic->irq,
-+ IRQF_ONESHOT | IRQF_SHARED, 0,
-+ &cht_wc_regmap_irq_chip,
-+ &pmic->irq_chip_data);
-+ if (ret)
-+ return ret;
-+
-+ return devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE,
-+ cht_wc_dev, ARRAY_SIZE(cht_wc_dev), NULL, 0,
-+ regmap_irq_get_domain(pmic->irq_chip_data));
-+}
-+
-+static void cht_wc_shutdown(struct i2c_client *client)
-+{
-+ struct intel_soc_pmic *pmic = i2c_get_clientdata(client);
-+
-+ disable_irq(pmic->irq);
-+}
-+
-+static int __maybe_unused cht_wc_suspend(struct device *dev)
-+{
-+ struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
-+
-+ disable_irq(pmic->irq);
-+
-+ return 0;
-+}
-+
-+static int __maybe_unused cht_wc_resume(struct device *dev)
-+{
-+ struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
-+
-+ enable_irq(pmic->irq);
-+
-+ return 0;
-+}
-+static SIMPLE_DEV_PM_OPS(cht_wc_pm_ops, cht_wc_suspend, cht_wc_resume);
-+
-+static const struct i2c_device_id cht_wc_i2c_id[] = {
-+ { }
-+};
-+
-+static const struct acpi_device_id cht_wc_acpi_ids[] = {
-+ { "INT34D3", },
-+ { }
-+};
-+
-+static struct i2c_driver cht_wc_driver = {
-+ .driver = {
-+ .name = "CHT Whiskey Cove PMIC",
-+ .pm = &cht_wc_pm_ops,
-+ .acpi_match_table = cht_wc_acpi_ids,
-+ },
-+ .probe_new = cht_wc_probe,
-+ .shutdown = cht_wc_shutdown,
-+ .id_table = cht_wc_i2c_id,
-+};
-+builtin_i2c_driver(cht_wc_driver);
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch b/freed-ora/current/f26/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch
deleted file mode 100644
index 6daecaf4d..000000000
--- a/freed-ora/current/f26/0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 27b9d46d25c873b351757c44ce523bf0ede1d08e Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 14 Aug 2017 11:02:59 +0200
-Subject: [PATCH 2/2] power: supply: max17042_battery: Fix ACPI interrupt
- issues
-
-On some x86/ACPI boards the DSDT defines an ACPI event handler for
-the max17047 IRQ, this causes several problems:
-
-1) We need to share the IRQ to avoid an error getting it
-
-2) Even of we are willing to share, we may fail to share because some
- DSDTs claim it exclusivly
-
-3) If we are unable to share the IRQ, or the IRQ is only listed as an
- ACPI event source and not in the max1704 firmware node, then the
- charge threshold IRQ (which is used to give an IRQ every 1 percent
- charge change) becomes a problem, the ACPI event handler will not
- update this to the next 1 percent threshold, so the IRQ keeps firing
- and we get an IRQ storm pegging 1 CPU core.
-
- This happens despite the max17042 driver not setting the charge
- threshold because Windows uses it and leaves it set on reboot.
-
- So if we are unable to get the IRQ we need to reprogram the
- charge threshold to its disabled setting.
-
-This commit fixes al of the above, while at it it also makes the error
-msg when being unable to get the IRQ consistent with other messages.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/power/supply/max17042_battery.c | 20 +++++++++++++++-----
- 1 file changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
-index b2ddb7eb69c6..18a44e4ed6ff 100644
---- a/drivers/power/supply/max17042_battery.c
-+++ b/drivers/power/supply/max17042_battery.c
-@@ -1050,11 +1050,18 @@ static int max17042_probe(struct i2c_client *client,
- }
-
- if (client->irq) {
-+ unsigned int flags = IRQF_TRIGGER_FALLING | IRQF_ONESHOT;
-+
-+ /*
-+ * On ACPI systems the IRQ may be handled by ACPI-event code,
-+ * so we need to share (if the ACPI code is willing to share).
-+ */
-+ if (acpi_id)
-+ flags |= IRQF_SHARED | IRQF_PROBE_SHARED;
-+
- ret = devm_request_threaded_irq(&client->dev, client->irq,
- NULL,
-- max17042_thread_handler,
-- IRQF_TRIGGER_FALLING |
-- IRQF_ONESHOT,
-+ max17042_thread_handler, flags,
- chip->battery->desc->name,
- chip);
- if (!ret) {
-@@ -1064,10 +1071,13 @@ static int max17042_probe(struct i2c_client *client,
- max17042_set_soc_threshold(chip, 1);
- } else {
- client->irq = 0;
-- dev_err(&client->dev, "%s(): cannot get IRQ\n",
-- __func__);
-+ if (ret != -EBUSY)
-+ dev_err(&client->dev, "Failed to get IRQ\n");
- }
- }
-+ /* Not able to update the charge threshold when exceeded? -> disable */
-+ if (!client->irq)
-+ regmap_write(chip->regmap, MAX17042_SALRT_Th, 0xff00);
-
- regmap_read(chip->regmap, MAX17042_STATUS, &val);
- if (val & STATUS_POR_BIT) {
---
-2.13.4
-
diff --git a/freed-ora/current/f26/0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch b/freed-ora/current/f26/0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch
deleted file mode 100644
index fc6b806d7..000000000
--- a/freed-ora/current/f26/0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 75c7f5172c113af1ea3cf094436c9e03191673e0 Mon Sep 17 00:00:00 2001
-From: Michael Ellerman <mpe@ellerman.id.au>
-Date: Tue, 28 Nov 2017 11:26:55 +0100
-Subject: [PATCH 2/5] powerpc/64s/hash: Fix 512T hint detection to use >= 128T
-
-commit 7ece370996b694ae263025e056ad785afc1be5ab upstream.
-
-Currently userspace is able to request mmap() search between 128T-512T
-by specifying a hint address that is greater than 128T. But that means
-a hint of 128T exactly will return an address below 128T, which is
-confusing and wrong.
-
-So fix the logic to check the hint is greater than *or equal* to 128T.
-
-Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB")
-Suggested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
-Suggested-by: Nicholas Piggin <npiggin@gmail.com>
-[mpe: Split out of Nick's bigger patch]
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/mm/slice.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c
-index 45f6740dd407..48a5312103a1 100644
---- a/arch/powerpc/mm/slice.c
-+++ b/arch/powerpc/mm/slice.c
-@@ -419,7 +419,7 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
- /*
- * Check if we need to expland slice area.
- */
-- if (unlikely(addr > mm->context.addr_limit &&
-+ if (unlikely(addr >= mm->context.addr_limit &&
- mm->context.addr_limit != TASK_SIZE)) {
- mm->context.addr_limit = TASK_SIZE;
- on_each_cpu(slice_flush_segments, mm, 1);
-@@ -427,7 +427,7 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
- /*
- * This mmap request can allocate upt to 512TB
- */
-- if (addr > DEFAULT_MAP_WINDOW)
-+ if (addr >= DEFAULT_MAP_WINDOW)
- high_limit = mm->context.addr_limit;
- else
- high_limit = DEFAULT_MAP_WINDOW;
---
-2.14.3
-
diff --git a/freed-ora/current/f26/0003-power-supply-core-Add-support-for-supplied-from-devi.patch b/freed-ora/current/f26/0003-power-supply-core-Add-support-for-supplied-from-devi.patch
deleted file mode 100644
index ab646e2e5..000000000
--- a/freed-ora/current/f26/0003-power-supply-core-Add-support-for-supplied-from-devi.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 69dd0606a0d8680fe0a5e9b959f6662e582e1674 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 2 May 2017 13:43:34 +0200
-Subject: [PATCH 03/16] power: supply: core: Add support for supplied-from
- device-property
-
-On devicetree using platforms the devicetree can provide info on which
-power-supplies supply another power-supply through phandles.
-
-This commit adds support for providing this info on non devicetree
-platforms through the platform code setting a supplied-from
-device-property on the power-supplies parent device.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/power/supply/power_supply_core.c | 24 +++++++++++++++++++++++-
- 1 file changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c
-index 7ec7c7c202bd..0c09144193a6 100644
---- a/drivers/power/supply/power_supply_core.c
-+++ b/drivers/power/supply/power_supply_core.c
-@@ -274,8 +274,30 @@ static int power_supply_check_supplies(struct power_supply *psy)
- return power_supply_populate_supplied_from(psy);
- }
- #else
--static inline int power_supply_check_supplies(struct power_supply *psy)
-+static int power_supply_check_supplies(struct power_supply *psy)
- {
-+ int nval, ret;
-+
-+ if (!psy->dev.parent)
-+ return 0;
-+
-+ nval = device_property_read_string_array(psy->dev.parent,
-+ "supplied-from", NULL, 0);
-+ if (nval <= 0)
-+ return 0;
-+
-+ psy->supplied_from = devm_kmalloc_array(&psy->dev, nval,
-+ sizeof(char *), GFP_KERNEL);
-+ if (!psy->supplied_from)
-+ return -ENOMEM;
-+
-+ ret = device_property_read_string_array(psy->dev.parent,
-+ "supplied-from", (const char **)psy->supplied_from, nval);
-+ if (ret < 0)
-+ return ret;
-+
-+ psy->num_supplies = nval;
-+
- return 0;
- }
- #endif
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch b/freed-ora/current/f26/0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch
deleted file mode 100644
index 009068a3b..000000000
--- a/freed-ora/current/f26/0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From e90387a8d2227f95bf5e5b5ffd816d48a87466e2 Mon Sep 17 00:00:00 2001
-From: Nicholas Piggin <npiggin@gmail.com>
-Date: Tue, 28 Nov 2017 11:26:56 +0100
-Subject: [PATCH 3/5] powerpc/64s/hash: Fix 128TB-512TB virtual address
- boundary case allocation
-
-commit 6a72dc038b615229a1b285829d6c8378d15c2347 upstream.
-
-When allocating VA space with a hint that crosses 128TB, the SLB
-addr_limit variable is not expanded if addr is not > 128TB, but the
-slice allocation looks at task_size, which is 512TB. This results in
-slice_check_fit() incorrectly succeeding because the slice_count
-truncates off bit 128 of the requested mask, so the comparison to the
-available mask succeeds.
-
-Fix this by using mm->context.addr_limit instead of mm->task_size for
-testing allocation limits. This causes such allocations to fail.
-
-Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB")
-Reported-by: Florian Weimer <fweimer@redhat.com>
-Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
-Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/mm/slice.c | 50 ++++++++++++++++++++++++-------------------------
- 1 file changed, 24 insertions(+), 26 deletions(-)
-
-diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c
-index 48a5312103a1..3889201b560c 100644
---- a/arch/powerpc/mm/slice.c
-+++ b/arch/powerpc/mm/slice.c
-@@ -96,7 +96,7 @@ static int slice_area_is_free(struct mm_struct *mm, unsigned long addr,
- {
- struct vm_area_struct *vma;
-
-- if ((mm->task_size - len) < addr)
-+ if ((mm->context.addr_limit - len) < addr)
- return 0;
- vma = find_vma(mm, addr);
- return (!vma || (addr + len) <= vm_start_gap(vma));
-@@ -133,7 +133,7 @@ static void slice_mask_for_free(struct mm_struct *mm, struct slice_mask *ret)
- if (!slice_low_has_vma(mm, i))
- ret->low_slices |= 1u << i;
-
-- if (mm->task_size <= SLICE_LOW_TOP)
-+ if (mm->context.addr_limit <= SLICE_LOW_TOP)
- return;
-
- for (i = 0; i < GET_HIGH_SLICE_INDEX(mm->context.addr_limit); i++)
-@@ -412,25 +412,31 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
- struct slice_mask compat_mask;
- int fixed = (flags & MAP_FIXED);
- int pshift = max_t(int, mmu_psize_defs[psize].shift, PAGE_SHIFT);
-+ unsigned long page_size = 1UL << pshift;
- struct mm_struct *mm = current->mm;
- unsigned long newaddr;
- unsigned long high_limit;
-
-- /*
-- * Check if we need to expland slice area.
-- */
-- if (unlikely(addr >= mm->context.addr_limit &&
-- mm->context.addr_limit != TASK_SIZE)) {
-- mm->context.addr_limit = TASK_SIZE;
-+ high_limit = DEFAULT_MAP_WINDOW;
-+ if (addr >= high_limit)
-+ high_limit = TASK_SIZE;
-+
-+ if (len > high_limit)
-+ return -ENOMEM;
-+ if (len & (page_size - 1))
-+ return -EINVAL;
-+ if (fixed) {
-+ if (addr & (page_size - 1))
-+ return -EINVAL;
-+ if (addr > high_limit - len)
-+ return -ENOMEM;
-+ }
-+
-+ if (high_limit > mm->context.addr_limit) {
-+ mm->context.addr_limit = high_limit;
- on_each_cpu(slice_flush_segments, mm, 1);
- }
-- /*
-- * This mmap request can allocate upt to 512TB
-- */
-- if (addr >= DEFAULT_MAP_WINDOW)
-- high_limit = mm->context.addr_limit;
-- else
-- high_limit = DEFAULT_MAP_WINDOW;
-+
- /*
- * init different masks
- */
-@@ -446,27 +452,19 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
-
- /* Sanity checks */
- BUG_ON(mm->task_size == 0);
-+ BUG_ON(mm->context.addr_limit == 0);
- VM_BUG_ON(radix_enabled());
-
- slice_dbg("slice_get_unmapped_area(mm=%p, psize=%d...\n", mm, psize);
- slice_dbg(" addr=%lx, len=%lx, flags=%lx, topdown=%d\n",
- addr, len, flags, topdown);
-
-- if (len > mm->task_size)
-- return -ENOMEM;
-- if (len & ((1ul << pshift) - 1))
-- return -EINVAL;
-- if (fixed && (addr & ((1ul << pshift) - 1)))
-- return -EINVAL;
-- if (fixed && addr > (mm->task_size - len))
-- return -ENOMEM;
--
- /* If hint, make sure it matches our alignment restrictions */
- if (!fixed && addr) {
-- addr = _ALIGN_UP(addr, 1ul << pshift);
-+ addr = _ALIGN_UP(addr, page_size);
- slice_dbg(" aligned addr=%lx\n", addr);
- /* Ignore hint if it's too large or overlaps a VMA */
-- if (addr > mm->task_size - len ||
-+ if (addr > high_limit - len ||
- !slice_area_is_free(mm, addr, len))
- addr = 0;
- }
---
-2.14.3
-
diff --git a/freed-ora/current/f26/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch b/freed-ora/current/f26/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch
deleted file mode 100644
index 342a48c54..000000000
--- a/freed-ora/current/f26/0004-platform-x86-intel_cht_int33fe-Set-supplied-from-pro.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 99c44df299d96db6a170ccce9b8108fc2e7f8bae Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 2 May 2017 13:40:44 +0200
-Subject: [PATCH 04/16] platform/x86: intel_cht_int33fe: Set supplied-from
- property on max17047 dev
-
-Devices with the intel_cht_int33fe ACPI device use a max17047 fuel-gauge
-combined with a bq24272i charger, in order for the fuel-gauge driver to
-correctly display charging / discharging status it needs to know which
-charger is supplying the battery.
-
-This commit sets the supplied-from device property to the name of the
-bq24272i charger for this.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/platform/x86/intel_cht_int33fe.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c
-index 6a1b2ca5b6fe..da706e2c4232 100644
---- a/drivers/platform/x86/intel_cht_int33fe.c
-+++ b/drivers/platform/x86/intel_cht_int33fe.c
-@@ -34,6 +34,13 @@ struct cht_int33fe_data {
- struct i2c_client *pi3usb30532;
- };
-
-+static const char * const max17047_suppliers[] = { "bq24190-charger" };
-+
-+static const struct property_entry max17047_props[] = {
-+ PROPERTY_ENTRY_STRING_ARRAY("supplied-from", max17047_suppliers),
-+ { }
-+};
-+
- static int cht_int33fe_probe(struct i2c_client *client)
- {
- struct device *dev = &client->dev;
-@@ -70,6 +77,7 @@ static int cht_int33fe_probe(struct i2c_client *client)
-
- memset(&board_info, 0, sizeof(board_info));
- strlcpy(board_info.type, "max17047", I2C_NAME_SIZE);
-+ board_info.properties = max17047_props;
-
- data->max17047 = i2c_acpi_new_device(dev, 1, &board_info);
- if (!data->max17047)
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch b/freed-ora/current/f26/0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch
deleted file mode 100644
index 75d9d3241..000000000
--- a/freed-ora/current/f26/0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fe50aa4374f20333d9b077bbe09397d38112b081 Mon Sep 17 00:00:00 2001
-From: Nicholas Piggin <npiggin@gmail.com>
-Date: Tue, 28 Nov 2017 11:26:57 +0100
-Subject: [PATCH 4/5] powerpc/64s/hash: Fix fork() with 512TB process address
- space
-
-commit effc1b25088502fbd30305c79773de2d1f7470a6 upstream.
-
-Hash unconditionally resets the addr_limit to default (128TB) when the
-mm context is initialised. If a process has > 128TB mappings when it
-forks, the child will not get the 512TB addr_limit, so accesses to
-valid > 128TB mappings will fail in the child.
-
-Fix this by only resetting the addr_limit to default if it was 0. Non
-zero indicates it was duplicated from the parent (0 means exec()).
-
-Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB")
-Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
-Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/mm/mmu_context_book3s64.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/arch/powerpc/mm/mmu_context_book3s64.c b/arch/powerpc/mm/mmu_context_book3s64.c
-index a75f63833284..bb9cdf01fc4f 100644
---- a/arch/powerpc/mm/mmu_context_book3s64.c
-+++ b/arch/powerpc/mm/mmu_context_book3s64.c
-@@ -95,11 +95,11 @@ static int hash__init_new_context(struct mm_struct *mm)
- return index;
-
- /*
-- * We do switch_slb() early in fork, even before we setup the
-- * mm->context.addr_limit. Default to max task size so that we copy the
-- * default values to paca which will help us to handle slb miss early.
-+ * In the case of exec, use the default limit,
-+ * otherwise inherit it from the mm we are duplicating.
- */
-- mm->context.addr_limit = DEFAULT_MAP_WINDOW_USER64;
-+ if (!mm->context.addr_limit)
-+ mm->context.addr_limit = DEFAULT_MAP_WINDOW_USER64;
-
- /*
- * The old code would re-promote on fork, we don't do that when using
---
-2.14.3
-
diff --git a/freed-ora/current/f26/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch b/freed-ora/current/f26/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch
deleted file mode 100644
index c6f299c29..000000000
--- a/freed-ora/current/f26/0005-ACPI-PMIC-xpower-Add-support-for-the-GPI1-regulator-.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From cc2b0e2c164d02ab42efa736f91f53baf8d8bc36 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 20 Apr 2017 22:41:20 +0200
-Subject: [PATCH 05/16] ACPI / PMIC: xpower: Add support for the GPI1 regulator
- to the OpRegion handler
-
-Some Bay Trail devices use a GPI1 regulator field (address 0x4c) in
-their 0x8d power OpRegion, add support for this.
-
-This fixes AE_BAD_PARAMETER errors getting thrown on these devices and
-fixes these errors causing these devices to not suspend.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
----
-Changes in v2:
--Simplify reg == 0x92 handling (suggested by Andy Shevchenko)
--Add special handling for reg == 0x92 to intel_xpower_pmic_get_power() too
-Changes in v3:
--Use defines for GPI1 reg and bits, rather then hardcoded hex values
----
- drivers/acpi/pmic/intel_pmic_xpower.c | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/acpi/pmic/intel_pmic_xpower.c b/drivers/acpi/pmic/intel_pmic_xpower.c
-index 1a76c784cd4c..3b7d5be5b7ed 100644
---- a/drivers/acpi/pmic/intel_pmic_xpower.c
-+++ b/drivers/acpi/pmic/intel_pmic_xpower.c
-@@ -21,6 +21,11 @@
- #include "intel_pmic.h"
-
- #define XPOWER_GPADC_LOW 0x5b
-+#define XPOWER_GPI1_CTRL 0x92
-+
-+#define GPI1_LDO_MASK GENMASK(2, 0)
-+#define GPI1_LDO_ON (3 << 0)
-+#define GPI1_LDO_OFF (4 << 0)
-
- static struct pmic_table power_table[] = {
- {
-@@ -118,6 +123,10 @@ static struct pmic_table power_table[] = {
- .reg = 0x10,
- .bit = 0x00
- }, /* BUC6 */
-+ {
-+ .address = 0x4c,
-+ .reg = 0x92,
-+ }, /* GPI1 */
- };
-
- /* TMP0 - TMP5 are the same, all from GPADC */
-@@ -156,7 +165,12 @@ static int intel_xpower_pmic_get_power(struct regmap *regmap, int reg,
- if (regmap_read(regmap, reg, &data))
- return -EIO;
-
-- *value = (data & BIT(bit)) ? 1 : 0;
-+ /* GPIO1 LDO regulator needs special handling */
-+ if (reg == XPOWER_GPI1_CTRL)
-+ *value = ((data & GPI1_LDO_MASK) == GPI1_LDO_ON);
-+ else
-+ *value = (data & BIT(bit)) ? 1 : 0;
-+
- return 0;
- }
-
-@@ -165,6 +179,11 @@ static int intel_xpower_pmic_update_power(struct regmap *regmap, int reg,
- {
- int data;
-
-+ /* GPIO1 LDO regulator needs special handling */
-+ if (reg == XPOWER_GPI1_CTRL)
-+ return regmap_update_bits(regmap, reg, GPI1_LDO_MASK,
-+ on ? GPI1_LDO_ON : GPI1_LDO_OFF);
-+
- if (regmap_read(regmap, reg, &data))
- return -EIO;
-
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch b/freed-ora/current/f26/0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch
deleted file mode 100644
index e7e9a4acf..000000000
--- a/freed-ora/current/f26/0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 2beb551e379191c2a24e7db8c4fcc64fef4b921a Mon Sep 17 00:00:00 2001
-From: Nicholas Piggin <npiggin@gmail.com>
-Date: Tue, 28 Nov 2017 11:26:58 +0100
-Subject: [PATCH 5/5] powerpc/64s/hash: Allow MAP_FIXED allocations to cross
- 128TB boundary
-
-commit 35602f82d0c765f991420e319c8d3a596c921eb8 upstream.
-
-While mapping hints with a length that cross 128TB are disallowed,
-MAP_FIXED allocations that cross 128TB are allowed. These are failing
-on hash (on radix they succeed). Add an additional case for fixed
-mappings to expand the addr_limit when crossing 128TB.
-
-Fixes: f4ea6dcb08ea ("powerpc/mm: Enable mappings above 128TB")
-Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
-Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
-Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/powerpc/mm/slice.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c
-index 3889201b560c..a4f93699194b 100644
---- a/arch/powerpc/mm/slice.c
-+++ b/arch/powerpc/mm/slice.c
-@@ -418,7 +418,7 @@ unsigned long slice_get_unmapped_area(unsigned long addr, unsigned long len,
- unsigned long high_limit;
-
- high_limit = DEFAULT_MAP_WINDOW;
-- if (addr >= high_limit)
-+ if (addr >= high_limit || (fixed && (addr + len > high_limit)))
- high_limit = TASK_SIZE;
-
- if (len > high_limit)
---
-2.14.3
-
diff --git a/freed-ora/current/f26/0006-Input-axp20x-pek-Add-wakeup-support.patch b/freed-ora/current/f26/0006-Input-axp20x-pek-Add-wakeup-support.patch
deleted file mode 100644
index 1ec9659bd..000000000
--- a/freed-ora/current/f26/0006-Input-axp20x-pek-Add-wakeup-support.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From fbac4c05ec1d7c2d949f50baf1e934cbfbb6a494 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 17 Apr 2017 22:06:25 +0200
-Subject: [PATCH 06/16] Input: axp20x-pek - Add wakeup support
-
-At least on devices with the AXP288 PMIC the device is expected to
-wakeup from suspend when the power-button gets pressed, add support
-for this.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/input/misc/axp20x-pek.c | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-diff --git a/drivers/input/misc/axp20x-pek.c b/drivers/input/misc/axp20x-pek.c
-index 400869e61a06..5f16fceaae83 100644
---- a/drivers/input/misc/axp20x-pek.c
-+++ b/drivers/input/misc/axp20x-pek.c
-@@ -253,6 +253,9 @@ static int axp20x_pek_probe_input_device(struct axp20x_pek *axp20x_pek,
- return error;
- }
-
-+ if (axp20x_pek->axp20x->variant == AXP288_ID)
-+ enable_irq_wake(axp20x_pek->irq_dbr);
-+
- return 0;
- }
-
-@@ -331,10 +334,35 @@ static int axp20x_pek_probe(struct platform_device *pdev)
- return 0;
- }
-
-+static int __maybe_unused axp20x_pek_resume_noirq(struct device *dev)
-+{
-+ struct axp20x_pek *axp20x_pek = dev_get_drvdata(dev);
-+
-+ if (axp20x_pek->axp20x->variant != AXP288_ID)
-+ return 0;
-+
-+ /*
-+ * Clear interrupts from button presses during suspend, to avoid
-+ * a wakeup power-button press getting reported to userspace.
-+ */
-+ regmap_write(axp20x_pek->axp20x->regmap,
-+ AXP20X_IRQ1_STATE + AXP288_IRQ_POKN / 8,
-+ BIT(AXP288_IRQ_POKN % 8));
-+
-+ return 0;
-+}
-+
-+const struct dev_pm_ops axp20x_pek_pm_ops = {
-+#ifdef CONFIG_PM_SLEEP
-+ .resume_noirq = axp20x_pek_resume_noirq,
-+#endif
-+};
-+
- static struct platform_driver axp20x_pek_driver = {
- .probe = axp20x_pek_probe,
- .driver = {
- .name = "axp20x-pek",
-+ .pm = &axp20x_pek_pm_ops,
- },
- };
- module_platform_driver(axp20x_pek_driver);
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch b/freed-ora/current/f26/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch
deleted file mode 100644
index 53408bb34..000000000
--- a/freed-ora/current/f26/0007-platform-x86-silead_dmi-Add-touchscreen-info-for-GP-.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From d95c127c48ef784214671359a41ac505ac30098a Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 7 May 2017 12:32:11 +0200
-Subject: [PATCH 07/16] platform/x86: silead_dmi: Add touchscreen info for
- GP-electronic T701
-
-Add touchscreen info for the GP-electronic T701 tablet.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/platform/x86/silead_dmi.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c
-index a3a57d93cf06..db3a877d2160 100644
---- a/drivers/platform/x86/silead_dmi.c
-+++ b/drivers/platform/x86/silead_dmi.c
-@@ -80,6 +80,19 @@ static const struct silead_ts_dmi_data surftab_wintron70_st70416_6_data = {
- .properties = surftab_wintron70_st70416_6_props,
- };
-
-+static const struct property_entry gp_electronic_t701_props[] = {
-+ PROPERTY_ENTRY_U32("touchscreen-size-x", 960),
-+ PROPERTY_ENTRY_U32("touchscreen-size-y", 640),
-+ PROPERTY_ENTRY_STRING("firmware-name",
-+ "/*(DEBLOBBED)*/"),
-+ { }
-+};
-+
-+static const struct silead_ts_dmi_data gp_electronic_t701_data = {
-+ .acpi_name = "MSSL1680:00",
-+ .properties = gp_electronic_t701_props,
-+};
-+
- static const struct dmi_system_id silead_ts_dmi_table[] = {
- {
- /* CUBE iwork8 Air */
-@@ -117,6 +130,15 @@ static const struct dmi_system_id silead_ts_dmi_table[] = {
- DMI_MATCH(DMI_BIOS_VERSION, "TREK.G.WI71C.JGBMRBA04"),
- },
- },
-+ {
-+ /* GP-electronic T701 */
-+ .driver_data = (void *)&gp_electronic_t701_data,
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "T701"),
-+ DMI_MATCH(DMI_BIOS_VERSION, "BYT70A.YNCHENG.WIN.007"),
-+ },
-+ },
- { },
- };
-
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch b/freed-ora/current/f26/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch
deleted file mode 100644
index b88720035..000000000
--- a/freed-ora/current/f26/0008-platform-x86-silead_dmi-Add-touchscreen-info-for-PoV.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 55b347c61b2850d1e11e159ab02dc71f13b06481 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 11 Jun 2017 17:42:31 +0200
-Subject: [PATCH 08/16] platform/x86: silead_dmi: Add touchscreen info for PoV
- mobii wintab p800w
-
-Add touchscreen info for the Point of View mobii wintab p800w tablet.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/platform/x86/silead_dmi.c | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c
-index db3a877d2160..46c5e1ebfb53 100644
---- a/drivers/platform/x86/silead_dmi.c
-+++ b/drivers/platform/x86/silead_dmi.c
-@@ -93,6 +93,20 @@ static const struct silead_ts_dmi_data gp_electronic_t701_data = {
- .properties = gp_electronic_t701_props,
- };
-
-+static const struct property_entry pov_mobii_wintab_p800w_props[] = {
-+ PROPERTY_ENTRY_U32("touchscreen-size-x", 1800),
-+ PROPERTY_ENTRY_U32("touchscreen-size-y", 1150),
-+ PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
-+ PROPERTY_ENTRY_STRING("firmware-name",
-+ "/*(DEBLOBBED)*/"),
-+ { }
-+};
-+
-+static const struct silead_ts_dmi_data pov_mobii_wintab_p800w_data = {
-+ .acpi_name = "MSSL1680:00",
-+ .properties = pov_mobii_wintab_p800w_props,
-+};
-+
- static const struct dmi_system_id silead_ts_dmi_table[] = {
- {
- /* CUBE iwork8 Air */
-@@ -139,6 +153,17 @@ static const struct dmi_system_id silead_ts_dmi_table[] = {
- DMI_MATCH(DMI_BIOS_VERSION, "BYT70A.YNCHENG.WIN.007"),
- },
- },
-+ {
-+ /* Point of View mobii wintab p800w */
-+ .driver_data = (void *)&pov_mobii_wintab_p800w_data,
-+ .matches = {
-+ DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
-+ DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
-+ DMI_MATCH(DMI_BIOS_VERSION, "3BAIR1013"),
-+ /* Above matches are too generic, add bios-date match */
-+ DMI_MATCH(DMI_BIOS_DATE, "08/22/2014"),
-+ },
-+ },
- { },
- };
-
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch b/freed-ora/current/f26/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch
deleted file mode 100644
index 980142557..000000000
--- a/freed-ora/current/f26/0009-platform-x86-silead_dmi-Add-touchscreen-info-for-Pip.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From b239a7a0c2a1435aa5cbab3f233e0c37e82943dd Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 13 Jun 2017 18:17:07 +0200
-Subject: [PATCH 09/16] platform/x86: silead_dmi: Add touchscreen info for Pipo
- W2S tablet
-
-Add touchscreen info for Pipo W2S tablet.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/platform/x86/silead_dmi.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c
-index 46c5e1ebfb53..25cbea307a5e 100644
---- a/drivers/platform/x86/silead_dmi.c
-+++ b/drivers/platform/x86/silead_dmi.c
-@@ -107,6 +107,21 @@ static const struct silead_ts_dmi_data pov_mobii_wintab_p800w_data = {
- .properties = pov_mobii_wintab_p800w_props,
- };
-
-+static const struct property_entry pipo_w2s_props[] = {
-+ PROPERTY_ENTRY_U32("touchscreen-size-x", 1660),
-+ PROPERTY_ENTRY_U32("touchscreen-size-y", 880),
-+ PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
-+ PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
-+ PROPERTY_ENTRY_STRING("firmware-name",
-+ "/*(DEBLOBBED)*/"),
-+ { }
-+};
-+
-+static const struct silead_ts_dmi_data pipo_w2s_data = {
-+ .acpi_name = "MSSL1680:00",
-+ .properties = pipo_w2s_props,
-+};
-+
- static const struct dmi_system_id silead_ts_dmi_table[] = {
- {
- /* CUBE iwork8 Air */
-@@ -164,6 +179,14 @@ static const struct dmi_system_id silead_ts_dmi_table[] = {
- DMI_MATCH(DMI_BIOS_DATE, "08/22/2014"),
- },
- },
-+ {
-+ /* Pipo W2S */
-+ .driver_data = (void *)&pipo_w2s_data,
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "PIPO"),
-+ DMI_MATCH(DMI_PRODUCT_NAME, "W2S"),
-+ },
-+ },
- { },
- };
-
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0011-Input-goodix-Add-support-for-capacitive-home-button.patch b/freed-ora/current/f26/0011-Input-goodix-Add-support-for-capacitive-home-button.patch
deleted file mode 100644
index 162357c21..000000000
--- a/freed-ora/current/f26/0011-Input-goodix-Add-support-for-capacitive-home-button.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 2a99775c336303d2efc43eab4f24b34722a28faa Mon Sep 17 00:00:00 2001
-From: "Sergei A. Trusov" <sergei.a.trusov@ya.ru>
-Date: Tue, 20 Jun 2017 18:08:35 +0200
-Subject: [PATCH 11/16] Input: goodix: Add support for capacitive home button
-
-On some x86 tablets with a Goodix touchscreen, the Windows logo on the
-front is a capacitive home button. Touching this button results in a touch
-with bit 4 of the first byte set, while only the lower 4 bits (0-3) are
-used to indicate the number of touches.
-
-Report a KEY_LEFTMETA press when this happens.
-
-Note that the hardware might support more than one button, in which
-case the "id" byte of coor_data would identify the button in question.
-This is not implemented as we don't have access to hardware with
-multiple buttons.
-
-Signed-off-by: Sergei A. Trusov <sergei.a.trusov@ya.ru>
-Acked-by: Bastien Nocera <hadess@hadess.net>
----
- drivers/input/touchscreen/goodix.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
-index 240b16f3ee97..903137d9cf7d 100644
---- a/drivers/input/touchscreen/goodix.c
-+++ b/drivers/input/touchscreen/goodix.c
-@@ -267,6 +267,12 @@ static void goodix_process_events(struct goodix_ts_data *ts)
- if (touch_num < 0)
- return;
-
-+ /*
-+ * Bit 4 of the first byte reports the status of the capacitive
-+ * Windows/Home button.
-+ */
-+ input_report_key(ts->input_dev, KEY_LEFTMETA, !!(point_data[0] & BIT(4)));
-+
- for (i = 0; i < touch_num; i++)
- goodix_ts_report_touch(ts,
- &point_data[1 + GOODIX_CONTACT_SIZE * i]);
-@@ -612,6 +618,9 @@ static int goodix_request_input_dev(struct goodix_ts_data *ts)
- ts->input_dev->id.product = ts->id;
- ts->input_dev->id.version = ts->version;
-
-+ /* Capacitive Windows/Home button on some devices */
-+ input_set_capability(ts->input_dev, EV_KEY, KEY_LEFTMETA);
-+
- error = input_register_device(ts->input_dev);
- if (error) {
- dev_err(&ts->client->dev,
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch b/freed-ora/current/f26/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch
deleted file mode 100644
index 9b52e3908..000000000
--- a/freed-ora/current/f26/0012-Input-gpio_keys-Do-not-report-wake-button-presses-as.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 02b823a4d28ffb5fde5192799abd934d9de95630 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 6 Jan 2017 20:08:11 +0100
-Subject: [PATCH 12/16] Input: gpio_keys - Do not report wake button presses as
- evdev events
-
-If a button is a wake button, it may still be bouncing from the press
-to wakeup the device by the time the gpio interrupts get enabled again
-and / or the gpio_keys_report_state call from gpio_keys_resume may
-find the button still pressed and report this as a new press.
-
-This is undesirable, esp. since the powerbutton on tablets is typically
-a wakeup source and uses the gpio_keys driver on some tablets, leading
-to userspace immediately re-suspending the tablet after the powerbutton
-is pressed, due to it seeing a powerbutton press.
-
-This commit ignores wakeup button presses for the first 1 second after
-resume (and while resumed, as the workqueue may run before the resume
-function runs), avoiding this problem.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
-Note: maybe we should make WAKE_DEBOUNCE part of gpio_keys_button and
-only do this when drivers / platform-data set this to a non-zero value ?
----
- drivers/input/keyboard/gpio_keys.c | 49 ++++++++++++++++++++++++++++++++++++--
- 1 file changed, 47 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
-index da3d362f21b1..e1488b534e7d 100644
---- a/drivers/input/keyboard/gpio_keys.c
-+++ b/drivers/input/keyboard/gpio_keys.c
-@@ -31,6 +31,8 @@
- #include <linux/of_irq.h>
- #include <linux/spinlock.h>
-
-+#define WAKE_DEBOUNCE msecs_to_jiffies(1000)
-+
- struct gpio_button_data {
- const struct gpio_keys_button *button;
- struct input_dev *input;
-@@ -44,10 +46,14 @@ struct gpio_button_data {
- struct delayed_work work;
- unsigned int software_debounce; /* in msecs, for GPIO-driven buttons */
-
-+ unsigned long resume_time; /* in jiffies, for wakeup buttons */
-+
- unsigned int irq;
- spinlock_t lock;
- bool disabled;
- bool key_pressed;
-+ bool suspended;
-+ bool resume_time_valid;
- };
-
- struct gpio_keys_drvdata {
-@@ -356,6 +362,27 @@ static struct attribute_group gpio_keys_attr_group = {
- .attrs = gpio_keys_attrs,
- };
-
-+static bool gpio_keys_ignore_wakeup_button_press(struct gpio_button_data *bdata)
-+{
-+ unsigned long flags;
-+ bool ret = false;
-+
-+ if (!bdata->button->wakeup)
-+ return ret;
-+
-+ spin_lock_irqsave(&bdata->lock, flags);
-+
-+ if (bdata->suspended)
-+ ret = true; /* Our resume method did not run yet */
-+ else if (bdata->resume_time_valid &&
-+ time_before(jiffies, bdata->resume_time + WAKE_DEBOUNCE))
-+ ret = true; /* Assume this is a wakeup press and ignore */
-+
-+ spin_unlock_irqrestore(&bdata->lock, flags);
-+
-+ return ret;
-+}
-+
- static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
- {
- const struct gpio_keys_button *button = bdata->button;
-@@ -370,6 +397,9 @@ static void gpio_keys_gpio_report_event(struct gpio_button_data *bdata)
- return;
- }
-
-+ if (state && gpio_keys_ignore_wakeup_button_press(bdata))
-+ return;
-+
- if (type == EV_ABS) {
- if (state)
- input_event(input, type, button->code, button->value);
-@@ -429,6 +459,9 @@ static irqreturn_t gpio_keys_irq_isr(int irq, void *dev_id)
-
- BUG_ON(irq != bdata->irq);
-
-+ if (gpio_keys_ignore_wakeup_button_press(bdata))
-+ return IRQ_HANDLED;
-+
- spin_lock_irqsave(&bdata->lock, flags);
-
- if (!bdata->key_pressed) {
-@@ -848,13 +881,18 @@ static int __maybe_unused gpio_keys_suspend(struct device *dev)
- {
- struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
- struct input_dev *input = ddata->input;
-+ unsigned long flags;
- int i;
-
- if (device_may_wakeup(dev)) {
- for (i = 0; i < ddata->pdata->nbuttons; i++) {
- struct gpio_button_data *bdata = &ddata->data[i];
-- if (bdata->button->wakeup)
-+ if (bdata->button->wakeup) {
-+ spin_lock_irqsave(&bdata->lock, flags);
-+ bdata->suspended = true;
-+ spin_unlock_irqrestore(&bdata->lock, flags);
- enable_irq_wake(bdata->irq);
-+ }
- }
- } else {
- mutex_lock(&input->mutex);
-@@ -870,14 +908,21 @@ static int __maybe_unused gpio_keys_resume(struct device *dev)
- {
- struct gpio_keys_drvdata *ddata = dev_get_drvdata(dev);
- struct input_dev *input = ddata->input;
-+ unsigned long flags;
- int error = 0;
- int i;
-
- if (device_may_wakeup(dev)) {
- for (i = 0; i < ddata->pdata->nbuttons; i++) {
- struct gpio_button_data *bdata = &ddata->data[i];
-- if (bdata->button->wakeup)
-+ if (bdata->button->wakeup) {
- disable_irq_wake(bdata->irq);
-+ spin_lock_irqsave(&bdata->lock, flags);
-+ bdata->resume_time = jiffies;
-+ bdata->resume_time_valid = true;
-+ bdata->suspended = false;
-+ spin_unlock_irqrestore(&bdata->lock, flags);
-+ }
- }
- } else {
- mutex_lock(&input->mutex);
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch b/freed-ora/current/f26/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch
deleted file mode 100644
index 8eb41ee3f..000000000
--- a/freed-ora/current/f26/0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From bf3e9581e10a19b2ce77a45fe001116d269b4c7f Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 18 Jun 2017 12:47:38 +0200
-Subject: [PATCH 13/16] iio: accel: bmc150: Add support for BOSC0200 ACPI
- device id
-
-Add support for the BOSC0200 ACPI device id used on some x86 tablets.
-note driver_data is not set to a specific model, driver_data is not
-used anyways (instead detection is done on the chip_id reg) and the
-2 tablets with a BOSC0200 ACPI device id I've have 2 different chips,
-one has a BMA250E, the other a BMA222E.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/iio/accel/bmc150-accel-i2c.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/iio/accel/bmc150-accel-i2c.c b/drivers/iio/accel/bmc150-accel-i2c.c
-index 8ca8041267ef..f85014fbaa12 100644
---- a/drivers/iio/accel/bmc150-accel-i2c.c
-+++ b/drivers/iio/accel/bmc150-accel-i2c.c
-@@ -64,6 +64,7 @@ static const struct acpi_device_id bmc150_accel_acpi_match[] = {
- {"BMA250E", bma250e},
- {"BMA222E", bma222e},
- {"BMA0280", bma280},
-+ {"BOSC0200"},
- { },
- };
- MODULE_DEVICE_TABLE(acpi, bmc150_accel_acpi_match);
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch b/freed-ora/current/f26/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch
deleted file mode 100644
index b5c717c64..000000000
--- a/freed-ora/current/f26/0014-mmc-sdhci-acpi-Workaround-conflict-with-PCI-wifi-on-.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 51eb7454942c68c84b82782e47637de3ba37f113 Mon Sep 17 00:00:00 2001
-From: Adrian Hunter <adrian.hunter@intel.com>
-Date: Wed, 21 Jun 2017 15:08:39 +0300
-Subject: [PATCH 14/16] mmc: sdhci-acpi: Workaround conflict with PCI wifi on
- GPD Win handheld
-
-GPDwin uses PCI wifi which conflicts with SDIO's use of
-acpi_device_fix_up_power() on child device nodes. Specifically
-acpi_device_fix_up_power() causes the wifi module to get turned off.
-Identifying GPDwin is problematic, but since SDIO is only used for wifi,
-the presence of the PCI wifi card in the expected slot with an ACPI
-companion node, is used to indicate that acpi_device_fix_up_power() should
-be avoided.
-
-Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
-Acked-by: Hans de Goede <hdegoede@redhat.com>
-Tested-by: Hans de Goede <hdegoede@redhat.com>
-Cc: stable@vger.kernel.org
----
- drivers/mmc/host/sdhci-acpi.c | 70 +++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 64 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c
-index c6a9a1bfaa22..b3fb155f50e4 100644
---- a/drivers/mmc/host/sdhci-acpi.c
-+++ b/drivers/mmc/host/sdhci-acpi.c
-@@ -45,6 +45,7 @@
- #include <asm/cpu_device_id.h>
- #include <asm/intel-family.h>
- #include <asm/iosf_mbi.h>
-+#include <linux/pci.h>
- #endif
-
- #include "sdhci.h"
-@@ -134,6 +135,16 @@ static bool sdhci_acpi_byt(void)
- return x86_match_cpu(byt);
- }
-
-+static bool sdhci_acpi_cht(void)
-+{
-+ static const struct x86_cpu_id cht[] = {
-+ { X86_VENDOR_INTEL, 6, INTEL_FAM6_ATOM_AIRMONT },
-+ {}
-+ };
-+
-+ return x86_match_cpu(cht);
-+}
-+
- #define BYT_IOSF_SCCEP 0x63
- #define BYT_IOSF_OCP_NETCTRL0 0x1078
- #define BYT_IOSF_OCP_TIMEOUT_BASE GENMASK(10, 8)
-@@ -178,6 +189,45 @@ static bool sdhci_acpi_byt_defer(struct device *dev)
- return false;
- }
-
-+static bool sdhci_acpi_cht_pci_wifi(unsigned int vendor, unsigned int device,
-+ unsigned int slot, unsigned int parent_slot)
-+{
-+ struct pci_dev *dev, *parent, *from = NULL;
-+
-+ while (1) {
-+ dev = pci_get_device(vendor, device, from);
-+ pci_dev_put(from);
-+ if (!dev)
-+ break;
-+ parent = pci_upstream_bridge(dev);
-+ if (ACPI_COMPANION(&dev->dev) && PCI_SLOT(dev->devfn) == slot &&
-+ parent && PCI_SLOT(parent->devfn) == parent_slot &&
-+ !pci_upstream_bridge(parent)) {
-+ pci_dev_put(dev);
-+ return true;
-+ }
-+ from = dev;
-+ }
-+
-+ return false;
-+}
-+
-+/*
-+ * GPDwin uses PCI wifi which conflicts with SDIO's use of
-+ * acpi_device_fix_up_power() on child device nodes. Identifying GPDwin is
-+ * problematic, but since SDIO is only used for wifi, the presence of the PCI
-+ * wifi card in the expected slot with an ACPI companion node, is used to
-+ * indicate that acpi_device_fix_up_power() should be avoided.
-+ */
-+static inline bool sdhci_acpi_no_fixup_child_power(const char *hid,
-+ const char *uid)
-+{
-+ return sdhci_acpi_cht() &&
-+ !strcmp(hid, "80860F14") &&
-+ !strcmp(uid, "2") &&
-+ sdhci_acpi_cht_pci_wifi(0x14e4, 0x43ec, 0, 28);
-+}
-+
- #else
-
- static inline void sdhci_acpi_byt_setting(struct device *dev)
-@@ -189,6 +239,12 @@ static inline bool sdhci_acpi_byt_defer(struct device *dev)
- return false;
- }
-
-+static inline bool sdhci_acpi_no_fixup_child_power(const char *hid,
-+ const char *uid)
-+{
-+ return false;
-+}
-+
- #endif
-
- static int bxt_get_cd(struct mmc_host *mmc)
-@@ -390,11 +446,16 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
- if (acpi_bus_get_device(handle, &device))
- return -ENODEV;
-
-+ hid = acpi_device_hid(device);
-+ uid = device->pnp.unique_id;
-+
- /* Power on the SDHCI controller and its children */
- acpi_device_fix_up_power(device);
-- list_for_each_entry(child, &device->children, node)
-- if (child->status.present && child->status.enabled)
-- acpi_device_fix_up_power(child);
-+ if (!sdhci_acpi_no_fixup_child_power(hid, uid)) {
-+ list_for_each_entry(child, &device->children, node)
-+ if (child->status.present && child->status.enabled)
-+ acpi_device_fix_up_power(child);
-+ }
-
- if (acpi_bus_get_status(device) || !device->status.present)
- return -ENODEV;
-@@ -402,9 +463,6 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
- if (sdhci_acpi_byt_defer(dev))
- return -EPROBE_DEFER;
-
-- hid = acpi_device_hid(device);
-- uid = device->pnp.unique_id;
--
- iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!iomem)
- return -ENOMEM;
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch b/freed-ora/current/f26/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch
deleted file mode 100644
index 5d7497ce1..000000000
--- a/freed-ora/current/f26/0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch
+++ /dev/null
@@ -1,410 +0,0 @@
-From bd0d7169342e47919f68e75d659968f02b62f84b Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 3 Mar 2017 23:48:50 +0100
-Subject: [PATCH 15/16] i2c-cht-wc: Add Intel Cherry Trail Whiskey Cove SMBUS
- controller driver
-
-The Intel Cherry Trail Whiskey Cove PMIC does not contain a builtin
-battery charger, instead boards with this PMIC use an external TI
-bq24292i charger IC, which is connected to a SMBUS controller built into
-the PMIC.
-
-This commit adds an i2c-bus driver for the PMIC's builtin SMBUS
-controller. The probe function for this i2c-bus will also register an
-i2c-client for the TI bq24292i charger after the i2c-bus has been
-registered.
-
-Note that several device-properties are set on the client-device to
-tell the bq24190 power-supply driver to integrate the Whiskey Cove PMIC
-and e.g. use the PMIC's BC1.2 detection (through extcon) to determine
-the maximum input current.
-
-Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
-Changes in v2:
--Various style (mostly captialization and variable name) fixes
--Use device-properties instead of platform_data for the i2c_board_info
----
- drivers/i2c/busses/Kconfig | 8 +
- drivers/i2c/busses/Makefile | 1 +
- drivers/i2c/busses/i2c-cht-wc.c | 336 ++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 345 insertions(+)
- create mode 100644 drivers/i2c/busses/i2c-cht-wc.c
-
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 144cbadc7c72..18c96178b177 100644
---- a/drivers/i2c/busses/Kconfig
-+++ b/drivers/i2c/busses/Kconfig
-@@ -187,6 +187,14 @@ config I2C_PIIX4
- This driver can also be built as a module. If so, the module
- will be called i2c-piix4.
-
-+config I2C_CHT_WC
-+ tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
-+ depends on INTEL_SOC_PMIC_CHTWC
-+ help
-+ If you say yes to this option, support will be included for the
-+ SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
-+ found on some Intel Cherry Trail systems.
-+
- config I2C_NFORCE2
- tristate "Nvidia nForce2, nForce3 and nForce4"
- depends on PCI
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index 30b60855fbcd..f6443fa44f61 100644
---- a/drivers/i2c/busses/Makefile
-+++ b/drivers/i2c/busses/Makefile
-@@ -12,6 +12,7 @@ obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o
- obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o
- obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o
- obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o
-+obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o
- obj-$(CONFIG_I2C_I801) += i2c-i801.o
- obj-$(CONFIG_I2C_ISCH) += i2c-isch.o
- obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o
-diff --git a/drivers/i2c/busses/i2c-cht-wc.c b/drivers/i2c/busses/i2c-cht-wc.c
-new file mode 100644
-index 000000000000..ccf0785bcb75
---- /dev/null
-+++ b/drivers/i2c/busses/i2c-cht-wc.c
-@@ -0,0 +1,336 @@
-+/*
-+ * Intel CHT Whiskey Cove PMIC I2C Master driver
-+ * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com>
-+ *
-+ * Based on various non upstream patches to support the CHT Whiskey Cove PMIC:
-+ * Copyright (C) 2011 - 2014 Intel Corporation. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License version
-+ * 2 as published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#include <linux/completion.h>
-+#include <linux/delay.h>
-+#include <linux/i2c.h>
-+#include <linux/interrupt.h>
-+#include <linux/irq.h>
-+#include <linux/irqdomain.h>
-+#include <linux/mfd/intel_soc_pmic.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/slab.h>
-+
-+#define CHT_WC_I2C_CTRL 0x5e24
-+#define CHT_WC_I2C_CTRL_WR BIT(0)
-+#define CHT_WC_I2C_CTRL_RD BIT(1)
-+#define CHT_WC_I2C_CLIENT_ADDR 0x5e25
-+#define CHT_WC_I2C_REG_OFFSET 0x5e26
-+#define CHT_WC_I2C_WRDATA 0x5e27
-+#define CHT_WC_I2C_RDDATA 0x5e28
-+
-+#define CHT_WC_EXTCHGRIRQ 0x6e0a
-+#define CHT_WC_EXTCHGRIRQ_CLIENT_IRQ BIT(0)
-+#define CHT_WC_EXTCHGRIRQ_WRITE_IRQ BIT(1)
-+#define CHT_WC_EXTCHGRIRQ_READ_IRQ BIT(2)
-+#define CHT_WC_EXTCHGRIRQ_NACK_IRQ BIT(3)
-+#define CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK ((u8)GENMASK(3, 1))
-+#define CHT_WC_EXTCHGRIRQ_MSK 0x6e17
-+
-+struct cht_wc_i2c_adap {
-+ struct i2c_adapter adapter;
-+ wait_queue_head_t wait;
-+ struct irq_chip irqchip;
-+ struct mutex irqchip_lock;
-+ struct regmap *regmap;
-+ struct irq_domain *irq_domain;
-+ struct i2c_client *client;
-+ int client_irq;
-+ u8 irq_mask;
-+ u8 old_irq_mask;
-+ bool nack;
-+ bool done;
-+};
-+
-+static irqreturn_t cht_wc_i2c_adap_thread_handler(int id, void *data)
-+{
-+ struct cht_wc_i2c_adap *adap = data;
-+ int ret, reg;
-+
-+ /* Read IRQs */
-+ ret = regmap_read(adap->regmap, CHT_WC_EXTCHGRIRQ, &reg);
-+ if (ret) {
-+ dev_err(&adap->adapter.dev, "Error reading extchgrirq reg\n");
-+ return IRQ_NONE;
-+ }
-+
-+ reg &= ~adap->irq_mask;
-+
-+ /*
-+ * Immediately ack IRQs, so that if new IRQs arrives while we're
-+ * handling the previous ones our irq will re-trigger when we're done.
-+ */
-+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ, reg);
-+ if (ret)
-+ dev_err(&adap->adapter.dev, "Error writing extchgrirq reg\n");
-+
-+ /*
-+ * Do NOT use handle_nested_irq here, the client irq handler will
-+ * likely want to do i2c transfers and the i2c controller uses this
-+ * interrupt handler as well, so running the client irq handler from
-+ * this thread will cause things to lock up.
-+ */
-+ if (reg & CHT_WC_EXTCHGRIRQ_CLIENT_IRQ) {
-+ /*
-+ * generic_handle_irq expects local IRQs to be disabled
-+ * as normally it is called from interrupt context.
-+ */
-+ local_irq_disable();
-+ generic_handle_irq(adap->client_irq);
-+ local_irq_enable();
-+ }
-+
-+ if (reg & CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK) {
-+ adap->nack = !!(reg & CHT_WC_EXTCHGRIRQ_NACK_IRQ);
-+ adap->done = true;
-+ wake_up(&adap->wait);
-+ }
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static u32 cht_wc_i2c_adap_master_func(struct i2c_adapter *adap)
-+{
-+ /* This i2c adapter only supports SMBUS byte transfers */
-+ return I2C_FUNC_SMBUS_BYTE_DATA;
-+}
-+
-+static int cht_wc_i2c_adap_smbus_xfer(struct i2c_adapter *_adap, u16 addr,
-+ unsigned short flags, char read_write,
-+ u8 command, int size,
-+ union i2c_smbus_data *data)
-+{
-+ struct cht_wc_i2c_adap *adap = i2c_get_adapdata(_adap);
-+ int ret, reg;
-+
-+ adap->nack = false;
-+ adap->done = false;
-+
-+ ret = regmap_write(adap->regmap, CHT_WC_I2C_CLIENT_ADDR, addr);
-+ if (ret)
-+ return ret;
-+
-+ if (read_write == I2C_SMBUS_WRITE) {
-+ ret = regmap_write(adap->regmap, CHT_WC_I2C_WRDATA, data->byte);
-+ if (ret)
-+ return ret;
-+ }
-+
-+ ret = regmap_write(adap->regmap, CHT_WC_I2C_REG_OFFSET, command);
-+ if (ret)
-+ return ret;
-+
-+ ret = regmap_write(adap->regmap, CHT_WC_I2C_CTRL,
-+ (read_write == I2C_SMBUS_WRITE) ?
-+ CHT_WC_I2C_CTRL_WR : CHT_WC_I2C_CTRL_RD);
-+ if (ret)
-+ return ret;
-+
-+ /* 3 second timeout, during cable plug the PMIC responds quite slow */
-+ ret = wait_event_timeout(adap->wait, adap->done, 3 * HZ);
-+ if (ret == 0)
-+ return -ETIMEDOUT;
-+ if (adap->nack)
-+ return -EIO;
-+
-+ if (read_write == I2C_SMBUS_READ) {
-+ ret = regmap_read(adap->regmap, CHT_WC_I2C_RDDATA, &reg);
-+ if (ret)
-+ return ret;
-+
-+ data->byte = reg;
-+ }
-+
-+ return 0;
-+}
-+
-+static const struct i2c_algorithm cht_wc_i2c_adap_algo = {
-+ .functionality = cht_wc_i2c_adap_master_func,
-+ .smbus_xfer = cht_wc_i2c_adap_smbus_xfer,
-+};
-+
-+/**** irqchip for the client connected to the extchgr i2c adapter ****/
-+static void cht_wc_i2c_irq_lock(struct irq_data *data)
-+{
-+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data);
-+
-+ mutex_lock(&adap->irqchip_lock);
-+}
-+
-+static void cht_wc_i2c_irq_sync_unlock(struct irq_data *data)
-+{
-+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data);
-+ int ret;
-+
-+ if (adap->irq_mask != adap->old_irq_mask) {
-+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ_MSK,
-+ adap->irq_mask);
-+ if (ret == 0)
-+ adap->old_irq_mask = adap->irq_mask;
-+ else
-+ dev_err(&adap->adapter.dev, "Error writing EXTCHGRIRQ_MSK\n");
-+ }
-+
-+ mutex_unlock(&adap->irqchip_lock);
-+}
-+
-+static void cht_wc_i2c_irq_enable(struct irq_data *data)
-+{
-+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data);
-+
-+ adap->irq_mask &= ~CHT_WC_EXTCHGRIRQ_CLIENT_IRQ;
-+}
-+
-+static void cht_wc_i2c_irq_disable(struct irq_data *data)
-+{
-+ struct cht_wc_i2c_adap *adap = irq_data_get_irq_chip_data(data);
-+
-+ adap->irq_mask |= CHT_WC_EXTCHGRIRQ_CLIENT_IRQ;
-+}
-+
-+static const struct irq_chip cht_wc_i2c_irq_chip = {
-+ .irq_bus_lock = cht_wc_i2c_irq_lock,
-+ .irq_bus_sync_unlock = cht_wc_i2c_irq_sync_unlock,
-+ .irq_disable = cht_wc_i2c_irq_disable,
-+ .irq_enable = cht_wc_i2c_irq_enable,
-+ .name = "cht_wc_ext_chrg_irq_chip",
-+};
-+
-+static const struct property_entry bq24190_props[] = {
-+ PROPERTY_ENTRY_STRING("extcon-name", "cht_wcove_pwrsrc"),
-+ PROPERTY_ENTRY_BOOL("omit-battery-class"),
-+ PROPERTY_ENTRY_BOOL("disable-reset"),
-+ { }
-+};
-+
-+static int cht_wc_i2c_adap_i2c_probe(struct platform_device *pdev)
-+{
-+ struct intel_soc_pmic *pmic = dev_get_drvdata(pdev->dev.parent);
-+ struct cht_wc_i2c_adap *adap;
-+ struct i2c_board_info board_info = {
-+ .type = "bq24190",
-+ .addr = 0x6b,
-+ .properties = bq24190_props,
-+ };
-+ int ret, irq;
-+
-+ irq = platform_get_irq(pdev, 0);
-+ if (irq < 0) {
-+ dev_err(&pdev->dev, "Error missing irq resource\n");
-+ return -EINVAL;
-+ }
-+
-+ adap = devm_kzalloc(&pdev->dev, sizeof(*adap), GFP_KERNEL);
-+ if (!adap)
-+ return -ENOMEM;
-+
-+ init_waitqueue_head(&adap->wait);
-+ mutex_init(&adap->irqchip_lock);
-+ adap->irqchip = cht_wc_i2c_irq_chip;
-+ adap->regmap = pmic->regmap;
-+ adap->adapter.owner = THIS_MODULE;
-+ adap->adapter.class = I2C_CLASS_HWMON;
-+ adap->adapter.algo = &cht_wc_i2c_adap_algo;
-+ strlcpy(adap->adapter.name, "PMIC I2C Adapter",
-+ sizeof(adap->adapter.name));
-+ adap->adapter.dev.parent = &pdev->dev;
-+
-+ /* Clear and activate i2c-adapter interrupts, disable client IRQ */
-+ adap->old_irq_mask = adap->irq_mask = ~CHT_WC_EXTCHGRIRQ_ADAP_IRQMASK;
-+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ, ~adap->irq_mask);
-+ if (ret)
-+ return ret;
-+
-+ ret = regmap_write(adap->regmap, CHT_WC_EXTCHGRIRQ_MSK, adap->irq_mask);
-+ if (ret)
-+ return ret;
-+
-+ /* Alloc and register client IRQ */
-+ adap->irq_domain = irq_domain_add_linear(pdev->dev.of_node, 1,
-+ &irq_domain_simple_ops, NULL);
-+ if (!adap->irq_domain)
-+ return -ENOMEM;
-+
-+ adap->client_irq = irq_create_mapping(adap->irq_domain, 0);
-+ if (!adap->client_irq) {
-+ ret = -ENOMEM;
-+ goto remove_irq_domain;
-+ }
-+
-+ irq_set_chip_data(adap->client_irq, adap);
-+ irq_set_chip_and_handler(adap->client_irq, &adap->irqchip,
-+ handle_simple_irq);
-+
-+ ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
-+ cht_wc_i2c_adap_thread_handler,
-+ IRQF_ONESHOT, "PMIC I2C Adapter", adap);
-+ if (ret)
-+ goto remove_irq_domain;
-+
-+ i2c_set_adapdata(&adap->adapter, adap);
-+ ret = i2c_add_adapter(&adap->adapter);
-+ if (ret)
-+ goto remove_irq_domain;
-+
-+ board_info.irq = adap->client_irq;
-+ adap->client = i2c_new_device(&adap->adapter, &board_info);
-+ if (!adap->client) {
-+ ret = -ENOMEM;
-+ goto del_adapter;
-+ }
-+
-+ platform_set_drvdata(pdev, adap);
-+ return 0;
-+
-+del_adapter:
-+ i2c_del_adapter(&adap->adapter);
-+remove_irq_domain:
-+ irq_domain_remove(adap->irq_domain);
-+ return ret;
-+}
-+
-+static int cht_wc_i2c_adap_i2c_remove(struct platform_device *pdev)
-+{
-+ struct cht_wc_i2c_adap *adap = platform_get_drvdata(pdev);
-+
-+ i2c_unregister_device(adap->client);
-+ i2c_del_adapter(&adap->adapter);
-+ irq_domain_remove(adap->irq_domain);
-+
-+ return 0;
-+}
-+
-+static struct platform_device_id cht_wc_i2c_adap_id_table[] = {
-+ { .name = "cht_wcove_ext_chgr" },
-+ {},
-+};
-+MODULE_DEVICE_TABLE(platform, cht_wc_i2c_adap_id_table);
-+
-+struct platform_driver cht_wc_i2c_adap_driver = {
-+ .probe = cht_wc_i2c_adap_i2c_probe,
-+ .remove = cht_wc_i2c_adap_i2c_remove,
-+ .driver = {
-+ .name = "cht_wcove_ext_chgr",
-+ },
-+ .id_table = cht_wc_i2c_adap_id_table,
-+};
-+module_platform_driver(cht_wc_i2c_adap_driver);
-+
-+MODULE_DESCRIPTION("Intel CHT Whiskey Cove PMIC I2C Master driver");
-+MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>");
-+MODULE_LICENSE("GPL");
---
-2.13.0
-
diff --git a/freed-ora/current/f26/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch b/freed-ora/current/f26/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
deleted file mode 100644
index 14b4c27bf..000000000
--- a/freed-ora/current/f26/0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From fd4fb1f6633b21042ff084868323e15e708fe1cd Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 1 Jan 2017 22:11:20 +0100
-Subject: [PATCH 16/16] Input: silead: Do not try to directly access the GPIO
- when using ACPI pm
-
-On some x86 tablets we cannot directly access the GPIOs as they are
-claimed by the ACPI tables, so check it the i2c client is not being
-power-managed by ACPI before trying to get the power pin GPIO.
-
-Note this is a workaround patch to fix this until Andy' gpiolib-ACPI
-patches which make gpiolib more strict land, once those are landed this
-patch is no longer needed.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/input/touchscreen/silead.c | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/input/touchscreen/silead.c b/drivers/input/touchscreen/silead.c
-index c0ba40c09699..30fba3cbe277 100644
---- a/drivers/input/touchscreen/silead.c
-+++ b/drivers/input/touchscreen/silead.c
-@@ -517,12 +518,21 @@ static int silead_ts_probe(struct i2c_client *client,
- if (error)
- return error;
-
-- /* Power GPIO pin */
-- data->gpio_power = devm_gpiod_get_optional(dev, "power", GPIOD_OUT_LOW);
-- if (IS_ERR(data->gpio_power)) {
-- if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER)
-- dev_err(dev, "Shutdown GPIO request failed\n");
-- return PTR_ERR(data->gpio_power);
-+ /*
-+ * If device power is not managed by ACPI, get the power_gpio
-+ * and manage it ourselves.
-+ */
-+#ifdef CONFIG_ACPI
-+ if (!acpi_bus_power_manageable(ACPI_HANDLE(dev)))
-+#endif
-+ {
-+ data->gpio_power = devm_gpiod_get_optional(dev, "power",
-+ GPIOD_OUT_LOW);
-+ if (IS_ERR(data->gpio_power)) {
-+ if (PTR_ERR(data->gpio_power) != -EPROBE_DEFER)
-+ dev_err(dev, "Power GPIO request failed\n");
-+ return PTR_ERR(data->gpio_power);
-+ }
- }
-
- error = silead_ts_setup(client);
---
-2.13.0
-
diff --git a/freed-ora/current/f26/1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch b/freed-ora/current/f26/1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch
deleted file mode 100644
index ca079af42..000000000
--- a/freed-ora/current/f26/1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch
+++ /dev/null
@@ -1,296 +0,0 @@
-From patchwork Mon Nov 6 12:31:12 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/2] kvm: vmx: Reinstate support for CPUs without virtual NMI
-From: Paolo Bonzini <pbonzini@redhat.com>
-X-Patchwork-Id: 10043403
-Message-Id: <1509971473-74491-2-git-send-email-pbonzini@redhat.com>
-To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org
-Cc: rkrcmar@redhat.com, stable@vger.kernel.org
-Date: Mon, 6 Nov 2017 13:31:12 +0100
-
-This is more or less a revert of commit 2c82878b0cb3 ("KVM: VMX: require
-virtual NMI support", 2017-03-27); it turns out that Core 2 Duo machines
-only had virtual NMIs in some SKUs.
-
-The revert is not trivial because in the meanwhile there have been several
-fixes to nested NMI injection. Therefore, the entire vNMI state is moved
-to struct loaded_vmcs.
-
-Another change compared to before the patch is a simplification here:
-
- if (unlikely(!cpu_has_virtual_nmis() && vmx->soft_vnmi_blocked &&
- !(is_guest_mode(vcpu) && nested_cpu_has_virtual_nmis(
- get_vmcs12(vcpu))))) {
-
-The final condition here is always true (because nested_cpu_has_virtual_nmis
-is always false) and is removed.
-
-Fixes: 2c82878b0cb38fd516fd612c67852a6bbf282003
-Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1490803
-Cc: stable@vger.kernel.org
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
----
- arch/x86/kvm/vmx.c | 150 +++++++++++++++++++++++++++++++++++++----------------
- 1 file changed, 106 insertions(+), 44 deletions(-)
-
-diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
-index e6c8ffa84968..d6b3b12ae1e2 100644
---- a/arch/x86/kvm/vmx.c
-+++ b/arch/x86/kvm/vmx.c
-@@ -202,6 +202,10 @@ struct loaded_vmcs {
- bool nmi_known_unmasked;
- unsigned long vmcs_host_cr3; /* May not match real cr3 */
- unsigned long vmcs_host_cr4; /* May not match real cr4 */
-+ /* Support for vnmi-less CPUs */
-+ int soft_vnmi_blocked;
-+ ktime_t entry_time;
-+ s64 vnmi_blocked_time;
- struct list_head loaded_vmcss_on_cpu_link;
- };
-
-@@ -1291,6 +1295,11 @@ static inline bool cpu_has_vmx_invpcid(void)
- SECONDARY_EXEC_ENABLE_INVPCID;
- }
-
-+static inline bool cpu_has_virtual_nmis(void)
-+{
-+ return vmcs_config.pin_based_exec_ctrl & PIN_BASED_VIRTUAL_NMIS;
-+}
-+
- static inline bool cpu_has_vmx_wbinvd_exit(void)
- {
- return vmcs_config.cpu_based_2nd_exec_ctrl &
-@@ -1348,11 +1357,6 @@ static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit)
- (vmcs12->secondary_vm_exec_control & bit);
- }
-
--static inline bool nested_cpu_has_virtual_nmis(struct vmcs12 *vmcs12)
--{
-- return vmcs12->pin_based_vm_exec_control & PIN_BASED_VIRTUAL_NMIS;
--}
--
- static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12)
- {
- return vmcs12->pin_based_vm_exec_control &
-@@ -3712,9 +3716,9 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf)
- &_vmexit_control) < 0)
- return -EIO;
-
-- min = PIN_BASED_EXT_INTR_MASK | PIN_BASED_NMI_EXITING |
-- PIN_BASED_VIRTUAL_NMIS;
-- opt = PIN_BASED_POSTED_INTR | PIN_BASED_VMX_PREEMPTION_TIMER;
-+ min = PIN_BASED_EXT_INTR_MASK | PIN_BASED_NMI_EXITING;
-+ opt = PIN_BASED_VIRTUAL_NMIS | PIN_BASED_POSTED_INTR |
-+ PIN_BASED_VMX_PREEMPTION_TIMER;
- if (adjust_vmx_controls(min, opt, MSR_IA32_VMX_PINBASED_CTLS,
- &_pin_based_exec_control) < 0)
- return -EIO;
-@@ -5669,7 +5673,8 @@ static void enable_irq_window(struct kvm_vcpu *vcpu)
-
- static void enable_nmi_window(struct kvm_vcpu *vcpu)
- {
-- if (vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & GUEST_INTR_STATE_STI) {
-+ if (!cpu_has_virtual_nmis() ||
-+ vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & GUEST_INTR_STATE_STI) {
- enable_irq_window(vcpu);
- return;
- }
-@@ -5709,6 +5714,19 @@ static void vmx_inject_nmi(struct kvm_vcpu *vcpu)
- {
- struct vcpu_vmx *vmx = to_vmx(vcpu);
-
-+ if (!cpu_has_virtual_nmis()) {
-+ /*
-+ * Tracking the NMI-blocked state in software is built upon
-+ * finding the next open IRQ window. This, in turn, depends on
-+ * well-behaving guests: They have to keep IRQs disabled at
-+ * least as long as the NMI handler runs. Otherwise we may
-+ * cause NMI nesting, maybe breaking the guest. But as this is
-+ * highly unlikely, we can live with the residual risk.
-+ */
-+ vmx->loaded_vmcs->soft_vnmi_blocked = 1;
-+ vmx->loaded_vmcs->vnmi_blocked_time = 0;
-+ }
-+
- ++vcpu->stat.nmi_injections;
- vmx->loaded_vmcs->nmi_known_unmasked = false;
-
-@@ -5727,6 +5745,8 @@ static bool vmx_get_nmi_mask(struct kvm_vcpu *vcpu)
- struct vcpu_vmx *vmx = to_vmx(vcpu);
- bool masked;
-
-+ if (!cpu_has_virtual_nmis())
-+ return vmx->loaded_vmcs->soft_vnmi_blocked;
- if (vmx->loaded_vmcs->nmi_known_unmasked)
- return false;
- masked = vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) & GUEST_INTR_STATE_NMI;
-@@ -5738,13 +5758,20 @@ static void vmx_set_nmi_mask(struct kvm_vcpu *vcpu, bool masked)
- {
- struct vcpu_vmx *vmx = to_vmx(vcpu);
-
-- vmx->loaded_vmcs->nmi_known_unmasked = !masked;
-- if (masked)
-- vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO,
-- GUEST_INTR_STATE_NMI);
-- else
-- vmcs_clear_bits(GUEST_INTERRUPTIBILITY_INFO,
-- GUEST_INTR_STATE_NMI);
-+ if (!cpu_has_virtual_nmis()) {
-+ if (vmx->loaded_vmcs->soft_vnmi_blocked != masked) {
-+ vmx->loaded_vmcs->soft_vnmi_blocked = masked;
-+ vmx->loaded_vmcs->vnmi_blocked_time = 0;
-+ }
-+ } else {
-+ vmx->loaded_vmcs->nmi_known_unmasked = !masked;
-+ if (masked)
-+ vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO,
-+ GUEST_INTR_STATE_NMI);
-+ else
-+ vmcs_clear_bits(GUEST_INTERRUPTIBILITY_INFO,
-+ GUEST_INTR_STATE_NMI);
-+ }
- }
-
- static int vmx_nmi_allowed(struct kvm_vcpu *vcpu)
-@@ -5752,6 +5779,10 @@ static int vmx_nmi_allowed(struct kvm_vcpu *vcpu)
- if (to_vmx(vcpu)->nested.nested_run_pending)
- return 0;
-
-+ if (!cpu_has_virtual_nmis() &&
-+ to_vmx(vcpu)->loaded_vmcs->soft_vnmi_blocked)
-+ return 0;
-+
- return !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO) &
- (GUEST_INTR_STATE_MOV_SS | GUEST_INTR_STATE_STI
- | GUEST_INTR_STATE_NMI));
-@@ -6479,6 +6510,7 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu)
- * AAK134, BY25.
- */
- if (!(to_vmx(vcpu)->idt_vectoring_info & VECTORING_INFO_VALID_MASK) &&
-+ cpu_has_virtual_nmis() &&
- (exit_qualification & INTR_INFO_UNBLOCK_NMI))
- vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO, GUEST_INTR_STATE_NMI);
-
-@@ -6965,7 +6997,7 @@ static struct loaded_vmcs *nested_get_current_vmcs02(struct vcpu_vmx *vmx)
- }
-
- /* Create a new VMCS */
-- item = kmalloc(sizeof(struct vmcs02_list), GFP_KERNEL);
-+ item = kzalloc(sizeof(struct vmcs02_list), GFP_KERNEL);
- if (!item)
- return NULL;
- item->vmcs02.vmcs = alloc_vmcs();
-@@ -7982,6 +8014,7 @@ static int handle_pml_full(struct kvm_vcpu *vcpu)
- * "blocked by NMI" bit has to be set before next VM entry.
- */
- if (!(to_vmx(vcpu)->idt_vectoring_info & VECTORING_INFO_VALID_MASK) &&
-+ cpu_has_virtual_nmis() &&
- (exit_qualification & INTR_INFO_UNBLOCK_NMI))
- vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO,
- GUEST_INTR_STATE_NMI);
-@@ -8826,6 +8859,25 @@ static int vmx_handle_exit(struct kvm_vcpu *vcpu)
- return 0;
- }
-
-+ if (unlikely(!cpu_has_virtual_nmis() &&
-+ vmx->loaded_vmcs->soft_vnmi_blocked)) {
-+ if (vmx_interrupt_allowed(vcpu)) {
-+ vmx->loaded_vmcs->soft_vnmi_blocked = 0;
-+ } else if (vmx->loaded_vmcs->vnmi_blocked_time > 1000000000LL &&
-+ vcpu->arch.nmi_pending) {
-+ /*
-+ * This CPU don't support us in finding the end of an
-+ * NMI-blocked window if the guest runs with IRQs
-+ * disabled. So we pull the trigger after 1 s of
-+ * futile waiting, but inform the user about this.
-+ */
-+ printk(KERN_WARNING "%s: Breaking out of NMI-blocked "
-+ "state on VCPU %d after 1 s timeout\n",
-+ __func__, vcpu->vcpu_id);
-+ vmx->loaded_vmcs->soft_vnmi_blocked = 0;
-+ }
-+ }
-+
- if (exit_reason < kvm_vmx_max_exit_handlers
- && kvm_vmx_exit_handlers[exit_reason])
- return kvm_vmx_exit_handlers[exit_reason](vcpu);
-@@ -9108,33 +9160,38 @@ static void vmx_recover_nmi_blocking(struct vcpu_vmx *vmx)
-
- idtv_info_valid = vmx->idt_vectoring_info & VECTORING_INFO_VALID_MASK;
-
-- if (vmx->loaded_vmcs->nmi_known_unmasked)
-- return;
-- /*
-- * Can't use vmx->exit_intr_info since we're not sure what
-- * the exit reason is.
-- */
-- exit_intr_info = vmcs_read32(VM_EXIT_INTR_INFO);
-- unblock_nmi = (exit_intr_info & INTR_INFO_UNBLOCK_NMI) != 0;
-- vector = exit_intr_info & INTR_INFO_VECTOR_MASK;
-- /*
-- * SDM 3: 27.7.1.2 (September 2008)
-- * Re-set bit "block by NMI" before VM entry if vmexit caused by
-- * a guest IRET fault.
-- * SDM 3: 23.2.2 (September 2008)
-- * Bit 12 is undefined in any of the following cases:
-- * If the VM exit sets the valid bit in the IDT-vectoring
-- * information field.
-- * If the VM exit is due to a double fault.
-- */
-- if ((exit_intr_info & INTR_INFO_VALID_MASK) && unblock_nmi &&
-- vector != DF_VECTOR && !idtv_info_valid)
-- vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO,
-- GUEST_INTR_STATE_NMI);
-- else
-- vmx->loaded_vmcs->nmi_known_unmasked =
-- !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO)
-- & GUEST_INTR_STATE_NMI);
-+ if (cpu_has_virtual_nmis()) {
-+ if (vmx->loaded_vmcs->nmi_known_unmasked)
-+ return;
-+ /*
-+ * Can't use vmx->exit_intr_info since we're not sure what
-+ * the exit reason is.
-+ */
-+ exit_intr_info = vmcs_read32(VM_EXIT_INTR_INFO);
-+ unblock_nmi = (exit_intr_info & INTR_INFO_UNBLOCK_NMI) != 0;
-+ vector = exit_intr_info & INTR_INFO_VECTOR_MASK;
-+ /*
-+ * SDM 3: 27.7.1.2 (September 2008)
-+ * Re-set bit "block by NMI" before VM entry if vmexit caused by
-+ * a guest IRET fault.
-+ * SDM 3: 23.2.2 (September 2008)
-+ * Bit 12 is undefined in any of the following cases:
-+ * If the VM exit sets the valid bit in the IDT-vectoring
-+ * information field.
-+ * If the VM exit is due to a double fault.
-+ */
-+ if ((exit_intr_info & INTR_INFO_VALID_MASK) && unblock_nmi &&
-+ vector != DF_VECTOR && !idtv_info_valid)
-+ vmcs_set_bits(GUEST_INTERRUPTIBILITY_INFO,
-+ GUEST_INTR_STATE_NMI);
-+ else
-+ vmx->loaded_vmcs->nmi_known_unmasked =
-+ !(vmcs_read32(GUEST_INTERRUPTIBILITY_INFO)
-+ & GUEST_INTR_STATE_NMI);
-+ } else if (unlikely(vmx->loaded_vmcs->soft_vnmi_blocked))
-+ vmx->loaded_vmcs->vnmi_blocked_time +=
-+ ktime_to_ns(ktime_sub(ktime_get(),
-+ vmx->loaded_vmcs->entry_time));
- }
-
- static void __vmx_complete_interrupts(struct kvm_vcpu *vcpu,
-@@ -9251,6 +9308,11 @@ static void __noclone vmx_vcpu_run(struct kvm_vcpu *vcpu)
- struct vcpu_vmx *vmx = to_vmx(vcpu);
- unsigned long debugctlmsr, cr3, cr4;
-
-+ /* Record the guest's net vcpu time for enforced NMI injections. */
-+ if (unlikely(!cpu_has_virtual_nmis() &&
-+ vmx->loaded_vmcs->soft_vnmi_blocked))
-+ vmx->loaded_vmcs->entry_time = ktime_get();
-+
- /* Don't enter VMX if guest state is invalid, let the exit handler
- start emulation until we arrive back to a valid state */
- if (vmx->emulation_required)
diff --git a/freed-ora/current/f26/1-3-net-set-tb--fast_sk_family.patch b/freed-ora/current/f26/1-3-net-set-tb--fast_sk_family.patch
deleted file mode 100644
index dbe5250ab..000000000
--- a/freed-ora/current/f26/1-3-net-set-tb--fast_sk_family.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From patchwork Mon Sep 18 16:28:55 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/3] net: set tb->fast_sk_family
-X-Patchwork-Submitter: Josef Bacik <josef@toxicpanda.com>
-X-Patchwork-Id: 815031
-X-Patchwork-Delegate: davem@davemloft.net
-Message-Id: <1505752137-15522-2-git-send-email-jbacik@fb.com>
-To: davem@davemloft.net, netdev@vger.kernel.org,
- linux-kernel@vger.kernel.org, crobinso@redhat.com,
- labbott@redhat.com, kernel-team@fb.com
-Cc: Josef Bacik <jbacik@fb.com>, stable@vger.kernel.org
-Date: Mon, 18 Sep 2017 12:28:55 -0400
-From: josef@toxicpanda.com
-List-Id: <netdev.vger.kernel.org>
-
-From: Josef Bacik <jbacik@fb.com>
-
-We need to set the tb->fast_sk_family properly so we can use the proper
-comparison function for all subsequent reuseport bind requests.
-
-Cc: stable@vger.kernel.org
-Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reuseport sk")
-Reported-and-tested-by: Cole Robinson <crobinso@redhat.com>
-Signed-off-by: Josef Bacik <jbacik@fb.com>
----
- net/ipv4/inet_connection_sock.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
-index b9c64b40a83a..f87f4805e244 100644
---- a/net/ipv4/inet_connection_sock.c
-+++ b/net/ipv4/inet_connection_sock.c
-@@ -328,6 +328,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum)
- tb->fastuid = uid;
- tb->fast_rcv_saddr = sk->sk_rcv_saddr;
- tb->fast_ipv6_only = ipv6_only_sock(sk);
-+ tb->fast_sk_family = sk->sk_family;
- #if IS_ENABLED(CONFIG_IPV6)
- tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr;
- #endif
-@@ -354,6 +355,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum)
- tb->fastuid = uid;
- tb->fast_rcv_saddr = sk->sk_rcv_saddr;
- tb->fast_ipv6_only = ipv6_only_sock(sk);
-+ tb->fast_sk_family = sk->sk_family;
- #if IS_ENABLED(CONFIG_IPV6)
- tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr;
- #endif
diff --git a/freed-ora/current/f26/2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch b/freed-ora/current/f26/2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch
deleted file mode 100644
index 3d64361df..000000000
--- a/freed-ora/current/f26/2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From patchwork Mon Sep 18 16:28:56 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [2/3] net: use inet6_rcv_saddr to compare sockets
-X-Patchwork-Submitter: Josef Bacik <josef@toxicpanda.com>
-X-Patchwork-Id: 815028
-X-Patchwork-Delegate: davem@davemloft.net
-Message-Id: <1505752137-15522-3-git-send-email-jbacik@fb.com>
-To: davem@davemloft.net, netdev@vger.kernel.org,
- linux-kernel@vger.kernel.org, crobinso@redhat.com,
- labbott@redhat.com, kernel-team@fb.com
-Cc: Josef Bacik <jbacik@fb.com>, stable@vger.kernel.org
-Date: Mon, 18 Sep 2017 12:28:56 -0400
-From: josef@toxicpanda.com
-List-Id: <netdev.vger.kernel.org>
-
-From: Josef Bacik <jbacik@fb.com>
-
-In ipv6_rcv_saddr_equal() we need to use inet6_rcv_saddr(sk) for the
-ipv6 compare with the fast socket information to make sure we're doing
-the proper comparisons.
-
-Cc: stable@vger.kernel.org
-Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reuseport sk")
-Reported-and-tested-by: Cole Robinson <crobinso@redhat.com>
-Signed-off-by: Josef Bacik <jbacik@fb.com>
----
- net/ipv4/inet_connection_sock.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
-index f87f4805e244..a1bf30438bc5 100644
---- a/net/ipv4/inet_connection_sock.c
-+++ b/net/ipv4/inet_connection_sock.c
-@@ -266,7 +266,7 @@ static inline int sk_reuseport_match(struct inet_bind_bucket *tb,
- #if IS_ENABLED(CONFIG_IPV6)
- if (tb->fast_sk_family == AF_INET6)
- return ipv6_rcv_saddr_equal(&tb->fast_v6_rcv_saddr,
-- &sk->sk_v6_rcv_saddr,
-+ inet6_rcv_saddr(sk),
- tb->fast_rcv_saddr,
- sk->sk_rcv_saddr,
- tb->fast_ipv6_only,
diff --git a/freed-ora/current/f26/3-3-inet-fix-improper-empty-comparison.patch b/freed-ora/current/f26/3-3-inet-fix-improper-empty-comparison.patch
deleted file mode 100644
index 421a235cb..000000000
--- a/freed-ora/current/f26/3-3-inet-fix-improper-empty-comparison.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From patchwork Mon Sep 18 16:28:57 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [3/3] inet: fix improper empty comparison
-X-Patchwork-Submitter: Josef Bacik <josef@toxicpanda.com>
-X-Patchwork-Id: 815029
-X-Patchwork-Delegate: davem@davemloft.net
-Message-Id: <1505752137-15522-4-git-send-email-jbacik@fb.com>
-To: davem@davemloft.net, netdev@vger.kernel.org,
- linux-kernel@vger.kernel.org, crobinso@redhat.com,
- labbott@redhat.com, kernel-team@fb.com
-Cc: Josef Bacik <jbacik@fb.com>, stable@vger.kernel.org
-Date: Mon, 18 Sep 2017 12:28:57 -0400
-From: josef@toxicpanda.com
-List-Id: <netdev.vger.kernel.org>
-
-From: Josef Bacik <jbacik@fb.com>
-
-When doing my reuseport rework I screwed up and changed a
-
-if (hlist_empty(&tb->owners))
-
-to
-
-if (!hlist_empty(&tb->owners))
-
-This is obviously bad as all of the reuseport/reuse logic was reversed,
-which caused weird problems like allowing an ipv4 bind conflict if we
-opened an ipv4 only socket on a port followed by an ipv6 only socket on
-the same port.
-
-Cc: stable@vger.kernel.org
-Fixes: b9470c27607b ("inet: kill smallest_size and smallest_port")
-Reported-by: Cole Robinson <crobinso@redhat.com>
-Signed-off-by: Josef Bacik <jbacik@fb.com>
----
- net/ipv4/inet_connection_sock.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
-index a1bf30438bc5..c039c937ba90 100644
---- a/net/ipv4/inet_connection_sock.c
-+++ b/net/ipv4/inet_connection_sock.c
-@@ -321,7 +321,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum)
- goto fail_unlock;
- }
- success:
-- if (!hlist_empty(&tb->owners)) {
-+ if (hlist_empty(&tb->owners)) {
- tb->fastreuse = reuse;
- if (sk->sk_reuseport) {
- tb->fastreuseport = FASTREUSEPORT_ANY;
diff --git a/freed-ora/current/f26/AllWinner-net-emac.patch b/freed-ora/current/f26/AllWinner-net-emac.patch
deleted file mode 100644
index 591b2350f..000000000
--- a/freed-ora/current/f26/AllWinner-net-emac.patch
+++ /dev/null
@@ -1,2554 +0,0 @@
-From patchwork Mon May 1 12:45:01 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,
- 01/20] net: stmmac: export stmmac_set_mac_addr/stmmac_get_mac_addr
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706455
-Message-Id: <20170501124520.3769-2-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:01 +0200
-
-Thoses symbol will be needed for the dwmac-sun8i ethernet driver.
-For letting it to be build as module, they need to be exported.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
-index 38f9430..67af0bd 100644
---- a/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
-+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c
-@@ -248,6 +248,7 @@ void stmmac_set_mac_addr(void __iomem *ioaddr, u8 addr[6],
- data = (addr[3] << 24) | (addr[2] << 16) | (addr[1] << 8) | addr[0];
- writel(data, ioaddr + low);
- }
-+EXPORT_SYMBOL_GPL(stmmac_set_mac_addr);
-
- /* Enable disable MAC RX/TX */
- void stmmac_set_mac(void __iomem *ioaddr, bool enable)
-@@ -279,4 +280,4 @@ void stmmac_get_mac_addr(void __iomem *ioaddr, unsigned char *addr,
- addr[4] = hi_addr & 0xff;
- addr[5] = (hi_addr >> 8) & 0xff;
- }
--
-+EXPORT_SYMBOL_GPL(stmmac_get_mac_addr);
-
-From patchwork Mon May 1 12:45:02 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,02/20] net: stmmac: add optional setup function
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706501
-Message-Id: <20170501124520.3769-3-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:02 +0200
-
-Instead of adding more ifthen logic for adding a new mac_device_info
-setup function, it is easier to add a function pointer to the function
-needed.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 +++-
- include/linux/stmmac.h | 1 +
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-index cd8c601..b82ab64 100644
---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -3947,7 +3947,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
- struct mac_device_info *mac;
-
- /* Identify the MAC HW device */
-- if (priv->plat->has_gmac) {
-+ if (priv->plat->setup) {
-+ mac = priv->plat->setup(priv);
-+ } else if (priv->plat->has_gmac) {
- priv->dev->priv_flags |= IFF_UNICAST_FLT;
- mac = dwmac1000_setup(priv->ioaddr,
- priv->plat->multicast_filter_bins,
-diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
-index 3921cb9..8bb550b 100644
---- a/include/linux/stmmac.h
-+++ b/include/linux/stmmac.h
-@@ -177,6 +177,7 @@ struct plat_stmmacenet_data {
- void (*fix_mac_speed)(void *priv, unsigned int speed);
- int (*init)(struct platform_device *pdev, void *priv);
- void (*exit)(struct platform_device *pdev, void *priv);
-+ struct mac_device_info *(*setup)(void *priv);
- void *bsp_priv;
- struct clk *stmmac_clk;
- struct clk *pclk;
-
-From patchwork Mon May 1 12:45:03 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,
- 03/20] dt-bindings: net: Add DT bindings documentation for Allwinner
- dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706457
-Message-Id: <20170501124520.3769-4-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:03 +0200
-
-This patch adds documentation for Device-Tree bindings for the
-Allwinner dwmac-sun8i driver.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
-Acked-by: Rob Herring <robh@kernel.org>
----
- .../devicetree/bindings/net/dwmac-sun8i.txt | 77 ++++++++++++++++++++++
- 1 file changed, 77 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt
-
-diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
-new file mode 100644
-index 0000000..05cd067
---- /dev/null
-+++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
-@@ -0,0 +1,77 @@
-+* Allwinner sun8i GMAC ethernet controller
-+
-+This device is a platform glue layer for stmmac.
-+Please see stmmac.txt for the other unchanged properties.
-+
-+Required properties:
-+- compatible: should be one of the following string:
-+ "allwinner,sun8i-a83t-emac"
-+ "allwinner,sun8i-h3-emac"
-+ "allwinner,sun50i-a64-emac"
-+- reg: address and length of the register for the device.
-+- interrupts: interrupt for the device
-+- interrupt-names: should be "macirq"
-+- clocks: A phandle to the reference clock for this device
-+- clock-names: should be "stmmaceth"
-+- resets: A phandle to the reset control for this device
-+- reset-names: should be "stmmaceth"
-+- phy-mode: See ethernet.txt
-+- phy-handle: See ethernet.txt
-+- #address-cells: shall be 1
-+- #size-cells: shall be 0
-+- syscon: A phandle to the syscon of the SoC with one of the following
-+ compatible string:
-+ - allwinner,sun8i-h3-system-controller
-+ - allwinner,sun50i-a64-system-controller
-+ - allwinner,sun8i-a83t-system-controller
-+
-+Optional properties:
-+- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0)
-+- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0)
-+Both delay properties need to be a multiple of 100.
-+
-+Optional properties for "allwinner,sun8i-h3-emac":
-+- allwinner,leds-active-low: EPHY LEDs are active low
-+
-+Required child node of emac:
-+- mdio bus node: should be named mdio
-+
-+Required properties of the mdio node:
-+- #address-cells: shall be 1
-+- #size-cells: shall be 0
-+
-+The device node referenced by "phy" or "phy-handle" should be a child node
-+of the mdio node. See phy.txt for the generic PHY bindings.
-+
-+Required properties of the phy node with "allwinner,sun8i-h3-emac":
-+- clocks: a phandle to the reference clock for the EPHY
-+- resets: a phandle to the reset control for the EPHY
-+
-+Example:
-+
-+emac: ethernet@1c0b000 {
-+ compatible = "allwinner,sun8i-h3-emac";
-+ syscon = <&syscon>;
-+ reg = <0x01c0b000 0x104>;
-+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "macirq";
-+ resets = <&ccu RST_BUS_EMAC>;
-+ reset-names = "stmmaceth";
-+ clocks = <&ccu CLK_BUS_EMAC>;
-+ clock-names = "stmmaceth";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ phy = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ mdio: mdio {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ int_mii_phy: ethernet-phy@1 {
-+ reg = <1>;
-+ clocks = <&ccu CLK_BUS_EPHY>;
-+ resets = <&ccu RST_BUS_EPHY>;
-+ };
-+ };
-+};
-
-From patchwork Mon May 1 12:45:04 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5, 04/20] dt-bindings: syscon: Add DT bindings documentation for
- Allwinner syscon
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706469
-Message-Id: <20170501124520.3769-5-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:04 +0200
-
-This patch adds documentation for Device-Tree bindings for the
-syscon present in allwinner devices.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- .../devicetree/bindings/misc/allwinner,syscon.txt | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/misc/allwinner,syscon.txt
-
-diff --git a/Documentation/devicetree/bindings/misc/allwinner,syscon.txt b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt
-new file mode 100644
-index 0000000..cb57691
---- /dev/null
-+++ b/Documentation/devicetree/bindings/misc/allwinner,syscon.txt
-@@ -0,0 +1,19 @@
-+* Allwinner sun8i system controller
-+
-+This file describes the bindings for the system controller present in
-+Allwinner SoC H3, A83T and A64.
-+The principal function of this syscon is to control EMAC PHY choice and
-+config.
-+
-+Required properties for the system controller:
-+- reg: address and length of the register for the device.
-+- compatible: should be "syscon" and one of the following string:
-+ "allwinner,sun8i-h3-system-controller"
-+ "allwinner,sun50i-a64-system-controller"
-+ "allwinner,sun8i-a83t-system-controller"
-+
-+Example:
-+syscon: syscon@1c00000 {
-+ compatible = "allwinner,sun8i-h3-system-controller", "syscon";
-+ reg = <0x01c00000 0x1000>;
-+};
-
-From patchwork Mon May 1 12:45:05 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,05/20] net: stmmac: Add dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706473
-Message-Id: <20170501124520.3769-6-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:05 +0200
-
-The dwmac-sun8i is a heavy hacked version of stmmac hardware by
-allwinner.
-In fact the only common part is the descriptor management and the first
-register function.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- drivers/net/ethernet/stmicro/stmmac/Kconfig | 11 +
- drivers/net/ethernet/stmicro/stmmac/Makefile | 1 +
- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 973 +++++++++++++++++++++
- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 29 +
- .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 9 +-
- include/linux/stmmac.h | 1 +
- 6 files changed, 1022 insertions(+), 2 deletions(-)
- create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
-
-diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig
-index cfbe363..85c0e41 100644
---- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
-+++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
-@@ -145,6 +145,17 @@ config DWMAC_SUNXI
- This selects Allwinner SoC glue layer support for the
- stmmac device driver. This driver is used for A20/A31
- GMAC ethernet controller.
-+
-+config DWMAC_SUN8I
-+ tristate "Allwinner sun8i GMAC support"
-+ default ARCH_SUNXI
-+ depends on OF && (ARCH_SUNXI || COMPILE_TEST)
-+ ---help---
-+ Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
-+
-+ This selects Allwinner SoC glue layer support for the
-+ stmmac device driver. This driver is used for H3/A83T/A64
-+ EMAC ethernet controller.
- endif
-
- config STMMAC_PCI
-diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile
-index 700c603..fd4937a 100644
---- a/drivers/net/ethernet/stmicro/stmmac/Makefile
-+++ b/drivers/net/ethernet/stmicro/stmmac/Makefile
-@@ -16,6 +16,7 @@ obj-$(CONFIG_DWMAC_SOCFPGA) += dwmac-altr-socfpga.o
- obj-$(CONFIG_DWMAC_STI) += dwmac-sti.o
- obj-$(CONFIG_DWMAC_STM32) += dwmac-stm32.o
- obj-$(CONFIG_DWMAC_SUNXI) += dwmac-sunxi.o
-+obj-$(CONFIG_DWMAC_SUN8I) += dwmac-sun8i.o
- obj-$(CONFIG_DWMAC_DWC_QOS_ETH) += dwmac-dwc-qos-eth.o
- obj-$(CONFIG_DWMAC_GENERIC) += dwmac-generic.o
- stmmac-platform-objs:= stmmac_platform.o
-diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
-new file mode 100644
-index 0000000..66eb980
---- /dev/null
-+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
-@@ -0,0 +1,973 @@
-+/*
-+ * dwmac-sun8i.c - Allwinner sun8i DWMAC specific glue layer
-+ *
-+ * Copyright (C) 2017 Corentin Labbe <clabbe.montjoie@gmail.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/io.h>
-+#include <linux/iopoll.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/module.h>
-+#include <linux/of_device.h>
-+#include <linux/of_mdio.h>
-+#include <linux/of_net.h>
-+#include <linux/phy.h>
-+#include <linux/platform_device.h>
-+#include <linux/regulator/consumer.h>
-+#include <linux/regmap.h>
-+#include <linux/stmmac.h>
-+
-+#include "stmmac.h"
-+#include "stmmac_platform.h"
-+
-+/* General notes on dwmac-sun8i:
-+ * Locking: no locking is necessary in this file because all necessary locking
-+ * is done in the "stmmac files"
-+ */
-+
-+/* struct emac_variant - Descrive dwmac-sun8i hardware variant
-+ * @default_syscon_value: The default value of the EMAC register in syscon
-+ * This value is used for disabling properly EMAC
-+ * and used as a good starting value in case of the
-+ * boot process(uboot) leave some stuff.
-+ * @internal_phy: Does the MAC embed an internal PHY
-+ * @support_mii: Does the MAC handle MII
-+ * @support_rmii: Does the MAC handle RMII
-+ * @support_rgmii: Does the MAC handle RGMII
-+ */
-+struct emac_variant {
-+ u32 default_syscon_value;
-+ int internal_phy;
-+ bool support_mii;
-+ bool support_rmii;
-+ bool support_rgmii;
-+};
-+
-+/* struct sunxi_priv_data - hold all sunxi private data
-+ * @tx_clk: reference to MAC TX clock
-+ * @ephy_clk: reference to the optional EPHY clock for the internal PHY
-+ * @regulator: reference to the optional regulator
-+ * @rst_ephy: reference to the optional EPHY reset for the internal PHY
-+ * @variant: reference to the current board variant
-+ * @regmap: regmap for using the syscon
-+ * @use_internal_phy: Does the current PHY choice imply using the internal PHY
-+ */
-+struct sunxi_priv_data {
-+ struct clk *tx_clk;
-+ struct clk *ephy_clk;
-+ struct regulator *regulator;
-+ struct reset_control *rst_ephy;
-+ const struct emac_variant *variant;
-+ struct regmap *regmap;
-+ bool use_internal_phy;
-+};
-+
-+static const struct emac_variant emac_variant_h3 = {
-+ .default_syscon_value = 0x58000,
-+ .internal_phy = PHY_INTERFACE_MODE_MII,
-+ .support_mii = true,
-+ .support_rmii = true,
-+ .support_rgmii = true
-+};
-+
-+static const struct emac_variant emac_variant_a83t = {
-+ .default_syscon_value = 0,
-+ .internal_phy = 0,
-+ .support_mii = true,
-+ .support_rgmii = true
-+};
-+
-+static const struct emac_variant emac_variant_a64 = {
-+ .default_syscon_value = 0,
-+ .internal_phy = 0,
-+ .support_mii = true,
-+ .support_rmii = true,
-+ .support_rgmii = true
-+};
-+
-+#define EMAC_BASIC_CTL0 0x00
-+#define EMAC_BASIC_CTL1 0x04
-+#define EMAC_INT_STA 0x08
-+#define EMAC_INT_EN 0x0C
-+#define EMAC_TX_CTL0 0x10
-+#define EMAC_TX_CTL1 0x14
-+#define EMAC_TX_FLOW_CTL 0x1C
-+#define EMAC_TX_DESC_LIST 0x20
-+#define EMAC_RX_CTL0 0x24
-+#define EMAC_RX_CTL1 0x28
-+#define EMAC_RX_DESC_LIST 0x34
-+#define EMAC_RX_FRM_FLT 0x38
-+#define EMAC_MDIO_CMD 0x48
-+#define EMAC_MDIO_DATA 0x4C
-+#define EMAC_MACADDR_HI(reg) (0x50 + (reg) * 8)
-+#define EMAC_MACADDR_LO(reg) (0x54 + (reg) * 8)
-+#define EMAC_TX_DMA_STA 0xB0
-+#define EMAC_TX_CUR_DESC 0xB4
-+#define EMAC_TX_CUR_BUF 0xB8
-+#define EMAC_RX_DMA_STA 0xC0
-+#define EMAC_RX_CUR_DESC 0xC4
-+#define EMAC_RX_CUR_BUF 0xC8
-+
-+/* Use in EMAC_BASIC_CTL1 */
-+#define EMAC_BURSTLEN_SHIFT 24
-+
-+/* Used in EMAC_RX_FRM_FLT */
-+#define EMAC_FRM_FLT_RXALL BIT(0)
-+#define EMAC_FRM_FLT_CTL BIT(13)
-+#define EMAC_FRM_FLT_MULTICAST BIT(16)
-+
-+/* Used in RX_CTL1*/
-+#define EMAC_RX_MD BIT(1)
-+#define EMAC_RX_TH_MASK GENMASK(4, 5)
-+#define EMAC_RX_TH_32 0
-+#define EMAC_RX_TH_64 (0x1 << 4)
-+#define EMAC_RX_TH_96 (0x2 << 4)
-+#define EMAC_RX_TH_128 (0x3 << 4)
-+#define EMAC_RX_DMA_EN BIT(30)
-+#define EMAC_RX_DMA_START BIT(31)
-+
-+/* Used in TX_CTL1*/
-+#define EMAC_TX_MD BIT(1)
-+#define EMAC_TX_NEXT_FRM BIT(2)
-+#define EMAC_TX_TH_MASK GENMASK(8, 10)
-+#define EMAC_TX_TH_64 0
-+#define EMAC_TX_TH_128 (0x1 << 8)
-+#define EMAC_TX_TH_192 (0x2 << 8)
-+#define EMAC_TX_TH_256 (0x3 << 8)
-+#define EMAC_TX_DMA_EN BIT(30)
-+#define EMAC_TX_DMA_START BIT(31)
-+
-+/* Used in RX_CTL0 */
-+#define EMAC_RX_RECEIVER_EN BIT(31)
-+#define EMAC_RX_DO_CRC BIT(27)
-+#define EMAC_RX_FLOW_CTL_EN BIT(16)
-+
-+/* Used in TX_CTL0 */
-+#define EMAC_TX_TRANSMITTER_EN BIT(31)
-+
-+/* Used in EMAC_TX_FLOW_CTL */
-+#define EMAC_TX_FLOW_CTL_EN BIT(0)
-+
-+/* Used in EMAC_INT_STA */
-+#define EMAC_TX_INT BIT(0)
-+#define EMAC_TX_DMA_STOP_INT BIT(1)
-+#define EMAC_TX_BUF_UA_INT BIT(2)
-+#define EMAC_TX_TIMEOUT_INT BIT(3)
-+#define EMAC_TX_UNDERFLOW_INT BIT(4)
-+#define EMAC_TX_EARLY_INT BIT(5)
-+#define EMAC_RX_INT BIT(8)
-+#define EMAC_RX_BUF_UA_INT BIT(9)
-+#define EMAC_RX_DMA_STOP_INT BIT(10)
-+#define EMAC_RX_TIMEOUT_INT BIT(11)
-+#define EMAC_RX_OVERFLOW_INT BIT(12)
-+#define EMAC_RX_EARLY_INT BIT(13)
-+#define EMAC_RGMII_STA_INT BIT(16)
-+
-+#define MAC_ADDR_TYPE_DST BIT(31)
-+
-+/* H3 specific bits for EPHY */
-+#define H3_EPHY_ADDR_SHIFT 20
-+#define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */
-+#define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */
-+#define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */
-+
-+/* H3/A64 specific bits */
-+#define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */
-+
-+/* Generic system control EMAC_CLK bits */
-+#define SYSCON_ETXDC_MASK GENMASK(2, 0)
-+#define SYSCON_ETXDC_SHIFT 10
-+#define SYSCON_ERXDC_MASK GENMASK(4, 0)
-+#define SYSCON_ERXDC_SHIFT 5
-+/* EMAC PHY Interface Type */
-+#define SYSCON_EPIT BIT(2) /* 1: RGMII, 0: MII */
-+#define SYSCON_ETCS_MASK GENMASK(1, 0)
-+#define SYSCON_ETCS_MII 0x0
-+#define SYSCON_ETCS_EXT_GMII 0x1
-+#define SYSCON_ETCS_INT_GMII 0x2
-+#define SYSCON_EMAC_REG 0x30
-+
-+/* sun8i_dwmac_dma_reset() - reset the EMAC
-+ * Called from stmmac via stmmac_dma_ops->reset
-+ */
-+static int sun8i_dwmac_dma_reset(void __iomem *ioaddr)
-+{
-+ writel(0, ioaddr + EMAC_RX_CTL1);
-+ writel(0, ioaddr + EMAC_TX_CTL1);
-+ writel(0, ioaddr + EMAC_RX_FRM_FLT);
-+ writel(0, ioaddr + EMAC_RX_DESC_LIST);
-+ writel(0, ioaddr + EMAC_TX_DESC_LIST);
-+ writel(0, ioaddr + EMAC_INT_EN);
-+ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA);
-+ return 0;
-+}
-+
-+/* sun8i_dwmac_dma_init() - initialize the EMAC
-+ * Called from stmmac via stmmac_dma_ops->init
-+ */
-+static void sun8i_dwmac_dma_init(void __iomem *ioaddr,
-+ struct stmmac_dma_cfg *dma_cfg,
-+ u32 dma_tx, u32 dma_rx, int atds)
-+{
-+ /* Write TX and RX descriptors address */
-+ writel(dma_rx, ioaddr + EMAC_RX_DESC_LIST);
-+ writel(dma_tx, ioaddr + EMAC_TX_DESC_LIST);
-+
-+ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN);
-+ writel(0x1FFFFFF, ioaddr + EMAC_INT_STA);
-+}
-+
-+/* sun8i_dwmac_dump_regs() - Dump EMAC address space
-+ * Called from stmmac_dma_ops->dump_regs
-+ * Used for ethtool
-+ */
-+static void sun8i_dwmac_dump_regs(void __iomem *ioaddr, u32 *reg_space)
-+{
-+ int i;
-+
-+ for (i = 0; i < 0xC8; i += 4) {
-+ if (i == 0x32 || i == 0x3C)
-+ continue;
-+ reg_space[i / 4] = readl(ioaddr + i);
-+ }
-+}
-+
-+/* sun8i_dwmac_dump_mac_regs() - Dump EMAC address space
-+ * Called from stmmac_ops->dump_regs
-+ * Used for ethtool
-+ */
-+static void sun8i_dwmac_dump_mac_regs(struct mac_device_info *hw,
-+ u32 *reg_space)
-+{
-+ int i;
-+ void __iomem *ioaddr = hw->pcsr;
-+
-+ for (i = 0; i < 0xC8; i += 4) {
-+ if (i == 0x32 || i == 0x3C)
-+ continue;
-+ reg_space[i / 4] = readl(ioaddr + i);
-+ }
-+}
-+
-+static void sun8i_dwmac_enable_dma_irq(void __iomem *ioaddr, u32 chan)
-+{
-+ writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN);
-+}
-+
-+static void sun8i_dwmac_disable_dma_irq(void __iomem *ioaddr, u32 chan)
-+{
-+ writel(0, ioaddr + EMAC_INT_EN);
-+}
-+
-+static void sun8i_dwmac_dma_start_tx(void __iomem *ioaddr, u32 chan)
-+{
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_TX_CTL1);
-+ v |= EMAC_TX_DMA_START;
-+ v |= EMAC_TX_DMA_EN;
-+ writel(v, ioaddr + EMAC_TX_CTL1);
-+}
-+
-+static void sun8i_dwmac_enable_dma_transmission(void __iomem *ioaddr)
-+{
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_TX_CTL1);
-+ v |= EMAC_TX_DMA_START;
-+ v |= EMAC_TX_DMA_EN;
-+ writel(v, ioaddr + EMAC_TX_CTL1);
-+}
-+
-+static void sun8i_dwmac_dma_stop_tx(void __iomem *ioaddr, u32 chan)
-+{
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_TX_CTL1);
-+ v &= ~EMAC_TX_DMA_EN;
-+ writel(v, ioaddr + EMAC_TX_CTL1);
-+}
-+
-+static void sun8i_dwmac_dma_start_rx(void __iomem *ioaddr, u32 chan)
-+{
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_RX_CTL1);
-+ v |= EMAC_RX_DMA_START;
-+ v |= EMAC_RX_DMA_EN;
-+ writel(v, ioaddr + EMAC_RX_CTL1);
-+}
-+
-+static void sun8i_dwmac_dma_stop_rx(void __iomem *ioaddr, u32 chan)
-+{
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_RX_CTL1);
-+ v &= ~EMAC_RX_DMA_EN;
-+ writel(v, ioaddr + EMAC_RX_CTL1);
-+}
-+
-+static int sun8i_dwmac_dma_interrupt(void __iomem *ioaddr,
-+ struct stmmac_extra_stats *x, u32 chan)
-+{
-+ u32 v;
-+ int ret = 0;
-+
-+ v = readl(ioaddr + EMAC_INT_STA);
-+
-+ if (v & EMAC_TX_INT) {
-+ ret |= handle_tx;
-+ x->tx_normal_irq_n++;
-+ }
-+
-+ if (v & EMAC_TX_DMA_STOP_INT)
-+ x->tx_process_stopped_irq++;
-+
-+ if (v & EMAC_TX_BUF_UA_INT)
-+ x->tx_process_stopped_irq++;
-+
-+ if (v & EMAC_TX_TIMEOUT_INT)
-+ ret |= tx_hard_error;
-+
-+ if (v & EMAC_TX_UNDERFLOW_INT) {
-+ ret |= tx_hard_error;
-+ x->tx_undeflow_irq++;
-+ }
-+
-+ if (v & EMAC_TX_EARLY_INT)
-+ x->tx_early_irq++;
-+
-+ if (v & EMAC_RX_INT) {
-+ ret |= handle_rx;
-+ x->rx_normal_irq_n++;
-+ }
-+
-+ if (v & EMAC_RX_BUF_UA_INT)
-+ x->rx_buf_unav_irq++;
-+
-+ if (v & EMAC_RX_DMA_STOP_INT)
-+ x->rx_process_stopped_irq++;
-+
-+ if (v & EMAC_RX_TIMEOUT_INT)
-+ ret |= tx_hard_error;
-+
-+ if (v & EMAC_RX_OVERFLOW_INT) {
-+ ret |= tx_hard_error;
-+ x->rx_overflow_irq++;
-+ }
-+
-+ if (v & EMAC_RX_EARLY_INT)
-+ x->rx_early_irq++;
-+
-+ if (v & EMAC_RGMII_STA_INT)
-+ x->irq_rgmii_n++;
-+
-+ writel(v, ioaddr + EMAC_INT_STA);
-+
-+ return ret;
-+}
-+
-+static void sun8i_dwmac_dma_operation_mode(void __iomem *ioaddr, int txmode,
-+ int rxmode, int rxfifosz)
-+{
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_TX_CTL1);
-+ if (txmode == SF_DMA_MODE) {
-+ v |= EMAC_TX_MD;
-+ /* Undocumented bit (called TX_NEXT_FRM in BSP), the original
-+ * comment is
-+ * "Operating on second frame increase the performance
-+ * especially when transmit store-and-forward is used."
-+ */
-+ v |= EMAC_TX_NEXT_FRM;
-+ } else {
-+ v &= ~EMAC_TX_MD;
-+ v &= ~EMAC_TX_TH_MASK;
-+ if (txmode < 64)
-+ v |= EMAC_TX_TH_64;
-+ else if (txmode < 128)
-+ v |= EMAC_TX_TH_128;
-+ else if (txmode < 192)
-+ v |= EMAC_TX_TH_192;
-+ else if (txmode < 256)
-+ v |= EMAC_TX_TH_256;
-+ }
-+ writel(v, ioaddr + EMAC_TX_CTL1);
-+
-+ v = readl(ioaddr + EMAC_RX_CTL1);
-+ if (rxmode == SF_DMA_MODE) {
-+ v |= EMAC_RX_MD;
-+ } else {
-+ v &= ~EMAC_RX_MD;
-+ v &= ~EMAC_RX_TH_MASK;
-+ if (rxmode < 32)
-+ v |= EMAC_RX_TH_32;
-+ else if (rxmode < 64)
-+ v |= EMAC_RX_TH_64;
-+ else if (rxmode < 96)
-+ v |= EMAC_RX_TH_96;
-+ else if (rxmode < 128)
-+ v |= EMAC_RX_TH_128;
-+ }
-+ writel(v, ioaddr + EMAC_RX_CTL1);
-+}
-+
-+static const struct stmmac_dma_ops sun8i_dwmac_dma_ops = {
-+ .reset = sun8i_dwmac_dma_reset,
-+ .init = sun8i_dwmac_dma_init,
-+ .dump_regs = sun8i_dwmac_dump_regs,
-+ .dma_mode = sun8i_dwmac_dma_operation_mode,
-+ .enable_dma_transmission = sun8i_dwmac_enable_dma_transmission,
-+ .enable_dma_irq = sun8i_dwmac_enable_dma_irq,
-+ .disable_dma_irq = sun8i_dwmac_disable_dma_irq,
-+ .start_tx = sun8i_dwmac_dma_start_tx,
-+ .stop_tx = sun8i_dwmac_dma_stop_tx,
-+ .start_rx = sun8i_dwmac_dma_start_rx,
-+ .stop_rx = sun8i_dwmac_dma_stop_rx,
-+ .dma_interrupt = sun8i_dwmac_dma_interrupt,
-+};
-+
-+static int sun8i_dwmac_init(struct platform_device *pdev, void *priv)
-+{
-+ struct sunxi_priv_data *gmac = priv;
-+ int ret;
-+
-+ if (gmac->regulator) {
-+ ret = regulator_enable(gmac->regulator);
-+ if (ret) {
-+ dev_err(&pdev->dev, "Fail to enable regulator\n");
-+ return ret;
-+ }
-+ }
-+
-+ ret = clk_prepare_enable(gmac->tx_clk);
-+ if (ret) {
-+ if (gmac->regulator)
-+ regulator_disable(gmac->regulator);
-+ dev_err(&pdev->dev, "Could not enable AHB clock\n");
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static void sun8i_dwmac_core_init(struct mac_device_info *hw, int mtu)
-+{
-+ void __iomem *ioaddr = hw->pcsr;
-+ u32 v;
-+
-+ v = (8 << EMAC_BURSTLEN_SHIFT); /* burst len */
-+ writel(v, ioaddr + EMAC_BASIC_CTL1);
-+}
-+
-+static void sun8i_dwmac_set_mac(void __iomem *ioaddr, bool enable)
-+{
-+ u32 t, r;
-+
-+ t = readl(ioaddr + EMAC_TX_CTL0);
-+ r = readl(ioaddr + EMAC_RX_CTL0);
-+ if (enable) {
-+ t |= EMAC_TX_TRANSMITTER_EN;
-+ r |= EMAC_RX_RECEIVER_EN;
-+ } else {
-+ t &= ~EMAC_TX_TRANSMITTER_EN;
-+ r &= ~EMAC_RX_RECEIVER_EN;
-+ }
-+ writel(t, ioaddr + EMAC_TX_CTL0);
-+ writel(r, ioaddr + EMAC_RX_CTL0);
-+}
-+
-+/* Set MAC address at slot reg_n
-+ * All slot > 0 need to be enabled with MAC_ADDR_TYPE_DST
-+ * If addr is NULL, clear the slot
-+ */
-+static void sun8i_dwmac_set_umac_addr(struct mac_device_info *hw,
-+ unsigned char *addr,
-+ unsigned int reg_n)
-+{
-+ void __iomem *ioaddr = hw->pcsr;
-+ u32 v;
-+
-+ if (!addr) {
-+ writel(0, ioaddr + EMAC_MACADDR_HI(reg_n));
-+ return;
-+ }
-+
-+ stmmac_set_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n),
-+ EMAC_MACADDR_LO(reg_n));
-+ if (reg_n > 0) {
-+ v = readl(ioaddr + EMAC_MACADDR_HI(reg_n));
-+ v |= MAC_ADDR_TYPE_DST;
-+ writel(v, ioaddr + EMAC_MACADDR_HI(reg_n));
-+ }
-+}
-+
-+static void sun8i_dwmac_get_umac_addr(struct mac_device_info *hw,
-+ unsigned char *addr,
-+ unsigned int reg_n)
-+{
-+ void __iomem *ioaddr = hw->pcsr;
-+
-+ stmmac_get_mac_addr(ioaddr, addr, EMAC_MACADDR_HI(reg_n),
-+ EMAC_MACADDR_LO(reg_n));
-+}
-+
-+/* caution this function must return non 0 to work */
-+static int sun8i_dwmac_rx_ipc_enable(struct mac_device_info *hw)
-+{
-+ void __iomem *ioaddr = hw->pcsr;
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_RX_CTL0);
-+ v |= EMAC_RX_DO_CRC;
-+ writel(v, ioaddr + EMAC_RX_CTL0);
-+
-+ return 1;
-+}
-+
-+static void sun8i_dwmac_set_filter(struct mac_device_info *hw,
-+ struct net_device *dev)
-+{
-+ void __iomem *ioaddr = hw->pcsr;
-+ u32 v;
-+ int i = 1;
-+ struct netdev_hw_addr *ha;
-+ int macaddrs = netdev_uc_count(dev) + netdev_mc_count(dev) + 1;
-+
-+ v = EMAC_FRM_FLT_CTL;
-+
-+ if (dev->flags & IFF_PROMISC) {
-+ v = EMAC_FRM_FLT_RXALL;
-+ } else if (dev->flags & IFF_ALLMULTI) {
-+ v |= EMAC_FRM_FLT_MULTICAST;
-+ } else if (macaddrs <= hw->unicast_filter_entries) {
-+ if (!netdev_mc_empty(dev)) {
-+ netdev_for_each_mc_addr(ha, dev) {
-+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i);
-+ i++;
-+ }
-+ }
-+ if (!netdev_uc_empty(dev)) {
-+ netdev_for_each_uc_addr(ha, dev) {
-+ sun8i_dwmac_set_umac_addr(hw, ha->addr, i);
-+ i++;
-+ }
-+ }
-+ } else {
-+ netdev_info(dev, "Too many address, switching to promiscuous\n");
-+ v = EMAC_FRM_FLT_RXALL;
-+ }
-+
-+ /* Disable unused address filter slots */
-+ while (i < hw->unicast_filter_entries)
-+ sun8i_dwmac_set_umac_addr(hw, NULL, i++);
-+
-+ writel(v, ioaddr + EMAC_RX_FRM_FLT);
-+}
-+
-+static void sun8i_dwmac_flow_ctrl(struct mac_device_info *hw,
-+ unsigned int duplex, unsigned int fc,
-+ unsigned int pause_time, u32 tx_cnt)
-+{
-+ void __iomem *ioaddr = hw->pcsr;
-+ u32 v;
-+
-+ v = readl(ioaddr + EMAC_RX_CTL0);
-+ if (fc == FLOW_AUTO)
-+ v |= EMAC_RX_FLOW_CTL_EN;
-+ else
-+ v &= ~EMAC_RX_FLOW_CTL_EN;
-+ writel(v, ioaddr + EMAC_RX_CTL0);
-+
-+ v = readl(ioaddr + EMAC_TX_FLOW_CTL);
-+ if (fc == FLOW_AUTO)
-+ v |= EMAC_TX_FLOW_CTL_EN;
-+ else
-+ v &= ~EMAC_TX_FLOW_CTL_EN;
-+ writel(v, ioaddr + EMAC_TX_FLOW_CTL);
-+}
-+
-+static int sun8i_dwmac_reset(struct stmmac_priv *priv)
-+{
-+ u32 v;
-+ int err;
-+
-+ v = readl(priv->ioaddr + EMAC_BASIC_CTL1);
-+ writel(v | 0x01, priv->ioaddr + EMAC_BASIC_CTL1);
-+
-+ err = readl_poll_timeout(priv->ioaddr + EMAC_BASIC_CTL1, v,
-+ !(v & 0x01), 100, 10000);
-+
-+ if (err) {
-+ dev_err(priv->device, "EMAC reset timeout\n");
-+ return -EFAULT;
-+ }
-+ return 0;
-+}
-+
-+static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv)
-+{
-+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
-+ struct device_node *node = priv->device->of_node;
-+ int ret;
-+ u32 reg, val;
-+
-+ regmap_read(gmac->regmap, SYSCON_EMAC_REG, &val);
-+ reg = gmac->variant->default_syscon_value;
-+ if (reg != val)
-+ dev_warn(priv->device,
-+ "Current syscon value is not the default %x (expect %x)\n",
-+ val, reg);
-+
-+ if (gmac->variant->internal_phy) {
-+ if (!gmac->use_internal_phy) {
-+ /* switch to external PHY interface */
-+ reg &= ~H3_EPHY_SELECT;
-+ } else {
-+ reg |= H3_EPHY_SELECT;
-+ reg &= ~H3_EPHY_SHUTDOWN;
-+ dev_dbg(priv->device, "Select internal_phy %x\n", reg);
-+
-+ if (of_property_read_bool(priv->plat->phy_node,
-+ "allwinner,leds-active-low"))
-+ reg |= H3_EPHY_LED_POL;
-+ else
-+ reg &= ~H3_EPHY_LED_POL;
-+
-+ ret = of_mdio_parse_addr(priv->device,
-+ priv->plat->phy_node);
-+ if (ret < 0) {
-+ dev_err(priv->device, "Could not parse MDIO addr\n");
-+ return ret;
-+ }
-+ /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY
-+ * address. No need to mask it again.
-+ */
-+ reg |= ret << H3_EPHY_ADDR_SHIFT;
-+ }
-+ }
-+
-+ if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) {
-+ if (val % 100) {
-+ dev_err(priv->device, "tx-delay must be a multiple of 100\n");
-+ return -EINVAL;
-+ }
-+ val /= 100;
-+ dev_dbg(priv->device, "set tx-delay to %x\n", val);
-+ if (val <= SYSCON_ETXDC_MASK) {
-+ reg &= ~(SYSCON_ETXDC_MASK << SYSCON_ETXDC_SHIFT);
-+ reg |= (val << SYSCON_ETXDC_SHIFT);
-+ } else {
-+ dev_err(priv->device, "Invalid TX clock delay: %d\n",
-+ val);
-+ return -EINVAL;
-+ }
-+ }
-+
-+ if (!of_property_read_u32(node, "allwinner,rx-delay-ps", &val)) {
-+ if (val % 100) {
-+ dev_err(priv->device, "rx-delay must be a multiple of 100\n");
-+ return -EINVAL;
-+ }
-+ val /= 100;
-+ dev_dbg(priv->device, "set rx-delay to %x\n", val);
-+ if (val <= SYSCON_ERXDC_MASK) {
-+ reg &= ~(SYSCON_ERXDC_MASK << SYSCON_ERXDC_SHIFT);
-+ reg |= (val << SYSCON_ERXDC_SHIFT);
-+ } else {
-+ dev_err(priv->device, "Invalid RX clock delay: %d\n",
-+ val);
-+ return -EINVAL;
-+ }
-+ }
-+
-+ /* Clear interface mode bits */
-+ reg &= ~(SYSCON_ETCS_MASK | SYSCON_EPIT);
-+ if (gmac->variant->support_rmii)
-+ reg &= ~SYSCON_RMII_EN;
-+
-+ switch (priv->plat->interface) {
-+ case PHY_INTERFACE_MODE_MII:
-+ /* default */
-+ break;
-+ case PHY_INTERFACE_MODE_RGMII:
-+ reg |= SYSCON_EPIT | SYSCON_ETCS_INT_GMII;
-+ break;
-+ case PHY_INTERFACE_MODE_RMII:
-+ reg |= SYSCON_RMII_EN | SYSCON_ETCS_EXT_GMII;
-+ break;
-+ default:
-+ dev_err(priv->device, "Unsupported interface mode: %s",
-+ phy_modes(priv->plat->interface));
-+ return -EINVAL;
-+ }
-+
-+ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg);
-+
-+ return 0;
-+}
-+
-+static void sun8i_dwmac_unset_syscon(struct sunxi_priv_data *gmac)
-+{
-+ u32 reg = gmac->variant->default_syscon_value;
-+
-+ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg);
-+}
-+
-+static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv)
-+{
-+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
-+ int ret;
-+
-+ if (!gmac->use_internal_phy)
-+ return 0;
-+
-+ ret = clk_prepare_enable(gmac->ephy_clk);
-+ if (ret) {
-+ dev_err(priv->device, "Cannot enable ephy\n");
-+ return ret;
-+ }
-+
-+ ret = reset_control_deassert(gmac->rst_ephy);
-+ if (ret) {
-+ dev_err(priv->device, "Cannot deassert ephy\n");
-+ clk_disable_unprepare(gmac->ephy_clk);
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac)
-+{
-+ if (!gmac->use_internal_phy)
-+ return 0;
-+
-+ clk_disable_unprepare(gmac->ephy_clk);
-+ reset_control_assert(gmac->rst_ephy);
-+ return 0;
-+}
-+
-+static int sun8i_power_phy(struct stmmac_priv *priv)
-+{
-+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
-+ int ret;
-+
-+ ret = sun8i_dwmac_power_internal_phy(priv);
-+ if (ret)
-+ return ret;
-+
-+ ret = sun8i_dwmac_set_syscon(priv);
-+ if (ret)
-+ goto error_phy;
-+
-+ ret = sun8i_dwmac_reset(priv);
-+ if (ret)
-+ goto error_phy;
-+ return 0;
-+
-+error_phy:
-+ sun8i_dwmac_unset_syscon(gmac);
-+ sun8i_dwmac_unpower_internal_phy(gmac);
-+ return ret;
-+}
-+
-+static void sun8i_unpower_phy(struct sunxi_priv_data *gmac)
-+{
-+ sun8i_dwmac_unset_syscon(gmac);
-+ sun8i_dwmac_unpower_internal_phy(gmac);
-+}
-+
-+static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv)
-+{
-+ struct sunxi_priv_data *gmac = priv;
-+
-+ sun8i_unpower_phy(gmac);
-+
-+ clk_disable_unprepare(gmac->tx_clk);
-+
-+ if (gmac->regulator)
-+ regulator_disable(gmac->regulator);
-+}
-+
-+static const struct stmmac_ops sun8i_dwmac_ops = {
-+ .core_init = sun8i_dwmac_core_init,
-+ .set_mac = sun8i_dwmac_set_mac,
-+ .dump_regs = sun8i_dwmac_dump_mac_regs,
-+ .rx_ipc = sun8i_dwmac_rx_ipc_enable,
-+ .set_filter = sun8i_dwmac_set_filter,
-+ .flow_ctrl = sun8i_dwmac_flow_ctrl,
-+ .set_umac_addr = sun8i_dwmac_set_umac_addr,
-+ .get_umac_addr = sun8i_dwmac_get_umac_addr,
-+};
-+
-+static struct mac_device_info *sun8i_dwmac_setup(void *ppriv)
-+{
-+ struct mac_device_info *mac;
-+ struct stmmac_priv *priv = ppriv;
-+ int ret;
-+
-+ mac = devm_kzalloc(priv->device, sizeof(*mac), GFP_KERNEL);
-+ if (!mac)
-+ return NULL;
-+
-+ ret = sun8i_power_phy(priv);
-+ if (ret)
-+ return NULL;
-+
-+ mac->pcsr = priv->ioaddr;
-+ mac->mac = &sun8i_dwmac_ops;
-+ mac->dma = &sun8i_dwmac_dma_ops;
-+
-+ mac->link.port = 0;
-+ mac->link.duplex = BIT(0);
-+ mac->link.speed = 1;
-+ mac->mii.addr = EMAC_MDIO_CMD;
-+ mac->mii.data = EMAC_MDIO_DATA;
-+ mac->mii.reg_shift = 4;
-+ mac->mii.reg_mask = GENMASK(8, 4);
-+ mac->mii.addr_shift = 12;
-+ mac->mii.addr_mask = GENMASK(16, 12);
-+ mac->mii.clk_csr_shift = 20;
-+ mac->mii.clk_csr_mask = GENMASK(22, 20);
-+ mac->unicast_filter_entries = 8;
-+
-+ /* Synopsys Id is not available */
-+ priv->synopsys_id = 0;
-+
-+ return mac;
-+}
-+
-+static int sun8i_dwmac_probe(struct platform_device *pdev)
-+{
-+ struct plat_stmmacenet_data *plat_dat;
-+ struct stmmac_resources stmmac_res;
-+ struct sunxi_priv_data *gmac;
-+ struct device *dev = &pdev->dev;
-+ int ret;
-+
-+ ret = stmmac_get_platform_resources(pdev, &stmmac_res);
-+ if (ret)
-+ return ret;
-+
-+ plat_dat = stmmac_probe_config_dt(pdev, &stmmac_res.mac);
-+ if (IS_ERR(plat_dat))
-+ return PTR_ERR(plat_dat);
-+
-+ gmac = devm_kzalloc(dev, sizeof(*gmac), GFP_KERNEL);
-+ if (!gmac)
-+ return -ENOMEM;
-+
-+ gmac->variant = of_device_get_match_data(&pdev->dev);
-+ if (!gmac->variant) {
-+ dev_err(&pdev->dev, "Missing dwmac-sun8i variant\n");
-+ return -EINVAL;
-+ }
-+
-+ gmac->tx_clk = devm_clk_get(dev, "stmmaceth");
-+ if (IS_ERR(gmac->tx_clk)) {
-+ dev_err(dev, "Could not get TX clock\n");
-+ return PTR_ERR(gmac->tx_clk);
-+ }
-+
-+ /* Optional regulator for PHY */
-+ gmac->regulator = devm_regulator_get_optional(dev, "phy");
-+ if (IS_ERR(gmac->regulator)) {
-+ if (PTR_ERR(gmac->regulator) == -EPROBE_DEFER)
-+ return -EPROBE_DEFER;
-+ dev_info(dev, "No regulator found\n");
-+ gmac->regulator = NULL;
-+ }
-+
-+ gmac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
-+ "syscon");
-+ if (IS_ERR(gmac->regmap)) {
-+ ret = PTR_ERR(gmac->regmap);
-+ dev_err(&pdev->dev, "Unable to map syscon: %d\n", ret);
-+ return ret;
-+ }
-+
-+ plat_dat->interface = of_get_phy_mode(dev->of_node);
-+ if (plat_dat->interface == gmac->variant->internal_phy) {
-+ dev_info(&pdev->dev, "Will use internal PHY\n");
-+ gmac->use_internal_phy = true;
-+ gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0);
-+ if (IS_ERR(gmac->ephy_clk)) {
-+ ret = PTR_ERR(gmac->ephy_clk);
-+ dev_err(&pdev->dev, "Cannot get EPHY clock: %d\n", ret);
-+ return -EINVAL;
-+ }
-+
-+ gmac->rst_ephy = of_reset_control_get(plat_dat->phy_node, NULL);
-+ if (IS_ERR(gmac->rst_ephy)) {
-+ ret = PTR_ERR(gmac->rst_ephy);
-+ if (ret == -EPROBE_DEFER)
-+ return ret;
-+ dev_err(&pdev->dev, "No EPHY reset control found %d\n",
-+ ret);
-+ return -EINVAL;
-+ }
-+ } else {
-+ dev_info(&pdev->dev, "Will use external PHY\n");
-+ gmac->use_internal_phy = false;
-+ }
-+
-+ /* platform data specifying hardware features and callbacks.
-+ * hardware features were copied from Allwinner drivers.
-+ */
-+ plat_dat->rx_coe = STMMAC_RX_COE_TYPE2;
-+ plat_dat->tx_coe = 1;
-+ plat_dat->has_sun8i = true;
-+ plat_dat->bsp_priv = gmac;
-+ plat_dat->init = sun8i_dwmac_init;
-+ plat_dat->exit = sun8i_dwmac_exit;
-+ plat_dat->setup = sun8i_dwmac_setup;
-+
-+ ret = sun8i_dwmac_init(pdev, plat_dat->bsp_priv);
-+ if (ret)
-+ return ret;
-+
-+ ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
-+ if (ret)
-+ sun8i_dwmac_exit(pdev, plat_dat->bsp_priv);
-+
-+ return ret;
-+}
-+
-+static const struct of_device_id sun8i_dwmac_match[] = {
-+ { .compatible = "allwinner,sun8i-h3-emac",
-+ .data = &emac_variant_h3 },
-+ { .compatible = "allwinner,sun8i-a83t-emac",
-+ .data = &emac_variant_a83t },
-+ { .compatible = "allwinner,sun50i-a64-emac",
-+ .data = &emac_variant_a64 },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(of, sun8i_dwmac_match);
-+
-+static struct platform_driver sun8i_dwmac_driver = {
-+ .probe = sun8i_dwmac_probe,
-+ .remove = stmmac_pltfr_remove,
-+ .driver = {
-+ .name = "dwmac-sun8i",
-+ .pm = &stmmac_pltfr_pm_ops,
-+ .of_match_table = sun8i_dwmac_match,
-+ },
-+};
-+module_platform_driver(sun8i_dwmac_driver);
-+
-+MODULE_AUTHOR("Corentin Labbe <clabbe.montjoie@gmail.com>");
-+MODULE_DESCRIPTION("Allwinner sun8i DWMAC specific glue layer");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-index b82ab64..39777a7 100644
---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -235,6 +235,17 @@ static void stmmac_clk_csr_set(struct stmmac_priv *priv)
- else if ((clk_rate >= CSR_F_250M) && (clk_rate < CSR_F_300M))
- priv->clk_csr = STMMAC_CSR_250_300M;
- }
-+
-+ if (priv->plat->has_sun8i) {
-+ if (clk_rate > 160000000)
-+ priv->clk_csr = 0x03;
-+ else if (clk_rate > 80000000)
-+ priv->clk_csr = 0x02;
-+ else if (clk_rate > 40000000)
-+ priv->clk_csr = 0x01;
-+ else
-+ priv->clk_csr = 0;
-+ }
- }
-
- static void print_pkt(unsigned char *buf, int len)
-@@ -784,6 +795,14 @@ static void stmmac_adjust_link(struct net_device *dev)
- if (phydev->link) {
- u32 ctrl = readl(priv->ioaddr + MAC_CTRL_REG);
-
-+ /* dwmac-sun8i handle loopback in MAC_CTRL_REG */
-+ if (priv->plat->has_sun8i) {
-+ if (dev->features & NETIF_F_LOOPBACK)
-+ ctrl |= BIT(1);
-+ else
-+ ctrl &= ~BIT(1);
-+ }
-+
- /* Now we make sure that we can be in full duplex mode.
- * If not, we operate in half-duplex mode. */
- if (phydev->duplex != priv->oldduplex) {
-@@ -800,6 +819,8 @@ static void stmmac_adjust_link(struct net_device *dev)
-
- if (phydev->speed != priv->speed) {
- new_state = 1;
-+ if (priv->plat->has_sun8i)
-+ ctrl &= ~GENMASK(3, 2);
- switch (phydev->speed) {
- case 1000:
- if (priv->plat->has_gmac ||
-@@ -811,6 +832,8 @@ static void stmmac_adjust_link(struct net_device *dev)
- priv->plat->has_gmac4) {
- ctrl |= priv->hw->link.port;
- ctrl |= priv->hw->link.speed;
-+ } else if (priv->plat->has_sun8i) {
-+ ctrl |= 3 << 2;
- } else {
- ctrl &= ~priv->hw->link.port;
- }
-@@ -820,6 +843,8 @@ static void stmmac_adjust_link(struct net_device *dev)
- priv->plat->has_gmac4) {
- ctrl |= priv->hw->link.port;
- ctrl &= ~(priv->hw->link.speed);
-+ } else if (priv->plat->has_sun8i) {
-+ ctrl |= 2 << 2;
- } else {
- ctrl &= ~priv->hw->link.port;
- }
-@@ -3969,6 +3994,10 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
-
- priv->hw = mac;
-
-+ /* dwmac-sun8i only work in chain mode */
-+ if (priv->plat->has_sun8i)
-+ chain_mode = 1;
-+
- /* To use the chained or ring mode */
- if (priv->synopsys_id >= DWMAC_CORE_4_00) {
- priv->hw->mode = &dwmac4_ring_mode_ops;
-diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
-index 7fc3a1e..3840529 100644
---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
-+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
-@@ -309,6 +309,12 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
- struct device_node *np, struct device *dev)
- {
- bool mdio = true;
-+ static const struct of_device_id need_mdio_ids[] = {
-+ { .compatible = "snps,dwc-qos-ethernet-4.10" },
-+ { .compatible = "allwinner,sun8i-a83t-emac" },
-+ { .compatible = "allwinner,sun8i-h3-emac" },
-+ { .compatible = "allwinner,sun50i-a64-emac" },
-+ };
-
- /* If phy-handle property is passed from DT, use it as the PHY */
- plat->phy_node = of_parse_phandle(np, "phy-handle", 0);
-@@ -325,8 +331,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
- mdio = false;
- }
-
-- /* exception for dwmac-dwc-qos-eth glue logic */
-- if (of_device_is_compatible(np, "snps,dwc-qos-ethernet-4.10")) {
-+ if (of_match_node(need_mdio_ids, np)) {
- plat->mdio_node = of_get_child_by_name(np, "mdio");
- } else {
- /**
-diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
-index 8bb550b..108739f 100644
---- a/include/linux/stmmac.h
-+++ b/include/linux/stmmac.h
-@@ -186,6 +186,7 @@ struct plat_stmmacenet_data {
- struct reset_control *stmmac_rst;
- struct stmmac_axi *axi;
- int has_gmac4;
-+ bool has_sun8i;
- bool tso_en;
- int mac_port_sel_speed;
- bool en_tx_lpi_clockgating;
-
-From patchwork Mon May 1 12:45:06 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,
- 06/20] arm: sun8i: sunxi-h3-h5: Add dt node for the syscon control
- module
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706459
-Message-Id: <20170501124520.3769-7-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:06 +0200
-
-This patch add the dt node for the syscon register present on the
-Allwinner H3/H5
-
-Only two register are present in this syscon and the only one useful is
-the one dedicated to EMAC clock..
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-index 1aeeacb..d9691fc 100644
---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-@@ -83,6 +83,12 @@
- #size-cells = <1>;
- ranges;
-
-+ syscon: syscon@1c00000 {
-+ compatible = "allwinner,sun8i-h3-system-controller",
-+ "syscon";
-+ reg = <0x01c00000 0x1000>;
-+ };
-+
- dma: dma-controller@01c02000 {
- compatible = "allwinner,sun8i-h3-dma";
- reg = <0x01c02000 0x1000>;
-
-From patchwork Mon May 1 12:45:07 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,07/20] arm: sun8i: sunxi-h3-h5: add dwmac-sun8i ethernet driver
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706465
-Message-Id: <20170501124520.3769-8-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:07 +0200
-
-The dwmac-sun8i is an ethernet MAC hardware that support 10/100/1000
-speed.
-
-This patch enable the dwmac-sun8i on Allwinner H3/H5 SoC Device-tree.
-SoC H3/H5 have an internal PHY, so optionals syscon and ephy are set.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 34 ++++++++++++++++++++++++++++++++++
- 1 file changed, 34 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-index d9691fc..45a9a30 100644
---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-@@ -285,6 +285,14 @@
- interrupt-controller;
- #interrupt-cells = <3>;
-
-+ emac_rgmii_pins: emac0 {
-+ pins = "PD0", "PD1", "PD2", "PD3", "PD4",
-+ "PD5", "PD7", "PD8", "PD9", "PD10",
-+ "PD12", "PD13", "PD15", "PD16", "PD17";
-+ function = "emac";
-+ drive-strength = <40>;
-+ };
-+
- i2c0_pins: i2c0 {
- pins = "PA11", "PA12";
- function = "i2c0";
-@@ -381,6 +389,32 @@
- clocks = <&osc24M>;
- };
-
-+ emac: ethernet@1c30000 {
-+ compatible = "allwinner,sun8i-h3-emac";
-+ syscon = <&syscon>;
-+ reg = <0x01c30000 0x104>;
-+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "macirq";
-+ resets = <&ccu RST_BUS_EMAC>;
-+ reset-names = "stmmaceth";
-+ clocks = <&ccu CLK_BUS_EMAC>;
-+ clock-names = "stmmaceth";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ status = "disabled";
-+
-+ mdio: mdio {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ int_mii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ clocks = <&ccu CLK_BUS_EPHY>;
-+ resets = <&ccu RST_BUS_EPHY>;
-+ };
-+ };
-+ };
-+
- spi0: spi@01c68000 {
- compatible = "allwinner,sun8i-h3-spi";
- reg = <0x01c68000 0x1000>;
-
-From patchwork Mon May 1 12:45:08 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,08/20] arm: sun8i: orangepi-pc: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706463
-Message-Id: <20170501124520.3769-9-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:08 +0200
-
-The dwmac-sun8i hardware is present on the Orange PI PC.
-It uses the internal PHY.
-
-This patch create the needed emac node.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
-index f148111..52e6575 100644
---- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
-@@ -52,6 +52,7 @@
- compatible = "xunlong,orangepi-pc", "allwinner,sun8i-h3";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- };
-
-@@ -109,6 +110,13 @@
- status = "okay";
- };
-
-+&emac {
-+ phy-handle = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ status = "okay";
-+};
-+
- &ir {
- pinctrl-names = "default";
- pinctrl-0 = <&ir_pins_a>;
-
-From patchwork Mon May 1 12:45:09 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,09/20] arm: sun8i: orangepi-zero: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706461
-Message-Id: <20170501124520.3769-10-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:09 +0200
-
-The dwmac-sun8i hardware is present on the Orange PI Zero.
-It uses the internal PHY.
-
-This patch create the needed emac node.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
-index 9e8b082..dd3525a 100644
---- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
-+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
-@@ -57,6 +57,7 @@
- aliases {
- serial0 = &uart0;
- /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
-+ ethernet0 = &emac;
- ethernet1 = &xr819;
- };
-
-@@ -103,6 +104,13 @@
- status = "okay";
- };
-
-+&emac {
-+ phy-handle = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ status = "okay";
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>;
-
-From patchwork Mon May 1 12:45:10 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,10/20] arm: sun8i: orangepi-one: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706471
-Message-Id: <20170501124520.3769-11-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:10 +0200
-
-The dwmac-sun8i hardware is present on the Orange PI One.
-It uses the internal PHY.
-
-This patch create the needed emac node.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
-index 5fea430..6880268 100644
---- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
-@@ -52,6 +52,7 @@
- compatible = "xunlong,orangepi-one", "allwinner,sun8i-h3";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- };
-
-@@ -97,6 +98,13 @@
- status = "okay";
- };
-
-+&emac {
-+ phy-handle = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ status = "okay";
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
-
-From patchwork Mon May 1 12:45:11 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,11/20] arm: sun8i: orangepi-2: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706467
-Message-Id: <20170501124520.3769-12-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:11 +0200
-
-The dwmac-sun8i hardware is present on the Orange PI 2.
-It uses the internal PHY.
-
-This patch create the needed emac node.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
-index 5b6d145..cedd326 100644
---- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
-@@ -54,6 +54,7 @@
- aliases {
- serial0 = &uart0;
- /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
-+ ethernet0 = &emac;
- ethernet1 = &rtl8189;
- };
-
-@@ -108,6 +109,13 @@
- status = "okay";
- };
-
-+&emac {
-+ phy-handle = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ status = "okay";
-+};
-+
- &ir {
- pinctrl-names = "default";
- pinctrl-0 = <&ir_pins_a>;
-
-From patchwork Mon May 1 12:45:12 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,
- 12/20] arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active
- high
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706481
-Message-Id: <20170501124520.3769-13-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:12 +0200
-
-On the Orange Pi PC Plus, the polarity of the LEDs on the RJ45 Ethernet
-port were changed from active low to active high.
-
-Signed-off-by: Chen-Yu Tsai <wens@csie.org>
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
-index 8b93f5c..a10281b 100644
---- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
-@@ -53,6 +53,11 @@
- };
- };
-
-+&emac {
-+ /* LEDs changed to active high on the plus */
-+ /delete-property/ allwinner,leds-active-low;
-+};
-+
- &mmc1 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc1_pins_a>;
-
-From patchwork Mon May 1 12:45:13 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5, 13/20] arm64: allwinner: sun50i-a64: Add dt node for the syscon
- control module
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706477
-Message-Id: <20170501124520.3769-14-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:13 +0200
-
-This patch add the dt node for the syscon register present on the
-Allwinner A64.
-
-Only two register are present in this syscon and the only one useful is
-the one dedicated to EMAC clock.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-index c7f669f..d7341ba 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-@@ -129,6 +129,12 @@
- #size-cells = <1>;
- ranges;
-
-+ syscon: syscon@1c00000 {
-+ compatible = "allwinner,sun50i-a64-system-controller",
-+ "syscon";
-+ reg = <0x01c00000 0x1000>;
-+ };
-+
- mmc0: mmc@1c0f000 {
- compatible = "allwinner,sun50i-a64-mmc";
- reg = <0x01c0f000 0x1000>;
-
-From patchwork Mon May 1 12:45:14 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,
- 14/20] arm64: allwinner: sun50i-a64: add dwmac-sun8i Ethernet driver
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706485
-Message-Id: <20170501124520.3769-15-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:14 +0200
-
-The dwmac-sun8i is an Ethernet MAC that supports 10/100/1000 Mbit
-connections. It is very similar to the device found in the Allwinner
-H3, but lacks the internal 100 Mbit PHY and its associated control
-bits.
-This adds the necessary bits to the Allwinner A64 SoC .dtsi, but keeps
-it disabled at this level.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 35 +++++++++++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-index d7341ba..18b3642 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-@@ -287,6 +287,21 @@
- bias-pull-up;
- };
-
-+ rmii_pins: rmii_pins {
-+ pins = "PD10", "PD11", "PD13", "PD14", "PD17",
-+ "PD18", "PD19", "PD20", "PD22", "PD23";
-+ function = "emac";
-+ drive-strength = <40>;
-+ };
-+
-+ rgmii_pins: rgmii_pins {
-+ pins = "PD8", "PD9", "PD10", "PD11", "PD12",
-+ "PD13", "PD15", "PD16", "PD17", "PD18",
-+ "PD19", "PD20", "PD21", "PD22", "PD23";
-+ function = "emac";
-+ drive-strength = <40>;
-+ };
-+
- uart0_pins_a: uart0@0 {
- pins = "PB8", "PB9";
- function = "uart0";
-@@ -391,6 +406,26 @@
- #size-cells = <0>;
- };
-
-+ emac: ethernet@1c30000 {
-+ compatible = "allwinner,sun50i-a64-emac";
-+ syscon = <&syscon>;
-+ reg = <0x01c30000 0x100>;
-+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "macirq";
-+ resets = <&ccu RST_BUS_EMAC>;
-+ reset-names = "stmmaceth";
-+ clocks = <&ccu CLK_BUS_EMAC>;
-+ clock-names = "stmmaceth";
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ mdio: mdio {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+ };
-+
- gic: interrupt-controller@1c81000 {
- compatible = "arm,gic-400";
- reg = <0x01c81000 0x1000>,
-
-From patchwork Mon May 1 12:45:15 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,15/20] arm64: allwinner: pine64: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706489
-Message-Id: <20170501124520.3769-16-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:15 +0200
-
-The dwmac-sun8i hardware is present on the pine64
-It uses an external PHY via RMII.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-index c680ed3..3b491c0 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-@@ -70,6 +70,15 @@
- status = "okay";
- };
-
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&rmii_pins>;
-+ phy-mode = "rmii";
-+ phy-handle = <&ext_rmii_phy1>;
-+ status = "okay";
-+
-+};
-+
- &i2c1 {
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_pins>;
-@@ -80,6 +89,13 @@
- bias-pull-up;
- };
-
-+&mdio {
-+ ext_rmii_phy1: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ };
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
-
-From patchwork Mon May 1 12:45:16 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,16/20] arm64: allwinner: pine64-plus: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706511
-Message-Id: <20170501124520.3769-17-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:16 +0200
-
-The dwmac-sun8i hardware is present on the pine64 plus.
-It uses an external PHY rtl8211e via RGMII.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- .../arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
-index 790d14d..24f1aac 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
-@@ -46,5 +46,20 @@
- model = "Pine64+";
- compatible = "pine64,pine64-plus", "allwinner,sun50i-a64";
-
-- /* TODO: Camera, Ethernet PHY, touchscreen, etc. */
-+ /* TODO: Camera, touchscreen, etc. */
-+};
-+
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&rgmii_pins>;
-+ phy-mode = "rgmii";
-+ phy-handle = <&ext_rgmii_phy>;
-+ status = "okay";
-+};
-+
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ };
- };
-
-From patchwork Mon May 1 12:45:17 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,17/20] arm64: allwinner: bananapi-m64: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706509
-Message-Id: <20170501124520.3769-18-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:17 +0200
-
-The dwmac-sun8i hardware is present on the BananaPi M64.
-It uses an external PHY rtl8211e via RGMII.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
-index 6872135..0d1f026 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
-@@ -67,6 +67,14 @@
- };
- };
-
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&rgmii_pins>;
-+ phy-mode = "rgmii";
-+ phy-handle = <&ext_rgmii_phy>;
-+ status = "okay";
-+};
-+
- &i2c1 {
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_pins>;
-@@ -77,6 +85,13 @@
- bias-pull-up;
- };
-
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ };
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
-
-From patchwork Mon May 1 12:45:18 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,18/20] arm: sunxi: Enable dwmac-sun8i driver on sunxi_defconfig
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706507
-Message-Id: <20170501124520.3769-19-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:18 +0200
-
-Enable the dwmac-sun8i driver in the sunxi default configuration
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/configs/sunxi_defconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
-index 5cd5dd70..504e022 100644
---- a/arch/arm/configs/sunxi_defconfig
-+++ b/arch/arm/configs/sunxi_defconfig
-@@ -40,6 +40,7 @@ CONFIG_ATA=y
- CONFIG_AHCI_SUNXI=y
- CONFIG_NETDEVICES=y
- CONFIG_SUN4I_EMAC=y
-+CONFIG_DWMAC_SUN8I=y
- # CONFIG_NET_VENDOR_ARC is not set
- # CONFIG_NET_CADENCE is not set
- # CONFIG_NET_VENDOR_BROADCOM is not set
-
-From patchwork Mon May 1 12:45:19 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,
- 19/20] arm: multi_v7: Enable dwmac-sun8i driver on multi_v7_defconfig
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706513
-Message-Id: <20170501124520.3769-20-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:19 +0200
-
-Enable the dwmac-sun8i driver in the multi_v7 default configuration
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/configs/multi_v7_defconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
-index 2685e03..6da6af8 100644
---- a/arch/arm/configs/multi_v7_defconfig
-+++ b/arch/arm/configs/multi_v7_defconfig
-@@ -257,6 +257,7 @@ CONFIG_SMSC911X=y
- CONFIG_STMMAC_ETH=y
- CONFIG_STMMAC_PLATFORM=y
- CONFIG_DWMAC_DWC_QOS_ETH=y
-+CONFIG_DWMAC_SUN8I=y
- CONFIG_TI_CPSW=y
- CONFIG_XILINX_EMACLITE=y
- CONFIG_AT803X_PHY=y
-
-From patchwork Mon May 1 12:45:20 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v5,20/20] arm64: defconfig: Enable dwmac-sun8i driver on defconfig
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9706505
-Message-Id: <20170501124520.3769-21-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com, wens@csie.org,
- linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
- Corentin Labbe <clabbe.montjoie@gmail.com>
-Date: Mon, 1 May 2017 14:45:20 +0200
-
-Enable the dwmac-sun8i ethernet driver as a module in the ARM64 defconfig.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm64/configs/defconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index ce07285..4575fbb 100644
---- a/arch/arm64/configs/defconfig
-+++ b/arch/arm64/configs/defconfig
-@@ -193,6 +193,7 @@ CONFIG_RAVB=y
- CONFIG_SMC91X=y
- CONFIG_SMSC911X=y
- CONFIG_STMMAC_ETH=m
-+CONFIG_DWMAC_SUN8I=m
- CONFIG_MDIO_BUS_MUX_MMIOREG=y
- CONFIG_MESON_GXL_PHY=m
- CONFIG_MICREL_PHY=y
-From patchwork Mon Jun 5 19:21:26 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/5] ARM: sun8i: orangepi-plus: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9767313
-Message-Id: <20170605192130.25320-2-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk,
- maxime.ripard@free-electrons.com, wens@csie.org,
- catalin.marinas@arm.com, will.deacon@arm.com
-Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com,
- Corentin Labbe <clabbe.montjoie@gmail.com>,
- linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
-Date: Mon, 5 Jun 2017 21:21:26 +0200
-
-The dwmac-sun8i hardware is present on the Orange PI plus.
-It uses an external PHY rtl8211e via RGMII.
-
-This patch create the needed regulator, emac and phy nodes.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 32 ++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
-index 8c40ab7bfa72..331ed683ac62 100644
---- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
-@@ -47,6 +47,20 @@
- model = "Xunlong Orange Pi Plus / Plus 2";
- compatible = "xunlong,orangepi-plus", "allwinner,sun8i-h3";
-
-+ aliases {
-+ ethernet0 = &emac;
-+ };
-+
-+ reg_gmac_3v3: gmac-3v3 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "gmac-3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ startup-delay-us = <100000>;
-+ enable-active-high;
-+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
-+ };
-+
- reg_usb3_vbus: usb3-vbus {
- compatible = "regulator-fixed";
- pinctrl-names = "default";
-@@ -64,6 +78,24 @@
- status = "okay";
- };
-
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&emac_rgmii_pins>;
-+ phy-supply = <&reg_gmac_3v3>;
-+ phy-handle = <&ext_rgmii_phy>;
-+ phy-mode = "rgmii";
-+
-+ allwinner,leds-active-low;
-+ status = "okay";
-+};
-+
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <0>;
-+ };
-+};
-+
- &mmc2 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc2_8bit_pins>;
-From patchwork Mon Jun 5 19:21:27 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [2/5] ARM: sun8i: bananapi-m2-plus: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9767321
-Message-Id: <20170605192130.25320-3-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk,
- maxime.ripard@free-electrons.com, wens@csie.org,
- catalin.marinas@arm.com, will.deacon@arm.com
-Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com,
- Corentin Labbe <clabbe.montjoie@gmail.com>,
- linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
-Date: Mon, 5 Jun 2017 21:21:27 +0200
-
-The dwmac-sun8i hardware is present on the Banana Pi M2+
-It uses an external PHY rtl8211e via RGMII.
-
-This patch create the needed regulator, emac and phy nodes.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 29 +++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
-index 883072b611fa..d756ff825116 100644
---- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
-@@ -52,6 +52,7 @@
- compatible = "sinovoip,bpi-m2-plus", "allwinner,sun8i-h3";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- serial1 = &uart1;
- };
-@@ -84,6 +85,16 @@
- };
- };
-
-+ reg_gmac_3v3: gmac-3v3 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "gmac-3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ startup-delay-us = <100000>;
-+ enable-active-high;
-+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
-+ };
-+
- wifi_pwrseq: wifi_pwrseq {
- compatible = "mmc-pwrseq-simple";
- pinctrl-names = "default";
-@@ -104,12 +115,30 @@
- status = "okay";
- };
-
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&emac_rgmii_pins>;
-+ phy-supply = <&reg_gmac_3v3>;
-+ phy-handle = <&ext_rgmii_phy>;
-+ phy-mode = "rgmii";
-+
-+ allwinner,leds-active-low;
-+ status = "okay";
-+};
-+
- &ir {
- pinctrl-names = "default";
- pinctrl-0 = <&ir_pins_a>;
- status = "okay";
- };
-
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <0>;
-+ };
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
-From patchwork Mon Jun 5 19:21:28 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [3/5] ARM: sun50i: orangepi-pc2: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9767347
-Message-Id: <20170605192130.25320-4-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk,
- maxime.ripard@free-electrons.com, wens@csie.org,
- catalin.marinas@arm.com, will.deacon@arm.com
-Cc: devicetree@vger.kernel.org, linux-sunxi@googlegroups.com,
- Corentin Labbe <clabbe.montjoie@gmail.com>,
- linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
-Date: Mon, 5 Jun 2017 21:21:28 +0200
-
-The dwmac-sun8i hardware is present on the Orange PI PC2.
-It uses an external PHY rtl8211e via RGMII.
-
-This patch create the needed regulator, emac and phy nodes.
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- .../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 27 ++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
-index dfecc17dcc92..a8296feee884 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
-@@ -59,6 +59,7 @@
- };
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- };
-
-@@ -91,6 +92,16 @@
- };
- };
-
-+ reg_gmac_3v3: gmac-3v3 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "gmac-3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ startup-delay-us = <100000>;
-+ enable-active-high;
-+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
-+ };
-+
- reg_usb0_vbus: usb0-vbus {
- compatible = "regulator-fixed";
- regulator-name = "usb0-vbus";
-@@ -126,12 +137,28 @@
- status = "okay";
- };
-
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&emac_rgmii_pins>;
-+ phy-supply = <&reg_gmac_3v3>;
-+ phy-handle = <&ext_rgmii_phy>;
-+ phy-mode = "rgmii";
-+ status = "okay";
-+};
-+
- &ir {
- pinctrl-names = "default";
- pinctrl-0 = <&ir_pins_a>;
- status = "okay";
- };
-
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ };
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
-From patchwork Wed May 31 07:18:44 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v6,13/21] arm: sun8i: nanopi-neo: Enable dwmac-sun8i
-From: Corentin LABBE <clabbe.montjoie@gmail.com>
-X-Patchwork-Id: 9756089
-Message-Id: <20170531071852.12422-14-clabbe.montjoie@gmail.com>
-To: robh+dt@kernel.org, mark.rutland@arm.com,
- maxime.ripard@free-electrons.com,
- wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com,
- will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com
-Cc: devicetree@vger.kernel.org, netdev@vger.kernel.org,
- linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com,
- Corentin Labbe <clabbe.montjoie@gmail.com>,
- linux-arm-kernel@lists.infradead.org
-Date: Wed, 31 May 2017 09:18:44 +0200
-
-The dwmac-sun8i hardware is present on the NanoPi Neo.
-It uses the internal PHY.
-This patch create the needed emac node.
-
-Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
----
- arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
-index 8d2cc6e9a03f..78f6c24952dd 100644
---- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
-+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
-@@ -46,3 +46,10 @@
- model = "FriendlyARM NanoPi NEO";
- compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3";
- };
-+
-+&emac {
-+ phy-handle = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ status = "okay";
-+};
-From 051516f1c20c7d7c274c91b4c2fa73bc8d7fc372 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sat, 22 Jul 2017 15:08:12 +0100
-Subject: [PATCH] fix mac assignment so we get static not dynamic MACs
-
----
- arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 1 +
- arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
-index 0d1f026d831a..ba2fde2909f9 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
-@@ -51,6 +51,7 @@
- compatible = "sinovoip,bananapi-m64", "allwinner,sun50i-a64";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- serial1 = &uart1;
- };
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-index 3b491c0e3b0d..8442eb6c9244 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-@@ -51,6 +51,7 @@
- compatible = "pine64,pine64", "allwinner,sun50i-a64";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- };
-
---
-2.13.3
-
diff --git a/freed-ora/current/f26/CVE-2017-16538.patch b/freed-ora/current/f26/CVE-2017-16538.patch
deleted file mode 100644
index e9cf4b054..000000000
--- a/freed-ora/current/f26/CVE-2017-16538.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From patchwork Tue Sep 26 21:10:20 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/2] media: dvb-usb-v2: lmedm04: Improve logic checking of warm
- start.
-From: Malcolm Priestley <tvboxspy@gmail.com>
-X-Patchwork-Id: 44566
-Message-Id: <20170926211021.11036-1-tvboxspy@gmail.com>
-To: linux-media@vger.kernel.org
-Cc: Andrey Konovalov <andreyknvl@google.com>,
- Malcolm Priestley <tvboxspy@gmail.com>
-Date: Tue, 26 Sep 2017 22:10:20 +0100
-
-Warm start has no check as whether a genuine device has
-connected and proceeds to next execution path.
-
-Check device should read 0x47 at offset of 2 on USB descriptor read
-and it is the amount requested of 6 bytes.
-
-Fix for
-kasan: CONFIG_KASAN_INLINE enabled
-kasan: GPF could be caused by NULL-ptr deref or user memory access as
-
-Reported-by: Andrey Konovalov <andreyknvl@google.com>
-Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
----
- drivers/media/usb/dvb-usb-v2/lmedm04.c | 26 ++++++++++++++++++--------
- 1 file changed, 18 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c
-index 5e320fa4a795..992f2011a6ba 100644
---- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
-+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
-@@ -494,18 +494,23 @@ static int lme2510_pid_filter(struct dvb_usb_adapter *adap, int index, u16 pid,
-
- static int lme2510_return_status(struct dvb_usb_device *d)
- {
-- int ret = 0;
-+ int ret;
- u8 *data;
-
-- data = kzalloc(10, GFP_KERNEL);
-+ data = kzalloc(6, GFP_KERNEL);
- if (!data)
- return -ENOMEM;
-
-- ret |= usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0),
-- 0x06, 0x80, 0x0302, 0x00, data, 0x0006, 200);
-- info("Firmware Status: %x (%x)", ret , data[2]);
-+ ret = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0),
-+ 0x06, 0x80, 0x0302, 0x00,
-+ data, 0x6, 200);
-+ if (ret != 6)
-+ ret = -EINVAL;
-+ else
-+ ret = data[2];
-+
-+ info("Firmware Status: %6ph", data);
-
-- ret = (ret < 0) ? -ENODEV : data[2];
- kfree(data);
- return ret;
- }
-@@ -1189,6 +1194,7 @@ static int lme2510_get_adapter_count(struct dvb_usb_device *d)
- static int lme2510_identify_state(struct dvb_usb_device *d, const char **name)
- {
- struct lme2510_state *st = d->priv;
-+ int status;
-
- usb_reset_configuration(d->udev);
-
-@@ -1197,12 +1203,16 @@ static int lme2510_identify_state(struct dvb_usb_device *d, const char **name)
-
- st->dvb_usb_lme2510_firmware = dvb_usb_lme2510_firmware;
-
-- if (lme2510_return_status(d) == 0x44) {
-+ status = lme2510_return_status(d);
-+ if (status == 0x44) {
- *name = lme_firmware_switch(d, 0);
- return COLD;
- }
-
-- return 0;
-+ if (status != 0x47)
-+ return -EINVAL;
-+
-+ return WARM;
- }
-
- static int lme2510_get_stream_config(struct dvb_frontend *fe, u8 *ts_type,
-From patchwork Tue Sep 26 21:10:21 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [2/2] media: dvb-usb-v2: lmedm04: move ts2020 attach to
- dm04_lme2510_tuner
-From: Malcolm Priestley <tvboxspy@gmail.com>
-X-Patchwork-Id: 44567
-Message-Id: <20170926211021.11036-2-tvboxspy@gmail.com>
-To: linux-media@vger.kernel.org
-Cc: Andrey Konovalov <andreyknvl@google.com>,
- Malcolm Priestley <tvboxspy@gmail.com>
-Date: Tue, 26 Sep 2017 22:10:21 +0100
-
-When the tuner was split from m88rs2000 the attach function is in wrong
-place.
-
-Move to dm04_lme2510_tuner to trap errors on failure and removing
-a call to lme_coldreset.
-
-Prevents driver starting up without any tuner connected.
-
-Fixes to trap for ts2020 fail.
-LME2510(C): FE Found M88RS2000
-ts2020: probe of 0-0060 failed with error -11
-...
-LME2510(C): TUN Found RS2000 tuner
-kasan: CONFIG_KASAN_INLINE enabled
-kasan: GPF could be caused by NULL-ptr deref or user memory access
-general protection fault: 0000 [#1] PREEMPT SMP KASAN
-
-Reported-by: Andrey Konovalov <andreyknvl@google.com>
-Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
-Tested-by: Andrey Konovalov <andreyknvl@google.com>
----
- drivers/media/usb/dvb-usb-v2/lmedm04.c | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c
-index 992f2011a6ba..be26c029546b 100644
---- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
-+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
-@@ -1076,8 +1076,6 @@ static int dm04_lme2510_frontend_attach(struct dvb_usb_adapter *adap)
-
- if (adap->fe[0]) {
- info("FE Found M88RS2000");
-- dvb_attach(ts2020_attach, adap->fe[0], &ts2020_config,
-- &d->i2c_adap);
- st->i2c_tuner_gate_w = 5;
- st->i2c_tuner_gate_r = 5;
- st->i2c_tuner_addr = 0x60;
-@@ -1143,17 +1141,18 @@ static int dm04_lme2510_tuner(struct dvb_usb_adapter *adap)
- ret = st->tuner_config;
- break;
- case TUNER_RS2000:
-- ret = st->tuner_config;
-+ if (dvb_attach(ts2020_attach, adap->fe[0],
-+ &ts2020_config, &d->i2c_adap))
-+ ret = st->tuner_config;
- break;
- default:
- break;
- }
-
-- if (ret)
-+ if (ret) {
- info("TUN Found %s tuner", tun_msg[ret]);
-- else {
-- info("TUN No tuner found --- resetting device");
-- lme_coldreset(d);
-+ } else {
-+ info("TUN No tuner found");
- return -ENODEV;
- }
-
diff --git a/freed-ora/current/f26/CVE-2017-7477.patch b/freed-ora/current/f26/CVE-2017-7477.patch
deleted file mode 100644
index 6405614cc..000000000
--- a/freed-ora/current/f26/CVE-2017-7477.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 4d6fa57b4dab0d77f4d8e9d9c73d1e63f6fe8fee Mon Sep 17 00:00:00 2001
-From: "Jason A. Donenfeld" <Jason@zx2c4.com>
-Date: Fri, 21 Apr 2017 23:14:48 +0200
-Subject: macsec: avoid heap overflow in skb_to_sgvec
-
-While this may appear as a humdrum one line change, it's actually quite
-important. An sk_buff stores data in three places:
-
-1. A linear chunk of allocated memory in skb->data. This is the easiest
- one to work with, but it precludes using scatterdata since the memory
- must be linear.
-2. The array skb_shinfo(skb)->frags, which is of maximum length
- MAX_SKB_FRAGS. This is nice for scattergather, since these fragments
- can point to different pages.
-3. skb_shinfo(skb)->frag_list, which is a pointer to another sk_buff,
- which in turn can have data in either (1) or (2).
-
-The first two are rather easy to deal with, since they're of a fixed
-maximum length, while the third one is not, since there can be
-potentially limitless chains of fragments. Fortunately dealing with
-frag_list is opt-in for drivers, so drivers don't actually have to deal
-with this mess. For whatever reason, macsec decided it wanted pain, and
-so it explicitly specified NETIF_F_FRAGLIST.
-
-Because dealing with (1), (2), and (3) is insane, most users of sk_buff
-doing any sort of crypto or paging operation calls a convenient function
-called skb_to_sgvec (which happens to be recursive if (3) is in use!).
-This takes a sk_buff as input, and writes into its output pointer an
-array of scattergather list items. Sometimes people like to declare a
-fixed size scattergather list on the stack; othertimes people like to
-allocate a fixed size scattergather list on the heap. However, if you're
-doing it in a fixed-size fashion, you really shouldn't be using
-NETIF_F_FRAGLIST too (unless you're also ensuring the sk_buff and its
-frag_list children arent't shared and then you check the number of
-fragments in total required.)
-
-Macsec specifically does this:
-
- size += sizeof(struct scatterlist) * (MAX_SKB_FRAGS + 1);
- tmp = kmalloc(size, GFP_ATOMIC);
- *sg = (struct scatterlist *)(tmp + sg_offset);
- ...
- sg_init_table(sg, MAX_SKB_FRAGS + 1);
- skb_to_sgvec(skb, sg, 0, skb->len);
-
-Specifying MAX_SKB_FRAGS + 1 is the right answer usually, but not if you're
-using NETIF_F_FRAGLIST, in which case the call to skb_to_sgvec will
-overflow the heap, and disaster ensues.
-
-Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-Cc: stable@vger.kernel.org
-Cc: security@kernel.org
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/macsec.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
-index ff0a5ed..dbab05a 100644
---- a/drivers/net/macsec.c
-+++ b/drivers/net/macsec.c
-@@ -2716,7 +2716,7 @@ static netdev_tx_t macsec_start_xmit(struct sk_buff *skb,
- }
-
- #define MACSEC_FEATURES \
-- (NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST)
-+ (NETIF_F_SG | NETIF_F_HIGHDMA)
- static struct lock_class_key macsec_netdev_addr_lock_key;
-
- static int macsec_dev_init(struct net_device *dev)
---
-cgit v1.1
-
diff --git a/freed-ora/current/f26/CVE-2017-7645.patch b/freed-ora/current/f26/CVE-2017-7645.patch
new file mode 100644
index 000000000..0be019cc3
--- /dev/null
+++ b/freed-ora/current/f26/CVE-2017-7645.patch
@@ -0,0 +1,180 @@
+From: "J. Bruce Fields" <bfields@redhat.com>
+Date: 2017-04-14 15:04:40
+Subject: [PATCH] nfsd: check for oversized NFSv2/v3 arguments
+
+A client can append random data to the end of an NFSv2 or NFSv3 RPC call
+without our complaining; we'll just stop parsing at the end of the
+expected data and ignore the rest.
+
+Encoded arguments and replies are stored together in an array of pages,
+and if a call is too large it could leave inadequate space for the
+reply. This is normally OK because NFS RPC's typically have either
+short arguments and long replies (like READ) or long arguments and short
+replies (like WRITE). But a client that sends an incorrectly long reply
+can violate those assumptions. This was observed to cause crashes.
+
+So, insist that the argument not be any longer than we expect.
+
+Also, several operations increment rq_next_page in the decode routine
+before checking the argument size, which can leave rq_next_page pointing
+well past the end of the page array, causing trouble later in
+svc_free_pages.
+
+As followup we may also want to rewrite the encoding routines to check
+more carefully that they aren't running off the end of the page array.
+
+Reported-by: Tuomas Haanpää <thaan@synopsys.com>
+Reported-by: Ari Kauppi <ari@synopsys.com>
+Cc: stable@vger.kernel.org
+Signed-off-by: J. Bruce Fields <bfields@redhat.com>
+---
+ fs/nfsd/nfs3xdr.c | 23 +++++++++++++++++------
+ fs/nfsd/nfsxdr.c | 13 ++++++++++---
+ include/linux/sunrpc/svc.h | 3 +--
+ 3 files changed, 28 insertions(+), 11 deletions(-)
+
+diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c
+index dba2ff8eaa68..be66bcadfaea 100644
+--- a/fs/nfsd/nfs3xdr.c
++++ b/fs/nfsd/nfs3xdr.c
+@@ -334,8 +334,11 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ if (!p)
+ return 0;
+ p = xdr_decode_hyper(p, &args->offset);
+-
+ args->count = ntohl(*p++);
++
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ len = min(args->count, max_blocksize);
+
+ /* set up the kvec */
+@@ -349,7 +352,7 @@ nfs3svc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ v++;
+ }
+ args->vlen = v;
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -536,9 +539,11 @@ nfs3svc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p,
+ p = decode_fh(p, &args->fh);
+ if (!p)
+ return 0;
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -564,10 +569,14 @@ nfs3svc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p,
+ args->verf = p; p += 2;
+ args->dircount = ~0;
+ args->count = ntohl(*p++);
++
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ args->count = min_t(u32, args->count, PAGE_SIZE);
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -585,6 +594,9 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p,
+ args->dircount = ntohl(*p++);
+ args->count = ntohl(*p++);
+
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ len = args->count = min(args->count, max_blocksize);
+ while (len > 0) {
+ struct page *p = *(rqstp->rq_next_page++);
+@@ -592,8 +604,7 @@ nfs3svc_decode_readdirplusargs(struct svc_rqst *rqstp, __be32 *p,
+ args->buffer = page_address(p);
+ len -= PAGE_SIZE;
+ }
+-
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c
+index 41b468a6a90f..79268369f7b3 100644
+--- a/fs/nfsd/nfsxdr.c
++++ b/fs/nfsd/nfsxdr.c
+@@ -257,6 +257,9 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ len = args->count = ntohl(*p++);
+ p++; /* totalcount - unused */
+
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
++
+ len = min_t(unsigned int, len, NFSSVC_MAXBLKSIZE_V2);
+
+ /* set up somewhere to store response.
+@@ -272,7 +275,7 @@ nfssvc_decode_readargs(struct svc_rqst *rqstp, __be32 *p,
+ v++;
+ }
+ args->vlen = v;
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -360,9 +363,11 @@ nfssvc_decode_readlinkargs(struct svc_rqst *rqstp, __be32 *p, struct nfsd_readli
+ p = decode_fh(p, &args->fh);
+ if (!p)
+ return 0;
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ int
+@@ -400,9 +405,11 @@ nfssvc_decode_readdirargs(struct svc_rqst *rqstp, __be32 *p,
+ args->cookie = ntohl(*p++);
+ args->count = ntohl(*p++);
+ args->count = min_t(u32, args->count, PAGE_SIZE);
++ if (!xdr_argsize_check(rqstp, p))
++ return 0;
+ args->buffer = page_address(*(rqstp->rq_next_page++));
+
+- return xdr_argsize_check(rqstp, p);
++ return 1;
+ }
+
+ /*
+diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h
+index e770abeed32d..6ef19cf658b4 100644
+--- a/include/linux/sunrpc/svc.h
++++ b/include/linux/sunrpc/svc.h
+@@ -336,8 +336,7 @@ xdr_argsize_check(struct svc_rqst *rqstp, __be32 *p)
+ {
+ char *cp = (char *)p;
+ struct kvec *vec = &rqstp->rq_arg.head[0];
+- return cp >= (char*)vec->iov_base
+- && cp <= (char*)vec->iov_base + vec->iov_len;
++ return cp == (char *)vec->iov_base + vec->iov_len;
+ }
+
+ static inline int
+--
+2.9.3
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/freed-ora/current/f26/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch b/freed-ora/current/f26/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch
deleted file mode 100644
index d6a8e6a52..000000000
--- a/freed-ora/current/f26/HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From ef14a4bf0910d06c7e202552914028d4956809cb Mon Sep 17 00:00:00 2001
-From: Andrew Duggan <aduggan@synaptics.com>
-Date: Tue, 17 Oct 2017 18:37:36 -0700
-Subject: [PATCH] HID: rmi: Check that a device is a RMI device before calling
- RMI functions
-
-The hid-rmi driver may handle non rmi devices on composite USB devices.
-Callbacks need to make sure that the current device is a RMI device before
-calling RMI specific functions. Most callbacks already have this check, but
-this patch adds checks to the remaining callbacks.
-
-Reported-by: Hendrik Langer <hendrik.langer@gmx.de>
-Tested-by: Hendrik Langer <hendrik.langer@gmx.de>
-Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
-Signed-off-by: Jiri Kosina <jkosina@suse.cz>
----
- drivers/hid/hid-rmi.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
-index ef241d66562e..0f43c4292685 100644
---- a/drivers/hid/hid-rmi.c
-+++ b/drivers/hid/hid-rmi.c
-@@ -368,6 +368,11 @@ static int rmi_check_sanity(struct hid_device *hdev, u8 *data, int size)
- static int rmi_raw_event(struct hid_device *hdev,
- struct hid_report *report, u8 *data, int size)
- {
-+ struct rmi_data *hdata = hid_get_drvdata(hdev);
-+
-+ if (!(hdata->device_flags & RMI_DEVICE))
-+ return 0;
-+
- size = rmi_check_sanity(hdev, data, size);
- if (size < 2)
- return 0;
-@@ -713,9 +718,11 @@ static void rmi_remove(struct hid_device *hdev)
- {
- struct rmi_data *hdata = hid_get_drvdata(hdev);
-
-- clear_bit(RMI_STARTED, &hdata->flags);
-- cancel_work_sync(&hdata->reset_work);
-- rmi_unregister_transport_device(&hdata->xport);
-+ if (hdata->device_flags & RMI_DEVICE) {
-+ clear_bit(RMI_STARTED, &hdata->flags);
-+ cancel_work_sync(&hdata->reset_work);
-+ rmi_unregister_transport_device(&hdata->xport);
-+ }
-
- hid_hw_stop(hdev);
- }
---
-2.14.3
-
diff --git a/freed-ora/current/f26/Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch b/freed-ora/current/f26/Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch
deleted file mode 100644
index 81e858fd0..000000000
--- a/freed-ora/current/f26/Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From patchwork Thu Sep 28 20:07:19 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-Subject: Input: synaptics - Disable kernel tracking on SMBus devices
-From: Andrew Duggan <aduggan@synaptics.com>
-X-Patchwork-Id: 9976729
-Message-Id: <1506629239-5940-1-git-send-email-aduggan@synaptics.com>
-To: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
-Cc: Andrew Duggan <aduggan@synaptics.com>,
- Dmitry Torokhov <dmitry.torokhov@gmail.com>,
- Benjamin Tissoires <benjamin.tissoires@redhat.com>,
- =?UTF-8?q?Kamil=20P=C3=A1ral?= <kparal@redhat.com>
-Date: Thu, 28 Sep 2017 13:07:19 -0700
-
-In certain situations kernel tracking seems to be getting confused
-and incorrectly reporting the slot of a contact. On example is when
-the user does a three finger click or tap and then places two fingers
-on the touchpad in the same area. The kernel tracking code seems to
-continue to think that there are three contacts on the touchpad and
-incorrectly alternates the slot of one of the contacts. The result that
-is the input subsystem reports a stream of button press and release
-events as the reported slot changes.
-
-Kernel tracking was originally enabled to prevent cursor jumps, but it
-is unclear how much of an issue kernel jumps actually are. This patch
-simply disabled kernel tracking for now.
-
-Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1482640
-
-Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
-Tested-by: Kamil Páral <kparal@redhat.com>
-Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
----
- drivers/input/mouse/synaptics.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
-index 5af0b7d..ee5466a 100644
---- a/drivers/input/mouse/synaptics.c
-+++ b/drivers/input/mouse/synaptics.c
-@@ -1709,8 +1709,7 @@ static int synaptics_create_intertouch(struct psmouse *psmouse,
- .sensor_pdata = {
- .sensor_type = rmi_sensor_touchpad,
- .axis_align.flip_y = true,
-- /* to prevent cursors jumps: */
-- .kernel_tracking = true,
-+ .kernel_tracking = false,
- .topbuttonpad = topbuttonpad,
- },
- .f30_data = {
diff --git a/freed-ora/current/f26/KEYS-Add-a-system-blacklist-keyring.patch b/freed-ora/current/f26/KEYS-Add-a-system-blacklist-keyring.patch
deleted file mode 100644
index 262c960b8..000000000
--- a/freed-ora/current/f26/KEYS-Add-a-system-blacklist-keyring.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 2a54526850121cd0d7cf649a321488b4dab5731d Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Fri, 26 Oct 2012 12:36:24 -0400
-Subject: [PATCH 17/20] KEYS: Add a system blacklist keyring
-
-This adds an additional keyring that is used to store certificates that
-are blacklisted. This keyring is searched first when loading signed modules
-and if the module's certificate is found, it will refuse to load. This is
-useful in cases where third party certificates are used for module signing.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
----
- certs/system_keyring.c | 22 ++++++++++++++++++++++
- include/keys/system_keyring.h | 4 ++++
- init/Kconfig | 9 +++++++++
- 3 files changed, 35 insertions(+)
-
-diff --git a/certs/system_keyring.c b/certs/system_keyring.c
-index 50979d6dcecd..787eeead2f57 100644
---- a/certs/system_keyring.c
-+++ b/certs/system_keyring.c
-@@ -22,6 +22,9 @@ static struct key *builtin_trusted_keys;
- #ifdef CONFIG_SECONDARY_TRUSTED_KEYRING
- static struct key *secondary_trusted_keys;
- #endif
-+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
-+struct key *system_blacklist_keyring;
-+#endif
-
- extern __initconst const u8 system_certificate_list[];
- extern __initconst const unsigned long system_certificate_list_size;
-@@ -99,6 +102,16 @@ static __init int system_trusted_keyring_init(void)
- if (key_link(secondary_trusted_keys, builtin_trusted_keys) < 0)
- panic("Can't link trusted keyrings\n");
- #endif
-+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
-+ system_blacklist_keyring = keyring_alloc(".system_blacklist_keyring",
-+ KUIDT_INIT(0), KGIDT_INIT(0), current_cred(),
-+ ((KEY_POS_ALL & ~KEY_POS_SETATTR) |
-+ KEY_USR_VIEW | KEY_USR_READ | KEY_USR_SEARCH),
-+ KEY_ALLOC_NOT_IN_QUOTA,
-+ NULL, NULL);
-+ if (IS_ERR(system_blacklist_keyring))
-+ panic("Can't allocate system blacklist keyring\n");
-+#endif
-
- return 0;
- }
-@@ -214,6 +227,15 @@ int verify_pkcs7_signature(const void *data, size_t len,
- trusted_keys = builtin_trusted_keys;
- #endif
- }
-+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
-+ ret = pkcs7_validate_trust(pkcs7, system_blacklist_keyring);
-+ if (!ret) {
-+ /* module is signed with a cert in the blacklist. reject */
-+ pr_err("Module key is in the blacklist\n");
-+ ret = -EKEYREJECTED;
-+ goto error;
-+ }
-+#endif
- ret = pkcs7_validate_trust(pkcs7, trusted_keys);
- if (ret < 0) {
- if (ret == -ENOKEY)
-diff --git a/include/keys/system_keyring.h b/include/keys/system_keyring.h
-index fbd4647767e9..5bc291a3d261 100644
---- a/include/keys/system_keyring.h
-+++ b/include/keys/system_keyring.h
-@@ -33,6 +33,10 @@ extern int restrict_link_by_builtin_and_secondary_trusted(
- #define restrict_link_by_builtin_and_secondary_trusted restrict_link_by_builtin_trusted
- #endif
-
-+#ifdef CONFIG_SYSTEM_BLACKLIST_KEYRING
-+extern struct key *system_blacklist_keyring;
-+#endif
-+
- #ifdef CONFIG_IMA_BLACKLIST_KEYRING
- extern struct key *ima_blacklist_keyring;
-
-diff --git a/init/Kconfig b/init/Kconfig
-index 34407f15e6d3..461ad575a608 100644
---- a/init/Kconfig
-+++ b/init/Kconfig
-@@ -1859,6 +1859,15 @@ config SYSTEM_DATA_VERIFICATION
- module verification, kexec image verification and firmware blob
- verification.
-
-+config SYSTEM_BLACKLIST_KEYRING
-+ bool "Provide system-wide ring of blacklisted keys"
-+ depends on KEYS
-+ help
-+ Provide a system keyring to which blacklisted keys can be added.
-+ Keys in the keyring are considered entirely untrusted. Keys in this
-+ keyring are used by the module signature checking to reject loading
-+ of modules signed with a blacklisted key.
-+
- config PROFILING
- bool "Profiling support"
- help
---
-2.9.3
-
diff --git a/freed-ora/current/f26/PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch b/freed-ora/current/f26/PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch
new file mode 100644
index 000000000..03b011561
--- /dev/null
+++ b/freed-ora/current/f26/PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch
@@ -0,0 +1,55 @@
+From patchwork Mon Oct 2 14:08:40 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: PCI: aspm: deal with missing root ports in link state handling
+From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+X-Patchwork-Id: 9980861
+Message-Id: <20171002140840.7767-1-ard.biesheuvel@linaro.org>
+To: linux-pci@vger.kernel.org, bhelgaas@google.com
+Cc: graeme.gregory@linaro.org, leif.lindholm@linaro.org,
+ daniel.thompson@Linaro.org, Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Date: Mon, 2 Oct 2017 15:08:40 +0100
+
+Even though it is unconventional, some PCIe host implementations omit
+the root ports entirely, and simply consist of a host bridge (which
+is not modeled as a device in the PCI hierarchy) and a link.
+
+When the downstream device is an endpoint, our current code does not
+seem to mind this unusual configuration. However, when PCIe switches
+are involved, the ASPM code assumes that any downstream switch port
+has a parent, and blindly derefences the bus->parent->self field of
+the pci_dev struct to chain the downstream link state to the link
+state of the root port. Given that the root port is missing, the link
+is not modeled at all, and nor is the link state, and attempting to
+access it results in a NULL pointer dereference and a crash.
+
+So let's avoid this by allowing the link state chain to terminate at
+the downstream port if no root port exists.
+
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+---
+ drivers/pci/pcie/aspm.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
+index 1dfa10cc566b..0bea8498b5a5 100644
+--- a/drivers/pci/pcie/aspm.c
++++ b/drivers/pci/pcie/aspm.c
+@@ -802,10 +802,14 @@ static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev)
+
+ /*
+ * Root Ports and PCI/PCI-X to PCIe Bridges are roots of PCIe
+- * hierarchies.
++ * hierarchies. Note that some PCIe host implementations omit
++ * the root ports entirely, in which case a downstream port on
++ * a switch may become the root of the link state chain for all
++ * its subordinate endpoints.
+ */
+ if (pci_pcie_type(pdev) == PCI_EXP_TYPE_ROOT_PORT ||
+- pci_pcie_type(pdev) == PCI_EXP_TYPE_PCIE_BRIDGE) {
++ pci_pcie_type(pdev) == PCI_EXP_TYPE_PCIE_BRIDGE ||
++ !pdev->bus->parent->self) {
+ link->root = link;
+ } else {
+ struct pcie_link_state *parent;
diff --git a/freed-ora/current/f26/RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch b/freed-ora/current/f26/RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch
deleted file mode 100644
index d79fd256f..000000000
--- a/freed-ora/current/f26/RFC-audit-fix-a-race-condition-with-the-auditd-tracking-code.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From patchwork Thu Jun 15 15:28:58 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [RFC] audit: fix a race condition with the auditd tracking code
-From: Paul Moore <pmoore@redhat.com>
-X-Patchwork-Id: 9789009
-Message-Id: <149754053819.11365.5047864735077505545.stgit@sifl>
-To: linux-audit@redhat.com
-Cc: Dusty Mabe <dustymabe@redhat.com>
-Date: Thu, 15 Jun 2017 11:28:58 -0400
-
-From: Paul Moore <paul@paul-moore.com>
-
-Originally reported by Adam and Dusty, it appears we have a small
-race window in kauditd_thread(), as documented in the Fedora BZ:
-
- * https://bugzilla.redhat.com/show_bug.cgi?id=1459326#c35
-
- "This issue is partly due to the read-copy nature of RCU, and
- partly due to how we sync the auditd_connection state across
- kauditd_thread and the audit control channel. The kauditd_thread
- thread is always running so it can service the record queues and
- emit the multicast messages, if it happens to be just past the
- "main_queue" label, but before the "if (sk == NULL || ...)"
- if-statement which calls auditd_reset() when the new auditd
- connection is registered it could end up resetting the auditd
- connection, regardless of if it is valid or not. This is a rather
- small window and the variable nature of multi-core scheduling
- explains why this is proving rather difficult to reproduce."
-
-The fix is to have functions only call auditd_reset() when they
-believe that the kernel/auditd connection is still valid, e.g.
-non-NULL, and to have these callers pass their local copy of the
-auditd_connection pointer to auditd_reset() where it can be compared
-with the current connection state before resetting. If the caller
-has a stale state tracking pointer then the reset is ignored.
-
-We also make a small change to kauditd_thread() so that if the
-kernel/auditd connection is dead we skip the retry queue and send the
-records straight to the hold queue. This is necessary as we used to
-rely on auditd_reset() to occasionally purge the retry queue but we
-are going to be calling the reset function much less now and we want
-to make sure the retry queue doesn't grow unbounded.
-
-Reported-by: Adam Williamson <awilliam@redhat.com>
-Reported-by: Dusty Mabe <dustymabe@redhat.com>
-Signed-off-by: Paul Moore <paul@paul-moore.com>
-Reviewed-by: Richard Guy Briggs <rgb@redhat.com>
----
- kernel/audit.c | 36 +++++++++++++++++++++++-------------
- 1 file changed, 23 insertions(+), 13 deletions(-)
-
-
---
-Linux-audit mailing list
-Linux-audit@redhat.com
-https://www.redhat.com/mailman/listinfo/linux-audit
-
-diff --git a/kernel/audit.c b/kernel/audit.c
-index b2e877100242..e1e2b3abfb93 100644
---- a/kernel/audit.c
-+++ b/kernel/audit.c
-@@ -575,12 +575,16 @@ static void kauditd_retry_skb(struct sk_buff *skb)
-
- /**
- * auditd_reset - Disconnect the auditd connection
-+ * @ac: auditd connection state
- *
- * Description:
- * Break the auditd/kauditd connection and move all the queued records into the
-- * hold queue in case auditd reconnects.
-+ * hold queue in case auditd reconnects. It is important to note that the @ac
-+ * pointer should never be dereferenced inside this function as it may be NULL
-+ * or invalid, you can only compare the memory address! If @ac is NULL then
-+ * the connection will always be reset.
- */
--static void auditd_reset(void)
-+static void auditd_reset(const struct auditd_connection *ac)
- {
- unsigned long flags;
- struct sk_buff *skb;
-@@ -590,6 +594,11 @@ static void auditd_reset(void)
- spin_lock_irqsave(&auditd_conn_lock, flags);
- ac_old = rcu_dereference_protected(auditd_conn,
- lockdep_is_held(&auditd_conn_lock));
-+ if (ac && ac != ac_old) {
-+ /* someone already registered a new auditd connection */
-+ spin_unlock_irqrestore(&auditd_conn_lock, flags);
-+ return;
-+ }
- rcu_assign_pointer(auditd_conn, NULL);
- spin_unlock_irqrestore(&auditd_conn_lock, flags);
-
-@@ -649,8 +658,8 @@ static int auditd_send_unicast_skb(struct sk_buff *skb)
- return rc;
-
- err:
-- if (rc == -ECONNREFUSED)
-- auditd_reset();
-+ if (ac && rc == -ECONNREFUSED)
-+ auditd_reset(ac);
- return rc;
- }
-
-@@ -795,9 +804,9 @@ static int kauditd_thread(void *dummy)
- rc = kauditd_send_queue(sk, portid,
- &audit_hold_queue, UNICAST_RETRIES,
- NULL, kauditd_rehold_skb);
-- if (rc < 0) {
-+ if (ac && rc < 0) {
- sk = NULL;
-- auditd_reset();
-+ auditd_reset(ac);
- goto main_queue;
- }
-
-@@ -805,9 +814,9 @@ static int kauditd_thread(void *dummy)
- rc = kauditd_send_queue(sk, portid,
- &audit_retry_queue, UNICAST_RETRIES,
- NULL, kauditd_hold_skb);
-- if (rc < 0) {
-+ if (ac && rc < 0) {
- sk = NULL;
-- auditd_reset();
-+ auditd_reset(ac);
- goto main_queue;
- }
-
-@@ -815,12 +824,13 @@ static int kauditd_thread(void *dummy)
- /* process the main queue - do the multicast send and attempt
- * unicast, dump failed record sends to the retry queue; if
- * sk == NULL due to previous failures we will just do the
-- * multicast send and move the record to the retry queue */
-+ * multicast send and move the record to the hold queue */
- rc = kauditd_send_queue(sk, portid, &audit_queue, 1,
- kauditd_send_multicast_skb,
-- kauditd_retry_skb);
-- if (sk == NULL || rc < 0)
-- auditd_reset();
-+ (sk ?
-+ kauditd_retry_skb : kauditd_hold_skb));
-+ if (ac && rc < 0)
-+ auditd_reset(ac);
- sk = NULL;
-
- /* drop our netns reference, no auditd sends past this line */
-@@ -1230,7 +1240,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
- auditd_pid, 1);
-
- /* unregister the auditd connection */
-- auditd_reset();
-+ auditd_reset(NULL);
- }
- }
- if (s.mask & AUDIT_STATUS_RATE_LIMIT) {
diff --git a/freed-ora/current/f26/USB-ulpi-fix-bus-node-lookup.patch b/freed-ora/current/f26/USB-ulpi-fix-bus-node-lookup.patch
new file mode 100644
index 000000000..835cf2ab6
--- /dev/null
+++ b/freed-ora/current/f26/USB-ulpi-fix-bus-node-lookup.patch
@@ -0,0 +1,48 @@
+From patchwork Sat Nov 11 15:31:18 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: USB: ulpi: fix bus-node lookup
+From: Johan Hovold <johan@kernel.org>
+X-Patchwork-Id: 10054387
+Message-Id: <20171111153118.16038-1-johan@kernel.org>
+To: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
+ linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
+ linux-arm-msm@vger.kernel.org, Rob Clark <robdclark@gmail.com>,
+ Peter Robinson <pbrobinson@gmail.com>, Johan Hovold <johan@kernel.org>,
+ stable <stable@vger.kernel.org>
+Date: Sat, 11 Nov 2017 16:31:18 +0100
+
+Fix bus-node lookup during registration, which ended up searching the whole
+device tree depth-first starting at the parent (or grand parent) rather
+than just matching on its children.
+
+To make things worse, the parent (or grand-parent) node could end being
+prematurely freed as well.
+
+Fixes: ef6a7bcfb01c ("usb: ulpi: Support device discovery via DT")
+Reported-by: Peter Robinson <pbrobinson@gmail.com>
+Reported-by: Stephen Boyd <sboyd@codeaurora.org>
+Cc: stable <stable@vger.kernel.org> # 4.10
+Signed-off-by: Johan Hovold <johan@kernel.org>
+---
+ drivers/usb/common/ulpi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/usb/common/ulpi.c b/drivers/usb/common/ulpi.c
+index 8b351444cc40..9a2ab6751a23 100644
+--- a/drivers/usb/common/ulpi.c
++++ b/drivers/usb/common/ulpi.c
+@@ -180,9 +180,9 @@ static int ulpi_of_register(struct ulpi *ulpi)
+ /* Find a ulpi bus underneath the parent or the grandparent */
+ parent = ulpi->dev.parent;
+ if (parent->of_node)
+- np = of_find_node_by_name(parent->of_node, "ulpi");
++ np = of_get_child_by_name(parent->of_node, "ulpi");
+ else if (parent->parent && parent->parent->of_node)
+- np = of_find_node_by_name(parent->parent->of_node, "ulpi");
++ np = of_get_child_by_name(parent->parent->of_node, "ulpi");
+ if (!np)
+ return 0;
+
diff --git a/freed-ora/current/f26/V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch b/freed-ora/current/f26/V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch
deleted file mode 100644
index 60cbe6c38..000000000
--- a/freed-ora/current/f26/V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From patchwork Fri Jun 23 09:36:37 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-Subject: [V4] acpi: acpica: fix acpi parse and parseext cache leaks
-From: Seunghun Han <kkamagui@gmail.com>
-X-Patchwork-Id: 9806085
-Message-Id: <1498210597-112293-1-git-send-email-kkamagui@gmail.com>
-To: lv.zheng@intel.com
-Cc: robert.moore@intel.com, rafael.j.wysocki@intel.com,
- linux-acpi@vger.kernel.org, devel@acpica.org,
- linux-kernel@vger.kernel.org, Seunghun Han <kkamagui@gmail.com>
-Date: Fri, 23 Jun 2017 18:36:37 +0900
-
-I'm Seunghun Han, and I work for National Security Research Institute of
-South Korea.
-
-I have been doing a research on ACPI and found an ACPI cache leak in ACPI
-early abort cases.
-
-Boot log of ACPI cache leak is as follows:
-[ 0.352414] ACPI: Added _OSI(Module Device)
-[ 0.353182] ACPI: Added _OSI(Processor Device)
-[ 0.353182] ACPI: Added _OSI(3.0 _SCP Extensions)
-[ 0.353182] ACPI: Added _OSI(Processor Aggregator Device)
-[ 0.356028] ACPI: Unable to start the ACPI Interpreter
-[ 0.356799] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
-[ 0.360215] kmem_cache_destroy Acpi-State: Slab cache still has objects
-[ 0.360648] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W
-4.12.0-rc4-next-20170608+ #10
-[ 0.361273] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
-VirtualBox 12/01/2006
-[ 0.361873] Call Trace:
-[ 0.362243] ? dump_stack+0x5c/0x81
-[ 0.362591] ? kmem_cache_destroy+0x1aa/0x1c0
-[ 0.362944] ? acpi_sleep_proc_init+0x27/0x27
-[ 0.363296] ? acpi_os_delete_cache+0xa/0x10
-[ 0.363646] ? acpi_ut_delete_caches+0x6d/0x7b
-[ 0.364000] ? acpi_terminate+0xa/0x14
-[ 0.364000] ? acpi_init+0x2af/0x34f
-[ 0.364000] ? __class_create+0x4c/0x80
-[ 0.364000] ? video_setup+0x7f/0x7f
-[ 0.364000] ? acpi_sleep_proc_init+0x27/0x27
-[ 0.364000] ? do_one_initcall+0x4e/0x1a0
-[ 0.364000] ? kernel_init_freeable+0x189/0x20a
-[ 0.364000] ? rest_init+0xc0/0xc0
-[ 0.364000] ? kernel_init+0xa/0x100
-[ 0.364000] ? ret_from_fork+0x25/0x30
-
-I analyzed this memory leak in detail. I found that “Acpi-State” cache and
-“Acpi-Parse” cache were merged because the size of cache objects was same
-slab cache size.
-
-I finally found “Acpi-Parse” cache and “Acpi-ParseExt” cache were leaked
-using SLAB_NEVER_MERGE flag in kmem_cache_create() function.
-
-Real ACPI cache leak point is as follows:
-[ 0.360101] ACPI: Added _OSI(Module Device)
-[ 0.360101] ACPI: Added _OSI(Processor Device)
-[ 0.360101] ACPI: Added _OSI(3.0 _SCP Extensions)
-[ 0.361043] ACPI: Added _OSI(Processor Aggregator Device)
-[ 0.364016] ACPI: Unable to start the ACPI Interpreter
-[ 0.365061] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
-[ 0.368174] kmem_cache_destroy Acpi-Parse: Slab cache still has objects
-[ 0.369332] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W
-4.12.0-rc4-next-20170608+ #8
-[ 0.371256] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
-VirtualBox 12/01/2006
-[ 0.372000] Call Trace:
-[ 0.372000] ? dump_stack+0x5c/0x81
-[ 0.372000] ? kmem_cache_destroy+0x1aa/0x1c0
-[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27
-[ 0.372000] ? acpi_os_delete_cache+0xa/0x10
-[ 0.372000] ? acpi_ut_delete_caches+0x56/0x7b
-[ 0.372000] ? acpi_terminate+0xa/0x14
-[ 0.372000] ? acpi_init+0x2af/0x34f
-[ 0.372000] ? __class_create+0x4c/0x80
-[ 0.372000] ? video_setup+0x7f/0x7f
-[ 0.372000] ? acpi_sleep_proc_init+0x27/0x27
-[ 0.372000] ? do_one_initcall+0x4e/0x1a0
-[ 0.372000] ? kernel_init_freeable+0x189/0x20a
-[ 0.372000] ? rest_init+0xc0/0xc0
-[ 0.372000] ? kernel_init+0xa/0x100
-[ 0.372000] ? ret_from_fork+0x25/0x30
-[ 0.388039] kmem_cache_destroy Acpi-ParseExt: Slab cache still has objects
-[ 0.389063] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W
-4.12.0-rc4-next-20170608+ #8
-[ 0.390557] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
-VirtualBox 12/01/2006
-[ 0.392000] Call Trace:
-[ 0.392000] ? dump_stack+0x5c/0x81
-[ 0.392000] ? kmem_cache_destroy+0x1aa/0x1c0
-[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27
-[ 0.392000] ? acpi_os_delete_cache+0xa/0x10
-[ 0.392000] ? acpi_ut_delete_caches+0x6d/0x7b
-[ 0.392000] ? acpi_terminate+0xa/0x14
-[ 0.392000] ? acpi_init+0x2af/0x34f
-[ 0.392000] ? __class_create+0x4c/0x80
-[ 0.392000] ? video_setup+0x7f/0x7f
-[ 0.392000] ? acpi_sleep_proc_init+0x27/0x27
-[ 0.392000] ? do_one_initcall+0x4e/0x1a0
-[ 0.392000] ? kernel_init_freeable+0x189/0x20a
-[ 0.392000] ? rest_init+0xc0/0xc0
-[ 0.392000] ? kernel_init+0xa/0x100
-[ 0.392000] ? ret_from_fork+0x25/0x30
-
-When early abort is occurred due to invalid ACPI information, Linux kernel
-terminates ACPI by calling acpi_terminate() function. The function calls
-acpi_ut_delete_caches() function to delete local caches (acpi_gbl_namespace_
-cache, state_cache, operand_cache, ps_node_cache, ps_node_ext_cache).
-
-But the deletion codes in acpi_ut_delete_caches() function only delete
-slab caches using kmem_cache_destroy() function, therefore the cache
-objects should be flushed before acpi_ut_delete_caches() function.
-
-“Acpi-Parse” cache and “Acpi-ParseExt” cache are used in an AML parse
-function, acpi_ps_parse_loop(). The function should have flush codes to
-handle an error state due to invalid AML codes.
-
-This cache leak has a security threat because an old kernel (<= 4.9) shows
-memory locations of kernel functions in stack dump. Some malicious users
-could use this information to neutralize kernel ASLR.
-
-To fix ACPI cache leak for enhancing security, I made a patch which has
-flush codes in acpi_ps_parse_loop() function.
-
-I hope that this patch improves the security of Linux kernel.
-
-Thank you.
-
-Signed-off-by: Seunghun Han <kkamagui@gmail.com>
----
-Changes since v3: change control transfer according to reviewer's comments.
-Changes since v2: merge flush code with existing code and change comments.
-Changes since v1: move flush code to acpi_ps_complete_final_op() function.
-
- drivers/acpi/acpica/psobject.c | 53 +++++++++++++-----------------------------
- 1 file changed, 16 insertions(+), 37 deletions(-)
-
-diff --git a/drivers/acpi/acpica/psobject.c b/drivers/acpi/acpica/psobject.c
-index 5bcb618..4539391 100644
---- a/drivers/acpi/acpica/psobject.c
-+++ b/drivers/acpi/acpica/psobject.c
-@@ -608,7 +608,8 @@ acpi_status
- acpi_ps_complete_final_op(struct acpi_walk_state *walk_state,
- union acpi_parse_object *op, acpi_status status)
- {
-- acpi_status status2;
-+ acpi_status return_status = AE_OK;
-+ u8 ascending = TRUE;
-
- ACPI_FUNCTION_TRACE_PTR(ps_complete_final_op, walk_state);
-
-@@ -622,7 +623,8 @@ acpi_ps_complete_final_op(struct acpi_walk_state *walk_state,
- op));
- do {
- if (op) {
-- if (walk_state->ascending_callback != NULL) {
-+ if (ascending &&
-+ walk_state->ascending_callback != NULL) {
- walk_state->op = op;
- walk_state->op_info =
- acpi_ps_get_opcode_info(op->common.
-@@ -644,49 +646,26 @@ acpi_ps_complete_final_op(struct acpi_walk_state *walk_state,
- }
-
- if (status == AE_CTRL_TERMINATE) {
-- status = AE_OK;
--
-- /* Clean up */
-- do {
-- if (op) {
-- status2 =
-- acpi_ps_complete_this_op
-- (walk_state, op);
-- if (ACPI_FAILURE
-- (status2)) {
-- return_ACPI_STATUS
-- (status2);
-- }
-- }
--
-- acpi_ps_pop_scope(&
-- (walk_state->
-- parser_state),
-- &op,
-- &walk_state->
-- arg_types,
-- &walk_state->
-- arg_count);
--
-- } while (op);
--
-- return_ACPI_STATUS(status);
-+ ascending = FALSE;
-+ return_status = AE_CTRL_TERMINATE;
- }
-
- else if (ACPI_FAILURE(status)) {
-
- /* First error is most important */
-
-- (void)
-- acpi_ps_complete_this_op(walk_state,
-- op);
-- return_ACPI_STATUS(status);
-+ ascending = FALSE;
-+ return_status = status;
- }
- }
-
-- status2 = acpi_ps_complete_this_op(walk_state, op);
-- if (ACPI_FAILURE(status2)) {
-- return_ACPI_STATUS(status2);
-+ status = acpi_ps_complete_this_op(walk_state, op);
-+ if (ACPI_FAILURE(status)) {
-+ ascending = FALSE;
-+ if (ACPI_SUCCESS(return_status) ||
-+ return_status == AE_CTRL_TERMINATE) {
-+ return_status = status;
-+ }
- }
- }
-
-@@ -696,5 +675,5 @@ acpi_ps_complete_final_op(struct acpi_walk_state *walk_state,
-
- } while (op);
-
-- return_ACPI_STATUS(status);
-+ return_ACPI_STATUS(return_status);
- }
diff --git a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch b/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch
deleted file mode 100644
index 9825deb9a..000000000
--- a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From patchwork Thu Aug 24 05:11:35 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: acpi: acpica: fix acpi operand cache leak in dsutils.c
-From: Seunghun Han <kkamagui@gmail.com>
-X-Patchwork-Id: 9919053
-Message-Id: <1503551495-33286-1-git-send-email-kkamagui@gmail.com>
-To: lv.zheng@intel.com
-Cc: robert.moore@intel.com, rafael.j.wysocki@intel.com,
- linux-acpi@vger.kernel.org, devel@acpica.org,
- linux-kernel@vger.kernel.org, security@kernel.org,
- Seunghun Han <kkamagui@gmail.com>
-Date: Thu, 24 Aug 2017 14:11:35 +0900
-
-I found an ACPI cache leak in ACPI early termination and boot continuing case.
-
-When early termination is occurred due to malicious ACPI table, Linux kernel
-terminates ACPI function and continues to boot process. While kernel terminates
-ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak.
-
-Boot log of ACPI operand cache leak is as follows:
->[ 0.585957] ACPI: Added _OSI(Module Device)
->[ 0.587218] ACPI: Added _OSI(Processor Device)
->[ 0.588530] ACPI: Added _OSI(3.0 _SCP Extensions)
->[ 0.589790] ACPI: Added _OSI(Processor Aggregator Device)
->[ 0.591534] ACPI Error: Illegal I/O port address/length above 64K: C806E00000004002/0x2 (20170303/hwvalid-155)
->[ 0.594351] ACPI Exception: AE_LIMIT, Unable to initialize fixed events (20170303/evevent-88)
->[ 0.597858] ACPI: Unable to start the ACPI Interpreter
->[ 0.599162] ACPI Error: Could not remove SCI handler (20170303/evmisc-281)
->[ 0.601836] kmem_cache_destroy Acpi-Operand: Slab cache still has objects
->[ 0.603556] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26
->[ 0.605159] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
->[ 0.609177] Call Trace:
->[ 0.610063] ? dump_stack+0x5c/0x81
->[ 0.611118] ? kmem_cache_destroy+0x1aa/0x1c0
->[ 0.612632] ? acpi_sleep_proc_init+0x27/0x27
->[ 0.613906] ? acpi_os_delete_cache+0xa/0x10
->[ 0.617986] ? acpi_ut_delete_caches+0x3f/0x7b
->[ 0.619293] ? acpi_terminate+0xa/0x14
->[ 0.620394] ? acpi_init+0x2af/0x34f
->[ 0.621616] ? __class_create+0x4c/0x80
->[ 0.623412] ? video_setup+0x7f/0x7f
->[ 0.624585] ? acpi_sleep_proc_init+0x27/0x27
->[ 0.625861] ? do_one_initcall+0x4e/0x1a0
->[ 0.627513] ? kernel_init_freeable+0x19e/0x21f
->[ 0.628972] ? rest_init+0x80/0x80
->[ 0.630043] ? kernel_init+0xa/0x100
->[ 0.631084] ? ret_from_fork+0x25/0x30
->[ 0.633343] vgaarb: loaded
->[ 0.635036] EDAC MC: Ver: 3.0.0
->[ 0.638601] PCI: Probing PCI hardware
->[ 0.639833] PCI host bridge to bus 0000:00
->[ 0.641031] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
-> ... Continue to boot and log is omitted ...
-
-I analyzed this memory leak in detail and found acpi_ds_obj_stack_pop_and_
-delete() function miscalculated the top of the stack. acpi_ds_obj_stack_push()
-function uses walk_state->operand_index for start position of the top, but
-acpi_ds_obj_stack_pop_and_delete() function considers index 0 for it.
-Therefore, this causes acpi operand memory leak.
-
-This cache leak causes a security threat because an old kernel (<= 4.9) shows
-memory locations of kernel functions in stack dump. Some malicious users
-could use this information to neutralize kernel ASLR.
-
-I made a patch to fix ACPI operand cache leak.
-
-Signed-off-by: Seunghun Han <kkamagui@gmail.com>
----
- drivers/acpi/acpica/dsutils.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
-index 0dabd9b..2c8a060 100644
---- a/drivers/acpi/acpica/dsutils.c
-+++ b/drivers/acpi/acpica/dsutils.c
-@@ -705,6 +705,8 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state,
- union acpi_parse_object *arguments[ACPI_OBJ_NUM_OPERANDS];
- u32 arg_count = 0;
- u32 index = walk_state->num_operands;
-+ u32 prev_num_operands = walk_state->num_operands;
-+ u32 new_num_operands;
- u32 i;
-
- ACPI_FUNCTION_TRACE_PTR(ds_create_operands, first_arg);
-@@ -733,6 +735,7 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state,
-
- /* Create the interpreter arguments, in reverse order */
-
-+ new_num_operands = index;
- index--;
- for (i = 0; i < arg_count; i++) {
- arg = arguments[index];
-@@ -757,7 +760,11 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state,
- * pop everything off of the operand stack and delete those
- * objects
- */
-- acpi_ds_obj_stack_pop_and_delete(arg_count, walk_state);
-+ walk_state->num_operands = i;
-+ acpi_ds_obj_stack_pop_and_delete(new_num_operands, walk_state);
-+
-+ /* Restore operand count */
-+ walk_state->num_operands = prev_num_operands;
-
- ACPI_EXCEPTION((AE_INFO, status, "While creating Arg %u", index));
- return_ACPI_STATUS(status);
diff --git a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch b/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch
deleted file mode 100644
index 3623a4ebd..000000000
--- a/freed-ora/current/f26/acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From patchwork Wed Jul 19 07:07:23 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: acpi: acpica: fix acpi operand cache leak in nseval.c
-From: Seunghun Han <kkamagui@gmail.com>
-X-Patchwork-Id: 9850567
-Message-Id: <1500448043-137615-1-git-send-email-kkamagui@gmail.com>
-To: Lv Zheng <lv.zheng@intel.com>
-Cc: Robert Moore <robert.moore@intel.com>,
- "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
- linux-acpi@vger.kernel.org, devel@acpica.org,
- linux-kernel@vger.kernel.org, security@kernel.org,
- Seunghun Han <kkamagui@gmail.com>
-Date: Wed, 19 Jul 2017 16:07:23 +0900
-
-I found an ACPI cache leak in ACPI early termination and boot continuing case.
-
-When early termination occurs due to malicious ACPI table, Linux kernel
-terminates ACPI function and continues to boot process. While kernel terminates
-ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak.
-
-Boot log of ACPI operand cache leak is as follows:
->[ 0.464168] ACPI: Added _OSI(Module Device)
->[ 0.467022] ACPI: Added _OSI(Processor Device)
->[ 0.469376] ACPI: Added _OSI(3.0 _SCP Extensions)
->[ 0.471647] ACPI: Added _OSI(Processor Aggregator Device)
->[ 0.477997] ACPI Error: Null stack entry at ffff880215c0aad8 (20170303/exresop-174)
->[ 0.482706] ACPI Exception: AE_AML_INTERNAL, While resolving operands for [OpcodeName unavailable] (20170303/dswexec-461)
->[ 0.487503] ACPI Error: Method parse/execution failed [\DBG] (Node ffff88021710ab40), AE_AML_INTERNAL (20170303/psparse-543)
->[ 0.492136] ACPI Error: Method parse/execution failed [\_SB._INI] (Node ffff88021710a618), AE_AML_INTERNAL (20170303/psparse-543)
->[ 0.497683] ACPI: Interpreter enabled
->[ 0.499385] ACPI: (supports S0)
->[ 0.501151] ACPI: Using IOAPIC for interrupt routing
->[ 0.503342] ACPI Error: Null stack entry at ffff880215c0aad8 (20170303/exresop-174)
->[ 0.506522] ACPI Exception: AE_AML_INTERNAL, While resolving operands for [OpcodeName unavailable] (20170303/dswexec-461)
->[ 0.510463] ACPI Error: Method parse/execution failed [\DBG] (Node ffff88021710ab40), AE_AML_INTERNAL (20170303/psparse-543)
->[ 0.514477] ACPI Error: Method parse/execution failed [\_PIC] (Node ffff88021710ab18), AE_AML_INTERNAL (20170303/psparse-543)
->[ 0.518867] ACPI Exception: AE_AML_INTERNAL, Evaluating _PIC (20170303/bus-991)
->[ 0.522384] kmem_cache_destroy Acpi-Operand: Slab cache still has objects
->[ 0.524597] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26
->[ 0.526795] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
->[ 0.529668] Call Trace:
->[ 0.530811] ? dump_stack+0x5c/0x81
->[ 0.532240] ? kmem_cache_destroy+0x1aa/0x1c0
->[ 0.533905] ? acpi_os_delete_cache+0xa/0x10
->[ 0.535497] ? acpi_ut_delete_caches+0x3f/0x7b
->[ 0.537237] ? acpi_terminate+0xa/0x14
->[ 0.538701] ? acpi_init+0x2af/0x34f
->[ 0.540008] ? acpi_sleep_proc_init+0x27/0x27
->[ 0.541593] ? do_one_initcall+0x4e/0x1a0
->[ 0.543008] ? kernel_init_freeable+0x19e/0x21f
->[ 0.546202] ? rest_init+0x80/0x80
->[ 0.547513] ? kernel_init+0xa/0x100
->[ 0.548817] ? ret_from_fork+0x25/0x30
->[ 0.550587] vgaarb: loaded
->[ 0.551716] EDAC MC: Ver: 3.0.0
->[ 0.553744] PCI: Probing PCI hardware
->[ 0.555038] PCI host bridge to bus 0000:00
-> ... Continue to boot and log is omitted ...
-
-I analyzed this memory leak in detail and found acpi_ns_evaluate() function
-only removes info->return_object in AE_CTRL_RETURN_VALUE case. But, when errors
-occur, the status value is not AE_CTRL_RETURN_VALUE, and info->return_object is
-also not null. Therefore, this causes acpi operand memory leak.
-
-This cache leak causes a security threat because an old kernel (<= 4.9) shows
-memory locations of kernel functions in stack dump. Some malicious users
-could use this information to neutralize kernel ASLR.
-
-I made a patch to fix ACPI operand cache leak.
-
-Signed-off-by: Seunghun Han <kkamagui@gmail.com>
----
- drivers/acpi/acpica/nseval.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/drivers/acpi/acpica/nseval.c b/drivers/acpi/acpica/nseval.c
-index d22167c..f13d3cf 100644
---- a/drivers/acpi/acpica/nseval.c
-+++ b/drivers/acpi/acpica/nseval.c
-@@ -308,6 +308,14 @@ acpi_status acpi_ns_evaluate(struct acpi_evaluate_info *info)
- /* Map AE_CTRL_RETURN_VALUE to AE_OK, we are done with it */
-
- status = AE_OK;
-+ } else if (ACPI_FAILURE(status)) {
-+
-+ /* If return_object exists, delete it */
-+
-+ if (info->return_object) {
-+ acpi_ut_remove_reference(info->return_object);
-+ info->return_object = NULL;
-+ }
- }
-
- ACPI_DEBUG_PRINT((ACPI_DB_NAMES,
diff --git a/freed-ora/current/f26/allwinner-net-emac.patch b/freed-ora/current/f26/allwinner-net-emac.patch
index f5d680bde..bad1e4490 100644
--- a/freed-ora/current/f26/allwinner-net-emac.patch
+++ b/freed-ora/current/f26/allwinner-net-emac.patch
@@ -1,18 +1,575 @@
-From 83e18f0ad4793ea83e03cb8e608bdd2939e76d78 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Mon, 4 Sep 2017 13:04:34 +0100
-Subject: [PATCH 1/4] Revert "net: stmmac: sun8i: Remove the compatibles"
+From 1b28a544627ddce094091946f06f99bc41d0098f Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 24 Oct 2017 19:57:12 +0200
+Subject: [PATCH 01/11] net: stmmac: snps, dwmac-mdio MDIOs are automatically
+ registered
+
+stmmac bindings docs said that its mdio node must have
+compatible = "snps,dwmac-mdio";
+Since dwmac-sun8i does not have any good reasons to not doing it, all
+their MDIO node must have it.
+
+Since these compatible is automatically registered, dwmac-sun8i compatible
+does not need to be in need_mdio_ids.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+---
+ drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+index 6383695004a5..645ef949705f 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+@@ -318,10 +318,6 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat,
+ bool mdio = true;
+ static const struct of_device_id need_mdio_ids[] = {
+ { .compatible = "snps,dwc-qos-ethernet-4.10" },
+- { .compatible = "allwinner,sun8i-a83t-emac" },
+- { .compatible = "allwinner,sun8i-h3-emac" },
+- { .compatible = "allwinner,sun8i-v3s-emac" },
+- { .compatible = "allwinner,sun50i-a64-emac" },
+ {},
+ };
+
+--
+2.14.3
+
+From 9a5b1d9a7614b022512744896d889e76f687e90a Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 24 Oct 2017 19:57:13 +0200
+Subject: [PATCH 02/11] net: stmmac: dwmac-sun8i: Handle integrated/external
+ MDIOs
+
+The Allwinner H3 SoC have two distinct MDIO bus, only one could be
+active at the same time.
+The selection of the active MDIO bus are done via some bits in the EMAC
+register of the system controller.
+
+This patch implement this MDIO switch via a custom MDIO-mux.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+---
+ drivers/net/ethernet/stmicro/stmmac/Kconfig | 1 +
+ drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 353 ++++++++++++++--------
+ 2 files changed, 224 insertions(+), 130 deletions(-)
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig
+index 97035766c291..e28c0d2c58e9 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/Kconfig
++++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig
+@@ -159,6 +159,7 @@ config DWMAC_SUN8I
+ tristate "Allwinner sun8i GMAC support"
+ default ARCH_SUNXI
+ depends on OF && (ARCH_SUNXI || COMPILE_TEST)
++ select MDIO_BUS_MUX
+ ---help---
+ Support for Allwinner H3 A83T A64 EMAC ethernet controllers.
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+index 39c2122a4f26..b3eb344bb158 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+@@ -17,6 +17,7 @@
+ #include <linux/clk.h>
+ #include <linux/io.h>
+ #include <linux/iopoll.h>
++#include <linux/mdio-mux.h>
+ #include <linux/mfd/syscon.h>
+ #include <linux/module.h>
+ #include <linux/of_device.h>
+@@ -41,14 +42,14 @@
+ * This value is used for disabling properly EMAC
+ * and used as a good starting value in case of the
+ * boot process(uboot) leave some stuff.
+- * @internal_phy: Does the MAC embed an internal PHY
++ * @soc_has_internal_phy: Does the MAC embed an internal PHY
+ * @support_mii: Does the MAC handle MII
+ * @support_rmii: Does the MAC handle RMII
+ * @support_rgmii: Does the MAC handle RGMII
+ */
+ struct emac_variant {
+ u32 default_syscon_value;
+- int internal_phy;
++ bool soc_has_internal_phy;
+ bool support_mii;
+ bool support_rmii;
+ bool support_rgmii;
+@@ -61,7 +62,8 @@ struct emac_variant {
+ * @rst_ephy: reference to the optional EPHY reset for the internal PHY
+ * @variant: reference to the current board variant
+ * @regmap: regmap for using the syscon
+- * @use_internal_phy: Does the current PHY choice imply using the internal PHY
++ * @internal_phy_powered: Does the internal PHY is enabled
++ * @mux_handle: Internal pointer used by mdio-mux lib
+ */
+ struct sunxi_priv_data {
+ struct clk *tx_clk;
+@@ -70,12 +72,13 @@ struct sunxi_priv_data {
+ struct reset_control *rst_ephy;
+ const struct emac_variant *variant;
+ struct regmap *regmap;
+- bool use_internal_phy;
++ bool internal_phy_powered;
++ void *mux_handle;
+ };
+
+ static const struct emac_variant emac_variant_h3 = {
+ .default_syscon_value = 0x58000,
+- .internal_phy = PHY_INTERFACE_MODE_MII,
++ .soc_has_internal_phy = true,
+ .support_mii = true,
+ .support_rmii = true,
+ .support_rgmii = true
+@@ -83,20 +86,20 @@ static const struct emac_variant emac_variant_h3 = {
+
+ static const struct emac_variant emac_variant_v3s = {
+ .default_syscon_value = 0x38000,
+- .internal_phy = PHY_INTERFACE_MODE_MII,
++ .soc_has_internal_phy = true,
+ .support_mii = true
+ };
+
+ static const struct emac_variant emac_variant_a83t = {
+ .default_syscon_value = 0,
+- .internal_phy = 0,
++ .soc_has_internal_phy = false,
+ .support_mii = true,
+ .support_rgmii = true
+ };
+
+ static const struct emac_variant emac_variant_a64 = {
+ .default_syscon_value = 0,
+- .internal_phy = 0,
++ .soc_has_internal_phy = false,
+ .support_mii = true,
+ .support_rmii = true,
+ .support_rgmii = true
+@@ -195,6 +198,9 @@ static const struct emac_variant emac_variant_a64 = {
+ #define H3_EPHY_LED_POL BIT(17) /* 1: active low, 0: active high */
+ #define H3_EPHY_SHUTDOWN BIT(16) /* 1: shutdown, 0: power up */
+ #define H3_EPHY_SELECT BIT(15) /* 1: internal PHY, 0: external PHY */
++#define H3_EPHY_MUX_MASK (H3_EPHY_SHUTDOWN | H3_EPHY_SELECT)
++#define DWMAC_SUN8I_MDIO_MUX_INTERNAL_ID 1
++#define DWMAC_SUN8I_MDIO_MUX_EXTERNAL_ID 2
+
+ /* H3/A64 specific bits */
+ #define SYSCON_RMII_EN BIT(13) /* 1: enable RMII (overrides EPIT) */
+@@ -634,6 +640,159 @@ static int sun8i_dwmac_reset(struct stmmac_priv *priv)
+ return 0;
+ }
+
++/* Search in mdio-mux node for internal PHY node and get its clk/reset */
++static int get_ephy_nodes(struct stmmac_priv *priv)
++{
++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
++ struct device_node *mdio_mux, *iphynode;
++ struct device_node *mdio_internal;
++ int ret;
++
++ mdio_mux = of_get_child_by_name(priv->device->of_node, "mdio-mux");
++ if (!mdio_mux) {
++ dev_err(priv->device, "Cannot get mdio-mux node\n");
++ return -ENODEV;
++ }
++
++ mdio_internal = of_find_compatible_node(mdio_mux, NULL,
++ "allwinner,sun8i-h3-mdio-internal");
++ if (!mdio_internal) {
++ dev_err(priv->device, "Cannot get internal_mdio node\n");
++ return -ENODEV;
++ }
++
++ /* Seek for internal PHY */
++ for_each_child_of_node(mdio_internal, iphynode) {
++ gmac->ephy_clk = of_clk_get(iphynode, 0);
++ if (IS_ERR(gmac->ephy_clk))
++ continue;
++ gmac->rst_ephy = of_reset_control_get_exclusive(iphynode, NULL);
++ if (IS_ERR(gmac->rst_ephy)) {
++ ret = PTR_ERR(gmac->rst_ephy);
++ if (ret == -EPROBE_DEFER)
++ return ret;
++ continue;
++ }
++ dev_info(priv->device, "Found internal PHY node\n");
++ return 0;
++ }
++ return -ENODEV;
++}
++
++static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv)
++{
++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
++ int ret;
++
++ if (gmac->internal_phy_powered) {
++ dev_warn(priv->device, "Internal PHY already powered\n");
++ return 0;
++ }
++
++ dev_info(priv->device, "Powering internal PHY\n");
++ ret = clk_prepare_enable(gmac->ephy_clk);
++ if (ret) {
++ dev_err(priv->device, "Cannot enable internal PHY\n");
++ return ret;
++ }
++
++ /* Make sure the EPHY is properly reseted, as U-Boot may leave
++ * it at deasserted state, and thus it may fail to reset EMAC.
++ */
++ reset_control_assert(gmac->rst_ephy);
++
++ ret = reset_control_deassert(gmac->rst_ephy);
++ if (ret) {
++ dev_err(priv->device, "Cannot deassert internal phy\n");
++ clk_disable_unprepare(gmac->ephy_clk);
++ return ret;
++ }
++
++ gmac->internal_phy_powered = true;
++
++ return 0;
++}
++
++static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac)
++{
++ if (!gmac->internal_phy_powered)
++ return 0;
++
++ clk_disable_unprepare(gmac->ephy_clk);
++ reset_control_assert(gmac->rst_ephy);
++ gmac->internal_phy_powered = false;
++ return 0;
++}
++
++/* MDIO multiplexing switch function
++ * This function is called by the mdio-mux layer when it thinks the mdio bus
++ * multiplexer needs to switch.
++ * 'current_child' is the current value of the mux register
++ * 'desired_child' is the value of the 'reg' property of the target child MDIO
++ * node.
++ * The first time this function is called, current_child == -1.
++ * If current_child == desired_child, then the mux is already set to the
++ * correct bus.
++ */
++static int mdio_mux_syscon_switch_fn(int current_child, int desired_child,
++ void *data)
++{
++ struct stmmac_priv *priv = data;
++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
++ u32 reg, val;
++ int ret = 0;
++ bool need_power_ephy = false;
++
++ if (current_child ^ desired_child) {
++ regmap_read(gmac->regmap, SYSCON_EMAC_REG, &reg);
++ switch (desired_child) {
++ case DWMAC_SUN8I_MDIO_MUX_INTERNAL_ID:
++ dev_info(priv->device, "Switch mux to internal PHY");
++ val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SELECT;
++
++ need_power_ephy = true;
++ break;
++ case DWMAC_SUN8I_MDIO_MUX_EXTERNAL_ID:
++ dev_info(priv->device, "Switch mux to external PHY");
++ val = (reg & ~H3_EPHY_MUX_MASK) | H3_EPHY_SHUTDOWN;
++ need_power_ephy = false;
++ break;
++ default:
++ dev_err(priv->device, "Invalid child ID %x\n",
++ desired_child);
++ return -EINVAL;
++ }
++ regmap_write(gmac->regmap, SYSCON_EMAC_REG, val);
++ if (need_power_ephy) {
++ ret = sun8i_dwmac_power_internal_phy(priv);
++ if (ret)
++ return ret;
++ } else {
++ sun8i_dwmac_unpower_internal_phy(gmac);
++ }
++ /* After changing syscon value, the MAC need reset or it will
++ * use the last value (and so the last PHY set).
++ */
++ ret = sun8i_dwmac_reset(priv);
++ }
++ return ret;
++}
++
++static int sun8i_dwmac_register_mdio_mux(struct stmmac_priv *priv)
++{
++ int ret;
++ struct device_node *mdio_mux;
++ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
++
++ mdio_mux = of_get_child_by_name(priv->device->of_node, "mdio-mux");
++ if (!mdio_mux)
++ return -ENODEV;
++
++ ret = mdio_mux_init(priv->device, mdio_mux, mdio_mux_syscon_switch_fn,
++ &gmac->mux_handle, priv, priv->mii);
++ return ret;
++}
++
+ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv)
+ {
+ struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
+@@ -648,35 +807,25 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv)
+ "Current syscon value is not the default %x (expect %x)\n",
+ val, reg);
+
+- if (gmac->variant->internal_phy) {
+- if (!gmac->use_internal_phy) {
+- /* switch to external PHY interface */
+- reg &= ~H3_EPHY_SELECT;
+- } else {
+- reg |= H3_EPHY_SELECT;
+- reg &= ~H3_EPHY_SHUTDOWN;
+- dev_dbg(priv->device, "Select internal_phy %x\n", reg);
+-
+- if (of_property_read_bool(priv->plat->phy_node,
+- "allwinner,leds-active-low"))
+- reg |= H3_EPHY_LED_POL;
+- else
+- reg &= ~H3_EPHY_LED_POL;
+-
+- /* Force EPHY xtal frequency to 24MHz. */
+- reg |= H3_EPHY_CLK_SEL;
+-
+- ret = of_mdio_parse_addr(priv->device,
+- priv->plat->phy_node);
+- if (ret < 0) {
+- dev_err(priv->device, "Could not parse MDIO addr\n");
+- return ret;
+- }
+- /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY
+- * address. No need to mask it again.
+- */
+- reg |= ret << H3_EPHY_ADDR_SHIFT;
++ if (gmac->variant->soc_has_internal_phy) {
++ if (of_property_read_bool(priv->plat->phy_node,
++ "allwinner,leds-active-low"))
++ reg |= H3_EPHY_LED_POL;
++ else
++ reg &= ~H3_EPHY_LED_POL;
++
++ /* Force EPHY xtal frequency to 24MHz. */
++ reg |= H3_EPHY_CLK_SEL;
++
++ ret = of_mdio_parse_addr(priv->device, priv->plat->phy_node);
++ if (ret < 0) {
++ dev_err(priv->device, "Could not parse MDIO addr\n");
++ return ret;
+ }
++ /* of_mdio_parse_addr returns a valid (0 ~ 31) PHY
++ * address. No need to mask it again.
++ */
++ reg |= 1 << H3_EPHY_ADDR_SHIFT;
+ }
+
+ if (!of_property_read_u32(node, "allwinner,tx-delay-ps", &val)) {
+@@ -746,81 +895,21 @@ static void sun8i_dwmac_unset_syscon(struct sunxi_priv_data *gmac)
+ regmap_write(gmac->regmap, SYSCON_EMAC_REG, reg);
+ }
+
+-static int sun8i_dwmac_power_internal_phy(struct stmmac_priv *priv)
++static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv)
+ {
+- struct sunxi_priv_data *gmac = priv->plat->bsp_priv;
+- int ret;
+-
+- if (!gmac->use_internal_phy)
+- return 0;
+-
+- ret = clk_prepare_enable(gmac->ephy_clk);
+- if (ret) {
+- dev_err(priv->device, "Cannot enable ephy\n");
+- return ret;
+- }
+-
+- /* Make sure the EPHY is properly reseted, as U-Boot may leave
+- * it at deasserted state, and thus it may fail to reset EMAC.
+- */
+- reset_control_assert(gmac->rst_ephy);
++ struct sunxi_priv_data *gmac = priv;
+
+- ret = reset_control_deassert(gmac->rst_ephy);
+- if (ret) {
+- dev_err(priv->device, "Cannot deassert ephy\n");
+- clk_disable_unprepare(gmac->ephy_clk);
+- return ret;
++ if (gmac->variant->soc_has_internal_phy) {
++ /* sun8i_dwmac_exit could be called with mdiomux uninit */
++ if (gmac->mux_handle)
++ mdio_mux_uninit(gmac->mux_handle);
++ if (gmac->internal_phy_powered)
++ sun8i_dwmac_unpower_internal_phy(gmac);
+ }
+
+- return 0;
+-}
+-
+-static int sun8i_dwmac_unpower_internal_phy(struct sunxi_priv_data *gmac)
+-{
+- if (!gmac->use_internal_phy)
+- return 0;
+-
+- clk_disable_unprepare(gmac->ephy_clk);
+- reset_control_assert(gmac->rst_ephy);
+- return 0;
+-}
+-
+-/* sun8i_power_phy() - Activate the PHY:
+- * In case of error, no need to call sun8i_unpower_phy(),
+- * it will be called anyway by sun8i_dwmac_exit()
+- */
+-static int sun8i_power_phy(struct stmmac_priv *priv)
+-{
+- int ret;
+-
+- ret = sun8i_dwmac_power_internal_phy(priv);
+- if (ret)
+- return ret;
+-
+- ret = sun8i_dwmac_set_syscon(priv);
+- if (ret)
+- return ret;
+-
+- /* After changing syscon value, the MAC need reset or it will use
+- * the last value (and so the last PHY set.
+- */
+- ret = sun8i_dwmac_reset(priv);
+- if (ret)
+- return ret;
+- return 0;
+-}
+-
+-static void sun8i_unpower_phy(struct sunxi_priv_data *gmac)
+-{
+ sun8i_dwmac_unset_syscon(gmac);
+- sun8i_dwmac_unpower_internal_phy(gmac);
+-}
+-
+-static void sun8i_dwmac_exit(struct platform_device *pdev, void *priv)
+-{
+- struct sunxi_priv_data *gmac = priv;
+
+- sun8i_unpower_phy(gmac);
++ reset_control_put(gmac->rst_ephy);
+
+ clk_disable_unprepare(gmac->tx_clk);
+
+@@ -849,7 +938,7 @@ static struct mac_device_info *sun8i_dwmac_setup(void *ppriv)
+ if (!mac)
+ return NULL;
+
+- ret = sun8i_power_phy(priv);
++ ret = sun8i_dwmac_set_syscon(priv);
+ if (ret)
+ return NULL;
+
+@@ -889,6 +978,8 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
+ struct sunxi_priv_data *gmac;
+ struct device *dev = &pdev->dev;
+ int ret;
++ struct stmmac_priv *priv;
++ struct net_device *ndev;
+
+ ret = stmmac_get_platform_resources(pdev, &stmmac_res);
+ if (ret)
+@@ -932,29 +1023,6 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
+ }
+
+ plat_dat->interface = of_get_phy_mode(dev->of_node);
+- if (plat_dat->interface == gmac->variant->internal_phy) {
+- dev_info(&pdev->dev, "Will use internal PHY\n");
+- gmac->use_internal_phy = true;
+- gmac->ephy_clk = of_clk_get(plat_dat->phy_node, 0);
+- if (IS_ERR(gmac->ephy_clk)) {
+- ret = PTR_ERR(gmac->ephy_clk);
+- dev_err(&pdev->dev, "Cannot get EPHY clock: %d\n", ret);
+- return -EINVAL;
+- }
+-
+- gmac->rst_ephy = of_reset_control_get(plat_dat->phy_node, NULL);
+- if (IS_ERR(gmac->rst_ephy)) {
+- ret = PTR_ERR(gmac->rst_ephy);
+- if (ret == -EPROBE_DEFER)
+- return ret;
+- dev_err(&pdev->dev, "No EPHY reset control found %d\n",
+- ret);
+- return -EINVAL;
+- }
+- } else {
+- dev_info(&pdev->dev, "Will use external PHY\n");
+- gmac->use_internal_phy = false;
+- }
+
+ /* platform data specifying hardware features and callbacks.
+ * hardware features were copied from Allwinner drivers.
+@@ -973,9 +1041,34 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
+
+ ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
+ if (ret)
+- sun8i_dwmac_exit(pdev, plat_dat->bsp_priv);
++ goto dwmac_exit;
++
++ ndev = dev_get_drvdata(&pdev->dev);
++ priv = netdev_priv(ndev);
++ /* The mux must be registered after parent MDIO
++ * so after stmmac_dvr_probe()
++ */
++ if (gmac->variant->soc_has_internal_phy) {
++ ret = get_ephy_nodes(priv);
++ if (ret)
++ goto dwmac_exit;
++ ret = sun8i_dwmac_register_mdio_mux(priv);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to register mux\n");
++ goto dwmac_mux;
++ }
++ } else {
++ ret = sun8i_dwmac_reset(priv);
++ if (ret)
++ goto dwmac_exit;
++ }
+
+ return ret;
++dwmac_mux:
++ sun8i_dwmac_unset_syscon(gmac);
++dwmac_exit:
++ sun8i_dwmac_exit(pdev, plat_dat->bsp_priv);
++return ret;
+ }
+
+ static const struct of_device_id sun8i_dwmac_match[] = {
+--
+2.14.3
+
+From f58f11ebb67468471ed8f232c576f348dd1a32b1 Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 24 Oct 2017 19:57:14 +0200
+Subject: [PATCH 03/11] net: stmmac: sun8i: Restore the compatibles
-This reverts commit ad4540cc5aa3dccb8e1e12458d57f8c40fae5a1c.
+The original dwmac-sun8i DT bindings have some issue on how to handle
+integrated PHY and was reverted in last RC of 4.13.
+But now we have a solution so we need to get back that was reverted.
+
+This patch restore compatibles about dwmac-sun8i
+This reverts commit ad4540cc5aa3 ("net: stmmac: sun8i: Remove the compatibles")
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
-index 39c2122a4f26..fffd6d5fc907 100644
+index b3eb344bb158..e5ff734d4f9b 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
-@@ -979,6 +979,14 @@ static int sun8i_dwmac_probe(struct platform_device *pdev)
+@@ -1072,6 +1072,14 @@ return ret;
}
static const struct of_device_id sun8i_dwmac_match[] = {
@@ -28,26 +585,483 @@ index 39c2122a4f26..fffd6d5fc907 100644
};
MODULE_DEVICE_TABLE(of, sun8i_dwmac_match);
--
-2.13.5
+2.14.3
+
+From 54678636d98cd9625f342c831015e302642bf104 Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 31 Oct 2017 09:19:08 +0100
+Subject: [PATCH 04/11] dt-bindings: net: Restore sun8i dwmac binding
+
+The original dwmac-sun8i DT bindings have some issue on how to handle
+integrated PHY and was reverted in last RC of 4.13.
+But now we have a solution so we need to get back that was reverted.
+
+This patch restore dt-bindings documentation about dwmac-sun8i
+This reverts commit 8aa33ec2f481 ("dt-bindings: net: Revert sun8i dwmac binding")
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Rob Herring <robh@kernel.org>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ .../devicetree/bindings/net/dwmac-sun8i.txt | 84 ++++++++++++++++++++++
+ 1 file changed, 84 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+
+diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+new file mode 100644
+index 000000000000..725f3b187886
+--- /dev/null
++++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+@@ -0,0 +1,84 @@
++* Allwinner sun8i GMAC ethernet controller
++
++This device is a platform glue layer for stmmac.
++Please see stmmac.txt for the other unchanged properties.
++
++Required properties:
++- compatible: should be one of the following string:
++ "allwinner,sun8i-a83t-emac"
++ "allwinner,sun8i-h3-emac"
++ "allwinner,sun8i-v3s-emac"
++ "allwinner,sun50i-a64-emac"
++- reg: address and length of the register for the device.
++- interrupts: interrupt for the device
++- interrupt-names: should be "macirq"
++- clocks: A phandle to the reference clock for this device
++- clock-names: should be "stmmaceth"
++- resets: A phandle to the reset control for this device
++- reset-names: should be "stmmaceth"
++- phy-mode: See ethernet.txt
++- phy-handle: See ethernet.txt
++- #address-cells: shall be 1
++- #size-cells: shall be 0
++- syscon: A phandle to the syscon of the SoC with one of the following
++ compatible string:
++ - allwinner,sun8i-h3-system-controller
++ - allwinner,sun8i-v3s-system-controller
++ - allwinner,sun50i-a64-system-controller
++ - allwinner,sun8i-a83t-system-controller
++
++Optional properties:
++- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0)
++- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0)
++Both delay properties need to be a multiple of 100. They control the delay for
++external PHY.
++
++Optional properties for the following compatibles:
++ - "allwinner,sun8i-h3-emac",
++ - "allwinner,sun8i-v3s-emac":
++- allwinner,leds-active-low: EPHY LEDs are active low
++
++Required child node of emac:
++- mdio bus node: should be named mdio
++
++Required properties of the mdio node:
++- #address-cells: shall be 1
++- #size-cells: shall be 0
++
++The device node referenced by "phy" or "phy-handle" should be a child node
++of the mdio node. See phy.txt for the generic PHY bindings.
++
++Required properties of the phy node with the following compatibles:
++ - "allwinner,sun8i-h3-emac",
++ - "allwinner,sun8i-v3s-emac":
++- clocks: a phandle to the reference clock for the EPHY
++- resets: a phandle to the reset control for the EPHY
++
++Example:
++
++emac: ethernet@1c0b000 {
++ compatible = "allwinner,sun8i-h3-emac";
++ syscon = <&syscon>;
++ reg = <0x01c0b000 0x104>;
++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "macirq";
++ resets = <&ccu RST_BUS_EMAC>;
++ reset-names = "stmmaceth";
++ clocks = <&ccu CLK_BUS_EMAC>;
++ clock-names = "stmmaceth";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ phy-handle = <&int_mii_phy>;
++ phy-mode = "mii";
++ allwinner,leds-active-low;
++ mdio: mdio {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ int_mii_phy: ethernet-phy@1 {
++ reg = <1>;
++ clocks = <&ccu CLK_BUS_EPHY>;
++ resets = <&ccu RST_BUS_EPHY>;
++ };
++ };
++};
+--
+2.14.3
+
+From 227bc8c6bfad58c32c7a6c3bbc13d99eb6d266c0 Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 31 Oct 2017 09:19:09 +0100
+Subject: [PATCH 05/11] dt-bindings: net: dwmac-sun8i: update documentation
+ about integrated PHY
-From fa4788d88903c1e535d034c3dd3fcd386685a02c Mon Sep 17 00:00:00 2001
+This patch add documentation about the MDIO switch used on sun8i-h3-emac
+for integrated PHY.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+---
+ .../devicetree/bindings/net/dwmac-sun8i.txt | 147 +++++++++++++++++++--
+ 1 file changed, 135 insertions(+), 12 deletions(-)
+
+diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+index 725f3b187886..3d6d5fa0c4d5 100644
+--- a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
++++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+@@ -4,18 +4,18 @@ This device is a platform glue layer for stmmac.
+ Please see stmmac.txt for the other unchanged properties.
+
+ Required properties:
+-- compatible: should be one of the following string:
++- compatible: must be one of the following string:
+ "allwinner,sun8i-a83t-emac"
+ "allwinner,sun8i-h3-emac"
+ "allwinner,sun8i-v3s-emac"
+ "allwinner,sun50i-a64-emac"
+ - reg: address and length of the register for the device.
+ - interrupts: interrupt for the device
+-- interrupt-names: should be "macirq"
++- interrupt-names: must be "macirq"
+ - clocks: A phandle to the reference clock for this device
+-- clock-names: should be "stmmaceth"
++- clock-names: must be "stmmaceth"
+ - resets: A phandle to the reset control for this device
+-- reset-names: should be "stmmaceth"
++- reset-names: must be "stmmaceth"
+ - phy-mode: See ethernet.txt
+ - phy-handle: See ethernet.txt
+ - #address-cells: shall be 1
+@@ -39,23 +39,42 @@ Optional properties for the following compatibles:
+ - allwinner,leds-active-low: EPHY LEDs are active low
+
+ Required child node of emac:
+-- mdio bus node: should be named mdio
++- mdio bus node: should be named mdio with compatible "snps,dwmac-mdio"
+
+ Required properties of the mdio node:
+ - #address-cells: shall be 1
+ - #size-cells: shall be 0
+
+-The device node referenced by "phy" or "phy-handle" should be a child node
++The device node referenced by "phy" or "phy-handle" must be a child node
+ of the mdio node. See phy.txt for the generic PHY bindings.
+
+-Required properties of the phy node with the following compatibles:
++The following compatibles require that the emac node have a mdio-mux child
++node called "mdio-mux":
++ - "allwinner,sun8i-h3-emac"
++ - "allwinner,sun8i-v3s-emac":
++Required properties for the mdio-mux node:
++ - compatible = "allwinner,sun8i-h3-mdio-mux"
++ - mdio-parent-bus: a phandle to EMAC mdio
++ - one child mdio for the integrated mdio with the compatible
++ "allwinner,sun8i-h3-mdio-internal"
++ - one child mdio for the external mdio if present (V3s have none)
++Required properties for the mdio-mux children node:
++ - reg: 1 for internal MDIO bus, 2 for external MDIO bus
++
++The following compatibles require a PHY node representing the integrated
++PHY, under the integrated MDIO bus node if an mdio-mux node is used:
+ - "allwinner,sun8i-h3-emac",
+ - "allwinner,sun8i-v3s-emac":
++
++Additional information regarding generic multiplexer properties can be found
++at Documentation/devicetree/bindings/net/mdio-mux.txt
++
++Required properties of the integrated phy node:
+ - clocks: a phandle to the reference clock for the EPHY
+ - resets: a phandle to the reset control for the EPHY
++- Must be a child of the integrated mdio
+
+-Example:
+-
++Example with integrated PHY:
+ emac: ethernet@1c0b000 {
+ compatible = "allwinner,sun8i-h3-emac";
+ syscon = <&syscon>;
+@@ -72,13 +91,117 @@ emac: ethernet@1c0b000 {
+ phy-handle = <&int_mii_phy>;
+ phy-mode = "mii";
+ allwinner,leds-active-low;
++
++ mdio: mdio {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "snps,dwmac-mdio";
++ };
++
++ mdio-mux {
++ compatible = "mdio-mux", "allwinner,sun8i-h3-mdio-mux";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ mdio-parent-bus = <&mdio>;
++
++ int_mdio: mdio@1 {
++ compatible = "allwinner,sun8i-h3-mdio-internal";
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ int_mii_phy: ethernet-phy@1 {
++ reg = <1>;
++ clocks = <&ccu CLK_BUS_EPHY>;
++ resets = <&ccu RST_BUS_EPHY>;
++ phy-is-integrated;
++ };
++ };
++ ext_mdio: mdio@2 {
++ reg = <2>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ };
++ };
++};
++
++Example with external PHY:
++emac: ethernet@1c0b000 {
++ compatible = "allwinner,sun8i-h3-emac";
++ syscon = <&syscon>;
++ reg = <0x01c0b000 0x104>;
++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "macirq";
++ resets = <&ccu RST_BUS_EMAC>;
++ reset-names = "stmmaceth";
++ clocks = <&ccu CLK_BUS_EMAC>;
++ clock-names = "stmmaceth";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ phy-handle = <&ext_rgmii_phy>;
++ phy-mode = "rgmii";
++ allwinner,leds-active-low;
++
++ mdio: mdio {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ compatible = "snps,dwmac-mdio";
++ };
++
++ mdio-mux {
++ compatible = "allwinner,sun8i-h3-mdio-mux";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ mdio-parent-bus = <&mdio>;
++
++ int_mdio: mdio@1 {
++ compatible = "allwinner,sun8i-h3-mdio-internal";
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ int_mii_phy: ethernet-phy@1 {
++ reg = <1>;
++ clocks = <&ccu CLK_BUS_EPHY>;
++ resets = <&ccu RST_BUS_EPHY>;
++ };
++ };
++ ext_mdio: mdio@2 {
++ reg = <2>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ ext_rgmii_phy: ethernet-phy@1 {
++ reg = <1>;
++ };
++ }:
++ };
++};
++
++Example with SoC without integrated PHY
++
++emac: ethernet@1c0b000 {
++ compatible = "allwinner,sun8i-a83t-emac";
++ syscon = <&syscon>;
++ reg = <0x01c0b000 0x104>;
++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "macirq";
++ resets = <&ccu RST_BUS_EMAC>;
++ reset-names = "stmmaceth";
++ clocks = <&ccu CLK_BUS_EMAC>;
++ clock-names = "stmmaceth";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ phy-handle = <&ext_rgmii_phy>;
++ phy-mode = "rgmii";
++
+ mdio: mdio {
++ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+- int_mii_phy: ethernet-phy@1 {
++ ext_rgmii_phy: ethernet-phy@1 {
+ reg = <1>;
+- clocks = <&ccu CLK_BUS_EPHY>;
+- resets = <&ccu RST_BUS_EPHY>;
+ };
+ };
+ };
+--
+2.14.3
+
+From 1de79efa35a1130c7a085f62b9d9b666d79b9a89 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
-Date: Mon, 4 Sep 2017 13:04:41 +0100
-Subject: [PATCH 2/4] Revert "arm: dts: sunxi: Revert EMAC changes"
+Date: Wed, 1 Nov 2017 14:04:20 +0000
+Subject: [PATCH 06/11] arm: dts: sunxi: h3/h5: Restore EMAC changes
+
+The original dwmac-sun8i DT bindings have some issue on how to handle
+integrated PHY and was reverted in last RC of 4.13.
+But now we have a solution so we need to get back that was reverted.
-This reverts commit fe45174b72aead678da581bab9e9a37c9b26a070.
+This patch restore sunxi-h3-h5.dtsi
+This reverts partially commit fe45174b72ae ("arm: dts: sunxi: Revert EMAC changes")
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
---
- arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 9 ++++++++
- arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 19 +++++++++++++++++
- arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 7 ++++++
- arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 +++++++
- arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 +++++++
+ arch/arm/boot/dts/sunxi-h3-h5.dtsi | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+index 11240a8313c2..d38282b9e5d4 100644
+--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+@@ -391,6 +391,32 @@
+ clocks = <&osc24M>;
+ };
+
++ emac: ethernet@1c30000 {
++ compatible = "allwinner,sun8i-h3-emac";
++ syscon = <&syscon>;
++ reg = <0x01c30000 0x10000>;
++ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "macirq";
++ resets = <&ccu RST_BUS_EMAC>;
++ reset-names = "stmmaceth";
++ clocks = <&ccu CLK_BUS_EMAC>;
++ clock-names = "stmmaceth";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++
++ mdio: mdio {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ int_mii_phy: ethernet-phy@1 {
++ compatible = "ethernet-phy-ieee802.3-c22";
++ reg = <1>;
++ clocks = <&ccu CLK_BUS_EPHY>;
++ resets = <&ccu RST_BUS_EPHY>;
++ };
++ };
++ };
++
+ spi0: spi@01c68000 {
+ compatible = "allwinner,sun8i-h3-spi";
+ reg = <0x01c68000 0x1000>;
+--
+2.14.3
+
+From 65233cba93184e0efa8d94f907d65af947d197a1 Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 31 Oct 2017 09:19:11 +0100
+Subject: [PATCH 07/11] ARM: dts: sunxi: h3/h5: represent the mdio switch used
+ by sun8i-h3-emac
+
+Since dwmac-sun8i could use either an integrated PHY or an external PHY
+(which could be at same MDIO address), we need to represent this selection
+by a MDIO switch.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+---
+ arch/arm/boot/dts/sunxi-h3-h5.dtsi | 31 +++++++++++++++++++++++++++----
+ 1 file changed, 27 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+index d38282b9e5d4..2721b39c1875 100644
+--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+@@ -408,11 +408,34 @@
+ mdio: mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+- int_mii_phy: ethernet-phy@1 {
+- compatible = "ethernet-phy-ieee802.3-c22";
++ compatible = "snps,dwmac-mdio";
++ };
++
++ mdio-mux {
++ compatible = "allwinner,sun8i-h3-mdio-mux";
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ mdio-parent-bus = <&mdio>;
++ /* Only one MDIO is usable at the time */
++ internal_mdio: mdio@1 {
++ compatible = "allwinner,sun8i-h3-mdio-internal";
+ reg = <1>;
+- clocks = <&ccu CLK_BUS_EPHY>;
+- resets = <&ccu RST_BUS_EPHY>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ int_mii_phy: ethernet-phy@1 {
++ compatible = "ethernet-phy-ieee802.3-c22";
++ reg = <1>;
++ clocks = <&ccu CLK_BUS_EPHY>;
++ resets = <&ccu RST_BUS_EPHY>;
++ };
++ };
++
++ external_mdio: mdio@2 {
++ reg = <2>;
++ #address-cells = <1>;
++ #size-cells = <0>;
+ };
+ };
+ };
+--
+2.14.3
+
+From b705315d36dbe1b31062f30c987b3a502b437c85 Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Wed, 1 Nov 2017 14:08:45 +0000
+Subject: [PATCH 08/11] ARM: dts: sunxi: Restore EMAC changes (boards)
+
+The original dwmac-sun8i DT bindings have some issue on how to handle
+integrated PHY and was reverted in last RC of 4.13.
+But now we have a solution so we need to get back that was reverted.
+
+This patch restore all boards DT about dwmac-sun8i
+This reverts partially commit fe45174b72ae ("arm: dts: sunxi: Revert EMAC changes")
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 9 +++++++++
+ arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 19 +++++++++++++++++++
+ arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 19 +++++++++++++++++++
+ arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 7 +++++++
+ arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 8 ++++++++
+ arch/arm/boot/dts/sun8i-h3-orangepi-one.dts | 8 ++++++++
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 +++++
- arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 +++++++
- arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 22 +++++++++++++++++++
- arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | 16 ++++++++++++++
- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 26 +++++++++++++++++++++++
- 10 files changed, 128 insertions(+)
+ arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts | 8 ++++++++
+ arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 22 ++++++++++++++++++++++
+ arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | 16 ++++++++++++++++
+ 10 files changed, 121 insertions(+)
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
index b1502df7b509..6713d0f2b3f4 100644
@@ -77,7 +1091,7 @@ index b1502df7b509..6713d0f2b3f4 100644
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>;
diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
-index a337af1de322..d756ff825116 100644
+index a337af1de322..3f95d806355b 100644
--- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
@@ -52,6 +52,7 @@
@@ -88,7 +1102,7 @@ index a337af1de322..d756ff825116 100644
serial0 = &uart0;
serial1 = &uart1;
};
-@@ -114,12 +115,30 @@
+@@ -114,6 +115,24 @@
status = "okay";
};
@@ -103,22 +1117,43 @@ index a337af1de322..d756ff825116 100644
+ status = "okay";
+};
+
++&external_mdio {
++ ext_rgmii_phy: ethernet-phy@1 {
++ compatible = "ethernet-phy-ieee802.3-c22";
++ reg = <0>;
++ };
++};
++
&ir {
pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>;
+diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+index 8ddd1b2cc097..ef0371811296 100644
+--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
++++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+@@ -62,3 +62,22 @@
+ &ohci2 {
status = "okay";
};
-
-+&mdio {
++
++&emac {
++ pinctrl-names = "default";
++ pinctrl-0 = <&emac_rgmii_pins>;
++ phy-supply = <&reg_gmac_3v3>;
++ phy-handle = <&ext_rgmii_phy>;
++ phy-mode = "rgmii";
++
++ allwinner,leds-active-low;
++
++ status = "okay";
++};
++
++&external_mdio {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <0>;
++ reg = <7>;
+ };
+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
index 8d2cc6e9a03f..78f6c24952dd 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
@@ -229,7 +1264,7 @@ index 1a044b17d6c6..998b60f8d295 100644
pinctrl-names = "default";
pinctrl-0 = <&ir_pins_a>;
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
-index 828ae7a526d9..331ed683ac62 100644
+index 828ae7a526d9..3002c025e187 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts
@@ -47,6 +47,10 @@
@@ -258,7 +1293,7 @@ index 828ae7a526d9..331ed683ac62 100644
+ status = "okay";
+};
+
-+&mdio {
++&external_mdio {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
@@ -269,7 +1304,7 @@ index 828ae7a526d9..331ed683ac62 100644
pinctrl-names = "default";
pinctrl-0 = <&mmc2_8bit_pins>;
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
-index 97920b12a944..80026f3caafc 100644
+index 97920b12a944..6dbf7b2e0c13 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
@@ -61,3 +61,19 @@
@@ -286,71 +1321,39 @@ index 97920b12a944..80026f3caafc 100644
+ status = "okay";
+};
+
-+&mdio {
++&external_mdio {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
-diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-index 11240a8313c2..d38282b9e5d4 100644
---- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
-@@ -391,6 +391,32 @@
- clocks = <&osc24M>;
- };
-
-+ emac: ethernet@1c30000 {
-+ compatible = "allwinner,sun8i-h3-emac";
-+ syscon = <&syscon>;
-+ reg = <0x01c30000 0x10000>;
-+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "macirq";
-+ resets = <&ccu RST_BUS_EMAC>;
-+ reset-names = "stmmaceth";
-+ clocks = <&ccu CLK_BUS_EMAC>;
-+ clock-names = "stmmaceth";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ status = "disabled";
-+
-+ mdio: mdio {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ int_mii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ clocks = <&ccu CLK_BUS_EPHY>;
-+ resets = <&ccu RST_BUS_EPHY>;
-+ };
-+ };
-+ };
-+
- spi0: spi@01c68000 {
- compatible = "allwinner,sun8i-h3-spi";
- reg = <0x01c68000 0x1000>;
--
-2.13.5
+2.14.3
-From 4aba5ca95496899165ee7ceef5d9c60a6e7b15dd Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Mon, 4 Sep 2017 13:04:47 +0100
-Subject: [PATCH 3/4] Revert "arm64: dts: allwinner: Revert EMAC changes"
+From 516b88bfa40cf54732d2ba5e689fdf592a742ec3 Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 31 Oct 2017 09:19:13 +0100
+Subject: [PATCH 09/11] arm64: dts: allwinner: A64: Restore EMAC changes
+
+The original dwmac-sun8i DT bindings have some issue on how to handle
+integrated PHY and was reverted in last RC of 4.13.
+But now we have a solution so we need to get back that was reverted.
-This reverts commit 87e1f5e8bb4bd584de0a8f3b1e42196dca221d02.
+This patch restore arm64 DT about dwmac-sun8i for A64
+This reverts commit 87e1f5e8bb4b ("arm64: dts: allwinner: Revert EMAC changes")
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
---
.../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 16 ++++++++++++++++
.../boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 15 +++++++++++++++
arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 17 +++++++++++++++++
.../dts/allwinner/sun50i-a64-sopine-baseboard.dts | 16 ++++++++++++++++
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 20 ++++++++++++++++++++
- .../boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts | 17 +++++++++++++++++
- .../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 17 +++++++++++++++++
- .../boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 17 +++++++++++++++++
- 8 files changed, 135 insertions(+)
+ 5 files changed, 84 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
-index 6872135d7f84..ba2fde2909f9 100644
+index d347f52e27f6..45bdbfb96126 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
@@ -51,6 +51,7 @@
@@ -361,8 +1364,8 @@ index 6872135d7f84..ba2fde2909f9 100644
serial0 = &uart0;
serial1 = &uart1;
};
-@@ -67,6 +68,14 @@
- };
+@@ -69,6 +70,14 @@
+ status = "okay";
};
+&emac {
@@ -376,7 +1379,7 @@ index 6872135d7f84..ba2fde2909f9 100644
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
-@@ -77,6 +86,13 @@
+@@ -79,6 +88,13 @@
bias-pull-up;
};
@@ -414,7 +1417,7 @@ index f82ccf332c0f..24f1aac366d6 100644
+ };
+};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
-index 7c533b6d4ba9..827168bc22ed 100644
+index d06e34b5d192..806442d3e846 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -51,6 +51,7 @@
@@ -425,7 +1428,7 @@ index 7c533b6d4ba9..827168bc22ed 100644
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
-@@ -78,6 +79,15 @@
+@@ -71,6 +72,15 @@
status = "okay";
};
@@ -441,7 +1444,7 @@ index 7c533b6d4ba9..827168bc22ed 100644
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
-@@ -88,6 +98,13 @@
+@@ -81,6 +91,13 @@
bias-pull-up;
};
@@ -456,7 +1459,7 @@ index 7c533b6d4ba9..827168bc22ed 100644
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
-index d891a1a27f6c..216e3a5dafae 100644
+index 17ccc12b58df..0eb2acedf8c3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
@@ -53,6 +53,7 @@
@@ -490,7 +1493,7 @@ index d891a1a27f6c..216e3a5dafae 100644
pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-index 68aadc9b96dc..bd0f33b77f57 100644
+index 8c8db1b057df..50f17bab0c07 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -449,6 +449,26 @@
@@ -520,8 +1523,31 @@ index 68aadc9b96dc..bd0f33b77f57 100644
gic: interrupt-controller@1c81000 {
compatible = "arm,gic-400";
reg = <0x01c81000 0x1000>,
+--
+2.14.3
+
+From 070173449eb88e9cf9c91889c77f53616911f4d0 Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 31 Oct 2017 09:19:14 +0100
+Subject: [PATCH 10/11] arm64: dts: allwinner: H5: Restore EMAC changes
+
+The original dwmac-sun8i DT bindings have some issue on how to handle
+integrated PHY and was reverted in last RC of 4.13.
+But now we have a solution so we need to get back that was reverted.
+
+This patch restore arm64 DT about dwmac-sun8i for H5
+This reverts a part of commit 87e1f5e8bb4b ("arm64: dts: allwinner: Revert EMAC changes")
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts | 17 +++++++++++++++++
+ .../arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 17 +++++++++++++++++
+ .../boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 17 +++++++++++++++++
+ 3 files changed, 51 insertions(+)
+
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
-index 1c2387bd5df6..968908761194 100644
+index 1c2387bd5df6..6eb8092d8e57 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
@@ -50,6 +50,7 @@
@@ -545,7 +1571,7 @@ index 1c2387bd5df6..968908761194 100644
+ status = "okay";
+};
+
-+&mdio {
++&external_mdio {
+ ext_rgmii_phy: ethernet-phy@7 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <7>;
@@ -556,7 +1582,7 @@ index 1c2387bd5df6..968908761194 100644
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
-index 4f77c8470f6c..a8296feee884 100644
+index 4f77c8470f6c..a0ca925175aa 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
@@ -59,6 +59,7 @@
@@ -567,7 +1593,7 @@ index 4f77c8470f6c..a8296feee884 100644
serial0 = &uart0;
};
-@@ -136,12 +137,28 @@
+@@ -136,6 +137,22 @@
status = "okay";
};
@@ -580,24 +1606,18 @@ index 4f77c8470f6c..a8296feee884 100644
+ status = "okay";
+};
+
- &ir {
- pinctrl-names = "default";
- pinctrl-0 = <&ir_pins_a>;
- status = "okay";
- };
-
-+&mdio {
++&external_mdio {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
+
- &mmc0 {
+ &ir {
pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+ pinctrl-0 = <&ir_pins_a>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
-index 6be06873e5af..d906b302cbcd 100644
+index 6be06873e5af..b47790650144 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
@@ -54,6 +54,7 @@
@@ -608,7 +1628,7 @@ index 6be06873e5af..d906b302cbcd 100644
serial0 = &uart0;
};
-@@ -143,12 +144,28 @@
+@@ -143,6 +144,22 @@
status = "okay";
};
@@ -621,126 +1641,334 @@ index 6be06873e5af..d906b302cbcd 100644
+ status = "okay";
+};
+
- &ir {
- pinctrl-names = "default";
- pinctrl-0 = <&ir_pins_a>;
- status = "okay";
- };
-
-+&mdio {
++&external_mdio {
+ ext_rgmii_phy: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
+
- &mmc0 {
+ &ir {
pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+ pinctrl-0 = <&ir_pins_a>;
--
-2.13.5
+2.14.3
-From 11190f020b948ccdf15061b6df8cc2836a2afcb1 Mon Sep 17 00:00:00 2001
+From 63118a9f7808a0a67c23e7d276138c996e094eae Mon Sep 17 00:00:00 2001
+From: Corentin LABBE <clabbe.montjoie@gmail.com>
+Date: Tue, 31 Oct 2017 09:19:15 +0100
+Subject: [PATCH 11/11] arm64: dts: allwinner: add snps, dwmac-mdio compatible
+ to emac/mdio
+
+stmmac bindings docs said that its mdio node must have
+compatible = "snps,dwmac-mdio";
+Since dwmac-sun8i does not have any good reasons to not doing it, all
+their MDIO node must have it.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Acked-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+index 50f17bab0c07..8fd75c95937a 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+@@ -464,6 +464,7 @@
+ #size-cells = <0>;
+
+ mdio: mdio {
++ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+--
+2.14.3
+
+From patchwork Fri Nov 10 09:26:54 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: arm64: allwinner: a64: add Ethernet PHY regulator for several boards
+From: Icenowy Zheng <icenowy@aosc.io>
+X-Patchwork-Id: 10052659
+Message-Id: <20171110092654.10746-1-icenowy@aosc.io>
+To: Maxime Ripard <maxime.ripard@free-electrons.com>,
+ Chen-Yu Tsai <wens@csie.org>
+Cc: linux-sunxi@googlegroups.com, linux-kernel@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
+Date: Fri, 10 Nov 2017 17:26:54 +0800
+
+On several A64 boards the Ethernet PHY is powered by the DC1SW regulator
+on the AXP803 PMIC.
+
+Add phy-handle property to these boards' emac node.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Acked-by: Corentin LABBE <clabbe.montjoie@gmail.com>
+Tested-by: Corentin LABBE <clabbe.montjoie@gmail.com>
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 1 +
+ arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 1 +
+ arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+index 45bdbfb96126..4a8d3f83a36e 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+@@ -75,6 +75,7 @@
+ pinctrl-0 = <&rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
++ phy-supply = <&reg_dc1sw>;
+ status = "okay";
+ };
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+index 806442d3e846..604cdaedac38 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+@@ -77,6 +77,7 @@
+ pinctrl-0 = <&rmii_pins>;
+ phy-mode = "rmii";
+ phy-handle = <&ext_rmii_phy1>;
++ phy-supply = <&reg_dc1sw>;
+ status = "okay";
+
+ };
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+index 0eb2acedf8c3..a053a6ac5267 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+@@ -82,6 +82,7 @@
+ pinctrl-0 = <&rgmii_pins>;
+ phy-mode = "rgmii";
+ phy-handle = <&ext_rgmii_phy>;
++ phy-supply = <&reg_dc1sw>;
+ status = "okay";
+ };
+
+From 79e7d6c8bfe67fce8c8fe4953e74ce7f420dd732 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
-Date: Mon, 4 Sep 2017 13:04:55 +0100
-Subject: [PATCH 4/4] Revert "dt-bindings: net: Revert sun8i dwmac binding"
+Date: Tue, 21 Nov 2017 15:43:19 +0000
+Subject: [PATCH] ARM: dts: sunxi: sun8i-h3-nanopi-m1-plus: Add missing
+ regulator
+
+This patch add the missing regulator for sun8i-h3-nanopi-m1-plus.
-This reverts commit 8aa33ec2f4812d1ee96f4c02ba013f5b9c514343.
+Fixes: ("ARM: dts: sunxi: Restore EMAC changes (boards)")
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
---
- .../devicetree/bindings/net/dwmac-sun8i.txt | 84 ++++++++++++++++++++++
- 1 file changed, 84 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/net/dwmac-sun8i.txt
+ arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
-diff --git a/Documentation/devicetree/bindings/net/dwmac-sun8i.txt b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
-new file mode 100644
-index 000000000000..725f3b187886
---- /dev/null
-+++ b/Documentation/devicetree/bindings/net/dwmac-sun8i.txt
-@@ -0,0 +1,84 @@
-+* Allwinner sun8i GMAC ethernet controller
-+
-+This device is a platform glue layer for stmmac.
-+Please see stmmac.txt for the other unchanged properties.
-+
-+Required properties:
-+- compatible: should be one of the following string:
-+ "allwinner,sun8i-a83t-emac"
-+ "allwinner,sun8i-h3-emac"
-+ "allwinner,sun8i-v3s-emac"
-+ "allwinner,sun50i-a64-emac"
-+- reg: address and length of the register for the device.
-+- interrupts: interrupt for the device
-+- interrupt-names: should be "macirq"
-+- clocks: A phandle to the reference clock for this device
-+- clock-names: should be "stmmaceth"
-+- resets: A phandle to the reset control for this device
-+- reset-names: should be "stmmaceth"
-+- phy-mode: See ethernet.txt
-+- phy-handle: See ethernet.txt
-+- #address-cells: shall be 1
-+- #size-cells: shall be 0
-+- syscon: A phandle to the syscon of the SoC with one of the following
-+ compatible string:
-+ - allwinner,sun8i-h3-system-controller
-+ - allwinner,sun8i-v3s-system-controller
-+ - allwinner,sun50i-a64-system-controller
-+ - allwinner,sun8i-a83t-system-controller
-+
-+Optional properties:
-+- allwinner,tx-delay-ps: TX clock delay chain value in ps. Range value is 0-700. Default is 0)
-+- allwinner,rx-delay-ps: RX clock delay chain value in ps. Range value is 0-3100. Default is 0)
-+Both delay properties need to be a multiple of 100. They control the delay for
-+external PHY.
-+
-+Optional properties for the following compatibles:
-+ - "allwinner,sun8i-h3-emac",
-+ - "allwinner,sun8i-v3s-emac":
-+- allwinner,leds-active-low: EPHY LEDs are active low
-+
-+Required child node of emac:
-+- mdio bus node: should be named mdio
-+
-+Required properties of the mdio node:
-+- #address-cells: shall be 1
-+- #size-cells: shall be 0
-+
-+The device node referenced by "phy" or "phy-handle" should be a child node
-+of the mdio node. See phy.txt for the generic PHY bindings.
+diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+index ef0371811296..738ef1d9e844 100644
+--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
++++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+@@ -45,6 +45,17 @@
+ / {
+ model = "FriendlyArm NanoPi M1 Plus";
+ compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3";
+
-+Required properties of the phy node with the following compatibles:
-+ - "allwinner,sun8i-h3-emac",
-+ - "allwinner,sun8i-v3s-emac":
-+- clocks: a phandle to the reference clock for the EPHY
-+- resets: a phandle to the reset control for the EPHY
++ reg_gmac_3v3: gmac-3v3 {
++ compatible = "regulator-fixed";
++ regulator-name = "gmac-3v3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ startup-delay-us = <100000>;
++ enable-active-high;
++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
++ };
+
-+Example:
+ };
+
+ &ehci1 {
+--
+2.14.3
+
+From 4497478c60c04d2bf37082e27fc98f4f835db96b Mon Sep 17 00:00:00 2001
+From: Niklas Cassel <niklas.cassel@axis.com>
+Date: Tue, 14 Nov 2017 11:15:54 +0100
+Subject: net: stmmac: fix LPI transitioning for dwmac4
+
+The LPI transitioning logic in stmmac_main uses
+priv->tx_path_in_lpi_mode to enter/exit LPI.
+
+However, priv->tx_path_in_lpi_mode is assigned
+using the return value from host_irq_status().
+
+So for dwmac4, priv->tx_path_in_lpi_mode was always false,
+so stmmac_tx_clean() would always try to put us in eee mode,
+and stmmac_xmit() would never take us out of eee mode.
+
+To fix this, make host_irq_status() read and return the LPI
+irq status also for dwmac4.
+
+This also increments the existing LPI counters, so that
+ethtool --statistics shows LPI transitions also for dwmac4.
+
+For dwmac1000, irqs are enabled/disabled using the register
+named "Interrupt Mask Register", and thus setting a bit disables
+that specific irq.
+
+For dwmac4 the matching register is named "MAC_Interrupt_Enable",
+and thus setting a bit enables that specific irq.
+
+Looking at dwmac1000_core.c, the irqs that are always enabled are:
+LPI and PMT.
+
+Looking at dwmac4_core.c, the irqs that are always enabled are:
+PMT.
+
+To be able to read the LPI irq status, we need to enable the LPI
+irq also for dwmac4.
+
+Signed-off-by: Niklas Cassel <niklas.cassel@axis.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 7 ++++++-
+ drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 19 +++++++++++++++++++
+ 2 files changed, 25 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h
+index aeda3ab..789dad8 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4.h
++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4.h
+@@ -98,7 +98,7 @@
+ #define GMAC_PCS_IRQ_DEFAULT (GMAC_INT_RGSMIIS | GMAC_INT_PCS_LINK | \
+ GMAC_INT_PCS_ANE)
+
+-#define GMAC_INT_DEFAULT_MASK GMAC_INT_PMT_EN
++#define GMAC_INT_DEFAULT_MASK (GMAC_INT_PMT_EN | GMAC_INT_LPI_EN)
+
+ enum dwmac4_irq_status {
+ time_stamp_irq = 0x00001000,
+@@ -106,6 +106,7 @@ enum dwmac4_irq_status {
+ mmc_tx_irq = 0x00000400,
+ mmc_rx_irq = 0x00000200,
+ mmc_irq = 0x00000100,
++ lpi_irq = 0x00000020,
+ pmt_irq = 0x00000010,
+ };
+
+@@ -132,6 +133,10 @@ enum power_event {
+ #define GMAC4_LPI_CTRL_STATUS_LPITXA BIT(19) /* Enable LPI TX Automate */
+ #define GMAC4_LPI_CTRL_STATUS_PLS BIT(17) /* PHY Link Status */
+ #define GMAC4_LPI_CTRL_STATUS_LPIEN BIT(16) /* LPI Enable */
++#define GMAC4_LPI_CTRL_STATUS_RLPIEX BIT(3) /* Receive LPI Exit */
++#define GMAC4_LPI_CTRL_STATUS_RLPIEN BIT(2) /* Receive LPI Entry */
++#define GMAC4_LPI_CTRL_STATUS_TLPIEX BIT(1) /* Transmit LPI Exit */
++#define GMAC4_LPI_CTRL_STATUS_TLPIEN BIT(0) /* Transmit LPI Entry */
+
+ /* MAC Debug bitmap */
+ #define GMAC_DEBUG_TFCSTS_MASK GENMASK(18, 17)
+diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+index 2f7d7ec..f3ed8f7 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+@@ -580,6 +580,25 @@ static int dwmac4_irq_status(struct mac_device_info *hw,
+ x->irq_receive_pmt_irq_n++;
+ }
+
++ /* MAC tx/rx EEE LPI entry/exit interrupts */
++ if (intr_status & lpi_irq) {
++ /* Clear LPI interrupt by reading MAC_LPI_Control_Status */
++ u32 status = readl(ioaddr + GMAC4_LPI_CTRL_STATUS);
+
-+emac: ethernet@1c0b000 {
-+ compatible = "allwinner,sun8i-h3-emac";
-+ syscon = <&syscon>;
-+ reg = <0x01c0b000 0x104>;
-+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "macirq";
-+ resets = <&ccu RST_BUS_EMAC>;
-+ reset-names = "stmmaceth";
-+ clocks = <&ccu CLK_BUS_EMAC>;
-+ clock-names = "stmmaceth";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
++ if (status & GMAC4_LPI_CTRL_STATUS_TLPIEN) {
++ ret |= CORE_IRQ_TX_PATH_IN_LPI_MODE;
++ x->irq_tx_path_in_lpi_mode_n++;
++ }
++ if (status & GMAC4_LPI_CTRL_STATUS_TLPIEX) {
++ ret |= CORE_IRQ_TX_PATH_EXIT_LPI_MODE;
++ x->irq_tx_path_exit_lpi_mode_n++;
++ }
++ if (status & GMAC4_LPI_CTRL_STATUS_RLPIEN)
++ x->irq_rx_path_in_lpi_mode_n++;
++ if (status & GMAC4_LPI_CTRL_STATUS_RLPIEX)
++ x->irq_rx_path_exit_lpi_mode_n++;
++ }
+
-+ phy-handle = <&int_mii_phy>;
-+ phy-mode = "mii";
-+ allwinner,leds-active-low;
-+ mdio: mdio {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ int_mii_phy: ethernet-phy@1 {
-+ reg = <1>;
-+ clocks = <&ccu CLK_BUS_EPHY>;
-+ resets = <&ccu RST_BUS_EPHY>;
-+ };
-+ };
-+};
+ dwmac_pcs_isr(ioaddr, GMAC_PCS_BASE, intr_status, x);
+ if (intr_status & PCS_RGSMIIIS_IRQ)
+ dwmac4_phystatus(ioaddr, x);
+--
+cgit v1.1
+
+From 1c08ac0c4bd8e9d66c4dde29bc496c3b430dd028 Mon Sep 17 00:00:00 2001
+From: Corentin Labbe <clabbe.montjoie@gmail.com>
+Date: Tue, 28 Nov 2017 17:48:22 +0100
+Subject: net: stmmac: dwmac-sun8i: fix allwinner,leds-active-low handling
+
+The driver expect "allwinner,leds-active-low" to be in PHY node, but
+the binding doc expect it to be in MAC node.
+
+Since all board DT use it also in MAC node, the driver need to search
+allwinner,leds-active-low in MAC node.
+
+Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+index e5ff734..9eb7f65 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
++++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c
+@@ -808,8 +808,7 @@ static int sun8i_dwmac_set_syscon(struct stmmac_priv *priv)
+ val, reg);
+
+ if (gmac->variant->soc_has_internal_phy) {
+- if (of_property_read_bool(priv->plat->phy_node,
+- "allwinner,leds-active-low"))
++ if (of_property_read_bool(node, "allwinner,leds-active-low"))
+ reg |= H3_EPHY_LED_POL;
+ else
+ reg &= ~H3_EPHY_LED_POL;
+--
+cgit v1.1
+
+From 45ab4b13e46325d00f4acdb365d406e941a15f81 Mon Sep 17 00:00:00 2001
+From: Lars Persson <lars.persson@axis.com>
+Date: Fri, 1 Dec 2017 11:12:44 +0100
+Subject: stmmac: reset last TSO segment size after device open
+
+The mss variable tracks the last max segment size sent to the TSO
+engine. We do not update the hardware as long as we receive skb:s with
+the same value in gso_size.
+
+During a network device down/up cycle (mapped to stmmac_release() and
+stmmac_open() callbacks) we issue a reset to the hardware and it
+forgets the setting for mss. However we did not zero out our mss
+variable so the next transmission of a gso packet happens with an
+undefined hardware setting.
+
+This triggers a hang in the TSO engine and eventuelly the netdev
+watchdog will bark.
+
+Fixes: f748be531d70 ("stmmac: support new GMAC4")
+Signed-off-by: Lars Persson <larper@axis.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+index f63c2dd..d725053 100644
+--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
++++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+@@ -2588,6 +2588,7 @@ static int stmmac_open(struct net_device *dev)
+
+ priv->dma_buf_sz = STMMAC_ALIGN(buf_sz);
+ priv->rx_copybreak = STMMAC_RX_COPYBREAK;
++ priv->mss = 0;
+
+ ret = alloc_dma_desc_resources(priv);
+ if (ret < 0) {
--
-2.13.5
+cgit v1.1
diff --git a/freed-ora/current/f26/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch b/freed-ora/current/f26/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch
deleted file mode 100644
index b4c945697..000000000
--- a/freed-ora/current/f26/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From patchwork Mon May 22 14:51:38 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: arm: dts: boneblack-wireless: add WL1835 Bluetooth device node
-From: Ricardo Salveti <ricardo.salveti@linaro.org>
-X-Patchwork-Id: 9740719
-Message-Id: <1495464701-12046-1-git-send-email-ricardo.salveti@linaro.org>
-To: linux-omap@vger.kernel.org
-Cc: Mark Rutland <mark.rutland@arm.com>,
- Ricardo Salveti <ricardo.salveti@linaro.org>, devicetree@vger.kernel.org,
- Tony Lindgren <tony@atomide.com>, Russell King <linux@armlinux.org.uk>,
- linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
- =?UTF-8?q?Beno=C3=AEt=20Cousson?= <bcousson@baylibre.com>,
- robertcnelson@gmail.com, linux-arm-kernel@lists.infradead.org
-Date: Mon, 22 May 2017 11:51:38 -0300
-
-This adds the serial slave device for the WL1835 Bluetooth interface.
-
-Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
----
- arch/arm/boot/dts/am335x-boneblack-wireless.dts | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/arch/arm/boot/dts/am335x-boneblack-wireless.dts b/arch/arm/boot/dts/am335x-boneblack-wireless.dts
-index 105bd10..83f49f6 100644
---- a/arch/arm/boot/dts/am335x-boneblack-wireless.dts
-+++ b/arch/arm/boot/dts/am335x-boneblack-wireless.dts
-@@ -97,6 +97,11 @@
- pinctrl-names = "default";
- pinctrl-0 = <&uart3_pins &bt_pins>;
- status = "okay";
-+
-+ bluetooth {
-+ compatible = "ti,wl1835-st";
-+ enable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
-+ };
- };
-
- &gpio3 {
diff --git a/freed-ora/current/f26/arm-exynos-fix-usb3.patch b/freed-ora/current/f26/arm-exynos-fix-usb3.patch
new file mode 100644
index 000000000..cb5828acf
--- /dev/null
+++ b/freed-ora/current/f26/arm-exynos-fix-usb3.patch
@@ -0,0 +1,411 @@
+From patchwork Mon Oct 9 12:00:50 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [PATCHv4,1/2] drivers: phy: add calibrate method
+From: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
+X-Patchwork-Id: 9992829
+Message-Id: <1507550451-21324-2-git-send-email-andrzej.p@samsung.com>
+To: linux-samsung-soc@vger.kernel.org, linux-usb@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org
+Cc: Mark Rutland <mark.rutland@arm.com>, Felipe Balbi <balbi@kernel.org>,
+ Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
+ Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
+ Russell King <linux@armlinux.org.uk>,
+ Krzysztof Kozlowski <krzk@kernel.org>,
+ Kishon Vijay Abraham I <kishon@ti.com>,
+ Rob Herring <robh+dt@kernel.org>, Kukjin Kim <kgene@kernel.org>,
+ Andrzej Pietrasiewicz <andrzej.p@samsung.com>,
+ Marek Szyprowski <m.szyprowski@samsung.com>
+Date: Mon, 09 Oct 2017 14:00:50 +0200
+
+Some quirky UDCs (like dwc3 on Exynos) need to have their phys calibrated e.g.
+for using super speed. This patch adds a new phy_calibrate() method.
+When the calibration should be used is dependent on actual chip.
+
+In case of dwc3 on Exynos the calibration must happen after usb_add_hcd()
+(while in host mode), because certain phy parameters like Tx LOS levels
+and boost levels need to be calibrated further post initialization of xHCI
+controller, to get SuperSpeed operations working. But an hcd must be
+prepared first in order to pass it to usb_add_hcd(), so, in particular, dwc3
+registers must be available first, and in order for the latter to happen
+the phys must be initialized. This poses a chicken and egg problem if
+the calibration were to be performed in phy_init(). To break the circular
+dependency a separate method is added which can be called at a desired
+moment after phy intialization.
+
+Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
+---
+ drivers/phy/phy-core.c | 15 +++++++++++++++
+ include/linux/phy/phy.h | 10 ++++++++++
+ 2 files changed, 25 insertions(+)
+
+diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
+index a268f4d..b4964b0 100644
+--- a/drivers/phy/phy-core.c
++++ b/drivers/phy/phy-core.c
+@@ -372,6 +372,21 @@ int phy_reset(struct phy *phy)
+ }
+ EXPORT_SYMBOL_GPL(phy_reset);
+
++int phy_calibrate(struct phy *phy)
++{
++ int ret;
++
++ if (!phy || !phy->ops->calibrate)
++ return 0;
++
++ mutex_lock(&phy->mutex);
++ ret = phy->ops->calibrate(phy);
++ mutex_unlock(&phy->mutex);
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(phy_calibrate);
++
+ /**
+ * _of_phy_get() - lookup and obtain a reference to a phy by phandle
+ * @np: device_node for which to get the phy
+diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
+index e694d40..87580c8 100644
+--- a/include/linux/phy/phy.h
++++ b/include/linux/phy/phy.h
+@@ -39,6 +39,7 @@ enum phy_mode {
+ * @power_off: powering off the phy
+ * @set_mode: set the mode of the phy
+ * @reset: resetting the phy
++ * @calibrate: calibrate the phy
+ * @owner: the module owner containing the ops
+ */
+ struct phy_ops {
+@@ -48,6 +49,7 @@ struct phy_ops {
+ int (*power_off)(struct phy *phy);
+ int (*set_mode)(struct phy *phy, enum phy_mode mode);
+ int (*reset)(struct phy *phy);
++ int (*calibrate)(struct phy *phy);
+ struct module *owner;
+ };
+
+@@ -141,6 +143,7 @@ static inline void *phy_get_drvdata(struct phy *phy)
+ int phy_power_off(struct phy *phy);
+ int phy_set_mode(struct phy *phy, enum phy_mode mode);
+ int phy_reset(struct phy *phy);
++int phy_calibrate(struct phy *phy);
+ static inline int phy_get_bus_width(struct phy *phy)
+ {
+ return phy->attrs.bus_width;
+@@ -262,6 +265,13 @@ static inline int phy_reset(struct phy *phy)
+ return -ENOSYS;
+ }
+
++static inline int phy_calibrate(struct phy *phy)
++{
++ if (!phy)
++ return 0;
++ return -ENOSYS;
++}
++
+ static inline int phy_get_bus_width(struct phy *phy)
+ {
+ return -ENOSYS;
+From patchwork Mon Oct 9 12:00:51 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [PATCHv4,
+ 2/2] phy: exynos5-usbdrd: Calibrate LOS levels for exynos5420/5800
+From: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
+X-Patchwork-Id: 9992809
+Message-Id: <1507550451-21324-3-git-send-email-andrzej.p@samsung.com>
+To: linux-samsung-soc@vger.kernel.org, linux-usb@vger.kernel.org,
+ linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org
+Cc: Mark Rutland <mark.rutland@arm.com>, Felipe Balbi <balbi@kernel.org>,
+ Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
+ Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
+ Russell King <linux@armlinux.org.uk>,
+ Krzysztof Kozlowski <krzk@kernel.org>,
+ Kishon Vijay Abraham I <kishon@ti.com>,
+ Rob Herring <robh+dt@kernel.org>, Kukjin Kim <kgene@kernel.org>,
+ Andrzej Pietrasiewicz <andrzej.p@samsung.com>,
+ Marek Szyprowski <m.szyprowski@samsung.com>
+Date: Mon, 09 Oct 2017 14:00:51 +0200
+
+From: Vivek Gautam <gautam.vivek@samsung.com>
+
+Adding phy calibration sequence for USB 3.0 DRD PHY present on
+Exynos5420/5800 systems.
+This calibration facilitates setting certain PHY parameters viz.
+the Loss-of-Signal (LOS) Detector Threshold Level, as well as
+Tx-Vboost-Level for Super-Speed operations.
+Additionally we also set proper time to wait for RxDetect measurement,
+for desired PHY reference clock, so as to solve issue with enumeration
+of few USB 3.0 devices, like Samsung SUM-TSB16S 3.0 USB drive
+on the controller.
+
+We are using CR_port for this purpose to send required data
+to override the LOS values.
+
+On testing with USB 3.0 devices on USB 3.0 port present on
+SMDK5420, and peach-pit boards should see following message:
+usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd
+
+and without this patch, should see below shown message:
+usb 1-1: new high-speed USB device number 2 using xhci-hcd
+
+[Also removed unnecessary extra lines in the register macro definitions]
+
+Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
+[adapted to use phy_calibrate as entry point]
+Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
+---
+ drivers/phy/samsung/phy-exynos5-usbdrd.c | 183 +++++++++++++++++++++++++++++++
+ drivers/usb/dwc3/core.c | 7 +-
+ 2 files changed, 188 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/phy/samsung/phy-exynos5-usbdrd.c b/drivers/phy/samsung/phy-exynos5-usbdrd.c
+index 22c68f5..9e83c15 100644
+--- a/drivers/phy/samsung/phy-exynos5-usbdrd.c
++++ b/drivers/phy/samsung/phy-exynos5-usbdrd.c
+@@ -90,7 +90,17 @@
+ #define PHYCLKRST_COMMONONN BIT(0)
+
+ #define EXYNOS5_DRD_PHYREG0 0x14
++#define PHYREG0_SSC_REF_CLK_SEL BIT(21)
++#define PHYREG0_SSC_RANGE BIT(20)
++#define PHYREG0_CR_WRITE BIT(19)
++#define PHYREG0_CR_READ BIT(18)
++#define PHYREG0_CR_DATA_IN(_x) ((_x) << 2)
++#define PHYREG0_CR_CAP_DATA BIT(1)
++#define PHYREG0_CR_CAP_ADDR BIT(0)
++
+ #define EXYNOS5_DRD_PHYREG1 0x18
++#define PHYREG1_CR_DATA_OUT(_x) ((_x) << 1)
++#define PHYREG1_CR_ACK BIT(0)
+
+ #define EXYNOS5_DRD_PHYPARAM0 0x1c
+
+@@ -119,6 +129,25 @@
+ #define EXYNOS5_DRD_PHYRESUME 0x34
+ #define EXYNOS5_DRD_LINKPORT 0x44
+
++/* USB 3.0 DRD PHY SS Function Control Reg; accessed by CR_PORT */
++#define EXYNOS5_DRD_PHYSS_LOSLEVEL_OVRD_IN (0x15)
++#define LOSLEVEL_OVRD_IN_LOS_BIAS_5420 (0x5 << 13)
++#define LOSLEVEL_OVRD_IN_LOS_BIAS_DEFAULT (0x0 << 13)
++#define LOSLEVEL_OVRD_IN_EN (0x1 << 10)
++#define LOSLEVEL_OVRD_IN_LOS_LEVEL_DEFAULT (0x9 << 0)
++
++#define EXYNOS5_DRD_PHYSS_TX_VBOOSTLEVEL_OVRD_IN (0x12)
++#define TX_VBOOSTLEVEL_OVRD_IN_VBOOST_5420 (0x5 << 13)
++#define TX_VBOOSTLEVEL_OVRD_IN_VBOOST_DEFAULT (0x4 << 13)
++
++#define EXYNOS5_DRD_PHYSS_LANE0_TX_DEBUG (0x1010)
++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_19M2_20M (0x4 << 4)
++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_24M (0x8 << 4)
++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_25M_26M (0x8 << 4)
++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_48M_50M_52M (0x20 << 4)
++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_62M5 (0x20 << 4)
++#define LANE0_TX_DEBUG_RXDET_MEAS_TIME_96M_100M (0x40 << 4)
++
+ #define KHZ 1000
+ #define MHZ (KHZ * KHZ)
+
+@@ -527,6 +556,151 @@ static int exynos5_usbdrd_phy_power_off(struct phy *phy)
+ return 0;
+ }
+
++static int crport_handshake(struct exynos5_usbdrd_phy *phy_drd,
++ u32 val, u32 cmd)
++{
++ u32 usec = 100;
++ unsigned int result;
++
++ writel(val | cmd, phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0);
++
++ do {
++ result = readl(phy_drd->reg_phy + EXYNOS5_DRD_PHYREG1);
++ if (result & PHYREG1_CR_ACK)
++ break;
++
++ udelay(1);
++ } while (usec-- > 0);
++
++ if (!usec) {
++ dev_err(phy_drd->dev,
++ "CRPORT handshake timeout1 (0x%08x)\n", val);
++ return -ETIME;
++ }
++
++ usec = 100;
++
++ writel(val, phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0);
++
++ do {
++ result = readl(phy_drd->reg_phy + EXYNOS5_DRD_PHYREG1);
++ if (!(result & PHYREG1_CR_ACK))
++ break;
++
++ udelay(1);
++ } while (usec-- > 0);
++
++ if (!usec) {
++ dev_err(phy_drd->dev,
++ "CRPORT handshake timeout2 (0x%08x)\n", val);
++ return -ETIME;
++ }
++
++ return 0;
++}
++
++static int crport_ctrl_write(struct exynos5_usbdrd_phy *phy_drd,
++ u32 addr, u32 data)
++{
++ int ret;
++
++ /* Write Address */
++ writel(PHYREG0_CR_DATA_IN(addr),
++ phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0);
++ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(addr),
++ PHYREG0_CR_CAP_ADDR);
++ if (ret)
++ return ret;
++
++ /* Write Data */
++ writel(PHYREG0_CR_DATA_IN(data),
++ phy_drd->reg_phy + EXYNOS5_DRD_PHYREG0);
++ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(data),
++ PHYREG0_CR_CAP_DATA);
++ if (ret)
++ return ret;
++
++ ret = crport_handshake(phy_drd, PHYREG0_CR_DATA_IN(data),
++ PHYREG0_CR_WRITE);
++
++ return ret;
++}
++
++/*
++ * Calibrate few PHY parameters using CR_PORT register to meet
++ * SuperSpeed requirements on Exynos5420 and Exynos5800 systems,
++ * which have 28nm USB 3.0 DRD PHY.
++ */
++static int exynos5420_usbdrd_phy_calibrate(struct exynos5_usbdrd_phy *phy_drd)
++{
++ unsigned int temp;
++ int ret = 0;
++
++ /*
++ * Change los_bias to (0x5) for 28nm PHY from a
++ * default value (0x0); los_level is set as default
++ * (0x9) as also reflected in los_level[30:26] bits
++ * of PHYPARAM0 register.
++ */
++ temp = LOSLEVEL_OVRD_IN_LOS_BIAS_5420 |
++ LOSLEVEL_OVRD_IN_EN |
++ LOSLEVEL_OVRD_IN_LOS_LEVEL_DEFAULT;
++ ret = crport_ctrl_write(phy_drd,
++ EXYNOS5_DRD_PHYSS_LOSLEVEL_OVRD_IN,
++ temp);
++ if (ret) {
++ dev_err(phy_drd->dev,
++ "Failed setting Loss-of-Signal level for SuperSpeed\n");
++ return ret;
++ }
++
++ /*
++ * Set tx_vboost_lvl to (0x5) for 28nm PHY Tuning,
++ * to raise Tx signal level from its default value of (0x4)
++ */
++ temp = TX_VBOOSTLEVEL_OVRD_IN_VBOOST_5420;
++ ret = crport_ctrl_write(phy_drd,
++ EXYNOS5_DRD_PHYSS_TX_VBOOSTLEVEL_OVRD_IN,
++ temp);
++ if (ret) {
++ dev_err(phy_drd->dev,
++ "Failed setting Tx-Vboost-Level for SuperSpeed\n");
++ return ret;
++ }
++
++ /*
++ * Set proper time to wait for RxDetect measurement, for
++ * desired reference clock of PHY, by tuning the CR_PORT
++ * register LANE0.TX_DEBUG which is internal to PHY.
++ * This fixes issue with few USB 3.0 devices, which are
++ * not detected (not even generate interrupts on the bus
++ * on insertion) without this change.
++ * e.g. Samsung SUM-TSB16S 3.0 USB drive.
++ */
++ switch (phy_drd->extrefclk) {
++ case EXYNOS5_FSEL_50MHZ:
++ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_48M_50M_52M;
++ break;
++ case EXYNOS5_FSEL_20MHZ:
++ case EXYNOS5_FSEL_19MHZ2:
++ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_19M2_20M;
++ break;
++ case EXYNOS5_FSEL_24MHZ:
++ default:
++ temp = LANE0_TX_DEBUG_RXDET_MEAS_TIME_24M;
++ break;
++ }
++
++ ret = crport_ctrl_write(phy_drd,
++ EXYNOS5_DRD_PHYSS_LANE0_TX_DEBUG,
++ temp);
++ if (ret)
++ dev_err(phy_drd->dev,
++ "Failed setting RxDetect measurement time for SuperSpeed\n");
++
++ return ret;
++}
++
+ static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev,
+ struct of_phandle_args *args)
+ {
+@@ -538,11 +712,20 @@ static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev,
+ return phy_drd->phys[args->args[0]].phy;
+ }
+
++static int exynos5_usbdrd_phy_calibrate(struct phy *phy)
++{
++ struct phy_usb_instance *inst = phy_get_drvdata(phy);
++ struct exynos5_usbdrd_phy *phy_drd = to_usbdrd_phy(inst);
++
++ return exynos5420_usbdrd_phy_calibrate(phy_drd);
++}
++
+ static const struct phy_ops exynos5_usbdrd_phy_ops = {
+ .init = exynos5_usbdrd_phy_init,
+ .exit = exynos5_usbdrd_phy_exit,
+ .power_on = exynos5_usbdrd_phy_power_on,
+ .power_off = exynos5_usbdrd_phy_power_off,
++ .calibrate = exynos5_usbdrd_phy_calibrate,
+ .owner = THIS_MODULE,
+ };
+
+diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
+index 03474d3..224e0dd 100644
+--- a/drivers/usb/dwc3/core.c
++++ b/drivers/usb/dwc3/core.c
+@@ -156,9 +156,10 @@ static void __dwc3_set_mode(struct work_struct *work)
+ } else {
+ if (dwc->usb2_phy)
+ otg_set_vbus(dwc->usb2_phy->otg, true);
+- if (dwc->usb2_generic_phy)
++ if (dwc->usb2_generic_phy) {
+ phy_set_mode(dwc->usb2_generic_phy, PHY_MODE_USB_HOST);
+-
++ phy_calibrate(dwc->usb2_generic_phy);
++ }
+ }
+ break;
+ case DWC3_GCTL_PRTCAP_DEVICE:
+@@ -955,6 +956,8 @@ static int dwc3_core_init_mode(struct dwc3 *dwc)
+ dev_err(dev, "failed to initialize host\n");
+ return ret;
+ }
++ if (dwc->usb2_generic_phy)
++ phy_calibrate(dwc->usb2_generic_phy);
+ break;
+ case USB_DR_MODE_OTG:
+ INIT_WORK(&dwc->drd_work, __dwc3_set_mode);
diff --git a/freed-ora/current/f26/arm-of-restrict-dma-configuration.patch b/freed-ora/current/f26/arm-of-restrict-dma-configuration.patch
deleted file mode 100644
index cc9ddd965..000000000
--- a/freed-ora/current/f26/arm-of-restrict-dma-configuration.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 723288836628bc1c0855f3bb7b64b1803e4b9e4a Mon Sep 17 00:00:00 2001
-From: Robin Murphy <robin.murphy@arm.com>
-Date: Thu, 31 Aug 2017 11:32:54 +0100
-Subject: of: restrict DMA configuration
-
-Moving DMA configuration to happen later at driver probe time had the
-unnoticed side-effect that we now perform DMA configuration for *every*
-device represented in DT, rather than only those explicitly created by
-the of_platform and PCI code.
-
-As Christoph points out, this is not really the best thing to do. Whilst
-there may well be other DMA-capable buses that can benefit from having
-their children automatically configured after the bridge has probed,
-there are also plenty of others like USB, MDIO, etc. that definitely do
-not support DMA and should not be indiscriminately processed.
-
-The good news is that in most cases the DT "dma-ranges" property serves
-as an appropriate indicator - per a strict interpretation of the spec,
-anything lacking a "dma-ranges" property should be considered not to
-have a mapping of DMA address space from its children to its parent,
-thus anything for which of_dma_get_range() does not succeed does not
-need DMA configuration. Certain bus types have a general expectation of
-DMA capability and carry a well-established precedent that an absent
-"dma-ranges" implies the same as the empty property, so we automatically
-opt those in to DMA configuration regardless, to avoid regressing most
-existing platforms.
-
-Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices")
-Reported-by: Christoph Hellwig <hch@lst.de>
-Signed-off-by: Robin Murphy <robin.murphy@arm.com>
-Acked-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Christoph Hellwig <hch@lst.de>
----
- drivers/of/device.c | 48 ++++++++++++++++++++++++++++++++----------------
- 1 file changed, 32 insertions(+), 16 deletions(-)
-
-diff --git a/drivers/of/device.c b/drivers/of/device.c
-index e0a28ea..04c4c95 100644
---- a/drivers/of/device.c
-+++ b/drivers/of/device.c
-@@ -9,6 +9,9 @@
- #include <linux/module.h>
- #include <linux/mod_devicetable.h>
- #include <linux/slab.h>
-+#include <linux/pci.h>
-+#include <linux/platform_device.h>
-+#include <linux/amba/bus.h>
-
- #include <asm/errno.h>
- #include "of_private.h"
-@@ -84,31 +87,28 @@ int of_device_add(struct platform_device *ofdev)
- */
- int of_dma_configure(struct device *dev, struct device_node *np)
- {
-- u64 dma_addr, paddr, size;
-+ u64 dma_addr, paddr, size = 0;
- int ret;
- bool coherent;
- unsigned long offset;
- const struct iommu_ops *iommu;
- u64 mask;
-
-- /*
-- * Set default coherent_dma_mask to 32 bit. Drivers are expected to
-- * setup the correct supported mask.
-- */
-- if (!dev->coherent_dma_mask)
-- dev->coherent_dma_mask = DMA_BIT_MASK(32);
--
-- /*
-- * Set it to coherent_dma_mask by default if the architecture
-- * code has not set it.
-- */
-- if (!dev->dma_mask)
-- dev->dma_mask = &dev->coherent_dma_mask;
--
- ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
- if (ret < 0) {
-+ /*
-+ * For legacy reasons, we have to assume some devices need
-+ * DMA configuration regardless of whether "dma-ranges" is
-+ * correctly specified or not.
-+ */
-+ if (!dev_is_pci(dev) &&
-+#ifdef CONFIG_ARM_AMBA
-+ dev->bus != &amba_bustype &&
-+#endif
-+ dev->bus != &platform_bus_type)
-+ return ret == -ENODEV ? 0 : ret;
-+
- dma_addr = offset = 0;
-- size = max(dev->coherent_dma_mask, dev->coherent_dma_mask + 1);
- } else {
- offset = PFN_DOWN(paddr - dma_addr);
-
-@@ -129,6 +129,22 @@ int of_dma_configure(struct device *dev, struct device_node *np)
- dev_dbg(dev, "dma_pfn_offset(%#08lx)\n", offset);
- }
-
-+ /*
-+ * Set default coherent_dma_mask to 32 bit. Drivers are expected to
-+ * setup the correct supported mask.
-+ */
-+ if (!dev->coherent_dma_mask)
-+ dev->coherent_dma_mask = DMA_BIT_MASK(32);
-+ /*
-+ * Set it to coherent_dma_mask by default if the architecture
-+ * code has not set it.
-+ */
-+ if (!dev->dma_mask)
-+ dev->dma_mask = &dev->coherent_dma_mask;
-+
-+ if (!size)
-+ size = max(dev->coherent_dma_mask, dev->coherent_dma_mask + 1);
-+
- dev->dma_pfn_offset = offset;
-
- /*
---
-cgit v1.1
-
diff --git a/freed-ora/current/f26/arm-tegra-fix-gpu-iommu.patch b/freed-ora/current/f26/arm-tegra-fix-gpu-iommu.patch
deleted file mode 100644
index c775c88b4..000000000
--- a/freed-ora/current/f26/arm-tegra-fix-gpu-iommu.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From patchwork Sun Jul 9 16:36:14 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: ARM: tegra: Register host1x node with iommu binding on tegra124
-From: Paul Kocialkowski <contact@paulk.fr>
-X-Patchwork-Id: 9831825
-Message-Id: <20170709163614.6746-1-contact@paulk.fr>
-To: linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org,
- linux-kernel@vger.kernel.org
-Cc: Thierry Reding <thierry.reding@gmail.com>,
- Stephen Warren <swarren@wwwdotorg.org>,
- Mikko Perttunen <mperttunen@nvidia.com>,
- Paul Kocialkowski <contact@paulk.fr>,
- Jonathan Hunter <jonathanh@nvidia.com>
-Date: Sun, 9 Jul 2017 19:36:14 +0300
-
-This registers the host1x node with the SMMU (as HC swgroup) to allow
-the host1x code to attach to it. It avoid failing the probe sequence,
-which resulted in the tegra drm driver not probing and thus nothing
-being displayed on-screen.
-
-Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
----
- arch/arm/boot/dts/tegra124.dtsi | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
-index 187a36c6d0fc..b3b89befffeb 100644
---- a/arch/arm/boot/dts/tegra124.dtsi
-+++ b/arch/arm/boot/dts/tegra124.dtsi
-@@ -85,6 +85,7 @@
- clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
- resets = <&tegra_car 28>;
- reset-names = "host1x";
-+ iommus = <&mc TEGRA_SWGROUP_HC>;
-
- #address-cells = <2>;
- #size-cells = <2>;
diff --git a/freed-ora/current/f26/arm-thermal-fixes.patch b/freed-ora/current/f26/arm-thermal-fixes.patch
deleted file mode 100644
index 547731e79..000000000
--- a/freed-ora/current/f26/arm-thermal-fixes.patch
+++ /dev/null
@@ -1,224 +0,0 @@
-From 0fe4d2181cc4cb3eba303c0e03f878d2558d0f3a Mon Sep 17 00:00:00 2001
-From: Stefan Wahren <stefan.wahren@i2se.com>
-Date: Fri, 31 Mar 2017 20:03:04 +0000
-Subject: [PATCH] ARM: dts: bcm283x: Add CPU thermal zone with 1
- trip point
-
-As suggested by Eduardo Valentin this adds the thermal zone for
-the bcm2835 SoC with its single thermal sensor. We start with
-the criticial trip point and leave the cooling devices empty
-since we don't have any at the moment. Since the coefficients
-could vary depending on the SoC we need to define them separate.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Acked-by: Eduardo Valentin <edubezval@gmail.com>
----
- arch/arm/boot/dts/bcm2835.dtsi | 4 ++++
- arch/arm/boot/dts/bcm2836.dtsi | 4 ++++
- arch/arm/boot/dts/bcm283x.dtsi | 21 +++++++++++++++++++++
- 3 files changed, 29 insertions(+)
-
-diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
-index 0890d97e674d..659b6e9513b1 100644
---- a/arch/arm/boot/dts/bcm2835.dtsi
-+++ b/arch/arm/boot/dts/bcm2835.dtsi
-@@ -24,6 +24,10 @@
- };
- };
-
-+&cpu_thermal {
-+ coefficients = <(-538) 407000>;
-+};
-+
- /* enable thermal sensor with the correct compatible property set */
- &thermal {
- compatible = "brcm,bcm2835-thermal";
-diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
-index 519a44f5d25a..da3deeb42592 100644
---- a/arch/arm/boot/dts/bcm2836.dtsi
-+++ b/arch/arm/boot/dts/bcm2836.dtsi
-@@ -77,6 +77,10 @@
- interrupts = <8>;
- };
-
-+&cpu_thermal {
-+ coefficients = <(-538) 407000>;
-+};
-+
- /* enable thermal sensor with the correct compatible property set */
- &thermal {
- compatible = "brcm,bcm2836-thermal";
-diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
-index 561f27d8d922..86a5db53da8f 100644
---- a/arch/arm/boot/dts/bcm283x.dtsi
-+++ b/arch/arm/boot/dts/bcm283x.dtsi
-@@ -19,6 +19,26 @@
- bootargs = "earlyprintk console=ttyAMA0";
- };
-
-+ thermal-zones {
-+ cpu_thermal: cpu-thermal {
-+ polling-delay-passive = <0>;
-+ polling-delay = <1000>;
-+
-+ thermal-sensors = <&thermal>;
-+
-+ trips {
-+ cpu-crit {
-+ temperature = <80000>;
-+ hysteresis = <0>;
-+ type = "critical";
-+ };
-+ };
-+
-+ cooling-maps {
-+ };
-+ };
-+ };
-+
- soc {
- compatible = "simple-bus";
- #address-cells = <1>;
-@@ -430,6 +450,7 @@
- compatible = "brcm,bcm2835-thermal";
- reg = <0x7e212000 0x8>;
- clocks = <&clocks BCM2835_CLOCK_TSENS>;
-+ #thermal-sensor-cells = <0>;
- status = "disabled";
- };
-
---
-2.13.3
-
-From 4ae6f954b96c1fea86c6f21ae8fc413f5fc3444e Mon Sep 17 00:00:00 2001
-From: Stefan Wahren <stefan.wahren@i2se.com>
-Date: Fri, 31 Mar 2017 20:03:05 +0000
-Subject: [PATCH] ARM64: dts: bcm2837: Define CPU thermal coefficients
-
-This defines the bcm2837 SoC specific thermal coefficients in
-order to initialize the thermal driver correctly.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Acked-by: Eduardo Valentin <edubezval@gmail.com>
----
- arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
-index 19f2fe620a21..2d5de6f0f78d 100644
---- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
-@@ -75,6 +75,10 @@
- interrupts = <8>;
- };
-
-+&cpu_thermal {
-+ coefficients = <(-538) 412000>;
-+};
-+
- /* enable thermal sensor with the correct compatible property set */
- &thermal {
- compatible = "brcm,bcm2837-thermal";
---
-2.13.3
-
-From 1fe3854a83b580727c9464b37b62ba77ead1d6f6 Mon Sep 17 00:00:00 2001
-From: Dan Carpenter <dan.carpenter@oracle.com>
-Date: Wed, 14 Jun 2017 12:13:27 +0300
-Subject: [PATCH] thermal: bcm2835: fix an error code in probe()
-
-This causes a static checker because we're passing a valid pointer to
-PTR_ERR(). "err" is already the correct error code, so we can just
-delete this line.
-
-Fixes: bcb7dd9ef206 ("thermal: bcm2835: add thermal driver for bcm2835 SoC")
-Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
-Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
-Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
----
- drivers/thermal/broadcom/bcm2835_thermal.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/drivers/thermal/broadcom/bcm2835_thermal.c b/drivers/thermal/broadcom/bcm2835_thermal.c
-index 0ecf80890c84..e6863c841662 100644
---- a/drivers/thermal/broadcom/bcm2835_thermal.c
-+++ b/drivers/thermal/broadcom/bcm2835_thermal.c
-@@ -245,7 +245,6 @@ static int bcm2835_thermal_probe(struct platform_device *pdev)
- */
- err = tz->ops->get_trip_temp(tz, 0, &trip_temp);
- if (err < 0) {
-- err = PTR_ERR(tz);
- dev_err(&pdev->dev,
- "Not able to read trip_temp: %d\n",
- err);
---
-2.13.3
-
-From e3bdc8d7623d5875403ad40443e7b049ae200fcd Mon Sep 17 00:00:00 2001
-From: Arvind Yadav <arvind.yadav.cs@gmail.com>
-Date: Tue, 6 Jun 2017 15:12:37 +0530
-Subject: [PATCH] thermal: imx: Handle return value of clk_prepare_enable
-
-clk_prepare_enable() can fail here and we must check its return value.
-
-Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
-Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
----
- drivers/thermal/imx_thermal.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
-index f7ec39f46ee4..4798b4b1fd77 100644
---- a/drivers/thermal/imx_thermal.c
-+++ b/drivers/thermal/imx_thermal.c
-@@ -660,8 +660,11 @@ static int imx_thermal_resume(struct device *dev)
- {
- struct imx_thermal_data *data = dev_get_drvdata(dev);
- struct regmap *map = data->tempmon;
-+ int ret;
-
-- clk_prepare_enable(data->thermal_clk);
-+ ret = clk_prepare_enable(data->thermal_clk);
-+ if (ret)
-+ return ret;
- /* Enabled thermal sensor after resume */
- regmap_write(map, TEMPSENSE0 + REG_CLR, TEMPSENSE0_POWER_DOWN);
- regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_MEASURE_TEMP);
---
-2.13.3
-
-From 919054fdfc8adf58c5512fe9872eb53ea0f5525d Mon Sep 17 00:00:00 2001
-From: Arvind Yadav <arvind.yadav.cs@gmail.com>
-Date: Tue, 6 Jun 2017 15:04:46 +0530
-Subject: [PATCH] thermal: hisilicon: Handle return value of clk_prepare_enable
-
-clk_prepare_enable() can fail here and we must check its return value.
-
-Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
-Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
----
- drivers/thermal/hisi_thermal.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/thermal/hisi_thermal.c b/drivers/thermal/hisi_thermal.c
-index f6429666a1cf..9c3ce341eb97 100644
---- a/drivers/thermal/hisi_thermal.c
-+++ b/drivers/thermal/hisi_thermal.c
-@@ -397,8 +397,11 @@ static int hisi_thermal_suspend(struct device *dev)
- static int hisi_thermal_resume(struct device *dev)
- {
- struct hisi_thermal_data *data = dev_get_drvdata(dev);
-+ int ret;
-
-- clk_prepare_enable(data->clk);
-+ ret = clk_prepare_enable(data->clk);
-+ if (ret)
-+ return ret;
-
- data->irq_enabled = true;
- hisi_thermal_enable_bind_irq_sensor(data);
---
-2.13.3
-
diff --git a/freed-ora/current/f26/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch b/freed-ora/current/f26/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch
new file mode 100644
index 000000000..33f9271b7
--- /dev/null
+++ b/freed-ora/current/f26/arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch
@@ -0,0 +1,41 @@
+From 90e388ca5d8bbee022f9ed5fc24137b31579fa6e Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Wed, 22 Nov 2017 15:52:36 +0000
+Subject: [PATCH] Revert "arm64: allwinner: a64: pine64: Use dcdc1 regulator
+ for mmc0"
+
+This reverts commit 3f241bfa60bdc9c4fde63fa6664a8ce00fd668c6.
+---
+ arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+index d06e34b5d192..caf8b6fbe5e3 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+@@ -61,6 +61,13 @@
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
++
++ reg_vcc3v3: vcc3v3 {
++ compatible = "regulator-fixed";
++ regulator-name = "vcc3v3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ };
+ };
+
+ &ehci0 {
+@@ -84,7 +91,7 @@
+ &mmc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc0_pins>;
+- vmmc-supply = <&reg_dcdc1>;
++ vmmc-supply = <&reg_vcc3v3>;
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+ cd-inverted;
+ disable-wp;
+--
+2.14.3
+
diff --git a/freed-ora/current/f26/arm64-cavium-fixes.patch b/freed-ora/current/f26/arm64-cavium-fixes.patch
deleted file mode 100644
index a898bb779..000000000
--- a/freed-ora/current/f26/arm64-cavium-fixes.patch
+++ /dev/null
@@ -1,455 +0,0 @@
-From c03847b4a603846903ee72a5e1baab03e0591423 Mon Sep 17 00:00:00 2001
-From: Ashok Kumar Sekar <asekar@redhat.com>
-Date: Fri, 23 Sep 2016 04:16:19 -0700
-Subject: [PATCH 1/8] PCI: Vulcan: AHCI PCI bar fix for Broadcom Vulcan early
- silicon
-
-PCI BAR 5 is not setup correctly for the on-board AHCI
-controller on Broadcom's Vulcan processor. Added a quirk to fix BAR 5
-by using BAR 4's resources which are populated correctly but NOT used
-by the AHCI controller actually.
-
-Signed-off-by: Ashok Kumar Sekar <asekar@redhat.com>
-Signed-off-by: Jayachandran C <jchandra@broadcom.com>
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- drivers/pci/quirks.c | 24 ++++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
-diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index dc624fb34e72..94b7bdf63b19 100644
---- a/drivers/pci/quirks.c
-+++ b/drivers/pci/quirks.c
-@@ -3994,6 +3994,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084,
- quirk_bridge_cavm_thrx2_pcie_root);
-
- /*
-+ * PCI BAR 5 is not setup correctly for the on-board AHCI controller
-+ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by
-+ * using BAR 4's resources which are populated correctly and NOT
-+ * actually used by the AHCI controller.
-+ */
-+static void quirk_fix_vulcan_ahci_bars(struct pci_dev *dev)
-+{
-+ struct resource *r = &dev->resource[4];
-+
-+ if (!(r->flags & IORESOURCE_MEM) || (r->start == 0))
-+ return;
-+
-+ /* Set BAR5 resource to BAR4 */
-+ dev->resource[5] = *r;
-+
-+ /* Update BAR5 in pci config space */
-+ pci_write_config_dword(dev, PCI_BASE_ADDRESS_5, r->start);
-+
-+ /* Clear BAR4's resource */
-+ memset(r, 0, sizeof(*r));
-+}
-+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9027, quirk_fix_vulcan_ahci_bars);
-+
-+/*
- * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
- * class code. Fix it.
- */
---
-2.11.0
-
-From c84892e4b6b671fda7e499a0bb0787bd026de015 Mon Sep 17 00:00:00 2001
-From: Jayachandran C <jnair@caviumnetworks.com>
-Date: Fri, 10 Mar 2017 10:04:52 +0000
-Subject: [PATCH 2/8] ahci: thunderx2: Fix for errata that affects stop engine
-
-Apply workaround for this errata:
- Synopsis: Resetting PxCMD.ST may hang the SATA device
-
- Description: An internal ping-pong buffer state is not reset
- correctly for an PxCMD.ST=0 command for a SATA channel. This
- may cause the SATA interface to hang when a PxCMD.ST=0 command
- is received.
-
- Workaround: A SATA_BIU_CORE_ENABLE.sw_init_bsi must be asserted
- by the driver whenever the PxCMD.ST needs to be de-asserted. This
- will reset both the ports. So, it may not always work in a 2
- channel SATA system.
-
- Resolution: Fix in B0.
-
-Add the code to ahci_stop_engine() to do this. It is not easy to
-stop the other "port" since it is associated with a different AHCI
-interface. Please note that with this fix, SATA reset does not
-hang any more, but it can cause failures on the other interface
-if that is in active use.
-
-Unfortunately, we have nothing other the the CPU ID to check if the
-SATA block has this issue.
-
-Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
-[added check to restict to pci devs on the soc only]
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- drivers/ata/libahci.c | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
-index 3e286d86ab42..9116bba1b07d 100644
---- a/drivers/ata/libahci.c
-+++ b/drivers/ata/libahci.c
-@@ -669,6 +669,23 @@ int ahci_stop_engine(struct ata_port *ap)
- tmp &= ~PORT_CMD_START;
- writel(tmp, port_mmio + PORT_CMD);
-
-+#ifdef CONFIG_ARM64
-+ /* Rev Ax of Cavium CN99XX needs a hack for port stop */
-+ if (dev_is_pci(ap->host->dev) &&
-+ to_pci_dev(ap->host->dev)->vendor == 0x14e4 &&
-+ to_pci_dev(ap->host->dev)->device == 0x9027 &&
-+ MIDR_IS_CPU_MODEL_RANGE(read_cpuid_id(),
-+ MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN),
-+ MIDR_CPU_VAR_REV(0, 0),
-+ MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) {
-+ tmp = readl(hpriv->mmio + 0x8000);
-+ writel(tmp | (1 << 26), hpriv->mmio + 0x8000);
-+ udelay(1);
-+ writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000);
-+ dev_warn(ap->host->dev, "CN99XX stop engine fix applied!\n");
-+ }
-+#endif
-+
- /* wait for engine to stop. This could be as long as 500 msec */
- tmp = ata_wait_register(ap, port_mmio + PORT_CMD,
- PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500);
---
-2.11.0
-
-From 98a39621952f6a13c5198e79f1c080ea6fc1d092 Mon Sep 17 00:00:00 2001
-From: Jayachandran C <jnair@caviumnetworks.com>
-Date: Sun, 22 Feb 1998 18:42:42 -0800
-Subject: [PATCH 3/8] ahci: thunderx2: stop engine fix update
-
-The current reset fix fails during continuous reboot test. The failure
-happens when both the on-board SATA slots are used and when one of the
-controllers are reset.
-
-The latest ThunderX2 firmware (3.1) enables hardware error interrupts and
-when the reset fix fails, we get a hang with the print:
-[ 14.839308] sd 1:0:0:0: [sdb] 468862128 512-byte logical blocks: (240 GB/224 GiB)
-[ 14.846796] sd 1:0:0:0: [sdb] 4096-byte physical blocks
-[ 14.852036] sd 1:0:0:0: [sdb] Write Protect is off
-[ 14.856843] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
-[ 14.866022] ata2.00: Enabling discard_zeroes_data
-
- *** NBU BAR Error 0x1e25c ***
- AddrLo 0x1d80180 AddrHi 0x0
-
-To fix this issue, update the SATA reset fix to increase the delays between register writes.
-
-Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- drivers/ata/libahci.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
-index 9116bba1b07d..1d3e614bad2b 100644
---- a/drivers/ata/libahci.c
-+++ b/drivers/ata/libahci.c
-@@ -679,10 +679,11 @@ int ahci_stop_engine(struct ata_port *ap)
- MIDR_CPU_VAR_REV(0, 0),
- MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) {
- tmp = readl(hpriv->mmio + 0x8000);
-+ udelay(100);
- writel(tmp | (1 << 26), hpriv->mmio + 0x8000);
-- udelay(1);
-+ udelay(100);
- writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000);
-- dev_warn(ap->host->dev, "CN99XX stop engine fix applied!\n");
-+ dev_warn(ap->host->dev, "CN99XX SATA reset workaround applied\n");
- }
- #endif
-
---
-2.11.0
-
-From 33c107d2a2b570cd5246262108ad07cc102e9fcd Mon Sep 17 00:00:00 2001
-From: Robert Richter <rrichter@cavium.com>
-Date: Thu, 16 Mar 2017 18:01:59 +0100
-Subject: [PATCH 4/8] iommu/arm-smmu, ACPI: Enable Cavium SMMU-v2
-
-In next IORT spec release there will be a definition of a Cavium
-specific model. Until then, enable the Cavium SMMU using cpu id
-registers. All versions of Cavium's SMMUv2 implementation must be
-enabled.
-
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- drivers/iommu/arm-smmu.c | 22 +++++++++++++++++++++-
- 1 file changed, 21 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
-index d42cad5a3d52..37aee96ccc0e 100644
---- a/drivers/iommu/arm-smmu.c
-+++ b/drivers/iommu/arm-smmu.c
-@@ -53,6 +53,8 @@
-
- #include <linux/amba/bus.h>
-
-+#include <asm/cputype.h>
-+
- #include "io-pgtable.h"
- #include "arm-smmu-regs.h"
-
-@@ -1871,6 +1873,24 @@ static const struct of_device_id arm_smmu_of_match[] = {
- MODULE_DEVICE_TABLE(of, arm_smmu_of_match);
-
- #ifdef CONFIG_ACPI
-+
-+static int acpi_smmu_enable_cavium(struct arm_smmu_device *smmu, int ret)
-+{
-+ u32 cpu_model;
-+
-+ if (!IS_ENABLED(CONFIG_ARM64))
-+ return ret;
-+
-+ cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK;
-+ if (cpu_model != MIDR_THUNDERX)
-+ return ret;
-+
-+ smmu->version = ARM_SMMU_V2;
-+ smmu->model = CAVIUM_SMMUV2;
-+
-+ return 0;
-+}
-+
- static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu)
- {
- int ret = 0;
-@@ -1901,7 +1921,7 @@ static int acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu)
- ret = -ENODEV;
- }
-
-- return ret;
-+ return acpi_smmu_enable_cavium(smmu, ret);
- }
-
- static int arm_smmu_device_acpi_probe(struct platform_device *pdev,
---
-2.11.0
-
-From 5523edb06c95d7ac9e81d94366e71d929c08ebd4 Mon Sep 17 00:00:00 2001
-From: Robert Richter <rrichter@cavium.com>
-Date: Wed, 12 Apr 2017 15:06:03 +0200
-Subject: [PATCH 5/8] iommu: Print a message with the default domain type
- created
-
-There are several ways the bypass mode can be enabled. With commit
-
- fccb4e3b8ab0 iommu: Allow default domain type to be set on the kernel command line
-
-there is the option to switch into bypass mode. And, depending on
-devicetree options, bypass mode can be also enabled. This makes it
-hard to determine if direct mapping is enabled. Print message with the
-default domain type case.
-
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- drivers/iommu/iommu.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
-index 3f6ea160afed..7aaafaca6baf 100644
---- a/drivers/iommu/iommu.c
-+++ b/drivers/iommu/iommu.c
-@@ -599,7 +599,9 @@ int iommu_group_add_device(struct iommu_group *group, struct device *dev)
-
- trace_add_device_to_group(group->id, dev);
-
-- pr_info("Adding device %s to group %d\n", dev_name(dev), group->id);
-+ pr_info("Adding device %s to group %d, default domain type %d\n",
-+ dev_name(dev), group->id,
-+ group->default_domain ? group->default_domain->type : -1);
-
- return 0;
-
---
-2.11.0
-
-From 71e0ad5ab606077c24a96d69f4bfed58d7ef16c7 Mon Sep 17 00:00:00 2001
-From: Robert Richter <rrichter@cavium.com>
-Date: Thu, 4 May 2017 17:48:48 +0200
-Subject: [PATCH 6/8] iommu, aarch64: Set bypass mode per default
-
-We see a performance degradation if smmu is enabled in non-bypass mode.
-This is a problem in the kernel's implememntation. Until that is solved,
-enable smmu in bypass mode per default.
-
-We have tested that SMMU passthrough mode doesn't effect VFIO on both
-CN88xx and CN99xx and haven't found any issues.
-
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- drivers/iommu/iommu.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
-index 7aaafaca6baf..24de0b934221 100644
---- a/drivers/iommu/iommu.c
-+++ b/drivers/iommu/iommu.c
-@@ -36,7 +36,12 @@
-
- static struct kset *iommu_group_kset;
- static DEFINE_IDA(iommu_group_ida);
-+
-+#ifdef CONFIG_ARM64
-+static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY;
-+#else
- static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_DMA;
-+#endif
-
- struct iommu_callback_data {
- const struct iommu_ops *ops;
---
-2.11.0
-
-From 27f103963f926d6a7a8adaad1ee227fd3b51f591 Mon Sep 17 00:00:00 2001
-From: Robert Richter <rrichter@cavium.com>
-Date: Wed, 12 Apr 2017 10:31:15 +0200
-Subject: [PATCH 7/8] iommu/arm-smmu, ACPI: Enable Cavium SMMU-v3
-
-In next IORT spec release there will be a definition of a Cavium
-specific model. Until then, enable the Cavium SMMU using cpu id
-registers. Early silicon versions (A1) of Cavium's CN99xx SMMUv3
-implementation must be enabled. For later silicon versions (B0) the
-iort change will be in place.
-
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- drivers/acpi/arm64/iort.c | 16 ++++++++++++++--
- drivers/iommu/arm-smmu-v3.c | 19 +++++++++++++++++++
- 2 files changed, 33 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c
-index a3215ee671c1..b603af92eec2 100644
---- a/drivers/acpi/arm64/iort.c
-+++ b/drivers/acpi/arm64/iort.c
-@@ -26,6 +26,8 @@
- #include <linux/platform_device.h>
- #include <linux/slab.h>
-
-+#include <asm/cputype.h>
-+
- #define IORT_TYPE_MASK(type) (1 << (type))
- #define IORT_MSI_TYPE (1 << ACPI_IORT_NODE_ITS_GROUP)
- #define IORT_IOMMU_TYPE ((1 << ACPI_IORT_NODE_SMMU) | \
-@@ -824,13 +826,22 @@ static int __init arm_smmu_v3_count_resources(struct acpi_iort_node *node)
- return num_res;
- }
-
-+static bool is_cavium_cn99xx_smmu_v3(void)
-+{
-+ u32 cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK;
-+
-+ return cpu_model == MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM,
-+ BRCM_CPU_PART_VULCAN);
-+}
-+
- static bool arm_smmu_v3_is_combined_irq(struct acpi_iort_smmu_v3 *smmu)
- {
- /*
- * Cavium ThunderX2 implementation doesn't not support unique
- * irq line. Use single irq line for all the SMMUv3 interrupts.
- */
-- if (smmu->model != ACPI_IORT_SMMU_V3_CAVIUM_CN99XX)
-+ if (smmu->model != ACPI_IORT_SMMU_V3_CAVIUM_CN99XX
-+ && !is_cavium_cn99xx_smmu_v3())
- return false;
-
- /*
-@@ -848,7 +859,8 @@ static unsigned long arm_smmu_v3_resource_size(struct acpi_iort_smmu_v3 *smmu)
- * Override the size, for Cavium ThunderX2 implementation
- * which doesn't support the page 1 SMMU register space.
- */
-- if (smmu->model == ACPI_IORT_SMMU_V3_CAVIUM_CN99XX)
-+ if (smmu->model == ACPI_IORT_SMMU_V3_CAVIUM_CN99XX
-+ || is_cavium_cn99xx_smmu_v3())
- return SZ_64K;
-
- return SZ_128K;
-diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
-index 568c400eeaed..d147cb5c7309 100644
---- a/drivers/iommu/arm-smmu-v3.c
-+++ b/drivers/iommu/arm-smmu-v3.c
-@@ -39,6 +39,8 @@
-
- #include <linux/amba/bus.h>
-
-+#include <asm/cputype.h>
-+
- #include "io-pgtable.h"
-
- /* MMIO registers */
-@@ -2659,6 +2661,21 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu)
- }
-
- #ifdef CONFIG_ACPI
-+
-+static void acpi_smmu_enable_cavium(struct arm_smmu_device *smmu)
-+{
-+ u32 cpu_model;
-+
-+ if (!IS_ENABLED(CONFIG_ARM64))
-+ return;
-+
-+ cpu_model = read_cpuid_id() & MIDR_CPU_MODEL_MASK;
-+ if (cpu_model != MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN))
-+ return;
-+
-+ smmu->options |= ARM_SMMU_OPT_PAGE0_REGS_ONLY;
-+}
-+
- static void acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu)
- {
- switch (model) {
-@@ -2670,6 +2687,8 @@ static void acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu)
- break;
- }
-
-+ acpi_smmu_enable_cavium(smmu);
-+
- dev_notice(smmu->dev, "option mask 0x%x\n", smmu->options);
- }
-
---
-2.11.0
-
-From ff677cc625b52b93351dd73d7881251067f0e976 Mon Sep 17 00:00:00 2001
-From: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
-Date: Wed, 20 Aug 2014 15:10:58 -0700
-Subject: [PATCH 8/8] arm64: gicv3: its: Increase FORCE_MAX_ZONEORDER for
- Cavium ThunderX
-
-In case of ARCH_THUNDER, there is a need to allocate the GICv3 ITS table
-which is bigger than the allowed max order. So we are forcing it only in
-case of 4KB page size.
-
-Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
-[rric: use ARM64_4K_PAGES since we have now ARM64_16K_PAGES, change order]
-Signed-off-by: Robert Richter <rrichter@cavium.com>
----
- arch/arm64/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 2c3e2d693d76..023867378f45 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -784,6 +784,7 @@ config FORCE_MAX_ZONEORDER
- default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
- default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES)
- default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE)
-+ default "13" if (ARM64_4K_PAGES && ARCH_THUNDER)
- default "11"
- help
- The kernel memory allocator divides physically contiguous memory
---
-2.11.0
-
diff --git a/freed-ora/current/f26/arm64-socionext-96b-enablement.patch b/freed-ora/current/f26/arm64-socionext-96b-enablement.patch
new file mode 100644
index 000000000..0a7df3a19
--- /dev/null
+++ b/freed-ora/current/f26/arm64-socionext-96b-enablement.patch
@@ -0,0 +1,3099 @@
+From 58be18a7bbf9dca67f4260ac172a44baa59d0ee9 Mon Sep 17 00:00:00 2001
+From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Date: Mon, 21 Aug 2017 10:47:48 +0100
+Subject: arm64: acpi/gtdt: validate CNTFRQ after having enabled the frame
+
+The ACPI GTDT code validates the CNTFRQ field of each MMIO timer
+frame against the CNTFRQ system register of the current CPU, to
+ensure that they are equal, which is mandated by the architecture.
+
+However, reading the CNTFRQ field of a frame is not possible until
+the RFRQ bit in the frame's CNTACRn register is set, and doing so
+before that willl produce the following error:
+
+ arch_timer: [Firmware Bug]: CNTFRQ mismatch: frame @ 0x00000000e0be0000: (0x00000000), CPU: (0x0ee6b280)
+ arch_timer: Disabling MMIO timers due to CNTFRQ mismatch
+ arch_timer: Failed to initialize memory-mapped timer.
+
+The reason is that the CNTFRQ field is RES0 if access is not enabled.
+
+So move the validation of CNTFRQ into the loop that iterates over the
+timers to find the best frame, but defer it until after we have selected
+the best frame, which should also have enabled the RFRQ bit.
+
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+---
+ drivers/clocksource/arm_arch_timer.c | 38 ++++++++++++++++++++----------------
+ 1 file changed, 21 insertions(+), 17 deletions(-)
+
+diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
+index fd4b7f6..14e2419 100644
+--- a/drivers/clocksource/arm_arch_timer.c
++++ b/drivers/clocksource/arm_arch_timer.c
+@@ -1268,10 +1268,6 @@ arch_timer_mem_find_best_frame(struct arch_timer_mem *timer_mem)
+
+ iounmap(cntctlbase);
+
+- if (!best_frame)
+- pr_err("Unable to find a suitable frame in timer @ %pa\n",
+- &timer_mem->cntctlbase);
+-
+ return best_frame;
+ }
+
+@@ -1372,6 +1368,8 @@ static int __init arch_timer_mem_of_init(struct device_node *np)
+
+ frame = arch_timer_mem_find_best_frame(timer_mem);
+ if (!frame) {
++ pr_err("Unable to find a suitable frame in timer @ %pa\n",
++ &timer_mem->cntctlbase);
+ ret = -EINVAL;
+ goto out;
+ }
+@@ -1420,7 +1418,7 @@ arch_timer_mem_verify_cntfrq(struct arch_timer_mem *timer_mem)
+ static int __init arch_timer_mem_acpi_init(int platform_timer_count)
+ {
+ struct arch_timer_mem *timers, *timer;
+- struct arch_timer_mem_frame *frame;
++ struct arch_timer_mem_frame *frame, *best_frame = NULL;
+ int timer_count, i, ret = 0;
+
+ timers = kcalloc(platform_timer_count, sizeof(*timers),
+@@ -1432,14 +1430,6 @@ static int __init arch_timer_mem_acpi_init(int platform_timer_count)
+ if (ret || !timer_count)
+ goto out;
+
+- for (i = 0; i < timer_count; i++) {
+- ret = arch_timer_mem_verify_cntfrq(&timers[i]);
+- if (ret) {
+- pr_err("Disabling MMIO timers due to CNTFRQ mismatch\n");
+- goto out;
+- }
+- }
+-
+ /*
+ * While unlikely, it's theoretically possible that none of the frames
+ * in a timer expose the combination of feature we want.
+@@ -1448,12 +1438,26 @@ static int __init arch_timer_mem_acpi_init(int platform_timer_count)
+ timer = &timers[i];
+
+ frame = arch_timer_mem_find_best_frame(timer);
+- if (frame)
+- break;
++ if (!best_frame)
++ best_frame = frame;
++
++ ret = arch_timer_mem_verify_cntfrq(timer);
++ if (ret) {
++ pr_err("Disabling MMIO timers due to CNTFRQ mismatch\n");
++ goto out;
++ }
++
++ if (!best_frame) /* implies !frame */
++ /*
++ * Only complain about missing suitable frames if we
++ * haven't already found one in a previous iteration.
++ */
++ pr_err("Unable to find a suitable frame in timer @ %pa\n",
++ &timer->cntctlbase);
+ }
+
+- if (frame)
+- ret = arch_timer_mem_frame_register(frame);
++ if (best_frame)
++ ret = arch_timer_mem_frame_register(best_frame);
+ out:
+ kfree(timers);
+ return ret;
+--
+cgit v1.1
+
+From 33d983b5bb2929ae242606925e708092b1dfdd8f Mon Sep 17 00:00:00 2001
+From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Date: Sat, 2 Sep 2017 11:01:22 +0100
+Subject: drivers/irqchip: gicv3: add workaround for Synquacer pre-ITS
+
+In their infinite wisdom, the Socionext engineers have decided
+that ITS device IDs should not be hardwired, but it should be
+left up to the software to assign them, by allowing it to
+redirect MSI doorbell writes via a separate hardware block
+that issues the doorbell write with a device ID that is
+derived from the memory address. This completely breaks any
+kind of isolation, or virtualization in general, for that
+matter, but add support for it nonetheless.
+
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+---
+ arch/arm64/Kconfig | 8 +++++++
+ drivers/irqchip/irq-gic-v3-its.c | 48 +++++++++++++++++++++++++++++++++++-----
+ 2 files changed, 51 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
+index 0df64a6..c4361df 100644
+--- a/arch/arm64/Kconfig
++++ b/arch/arm64/Kconfig
+@@ -539,6 +539,14 @@ config QCOM_QDF2400_ERRATUM_0065
+
+ If unsure, say Y.
+
++config SOCIONEXT_SYNQUACER_PREITS
++ bool "Socionext Synquacer: Workaround for GICv3 pre-ITS"
++ default y
++ help
++ Socionext Synquacer SoCs implement a separate h/w block to generate
++ MSI doorbell writes with non-zero values for the device ID.
++
++ If unsure, say Y.
+ endmenu
+
+
+diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
+index e8d8934..0d372f1 100644
+--- a/drivers/irqchip/irq-gic-v3-its.c
++++ b/drivers/irqchip/irq-gic-v3-its.c
+@@ -46,6 +46,7 @@
+ #define ITS_FLAGS_CMDQ_NEEDS_FLUSHING (1ULL << 0)
+ #define ITS_FLAGS_WORKAROUND_CAVIUM_22375 (1ULL << 1)
+ #define ITS_FLAGS_WORKAROUND_CAVIUM_23144 (1ULL << 2)
++#define ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS (1ULL << 3)
+
+ #define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING (1 << 0)
+
+@@ -99,6 +100,10 @@ struct its_node {
+ struct its_collection *collections;
+ struct list_head its_device_list;
+ u64 flags;
++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS
++ u64 pre_its_base;
++ u64 pre_its_size;
++#endif
+ u32 ite_size;
+ u32 device_ids;
+ int numa_node;
+@@ -1102,13 +1107,29 @@ static void its_irq_compose_msi_msg(struct irq_data *d, struct msi_msg *msg)
+ u64 addr;
+
+ its = its_dev->its;
+- addr = its->phys_base + GITS_TRANSLATER;
++
++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS
++ if (its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS)
++
++ /*
++ * The Socionext Synquacer SoC has a so-called 'pre-ITS',
++ * which maps 32-bit writes into a separate window of size
++ * '4 << device_id_bits' onto writes to GITS_TRANSLATER with
++ * device ID taken from bits [device_id_bits + 1:2] of the
++ * window offset.
++ */
++ addr = its->pre_its_base + (its_dev->device_id << 2);
++ else
++#endif
++ addr = its->phys_base + GITS_TRANSLATER;
+
+ msg->address_lo = lower_32_bits(addr);
+ msg->address_hi = upper_32_bits(addr);
+ msg->data = its_get_event_id(d);
+
+- iommu_dma_map_msi_msg(d->irq, msg);
++ if (!IS_ENABLED(CONFIG_SOCIONEXT_SYNQUACER_PREITS) ||
++ !(its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS))
++ iommu_dma_map_msi_msg(d->irq, msg);
+ }
+
+ static int its_irq_set_irqchip_state(struct irq_data *d,
+@@ -1666,6 +1687,11 @@ static int its_alloc_tables(struct its_node *its)
+ ids = 0x14; /* 20 bits, 8MB */
+ }
+
++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS
++ if (its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS)
++ ids = ilog2(its->pre_its_size) - 2;
++#endif
++
+ its->device_ids = ids;
+
+ for (i = 0; i < GITS_BASER_NR_REGS; i++) {
+@@ -2788,11 +2814,21 @@ static const struct gic_quirk its_quirks[] = {
+ }
+ };
+
+-static void its_enable_quirks(struct its_node *its)
++static void its_enable_quirks(struct its_node *its,
++ struct fwnode_handle *handle)
+ {
+ u32 iidr = readl_relaxed(its->base + GITS_IIDR);
+
+ gic_enable_quirks(iidr, its_quirks, its);
++
++#ifdef CONFIG_SOCIONEXT_SYNQUACER_PREITS
++ if (!fwnode_property_read_u64_array(handle,
++ "socionext,synquacer-pre-its",
++ &its->pre_its_base, 2)) {
++ its->flags |= ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS;
++ pr_info("ITS: enabling workaround for Socionext Synquacer pre-ITS\n");
++ }
++#endif
+ }
+
+ static int its_init_domain(struct fwnode_handle *handle, struct its_node *its)
+@@ -2812,7 +2848,9 @@ static int its_init_domain(struct fwnode_handle *handle, struct its_node *its)
+
+ inner_domain->parent = its_parent;
+ irq_domain_update_bus_token(inner_domain, DOMAIN_BUS_NEXUS);
+- inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_REMAP;
++
++ if (!(its->flags & ITS_FLAGS_WORKAROUND_SOCIONEXT_PREITS))
++ inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_REMAP;
+ info->ops = &its_msi_domain_ops;
+ info->data = its;
+ inner_domain->host_data = info;
+@@ -2966,7 +3004,7 @@ static int __init its_probe_one(struct resource *res,
+ }
+ its->cmd_write = its->cmd_base;
+
+- its_enable_quirks(its);
++ its_enable_quirks(its, handle);
+
+ err = its_alloc_tables(its);
+ if (err)
+--
+cgit v1.1
+
+From 26e7bb47b0fb03a01be1e391a08c7375b45335a2 Mon Sep 17 00:00:00 2001
+From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Date: Mon, 21 Aug 2017 20:29:05 +0100
+Subject: pci: designware: add driver for DWC controller in ECAM shift mode
+
+Some implementations of the Synopsys Designware PCIe controller implement
+a so-called ECAM shift mode, which allows a static memory window to be
+configured that covers the configuration space of the entire bus range.
+
+If the firmware performs all the low level configuration that is required
+to expose this controller in a fully ECAM compatible manner, we can
+simply describe it as "pci-host-ecam-generic" and be done with it.
+However, it appears that in some cases (one of which is the Armada 80x0),
+the IP is synthesized with an ATU window size that does not allow the
+first bus to be mapped in a way that prevents the device on the
+downstream port from appearing more than once.
+
+So implement a driver that relies on the firmware to perform all low
+level initialization, and drives the controller in ECAM mode, but
+overrides the config space accessors to take the above quirk into
+account.
+
+Note that, unlike most drivers for this IP, this driver does not expose
+a fake bridge device at B/D/F 00:00.0. There is no point in doing so,
+given that this is not a true bridge, and does not require any windows
+to be configured in order for the downstream device to operate correctly.
+Omitting it also prevents the PCI resource allocation routines from
+handing out BAR space to it unnecessarily.
+
+Cc: Bjorn Helgaas <bhelgaas@google.com>
+Cc: Jingoo Han <jingoohan1@gmail.com>
+Cc: Joao Pinto <Joao.Pinto@synopsys.com>
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+---
+ drivers/pci/dwc/Kconfig | 11 +++++
+ drivers/pci/dwc/Makefile | 1 +
+ drivers/pci/dwc/pcie-designware-ecam.c | 77 ++++++++++++++++++++++++++++++++++
+ 3 files changed, 89 insertions(+)
+ create mode 100644 drivers/pci/dwc/pcie-designware-ecam.c
+
+diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
+index 22ec82f..19856b1 100644
+--- a/drivers/pci/dwc/Kconfig
++++ b/drivers/pci/dwc/Kconfig
+@@ -169,4 +169,15 @@ config PCIE_KIRIN
+ Say Y here if you want PCIe controller support
+ on HiSilicon Kirin series SoCs.
+
++config PCIE_DW_HOST_ECAM
++ bool "Synopsys DesignWare PCIe controller in ECAM mode"
++ depends on OF && PCI
++ select PCI_HOST_COMMON
++ select IRQ_DOMAIN
++ help
++ Add support for Synopsys DesignWare PCIe controllers configured
++ by the firmware into ECAM shift mode. In some cases, these are
++ fully ECAM compliant, in which case the pci-host-generic driver
++ may be used instead.
++
+ endmenu
+diff --git a/drivers/pci/dwc/Makefile b/drivers/pci/dwc/Makefile
+index c61be97..7d5a23e 100644
+--- a/drivers/pci/dwc/Makefile
++++ b/drivers/pci/dwc/Makefile
+@@ -1,5 +1,6 @@
+ # SPDX-License-Identifier: GPL-2.0
+ obj-$(CONFIG_PCIE_DW) += pcie-designware.o
+ obj-$(CONFIG_PCIE_DW_HOST) += pcie-designware-host.o
++obj-$(CONFIG_PCIE_DW_HOST_ECAM) += pcie-designware-ecam.o
+ obj-$(CONFIG_PCIE_DW_EP) += pcie-designware-ep.o
+ obj-$(CONFIG_PCIE_DW_PLAT) += pcie-designware-plat.o
+ ifneq ($(filter y,$(CONFIG_PCI_DRA7XX_HOST) $(CONFIG_PCI_DRA7XX_EP)),)
+diff --git a/drivers/pci/dwc/pcie-designware-ecam.c b/drivers/pci/dwc/pcie-designware-ecam.c
+new file mode 100644
+index 0000000..ede627d
+--- /dev/null
++++ b/drivers/pci/dwc/pcie-designware-ecam.c
+@@ -0,0 +1,77 @@
++/*
++ * Driver for mostly ECAM compatible Synopsys dw PCIe controllers
++ * configured by the firmware into RC mode
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Copyright (C) 2014 ARM Limited
++ * Copyright (C) 2017 Linaro Limited
++ *
++ * Authors: Will Deacon <will.deacon@arm.com>
++ * Ard Biesheuvel <ard.biesheuvel@linaro.org>
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/of_address.h>
++#include <linux/of_pci.h>
++#include <linux/pci-ecam.h>
++#include <linux/platform_device.h>
++
++static int pci_dw_ecam_config_read(struct pci_bus *bus, u32 devfn, int where,
++ int size, u32 *val)
++{
++ struct pci_config_window *cfg = bus->sysdata;
++
++ /*
++ * The Synopsys dw PCIe controller in RC mode will not filter type 0
++ * config TLPs sent to devices 1 and up on its downstream port,
++ * resulting in devices appearing multiple times on bus 0 unless we
++ * filter them here.
++ */
++ if (bus->number == cfg->busr.start && PCI_SLOT(devfn) > 0) {
++ *val = 0xffffffff;
++ return PCIBIOS_DEVICE_NOT_FOUND;
++ }
++ return pci_generic_config_read(bus, devfn, where, size, val);
++}
++
++static int pci_dw_ecam_config_write(struct pci_bus *bus, u32 devfn, int where,
++ int size, u32 val)
++{
++ struct pci_config_window *cfg = bus->sysdata;
++
++ if (bus->number == cfg->busr.start && PCI_SLOT(devfn) > 0)
++ return PCIBIOS_DEVICE_NOT_FOUND;
++
++ return pci_generic_config_write(bus, devfn, where, size, val);
++}
++
++static struct pci_ecam_ops pci_dw_ecam_bus_ops = {
++ .pci_ops.map_bus = pci_ecam_map_bus,
++ .pci_ops.read = pci_dw_ecam_config_read,
++ .pci_ops.write = pci_dw_ecam_config_write,
++ .bus_shift = 20,
++};
++
++static const struct of_device_id pci_dw_ecam_of_match[] = {
++ { .compatible = "marvell,armada8k-pcie-ecam" },
++ { .compatible = "socionext,synquacer-pcie-ecam" },
++ { .compatible = "snps,dw-pcie-ecam" },
++ { },
++};
++
++static int pci_dw_ecam_probe(struct platform_device *pdev)
++{
++ return pci_host_common_probe(pdev, &pci_dw_ecam_bus_ops);
++}
++
++static struct platform_driver pci_dw_ecam_driver = {
++ .driver.name = "pcie-designware-ecam",
++ .driver.of_match_table = pci_dw_ecam_of_match,
++ .driver.suppress_bind_attrs = true,
++ .probe = pci_dw_ecam_probe,
++};
++builtin_platform_driver(pci_dw_ecam_driver);
+--
+cgit v1.1
+
+From e3dff048a10f16aa0fd32438442ce39558bbdbef Mon Sep 17 00:00:00 2001
+From: Jassi Brar <jaswinder.singh@linaro.org>
+Date: Tue, 29 Aug 2017 22:45:59 +0530
+Subject: net: socionext: Add Synquacer NetSec driver
+
+This driver adds support for Socionext "netsec" IP Gigabit
+Ethernet + PHY IP used in the Synquacer SC2A11 SoC.
+
+Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+---
+ drivers/net/ethernet/Kconfig | 1 +
+ drivers/net/ethernet/Makefile | 1 +
+ drivers/net/ethernet/socionext/Kconfig | 29 +
+ drivers/net/ethernet/socionext/Makefile | 1 +
+ drivers/net/ethernet/socionext/netsec/Makefile | 6 +
+ drivers/net/ethernet/socionext/netsec/netsec.h | 408 ++++++++++++++
+ .../socionext/netsec/netsec_desc_ring_access.c | 623 +++++++++++++++++++++
+ .../net/ethernet/socionext/netsec/netsec_ethtool.c | 78 +++
+ .../ethernet/socionext/netsec/netsec_gmac_access.c | 330 +++++++++++
+ .../net/ethernet/socionext/netsec/netsec_netdev.c | 540 ++++++++++++++++++
+ .../ethernet/socionext/netsec/netsec_platform.c | 435 ++++++++++++++
+ 11 files changed, 2452 insertions(+)
+ create mode 100644 drivers/net/ethernet/socionext/Kconfig
+ create mode 100644 drivers/net/ethernet/socionext/Makefile
+ create mode 100644 drivers/net/ethernet/socionext/netsec/Makefile
+ create mode 100644 drivers/net/ethernet/socionext/netsec/netsec.h
+ create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
+ create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
+ create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
+ create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_netdev.c
+ create mode 100644 drivers/net/ethernet/socionext/netsec/netsec_platform.c
+
+diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
+index c604213..d50519e 100644
+--- a/drivers/net/ethernet/Kconfig
++++ b/drivers/net/ethernet/Kconfig
+@@ -170,6 +170,7 @@ source "drivers/net/ethernet/sis/Kconfig"
+ source "drivers/net/ethernet/sfc/Kconfig"
+ source "drivers/net/ethernet/sgi/Kconfig"
+ source "drivers/net/ethernet/smsc/Kconfig"
++source "drivers/net/ethernet/socionext/Kconfig"
+ source "drivers/net/ethernet/stmicro/Kconfig"
+ source "drivers/net/ethernet/sun/Kconfig"
+ source "drivers/net/ethernet/tehuti/Kconfig"
+diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
+index a0a03d4..6ae1bb9 100644
+--- a/drivers/net/ethernet/Makefile
++++ b/drivers/net/ethernet/Makefile
+@@ -81,6 +81,7 @@ obj-$(CONFIG_SFC) += sfc/
+ obj-$(CONFIG_SFC_FALCON) += sfc/falcon/
+ obj-$(CONFIG_NET_VENDOR_SGI) += sgi/
+ obj-$(CONFIG_NET_VENDOR_SMSC) += smsc/
++obj-$(CONFIG_NET_VENDOR_SNI) += socionext/
+ obj-$(CONFIG_NET_VENDOR_STMICRO) += stmicro/
+ obj-$(CONFIG_NET_VENDOR_SUN) += sun/
+ obj-$(CONFIG_NET_VENDOR_TEHUTI) += tehuti/
+diff --git a/drivers/net/ethernet/socionext/Kconfig b/drivers/net/ethernet/socionext/Kconfig
+new file mode 100644
+index 0000000..a6dc195
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/Kconfig
+@@ -0,0 +1,29 @@
++#
++# Socionext Network device configuration
++#
++
++config NET_VENDOR_SNI
++ bool "Socionext devices"
++ default y
++ ---help---
++ If you have a network (Ethernet) card belonging to this class, say Y.
++
++ Note that the answer to this question doesn't directly affect the
++ the questions about Socionext cards. If you say Y, you will be asked
++ for your specific card in the following questions.
++
++if NET_VENDOR_SNI
++
++config SNI_NETSEC
++ tristate "NETSEC Driver Support"
++ depends on OF
++ select PHYLIB
++ select MII
++help
++ Enable to add support for the SocioNext NetSec Gigabit Ethernet
++ controller + PHY, as found on the Synquacer SC2A11 SoC
++
++ To compile this driver as a module, choose M here: the module will be
++ called netsec. If unsure, say N.
++
++endif # NET_VENDOR_SNI
+diff --git a/drivers/net/ethernet/socionext/Makefile b/drivers/net/ethernet/socionext/Makefile
+new file mode 100644
+index 0000000..9555899
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/Makefile
+@@ -0,0 +1 @@
++obj-$(CONFIG_SNI_NETSEC) += netsec/
+diff --git a/drivers/net/ethernet/socionext/netsec/Makefile b/drivers/net/ethernet/socionext/netsec/Makefile
+new file mode 100644
+index 0000000..18884ed
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/netsec/Makefile
+@@ -0,0 +1,6 @@
++obj-$(CONFIG_SNI_NETSEC) := netsec.o
++netsec-objs := netsec_desc_ring_access.o \
++ netsec_netdev.o \
++ netsec_ethtool.o \
++ netsec_platform.o \
++ netsec_gmac_access.o
+diff --git a/drivers/net/ethernet/socionext/netsec/netsec.h b/drivers/net/ethernet/socionext/netsec/netsec.h
+new file mode 100644
+index 0000000..3b97661
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/netsec/netsec.h
+@@ -0,0 +1,408 @@
++/**
++ * netsec.h
++ *
++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
++ * Andy Green <andy.green@linaro.org>
++ * Jassi Brar <jaswinder.singh@linaro.org>
++ * Ard Biesheuvel <ard.biesheuvel@linaro.org>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ */
++#ifndef NETSEC_INTERNAL_H
++#define NETSEC_INTERNAL_H
++
++#include <linux/netdevice.h>
++#include <linux/types.h>
++#include <linux/device.h>
++#include <linux/phy.h>
++#include <linux/ethtool.h>
++#include <linux/of_address.h>
++#include <linux/of_mdio.h>
++#include <linux/etherdevice.h>
++#include <net/sock.h>
++
++#define NETSEC_FLOW_CONTROL_START_THRESHOLD 36
++#define NETSEC_FLOW_CONTROL_STOP_THRESHOLD 48
++
++#define NETSEC_CLK_MHZ 1000000
++
++#define NETSEC_RX_PKT_BUF_LEN 1522
++#define NETSEC_RX_JUMBO_PKT_BUF_LEN 9022
++
++#define NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX 19
++
++#define DESC_NUM 128
++
++#define NETSEC_TX_SHIFT_OWN_FIELD 31
++#define NETSEC_TX_SHIFT_LD_FIELD 30
++#define NETSEC_TX_SHIFT_DRID_FIELD 24
++#define NETSEC_TX_SHIFT_PT_FIELD 21
++#define NETSEC_TX_SHIFT_TDRID_FIELD 16
++#define NETSEC_TX_SHIFT_CC_FIELD 15
++#define NETSEC_TX_SHIFT_FS_FIELD 9
++#define NETSEC_TX_LAST 8
++#define NETSEC_TX_SHIFT_CO 7
++#define NETSEC_TX_SHIFT_SO 6
++#define NETSEC_TX_SHIFT_TRS_FIELD 4
++
++#define NETSEC_RX_PKT_OWN_FIELD 31
++#define NETSEC_RX_PKT_LD_FIELD 30
++#define NETSEC_RX_PKT_SDRID_FIELD 24
++#define NETSEC_RX_PKT_FR_FIELD 23
++#define NETSEC_RX_PKT_ER_FIELD 21
++#define NETSEC_RX_PKT_ERR_FIELD 16
++#define NETSEC_RX_PKT_TDRID_FIELD 12
++#define NETSEC_RX_PKT_FS_FIELD 9
++#define NETSEC_RX_PKT_LS_FIELD 8
++#define NETSEC_RX_PKT_CO_FIELD 6
++
++#define NETSEC_RX_PKT_ERR_MASK 3
++
++#define NETSEC_MAX_TX_PKT_LEN 1518
++#define NETSEC_MAX_TX_JUMBO_PKT_LEN 9018
++
++enum netsec_rings {
++ NETSEC_RING_TX,
++ NETSEC_RING_RX
++};
++
++#define NETSEC_RING_GMAC 15
++#define NETSEC_RING_MAX 1
++
++#define NETSEC_TCP_SEG_LEN_MAX 1460
++#define NETSEC_TCP_JUMBO_SEG_LEN_MAX 8960
++
++#define NETSEC_RX_CKSUM_NOTAVAIL 0
++#define NETSEC_RX_CKSUM_OK 1
++#define NETSEC_RX_CKSUM_NG 2
++
++#define NETSEC_TOP_IRQ_REG_CODE_LOAD_END BIT(20)
++#define NETSEC_IRQ_TRANSITION_COMPLETE BIT(4)
++#define NETSEC_IRQ_RX BIT(1)
++#define NETSEC_IRQ_TX BIT(0)
++
++#define NETSEC_IRQ_EMPTY BIT(17)
++#define NETSEC_IRQ_ERR BIT(16)
++#define NETSEC_IRQ_PKT_CNT BIT(15)
++#define NETSEC_IRQ_TIMEUP BIT(14)
++#define NETSEC_IRQ_RCV (NETSEC_IRQ_PKT_CNT | \
++ NETSEC_IRQ_TIMEUP)
++
++#define NETSEC_IRQ_TX_DONE BIT(15)
++#define NETSEC_IRQ_SND (NETSEC_IRQ_TX_DONE | \
++ NETSEC_IRQ_TIMEUP)
++
++#define NETSEC_MODE_TRANS_COMP_IRQ_N2T BIT(20)
++#define NETSEC_MODE_TRANS_COMP_IRQ_T2N BIT(19)
++
++#define NETSEC_DESC_MIN 2
++#define NETSEC_DESC_MAX 2047
++#define NETSEC_INT_PKTCNT_MAX 2047
++
++#define NETSEC_FLOW_START_TH_MAX 95
++#define NETSEC_FLOW_STOP_TH_MAX 95
++#define NETSEC_FLOW_PAUSE_TIME_MIN 5
++
++#define NETSEC_CLK_EN_REG_DOM_ALL 0x3f
++
++#define NETSEC_REG_TOP_STATUS 0x80
++#define NETSEC_REG_TOP_INTEN 0x81
++#define NETSEC_REG_INTEN_SET 0x8d
++#define NETSEC_REG_INTEN_CLR 0x8e
++#define NETSEC_REG_NRM_TX_STATUS 0x100
++#define NETSEC_REG_NRM_TX_INTEN 0x101
++#define NETSEC_REG_NRM_TX_INTEN_SET 0x10a
++#define NETSEC_REG_NRM_TX_INTEN_CLR 0x10b
++#define NETSEC_REG_NRM_RX_STATUS 0x110
++#define NETSEC_REG_NRM_RX_INTEN 0x111
++#define NETSEC_REG_NRM_RX_INTEN_SET 0x11a
++#define NETSEC_REG_NRM_RX_INTEN_CLR 0x11b
++#define NETSEC_REG_RESERVED_RX_DESC_START 0x122
++#define NETSEC_REG_RESERVED_TX_DESC_START 0x132
++#define NETSEC_REG_CLK_EN 0x40
++#define NETSEC_REG_SOFT_RST 0x41
++#define NETSEC_REG_PKT_CMD_BUF 0x34
++#define NETSEC_REG_PKT_CTRL 0x50
++#define NETSEC_REG_COM_INIT 0x48
++#define NETSEC_REG_DMA_TMR_CTRL 0x83
++#define NETSEC_REG_F_TAIKI_MC_VER 0x8b
++#define NETSEC_REG_F_TAIKI_VER 0x8c
++#define NETSEC_REG_DMA_HM_CTRL 0x85
++#define NETSEC_REG_DMA_MH_CTRL 0x88
++#define NETSEC_REG_ADDR_DIS_CORE 0x86
++#define NETSEC_REG_DMAC_HM_CMD_BUF 0x84
++#define NETSEC_REG_DMAC_MH_CMD_BUF 0x87
++#define NETSEC_REG_NRM_TX_PKTCNT 0x104
++#define NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT 0x106
++#define NETSEC_REG_NRM_RX_RXINT_PKTCNT 0x116
++#define NETSEC_REG_NRM_TX_TXINT_TMR 0x108
++#define NETSEC_REG_NRM_RX_RXINT_TMR 0x118
++#define NETSEC_REG_NRM_TX_DONE_PKTCNT 0x105
++#define NETSEC_REG_NRM_RX_PKTCNT 0x115
++#define NETSEC_REG_NRM_TX_TMR 0x107
++#define NETSEC_REG_NRM_RX_TMR 0x117
++#define NETSEC_REG_NRM_TX_DESC_START_UP 0x10d
++#define NETSEC_REG_NRM_TX_DESC_START_LW 0x102
++#define NETSEC_REG_NRM_RX_DESC_START_UP 0x11d
++#define NETSEC_REG_NRM_RX_DESC_START_LW 0x112
++#define NETSEC_REG_NRM_TX_CONFIG 0x10c
++#define NETSEC_REG_NRM_RX_CONFIG 0x11c
++#define MAC_REG_DATA 0x470
++#define MAC_REG_CMD 0x471
++#define MAC_REG_FLOW_TH 0x473
++#define MAC_REG_INTF_SEL 0x475
++#define MAC_REG_DESC_INIT 0x47f
++#define MAC_REG_DESC_SOFT_RST 0x481
++#define NETSEC_REG_MODE_TRANS_COMP_STATUS 0x140
++#define GMAC_REG_MCR 0x0000
++#define GMAC_REG_MFFR 0x0004
++#define GMAC_REG_GAR 0x0010
++#define GMAC_REG_GDR 0x0014
++#define GMAC_REG_FCR 0x0018
++#define GMAC_REG_BMR 0x1000
++#define GMAC_REG_RDLAR 0x100c
++#define GMAC_REG_TDLAR 0x1010
++#define GMAC_REG_OMR 0x1018
++
++#define NETSEC_PKT_CTRL_REG_MODE_NRM BIT(28)
++#define NETSEC_PKT_CTRL_REG_EN_JUMBO BIT(27)
++#define NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER BIT(3)
++#define NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE BIT(2)
++#define NETSEC_PKT_CTRL_REG_LOG_HD_ER BIT(1)
++#define NETSEC_PKT_CTRL_REG_DRP_NO_MATCH BIT(0)
++
++#define NETSEC_CLK_EN_REG_DOM_G BIT(5)
++#define NETSEC_CLK_EN_REG_DOM_C BIT(1)
++#define NETSEC_CLK_EN_REG_DOM_D BIT(0)
++
++#define NETSEC_COM_INIT_REG_DB BIT(2)
++#define NETSEC_COM_INIT_REG_CLS BIT(1)
++#define NETSEC_COM_INIT_REG_ALL (NETSEC_COM_INIT_REG_CLS | \
++ NETSEC_COM_INIT_REG_DB)
++
++#define NETSEC_SOFT_RST_REG_RESET 0
++#define NETSEC_SOFT_RST_REG_RUN BIT(31)
++
++#define NETSEC_DMA_CTRL_REG_STOP 1
++#define MH_CTRL__MODE_TRANS BIT(20)
++
++#define NETSEC_GMAC_CMD_ST_READ 0
++#define NETSEC_GMAC_CMD_ST_WRITE BIT(28)
++#define NETSEC_GMAC_CMD_ST_BUSY BIT(31)
++
++#define NETSEC_GMAC_BMR_REG_COMMON 0x00412080
++#define NETSEC_GMAC_BMR_REG_RESET 0x00020181
++#define NETSEC_GMAC_BMR_REG_SWR 0x00000001
++
++#define NETSEC_GMAC_OMR_REG_ST BIT(13)
++#define NETSEC_GMAC_OMR_REG_SR BIT(1)
++
++#define NETSEC_GMAC_MCR_REG_IBN BIT(30)
++#define NETSEC_GMAC_MCR_REG_CST BIT(25)
++#define NETSEC_GMAC_MCR_REG_JE BIT(20)
++#define NETSEC_MCR_PS BIT(15)
++#define NETSEC_GMAC_MCR_REG_FES BIT(14)
++#define NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON 0x0000280c
++#define NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON 0x0001a00c
++
++#define NETSEC_FCR_RFE BIT(2)
++#define NETSEC_FCR_TFE BIT(1)
++
++#define NETSEC_GMAC_GAR_REG_GW BIT(1)
++#define NETSEC_GMAC_GAR_REG_GB BIT(0)
++
++#define NETSEC_GMAC_GAR_REG_SHIFT_PA 11
++#define NETSEC_GMAC_GAR_REG_SHIFT_GR 6
++#define GMAC_REG_SHIFT_CR_GAR 2
++
++#define NETSEC_GMAC_GAR_REG_CR_25_35_MHZ 2
++#define NETSEC_GMAC_GAR_REG_CR_35_60_MHZ 3
++#define NETSEC_GMAC_GAR_REG_CR_60_100_MHZ 0
++#define NETSEC_GMAC_GAR_REG_CR_100_150_MHZ 1
++#define NETSEC_GMAC_GAR_REG_CR_150_250_MHZ 4
++#define NETSEC_GMAC_GAR_REG_CR_250_300_MHZ 5
++
++#define NETSEC_GMAC_RDLAR_REG_COMMON 0x18000
++#define NETSEC_GMAC_TDLAR_REG_COMMON 0x1c000
++
++#define NETSEC_REG_NETSEC_VER_F_TAIKI 0x50000
++
++#define NETSEC_REG_DESC_RING_CONFIG_CFG_UP BIT(31)
++#define NETSEC_REG_DESC_RING_CONFIG_CH_RST BIT(30)
++#define NETSEC_REG_DESC_TMR_MODE 4
++#define NETSEC_REG_DESC_ENDIAN 0
++
++#define NETSEC_MAC_DESC_SOFT_RST_SOFT_RST 1
++#define NETSEC_MAC_DESC_INIT_REG_INIT 1
++
++#define NETSEC_EEPROM_MAC_ADDRESS 0x00
++#define NETSEC_EEPROM_HM_ME_ADDRESS_H 0x08
++#define NETSEC_EEPROM_HM_ME_ADDRESS_L 0x0C
++#define NETSEC_EEPROM_HM_ME_SIZE 0x10
++#define NETSEC_EEPROM_MH_ME_ADDRESS_H 0x14
++#define NETSEC_EEPROM_MH_ME_ADDRESS_L 0x18
++#define NETSEC_EEPROM_MH_ME_SIZE 0x1C
++#define NETSEC_EEPROM_PKT_ME_ADDRESS 0x20
++#define NETSEC_EEPROM_PKT_ME_SIZE 0x24
++
++/* this is used to interpret a register layout */
++struct netsec_pkt_ctrlaram {
++ u8 log_chksum_er_flag:1;
++ u8 log_hd_imcomplete_flag:1;
++ u8 log_hd_er_flag:1;
++};
++
++struct netsec_param {
++ struct netsec_pkt_ctrlaram pkt_ctrlaram;
++ bool use_jumbo_pkt_flag;
++};
++
++struct netsec_mac_mode {
++ u16 flow_start_th;
++ u16 flow_stop_th;
++ u16 pause_time;
++ bool flow_ctrl_enable_flag;
++};
++
++struct netsec_desc_ring {
++ spinlock_t spinlock_desc; /* protect descriptor access */
++ phys_addr_t desc_phys;
++ struct netsec_frag_info *frag;
++ struct sk_buff **priv;
++ void *ring_vaddr;
++ enum netsec_rings id;
++ int len;
++ u16 tx_done_num;
++ u16 rx_num;
++ u16 head;
++ u16 tail;
++ bool running;
++ bool full;
++};
++
++struct netsec_frag_info {
++ dma_addr_t dma_addr;
++ void *addr;
++ u16 len;
++};
++
++struct netsec_priv {
++ struct netsec_desc_ring desc_ring[NETSEC_RING_MAX + 1];
++ struct ethtool_coalesce et_coalesce;
++ struct netsec_mac_mode mac_mode;
++ struct netsec_param param;
++ struct napi_struct napi;
++ phy_interface_t phy_interface;
++ spinlock_t tx_queue_lock; /* protect transmit queue */
++ struct netsec_frag_info tx_info[MAX_SKB_FRAGS];
++ struct net_device *ndev;
++ struct device_node *phy_np;
++ struct phy_device *phydev;
++ struct mii_bus *mii_bus;
++ void __iomem *ioaddr;
++ const void *eeprom_base;
++ struct device *dev;
++ struct clk *clk[3];
++ u32 rx_pkt_buf_len;
++ u32 msg_enable;
++ u32 freq;
++ int actual_link_speed;
++ int clock_count;
++ bool rx_cksum_offload_flag;
++ bool actual_duplex;
++ bool irq_registered;
++};
++
++struct netsec_tx_de {
++ u32 attr;
++ u32 data_buf_addr_up;
++ u32 data_buf_addr_lw;
++ u32 buf_len_info;
++};
++
++struct netsec_rx_de {
++ u32 attr;
++ u32 data_buf_addr_up;
++ u32 data_buf_addr_lw;
++ u32 buf_len_info;
++};
++
++struct netsec_tx_pkt_ctrl {
++ u16 tcp_seg_len;
++ bool tcp_seg_offload_flag;
++ bool cksum_offload_flag;
++};
++
++struct netsec_rx_pkt_info {
++ int rx_cksum_result;
++ int err_code;
++ bool is_fragmented;
++ bool err_flag;
++};
++
++struct netsec_skb_cb {
++ bool is_rx;
++};
++
++static inline void netsec_writel(struct netsec_priv *priv,
++ u32 reg_addr, u32 val)
++{
++ writel_relaxed(val, priv->ioaddr + (reg_addr << 2));
++}
++
++static inline u32 netsec_readl(struct netsec_priv *priv, u32 reg_addr)
++{
++ return readl_relaxed(priv->ioaddr + (reg_addr << 2));
++}
++
++static inline void netsec_mark_skb_type(struct sk_buff *skb, bool is_rx)
++{
++ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb;
++
++ cb->is_rx = is_rx;
++}
++
++static inline bool skb_is_rx(struct sk_buff *skb)
++{
++ struct netsec_skb_cb *cb = (struct netsec_skb_cb *)skb->cb;
++
++ return cb->is_rx;
++}
++
++extern const struct net_device_ops netsec_netdev_ops;
++extern const struct ethtool_ops netsec_ethtool_ops;
++
++int netsec_start_gmac(struct netsec_priv *priv);
++int netsec_stop_gmac(struct netsec_priv *priv);
++int netsec_mii_register(struct netsec_priv *priv);
++void netsec_mii_unregister(struct netsec_priv *priv);
++int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id);
++void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id);
++u16 netsec_get_rx_num(struct netsec_priv *priv);
++u16 netsec_get_tx_avail_num(struct netsec_priv *priv);
++int netsec_clean_tx_desc_ring(struct netsec_priv *priv);
++int netsec_clean_rx_desc_ring(struct netsec_priv *priv);
++int netsec_set_tx_pkt_data(struct netsec_priv *priv,
++ const struct netsec_tx_pkt_ctrl *tx_ctrl,
++ u8 count_frags, const struct netsec_frag_info *info,
++ struct sk_buff *skb);
++int netsec_get_rx_pkt_data(struct netsec_priv *priv,
++ struct netsec_rx_pkt_info *rxpi,
++ struct netsec_frag_info *frag, u16 *len,
++ struct sk_buff **skb);
++void netsec_ring_irq_enable(struct netsec_priv *priv,
++ enum netsec_rings id, u32 i);
++void netsec_ring_irq_disable(struct netsec_priv *priv,
++ enum netsec_rings id, u32 i);
++int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id);
++void netsec_free_desc_ring(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc);
++int netsec_setup_rx_desc(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc);
++int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget);
++
++#endif /* NETSEC_INTERNAL_H */
+diff --git a/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
+new file mode 100644
+index 0000000..a4e56cd
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
+@@ -0,0 +1,623 @@
++/**
++ * drivers/net/ethernet/socionext/netsec/netsec_desc_ring_access.c
++ *
++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
++ * Andy Green <andy.green@linaro.org>
++ * Jassi Brar <jaswinder.singh@linaro.org>
++ * Ard Biesheuvel <ard.biesheuvel@linaro.org>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ */
++
++#include <linux/spinlock.h>
++#include <linux/dma-mapping.h>
++
++#include "netsec.h"
++
++static const u32 ads_irq_set[] = {
++ NETSEC_REG_NRM_TX_INTEN_SET,
++ NETSEC_REG_NRM_RX_INTEN_SET,
++};
++
++static const u32 desc_ring_irq_inten_clr_reg_addr[] = {
++ NETSEC_REG_NRM_TX_INTEN_CLR,
++ NETSEC_REG_NRM_RX_INTEN_CLR,
++};
++
++static const u32 int_tmr_reg_addr[] = {
++ NETSEC_REG_NRM_TX_TXINT_TMR,
++ NETSEC_REG_NRM_RX_RXINT_TMR,
++};
++
++static const u32 rx_pkt_cnt_reg_addr[] = {
++ 0,
++ NETSEC_REG_NRM_RX_PKTCNT,
++};
++
++static const u32 tx_pkt_cnt_reg_addr[] = {
++ NETSEC_REG_NRM_TX_PKTCNT,
++ 0,
++};
++
++static const u32 int_pkt_cnt_reg_addr[] = {
++ NETSEC_REG_NRM_TX_DONE_TXINT_PKTCNT,
++ NETSEC_REG_NRM_RX_RXINT_PKTCNT,
++};
++
++static const u32 tx_done_pkt_addr[] = {
++ NETSEC_REG_NRM_TX_DONE_PKTCNT,
++ 0,
++};
++
++static const u32 netsec_desc_mask[] = {
++ [NETSEC_RING_TX] = NETSEC_GMAC_OMR_REG_ST,
++ [NETSEC_RING_RX] = NETSEC_GMAC_OMR_REG_SR
++};
++
++void netsec_ring_irq_enable(struct netsec_priv *priv,
++ enum netsec_rings id, u32 irqf)
++{
++ netsec_writel(priv, ads_irq_set[id], irqf);
++}
++
++void netsec_ring_irq_disable(struct netsec_priv *priv,
++ enum netsec_rings id, u32 irqf)
++{
++ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id], irqf);
++}
++
++static struct sk_buff *alloc_rx_pkt_buf(struct netsec_priv *priv,
++ struct netsec_frag_info *info)
++{
++ struct sk_buff *skb;
++
++ if (device_get_dma_attr(priv->dev) == DEV_DMA_COHERENT) {
++ skb = netdev_alloc_skb_ip_align(priv->ndev, info->len);
++ } else {
++ info->len = L1_CACHE_ALIGN(info->len);
++ skb = netdev_alloc_skb(priv->ndev, info->len);
++ }
++ if (!skb)
++ return NULL;
++
++ netsec_mark_skb_type(skb, NETSEC_RING_RX);
++ info->addr = skb->data;
++ info->dma_addr = dma_map_single(priv->dev, info->addr, info->len,
++ DMA_FROM_DEVICE);
++ if (dma_mapping_error(priv->dev, info->dma_addr)) {
++ dev_kfree_skb(skb);
++ return NULL;
++ }
++ return skb;
++}
++
++int netsec_alloc_desc_ring(struct netsec_priv *priv, enum netsec_rings id)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[id];
++ int ret = 0;
++
++ desc->id = id;
++ desc->len = sizeof(struct netsec_tx_de); /* rx and tx desc same size */
++
++ spin_lock_init(&desc->spinlock_desc);
++
++ desc->ring_vaddr = dma_zalloc_coherent(priv->dev, desc->len * DESC_NUM,
++ &desc->desc_phys, GFP_KERNEL);
++ if (!desc->ring_vaddr) {
++ ret = -ENOMEM;
++ goto err;
++ }
++
++ desc->frag = kcalloc(DESC_NUM, sizeof(*desc->frag), GFP_KERNEL);
++ if (!desc->frag) {
++ ret = -ENOMEM;
++ goto err;
++ }
++
++ desc->priv = kcalloc(DESC_NUM, sizeof(struct sk_buff *), GFP_KERNEL);
++ if (!desc->priv) {
++ ret = -ENOMEM;
++ goto err;
++ }
++
++ return 0;
++
++err:
++ netsec_free_desc_ring(priv, desc);
++
++ return ret;
++}
++
++static void netsec_uninit_pkt_desc_ring(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc)
++{
++ struct netsec_frag_info *frag;
++ u32 status;
++ u16 idx;
++
++ for (idx = 0; idx < DESC_NUM; idx++) {
++ frag = &desc->frag[idx];
++ if (!frag->addr)
++ continue;
++
++ status = *(u32 *)(desc->ring_vaddr + desc->len * idx);
++
++ dma_unmap_single(priv->dev, frag->dma_addr, frag->len,
++ skb_is_rx(desc->priv[idx]) ? DMA_FROM_DEVICE :
++ DMA_TO_DEVICE);
++ if ((status >> NETSEC_TX_LAST) & 1)
++ dev_kfree_skb(desc->priv[idx]);
++ }
++
++ memset(desc->frag, 0, sizeof(struct netsec_frag_info) * DESC_NUM);
++ memset(desc->priv, 0, sizeof(struct sk_buff *) * DESC_NUM);
++ memset(desc->ring_vaddr, 0, desc->len * DESC_NUM);
++}
++
++void netsec_free_desc_ring(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc)
++{
++ if (desc->ring_vaddr && desc->frag && desc->priv)
++ netsec_uninit_pkt_desc_ring(priv, desc);
++
++ if (desc->ring_vaddr) {
++ dma_free_coherent(priv->dev, desc->len * DESC_NUM,
++ desc->ring_vaddr, desc->desc_phys);
++ desc->ring_vaddr = NULL;
++ }
++ kfree(desc->frag);
++ desc->frag = NULL;
++ kfree(desc->priv);
++ desc->priv = NULL;
++}
++
++static void netsec_set_rx_de(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc, u16 idx,
++ const struct netsec_frag_info *info,
++ struct sk_buff *skb)
++{
++ struct netsec_rx_de *de = desc->ring_vaddr + desc->len * idx;
++ u32 attr = (1 << NETSEC_RX_PKT_OWN_FIELD) |
++ (1 << NETSEC_RX_PKT_FS_FIELD) |
++ (1 << NETSEC_RX_PKT_LS_FIELD);
++
++ if (idx == DESC_NUM - 1)
++ attr |= (1 << NETSEC_RX_PKT_LD_FIELD);
++
++ de->data_buf_addr_up = upper_32_bits(info->dma_addr);
++ de->data_buf_addr_lw = lower_32_bits(info->dma_addr);
++ de->buf_len_info = info->len;
++ /* desc->attr makes the descriptor live, so it must be physically
++ * written last after the rest of the descriptor body is already there
++ */
++ dma_wmb();
++ de->attr = attr;
++
++ desc->frag[idx].dma_addr = info->dma_addr;
++ desc->frag[idx].addr = info->addr;
++ desc->frag[idx].len = info->len;
++
++ desc->priv[idx] = skb;
++}
++
++int netsec_setup_rx_desc(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc)
++{
++ struct netsec_frag_info info;
++ struct sk_buff *skb;
++ int n;
++
++ info.len = priv->rx_pkt_buf_len;
++
++ for (n = 0; n < DESC_NUM; n++) {
++ skb = alloc_rx_pkt_buf(priv, &info);
++ if (!skb) {
++ netsec_uninit_pkt_desc_ring(priv, desc);
++ return -ENOMEM;
++ }
++ netsec_set_rx_de(priv, desc, n, &info, skb);
++ }
++
++ return 0;
++}
++
++static void netsec_set_tx_desc_entry(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc,
++ const struct netsec_tx_pkt_ctrl *tx_ctrl,
++ bool first_flag, bool last_flag,
++ const struct netsec_frag_info *frag,
++ struct sk_buff *skb)
++{
++ struct netsec_tx_de *tx_desc_entry;
++ int idx = desc->head;
++ u32 attr;
++
++ tx_desc_entry = desc->ring_vaddr + (desc->len * idx);
++
++ attr = (1 << NETSEC_TX_SHIFT_OWN_FIELD) |
++ (desc->id << NETSEC_TX_SHIFT_DRID_FIELD) |
++ (1 << NETSEC_TX_SHIFT_PT_FIELD) |
++ (NETSEC_RING_GMAC << NETSEC_TX_SHIFT_TDRID_FIELD) |
++ (first_flag << NETSEC_TX_SHIFT_FS_FIELD) |
++ (last_flag << NETSEC_TX_LAST) |
++ (tx_ctrl->cksum_offload_flag << NETSEC_TX_SHIFT_CO) |
++ (tx_ctrl->tcp_seg_offload_flag << NETSEC_TX_SHIFT_SO) |
++ (1 << NETSEC_TX_SHIFT_TRS_FIELD);
++ if (idx == DESC_NUM - 1)
++ attr |= (1 << NETSEC_TX_SHIFT_LD_FIELD);
++
++ tx_desc_entry->data_buf_addr_up = upper_32_bits(frag->dma_addr);
++ tx_desc_entry->data_buf_addr_lw = lower_32_bits(frag->dma_addr);
++ tx_desc_entry->buf_len_info = (tx_ctrl->tcp_seg_len << 16) | frag->len;
++ /* desc->attr makes the descriptor live, so it must be physically
++ * written last after the rest of the descriptor body is already there
++ */
++ dma_wmb();
++ tx_desc_entry->attr = attr;
++
++ desc->frag[idx] = *frag;
++ desc->priv[idx] = skb;
++}
++
++static void netsec_get_rx_de(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc, u16 idx,
++ struct netsec_rx_pkt_info *rxpi,
++ struct netsec_frag_info *frag, u16 *len,
++ struct sk_buff **skb)
++{
++ struct netsec_rx_de de = {};
++
++ *rxpi = (struct netsec_rx_pkt_info){};
++ memcpy(&de, desc->ring_vaddr + desc->len * idx, desc->len);
++
++ dev_dbg(priv->dev, "%08x\n", *(u32 *)&de);
++ *len = de.buf_len_info >> 16;
++
++ rxpi->is_fragmented = (de.attr >> NETSEC_RX_PKT_FR_FIELD) & 1;
++ rxpi->err_flag = (de.attr >> NETSEC_RX_PKT_ER_FIELD) & 1;
++ rxpi->rx_cksum_result = (de.attr >> NETSEC_RX_PKT_CO_FIELD) & 3;
++ rxpi->err_code = (de.attr >> NETSEC_RX_PKT_ERR_FIELD) &
++ NETSEC_RX_PKT_ERR_MASK;
++ *frag = desc->frag[idx];
++ *skb = desc->priv[idx];
++}
++
++static void netsec_inc_desc_head_idx(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc, u16 inc)
++{
++ u32 sum;
++
++ sum = desc->head + inc;
++
++ if (sum >= DESC_NUM)
++ sum -= DESC_NUM;
++
++ desc->head = sum;
++ desc->full = desc->head == desc->tail;
++}
++
++static void netsec_inc_desc_tail_idx(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc)
++{
++ u32 sum;
++
++ sum = desc->tail + 1;
++
++ if (sum >= DESC_NUM)
++ sum -= DESC_NUM;
++
++ desc->tail = sum;
++ desc->full = false;
++}
++
++static u16 netsec_get_tx_avail_num_sub(struct netsec_priv *priv,
++ const struct netsec_desc_ring *desc)
++{
++ if (desc->full)
++ return 0;
++
++ if (desc->tail > desc->head)
++ return desc->tail - desc->head;
++
++ return DESC_NUM + desc->tail - desc->head;
++}
++
++static u16 netsec_get_tx_done_num_sub(struct netsec_priv *priv,
++ struct netsec_desc_ring *desc)
++{
++ desc->tx_done_num += netsec_readl(priv, tx_done_pkt_addr[desc->id]);
++
++ return desc->tx_done_num;
++}
++
++static int netsec_set_irq_coalesce_param(struct netsec_priv *priv,
++ enum netsec_rings id)
++{
++ int max_frames, tmr;
++
++ switch (id) {
++ case NETSEC_RING_TX:
++ max_frames = priv->et_coalesce.tx_max_coalesced_frames;
++ tmr = priv->et_coalesce.tx_coalesce_usecs;
++ break;
++ case NETSEC_RING_RX:
++ max_frames = priv->et_coalesce.rx_max_coalesced_frames;
++ tmr = priv->et_coalesce.rx_coalesce_usecs;
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ netsec_writel(priv, int_pkt_cnt_reg_addr[id], max_frames);
++ netsec_writel(priv, int_tmr_reg_addr[id], ((tmr != 0) << 31) | tmr);
++
++ return 0;
++}
++
++int netsec_start_desc_ring(struct netsec_priv *priv, enum netsec_rings id)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[id];
++ int ret = 0;
++
++ spin_lock_bh(&desc->spinlock_desc);
++
++ if (desc->running) {
++ ret = -EBUSY;
++ goto err;
++ }
++
++ switch (desc->id) {
++ case NETSEC_RING_RX:
++ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_RCV);
++ break;
++ case NETSEC_RING_TX:
++ netsec_writel(priv, ads_irq_set[id], NETSEC_IRQ_EMPTY);
++ break;
++ }
++
++ netsec_set_irq_coalesce_param(priv, desc->id);
++ desc->running = true;
++
++err:
++ spin_unlock_bh(&desc->spinlock_desc);
++
++ return ret;
++}
++
++void netsec_stop_desc_ring(struct netsec_priv *priv, enum netsec_rings id)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[id];
++
++ spin_lock_bh(&desc->spinlock_desc);
++ if (desc->running)
++ netsec_writel(priv, desc_ring_irq_inten_clr_reg_addr[id],
++ NETSEC_IRQ_RCV | NETSEC_IRQ_EMPTY |
++ NETSEC_IRQ_SND);
++
++ desc->running = false;
++ spin_unlock_bh(&desc->spinlock_desc);
++}
++
++u16 netsec_get_rx_num(struct netsec_priv *priv)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX];
++ u32 result;
++
++ spin_lock(&desc->spinlock_desc);
++ if (desc->running) {
++ result = netsec_readl(priv,
++ rx_pkt_cnt_reg_addr[NETSEC_RING_RX]);
++ desc->rx_num += result;
++ if (result)
++ netsec_inc_desc_head_idx(priv, desc, result);
++ }
++ spin_unlock(&desc->spinlock_desc);
++
++ return desc->rx_num;
++}
++
++u16 netsec_get_tx_avail_num(struct netsec_priv *priv)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX];
++ u16 result;
++
++ spin_lock(&desc->spinlock_desc);
++
++ if (!desc->running) {
++ netif_err(priv, drv, priv->ndev,
++ "%s: not running tx desc\n", __func__);
++ result = 0;
++ goto err;
++ }
++
++ result = netsec_get_tx_avail_num_sub(priv, desc);
++
++err:
++ spin_unlock(&desc->spinlock_desc);
++
++ return result;
++}
++
++int netsec_clean_tx_desc_ring(struct netsec_priv *priv)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_TX];
++ unsigned int pkts = 0, bytes = 0;
++ struct netsec_frag_info *frag;
++ struct netsec_tx_de *entry;
++ bool is_last;
++
++ spin_lock(&desc->spinlock_desc);
++
++ netsec_get_tx_done_num_sub(priv, desc);
++
++ while ((desc->tail != desc->head || desc->full) && desc->tx_done_num) {
++ frag = &desc->frag[desc->tail];
++ entry = desc->ring_vaddr + desc->len * desc->tail;
++ is_last = (entry->attr >> NETSEC_TX_LAST) & 1;
++
++ dma_unmap_single(priv->dev, frag->dma_addr, frag->len,
++ DMA_TO_DEVICE);
++ if (is_last) {
++ pkts++;
++ bytes += desc->priv[desc->tail]->len;
++ dev_kfree_skb(desc->priv[desc->tail]);
++ }
++ *frag = (struct netsec_frag_info){};
++ netsec_inc_desc_tail_idx(priv, desc);
++
++ if (is_last)
++ desc->tx_done_num--;
++ }
++
++ spin_unlock(&desc->spinlock_desc);
++
++ priv->ndev->stats.tx_packets += pkts;
++ priv->ndev->stats.tx_bytes += bytes;
++
++ netdev_completed_queue(priv->ndev, pkts, bytes);
++
++ return 0;
++}
++
++int netsec_clean_rx_desc_ring(struct netsec_priv *priv)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX];
++
++ spin_lock(&desc->spinlock_desc);
++
++ while (desc->full || (desc->tail != desc->head)) {
++ netsec_set_rx_de(priv, desc, desc->tail,
++ &desc->frag[desc->tail],
++ desc->priv[desc->tail]);
++ desc->rx_num--;
++ netsec_inc_desc_tail_idx(priv, desc);
++ }
++
++ spin_unlock(&desc->spinlock_desc);
++
++ return 0;
++}
++
++int netsec_set_tx_pkt_data(struct netsec_priv *priv,
++ const struct netsec_tx_pkt_ctrl *tx_ctrl,
++ u8 count_frags, const struct netsec_frag_info *info,
++ struct sk_buff *skb)
++{
++ struct netsec_desc_ring *desc;
++ u32 sum_len = 0;
++ unsigned int i;
++ int ret = 0;
++
++ if (tx_ctrl->tcp_seg_offload_flag && !tx_ctrl->cksum_offload_flag)
++ return -EINVAL;
++
++ if (tx_ctrl->tcp_seg_offload_flag) {
++ if (tx_ctrl->tcp_seg_len == 0)
++ return -EINVAL;
++
++ if (priv->param.use_jumbo_pkt_flag) {
++ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_JUMBO_SEG_LEN_MAX)
++ return -EINVAL;
++ } else {
++ if (tx_ctrl->tcp_seg_len > NETSEC_TCP_SEG_LEN_MAX)
++ return -EINVAL;
++ }
++ } else {
++ if (tx_ctrl->tcp_seg_len)
++ return -EINVAL;
++ }
++
++ if (!count_frags)
++ return -ERANGE;
++
++ for (i = 0; i < count_frags; i++) {
++ if ((info[i].len == 0) || (info[i].len > 0xffff)) {
++ netif_err(priv, drv, priv->ndev,
++ "%s: bad info len\n", __func__);
++ return -EINVAL;
++ }
++ sum_len += info[i].len;
++ }
++
++ if (!tx_ctrl->tcp_seg_offload_flag) {
++ if (priv->param.use_jumbo_pkt_flag) {
++ if (sum_len > NETSEC_MAX_TX_JUMBO_PKT_LEN)
++ return -EINVAL;
++ } else {
++ if (sum_len > NETSEC_MAX_TX_PKT_LEN)
++ return -EINVAL;
++ }
++ }
++
++ desc = &priv->desc_ring[NETSEC_RING_TX];
++ spin_lock(&desc->spinlock_desc);
++
++ if (!desc->running) {
++ ret = -ENODEV;
++ goto end;
++ }
++
++ dma_rmb(); /* we need to see a consistent view of pending tx count */
++ if (count_frags > netsec_get_tx_avail_num_sub(priv, desc)) {
++ ret = -EBUSY;
++ goto end;
++ }
++
++ for (i = 0; i < count_frags; i++) {
++ netsec_set_tx_desc_entry(priv, desc, tx_ctrl, i == 0,
++ i == count_frags - 1, &info[i], skb);
++ netsec_inc_desc_head_idx(priv, desc, 1);
++ }
++
++ dma_wmb(); /* ensure the descriptor is flushed */
++ netsec_writel(priv, tx_pkt_cnt_reg_addr[NETSEC_RING_TX], 1);
++
++end:
++ spin_unlock(&desc->spinlock_desc);
++
++ return ret;
++}
++
++int netsec_get_rx_pkt_data(struct netsec_priv *priv,
++ struct netsec_rx_pkt_info *rxpi,
++ struct netsec_frag_info *frag, u16 *len,
++ struct sk_buff **skb)
++{
++ struct netsec_desc_ring *desc = &priv->desc_ring[NETSEC_RING_RX];
++ struct netsec_frag_info info;
++ struct sk_buff *tmp_skb;
++ int ret = 0;
++
++ spin_lock(&desc->spinlock_desc);
++
++ if (desc->rx_num == 0) {
++ dev_err(priv->dev, "%s 0 len rx\n", __func__);
++ ret = -EINVAL;
++ goto err;
++ }
++
++ info.len = priv->rx_pkt_buf_len;
++ dma_rmb(); /* we need to ensure we only see current data in descriptor */
++ tmp_skb = alloc_rx_pkt_buf(priv, &info);
++ if (!tmp_skb) {
++ netsec_set_rx_de(priv, desc, desc->tail,
++ &desc->frag[desc->tail],
++ desc->priv[desc->tail]);
++ ret = -ENOMEM;
++ } else {
++ netsec_get_rx_de(priv, desc, desc->tail, rxpi, frag, len, skb);
++ netsec_set_rx_de(priv, desc, desc->tail, &info, tmp_skb);
++ }
++
++ netsec_inc_desc_tail_idx(priv, desc);
++ desc->rx_num--;
++
++err:
++ spin_unlock(&desc->spinlock_desc);
++
++ return ret;
++}
+diff --git a/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
+new file mode 100644
+index 0000000..45830fe
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
+@@ -0,0 +1,78 @@
++/**
++ * drivers/net/ethernet/socionext/netsec/netsec_ethtool.c
++ *
++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
++ * Andy Green <andy.green@linaro.org>
++ * Jassi Brar <jaswinder.singh@linaro.org>
++ * Ard Biesheuvel <ard.biesheuvel@linaro.org>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ */
++
++#include "netsec.h"
++
++static void netsec_et_get_drvinfo(struct net_device *net_device,
++ struct ethtool_drvinfo *info)
++{
++ strlcpy(info->driver, "netsec", sizeof(info->driver));
++ strlcpy(info->bus_info, dev_name(net_device->dev.parent),
++ sizeof(info->bus_info));
++}
++
++static int netsec_et_get_coalesce(struct net_device *net_device,
++ struct ethtool_coalesce *et_coalesce)
++{
++ struct netsec_priv *priv = netdev_priv(net_device);
++
++ *et_coalesce = priv->et_coalesce;
++
++ return 0;
++}
++
++static int netsec_et_set_coalesce(struct net_device *net_device,
++ struct ethtool_coalesce *et_coalesce)
++{
++ struct netsec_priv *priv = netdev_priv(net_device);
++
++ if (et_coalesce->rx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX)
++ return -EINVAL;
++ if (et_coalesce->tx_max_coalesced_frames > NETSEC_INT_PKTCNT_MAX)
++ return -EINVAL;
++ if (!et_coalesce->rx_max_coalesced_frames)
++ return -EINVAL;
++ if (!et_coalesce->tx_max_coalesced_frames)
++ return -EINVAL;
++
++ priv->et_coalesce = *et_coalesce;
++
++ return 0;
++}
++
++static u32 netsec_et_get_msglevel(struct net_device *dev)
++{
++ struct netsec_priv *priv = netdev_priv(dev);
++
++ return priv->msg_enable;
++}
++
++static void netsec_et_set_msglevel(struct net_device *dev, u32 datum)
++{
++ struct netsec_priv *priv = netdev_priv(dev);
++
++ priv->msg_enable = datum;
++}
++
++const struct ethtool_ops netsec_ethtool_ops = {
++ .get_drvinfo = netsec_et_get_drvinfo,
++ .get_link_ksettings = phy_ethtool_get_link_ksettings,
++ .set_link_ksettings = phy_ethtool_set_link_ksettings,
++ .get_link = ethtool_op_get_link,
++ .get_coalesce = netsec_et_get_coalesce,
++ .set_coalesce = netsec_et_set_coalesce,
++ .get_msglevel = netsec_et_get_msglevel,
++ .set_msglevel = netsec_et_set_msglevel,
++};
+diff --git a/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
+new file mode 100644
+index 0000000..94e9b7f
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
+@@ -0,0 +1,330 @@
++/**
++ * drivers/net/ethernet/socionext/netsec/netsec_gmac_access.c
++ *
++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
++ * Andy Green <andy.green@linaro.org>
++ * Jassi Brar <jaswinder.singh@linaro.org>
++ * Ard Biesheuvel <ard.biesheuvel@linaro.org>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ */
++#include "netsec.h"
++
++#define TIMEOUT_SPINS_MAC 1000
++#define TIMEOUT_SECONDARY_MS_MAC 100
++
++static u32 netsec_clk_type(u32 freq)
++{
++ if (freq < 35 * NETSEC_CLK_MHZ)
++ return NETSEC_GMAC_GAR_REG_CR_25_35_MHZ;
++ if (freq < 60 * NETSEC_CLK_MHZ)
++ return NETSEC_GMAC_GAR_REG_CR_35_60_MHZ;
++ if (freq < 100 * NETSEC_CLK_MHZ)
++ return NETSEC_GMAC_GAR_REG_CR_60_100_MHZ;
++ if (freq < 150 * NETSEC_CLK_MHZ)
++ return NETSEC_GMAC_GAR_REG_CR_100_150_MHZ;
++ if (freq < 250 * NETSEC_CLK_MHZ)
++ return NETSEC_GMAC_GAR_REG_CR_150_250_MHZ;
++
++ return NETSEC_GMAC_GAR_REG_CR_250_300_MHZ;
++}
++
++static int netsec_wait_while_busy(struct netsec_priv *priv, u32 addr, u32 mask)
++{
++ u32 timeout = TIMEOUT_SPINS_MAC;
++
++ while (--timeout && netsec_readl(priv, addr) & mask)
++ cpu_relax();
++ if (timeout)
++ return 0;
++
++ timeout = TIMEOUT_SECONDARY_MS_MAC;
++ while (--timeout && netsec_readl(priv, addr) & mask)
++ usleep_range(1000, 2000);
++
++ if (timeout)
++ return 0;
++
++ netdev_WARN(priv->ndev, "%s: timeout\n", __func__);
++
++ return -ETIMEDOUT;
++}
++
++static int netsec_mac_write(struct netsec_priv *priv, u32 addr, u32 value)
++{
++ netsec_writel(priv, MAC_REG_DATA, value);
++ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_WRITE);
++ return netsec_wait_while_busy(priv,
++ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY);
++}
++
++static int netsec_mac_read(struct netsec_priv *priv, u32 addr, u32 *read)
++{
++ int ret;
++
++ netsec_writel(priv, MAC_REG_CMD, addr | NETSEC_GMAC_CMD_ST_READ);
++ ret = netsec_wait_while_busy(priv,
++ MAC_REG_CMD, NETSEC_GMAC_CMD_ST_BUSY);
++ if (ret)
++ return ret;
++
++ *read = netsec_readl(priv, MAC_REG_DATA);
++
++ return 0;
++}
++
++static int netsec_mac_wait_while_busy(struct netsec_priv *priv,
++ u32 addr, u32 mask)
++{
++ u32 timeout = TIMEOUT_SPINS_MAC;
++ int ret, data;
++
++ do {
++ ret = netsec_mac_read(priv, addr, &data);
++ if (ret)
++ break;
++ cpu_relax();
++ } while (--timeout && (data & mask));
++
++ if (timeout)
++ return 0;
++
++ timeout = TIMEOUT_SECONDARY_MS_MAC;
++ do {
++ usleep_range(1000, 2000);
++
++ ret = netsec_mac_read(priv, addr, &data);
++ if (ret)
++ break;
++ cpu_relax();
++ } while (--timeout && (data & mask));
++
++ if (timeout && !ret)
++ return 0;
++
++ netdev_WARN(priv->ndev, "%s: timeout\n", __func__);
++
++ return -ETIMEDOUT;
++}
++
++static int netsec_mac_update_to_phy_state(struct netsec_priv *priv)
++{
++ struct phy_device *phydev = priv->ndev->phydev;
++ u32 value = 0;
++
++ value = phydev->duplex ? NETSEC_GMAC_MCR_REG_FULL_DUPLEX_COMMON :
++ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON;
++
++ if (phydev->speed != SPEED_1000)
++ value |= NETSEC_MCR_PS;
++
++ if ((priv->phy_interface != PHY_INTERFACE_MODE_GMII) &&
++ (phydev->speed == SPEED_100))
++ value |= NETSEC_GMAC_MCR_REG_FES;
++
++ value |= NETSEC_GMAC_MCR_REG_CST | NETSEC_GMAC_MCR_REG_JE;
++
++ if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII)
++ value |= NETSEC_GMAC_MCR_REG_IBN;
++
++ if (netsec_mac_write(priv, GMAC_REG_MCR, value))
++ return -ETIMEDOUT;
++
++ priv->actual_link_speed = phydev->speed;
++ priv->actual_duplex = phydev->duplex;
++
++ return 0;
++}
++
++/* NB netsec_start_gmac() only called from adjust_link */
++
++int netsec_start_gmac(struct netsec_priv *priv)
++{
++ struct phy_device *phydev = priv->ndev->phydev;
++ u32 value = 0;
++ int ret;
++
++ if (priv->desc_ring[NETSEC_RING_TX].running &&
++ priv->desc_ring[NETSEC_RING_RX].running)
++ return 0;
++
++ if (!priv->desc_ring[NETSEC_RING_RX].running &&
++ !priv->desc_ring[NETSEC_RING_TX].running) {
++ if (phydev->speed != SPEED_1000)
++ value = (NETSEC_GMAC_MCR_REG_CST |
++ NETSEC_GMAC_MCR_REG_HALF_DUPLEX_COMMON);
++
++ if (netsec_mac_write(priv, GMAC_REG_MCR, value))
++ return -ETIMEDOUT;
++ if (netsec_mac_write(priv, GMAC_REG_BMR,
++ NETSEC_GMAC_BMR_REG_RESET))
++ return -ETIMEDOUT;
++
++ /* Wait soft reset */
++ usleep_range(1000, 5000);
++
++ ret = netsec_mac_read(priv, GMAC_REG_BMR, &value);
++ if (ret)
++ return ret;
++ if (value & NETSEC_GMAC_BMR_REG_SWR)
++ return -EAGAIN;
++
++ netsec_writel(priv, MAC_REG_DESC_SOFT_RST, 1);
++ if (netsec_wait_while_busy(priv, MAC_REG_DESC_SOFT_RST, 1))
++ return -ETIMEDOUT;
++
++ netsec_writel(priv, MAC_REG_DESC_INIT, 1);
++ if (netsec_wait_while_busy(priv, MAC_REG_DESC_INIT, 1))
++ return -ETIMEDOUT;
++
++ if (netsec_mac_write(priv, GMAC_REG_BMR,
++ NETSEC_GMAC_BMR_REG_COMMON))
++ return -ETIMEDOUT;
++ if (netsec_mac_write(priv, GMAC_REG_RDLAR,
++ NETSEC_GMAC_RDLAR_REG_COMMON))
++ return -ETIMEDOUT;
++ if (netsec_mac_write(priv, GMAC_REG_TDLAR,
++ NETSEC_GMAC_TDLAR_REG_COMMON))
++ return -ETIMEDOUT;
++ if (netsec_mac_write(priv, GMAC_REG_MFFR, 0x80000001))
++ return -ETIMEDOUT;
++
++ ret = netsec_mac_update_to_phy_state(priv);
++ if (ret)
++ return ret;
++
++ if (priv->mac_mode.flow_ctrl_enable_flag) {
++ netsec_writel(priv, MAC_REG_FLOW_TH,
++ (priv->mac_mode.flow_stop_th << 16) |
++ priv->mac_mode.flow_start_th);
++ if (netsec_mac_write(priv, GMAC_REG_FCR,
++ (priv->mac_mode.pause_time << 16) |
++ NETSEC_FCR_RFE | NETSEC_FCR_TFE))
++ return -ETIMEDOUT;
++ }
++ }
++
++ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value);
++ if (ret)
++ return ret;
++
++ if (!priv->desc_ring[NETSEC_RING_RX].running) {
++ value |= NETSEC_GMAC_OMR_REG_SR;
++ netsec_start_desc_ring(priv, NETSEC_RING_RX);
++ }
++ if (!priv->desc_ring[NETSEC_RING_TX].running) {
++ value |= NETSEC_GMAC_OMR_REG_ST;
++ netsec_start_desc_ring(priv, NETSEC_RING_TX);
++ }
++
++ if (netsec_mac_write(priv, GMAC_REG_OMR, value))
++ return -ETIMEDOUT;
++
++ netsec_writel(priv, NETSEC_REG_INTEN_SET,
++ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
++
++ return 0;
++}
++
++int netsec_stop_gmac(struct netsec_priv *priv)
++{
++ u32 value;
++ int ret;
++
++ ret = netsec_mac_read(priv, GMAC_REG_OMR, &value);
++ if (ret)
++ return ret;
++
++ if (priv->desc_ring[NETSEC_RING_RX].running) {
++ value &= ~NETSEC_GMAC_OMR_REG_SR;
++ netsec_stop_desc_ring(priv, NETSEC_RING_RX);
++ }
++ if (priv->desc_ring[NETSEC_RING_TX].running) {
++ value &= ~NETSEC_GMAC_OMR_REG_ST;
++ netsec_stop_desc_ring(priv, NETSEC_RING_TX);
++ }
++
++ priv->actual_link_speed = 0;
++ priv->actual_duplex = false;
++
++ return netsec_mac_write(priv, GMAC_REG_OMR, value);
++}
++
++static int netsec_phy_write(struct mii_bus *bus,
++ int phy_addr, int reg, u16 val)
++{
++ struct netsec_priv *priv = bus->priv;
++
++ if (netsec_mac_write(priv, GMAC_REG_GDR, val))
++ return -ETIMEDOUT;
++ if (netsec_mac_write(priv, GMAC_REG_GAR,
++ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA |
++ reg << NETSEC_GMAC_GAR_REG_SHIFT_GR |
++ NETSEC_GMAC_GAR_REG_GW | NETSEC_GMAC_GAR_REG_GB |
++ (netsec_clk_type(priv->freq) <<
++ GMAC_REG_SHIFT_CR_GAR)))
++ return -ETIMEDOUT;
++
++ return netsec_mac_wait_while_busy(priv, GMAC_REG_GAR,
++ NETSEC_GMAC_GAR_REG_GB);
++}
++
++static int netsec_phy_read(struct mii_bus *bus, int phy_addr, int reg_addr)
++{
++ struct netsec_priv *priv = bus->priv;
++ u32 data;
++ int ret;
++
++ if (netsec_mac_write(priv, GMAC_REG_GAR, NETSEC_GMAC_GAR_REG_GB |
++ phy_addr << NETSEC_GMAC_GAR_REG_SHIFT_PA |
++ reg_addr << NETSEC_GMAC_GAR_REG_SHIFT_GR |
++ (netsec_clk_type(priv->freq) <<
++ GMAC_REG_SHIFT_CR_GAR)))
++ return -ETIMEDOUT;
++
++ ret = netsec_mac_wait_while_busy(priv, GMAC_REG_GAR,
++ NETSEC_GMAC_GAR_REG_GB);
++ if (ret)
++ return ret;
++
++ ret = netsec_mac_read(priv, GMAC_REG_GDR, &data);
++ if (ret)
++ return ret;
++
++ return data;
++}
++
++int netsec_mii_register(struct netsec_priv *priv)
++{
++ struct mii_bus *bus = devm_mdiobus_alloc(priv->dev);
++ int ret;
++
++ if (!bus)
++ return -ENOMEM;
++
++ snprintf(bus->id, MII_BUS_ID_SIZE, "%s", dev_name(priv->dev));
++ bus->priv = priv;
++ bus->name = "SNI NETSEC MDIO";
++ bus->read = netsec_phy_read;
++ bus->write = netsec_phy_write;
++ bus->parent = priv->dev;
++ priv->mii_bus = bus;
++
++ if (dev_of_node(priv->dev)) {
++ ret = of_mdiobus_register(bus, dev_of_node(priv->dev));
++ } else {
++ /* Mask out all PHYs from auto probing. */
++ bus->phy_mask = ~0;
++ ret = mdiobus_register(bus);
++ }
++ return ret;
++}
++
++void netsec_mii_unregister(struct netsec_priv *priv)
++{
++ mdiobus_unregister(priv->mii_bus);
++}
+diff --git a/drivers/net/ethernet/socionext/netsec/netsec_netdev.c b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c
+new file mode 100644
+index 0000000..e99cf0e
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/netsec/netsec_netdev.c
+@@ -0,0 +1,540 @@
++/**
++ * drivers/net/ethernet/socionext/netsec/netsec_netdev.c
++ *
++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
++ * Andy Green <andy.green@linaro.org>
++ * Jassi Brar <jaswinder.singh@linaro.org>
++ * Ard Biesheuvel <ard.biesheuvel@linaro.org>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ */
++
++#include <linux/ip.h>
++#include <linux/ipv6.h>
++#include <linux/tcp.h>
++#include <net/tcp.h>
++#include <net/ip6_checksum.h>
++#include <linux/pm_runtime.h>
++
++#include "netsec.h"
++
++#define WAIT_FW_RDY_TIMEOUT 50
++
++static const u32 desc_ring_irq_status_reg_addr[] = {
++ NETSEC_REG_NRM_TX_STATUS,
++ NETSEC_REG_NRM_RX_STATUS,
++};
++
++static const u32 desc_ads[] = {
++ NETSEC_REG_NRM_TX_CONFIG,
++ NETSEC_REG_NRM_RX_CONFIG,
++};
++
++static const u32 netsec_desc_start_reg_addr_up[] = {
++ NETSEC_REG_NRM_TX_DESC_START_UP,
++ NETSEC_REG_NRM_RX_DESC_START_UP,
++};
++
++static const u32 netsec_desc_start_reg_addr_lw[] = {
++ NETSEC_REG_NRM_TX_DESC_START_LW,
++ NETSEC_REG_NRM_RX_DESC_START_LW,
++};
++
++static u32 netsec_calc_pkt_ctrl_reg_param(const struct netsec_pkt_ctrlaram
++ *pkt_ctrlaram_p)
++{
++ u32 param = NETSEC_PKT_CTRL_REG_MODE_NRM;
++
++ if (pkt_ctrlaram_p->log_chksum_er_flag)
++ param |= NETSEC_PKT_CTRL_REG_LOG_CHKSUM_ER;
++
++ if (pkt_ctrlaram_p->log_hd_imcomplete_flag)
++ param |= NETSEC_PKT_CTRL_REG_LOG_HD_INCOMPLETE;
++
++ if (pkt_ctrlaram_p->log_hd_er_flag)
++ param |= NETSEC_PKT_CTRL_REG_LOG_HD_ER;
++
++ return param;
++}
++
++static int netsec_netdev_load_ucode_region(struct netsec_priv *priv, u32 reg,
++ u32 addr_h, u32 addr_l, u32 size)
++{
++ u64 base = (u64)addr_h << 32 | addr_l;
++ __le32 *ucode;
++ u32 i;
++
++ ucode = memremap(base, size * sizeof(u32), MEMREMAP_WT);
++ if (!ucode)
++ return -ENOMEM;
++
++ for (i = 0; i < size; i++)
++ netsec_writel(priv, reg, le32_to_cpu(ucode[i]));
++
++ memunmap(ucode);
++ return 0;
++}
++
++static int netsec_netdev_load_microcode(struct netsec_priv *priv)
++{
++ int err;
++
++ err = netsec_netdev_load_ucode_region(
++ priv, NETSEC_REG_DMAC_HM_CMD_BUF,
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_H),
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_ADDRESS_L),
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_HM_ME_SIZE));
++ if (err)
++ return err;
++
++ err = netsec_netdev_load_ucode_region(
++ priv, NETSEC_REG_DMAC_MH_CMD_BUF,
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_H),
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_ADDRESS_L),
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_MH_ME_SIZE));
++ if (err)
++ return err;
++
++ err = netsec_netdev_load_ucode_region(
++ priv, NETSEC_REG_PKT_CMD_BUF,
++ 0,
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_ADDRESS),
++ le32_to_cpup(priv->eeprom_base + NETSEC_EEPROM_PKT_ME_SIZE));
++ if (err)
++ return err;
++
++ return 0;
++}
++
++static int netsec_init_hardware(struct netsec_priv *priv)
++{
++ u32 value;
++ int err;
++
++ /* set desc_start addr */
++ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_RX],
++ upper_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys));
++ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_RX],
++ lower_32_bits(priv->desc_ring[NETSEC_RING_RX].desc_phys));
++
++ netsec_writel(priv, netsec_desc_start_reg_addr_up[NETSEC_RING_TX],
++ upper_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys));
++ netsec_writel(priv, netsec_desc_start_reg_addr_lw[NETSEC_RING_TX],
++ lower_32_bits(priv->desc_ring[NETSEC_RING_TX].desc_phys));
++
++ /* set normal tx desc ring config */
++ netsec_writel(priv, desc_ads[NETSEC_RING_TX],
++ 1 << NETSEC_REG_DESC_ENDIAN);
++ netsec_writel(priv, desc_ads[NETSEC_RING_RX],
++ 1 << NETSEC_REG_DESC_ENDIAN);
++
++ err = netsec_netdev_load_microcode(priv);
++ if (err) {
++ netif_err(priv, probe, priv->ndev,
++ "%s: failed to load microcode (%d)\n", __func__, err);
++ return err;
++ }
++
++ /* start DMA engines */
++ netsec_writel(priv, NETSEC_REG_DMA_TMR_CTRL, priv->freq / 1000000 - 1);
++ netsec_writel(priv, NETSEC_REG_ADDR_DIS_CORE, 0);
++
++ usleep_range(1000, 2000);
++
++ if (!(netsec_readl(priv, NETSEC_REG_TOP_STATUS) &
++ NETSEC_TOP_IRQ_REG_CODE_LOAD_END)) {
++ netif_err(priv, drv, priv->ndev, "microengine start failed\n");
++ return -ENXIO;
++ }
++ netsec_writel(priv, NETSEC_REG_TOP_STATUS,
++ NETSEC_TOP_IRQ_REG_CODE_LOAD_END);
++
++ value = netsec_calc_pkt_ctrl_reg_param(&priv->param.pkt_ctrlaram);
++
++ if (priv->param.use_jumbo_pkt_flag)
++ value |= NETSEC_PKT_CTRL_REG_EN_JUMBO;
++
++ /* change to normal mode */
++ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL, MH_CTRL__MODE_TRANS);
++ netsec_writel(priv, NETSEC_REG_PKT_CTRL, value);
++
++ while ((netsec_readl(priv, NETSEC_REG_MODE_TRANS_COMP_STATUS) &
++ NETSEC_MODE_TRANS_COMP_IRQ_T2N) == 0)
++ cpu_relax();
++
++ return 0;
++}
++
++static void netsec_ring_irq_clr(struct netsec_priv *priv,
++ unsigned int id, u32 value)
++{
++ netsec_writel(priv, desc_ring_irq_status_reg_addr[id],
++ value & (NETSEC_IRQ_EMPTY | NETSEC_IRQ_ERR));
++}
++
++static void netsec_napi_tx_processing(struct netsec_priv *priv)
++{
++ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
++ netsec_clean_tx_desc_ring(priv);
++
++ if (netif_queue_stopped(priv->ndev) &&
++ netsec_get_tx_avail_num(priv) >= NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX)
++ netif_wake_queue(priv->ndev);
++}
++
++int netsec_netdev_napi_poll(struct napi_struct *napi_p, int budget)
++{
++ struct netsec_priv *priv = container_of(napi_p, struct netsec_priv,
++ napi);
++ struct net_device *ndev = priv->ndev;
++ struct netsec_rx_pkt_info rx_info;
++ int ret, done = 0, rx_num = 0;
++ struct netsec_frag_info frag;
++ struct sk_buff *skb;
++ u16 len;
++
++ netsec_napi_tx_processing(priv);
++
++ while (done < budget) {
++ if (!rx_num) {
++ rx_num = netsec_get_rx_num(priv);
++ if (!rx_num)
++ break;
++ }
++ done++;
++ rx_num--;
++ ret = netsec_get_rx_pkt_data(priv, &rx_info, &frag, &len, &skb);
++ if (unlikely(ret == -ENOMEM)) {
++ netif_err(priv, drv, priv->ndev,
++ "%s: rx fail %d\n", __func__, ret);
++ ndev->stats.rx_dropped++;
++ continue;
++ }
++ dma_unmap_single(priv->dev, frag.dma_addr, frag.len,
++ DMA_FROM_DEVICE);
++ skb_put(skb, len);
++ skb->protocol = eth_type_trans(skb, priv->ndev);
++
++ if (priv->rx_cksum_offload_flag &&
++ rx_info.rx_cksum_result == NETSEC_RX_CKSUM_OK)
++ skb->ip_summed = CHECKSUM_UNNECESSARY;
++
++ if (napi_gro_receive(napi_p, skb) != GRO_DROP) {
++ ndev->stats.rx_packets++;
++ ndev->stats.rx_bytes += len;
++ }
++ }
++
++ if (done < budget && napi_complete_done(napi_p, done))
++ netsec_writel(priv, NETSEC_REG_INTEN_SET,
++ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
++ return done;
++}
++
++static netdev_tx_t netsec_netdev_start_xmit(struct sk_buff *skb,
++ struct net_device *ndev)
++{
++ struct netsec_priv *priv = netdev_priv(ndev);
++ struct netsec_tx_pkt_ctrl tx_ctrl = {};
++ u16 pend_tx, tso_seg_len = 0;
++ skb_frag_t *frag;
++ int count_frags;
++ int ret, i;
++
++ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
++
++ count_frags = skb_shinfo(skb)->nr_frags + 1;
++
++ if (skb->ip_summed == CHECKSUM_PARTIAL) {
++ if ((skb->protocol == htons(ETH_P_IP) &&
++ ip_hdr(skb)->protocol == IPPROTO_TCP) ||
++ (skb->protocol == htons(ETH_P_IPV6) &&
++ ipv6_hdr(skb)->nexthdr == IPPROTO_TCP))
++ tx_ctrl.cksum_offload_flag = true;
++ else
++ skb_checksum_help(skb);
++ }
++
++ if (skb_is_gso(skb))
++ tso_seg_len = skb_shinfo(skb)->gso_size;
++
++ if (tso_seg_len > 0) {
++ if (skb->protocol == htons(ETH_P_IP)) {
++ ip_hdr(skb)->tot_len = 0;
++ tcp_hdr(skb)->check =
++ ~tcp_v4_check(0, ip_hdr(skb)->saddr,
++ ip_hdr(skb)->daddr, 0);
++ } else {
++ ipv6_hdr(skb)->payload_len = 0;
++ tcp_hdr(skb)->check =
++ ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr,
++ &ipv6_hdr(skb)->daddr,
++ 0, IPPROTO_TCP, 0);
++ }
++
++ tx_ctrl.tcp_seg_offload_flag = true;
++ tx_ctrl.tcp_seg_len = tso_seg_len;
++ }
++
++ priv->tx_info[0].dma_addr = dma_map_single(priv->dev, skb->data,
++ skb_headlen(skb),
++ DMA_TO_DEVICE);
++ if (dma_mapping_error(priv->dev, priv->tx_info[0].dma_addr)) {
++ netif_err(priv, drv, priv->ndev,
++ "%s: DMA mapping failed\n", __func__);
++ return NETDEV_TX_OK;
++ }
++ priv->tx_info[0].addr = skb->data;
++ priv->tx_info[0].len = skb_headlen(skb);
++
++ for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
++ frag = &skb_shinfo(skb)->frags[i];
++ priv->tx_info[i + 1].dma_addr =
++ skb_frag_dma_map(priv->dev, frag, 0,
++ skb_frag_size(frag), DMA_TO_DEVICE);
++ priv->tx_info[i + 1].addr = skb_frag_address(frag);
++ priv->tx_info[i + 1].len = frag->size;
++ }
++
++ netsec_mark_skb_type(skb, NETSEC_RING_TX);
++
++ ret = netsec_set_tx_pkt_data(priv, &tx_ctrl, count_frags,
++ priv->tx_info, skb);
++ if (ret) {
++ netif_info(priv, drv, priv->ndev,
++ "set tx pkt failed %d\n", ret);
++ for (i = 0; i < count_frags; i++)
++ dma_unmap_single(priv->dev, priv->tx_info[i].dma_addr,
++ priv->tx_info[i].len, DMA_TO_DEVICE);
++ ndev->stats.tx_dropped++;
++
++ return NETDEV_TX_OK;
++ }
++
++ netdev_sent_queue(priv->ndev, skb->len);
++
++ spin_lock(&priv->tx_queue_lock);
++ pend_tx = netsec_get_tx_avail_num(priv);
++
++ if (pend_tx < NETSEC_NETDEV_TX_PKT_SCAT_NUM_MAX) {
++ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
++ netif_stop_queue(ndev);
++ goto err;
++ }
++ if (pend_tx <= DESC_NUM - 2) {
++ netsec_ring_irq_enable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
++ goto err;
++ }
++ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
++
++err:
++ spin_unlock(&priv->tx_queue_lock);
++
++ return NETDEV_TX_OK;
++}
++
++static int netsec_netdev_set_features(struct net_device *ndev,
++ netdev_features_t features)
++{
++ struct netsec_priv *priv = netdev_priv(ndev);
++
++ priv->rx_cksum_offload_flag = !!(features & NETIF_F_RXCSUM);
++
++ return 0;
++}
++
++static void netsec_phy_adjust_link(struct net_device *ndev)
++{
++ struct netsec_priv *priv = netdev_priv(ndev);
++
++ if (priv->actual_link_speed == ndev->phydev->speed &&
++ priv->actual_duplex == ndev->phydev->duplex)
++ return;
++
++ phy_print_status(ndev->phydev);
++
++ netsec_stop_gmac(priv);
++ netsec_start_gmac(priv);
++}
++
++static irqreturn_t netsec_irq_handler(int irq, void *dev_id)
++{
++ struct netsec_priv *priv = dev_id;
++ u32 status = netsec_readl(priv, NETSEC_REG_TOP_STATUS) &
++ netsec_readl(priv, NETSEC_REG_TOP_INTEN);
++
++ if (!status)
++ return IRQ_NONE;
++
++ if (status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX)) {
++ netsec_writel(priv, NETSEC_REG_INTEN_CLR,
++ status & (NETSEC_IRQ_TX | NETSEC_IRQ_RX));
++ napi_schedule(&priv->napi);
++ }
++
++ return IRQ_HANDLED;
++}
++
++static void netsec_reset_hardware(struct netsec_priv *priv)
++{
++ /* stop DMA engines */
++ if (!netsec_readl(priv, NETSEC_REG_ADDR_DIS_CORE)) {
++ netsec_writel(priv, NETSEC_REG_DMA_HM_CTRL,
++ NETSEC_DMA_CTRL_REG_STOP);
++ netsec_writel(priv, NETSEC_REG_DMA_MH_CTRL,
++ NETSEC_DMA_CTRL_REG_STOP);
++
++ while (netsec_readl(priv, NETSEC_REG_DMA_HM_CTRL) &
++ NETSEC_DMA_CTRL_REG_STOP)
++ cpu_relax();
++
++ while (netsec_readl(priv, NETSEC_REG_DMA_MH_CTRL) &
++ NETSEC_DMA_CTRL_REG_STOP)
++ cpu_relax();
++ }
++
++ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RESET);
++ netsec_writel(priv, NETSEC_REG_SOFT_RST, NETSEC_SOFT_RST_REG_RUN);
++ netsec_writel(priv, NETSEC_REG_COM_INIT, NETSEC_COM_INIT_REG_ALL);
++
++ while (netsec_readl(priv, NETSEC_REG_COM_INIT) != 0)
++ cpu_relax();
++}
++
++static int netsec_netdev_open(struct net_device *ndev)
++{
++ struct netsec_priv *priv = netdev_priv(ndev);
++ int ret, n;
++
++ pm_runtime_get_sync(priv->dev);
++
++ netsec_reset_hardware(priv);
++
++ for (n = 0; n <= NETSEC_RING_MAX; n++) {
++ ret = netsec_alloc_desc_ring(priv, n);
++ if (ret) {
++ netif_err(priv, probe, priv->ndev,
++ "%s: alloc ring failed\n", __func__);
++ goto err;
++ }
++ }
++
++ ret = netsec_setup_rx_desc(priv, &priv->desc_ring[NETSEC_RING_RX]);
++ if (ret) {
++ netif_err(priv, probe, priv->ndev,
++ "%s: fail setup ring\n", __func__);
++ goto err1;
++ }
++
++ ret = netsec_init_hardware(priv);
++ if (ret) {
++ netif_err(priv, probe, priv->ndev,
++ "%s: netsec_init_hardware fail %d\n", __func__, ret);
++ goto err1;
++ }
++
++ ret = request_irq(priv->ndev->irq, netsec_irq_handler,
++ IRQF_SHARED, "netsec", priv);
++ if (ret) {
++ netif_err(priv, drv, priv->ndev, "request_irq failed\n");
++ goto err1;
++ }
++ priv->irq_registered = true;
++
++ ret = netsec_clean_rx_desc_ring(priv);
++ if (ret) {
++ netif_err(priv, drv, priv->ndev,
++ "%s: clean rx desc fail\n", __func__);
++ goto err2;
++ }
++
++ ret = netsec_clean_tx_desc_ring(priv);
++ if (ret) {
++ netif_err(priv, drv, priv->ndev,
++ "%s: clean tx desc fail\n", __func__);
++ goto err2;
++ }
++
++ netsec_ring_irq_clr(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
++
++ if (dev_of_node(priv->dev)) {
++ if (!of_phy_connect(priv->ndev, priv->phy_np,
++ netsec_phy_adjust_link, 0,
++ priv->phy_interface)) {
++ netif_err(priv, link, priv->ndev, "missing PHY\n");
++ goto err2;
++ }
++ } else {
++ ret = phy_connect_direct(priv->ndev, priv->phydev,
++ netsec_phy_adjust_link,
++ priv->phy_interface);
++ if (ret) {
++ netif_err(priv, link, priv->ndev,
++ "phy_connect_direct() failed (%d)\n", ret);
++ goto err2;
++ }
++ }
++
++ phy_start_aneg(ndev->phydev);
++
++ netsec_ring_irq_disable(priv, NETSEC_RING_TX, NETSEC_IRQ_EMPTY);
++
++ netsec_start_gmac(priv);
++ napi_enable(&priv->napi);
++ netif_start_queue(ndev);
++
++ netsec_writel(priv, NETSEC_REG_INTEN_SET,
++ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
++
++ return 0;
++
++err2:
++ pm_runtime_put_sync(priv->dev);
++ free_irq(priv->ndev->irq, priv);
++ priv->irq_registered = false;
++err1:
++ for (n = 0; n <= NETSEC_RING_MAX; n++)
++ netsec_free_desc_ring(priv, &priv->desc_ring[n]);
++err:
++ pm_runtime_put_sync(priv->dev);
++
++ return ret;
++}
++
++static int netsec_netdev_stop(struct net_device *ndev)
++{
++ struct netsec_priv *priv = netdev_priv(ndev);
++ int n;
++
++ phy_stop(ndev->phydev);
++ phy_disconnect(ndev->phydev);
++
++ netif_stop_queue(priv->ndev);
++ napi_disable(&priv->napi);
++
++ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0);
++ netsec_stop_gmac(priv);
++
++ pm_runtime_put_sync(priv->dev);
++
++ for (n = 0; n <= NETSEC_RING_MAX; n++)
++ netsec_free_desc_ring(priv, &priv->desc_ring[n]);
++
++ free_irq(priv->ndev->irq, priv);
++ priv->irq_registered = false;
++
++ return 0;
++}
++
++const struct net_device_ops netsec_netdev_ops = {
++ .ndo_open = netsec_netdev_open,
++ .ndo_stop = netsec_netdev_stop,
++ .ndo_start_xmit = netsec_netdev_start_xmit,
++ .ndo_set_features = netsec_netdev_set_features,
++ .ndo_set_mac_address = eth_mac_addr,
++ .ndo_validate_addr = eth_validate_addr,
++};
+diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
+new file mode 100644
+index 0000000..624f6a7
+--- /dev/null
++++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
+@@ -0,0 +1,435 @@
++/**
++ * drivers/net/ethernet/socionext/netsec/netsec_platform.c
++ *
++ * Copyright (C) 2013-2014 Fujitsu Semiconductor Limited.
++ * Copyright (C) 2014-2017 Linaro Ltd. All rights reserved.
++ * Andy Green <andy.green@linaro.org>
++ * Jassi Brar <jaswinder.singh@linaro.org>
++ * Ard Biesheuvel <ard.biesheuvel@linaro.org>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ */
++
++#include <linux/acpi.h>
++#include <linux/device.h>
++#include <linux/ctype.h>
++#include <linux/netdevice.h>
++#include <linux/types.h>
++#include <linux/bitops.h>
++#include <linux/dma-mapping.h>
++#include <linux/module.h>
++#include <linux/sizes.h>
++#include <linux/platform_device.h>
++#include <linux/clk.h>
++#include <linux/of.h>
++#include <linux/of_device.h>
++#include <linux/of_net.h>
++#include <linux/io.h>
++#include <linux/pm_runtime.h>
++
++#include "netsec.h"
++
++#define NETSEC_F_NETSEC_VER_MAJOR_NUM(x) (x & 0xffff0000)
++
++static int napi_weight = 64;
++static u16 pause_time = 256;
++
++static int netsec_of_probe(struct platform_device *pdev,
++ struct netsec_priv *priv)
++{
++ int clk_count, ret, i;
++
++ priv->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
++ if (!priv->phy_np) {
++ dev_err(&pdev->dev, "missing required property 'phy-handle'\n");
++ return -EINVAL;
++ }
++
++ /* we require named clocks if there is more than one */
++ clk_count = of_property_count_strings(pdev->dev.of_node, "clock-names");
++ if (clk_count > 1) {
++ if (clk_count > ARRAY_SIZE(priv->clk)) {
++ dev_err(&pdev->dev, "too many clocks specified (%d)\n",
++ clk_count);
++ return -EINVAL;
++ }
++
++ for (i = 0; i < clk_count; i++) {
++ const char *clk_name;
++
++ ret = of_property_read_string_index(pdev->dev.of_node,
++ "clock-names", i,
++ &clk_name);
++ if (ret) {
++ dev_err(&pdev->dev,
++ "failed to parse 'clock-names'\n");
++ return ret;
++ }
++ priv->clk[i] = devm_clk_get(&pdev->dev, clk_name);
++ if (!strcmp(clk_name, "phy_refclk")) {
++ priv->freq = clk_get_rate(priv->clk[i]);
++ dev_dbg(&pdev->dev,
++ "found PHY refclock #%d freq %u\n",
++ i, priv->freq);
++ }
++ }
++ priv->clock_count = clk_count;
++ } else {
++ priv->clk[0] = devm_clk_get(&pdev->dev, NULL);
++ if (IS_ERR(priv->clk)) {
++ dev_err(&pdev->dev,
++ "missing required property 'clocks'\n");
++ return PTR_ERR(priv->clk);
++ }
++ priv->freq = clk_get_rate(priv->clk[0]);
++ priv->clock_count = 1;
++ }
++ return 0;
++}
++
++static int netsec_acpi_probe(struct platform_device *pdev,
++ struct netsec_priv *priv, u32 *phy_addr)
++{
++ int ret;
++
++ if (!IS_ENABLED(CONFIG_ACPI))
++ return -ENODEV;
++
++ ret = device_property_read_u32(&pdev->dev, "phy-channel", phy_addr);
++ if (ret) {
++ dev_err(&pdev->dev,
++ "missing required property 'phy-channel'\n");
++ return ret;
++ }
++
++ ret = device_property_read_u32(&pdev->dev,
++ "socionext,phy-clock-frequency",
++ &priv->freq);
++ if (ret)
++ dev_err(&pdev->dev,
++ "missing required property 'socionext,phy-clock-frequency'\n");
++ return ret;
++}
++
++static int netsec_probe(struct platform_device *pdev)
++{
++ struct net_device *ndev;
++ struct netsec_priv *priv;
++ struct resource *mmio_res, *eeprom_res, *irq_res;
++ u8 *mac, macbuf[ETH_ALEN];
++ u32 hw_ver, phy_addr;
++ int ret;
++
++ mmio_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ if (!mmio_res) {
++ dev_err(&pdev->dev, "No MMIO resource found.\n");
++ return -ENODEV;
++ }
++
++ eeprom_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
++ if (!eeprom_res) {
++ dev_info(&pdev->dev, "No EEPROM resource found.\n");
++ return -ENODEV;
++ }
++
++ irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
++ if (!irq_res) {
++ dev_err(&pdev->dev, "No IRQ resource found.\n");
++ return -ENODEV;
++ }
++
++ ndev = alloc_etherdev(sizeof(*priv));
++ if (!ndev)
++ return -ENOMEM;
++
++ priv = netdev_priv(ndev);
++ priv->ndev = ndev;
++ SET_NETDEV_DEV(ndev, &pdev->dev);
++ platform_set_drvdata(pdev, priv);
++ priv->dev = &pdev->dev;
++
++ priv->msg_enable = NETIF_MSG_TX_ERR | NETIF_MSG_HW | NETIF_MSG_DRV |
++ NETIF_MSG_LINK | NETIF_MSG_PROBE;
++
++ ndev->irq = irq_res->start;
++
++ priv->phy_interface = device_get_phy_mode(&pdev->dev);
++ if (priv->phy_interface < 0) {
++ dev_err(&pdev->dev, "missing required property 'phy-mode'\n");
++ ret = -ENODEV;
++ goto free_ndev;
++ }
++
++ priv->ioaddr = devm_ioremap(&pdev->dev, mmio_res->start,
++ resource_size(mmio_res));
++ if (!priv->ioaddr) {
++ dev_err(&pdev->dev, "devm_ioremap() failed\n");
++ ret = -ENXIO;
++ goto free_ndev;
++ }
++
++ priv->eeprom_base = devm_memremap(&pdev->dev, eeprom_res->start,
++ resource_size(eeprom_res),
++ MEMREMAP_WT);
++ if (!priv->eeprom_base) {
++ dev_err(&pdev->dev, "devm_memremap() failed for EEPROM\n");
++ ret = -ENXIO;
++ goto free_ndev;
++ }
++
++ mac = device_get_mac_address(&pdev->dev, macbuf, sizeof(macbuf));
++ if (mac)
++ ether_addr_copy(ndev->dev_addr, mac);
++
++ if (priv->eeprom_base &&
++ (!mac || !is_valid_ether_addr(ndev->dev_addr))) {
++ const u8 *macp = priv->eeprom_base + NETSEC_EEPROM_MAC_ADDRESS;
++
++ ndev->dev_addr[0] = macp[3];
++ ndev->dev_addr[1] = macp[2];
++ ndev->dev_addr[2] = macp[1];
++ ndev->dev_addr[3] = macp[0];
++ ndev->dev_addr[4] = macp[7];
++ ndev->dev_addr[5] = macp[6];
++ }
++
++ if (!is_valid_ether_addr(ndev->dev_addr)) {
++ dev_warn(&pdev->dev, "No MAC address found, using random\n");
++ eth_hw_addr_random(ndev);
++ }
++
++ if (dev_of_node(&pdev->dev))
++ ret = netsec_of_probe(pdev, priv);
++ else
++ ret = netsec_acpi_probe(pdev, priv, &phy_addr);
++ if (ret)
++ goto free_ndev;
++
++ if (!priv->freq) {
++ dev_err(&pdev->dev, "missing PHY reference clock frequency\n");
++ ret = -ENODEV;
++ goto free_ndev;
++ }
++
++ /* disable by default */
++ priv->et_coalesce.rx_coalesce_usecs = 0;
++ priv->et_coalesce.rx_max_coalesced_frames = 1;
++ priv->et_coalesce.tx_coalesce_usecs = 0;
++ priv->et_coalesce.tx_max_coalesced_frames = 1;
++
++ ret = device_property_read_u32(&pdev->dev, "max-frame-size",
++ &ndev->max_mtu);
++ if (ret < 0)
++ ndev->max_mtu = ETH_DATA_LEN;
++
++ priv->rx_pkt_buf_len = ndev->max_mtu + 22;
++ priv->param.use_jumbo_pkt_flag = (ndev->max_mtu > ETH_DATA_LEN);
++
++ pm_runtime_enable(&pdev->dev);
++ /* runtime_pm coverage just for probe, open/close also cover it */
++ pm_runtime_get_sync(&pdev->dev);
++
++ hw_ver = netsec_readl(priv, NETSEC_REG_F_TAIKI_VER);
++ /* this driver only supports F_TAIKI style NETSEC */
++ if (NETSEC_F_NETSEC_VER_MAJOR_NUM(hw_ver) !=
++ NETSEC_F_NETSEC_VER_MAJOR_NUM(NETSEC_REG_NETSEC_VER_F_TAIKI)) {
++ ret = -ENODEV;
++ goto pm_disable;
++ }
++
++ dev_info(&pdev->dev, "hardware revision %d.%d\n",
++ hw_ver >> 16, hw_ver & 0xffff);
++
++ priv->mac_mode.flow_start_th = NETSEC_FLOW_CONTROL_START_THRESHOLD;
++ priv->mac_mode.flow_stop_th = NETSEC_FLOW_CONTROL_STOP_THRESHOLD;
++ priv->mac_mode.pause_time = pause_time;
++ priv->mac_mode.flow_ctrl_enable_flag = false;
++
++ netif_napi_add(ndev, &priv->napi, netsec_netdev_napi_poll, napi_weight);
++
++ ndev->netdev_ops = &netsec_netdev_ops;
++ ndev->ethtool_ops = &netsec_ethtool_ops;
++ ndev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
++ NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO |
++ NETIF_F_HIGHDMA | NETIF_F_RXCSUM;
++ ndev->hw_features = ndev->features;
++
++ priv->rx_cksum_offload_flag = true;
++ spin_lock_init(&priv->tx_queue_lock);
++
++ ret = netsec_mii_register(priv);
++ if (ret) {
++ dev_err(&pdev->dev, "mii bus registration failed (%d)\n", ret);
++ goto pm_disable;
++ }
++
++ if (!dev_of_node(&pdev->dev)) { /* ACPI */
++ priv->phydev = get_phy_device(priv->mii_bus, phy_addr, false);
++ if (IS_ERR(priv->phydev)) {
++ dev_err(&pdev->dev, "get_phy_device() failed (%ld)\n",
++ PTR_ERR(priv->phydev));
++ ret = PTR_ERR(priv->phydev);
++ goto unregister_mii;
++ }
++
++ ret = phy_device_register(priv->phydev);
++ if (ret) {
++ dev_err(&pdev->dev,
++ "phy_device_register() failed (%d)\n", ret);
++ phy_device_free(priv->phydev);
++ goto unregister_mii;
++ }
++ }
++
++ /* disable all other interrupt sources */
++ netsec_writel(priv, NETSEC_REG_INTEN_CLR, ~0);
++ netsec_writel(priv, NETSEC_REG_INTEN_SET,
++ NETSEC_IRQ_TX | NETSEC_IRQ_RX);
++
++ if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)))
++ dev_warn(&pdev->dev, "Failed to enable 64-bit DMA\n");
++
++ ret = register_netdev(ndev);
++ if (ret) {
++ netif_err(priv, probe, ndev, "register_netdev() failed\n");
++ goto unregister_mii;
++ }
++
++ pm_runtime_put_sync_suspend(&pdev->dev);
++
++ return 0;
++
++unregister_mii:
++ netsec_mii_unregister(priv);
++
++pm_disable:
++ pm_runtime_put_sync_suspend(&pdev->dev);
++ pm_runtime_disable(&pdev->dev);
++
++free_ndev:
++ free_netdev(ndev);
++
++ dev_err(&pdev->dev, "init failed\n");
++
++ return ret;
++}
++
++static int netsec_remove(struct platform_device *pdev)
++{
++ struct netsec_priv *priv = platform_get_drvdata(pdev);
++
++ unregister_netdev(priv->ndev);
++ if (!dev_of_node(&pdev->dev)) { /* ACPI */
++ phy_device_remove(priv->phydev);
++ phy_device_free(priv->phydev);
++ }
++ netsec_mii_unregister(priv);
++ pm_runtime_disable(&pdev->dev);
++ free_netdev(priv->ndev);
++
++ return 0;
++}
++
++#ifdef CONFIG_PM
++static int netsec_runtime_suspend(struct device *dev)
++{
++ struct netsec_priv *priv = dev_get_drvdata(dev);
++ int n;
++
++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
++
++ if (priv->irq_registered)
++ disable_irq(priv->ndev->irq);
++
++ netsec_writel(priv, NETSEC_REG_CLK_EN, 0);
++
++ for (n = priv->clock_count - 1; n >= 0; n--)
++ clk_disable_unprepare(priv->clk[n]);
++
++ return 0;
++}
++
++static int netsec_runtime_resume(struct device *dev)
++{
++ struct netsec_priv *priv = dev_get_drvdata(dev);
++ int n;
++
++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
++
++ /* first let the clocks back on */
++
++ for (n = 0; n < priv->clock_count; n++)
++ clk_prepare_enable(priv->clk[n]);
++
++ netsec_writel(priv, NETSEC_REG_CLK_EN, NETSEC_CLK_EN_REG_DOM_D |
++ NETSEC_CLK_EN_REG_DOM_C |
++ NETSEC_CLK_EN_REG_DOM_G);
++
++ if (priv->irq_registered)
++ enable_irq(priv->ndev->irq);
++
++ return 0;
++}
++
++static int netsec_pm_suspend(struct device *dev)
++{
++ struct netsec_priv *priv = dev_get_drvdata(dev);
++
++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
++
++ if (pm_runtime_status_suspended(dev))
++ return 0;
++
++ return netsec_runtime_suspend(dev);
++}
++
++static int netsec_pm_resume(struct device *dev)
++{
++ struct netsec_priv *priv = dev_get_drvdata(dev);
++
++ netif_dbg(priv, drv, priv->ndev, "%s\n", __func__);
++
++ if (pm_runtime_status_suspended(dev))
++ return 0;
++
++ return netsec_runtime_resume(dev);
++}
++#endif
++
++static const struct dev_pm_ops netsec_pm_ops = {
++ SET_SYSTEM_SLEEP_PM_OPS(netsec_pm_suspend, netsec_pm_resume)
++ SET_RUNTIME_PM_OPS(netsec_runtime_suspend, netsec_runtime_resume, NULL)
++};
++
++static const struct of_device_id netsec_dt_ids[] = {
++ { .compatible = "socionext,synquacer-netsec" },
++ { }
++};
++MODULE_DEVICE_TABLE(of, netsec_dt_ids);
++
++#ifdef CONFIG_ACPI
++static const struct acpi_device_id netsec_acpi_ids[] = {
++ { "SCX0001" },
++ { }
++};
++MODULE_DEVICE_TABLE(acpi, netsec_acpi_ids);
++#endif
++
++static struct platform_driver netsec_driver = {
++ .probe = netsec_probe,
++ .remove = netsec_remove,
++ .driver.name = "netsec",
++ .driver.of_match_table = netsec_dt_ids,
++ .driver.acpi_match_table = ACPI_PTR(netsec_acpi_ids),
++ .driver.pm = &netsec_pm_ops,
++};
++module_platform_driver(netsec_driver);
++
++MODULE_AUTHOR("Andy Green <andy.green@linaro.org>");
++MODULE_AUTHOR("Jassi Brar <jaswinder.singh@linaro.org>");
++MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@linaro.org>");
++MODULE_DESCRIPTION("NETSEC Ethernet driver");
++MODULE_LICENSE("GPL");
+--
+cgit v1.1
+
+From 31a61532e7b859a797d36595ec5ab7485a9b24d5 Mon Sep 17 00:00:00 2001
+From: Jassi Brar <jassisinghbrar@gmail.com>
+Date: Wed, 30 Aug 2017 15:55:52 +0530
+Subject: dt-bindings: net: Add DT bindings for Socionext Netsec
+
+This patch adds documentation for Device-Tree bindings for the
+Socionext NetSec Controller driver.
+
+Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+---
+ .../devicetree/bindings/net/socionext-netsec.txt | 43 ++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/net/socionext-netsec.txt
+
+diff --git a/Documentation/devicetree/bindings/net/socionext-netsec.txt b/Documentation/devicetree/bindings/net/socionext-netsec.txt
+new file mode 100644
+index 0000000..4695969
+--- /dev/null
++++ b/Documentation/devicetree/bindings/net/socionext-netsec.txt
+@@ -0,0 +1,43 @@
++* Socionext NetSec Ethernet Controller IP
++
++Required properties:
++- compatible: Should be "socionext,synquacer-netsec"
++- reg: Address and length of the control register area, followed by the
++ address and length of the EEPROM holding the MAC address and
++ microengine firmware
++- interrupts: Should contain ethernet controller interrupt
++- clocks: phandle to the PHY reference clock, and any other clocks to be
++ switched by runtime_pm
++- clock-names: Required only if more than a single clock is listed in 'clocks'.
++ The PHY reference clock must be named 'phy_refclk'
++- phy-mode: See ethernet.txt file in the same directory
++- phy-handle: phandle to select child phy
++
++Optional properties: (See ethernet.txt file in the same directory)
++- local-mac-address
++- mac-address
++- max-speed
++- max-frame-size
++
++Required properties for the child phy:
++- reg: phy address
++
++Example:
++ eth0: netsec@522D0000 {
++ compatible = "socionext,synquacer-netsec";
++ reg = <0 0x522D0000 0x0 0x10000>, <0 0x10000000 0x0 0x10000>;
++ interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&clk_netsec>;
++ phy-mode = "rgmii";
++ max-speed = <1000>;
++ max-frame-size = <9000>;
++ phy-handle = <&ethphy0>;
++
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ ethphy0: ethernet-phy@1 {
++ compatible = "ethernet-phy-ieee802.3-c22";
++ reg = <1>;
++ };
++ };
+--
+cgit v1.1
+
+From d2fc584f8237746a84e6ec8690d8884f148fc449 Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Tue, 10 Oct 2017 11:35:51 +0100
+Subject: [PATCH] add interrupt.h, sort alphabetically
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ drivers/net/ethernet/socionext/netsec/netsec_platform.c | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/net/ethernet/socionext/netsec/netsec_platform.c b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
+index 624f6a7093f6..79072bae917d 100644
+--- a/drivers/net/ethernet/socionext/netsec/netsec_platform.c
++++ b/drivers/net/ethernet/socionext/netsec/netsec_platform.c
+@@ -14,21 +14,22 @@
+ */
+
+ #include <linux/acpi.h>
+-#include <linux/device.h>
+-#include <linux/ctype.h>
+-#include <linux/netdevice.h>
+-#include <linux/types.h>
+ #include <linux/bitops.h>
++#include <linux/clk.h>
++#include <linux/ctype.h>
++#include <linux/device.h>
+ #include <linux/dma-mapping.h>
++#include <linux/io.h>
++#include <linux/interrupt.h>
+ #include <linux/module.h>
+-#include <linux/sizes.h>
+-#include <linux/platform_device.h>
+-#include <linux/clk.h>
++#include <linux/netdevice.h>
+ #include <linux/of.h>
+ #include <linux/of_device.h>
+ #include <linux/of_net.h>
+-#include <linux/io.h>
++#include <linux/platform_device.h>
+ #include <linux/pm_runtime.h>
++#include <linux/sizes.h>
++#include <linux/types.h>
+
+ #include "netsec.h"
+
+--
+2.14.2
+
diff --git a/freed-ora/current/f26/arm64-thunderX-fix-ipv6-checksum-offload.patch b/freed-ora/current/f26/arm64-thunderX-fix-ipv6-checksum-offload.patch
new file mode 100644
index 000000000..221189997
--- /dev/null
+++ b/freed-ora/current/f26/arm64-thunderX-fix-ipv6-checksum-offload.patch
@@ -0,0 +1,39 @@
+From fa6d7cb5d76cf0467c61420fc9238045aedfd379 Mon Sep 17 00:00:00 2001
+From: Sunil Goutham <sgoutham@cavium.com>
+Date: Thu, 23 Nov 2017 22:34:31 +0300
+Subject: net: thunderx: Fix TCP/UDP checksum offload for IPv6 pkts
+
+Don't offload IP header checksum to NIC.
+
+This fixes a previous patch which enabled checksum offloading
+for both IPv4 and IPv6 packets. So L3 checksum offload was
+getting enabled for IPv6 pkts. And HW is dropping these pkts
+as it assumes the pkt is IPv4 when IP csum offload is set
+in the SQ descriptor.
+
+Fixes: 3a9024f52c2e ("net: thunderx: Enable TSO and checksum offloads for ipv6")
+Signed-off-by: Sunil Goutham <sgoutham@cavium.com>
+Signed-off-by: Aleksey Makarov <aleksey.makarov@auriga.com>
+Reviewed-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+(limited to 'drivers/net/ethernet/cavium/thunder/nicvf_queues.c')
+
+diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
+index d4496e9..8b2c31e 100644
+--- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
++++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c
+@@ -1355,7 +1355,6 @@ nicvf_sq_add_hdr_subdesc(struct nicvf *nic, struct snd_queue *sq, int qentry,
+
+ /* Offload checksum calculation to HW */
+ if (skb->ip_summed == CHECKSUM_PARTIAL) {
+- hdr->csum_l3 = 1; /* Enable IP csum calculation */
+ hdr->l3_offset = skb_network_offset(skb);
+ hdr->l4_offset = skb_transport_offset(skb);
+
+--
+cgit v1.1
+
diff --git a/freed-ora/current/f26/arm64-xgene-acpi-fix.patch b/freed-ora/current/f26/arm64-xgene-acpi-fix.patch
deleted file mode 100644
index e0df833c0..000000000
--- a/freed-ora/current/f26/arm64-xgene-acpi-fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From bdb9458a3382ba745a66be5526d3899103c76eda Mon Sep 17 00:00:00 2001
-From: Loc Ho <lho@apm.com>
-Date: Fri, 21 Jul 2017 11:24:37 -0700
-Subject: ACPI: APEI: Enable APEI multiple GHES source to share a single
- external IRQ
-
-X-Gene platforms describe multiple GHES error sources with the same
-hardware error notification type (external interrupt) and interrupt
-number.
-
-Change the GHES interrupt request to support sharing the same IRQ.
-
-This change includs contributions from Tuan Phan <tphan@apm.com>.
-
-Signed-off-by: Loc Ho <lho@apm.com>
-Acked-by: Borislav Petkov <bp@suse.de>
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
----
- drivers/acpi/apei/ghes.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
-index d661d45..eed09fc 100644
---- a/drivers/acpi/apei/ghes.c
-+++ b/drivers/acpi/apei/ghes.c
-@@ -1157,7 +1157,8 @@ static int ghes_probe(struct platform_device *ghes_dev)
- generic->header.source_id);
- goto err_edac_unreg;
- }
-- rc = request_irq(ghes->irq, ghes_irq_func, 0, "GHES IRQ", ghes);
-+ rc = request_irq(ghes->irq, ghes_irq_func, IRQF_SHARED,
-+ "GHES IRQ", ghes);
- if (rc) {
- pr_err(GHES_PFX "Failed to register IRQ for generic hardware error source: %d\n",
- generic->header.source_id);
---
-cgit v1.1
-
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ b/freed-ora/current/f26/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
new file mode 100644
index 000000000..40a287f0f
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
@@ -0,0 +1 @@
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ALTERA_MSGDMA b/freed-ora/current/f26/baseconfig/CONFIG_ALTERA_MSGDMA
new file mode 100644
index 000000000..7a1edd837
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_ALTERA_MSGDMA
@@ -0,0 +1 @@
+CONFIG_ALTERA_MSGDMA=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ATH10K_USB b/freed-ora/current/f26/baseconfig/CONFIG_ATH10K_USB
new file mode 100644
index 000000000..29021503d
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_ATH10K_USB
@@ -0,0 +1 @@
+CONFIG_ATH10K_USB=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BATTERY_MAX1721X b/freed-ora/current/f26/baseconfig/CONFIG_BATTERY_MAX1721X
new file mode 100644
index 000000000..98c04567c
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_BATTERY_MAX1721X
@@ -0,0 +1 @@
+# CONFIG_BATTERY_MAX1721X is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BLK_CPQ_CISS_DA b/freed-ora/current/f26/baseconfig/CONFIG_BLK_CPQ_CISS_DA
deleted file mode 100644
index be7870097..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_BLK_CPQ_CISS_DA
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_BLK_CPQ_CISS_DA=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BLK_DEV_UB b/freed-ora/current/f26/baseconfig/CONFIG_BLK_DEV_UB
deleted file mode 100644
index 6fbfd13fb..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_BLK_DEV_UB
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_BLK_DEV_UB is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD b/freed-ora/current/f26/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD
new file mode 100644
index 000000000..170bbf312
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_BNXT_FLOWER_OFFLOAD
@@ -0,0 +1 @@
+CONFIG_BNXT_FLOWER_OFFLOAD=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BPF_STREAM_PARSER b/freed-ora/current/f26/baseconfig/CONFIG_BPF_STREAM_PARSER
new file mode 100644
index 000000000..7cf783506
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_BPF_STREAM_PARSER
@@ -0,0 +1 @@
+CONFIG_BPF_STREAM_PARSER=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_BT_SCO b/freed-ora/current/f26/baseconfig/CONFIG_BT_SCO
deleted file mode 100644
index c04760986..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_BT_SCO
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_BT_SCO=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CCS811 b/freed-ora/current/f26/baseconfig/CONFIG_CCS811
new file mode 100644
index 000000000..931f14e2a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_CCS811
@@ -0,0 +1 @@
+# CONFIG_CCS811 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CEC_PIN b/freed-ora/current/f26/baseconfig/CONFIG_CEC_PIN
new file mode 100644
index 000000000..395ddfbf2
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_CEC_PIN
@@ -0,0 +1 @@
+CONFIG_CEC_PIN=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CHARGER_QCOM_SMBB b/freed-ora/current/f26/baseconfig/CONFIG_CHARGER_QCOM_SMBB
deleted file mode 100644
index c06d8f1f1..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_CHARGER_QCOM_SMBB
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_CHARGER_QCOM_SMBB is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CISS_SCSI_TAPE b/freed-ora/current/f26/baseconfig/CONFIG_CISS_SCSI_TAPE
deleted file mode 100644
index 2170cc840..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_CISS_SCSI_TAPE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CISS_SCSI_TAPE=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CLK_HSDK b/freed-ora/current/f26/baseconfig/CONFIG_CLK_HSDK
new file mode 100644
index 000000000..e1788bbc5
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_CLK_HSDK
@@ -0,0 +1 @@
+# CONFIG_CLK_HSDK is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CLOCK_THERMAL b/freed-ora/current/f26/baseconfig/CONFIG_CLOCK_THERMAL
new file mode 100644
index 000000000..72ca05f2c
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_CLOCK_THERMAL
@@ -0,0 +1 @@
+# CONFIG_CLOCK_THERMAL is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP b/freed-ora/current/f26/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP
new file mode 100644
index 000000000..c494dcc87
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_CRYPTO_DEV_SP_CCP
@@ -0,0 +1 @@
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_DEVFREQ_THERMAL b/freed-ora/current/f26/baseconfig/CONFIG_DEVFREQ_THERMAL
new file mode 100644
index 000000000..5b90f9082
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_DEVFREQ_THERMAL
@@ -0,0 +1 @@
+# CONFIG_DEVFREQ_THERMAL is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE b/freed-ora/current/f26/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE
new file mode 100644
index 000000000..4f0814b60
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_DVB_DDBRIDGE_MSIENABLE
@@ -0,0 +1 @@
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC b/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC
index c50a31ace..47e8f4090 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC
+++ b/freed-ora/current/f26/baseconfig/CONFIG_EARLY_PRINTK_USB_XDBC
@@ -1 +1 @@
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_EXPERIMENTAL b/freed-ora/current/f26/baseconfig/CONFIG_EXPERIMENTAL
deleted file mode 100644
index 8c91d40b9..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_EXPERIMENTAL
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_EXPERIMENTAL=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_BD9571MWV b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_BD9571MWV
new file mode 100644
index 000000000..0cdd67b34
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_BD9571MWV
@@ -0,0 +1 @@
+CONFIG_GPIO_BD9571MWV=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87 b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87
index 00746d711..aaeb504ac 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87
+++ b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_IT87
@@ -1 +1 @@
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_GPIO_TPS68470 b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_TPS68470
new file mode 100644
index 000000000..3176e956e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_GPIO_TPS68470
@@ -0,0 +1 @@
+CONFIG_GPIO_TPS68470=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112 b/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112
index 3f9425d1d..d0f72fae1 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112
+++ b/freed-ora/current/f26/baseconfig/CONFIG_HID_CP2112
@@ -1 +1 @@
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT b/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT
index 1dbc68883..e18239222 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT
+++ b/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT_LIGHT
@@ -1 +1 @@
-CONFIG_I2C_PARPORT_LIGHT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS b/freed-ora/current/f26/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS
new file mode 100644
index 000000000..478415c11
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_INFINIBAND_EXP_USER_ACCESS
@@ -0,0 +1 @@
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INOTIFY b/freed-ora/current/f26/baseconfig/CONFIG_INOTIFY
deleted file mode 100644
index 78343a1d2..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_INOTIFY
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_INOTIFY=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INPUT_PWM_VIBRA b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_PWM_VIBRA
new file mode 100644
index 000000000..39a51b490
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_PWM_VIBRA
@@ -0,0 +1 @@
+# CONFIG_INPUT_PWM_VIBRA is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_INPUT_RK805_PWRKEY b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_RK805_PWRKEY
new file mode 100644
index 000000000..4ce96f558
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_INPUT_RK805_PWRKEY
@@ -0,0 +1 @@
+CONFIG_INPUT_RK805_PWRKEY=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP b/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP
index 26ba41376..6ecb43a3e 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP
+++ b/freed-ora/current/f26/baseconfig/CONFIG_IP_DCCP
@@ -1 +1 @@
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_IR_GPIO_TX b/freed-ora/current/f26/baseconfig/CONFIG_IR_GPIO_TX
new file mode 100644
index 000000000..4b6b484bb
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_IR_GPIO_TX
@@ -0,0 +1 @@
+CONFIG_IR_GPIO_TX=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_IR_PWM_TX b/freed-ora/current/f26/baseconfig/CONFIG_IR_PWM_TX
new file mode 100644
index 000000000..4dfd41870
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_IR_PWM_TX
@@ -0,0 +1 @@
+CONFIG_IR_PWM_TX=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_LEDS_AS3645A b/freed-ora/current/f26/baseconfig/CONFIG_LEDS_AS3645A
new file mode 100644
index 000000000..25d6f9f10
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_LEDS_AS3645A
@@ -0,0 +1 @@
+CONFIG_LEDS_AS3645A=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT b/freed-ora/current/f26/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
new file mode 100644
index 000000000..336528547
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
@@ -0,0 +1 @@
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_LTC2471 b/freed-ora/current/f26/baseconfig/CONFIG_LTC2471
new file mode 100644
index 000000000..5d272ac29
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_LTC2471
@@ -0,0 +1 @@
+# CONFIG_LTC2471 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MDIO_I2C b/freed-ora/current/f26/baseconfig/CONFIG_MDIO_I2C
new file mode 100644
index 000000000..df7d9e025
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_MDIO_I2C
@@ -0,0 +1 @@
+CONFIG_MDIO_I2C=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MFD_BD9571MWV b/freed-ora/current/f26/baseconfig/CONFIG_MFD_BD9571MWV
new file mode 100644
index 000000000..28d27a0e5
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_MFD_BD9571MWV
@@ -0,0 +1 @@
+CONFIG_MFD_BD9571MWV=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MFD_TPS68470 b/freed-ora/current/f26/baseconfig/CONFIG_MFD_TPS68470
new file mode 100644
index 000000000..10fd40465
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_MFD_TPS68470
@@ -0,0 +1 @@
+CONFIG_MFD_TPS68470=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MLX5_ESWITCH b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_ESWITCH
new file mode 100644
index 000000000..8a69e0671
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_ESWITCH
@@ -0,0 +1 @@
+CONFIG_MLX5_ESWITCH=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MLX5_MPFS b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_MPFS
new file mode 100644
index 000000000..6799ed484
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_MLX5_MPFS
@@ -0,0 +1 @@
+CONFIG_MLX5_MPFS=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_MMC_BLOCK_BOUNCE b/freed-ora/current/f26/baseconfig/CONFIG_MMC_BLOCK_BOUNCE
deleted file mode 100644
index 4470e8359..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_MMC_BLOCK_BOUNCE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MMC_BLOCK_BOUNCE=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NET_NSH b/freed-ora/current/f26/baseconfig/CONFIG_NET_NSH
new file mode 100644
index 000000000..2a9a24e04
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_NET_NSH
@@ -0,0 +1 @@
+CONFIG_NET_NSH=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_HUAWEI b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_HUAWEI
new file mode 100644
index 000000000..ae01b9160
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_HUAWEI
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_HUAWEI is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_SNI b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_SNI
new file mode 100644
index 000000000..4f301f9ba
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_NET_VENDOR_SNI
@@ -0,0 +1 @@
+# CONFIG_NET_VENDOR_SNI is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_NFT_FIB_NETDEV b/freed-ora/current/f26/baseconfig/CONFIG_NFT_FIB_NETDEV
new file mode 100644
index 000000000..273bfeb6a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_NFT_FIB_NETDEV
@@ -0,0 +1 @@
+CONFIG_NFT_FIB_NETDEV=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT
index 589156958..9dd8f33af 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT
@@ -1 +1 @@
-CONFIG_PARPORT=m
+# CONFIG_PARPORT is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC
index b9aa6e8ca..e2a0d3656 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC
@@ -1 +1 @@
-CONFIG_PARPORT_PC=m
+# CONFIG_PARPORT_PC is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PCIE_DW_HOST_ECAM b/freed-ora/current/f26/baseconfig/CONFIG_PCIE_DW_HOST_ECAM
new file mode 100644
index 000000000..c73d5c1aa
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PCIE_DW_HOST_ECAM
@@ -0,0 +1 @@
+# CONFIG_PCIE_DW_HOST_ECAM is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PHYLINK b/freed-ora/current/f26/baseconfig/CONFIG_PHYLINK
new file mode 100644
index 000000000..cc1e23e0b
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PHYLINK
@@ -0,0 +1 @@
+CONFIG_PHYLINK=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY b/freed-ora/current/f26/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY
new file mode 100644
index 000000000..8c104689f
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PHY_MVEBU_CP110_COMPHY
@@ -0,0 +1 @@
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PI433 b/freed-ora/current/f26/baseconfig/CONFIG_PI433
new file mode 100644
index 000000000..b275e1e6a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PI433
@@ -0,0 +1 @@
+# CONFIG_PI433 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_MSM8994 b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_MSM8994
deleted file mode 100644
index 977b1c3c4..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_MSM8994
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PINCTRL_MSM8994 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_RK805 b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_RK805
new file mode 100644
index 000000000..47b4fd855
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_RK805
@@ -0,0 +1 @@
+CONFIG_PINCTRL_RK805=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD
new file mode 100644
index 000000000..cffa73544
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_SPRD is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD_SC9860 b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD_SC9860
new file mode 100644
index 000000000..f9b405f96
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PINCTRL_SPRD_SC9860
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP b/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP
index a77bd27f8..bbe2b56ba 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP
+++ b/freed-ora/current/f26/baseconfig/CONFIG_PM_OPP
@@ -1 +1 @@
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_QCOM_GLINK_SSR b/freed-ora/current/f26/baseconfig/CONFIG_QCOM_GLINK_SSR
new file mode 100644
index 000000000..1c67b32f7
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_QCOM_GLINK_SSR
@@ -0,0 +1 @@
+# CONFIG_QCOM_GLINK_SSR is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_R8822BE b/freed-ora/current/f26/baseconfig/CONFIG_R8822BE
new file mode 100644
index 000000000..2f7c08787
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_R8822BE
@@ -0,0 +1 @@
+CONFIG_R8822BE=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_REGULATOR_BD9571MWV b/freed-ora/current/f26/baseconfig/CONFIG_REGULATOR_BD9571MWV
new file mode 100644
index 000000000..3b0acb786
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_REGULATOR_BD9571MWV
@@ -0,0 +1 @@
+CONFIG_REGULATOR_BD9571MWV=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RESET_ATTACK_MITIGATION b/freed-ora/current/f26/baseconfig/CONFIG_RESET_ATTACK_MITIGATION
new file mode 100644
index 000000000..8202a7865
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_RESET_ATTACK_MITIGATION
@@ -0,0 +1 @@
+CONFIG_RESET_ATTACK_MITIGATION=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RESET_HSDK_V1 b/freed-ora/current/f26/baseconfig/CONFIG_RESET_HSDK_V1
new file mode 100644
index 000000000..4c2b97d79
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_RESET_HSDK_V1
@@ -0,0 +1 @@
+# CONFIG_RESET_HSDK_V1 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RMNET b/freed-ora/current/f26/baseconfig/CONFIG_RMNET
new file mode 100644
index 000000000..5e8c115b5
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_RMNET
@@ -0,0 +1 @@
+# CONFIG_RMNET is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ROCKCHIP_PHY b/freed-ora/current/f26/baseconfig/CONFIG_ROCKCHIP_PHY
new file mode 100644
index 000000000..4ca60873a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_ROCKCHIP_PHY
@@ -0,0 +1 @@
+# CONFIG_ROCKCHIP_PHY is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM b/freed-ora/current/f26/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM
new file mode 100644
index 000000000..c2c0a0c78
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_RPMSG_QCOM_GLINK_SMEM
@@ -0,0 +1 @@
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_IBM_CFFPS b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_IBM_CFFPS
new file mode 100644
index 000000000..a217d973e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_IBM_CFFPS
@@ -0,0 +1 @@
+# CONFIG_SENSORS_IBM_CFFPS is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_TPS53679 b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_TPS53679
new file mode 100644
index 000000000..461a703df
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SENSORS_TPS53679
@@ -0,0 +1 @@
+CONFIG_SENSORS_TPS53679=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SERIO_GPIO_PS2 b/freed-ora/current/f26/baseconfig/CONFIG_SERIO_GPIO_PS2
new file mode 100644
index 000000000..22c1adbfb
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SERIO_GPIO_PS2
@@ -0,0 +1 @@
+# CONFIG_SERIO_GPIO_PS2 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SFP b/freed-ora/current/f26/baseconfig/CONFIG_SFP
new file mode 100644
index 000000000..db57db12e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SFP
@@ -0,0 +1 @@
+CONFIG_SFP=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SLAB_FREELIST_HARDENED b/freed-ora/current/f26/baseconfig/CONFIG_SLAB_FREELIST_HARDENED
new file mode 100644
index 000000000..52602d279
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SLAB_FREELIST_HARDENED
@@ -0,0 +1 @@
+CONFIG_SLAB_FREELIST_HARDENED=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT b/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT
index ce02ec981..ba018972d 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SND_HDA_POWER_SAVE_DEFAULT
@@ -1 +1 @@
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_CS43130 b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_CS43130
new file mode 100644
index 000000000..3fad16f6d
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_CS43130
@@ -0,0 +1 @@
+CONFIG_SND_SOC_CS43130=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_WM8524 b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_WM8524
new file mode 100644
index 000000000..1eb33d7e5
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SND_SOC_WM8524
@@ -0,0 +1 @@
+CONFIG_SND_SOC_WM8524=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_SQUASHFS_ZSTD b/freed-ora/current/f26/baseconfig/CONFIG_SQUASHFS_ZSTD
new file mode 100644
index 000000000..023fb21e0
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_SQUASHFS_ZSTD
@@ -0,0 +1 @@
+CONFIG_SQUASHFS_ZSTD=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_STRING_SELFTEST b/freed-ora/current/f26/baseconfig/CONFIG_STRING_SELFTEST
new file mode 100644
index 000000000..dbff6d7fa
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_STRING_SELFTEST
@@ -0,0 +1 @@
+# CONFIG_STRING_SELFTEST is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_TI_SYSCON_RESET b/freed-ora/current/f26/baseconfig/CONFIG_TI_SYSCON_RESET
deleted file mode 100644
index daf623a6e..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_TI_SYSCON_RESET
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_TI_SYSCON_RESET is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_USB_LED b/freed-ora/current/f26/baseconfig/CONFIG_USB_LED
deleted file mode 100644
index 445af6c46..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_USB_LED
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_USB_LED=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_VIDEO_RENESAS_VSP1 b/freed-ora/current/f26/baseconfig/CONFIG_VIDEO_RENESAS_VSP1
deleted file mode 100644
index dd5c6f34c..000000000
--- a/freed-ora/current/f26/baseconfig/CONFIG_VIDEO_RENESAS_VSP1
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_W1_SLAVE_DS2805 b/freed-ora/current/f26/baseconfig/CONFIG_W1_SLAVE_DS2805
new file mode 100644
index 000000000..eddd3bbb3
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_W1_SLAVE_DS2805
@@ -0,0 +1 @@
+CONFIG_W1_SLAVE_DS2805=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_WIL6210_DEBUGFS b/freed-ora/current/f26/baseconfig/CONFIG_WIL6210_DEBUGFS
new file mode 100644
index 000000000..f0f5fe7cf
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_WIL6210_DEBUGFS
@@ -0,0 +1 @@
+CONFIG_WIL6210_DEBUGFS=y
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_ZRAM_WRITEBACK b/freed-ora/current/f26/baseconfig/CONFIG_ZRAM_WRITEBACK
new file mode 100644
index 000000000..9a566b71c
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/CONFIG_ZRAM_WRITEBACK
@@ -0,0 +1 @@
+# CONFIG_ZRAM_WRITEBACK is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_BCM_IPROC b/freed-ora/current/f26/baseconfig/arm/CONFIG_ARCH_BCM_IPROC
index d60fe565f..d60fe565f 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_BCM_IPROC
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_ARCH_BCM_IPROC
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG
new file mode 100644
index 000000000..62fd0b85a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64 b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64
index ba32f8501..3aa7dacbf 100644
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_CRYPTO_SHA256_ARM64
@@ -1 +1 @@
-CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA256_ARM64=y
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC
new file mode 100644
index 000000000..a3e178eae
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_DW_HDMI_CEC
@@ -0,0 +1 @@
+CONFIG_DRM_DW_HDMI_CEC=m
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC
new file mode 100644
index 000000000..da0132c1f
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_VC4_HDMI_CEC
@@ -0,0 +1 @@
+CONFIG_DRM_VC4_HDMI_CEC=y
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC b/freed-ora/current/f26/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC
new file mode 100644
index 000000000..831bc6ea7
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_EXTCON_USBC_CROS_EC
@@ -0,0 +1 @@
+CONFIG_EXTCON_USBC_CROS_EC=m
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC b/freed-ora/current/f26/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC
new file mode 100644
index 000000000..e7b39a2c7
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_HW_RANDOM_IMX_RNGC
@@ -0,0 +1 @@
+CONFIG_HW_RANDOM_IMX_RNGC=m
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE
index 661ffb01a..f9cdc633b 100644
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_CORE
@@ -1 +1 @@
-CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_CORE=y
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM
index cec2f8633..3d50a3e8a 100644
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_I2C_DESIGNWARE_PLATFORM
@@ -1 +1 @@
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_IOMMU_DMA b/freed-ora/current/f26/baseconfig/arm/CONFIG_IOMMU_DMA
new file mode 100644
index 000000000..a9155fba1
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_IOMMU_DMA
@@ -0,0 +1 @@
+CONFIG_IOMMU_DMA=y
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_MESON_GX_SOCINFO b/freed-ora/current/f26/baseconfig/arm/CONFIG_MESON_GX_SOCINFO
new file mode 100644
index 000000000..ce5ba6f4a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_MESON_GX_SOCINFO
@@ -0,0 +1 @@
+CONFIG_MESON_GX_SOCINFO=y
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MTD_NAND_PXA3xx b/freed-ora/current/f26/baseconfig/arm/CONFIG_MTD_NAND_PXA3xx
index 584b57ea1..584b57ea1 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MTD_NAND_PXA3xx
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_MTD_NAND_PXA3xx
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/arm/CONFIG_PARPORT
deleted file mode 100644
index 9dd8f33af..000000000
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_PARPORT
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PARPORT is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_PATA_OF_PLATFORM b/freed-ora/current/f26/baseconfig/arm/CONFIG_PATA_OF_PLATFORM
deleted file mode 100644
index 5354705f9..000000000
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_PATA_OF_PLATFORM
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_PATA_OF_PLATFORM=m
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_RADIO_WL128X b/freed-ora/current/f26/baseconfig/arm/CONFIG_RADIO_WL128X
deleted file mode 100644
index 88b42f8e6..000000000
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_RADIO_WL128X
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_RADIO_WL128X=m
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_ROCKCHIP_PHY b/freed-ora/current/f26/baseconfig/arm/CONFIG_ROCKCHIP_PHY
new file mode 100644
index 000000000..e49faf8f9
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_ROCKCHIP_PHY
@@ -0,0 +1 @@
+CONFIG_ROCKCHIP_PHY=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_AC97 b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_AC97
index fa8e0e012..fa8e0e012 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_AC97
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_AC97
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_DAS b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_DAS
index 82205dc43..82205dc43 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_DAS
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_DAS
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA20_I2S b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S
index abfe22877..abfe22877 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA20_I2S
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_I2S
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_SPDIF b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_SPDIF
index 0f05cfffa..0f05cfffa 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_SND_SOC_TEGRA20_SPDIF
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA20_SPDIF
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_AHUB b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_AHUB
index d5632de51..d5632de51 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_AHUB
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_AHUB
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_I2S b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_I2S
index c7fabc77b..c7fabc77b 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SND_SOC_TEGRA30_I2S
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SND_SOC_TEGRA30_I2S
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUNXI_SRAM b/freed-ora/current/f26/baseconfig/arm/CONFIG_SUNXI_SRAM
index 526bd5868..526bd5868 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUNXI_SRAM
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_SUNXI_SRAM
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_REPAPER b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_REPAPER
new file mode 100644
index 000000000..c4d2874fa
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_REPAPER
@@ -0,0 +1 @@
+# CONFIG_TINYDRM_REPAPER is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_ST7586 b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_ST7586
new file mode 100644
index 000000000..2b9e29f63
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_TINYDRM_ST7586
@@ -0,0 +1 @@
+# CONFIG_TINYDRM_ST7586 is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_TI_ST b/freed-ora/current/f26/baseconfig/arm/CONFIG_TI_ST
deleted file mode 100644
index e6d0d4428..000000000
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_TI_ST
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_TI_ST=m
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA
index 0b76e3525..0b76e3525 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_HOST b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_HOST
index 1c14a4a6c..1c14a4a6c 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_HOST
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_HOST
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_UDC b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_UDC
index 320052607..320052607 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_UDC
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_UDC
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_ULPI b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI
index d1a5cf9eb..d1a5cf9eb 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CHIPIDEA_ULPI
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_USB_CHIPIDEA_ULPI
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC b/freed-ora/current/f26/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC
new file mode 100644
index 000000000..499a44076
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/CONFIG_VIDEO_MESON_AO_CEC
@@ -0,0 +1 @@
+CONFIG_VIDEO_MESON_AO_CEC=m
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC
index 0439db330..1cafdb24f 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_TEGRA_186_SOC
@@ -1 +1 @@
-# CONFIG_ARCH_TEGRA_186_SOC is not set
+CONFIG_ARCH_TEGRA_186_SOC=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN
deleted file mode 100644
index 6081275c5..000000000
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARCH_VULCAN
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_ARCH_VULCAN is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM64_PMEM b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM64_PMEM
new file mode 100644
index 000000000..9325600d1
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM64_PMEM
@@ -0,0 +1 @@
+# CONFIG_ARM64_PMEM is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ
new file mode 100644
index 000000000..f0e165dfb
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_ARM_TEGRA186_CPUFREQ
@@ -0,0 +1 @@
+CONFIG_ARM_TEGRA186_CPUFREQ=m
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CHARGER_QCOM_SMBB b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CHARGER_QCOM_SMBB
new file mode 100644
index 000000000..43a91eb0e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CHARGER_QCOM_SMBB
@@ -0,0 +1 @@
+CONFIG_CHARGER_QCOM_SMBB=m
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64 b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64
index 113c72b8c..dd0ae2c1d 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_CRYPTO_AES_ARM64
@@ -1 +1 @@
-CONFIG_CRYPTO_AES_ARM64=m
+CONFIG_CRYPTO_AES_ARM64=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI
deleted file mode 100644
index f961d1678..000000000
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DMI=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMIID b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMIID
deleted file mode 100644
index d0ea3622a..000000000
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMIID
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DMIID=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI_SYSFS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI_SYSFS
deleted file mode 100644
index 76565caf8..000000000
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_DMI_SYSFS
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DMI_SYSFS=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_GPIO_THUNDERX b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_GPIO_THUNDERX
new file mode 100644
index 000000000..6895cc045
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_GPIO_THUNDERX
@@ -0,0 +1 @@
+CONFIG_GPIO_THUNDERX=m
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_MFD_SPMI_PMIC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC
index 6360fee39..6360fee39 100644
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_MFD_SPMI_PMIC
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML
index 059d0d4f2..48facf367 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_MMC_QCOM_DML
@@ -1 +1 @@
-CONFIG_MMC_QCOM_DML=m
+CONFIG_MMC_QCOM_DML=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_NET_VENDOR_SNI b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_NET_VENDOR_SNI
new file mode 100644
index 000000000..bb77206de
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_NET_VENDOR_SNI
@@ -0,0 +1 @@
+CONFIG_NET_VENDOR_SNI=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PARPORT_PC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PARPORT_PC
deleted file mode 100644
index e2a0d3656..000000000
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PARPORT_PC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PARPORT_PC is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PCIE_DW_HOST_ECAM b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PCIE_DW_HOST_ECAM
new file mode 100644
index 000000000..cdb6169bd
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PCIE_DW_HOST_ECAM
@@ -0,0 +1 @@
+CONFIG_PCIE_DW_HOST_ECAM=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PHY_MVEBU_CP110_COMPHY b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PHY_MVEBU_CP110_COMPHY
new file mode 100644
index 000000000..1902b0c1f
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_PHY_MVEBU_CP110_COMPHY
@@ -0,0 +1 @@
+CONFIG_PHY_MVEBU_CP110_COMPHY=m
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE
index 097a2d3e7..20610a95a 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_BASE
@@ -1 +1 @@
-# CONFIG_RANDOMIZE_BASE is not set
+CONFIG_RANDOMIZE_BASE=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_MODULE_REGION_FULL b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_MODULE_REGION_FULL
new file mode 100644
index 000000000..7645a371e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RANDOMIZE_MODULE_REGION_FULL
@@ -0,0 +1 @@
+CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE
index ff7e13901..36808edb3 100644
--- a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_RELOCATABLE
@@ -1 +1 @@
-# CONFIG_RELOCATABLE is not set
+CONFIG_RELOCATABLE=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SNI_NETSEC b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SNI_NETSEC
new file mode 100644
index 000000000..c348519ff
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SNI_NETSEC
@@ -0,0 +1 @@
+CONFIG_SNI_NETSEC=m
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SOCIONEXT_SYNQUACER_PREITS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SOCIONEXT_SYNQUACER_PREITS
new file mode 100644
index 000000000..ded5c358e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_SOCIONEXT_SYNQUACER_PREITS
@@ -0,0 +1 @@
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CONFIGFS_F_LB_SS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CONFIGFS_F_LB_SS
new file mode 100644
index 000000000..213edb5a1
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_USB_CONFIGFS_F_LB_SS
@@ -0,0 +1 @@
+# CONFIG_USB_CONFIGFS_F_LB_SS is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VIDEO_QCOM_CAMSS b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VIDEO_QCOM_CAMSS
new file mode 100644
index 000000000..5e2512c4c
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VIDEO_QCOM_CAMSS
@@ -0,0 +1 @@
+CONFIG_VIDEO_QCOM_CAMSS=m
diff --git a/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VMAP_STACK b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VMAP_STACK
new file mode 100644
index 000000000..8bd986875
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/arm64/CONFIG_VMAP_STACK
@@ -0,0 +1 @@
+CONFIG_VMAP_STACK=y
diff --git a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_SUN4I_BACKEND b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND
index c1d1d2121..c1d1d2121 100644
--- a/freed-ora/current/f26/baseconfig/arm/CONFIG_DRM_SUN4I_BACKEND
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_BACKEND
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_HDMI_CEC b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_HDMI_CEC
new file mode 100644
index 000000000..8ba73409c
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_DRM_SUN4I_HDMI_CEC
@@ -0,0 +1 @@
+# CONFIG_DRM_SUN4I_HDMI_CEC is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MMC_QCOM_DML b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MMC_QCOM_DML
deleted file mode 100644
index 059d0d4f2..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_MMC_QCOM_DML
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MMC_QCOM_DML=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG
deleted file mode 100644
index 8b8ba13e8..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_OMAP2_DSS_DEBUG
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_OMAP2_DSS_DEBUG is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX
deleted file mode 100644
index 9963aedf7..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_BCM281XX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PINCTRL_BCM281XX is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35 b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35
deleted file mode 100644
index c9a64229e..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PINCTRL_IMX35
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PINCTRL_IMX35 is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PWM_TIECAP b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PWM_TIECAP
new file mode 100644
index 000000000..84f1e9b57
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_PWM_TIECAP
@@ -0,0 +1 @@
+CONFIG_PWM_TIECAP=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X
deleted file mode 100644
index 7dcdafcbb..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_RTC_DRV_ARMADA38X
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_RTC_DRV_ARMADA38X=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU
new file mode 100644
index 000000000..3b2ba681a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN4I_A10_CCU
@@ -0,0 +1 @@
+CONFIG_SUN4I_A10_CCU=y
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU
new file mode 100644
index 000000000..149900927
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/CONFIG_SUN8I_R40_CCU
@@ -0,0 +1 @@
+CONFIG_SUN8I_R40_CCU=y
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ
new file mode 100644
index 000000000..2be078588
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_BATTERY_BQ27XXX_HDQ
@@ -0,0 +1 @@
+CONFIG_BATTERY_BQ27XXX_HDQ=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB
new file mode 100644
index 000000000..43a91eb0e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_CHARGER_QCOM_SMBB
@@ -0,0 +1 @@
+CONFIG_CHARGER_QCOM_SMBB=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC
new file mode 100644
index 000000000..53983d8af
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC
@@ -0,0 +1 @@
+CONFIG_IMX_REMOTEPROC=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC
new file mode 100644
index 000000000..6360fee39
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC
@@ -0,0 +1 @@
+CONFIG_MFD_SPMI_PMIC=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML
index 059d0d4f2..48facf367 100644
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_MMC_QCOM_DML
@@ -1 +1 @@
-CONFIG_MMC_QCOM_DML=m
+CONFIG_MMC_QCOM_DML=y
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET
deleted file mode 100644
index defe64498..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_TI_SYSCON_RESET
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_TI_SYSCON_RESET=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA
deleted file mode 100644
index 0b76e3525..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_USB_CHIPIDEA=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST
deleted file mode 100644
index 1c14a4a6c..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_HOST
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_USB_CHIPIDEA_HOST=y
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC
deleted file mode 100644
index 320052607..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_UDC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_USB_CHIPIDEA_UDC=y
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_ULPI b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_ULPI
deleted file mode 100644
index d1a5cf9eb..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_USB_CHIPIDEA_ULPI
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_USB_CHIPIDEA_ULPI=y
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS
new file mode 100644
index 000000000..5e2512c4c
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/arm/armv7/armv7/CONFIG_VIDEO_QCOM_CAMSS
@@ -0,0 +1 @@
+CONFIG_VIDEO_QCOM_CAMSS=m
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS b/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS
deleted file mode 100644
index 71a38a48c..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_SND_SOC_TEGRA20_DAS
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_SOC_TEGRA20_DAS is not set
diff --git a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET b/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET
deleted file mode 100644
index defe64498..000000000
--- a/freed-ora/current/f26/baseconfig/arm/armv7/lpae/CONFIG_TI_SYSCON_RESET
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_TI_SYSCON_RESET=m
diff --git a/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_MEMTRACE b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_MEMTRACE
new file mode 100644
index 000000000..c783714d8
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_MEMTRACE
@@ -0,0 +1 @@
+# CONFIG_PPC_MEMTRACE is not set
diff --git a/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_VAS b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_VAS
new file mode 100644
index 000000000..ec767da00
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_PPC_VAS
@@ -0,0 +1 @@
+CONFIG_PPC_VAS=y
diff --git a/freed-ora/current/f26/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS
new file mode 100644
index 000000000..31f260384
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/powerpc/CONFIG_SENSORS_IBM_CFFPS
@@ -0,0 +1 @@
+CONFIG_SENSORS_IBM_CFFPS=m
diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN
deleted file mode 100644
index 57d623ff2..000000000
--- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_CPU_LITTLE_ENDIAN
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_CPU_LITTLE_ENDIAN is not set
diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY
deleted file mode 100644
index 40cd1a4f5..000000000
--- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_GENERIC_PHY
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_GENERIC_PHY=y
diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX
deleted file mode 100644
index 6982ed98a..000000000
--- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_I2C_MUX
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_I2C_MUX=m
diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE
deleted file mode 100644
index c8855e8a0..000000000
--- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_MFD_CORE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MFD_CORE=m
diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU
deleted file mode 100644
index 40eb65bc2..000000000
--- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_POWER7_CPU
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_POWER7_CPU=y
diff --git a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE b/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE
deleted file mode 100644
index 32ecde504..000000000
--- a/freed-ora/current/f26/baseconfig/powerpc/powerpc64p7/CONFIG_SERIAL_CORE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SERIAL_CORE=m
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA b/freed-ora/current/f26/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA
deleted file mode 100644
index 2e6c723ac..000000000
--- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_BLK_CPQ_CISS_DA
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_BLK_CPQ_CISS_DA is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA
new file mode 100644
index 000000000..309c9e771
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA
@@ -0,0 +1 @@
+CONFIG_CMA=y
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_AREAS b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_AREAS
new file mode 100644
index 000000000..5474a48e9
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_AREAS
@@ -0,0 +1 @@
+CONFIG_CMA_AREAS=7
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUG b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUG
new file mode 100644
index 000000000..64ff80c56
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUG
@@ -0,0 +1 @@
+# CONFIG_CMA_DEBUG is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUGFS b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUGFS
new file mode 100644
index 000000000..fba89903a
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_CMA_DEBUGFS
@@ -0,0 +1 @@
+# CONFIG_CMA_DEBUGFS is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT b/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT
deleted file mode 100644
index 87b55caf2..000000000
--- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_I2C_PARPORT is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT b/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT
deleted file mode 100644
index e18239222..000000000
--- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_I2C_PARPORT_LIGHT
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_I2C_PARPORT_LIGHT is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_BD9571MWV b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_BD9571MWV
new file mode 100644
index 000000000..d321ad3c6
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_BD9571MWV
@@ -0,0 +1 @@
+# CONFIG_MFD_BD9571MWV is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_RTSX_USB b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_RTSX_USB
new file mode 100644
index 000000000..b6efa65e7
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_RTSX_USB
@@ -0,0 +1 @@
+# CONFIG_MFD_RTSX_USB is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_TPS68470 b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_TPS68470
new file mode 100644
index 000000000..e82f415aa
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_TPS68470
@@ -0,0 +1 @@
+# CONFIG_MFD_TPS68470 is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_VIPERBOARD b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_VIPERBOARD
new file mode 100644
index 000000000..1d4d00579
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_MFD_VIPERBOARD
@@ -0,0 +1 @@
+# CONFIG_MFD_VIPERBOARD is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/s390x/CONFIG_PARPORT
deleted file mode 100644
index 9dd8f33af..000000000
--- a/freed-ora/current/f26/baseconfig/s390x/CONFIG_PARPORT
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PARPORT is not set
diff --git a/freed-ora/current/f26/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE b/freed-ora/current/f26/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE
new file mode 100644
index 000000000..aee0667ac
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/s390x/CONFIG_VMCP_CMA_SIZE
@@ -0,0 +1 @@
+CONFIG_VMCP_CMA_SIZE=4
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG b/freed-ora/current/f26/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG
new file mode 100644
index 000000000..c2c51192e
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_CONFIG_PINCTRL_LEWISBURG
@@ -0,0 +1 @@
+CONFIG_PINCTRL_LEWISBURG=m
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_HYPERV_VSOCKETS b/freed-ora/current/f26/baseconfig/x86/CONFIG_HYPERV_VSOCKETS
new file mode 100644
index 000000000..bd21cd675
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_HYPERV_VSOCKETS
@@ -0,0 +1 @@
+CONFIG_HYPERV_VSOCKETS=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT
index 58827a258..58827a258 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_I2C_PARPORT
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT
new file mode 100644
index 000000000..1dbc68883
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_I2C_PARPORT_LIGHT
@@ -0,0 +1 @@
+CONFIG_I2C_PARPORT_LIGHT=m
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_INTEL_RDT b/freed-ora/current/f26/baseconfig/x86/CONFIG_INTEL_RDT
new file mode 100644
index 000000000..0dcef9a32
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_INTEL_RDT
@@ -0,0 +1 @@
+CONFIG_INTEL_RDT=y
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP b/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP
index 8d0fa581d..d0d71de53 100644
--- a/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_MAXSMP
@@ -1 +1 @@
-CONFIG_MAXSMP=y
+# CONFIG_MAXSMP is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT
new file mode 100644
index 000000000..589156958
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT
@@ -0,0 +1 @@
+CONFIG_PARPORT=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_1284 b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_1284
index 585684fb0..585684fb0 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_1284
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_1284
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_AX88796 b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_AX88796
index 6214b2b8c..6214b2b8c 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_AX88796
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_AX88796
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC
new file mode 100644
index 000000000..b9aa6e8ca
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC
@@ -0,0 +1 @@
+CONFIG_PARPORT_PC=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_FIFO b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_FIFO
index 62562af4c..62562af4c 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_FIFO
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_FIFO
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_PCMCIA b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_PCMCIA
index cae4b9a2a..cae4b9a2a 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_PCMCIA
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_PCMCIA
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_SUPERIO b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_SUPERIO
index b6858ce79..b6858ce79 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_PC_SUPERIO
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_PC_SUPERIO
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_SERIAL b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_SERIAL
index 8e9020190..8e9020190 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PARPORT_SERIAL
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PARPORT_SERIAL
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_PINCTRL_DENVERTON b/freed-ora/current/f26/baseconfig/x86/CONFIG_PINCTRL_DENVERTON
new file mode 100644
index 000000000..ec6b4e8e1
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PINCTRL_DENVERTON
@@ -0,0 +1 @@
+CONFIG_PINCTRL_DENVERTON=m
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_PPS_CLIENT_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_PPS_CLIENT_PARPORT
index d11894def..d11894def 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_PPS_CLIENT_PARPORT
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_PPS_CLIENT_PARPORT
diff --git a/freed-ora/current/f26/baseconfig/CONFIG_USB_SERIAL_MOS7715_PARPORT b/freed-ora/current/f26/baseconfig/x86/CONFIG_USB_SERIAL_MOS7715_PARPORT
index 87be7826c..87be7826c 100644
--- a/freed-ora/current/f26/baseconfig/CONFIG_USB_SERIAL_MOS7715_PARPORT
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_USB_SERIAL_MOS7715_PARPORT
diff --git a/freed-ora/current/f26/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND b/freed-ora/current/f26/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND
new file mode 100644
index 000000000..3a5b2c46d
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/CONFIG_XEN_PVCALLS_BACKEND
@@ -0,0 +1 @@
+# CONFIG_XEN_PVCALLS_BACKEND is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX b/freed-ora/current/f26/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX
deleted file mode 100644
index 9963aedf7..000000000
--- a/freed-ora/current/f26/baseconfig/x86/i686/CONFIG_PINCTRL_BCM281XX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PINCTRL_BCM281XX is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX b/freed-ora/current/f26/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX
deleted file mode 100644
index 9963aedf7..000000000
--- a/freed-ora/current/f26/baseconfig/x86/i686PAE/CONFIG_PINCTRL_BCM281XX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PINCTRL_BCM281XX is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT
new file mode 100644
index 000000000..f9eacfabc
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT
@@ -0,0 +1 @@
+CONFIG_AMD_MEM_ENCRYPT=y
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
new file mode 100644
index 000000000..e41f0cf8f
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
@@ -0,0 +1 @@
+# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE
new file mode 100644
index 000000000..ef0a4ad5b
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PRIVATE
@@ -0,0 +1 @@
+CONFIG_DEVICE_PRIVATE=y
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC
new file mode 100644
index 000000000..c790e941b
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_DEVICE_PUBLIC
@@ -0,0 +1 @@
+CONFIG_DEVICE_PUBLIC=y
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO
deleted file mode 100644
index 87ca2bd05..000000000
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EXTCON_GPIO is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355
deleted file mode 100644
index 680b5a774..000000000
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EXTCON_MAX3355 is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A
deleted file mode 100644
index e5f7236c9..000000000
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EXTCON_RT8973A is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502
deleted file mode 100644
index 916994aa9..000000000
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EXTCON_SM5502 is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO
deleted file mode 100644
index 7a0c9af30..000000000
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EXTCON_USB_GPIO is not set
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR
new file mode 100644
index 000000000..11dfee6c1
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_HMM_MIRROR
@@ -0,0 +1 @@
+CONFIG_HMM_MIRROR=y
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE
deleted file mode 100644
index f9cdc633b..000000000
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_I2C_DESIGNWARE_CORE=y
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM
deleted file mode 100644
index 3d50a3e8a..000000000
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
new file mode 100644
index 000000000..4a06cfcc2
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
@@ -0,0 +1 @@
+CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS
index 441191641..27d187f4d 100644
--- a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_NR_CPUS
@@ -1 +1 @@
-CONFIG_NR_CPUS=8192
+CONFIG_NR_CPUS=1024
diff --git a/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL
new file mode 100644
index 000000000..db301f396
--- /dev/null
+++ b/freed-ora/current/f26/baseconfig/x86/x86_64/CONFIG_X86_5LEVEL
@@ -0,0 +1 @@
+# CONFIG_X86_5LEVEL is not set
diff --git a/freed-ora/current/f26/bcm2835-clk-audio-jitter-issues.patch b/freed-ora/current/f26/bcm2835-clk-audio-jitter-issues.patch
deleted file mode 100644
index 91304d64b..000000000
--- a/freed-ora/current/f26/bcm2835-clk-audio-jitter-issues.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-From patchwork Thu Jun 1 14:14:16 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v4,1/2] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER
-From: Phil Elwell <phil@raspberrypi.org>
-X-Patchwork-Id: 9759641
-Message-Id: <8cc0ba82-d33e-127b-7b86-ac595ef416d1@raspberrypi.org>
-To: Michael Turquette <mturquette@baylibre.com>,
- Stephen Boyd <sboyd@codeaurora.org>, Eric Anholt <eric@anholt.net>,
- Stefan Wahren <stefan.wahren@i2se.com>,
- Florian Fainelli <f.fainelli@gmail.com>,
- linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- linux-kernel@vger.kernel.org
-Date: Thu, 1 Jun 2017 15:14:16 +0100
-
-Restrict clock sources for the PCM peripheral to the oscillator and
-PLLD_PER because other source may have varying rates or be switched off.
-Prevent other sources from being selected by replacing their names in
-the list of potential parents with dummy entries (entry index is
-significant).
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- drivers/clk/bcm/clk-bcm2835.c | 27 ++++++++++++++++++++++++++-
- 1 file changed, 26 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
-index 0258538..49867d2 100644
---- a/drivers/clk/bcm/clk-bcm2835.c
-+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1516,6 +1516,31 @@ struct bcm2835_clk_desc {
- .parents = bcm2835_clock_per_parents, \
- __VA_ARGS__)
-
-+/*
-+ * Restrict clock sources for the PCM peripheral to the oscillator and
-+ * PLLD_PER because other source may have varying rates or be switched
-+ * off.
-+ *
-+ * Prevent other sources from being selected by replacing their names in
-+ * the list of potential parents with dummy entries (entry index is
-+ * significant).
-+ */
-+static const char *const bcm2835_pcm_per_parents[] = {
-+ "-",
-+ "xosc",
-+ "-",
-+ "-",
-+ "-",
-+ "-",
-+ "plld_per",
-+ "-",
-+};
-+
-+#define REGISTER_PCM_CLK(...) REGISTER_CLK( \
-+ .num_mux_parents = ARRAY_SIZE(bcm2835_pcm_per_parents), \
-+ .parents = bcm2835_pcm_per_parents, \
-+ __VA_ARGS__)
-+
- /* main vpu parent mux */
- static const char *const bcm2835_clock_vpu_parents[] = {
- "gnd",
-@@ -1993,7 +2018,7 @@ struct bcm2835_clk_desc {
- .int_bits = 4,
- .frac_bits = 8,
- .tcnt_mux = 22),
-- [BCM2835_CLOCK_PCM] = REGISTER_PER_CLK(
-+ [BCM2835_CLOCK_PCM] = REGISTER_PCM_CLK(
- .name = "pcm",
- .ctl_reg = CM_PCMCTL,
- .div_reg = CM_PCMDIV,
-From patchwork Thu Jun 1 14:14:22 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v4,2/2] clk: bcm2835: Minimise clock jitter for PCM clock
-From: Phil Elwell <phil@raspberrypi.org>
-X-Patchwork-Id: 9759643
-Message-Id: <9989244b-ca4d-9081-95d9-b24f51099222@raspberrypi.org>
-To: Michael Turquette <mturquette@baylibre.com>,
- Stephen Boyd <sboyd@codeaurora.org>, Eric Anholt <eric@anholt.net>,
- Stefan Wahren <stefan.wahren@i2se.com>,
- Florian Fainelli <f.fainelli@gmail.com>,
- linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- linux-kernel@vger.kernel.org
-Date: Thu, 1 Jun 2017 15:14:22 +0100
-
-Fractional clock dividers generate accurate average frequencies but
-with jitter, particularly when the integer divisor is small.
-
-Introduce a new metric of clock accuracy to penalise clocks with a good
-average but worse jitter compared to clocks with an average which is no
-better but with lower jitter. The metric is the ideal rate minus the
-worse deviation from that ideal using the nearest integer divisors.
-
-Use this metric for parent selection for clocks requiring low jitter
-(currently just PCM).
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- drivers/clk/bcm/clk-bcm2835.c | 34 +++++++++++++++++++++++++++++-----
- 1 file changed, 29 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
-index 49867d2..0bc56a0 100644
---- a/drivers/clk/bcm/clk-bcm2835.c
-+++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -530,6 +530,7 @@ struct bcm2835_clock_data {
-
- bool is_vpu_clock;
- bool is_mash_clock;
-+ bool low_jitter;
-
- u32 tcnt_mux;
- };
-@@ -1124,7 +1125,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw,
- int parent_idx,
- unsigned long rate,
- u32 *div,
-- unsigned long *prate)
-+ unsigned long *prate,
-+ unsigned long *avgrate)
- {
- struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
- struct bcm2835_cprman *cprman = clock->cprman;
-@@ -1139,8 +1141,25 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw,
- *prate = clk_hw_get_rate(parent);
- *div = bcm2835_clock_choose_div(hw, rate, *prate, true);
-
-- return bcm2835_clock_rate_from_divisor(clock, *prate,
-- *div);
-+ *avgrate = bcm2835_clock_rate_from_divisor(clock, *prate, *div);
-+
-+ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) {
-+ unsigned long high, low;
-+ u32 int_div = *div & ~CM_DIV_FRAC_MASK;
-+
-+ high = bcm2835_clock_rate_from_divisor(clock, *prate,
-+ int_div);
-+ int_div += CM_DIV_FRAC_MASK + 1;
-+ low = bcm2835_clock_rate_from_divisor(clock, *prate,
-+ int_div);
-+
-+ /*
-+ * Return a value which is the maximum deviation
-+ * below the ideal rate, for use as a metric.
-+ */
-+ return *avgrate - max(*avgrate - low, high - *avgrate);
-+ }
-+ return *avgrate;
- }
-
- if (data->frac_bits)
-@@ -1167,6 +1186,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw,
-
- *div = curdiv << CM_DIV_FRAC_BITS;
- *prate = curdiv * best_rate;
-+ *avgrate = best_rate;
-
- return best_rate;
- }
-@@ -1178,6 +1198,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw,
- bool current_parent_is_pllc;
- unsigned long rate, best_rate = 0;
- unsigned long prate, best_prate = 0;
-+ unsigned long avgrate, best_avgrate = 0;
- size_t i;
- u32 div;
-
-@@ -1202,11 +1223,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw,
- continue;
-
- rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate,
-- &div, &prate);
-+ &div, &prate,
-+ &avgrate);
- if (rate > best_rate && rate <= req->rate) {
- best_parent = parent;
- best_prate = prate;
- best_rate = rate;
-+ best_avgrate = avgrate;
- }
- }
-
-@@ -1216,7 +1239,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw,
- req->best_parent_hw = best_parent;
- req->best_parent_rate = best_prate;
-
-- req->rate = best_rate;
-+ req->rate = best_avgrate;
-
- return 0;
- }
-@@ -2025,6 +2048,7 @@ struct bcm2835_clk_desc {
- .int_bits = 12,
- .frac_bits = 12,
- .is_mash_clock = true,
-+ .low_jitter = true,
- .tcnt_mux = 23),
- [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK(
- .name = "pwm",
diff --git a/freed-ora/current/f26/bcm2835-fix-potential-null-pointer-dereferences.patch b/freed-ora/current/f26/bcm2835-fix-potential-null-pointer-dereferences.patch
deleted file mode 100644
index 862e77fe8..000000000
--- a/freed-ora/current/f26/bcm2835-fix-potential-null-pointer-dereferences.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From patchwork Thu May 25 17:04:55 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2] mmc: bcm2835: fix potential null pointer dereferences
-From: "Gustavo A. R. Silva" <garsilva@embeddedor.com>
-X-Patchwork-Id: 9748761
-Message-Id: <20170525170455.GA6904@embeddedgus>
-To: Stefan Wahren <stefan.wahren@i2se.com>,
- Ulf Hansson <ulf.hansson@linaro.org>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
- bcm-kernel-feedback-list@broadcom.com, Eric Anholt <eric@anholt.net>
-Cc: "Gustavo A. R. Silva" <garsilva@embeddedor.com>,
- linux-mmc@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
-Date: Thu, 25 May 2017 12:04:55 -0500
-
-Null check at line 1165: if (mrq->cmd), implies that mrq->cmd might
-be NULL.
-Add null checks before dereferencing pointer mrq->cmd in order to avoid
-any potential NULL pointer dereference.
-
-Addresses-Coverity-ID: 1408740
-Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
-Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
----
-Changes in v2:
- Change subject to make it clear the patch is bcm2835 related.
-
- drivers/mmc/host/bcm2835.c | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
-index 1f343a4..abba9a2 100644
---- a/drivers/mmc/host/bcm2835.c
-+++ b/drivers/mmc/host/bcm2835.c
-@@ -1172,7 +1172,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
- if (mrq->data && !is_power_of_2(mrq->data->blksz)) {
- dev_err(dev, "unsupported block size (%d bytes)\n",
- mrq->data->blksz);
-- mrq->cmd->error = -EINVAL;
-+
-+ if (mrq->cmd)
-+ mrq->cmd->error = -EINVAL;
-+
- mmc_request_done(mmc, mrq);
- return;
- }
-@@ -1194,7 +1197,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
- readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK,
- edm);
- bcm2835_dumpregs(host);
-- mrq->cmd->error = -EILSEQ;
-+
-+ if (mrq->cmd)
-+ mrq->cmd->error = -EILSEQ;
-+
- bcm2835_finish_request(host);
- mutex_unlock(&host->mutex);
- return;
-@@ -1207,7 +1213,7 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
- if (!host->use_busy)
- bcm2835_finish_command(host);
- }
-- } else if (bcm2835_send_command(host, mrq->cmd)) {
-+ } else if (mrq->cmd && bcm2835_send_command(host, mrq->cmd)) {
- if (host->data && host->dma_desc) {
- /* DMA transfer starts now, PIO starts after irq */
- bcm2835_start_dma(host);
diff --git a/freed-ora/current/f26/bcm2835-pinctrl-Avoid-warning-from-__irq_do_set_handler.patch b/freed-ora/current/f26/bcm2835-pinctrl-Avoid-warning-from-__irq_do_set_handler.patch
deleted file mode 100644
index 258d3b210..000000000
--- a/freed-ora/current/f26/bcm2835-pinctrl-Avoid-warning-from-__irq_do_set_handler.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From patchwork Wed Jun 21 18:20:04 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: pinctrl: bcm2835: Avoid warning from __irq_do_set_handler
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 9802555
-Message-Id: <1498069204-28154-1-git-send-email-stefan.wahren@i2se.com>
-To: Linus Walleij <linus.walleij@linaro.org>, Eric Anholt <eric@anholt.net>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
- Phil Elwell <phil@raspberrypi.org>, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Date: Wed, 21 Jun 2017 20:20:04 +0200
-
-We get a warning during boot with enabled EARLY_PRINTK that
-we try to set a irq_chip without data. This is caused by ignoring
-the return value of irq_of_parse_and_map(). So avoid calling
-gpiochip_set_chained_irqchip() in error case.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Fixes: 85ae9e512f43 ("pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP")
----
- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-index 1eb7a1a..2308831 100644
---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -1048,6 +1048,10 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
- for (i = 0; i < BCM2835_NUM_IRQS; i++) {
- pc->irq[i] = irq_of_parse_and_map(np, i);
- pc->irq_group[i] = i;
-+
-+ if (pc->irq[i] == 0)
-+ continue;
-+
- /*
- * Use the same handler for all groups: this is necessary
- * since we use one gpiochip to cover all lines - the
-From 8aa99fe688734f249b07314cdd7c5e25651c9c6d Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Thu, 27 Oct 2016 16:21:19 +0100
-Subject: irq-bcm2836: Prevent spurious interrupts, and trap them early
-
-The old arch-specific IRQ macros included a dsb to ensure the
-write to clear the mailbox interrupt completed before returning
-from the interrupt. The BCM2836 irqchip driver needs the same
-precaution to avoid spurious interrupts.
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
----
- drivers/irqchip/irq-bcm2836.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c
-index e7463e3..a8db33b 100644
---- a/drivers/irqchip/irq-bcm2836.c
-+++ b/drivers/irqchip/irq-bcm2836.c
-@@ -175,6 +175,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs)
- u32 ipi = ffs(mbox_val) - 1;
-
- writel(1 << ipi, mailbox0);
-+ dsb(sy);
- handle_IPI(ipi, regs);
- #endif
- } else if (stat) {
---
-cgit v0.12
-
diff --git a/freed-ora/current/f26/bcm2837-arm32-support.patch b/freed-ora/current/f26/bcm2837-arm32-support.patch
deleted file mode 100644
index 021ae1069..000000000
--- a/freed-ora/current/f26/bcm2837-arm32-support.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From patchwork Tue Apr 25 16:45:08 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v6)
-From: Eric Anholt <eric@anholt.net>
-X-Patchwork-Id: 9698781
-Message-Id: <20170425164508.32242-1-eric@anholt.net>
-To: Lee Jones <lee@kernel.org>, Florian Fainelli <f.fainelli@gmail.com>,
- Olof Johansson <olof@lixom.net>, Rob Herring <robh+dt@kernel.org>,
- Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-kernel@vger.kernel.org,
- Eric Anholt <eric@anholt.net>, bcm-kernel-feedback-list@broadcom.com,
- Gerd Hoffmann <kraxel@redhat.com>, linux-arm-kernel@lists.infradead.org,
- linux-rpi-kernel@lists.infradead.org
-Date: Tue, 25 Apr 2017 09:45:08 -0700
-
-Raspbian and Fedora have decided to support the Pi3 in 32-bit mode for
-now, so it's useful to be able to test that mode on an upstream
-kernel. It's also been useful for me to use the same board for 32-bit
-and 64-bit development.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- arch/arm/boot/dts/Makefile | 1 +
- arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 +
- 2 files changed, 2 insertions(+)
- create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 011808490fed..eded842d9978 100644
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
- bcm2835-rpi-b-plus.dtb \
- bcm2835-rpi-a-plus.dtb \
- bcm2836-rpi-2-b.dtb \
-+ bcm2837-rpi-3-b.dtb \
- bcm2835-rpi-zero.dtb
- dtb-$(CONFIG_ARCH_BCM_5301X) += \
- bcm4708-asus-rt-ac56u.dtb \
-diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-new file mode 100644
-index 000000000000..c72a27d908b6
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-@@ -0,0 +1 @@
-+#include "../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts"
diff --git a/freed-ora/current/f26/bcm2837-bluetooth-support.patch b/freed-ora/current/f26/bcm2837-bluetooth-support.patch
new file mode 100644
index 000000000..c272c1efe
--- /dev/null
+++ b/freed-ora/current/f26/bcm2837-bluetooth-support.patch
@@ -0,0 +1,36 @@
+From 50252c318fe2fcfcbd0832fa835e7fd1fafd7d2d Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Sun, 10 Sep 2017 19:30:02 +0100
+Subject: [PATCH 2/2] ARM: dts: bcm2837-rpi-3-b: Add bcm43438 serial slave
+
+Add BCM43438 (bluetooth) as a slave device of uart0 (pl011/ttyAMA0).
+This allows to automatically insert the bcm43438 to the bluetooth
+subsystem instead of relying on userspace helpers (hciattach).
+
+Overwrite chosen/stdout-path to use 8250 aux uart as console.
+
+Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx>
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+index 20725ca487f3..e4488cb3067e 100644
+--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+@@ -24,6 +29,11 @@
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
+ status = "okay";
++
++ bluetooth {
++ compatible = "brcm,bcm43438-bt";
++ max-speed = <2000000>;
++ };
+ };
+
+ /* uart1 is mapped to the pin header */
+--
+2.13.5
+
diff --git a/freed-ora/current/f26/bcm2837-initial-support.patch b/freed-ora/current/f26/bcm2837-initial-support.patch
deleted file mode 100644
index 021ae1069..000000000
--- a/freed-ora/current/f26/bcm2837-initial-support.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From patchwork Tue Apr 25 16:45:08 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: ARM: dts: Add devicetree for the Raspberry Pi 3, for arm32 (v6)
-From: Eric Anholt <eric@anholt.net>
-X-Patchwork-Id: 9698781
-Message-Id: <20170425164508.32242-1-eric@anholt.net>
-To: Lee Jones <lee@kernel.org>, Florian Fainelli <f.fainelli@gmail.com>,
- Olof Johansson <olof@lixom.net>, Rob Herring <robh+dt@kernel.org>,
- Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-kernel@vger.kernel.org,
- Eric Anholt <eric@anholt.net>, bcm-kernel-feedback-list@broadcom.com,
- Gerd Hoffmann <kraxel@redhat.com>, linux-arm-kernel@lists.infradead.org,
- linux-rpi-kernel@lists.infradead.org
-Date: Tue, 25 Apr 2017 09:45:08 -0700
-
-Raspbian and Fedora have decided to support the Pi3 in 32-bit mode for
-now, so it's useful to be able to test that mode on an upstream
-kernel. It's also been useful for me to use the same board for 32-bit
-and 64-bit development.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- arch/arm/boot/dts/Makefile | 1 +
- arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 +
- 2 files changed, 2 insertions(+)
- create mode 100644 arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 011808490fed..eded842d9978 100644
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
- bcm2835-rpi-b-plus.dtb \
- bcm2835-rpi-a-plus.dtb \
- bcm2836-rpi-2-b.dtb \
-+ bcm2837-rpi-3-b.dtb \
- bcm2835-rpi-zero.dtb
- dtb-$(CONFIG_ARCH_BCM_5301X) += \
- bcm4708-asus-rt-ac56u.dtb \
-diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-new file mode 100644
-index 000000000000..c72a27d908b6
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-@@ -0,0 +1 @@
-+#include "../../../arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts"
diff --git a/freed-ora/current/f26/bcm2837-move-dt.patch b/freed-ora/current/f26/bcm2837-move-dt.patch
deleted file mode 100644
index 018cf81d7..000000000
--- a/freed-ora/current/f26/bcm2837-move-dt.patch
+++ /dev/null
@@ -1,516 +0,0 @@
-From 3bfe25fa9f8a56c5c877c7fd854d89238787c6d8 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Wed, 26 Jul 2017 13:01:56 -0700
-Subject: ARM: dts: bcm283x: Move the BCM2837 DT contents from arm64 to arm.
-
-BCM2837 is somewhat unusual in that we build its DT on both arm32 and
-arm64. Most devices are being run in arm32 mode.
-
-Having the body of the DT for 2837 separate from 2835/6 has been a
-source of pain, as we often need to make changes that span both
-directories simultaneously (for example, the thermal changes for 4.13,
-or anything that changes the name of a node referenced by '&' from
-board files). Other changes are made more complicated than they need
-to be, such as the SDHOST enabling, because we have to split a single
-logical change into a 283[56] half and a 2837 half.
-
-To fix this, make the stub board include file live in arm64 instead of
-arm32, and keep all of BCM283x's contents in arm32. From here on, our
-changes to DT contents can be submitted through a single tree.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
----
- arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 42 ++++++++++-
- arch/arm/boot/dts/bcm2837.dtsi | 86 ++++++++++++++++++++++
- arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi | 1 -
- arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 42 +----------
- arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 86 ----------------------
- .../boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi | 1 -
- .../boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi | 1 -
- arch/arm64/boot/dts/broadcom/bcm283x.dtsi | 1 -
- 8 files changed, 128 insertions(+), 132 deletions(-)
- create mode 100644 arch/arm/boot/dts/bcm2837.dtsi
- delete mode 120000 arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
- delete mode 100644 arch/arm64/boot/dts/broadcom/bcm2837.dtsi
- delete mode 120000 arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
- delete mode 120000 arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi
- delete mode 120000 arch/arm64/boot/dts/broadcom/bcm283x.dtsi
-
-diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-index c72a27d..972f14d 100644
---- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-@@ -1 +1,41 @@
--#include "arm64/broadcom/bcm2837-rpi-3-b.dts"
-+/dts-v1/;
-+#include "bcm2837.dtsi"
-+#include "bcm2835-rpi.dtsi"
-+#include "bcm283x-rpi-smsc9514.dtsi"
-+#include "bcm283x-rpi-usb-host.dtsi"
-+
-+/ {
-+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
-+ model = "Raspberry Pi 3 Model B";
-+
-+ memory {
-+ reg = <0 0x40000000>;
-+ };
-+
-+ leds {
-+ act {
-+ gpios = <&gpio 47 0>;
-+ };
-+ };
-+};
-+
-+&uart1 {
-+ status = "okay";
-+};
-+
-+/* SDHCI is used to control the SDIO for wireless */
-+&sdhci {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&emmc_gpio34>;
-+ status = "okay";
-+ bus-width = <4>;
-+ non-removable;
-+};
-+
-+/* SDHOST is used to drive the SD card */
-+&sdhost {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&sdhost_gpio48>;
-+ status = "okay";
-+ bus-width = <4>;
-+};
-diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi
-new file mode 100644
-index 0000000..2d5de6f0
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm2837.dtsi
-@@ -0,0 +1,86 @@
-+#include "bcm283x.dtsi"
-+
-+/ {
-+ compatible = "brcm,bcm2837";
-+
-+ soc {
-+ ranges = <0x7e000000 0x3f000000 0x1000000>,
-+ <0x40000000 0x40000000 0x00001000>;
-+ dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
-+
-+ local_intc: local_intc {
-+ compatible = "brcm,bcm2836-l1-intc";
-+ reg = <0x40000000 0x100>;
-+ interrupt-controller;
-+ #interrupt-cells = <1>;
-+ interrupt-parent = <&local_intc>;
-+ };
-+ };
-+
-+ timer {
-+ compatible = "arm,armv7-timer";
-+ interrupt-parent = <&local_intc>;
-+ interrupts = <0>, // PHYS_SECURE_PPI
-+ <1>, // PHYS_NONSECURE_PPI
-+ <3>, // VIRT_PPI
-+ <2>; // HYP_PPI
-+ always-on;
-+ };
-+
-+ cpus: cpus {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ cpu0: cpu@0 {
-+ device_type = "cpu";
-+ compatible = "arm,cortex-a53";
-+ reg = <0>;
-+ enable-method = "spin-table";
-+ cpu-release-addr = <0x0 0x000000d8>;
-+ };
-+
-+ cpu1: cpu@1 {
-+ device_type = "cpu";
-+ compatible = "arm,cortex-a53";
-+ reg = <1>;
-+ enable-method = "spin-table";
-+ cpu-release-addr = <0x0 0x000000e0>;
-+ };
-+
-+ cpu2: cpu@2 {
-+ device_type = "cpu";
-+ compatible = "arm,cortex-a53";
-+ reg = <2>;
-+ enable-method = "spin-table";
-+ cpu-release-addr = <0x0 0x000000e8>;
-+ };
-+
-+ cpu3: cpu@3 {
-+ device_type = "cpu";
-+ compatible = "arm,cortex-a53";
-+ reg = <3>;
-+ enable-method = "spin-table";
-+ cpu-release-addr = <0x0 0x000000f0>;
-+ };
-+ };
-+};
-+
-+/* Make the BCM2835-style global interrupt controller be a child of the
-+ * CPU-local interrupt controller.
-+ */
-+&intc {
-+ compatible = "brcm,bcm2836-armctrl-ic";
-+ reg = <0x7e00b200 0x200>;
-+ interrupt-parent = <&local_intc>;
-+ interrupts = <8>;
-+};
-+
-+&cpu_thermal {
-+ coefficients = <(-538) 412000>;
-+};
-+
-+/* enable thermal sensor with the correct compatible property set */
-+&thermal {
-+ compatible = "brcm,bcm2837-thermal";
-+ status = "okay";
-+};
-diff --git a/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
-deleted file mode 120000
-index 3937b77..0000000
---- a/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../arm/boot/dts/bcm2835-rpi.dtsi
-\ No newline at end of file
-diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-index 972f14d..699d340 100644
---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-@@ -1,41 +1 @@
--/dts-v1/;
--#include "bcm2837.dtsi"
--#include "bcm2835-rpi.dtsi"
--#include "bcm283x-rpi-smsc9514.dtsi"
--#include "bcm283x-rpi-usb-host.dtsi"
--
--/ {
-- compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
-- model = "Raspberry Pi 3 Model B";
--
-- memory {
-- reg = <0 0x40000000>;
-- };
--
-- leds {
-- act {
-- gpios = <&gpio 47 0>;
-- };
-- };
--};
--
--&uart1 {
-- status = "okay";
--};
--
--/* SDHCI is used to control the SDIO for wireless */
--&sdhci {
-- pinctrl-names = "default";
-- pinctrl-0 = <&emmc_gpio34>;
-- status = "okay";
-- bus-width = <4>;
-- non-removable;
--};
--
--/* SDHOST is used to drive the SD card */
--&sdhost {
-- pinctrl-names = "default";
-- pinctrl-0 = <&sdhost_gpio48>;
-- status = "okay";
-- bus-width = <4>;
--};
-+#include "arm/bcm2837-rpi-3-b.dts"
-diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
-deleted file mode 100644
-index 2d5de6f0..0000000
---- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi
-+++ /dev/null
-@@ -1,86 +0,0 @@
--#include "bcm283x.dtsi"
--
--/ {
-- compatible = "brcm,bcm2837";
--
-- soc {
-- ranges = <0x7e000000 0x3f000000 0x1000000>,
-- <0x40000000 0x40000000 0x00001000>;
-- dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
--
-- local_intc: local_intc {
-- compatible = "brcm,bcm2836-l1-intc";
-- reg = <0x40000000 0x100>;
-- interrupt-controller;
-- #interrupt-cells = <1>;
-- interrupt-parent = <&local_intc>;
-- };
-- };
--
-- timer {
-- compatible = "arm,armv7-timer";
-- interrupt-parent = <&local_intc>;
-- interrupts = <0>, // PHYS_SECURE_PPI
-- <1>, // PHYS_NONSECURE_PPI
-- <3>, // VIRT_PPI
-- <2>; // HYP_PPI
-- always-on;
-- };
--
-- cpus: cpus {
-- #address-cells = <1>;
-- #size-cells = <0>;
--
-- cpu0: cpu@0 {
-- device_type = "cpu";
-- compatible = "arm,cortex-a53";
-- reg = <0>;
-- enable-method = "spin-table";
-- cpu-release-addr = <0x0 0x000000d8>;
-- };
--
-- cpu1: cpu@1 {
-- device_type = "cpu";
-- compatible = "arm,cortex-a53";
-- reg = <1>;
-- enable-method = "spin-table";
-- cpu-release-addr = <0x0 0x000000e0>;
-- };
--
-- cpu2: cpu@2 {
-- device_type = "cpu";
-- compatible = "arm,cortex-a53";
-- reg = <2>;
-- enable-method = "spin-table";
-- cpu-release-addr = <0x0 0x000000e8>;
-- };
--
-- cpu3: cpu@3 {
-- device_type = "cpu";
-- compatible = "arm,cortex-a53";
-- reg = <3>;
-- enable-method = "spin-table";
-- cpu-release-addr = <0x0 0x000000f0>;
-- };
-- };
--};
--
--/* Make the BCM2835-style global interrupt controller be a child of the
-- * CPU-local interrupt controller.
-- */
--&intc {
-- compatible = "brcm,bcm2836-armctrl-ic";
-- reg = <0x7e00b200 0x200>;
-- interrupt-parent = <&local_intc>;
-- interrupts = <8>;
--};
--
--&cpu_thermal {
-- coefficients = <(-538) 412000>;
--};
--
--/* enable thermal sensor with the correct compatible property set */
--&thermal {
-- compatible = "brcm,bcm2837-thermal";
-- status = "okay";
--};
-diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
-deleted file mode 120000
-index dca7c05..0000000
---- a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
-\ No newline at end of file
-diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi
-deleted file mode 120000
-index cbeebe3..0000000
---- a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-usb-host.dtsi
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../arm/boot/dts/bcm283x-rpi-usb-host.dtsi
-\ No newline at end of file
-diff --git a/arch/arm64/boot/dts/broadcom/bcm283x.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi
-deleted file mode 120000
-index 5f54e4c..0000000
---- a/arch/arm64/boot/dts/broadcom/bcm283x.dtsi
-+++ /dev/null
-@@ -1 +0,0 @@
--../../../../arm/boot/dts/bcm283x.dtsi
-\ No newline at end of file
---
-cgit v1.1
-
-From 4188ea2aeb6dd8f99ab77662f463e41bc464a704 Mon Sep 17 00:00:00 2001
-From: Stefan Wahren <stefan.wahren@i2se.com>
-Date: Sun, 30 Jul 2017 19:10:32 +0200
-Subject: ARM: bcm283x: Define UART pinmuxing on board level
-
-Until RPI 3 and Zero W the pl011 (uart0) was always on pin 14/15. So in
-order to take care of them and other boards in the future,
-we need to define UART pinmuxing on board level.
-
-This work based on Eric Anholt's patch "ARM: bcm2385: Don't force pl011
-onto pins 14/15." and Fabian Vogt's patch "ARM64: dts: bcm2837: assign
-uart0 to BT and uart1 to pin headers".
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Signed-off-by: Eric Anholt <eric@anholt.net>
----
- arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-a.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-b.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-zero.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +-
- arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 6 ++++++
- arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 10 ++++++++++
- 9 files changed, 53 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
-index d070454..9f86649 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
-@@ -99,3 +99,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts
-index 46d078e..4b1af06 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
-@@ -94,3 +94,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
-index 432088e..a846f1e 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
-@@ -101,3 +101,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
-index 4133bc2..e860964 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
-@@ -94,3 +94,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
-index 4d56fe3..5d77f3f 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
-@@ -89,3 +89,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
-index 79a20d5..7036240 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
-@@ -103,3 +103,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-index e55b362..e36c392 100644
---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
-+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-@@ -39,7 +39,7 @@
- };
-
- alt0: alt0 {
-- brcm,pins = <4 5 7 8 9 10 11 14 15>;
-+ brcm,pins = <4 5 7 8 9 10 11>;
- brcm,function = <BCM2835_FSEL_ALT0>;
- };
- };
-diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
-index bf19e8c..e8de414 100644
---- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
-+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
-@@ -39,3 +39,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-index 972f14d..20725ca 100644
---- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
-@@ -19,7 +19,17 @@
- };
- };
-
-+/* uart0 communicates with the BT module */
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>;
-+ status = "okay";
-+};
-+
-+/* uart1 is mapped to the pin header */
- &uart1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart1_gpio14>;
- status = "okay";
- };
-
---
-cgit v1.1
-
diff --git a/freed-ora/current/f26/bcm2837-sdhost-fixes.patch b/freed-ora/current/f26/bcm2837-sdhost-fixes.patch
deleted file mode 100644
index 9b81005ad..000000000
--- a/freed-ora/current/f26/bcm2837-sdhost-fixes.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From e199a012a0fb0be11ccd26b4a502ae830eb10db0 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Tue, 21 Jun 2016 11:47:56 +0200
-Subject: arm64: dts: bcm2837: add &sdhci and &sdhost
-
-For the raspberry pi 3 we'll need both sdhci (handles sdio wifi) and
-sdhost (handles sdcard).
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Acked-by: Eric Anholt <eric@anholt.net>
----
- arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-index c309633..972f14d 100644
---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-@@ -22,3 +22,20 @@
- &uart1 {
- status = "okay";
- };
-+
-+/* SDHCI is used to control the SDIO for wireless */
-+&sdhci {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&emmc_gpio34>;
-+ status = "okay";
-+ bus-width = <4>;
-+ non-removable;
-+};
-+
-+/* SDHOST is used to drive the SD card */
-+&sdhost {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&sdhost_gpio48>;
-+ status = "okay";
-+ bus-width = <4>;
-+};
---
-cgit v0.12
-
-From 0c1759bc4fc8884d790d4ab99b5276132559b5a1 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Tue, 21 Jun 2016 10:00:58 +0200
-Subject: arm: dts: bcm283x: switch from &sdhci to &sdhost
-
-sdcard access with the sdhost controller is faster.
-
-Read access (dd with 64k blocks on rpi2):
- CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s
- CONFIG_MMC_BCM2835: 19-20 MB/s
-
-Differences on write access are pretty much in the noise.
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Acked-by: Eric Anholt <eric@anholt.net>
----
- arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-index 8b95832..e36c392 100644
---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
-+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-@@ -65,13 +65,13 @@
- &sdhci {
- pinctrl-names = "default";
- pinctrl-0 = <&emmc_gpio48>;
-- status = "okay";
- bus-width = <4>;
- };
-
- &sdhost {
- pinctrl-names = "default";
- pinctrl-0 = <&sdhost_gpio48>;
-+ status = "okay";
- bus-width = <4>;
- };
-
---
-cgit v0.12
-
diff --git a/freed-ora/current/f26/bcm283x-Define-UART-pinmuxing-on-board-level.patch b/freed-ora/current/f26/bcm283x-Define-UART-pinmuxing-on-board-level.patch
deleted file mode 100644
index 26efe9007..000000000
--- a/freed-ora/current/f26/bcm283x-Define-UART-pinmuxing-on-board-level.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From patchwork Thu Jul 20 19:37:07 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/3] ARM: bcm283x: Define UART pinmuxing on board level
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 9855625
-Message-Id: <1500579429-9101-2-git-send-email-stefan.wahren@i2se.com>
-To: Eric Anholt <eric@anholt.net>, Rob Herring <robh+dt@kernel.org>,
- Mark Rutland <mark.rutland@arm.com>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
- Florian Fainelli <f.fainelli@gmail.com>,
- Scott Branden <sbranden@broadcom.com>,
- linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org, Gerd Hoffmann <kraxel@redhat.com>
-Date: Thu, 20 Jul 2017 21:37:07 +0200
-
-Until RPI 3 and Zero W the pl011 (uart0) was always on pin 14/15. So in
-order to take care of them and other boards in the future,
-we need to define UART pinmuxing on board level.
-
-This work based on Eric Anholt's patch "ARM: bcm2385: Don't force pl011
-onto pins 14/15." and Fabian Vogt's patch "ARM64: dts: bcm2837: assign
-uart0 to BT and uart1 to pin headers".
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-a.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-b.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi-zero.dts | 6 ++++++
- arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +-
- arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 6 ++++++
- arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 10 ++++++++++
- 9 files changed, 53 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
-index d070454..9f86649 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
-@@ -99,3 +99,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts
-index 46d078e..4b1af06 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
-@@ -94,3 +94,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
-index 432088e..a846f1e 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
-@@ -101,3 +101,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
-index 4133bc2..e860964 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
-@@ -94,3 +94,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
-index 4d56fe3..5d77f3f 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
-@@ -89,3 +89,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
-index 79a20d5..7036240 100644
---- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
-+++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
-@@ -103,3 +103,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-index e55b362..e36c392 100644
---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
-+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-@@ -39,7 +39,7 @@
- };
-
- alt0: alt0 {
-- brcm,pins = <4 5 7 8 9 10 11 14 15>;
-+ brcm,pins = <4 5 7 8 9 10 11>;
- brcm,function = <BCM2835_FSEL_ALT0>;
- };
- };
-diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
-index bf19e8c..e8de414 100644
---- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
-+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
-@@ -39,3 +39,9 @@
- &hdmi {
- hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
- };
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_gpio14>;
-+ status = "okay";
-+};
-diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-index 972f14d..20725ca 100644
---- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts
-@@ -19,7 +19,17 @@
- };
- };
-
-+/* uart0 communicates with the BT module */
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_ctsrts_gpio30 &gpclk2_gpio43>;
-+ status = "okay";
-+};
-+
-+/* uart1 is mapped to the pin header */
- &uart1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart1_gpio14>;
- status = "okay";
- };
-
diff --git a/freed-ora/current/f26/bcm283x-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch b/freed-ora/current/f26/bcm283x-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch
deleted file mode 100644
index 70a528253..000000000
--- a/freed-ora/current/f26/bcm283x-drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From patchwork Thu Feb 9 18:16:00 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: drm/vc4: Fix OOPSes from trying to cache a partially constructed BO.
-From: Eric Anholt <eric@anholt.net>
-X-Patchwork-Id: 138087
-Message-Id: <20170209181600.24048-1-eric@anholt.net>
-To: dri-devel@lists.freedesktop.org
-Cc: linux-kernel@vger.kernel.org, pbrobinson@gmail.com
-Date: Thu, 9 Feb 2017 10:16:00 -0800
-
-If a CMA allocation failed, the partially constructed BO would be
-unreferenced through the normal path, and we might choose to put it in
-the BO cache. If we then reused it before it expired from the cache,
-the kernel would OOPS.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.")
----
- drivers/gpu/drm/vc4/vc4_bo.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
-index 5ec14f25625d..fd83a2807656 100644
---- a/drivers/gpu/drm/vc4/vc4_bo.c
-+++ b/drivers/gpu/drm/vc4/vc4_bo.c
-@@ -314,6 +314,14 @@ void vc4_free_object(struct drm_gem_object *gem_bo)
- goto out;
- }
-
-+ /* If this object was partially constructed but CMA allocation
-+ * had failed, just free it.
-+ */
-+ if (!bo->base.vaddr) {
-+ vc4_bo_destroy(bo);
-+ goto out;
-+ }
-+
- cache_list = vc4_get_cache_list_for_size(dev, gem_bo->size);
- if (!cache_list) {
- vc4_bo_destroy(bo);
diff --git a/freed-ora/current/f26/bcm283x-flip-sdcontroller.patch b/freed-ora/current/f26/bcm283x-flip-sdcontroller.patch
deleted file mode 100644
index 44b5eb146..000000000
--- a/freed-ora/current/f26/bcm283x-flip-sdcontroller.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 0c1759bc4fc8884d790d4ab99b5276132559b5a1 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Tue, 21 Jun 2016 10:00:58 +0200
-Subject: arm: dts: bcm283x: switch from &sdhci to &sdhost
-
-sdcard access with the sdhost controller is faster.
-
-Read access (dd with 64k blocks on rpi2):
- CONFIG_MMC_SDHCI_IPROC: 11-12 MB/s
- CONFIG_MMC_BCM2835: 19-20 MB/s
-
-Differences on write access are pretty much in the noise.
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Acked-by: Eric Anholt <eric@anholt.net>
----
- arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-index 8b95832..e36c392 100644
---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
-+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-@@ -65,13 +65,13 @@
- &sdhci {
- pinctrl-names = "default";
- pinctrl-0 = <&emmc_gpio48>;
-- status = "okay";
- bus-width = <4>;
- };
-
- &sdhost {
- pinctrl-names = "default";
- pinctrl-0 = <&sdhost_gpio48>;
-+ status = "okay";
- bus-width = <4>;
- };
-
---
-cgit v0.12
-
diff --git a/freed-ora/current/f26/bcm283x-vc4-fix-vblank.patch b/freed-ora/current/f26/bcm283x-vc4-fix-vblank.patch
deleted file mode 100644
index ce4f8b16f..000000000
--- a/freed-ora/current/f26/bcm283x-vc4-fix-vblank.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From d40a5938a10a3ba73bce6395729fefd8b8bb1c07 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Thu, 29 Jun 2017 10:05:05 +0100
-Subject: [PATCH] drm/vc4: Fix VBLANK handling in crtc->enable() path
-
-When we are enabling a CRTC, drm_crtc_vblank_get() is called before
-drm_crtc_vblank_on(), which is not supposed to happen (hence the
-WARN_ON() in the code). To solve the problem, we delay the 'update
-display list' operation after the CRTC is actually enabled.
-
-Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
----
- drivers/gpu/drm/vc4/vc4_crtc.c | 66 +++++++++++++++++++++++++++---------------
- 1 file changed, 43 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c
-index d86c8cce3182..316bd6210d69 100644
---- a/drivers/gpu/drm/vc4/vc4_crtc.c
-+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -530,6 +530,34 @@ static void vc4_crtc_disable(struct drm_crtc *crtc)
- SCALER_DISPSTATX_EMPTY);
- }
-
-+static void vc4_crtc_update_dlist(struct drm_crtc *crtc)
-+{
-+ struct drm_device *dev = crtc->dev;
-+ struct vc4_dev *vc4 = to_vc4_dev(dev);
-+ struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
-+ struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state);
-+
-+ if (crtc->state->event) {
-+ unsigned long flags;
-+
-+ crtc->state->event->pipe = drm_crtc_index(crtc);
-+
-+ WARN_ON(drm_crtc_vblank_get(crtc) != 0);
-+
-+ spin_lock_irqsave(&dev->event_lock, flags);
-+ vc4_crtc->event = crtc->state->event;
-+ crtc->state->event = NULL;
-+
-+ HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel),
-+ vc4_state->mm.start);
-+
-+ spin_unlock_irqrestore(&dev->event_lock, flags);
-+ } else {
-+ HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel),
-+ vc4_state->mm.start);
-+ }
-+}
-+
- static void vc4_crtc_enable(struct drm_crtc *crtc)
- {
- struct drm_device *dev = crtc->dev;
-@@ -540,6 +568,12 @@ static void vc4_crtc_enable(struct drm_crtc *crtc)
-
- require_hvs_enabled(dev);
-
-+ /* Enable vblank irq handling before crtc is started otherwise
-+ * drm_crtc_get_vblank() fails in vc4_crtc_update_dlist().
-+ */
-+ drm_crtc_vblank_on(crtc);
-+ vc4_crtc_update_dlist(crtc);
-+
- /* Turn on the scaler, which will wait for vstart to start
- * compositing.
- */
-@@ -551,9 +585,6 @@ static void vc4_crtc_enable(struct drm_crtc *crtc)
- /* Turn on the pixel valve, which will emit the vstart signal. */
- CRTC_WRITE(PV_V_CONTROL,
- CRTC_READ(PV_V_CONTROL) | PV_VCONTROL_VIDEN);
--
-- /* Enable vblank irq handling after crtc is started. */
-- drm_crtc_vblank_on(crtc);
- }
-
- static bool vc4_crtc_mode_fixup(struct drm_crtc *crtc,
-@@ -608,7 +639,6 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc,
- {
- struct drm_device *dev = crtc->dev;
- struct vc4_dev *vc4 = to_vc4_dev(dev);
-- struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
- struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc->state);
- struct drm_plane *plane;
- bool debug_dump_regs = false;
-@@ -630,25 +660,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc,
-
- WARN_ON_ONCE(dlist_next - dlist_start != vc4_state->mm.size);
-
-- if (crtc->state->event) {
-- unsigned long flags;
--
-- crtc->state->event->pipe = drm_crtc_index(crtc);
--
-- WARN_ON(drm_crtc_vblank_get(crtc) != 0);
--
-- spin_lock_irqsave(&dev->event_lock, flags);
-- vc4_crtc->event = crtc->state->event;
-- crtc->state->event = NULL;
--
-- HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel),
-- vc4_state->mm.start);
--
-- spin_unlock_irqrestore(&dev->event_lock, flags);
-- } else {
-- HVS_WRITE(SCALER_DISPLISTX(vc4_crtc->channel),
-- vc4_state->mm.start);
-- }
-+ /* Only update DISPLIST if the CRTC was already running and is not
-+ * being disabled.
-+ * vc4_crtc_enable() takes care of updating the dlist just after
-+ * re-enabling VBLANK interrupts and before enabling the engine.
-+ * If the CRTC is being disabled, there's no point in updating this
-+ * information.
-+ */
-+ if (crtc->state->active && old_state->active)
-+ vc4_crtc_update_dlist(crtc);
-
- if (debug_dump_regs) {
- DRM_INFO("CRTC %d HVS after:\n", drm_crtc_index(crtc));
---
-2.13.0
-
diff --git a/freed-ora/current/f26/bcm283x-vc4-fixes.patch b/freed-ora/current/f26/bcm283x-vc4-fixes.patch
deleted file mode 100644
index d17ff1873..000000000
--- a/freed-ora/current/f26/bcm283x-vc4-fixes.patch
+++ /dev/null
@@ -1,1803 +0,0 @@
-From d74617cb4aebe5a4cb3eeda3070053ccfc36a0ae Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 25 Jul 2017 09:27:32 -0700
-Subject: [PATCH 1/6] drm/vc4: Demote user-accessible DRM_ERROR paths to
- DRM_DEBUG.
-
-Userspace shouldn't be able to spam dmesg by passing bad arguments.
-This has particularly become an issues since we started using a bad
-argument to set_tiling to detect if set_tiling was supported.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Fixes: 83753117f1de ("drm/vc4: Add get/set tiling ioctls.")
-Link: https://patchwork.freedesktop.org/patch/msgid/20170725162733.28007-1-eric@anholt.net
-Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
----
- drivers/gpu/drm/vc4/vc4_bo.c | 14 +++---
- drivers/gpu/drm/vc4/vc4_gem.c | 10 ++--
- drivers/gpu/drm/vc4/vc4_kms.c | 2 +-
- drivers/gpu/drm/vc4/vc4_render_cl.c | 40 +++++++--------
- drivers/gpu/drm/vc4/vc4_validate.c | 78 +++++++++++++++---------------
- drivers/gpu/drm/vc4/vc4_validate_shaders.c | 72 +++++++++++++--------------
- 6 files changed, 108 insertions(+), 108 deletions(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
-index 487f96412d35..ede80199001d 100644
---- a/drivers/gpu/drm/vc4/vc4_bo.c
-+++ b/drivers/gpu/drm/vc4/vc4_bo.c
-@@ -389,7 +389,7 @@ vc4_prime_export(struct drm_device *dev, struct drm_gem_object *obj, int flags)
- struct vc4_bo *bo = to_vc4_bo(obj);
-
- if (bo->validated_shader) {
-- DRM_ERROR("Attempting to export shader BO\n");
-+ DRM_DEBUG("Attempting to export shader BO\n");
- return ERR_PTR(-EINVAL);
- }
-
-@@ -410,7 +410,7 @@ int vc4_mmap(struct file *filp, struct vm_area_struct *vma)
- bo = to_vc4_bo(gem_obj);
-
- if (bo->validated_shader && (vma->vm_flags & VM_WRITE)) {
-- DRM_ERROR("mmaping of shader BOs for writing not allowed.\n");
-+ DRM_DEBUG("mmaping of shader BOs for writing not allowed.\n");
- return -EINVAL;
- }
-
-@@ -435,7 +435,7 @@ int vc4_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
- struct vc4_bo *bo = to_vc4_bo(obj);
-
- if (bo->validated_shader && (vma->vm_flags & VM_WRITE)) {
-- DRM_ERROR("mmaping of shader BOs for writing not allowed.\n");
-+ DRM_DEBUG("mmaping of shader BOs for writing not allowed.\n");
- return -EINVAL;
- }
-
-@@ -447,7 +447,7 @@ void *vc4_prime_vmap(struct drm_gem_object *obj)
- struct vc4_bo *bo = to_vc4_bo(obj);
-
- if (bo->validated_shader) {
-- DRM_ERROR("mmaping of shader BOs not allowed.\n");
-+ DRM_DEBUG("mmaping of shader BOs not allowed.\n");
- return ERR_PTR(-EINVAL);
- }
-
-@@ -501,7 +501,7 @@ int vc4_mmap_bo_ioctl(struct drm_device *dev, void *data,
-
- gem_obj = drm_gem_object_lookup(file_priv, args->handle);
- if (!gem_obj) {
-- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle);
-+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle);
- return -EINVAL;
- }
-
-@@ -605,7 +605,7 @@ int vc4_set_tiling_ioctl(struct drm_device *dev, void *data,
-
- gem_obj = drm_gem_object_lookup(file_priv, args->handle);
- if (!gem_obj) {
-- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle);
-+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle);
- return -ENOENT;
- }
- bo = to_vc4_bo(gem_obj);
-@@ -636,7 +636,7 @@ int vc4_get_tiling_ioctl(struct drm_device *dev, void *data,
-
- gem_obj = drm_gem_object_lookup(file_priv, args->handle);
- if (!gem_obj) {
-- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle);
-+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle);
- return -ENOENT;
- }
- bo = to_vc4_bo(gem_obj);
-diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
-index d5b821ad06af..a3e45e67f417 100644
---- a/drivers/gpu/drm/vc4/vc4_gem.c
-+++ b/drivers/gpu/drm/vc4/vc4_gem.c
-@@ -659,7 +659,7 @@ vc4_cl_lookup_bos(struct drm_device *dev,
- /* See comment on bo_index for why we have to check
- * this.
- */
-- DRM_ERROR("Rendering requires BOs to validate\n");
-+ DRM_DEBUG("Rendering requires BOs to validate\n");
- return -EINVAL;
- }
-
-@@ -691,7 +691,7 @@ vc4_cl_lookup_bos(struct drm_device *dev,
- struct drm_gem_object *bo = idr_find(&file_priv->object_idr,
- handles[i]);
- if (!bo) {
-- DRM_ERROR("Failed to look up GEM BO %d: %d\n",
-+ DRM_DEBUG("Failed to look up GEM BO %d: %d\n",
- i, handles[i]);
- ret = -EINVAL;
- spin_unlock(&file_priv->table_lock);
-@@ -729,7 +729,7 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec)
- args->shader_rec_count >= (UINT_MAX /
- sizeof(struct vc4_shader_state)) ||
- temp_size < exec_size) {
-- DRM_ERROR("overflow in exec arguments\n");
-+ DRM_DEBUG("overflow in exec arguments\n");
- ret = -EINVAL;
- goto fail;
- }
-@@ -974,7 +974,7 @@ vc4_wait_bo_ioctl(struct drm_device *dev, void *data,
-
- gem_obj = drm_gem_object_lookup(file_priv, args->handle);
- if (!gem_obj) {
-- DRM_ERROR("Failed to look up GEM BO %d\n", args->handle);
-+ DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle);
- return -EINVAL;
- }
- bo = to_vc4_bo(gem_obj);
-@@ -1009,7 +1009,7 @@ vc4_submit_cl_ioctl(struct drm_device *dev, void *data,
- int ret = 0;
-
- if ((args->flags & ~VC4_SUBMIT_CL_USE_CLEAR_COLOR) != 0) {
-- DRM_ERROR("Unknown flags: 0x%02x\n", args->flags);
-+ DRM_DEBUG("Unknown flags: 0x%02x\n", args->flags);
- return -EINVAL;
- }
-
-diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
-index bc6ecdc6f104..b2c55eb09ca3 100644
---- a/drivers/gpu/drm/vc4/vc4_kms.c
-+++ b/drivers/gpu/drm/vc4/vc4_kms.c
-@@ -204,7 +204,7 @@ static struct drm_framebuffer *vc4_fb_create(struct drm_device *dev,
- gem_obj = drm_gem_object_lookup(file_priv,
- mode_cmd->handles[0]);
- if (!gem_obj) {
-- DRM_ERROR("Failed to look up GEM BO %d\n",
-+ DRM_DEBUG("Failed to look up GEM BO %d\n",
- mode_cmd->handles[0]);
- return ERR_PTR(-ENOENT);
- }
-diff --git a/drivers/gpu/drm/vc4/vc4_render_cl.c b/drivers/gpu/drm/vc4/vc4_render_cl.c
-index 5dc19429d4ae..da3bfd53f0bd 100644
---- a/drivers/gpu/drm/vc4/vc4_render_cl.c
-+++ b/drivers/gpu/drm/vc4/vc4_render_cl.c
-@@ -378,14 +378,14 @@ static int vc4_full_res_bounds_check(struct vc4_exec_info *exec,
- u32 render_tiles_stride = DIV_ROUND_UP(exec->args->width, 32);
-
- if (surf->offset > obj->base.size) {
-- DRM_ERROR("surface offset %d > BO size %zd\n",
-+ DRM_DEBUG("surface offset %d > BO size %zd\n",
- surf->offset, obj->base.size);
- return -EINVAL;
- }
-
- if ((obj->base.size - surf->offset) / VC4_TILE_BUFFER_SIZE <
- render_tiles_stride * args->max_y_tile + args->max_x_tile) {
-- DRM_ERROR("MSAA tile %d, %d out of bounds "
-+ DRM_DEBUG("MSAA tile %d, %d out of bounds "
- "(bo size %zd, offset %d).\n",
- args->max_x_tile, args->max_y_tile,
- obj->base.size,
-@@ -401,7 +401,7 @@ static int vc4_rcl_msaa_surface_setup(struct vc4_exec_info *exec,
- struct drm_vc4_submit_rcl_surface *surf)
- {
- if (surf->flags != 0 || surf->bits != 0) {
-- DRM_ERROR("MSAA surface had nonzero flags/bits\n");
-+ DRM_DEBUG("MSAA surface had nonzero flags/bits\n");
- return -EINVAL;
- }
-
-@@ -415,7 +415,7 @@ static int vc4_rcl_msaa_surface_setup(struct vc4_exec_info *exec,
- exec->rcl_write_bo[exec->rcl_write_bo_count++] = *obj;
-
- if (surf->offset & 0xf) {
-- DRM_ERROR("MSAA write must be 16b aligned.\n");
-+ DRM_DEBUG("MSAA write must be 16b aligned.\n");
- return -EINVAL;
- }
-
-@@ -437,7 +437,7 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec,
- int ret;
-
- if (surf->flags & ~VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) {
-- DRM_ERROR("Extra flags set\n");
-+ DRM_DEBUG("Extra flags set\n");
- return -EINVAL;
- }
-
-@@ -453,12 +453,12 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec,
-
- if (surf->flags & VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES) {
- if (surf == &exec->args->zs_write) {
-- DRM_ERROR("general zs write may not be a full-res.\n");
-+ DRM_DEBUG("general zs write may not be a full-res.\n");
- return -EINVAL;
- }
-
- if (surf->bits != 0) {
-- DRM_ERROR("load/store general bits set with "
-+ DRM_DEBUG("load/store general bits set with "
- "full res load/store.\n");
- return -EINVAL;
- }
-@@ -473,19 +473,19 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec,
- if (surf->bits & ~(VC4_LOADSTORE_TILE_BUFFER_TILING_MASK |
- VC4_LOADSTORE_TILE_BUFFER_BUFFER_MASK |
- VC4_LOADSTORE_TILE_BUFFER_FORMAT_MASK)) {
-- DRM_ERROR("Unknown bits in load/store: 0x%04x\n",
-+ DRM_DEBUG("Unknown bits in load/store: 0x%04x\n",
- surf->bits);
- return -EINVAL;
- }
-
- if (tiling > VC4_TILING_FORMAT_LT) {
-- DRM_ERROR("Bad tiling format\n");
-+ DRM_DEBUG("Bad tiling format\n");
- return -EINVAL;
- }
-
- if (buffer == VC4_LOADSTORE_TILE_BUFFER_ZS) {
- if (format != 0) {
-- DRM_ERROR("No color format should be set for ZS\n");
-+ DRM_DEBUG("No color format should be set for ZS\n");
- return -EINVAL;
- }
- cpp = 4;
-@@ -499,16 +499,16 @@ static int vc4_rcl_surface_setup(struct vc4_exec_info *exec,
- cpp = 4;
- break;
- default:
-- DRM_ERROR("Bad tile buffer format\n");
-+ DRM_DEBUG("Bad tile buffer format\n");
- return -EINVAL;
- }
- } else {
-- DRM_ERROR("Bad load/store buffer %d.\n", buffer);
-+ DRM_DEBUG("Bad load/store buffer %d.\n", buffer);
- return -EINVAL;
- }
-
- if (surf->offset & 0xf) {
-- DRM_ERROR("load/store buffer must be 16b aligned.\n");
-+ DRM_DEBUG("load/store buffer must be 16b aligned.\n");
- return -EINVAL;
- }
-
-@@ -533,7 +533,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec,
- int cpp;
-
- if (surf->flags != 0) {
-- DRM_ERROR("No flags supported on render config.\n");
-+ DRM_DEBUG("No flags supported on render config.\n");
- return -EINVAL;
- }
-
-@@ -541,7 +541,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec,
- VC4_RENDER_CONFIG_FORMAT_MASK |
- VC4_RENDER_CONFIG_MS_MODE_4X |
- VC4_RENDER_CONFIG_DECIMATE_MODE_4X)) {
-- DRM_ERROR("Unknown bits in render config: 0x%04x\n",
-+ DRM_DEBUG("Unknown bits in render config: 0x%04x\n",
- surf->bits);
- return -EINVAL;
- }
-@@ -556,7 +556,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec,
- exec->rcl_write_bo[exec->rcl_write_bo_count++] = *obj;
-
- if (tiling > VC4_TILING_FORMAT_LT) {
-- DRM_ERROR("Bad tiling format\n");
-+ DRM_DEBUG("Bad tiling format\n");
- return -EINVAL;
- }
-
-@@ -569,7 +569,7 @@ vc4_rcl_render_config_surface_setup(struct vc4_exec_info *exec,
- cpp = 4;
- break;
- default:
-- DRM_ERROR("Bad tile buffer format\n");
-+ DRM_DEBUG("Bad tile buffer format\n");
- return -EINVAL;
- }
-
-@@ -590,7 +590,7 @@ int vc4_get_rcl(struct drm_device *dev, struct vc4_exec_info *exec)
-
- if (args->min_x_tile > args->max_x_tile ||
- args->min_y_tile > args->max_y_tile) {
-- DRM_ERROR("Bad render tile set (%d,%d)-(%d,%d)\n",
-+ DRM_DEBUG("Bad render tile set (%d,%d)-(%d,%d)\n",
- args->min_x_tile, args->min_y_tile,
- args->max_x_tile, args->max_y_tile);
- return -EINVAL;
-@@ -599,7 +599,7 @@ int vc4_get_rcl(struct drm_device *dev, struct vc4_exec_info *exec)
- if (has_bin &&
- (args->max_x_tile > exec->bin_tiles_x ||
- args->max_y_tile > exec->bin_tiles_y)) {
-- DRM_ERROR("Render tiles (%d,%d) outside of bin config "
-+ DRM_DEBUG("Render tiles (%d,%d) outside of bin config "
- "(%d,%d)\n",
- args->max_x_tile, args->max_y_tile,
- exec->bin_tiles_x, exec->bin_tiles_y);
-@@ -642,7 +642,7 @@ int vc4_get_rcl(struct drm_device *dev, struct vc4_exec_info *exec)
- */
- if (!setup.color_write && !setup.zs_write &&
- !setup.msaa_color_write && !setup.msaa_zs_write) {
-- DRM_ERROR("RCL requires color or Z/S write\n");
-+ DRM_DEBUG("RCL requires color or Z/S write\n");
- return -EINVAL;
- }
-
-diff --git a/drivers/gpu/drm/vc4/vc4_validate.c b/drivers/gpu/drm/vc4/vc4_validate.c
-index 814b512c6b9a..2db485abb186 100644
---- a/drivers/gpu/drm/vc4/vc4_validate.c
-+++ b/drivers/gpu/drm/vc4/vc4_validate.c
-@@ -109,7 +109,7 @@ vc4_use_bo(struct vc4_exec_info *exec, uint32_t hindex)
- struct vc4_bo *bo;
-
- if (hindex >= exec->bo_count) {
-- DRM_ERROR("BO index %d greater than BO count %d\n",
-+ DRM_DEBUG("BO index %d greater than BO count %d\n",
- hindex, exec->bo_count);
- return NULL;
- }
-@@ -117,7 +117,7 @@ vc4_use_bo(struct vc4_exec_info *exec, uint32_t hindex)
- bo = to_vc4_bo(&obj->base);
-
- if (bo->validated_shader) {
-- DRM_ERROR("Trying to use shader BO as something other than "
-+ DRM_DEBUG("Trying to use shader BO as something other than "
- "a shader\n");
- return NULL;
- }
-@@ -172,7 +172,7 @@ vc4_check_tex_size(struct vc4_exec_info *exec, struct drm_gem_cma_object *fbo,
- * our math.
- */
- if (width > 4096 || height > 4096) {
-- DRM_ERROR("Surface dimensions (%d,%d) too large",
-+ DRM_DEBUG("Surface dimensions (%d,%d) too large",
- width, height);
- return false;
- }
-@@ -191,7 +191,7 @@ vc4_check_tex_size(struct vc4_exec_info *exec, struct drm_gem_cma_object *fbo,
- aligned_height = round_up(height, utile_h);
- break;
- default:
-- DRM_ERROR("buffer tiling %d unsupported\n", tiling_format);
-+ DRM_DEBUG("buffer tiling %d unsupported\n", tiling_format);
- return false;
- }
-
-@@ -200,7 +200,7 @@ vc4_check_tex_size(struct vc4_exec_info *exec, struct drm_gem_cma_object *fbo,
-
- if (size + offset < size ||
- size + offset > fbo->base.size) {
-- DRM_ERROR("Overflow in %dx%d (%dx%d) fbo size (%d + %d > %zd)\n",
-+ DRM_DEBUG("Overflow in %dx%d (%dx%d) fbo size (%d + %d > %zd)\n",
- width, height,
- aligned_width, aligned_height,
- size, offset, fbo->base.size);
-@@ -214,7 +214,7 @@ static int
- validate_flush(VALIDATE_ARGS)
- {
- if (!validate_bin_pos(exec, untrusted, exec->args->bin_cl_size - 1)) {
-- DRM_ERROR("Bin CL must end with VC4_PACKET_FLUSH\n");
-+ DRM_DEBUG("Bin CL must end with VC4_PACKET_FLUSH\n");
- return -EINVAL;
- }
- exec->found_flush = true;
-@@ -226,13 +226,13 @@ static int
- validate_start_tile_binning(VALIDATE_ARGS)
- {
- if (exec->found_start_tile_binning_packet) {
-- DRM_ERROR("Duplicate VC4_PACKET_START_TILE_BINNING\n");
-+ DRM_DEBUG("Duplicate VC4_PACKET_START_TILE_BINNING\n");
- return -EINVAL;
- }
- exec->found_start_tile_binning_packet = true;
-
- if (!exec->found_tile_binning_mode_config_packet) {
-- DRM_ERROR("missing VC4_PACKET_TILE_BINNING_MODE_CONFIG\n");
-+ DRM_DEBUG("missing VC4_PACKET_TILE_BINNING_MODE_CONFIG\n");
- return -EINVAL;
- }
-
-@@ -243,7 +243,7 @@ static int
- validate_increment_semaphore(VALIDATE_ARGS)
- {
- if (!validate_bin_pos(exec, untrusted, exec->args->bin_cl_size - 2)) {
-- DRM_ERROR("Bin CL must end with "
-+ DRM_DEBUG("Bin CL must end with "
- "VC4_PACKET_INCREMENT_SEMAPHORE\n");
- return -EINVAL;
- }
-@@ -264,7 +264,7 @@ validate_indexed_prim_list(VALIDATE_ARGS)
-
- /* Check overflow condition */
- if (exec->shader_state_count == 0) {
-- DRM_ERROR("shader state must precede primitives\n");
-+ DRM_DEBUG("shader state must precede primitives\n");
- return -EINVAL;
- }
- shader_state = &exec->shader_state[exec->shader_state_count - 1];
-@@ -281,7 +281,7 @@ validate_indexed_prim_list(VALIDATE_ARGS)
-
- if (offset > ib->base.size ||
- (ib->base.size - offset) / index_size < length) {
-- DRM_ERROR("IB access overflow (%d + %d*%d > %zd)\n",
-+ DRM_DEBUG("IB access overflow (%d + %d*%d > %zd)\n",
- offset, length, index_size, ib->base.size);
- return -EINVAL;
- }
-@@ -301,13 +301,13 @@ validate_gl_array_primitive(VALIDATE_ARGS)
-
- /* Check overflow condition */
- if (exec->shader_state_count == 0) {
-- DRM_ERROR("shader state must precede primitives\n");
-+ DRM_DEBUG("shader state must precede primitives\n");
- return -EINVAL;
- }
- shader_state = &exec->shader_state[exec->shader_state_count - 1];
-
- if (length + base_index < length) {
-- DRM_ERROR("primitive vertex count overflow\n");
-+ DRM_DEBUG("primitive vertex count overflow\n");
- return -EINVAL;
- }
- max_index = length + base_index - 1;
-@@ -324,7 +324,7 @@ validate_gl_shader_state(VALIDATE_ARGS)
- uint32_t i = exec->shader_state_count++;
-
- if (i >= exec->shader_state_size) {
-- DRM_ERROR("More requests for shader states than declared\n");
-+ DRM_DEBUG("More requests for shader states than declared\n");
- return -EINVAL;
- }
-
-@@ -332,7 +332,7 @@ validate_gl_shader_state(VALIDATE_ARGS)
- exec->shader_state[i].max_index = 0;
-
- if (exec->shader_state[i].addr & ~0xf) {
-- DRM_ERROR("high bits set in GL shader rec reference\n");
-+ DRM_DEBUG("high bits set in GL shader rec reference\n");
- return -EINVAL;
- }
-
-@@ -356,7 +356,7 @@ validate_tile_binning_config(VALIDATE_ARGS)
- int bin_slot;
-
- if (exec->found_tile_binning_mode_config_packet) {
-- DRM_ERROR("Duplicate VC4_PACKET_TILE_BINNING_MODE_CONFIG\n");
-+ DRM_DEBUG("Duplicate VC4_PACKET_TILE_BINNING_MODE_CONFIG\n");
- return -EINVAL;
- }
- exec->found_tile_binning_mode_config_packet = true;
-@@ -368,14 +368,14 @@ validate_tile_binning_config(VALIDATE_ARGS)
-
- if (exec->bin_tiles_x == 0 ||
- exec->bin_tiles_y == 0) {
-- DRM_ERROR("Tile binning config of %dx%d too small\n",
-+ DRM_DEBUG("Tile binning config of %dx%d too small\n",
- exec->bin_tiles_x, exec->bin_tiles_y);
- return -EINVAL;
- }
-
- if (flags & (VC4_BIN_CONFIG_DB_NON_MS |
- VC4_BIN_CONFIG_TILE_BUFFER_64BIT)) {
-- DRM_ERROR("unsupported binning config flags 0x%02x\n", flags);
-+ DRM_DEBUG("unsupported binning config flags 0x%02x\n", flags);
- return -EINVAL;
- }
-
-@@ -493,20 +493,20 @@ vc4_validate_bin_cl(struct drm_device *dev,
- const struct cmd_info *info;
-
- if (cmd >= ARRAY_SIZE(cmd_info)) {
-- DRM_ERROR("0x%08x: packet %d out of bounds\n",
-+ DRM_DEBUG("0x%08x: packet %d out of bounds\n",
- src_offset, cmd);
- return -EINVAL;
- }
-
- info = &cmd_info[cmd];
- if (!info->name) {
-- DRM_ERROR("0x%08x: packet %d invalid\n",
-+ DRM_DEBUG("0x%08x: packet %d invalid\n",
- src_offset, cmd);
- return -EINVAL;
- }
-
- if (src_offset + info->len > len) {
-- DRM_ERROR("0x%08x: packet %d (%s) length 0x%08x "
-+ DRM_DEBUG("0x%08x: packet %d (%s) length 0x%08x "
- "exceeds bounds (0x%08x)\n",
- src_offset, cmd, info->name, info->len,
- src_offset + len);
-@@ -519,7 +519,7 @@ vc4_validate_bin_cl(struct drm_device *dev,
- if (info->func && info->func(exec,
- dst_pkt + 1,
- src_pkt + 1)) {
-- DRM_ERROR("0x%08x: packet %d (%s) failed to validate\n",
-+ DRM_DEBUG("0x%08x: packet %d (%s) failed to validate\n",
- src_offset, cmd, info->name);
- return -EINVAL;
- }
-@@ -537,7 +537,7 @@ vc4_validate_bin_cl(struct drm_device *dev,
- exec->ct0ea = exec->ct0ca + dst_offset;
-
- if (!exec->found_start_tile_binning_packet) {
-- DRM_ERROR("Bin CL missing VC4_PACKET_START_TILE_BINNING\n");
-+ DRM_DEBUG("Bin CL missing VC4_PACKET_START_TILE_BINNING\n");
- return -EINVAL;
- }
-
-@@ -549,7 +549,7 @@ vc4_validate_bin_cl(struct drm_device *dev,
- * semaphore increment.
- */
- if (!exec->found_increment_semaphore_packet || !exec->found_flush) {
-- DRM_ERROR("Bin CL missing VC4_PACKET_INCREMENT_SEMAPHORE + "
-+ DRM_DEBUG("Bin CL missing VC4_PACKET_INCREMENT_SEMAPHORE + "
- "VC4_PACKET_FLUSH\n");
- return -EINVAL;
- }
-@@ -588,11 +588,11 @@ reloc_tex(struct vc4_exec_info *exec,
- uint32_t remaining_size = tex->base.size - p0;
-
- if (p0 > tex->base.size - 4) {
-- DRM_ERROR("UBO offset greater than UBO size\n");
-+ DRM_DEBUG("UBO offset greater than UBO size\n");
- goto fail;
- }
- if (p1 > remaining_size - 4) {
-- DRM_ERROR("UBO clamp would allow reads "
-+ DRM_DEBUG("UBO clamp would allow reads "
- "outside of UBO\n");
- goto fail;
- }
-@@ -612,14 +612,14 @@ reloc_tex(struct vc4_exec_info *exec,
- if (VC4_GET_FIELD(p3, VC4_TEX_P2_PTYPE) ==
- VC4_TEX_P2_PTYPE_CUBE_MAP_STRIDE) {
- if (cube_map_stride) {
-- DRM_ERROR("Cube map stride set twice\n");
-+ DRM_DEBUG("Cube map stride set twice\n");
- goto fail;
- }
-
- cube_map_stride = p3 & VC4_TEX_P2_CMST_MASK;
- }
- if (!cube_map_stride) {
-- DRM_ERROR("Cube map stride not set\n");
-+ DRM_DEBUG("Cube map stride not set\n");
- goto fail;
- }
- }
-@@ -660,7 +660,7 @@ reloc_tex(struct vc4_exec_info *exec,
- case VC4_TEXTURE_TYPE_RGBA64:
- case VC4_TEXTURE_TYPE_YUV422R:
- default:
-- DRM_ERROR("Texture format %d unsupported\n", type);
-+ DRM_DEBUG("Texture format %d unsupported\n", type);
- goto fail;
- }
- utile_w = utile_width(cpp);
-@@ -713,7 +713,7 @@ reloc_tex(struct vc4_exec_info *exec,
- level_size = aligned_width * cpp * aligned_height;
-
- if (offset < level_size) {
-- DRM_ERROR("Level %d (%dx%d -> %dx%d) size %db "
-+ DRM_DEBUG("Level %d (%dx%d -> %dx%d) size %db "
- "overflowed buffer bounds (offset %d)\n",
- i, level_width, level_height,
- aligned_width, aligned_height,
-@@ -764,7 +764,7 @@ validate_gl_shader_rec(struct drm_device *dev,
-
- nr_relocs = ARRAY_SIZE(shader_reloc_offsets) + nr_attributes;
- if (nr_relocs * 4 > exec->shader_rec_size) {
-- DRM_ERROR("overflowed shader recs reading %d handles "
-+ DRM_DEBUG("overflowed shader recs reading %d handles "
- "from %d bytes left\n",
- nr_relocs, exec->shader_rec_size);
- return -EINVAL;
-@@ -774,7 +774,7 @@ validate_gl_shader_rec(struct drm_device *dev,
- exec->shader_rec_size -= nr_relocs * 4;
-
- if (packet_size > exec->shader_rec_size) {
-- DRM_ERROR("overflowed shader recs copying %db packet "
-+ DRM_DEBUG("overflowed shader recs copying %db packet "
- "from %d bytes left\n",
- packet_size, exec->shader_rec_size);
- return -EINVAL;
-@@ -794,7 +794,7 @@ validate_gl_shader_rec(struct drm_device *dev,
-
- for (i = 0; i < shader_reloc_count; i++) {
- if (src_handles[i] > exec->bo_count) {
-- DRM_ERROR("Shader handle %d too big\n", src_handles[i]);
-+ DRM_DEBUG("Shader handle %d too big\n", src_handles[i]);
- return -EINVAL;
- }
-
-@@ -810,13 +810,13 @@ validate_gl_shader_rec(struct drm_device *dev,
-
- if (((*(uint16_t *)pkt_u & VC4_SHADER_FLAG_FS_SINGLE_THREAD) == 0) !=
- to_vc4_bo(&bo[0]->base)->validated_shader->is_threaded) {
-- DRM_ERROR("Thread mode of CL and FS do not match\n");
-+ DRM_DEBUG("Thread mode of CL and FS do not match\n");
- return -EINVAL;
- }
-
- if (to_vc4_bo(&bo[1]->base)->validated_shader->is_threaded ||
- to_vc4_bo(&bo[2]->base)->validated_shader->is_threaded) {
-- DRM_ERROR("cs and vs cannot be threaded\n");
-+ DRM_DEBUG("cs and vs cannot be threaded\n");
- return -EINVAL;
- }
-
-@@ -831,7 +831,7 @@ validate_gl_shader_rec(struct drm_device *dev,
- *(uint32_t *)(pkt_v + o) = bo[i]->paddr + src_offset;
-
- if (src_offset != 0) {
-- DRM_ERROR("Shaders must be at offset 0 of "
-+ DRM_DEBUG("Shaders must be at offset 0 of "
- "the BO.\n");
- return -EINVAL;
- }
-@@ -842,7 +842,7 @@ validate_gl_shader_rec(struct drm_device *dev,
-
- if (validated_shader->uniforms_src_size >
- exec->uniforms_size) {
-- DRM_ERROR("Uniforms src buffer overflow\n");
-+ DRM_DEBUG("Uniforms src buffer overflow\n");
- return -EINVAL;
- }
-
-@@ -900,7 +900,7 @@ validate_gl_shader_rec(struct drm_device *dev,
-
- if (vbo->base.size < offset ||
- vbo->base.size - offset < attr_size) {
-- DRM_ERROR("BO offset overflow (%d + %d > %zu)\n",
-+ DRM_DEBUG("BO offset overflow (%d + %d > %zu)\n",
- offset, attr_size, vbo->base.size);
- return -EINVAL;
- }
-@@ -909,7 +909,7 @@ validate_gl_shader_rec(struct drm_device *dev,
- max_index = ((vbo->base.size - offset - attr_size) /
- stride);
- if (state->max_index > max_index) {
-- DRM_ERROR("primitives use index %d out of "
-+ DRM_DEBUG("primitives use index %d out of "
- "supplied %d\n",
- state->max_index, max_index);
- return -EINVAL;
-diff --git a/drivers/gpu/drm/vc4/vc4_validate_shaders.c b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
-index 0b2df5c6efb4..d3f15bf60900 100644
---- a/drivers/gpu/drm/vc4/vc4_validate_shaders.c
-+++ b/drivers/gpu/drm/vc4/vc4_validate_shaders.c
-@@ -200,7 +200,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader,
- uint32_t clamp_reg, clamp_offset;
-
- if (sig == QPU_SIG_SMALL_IMM) {
-- DRM_ERROR("direct TMU read used small immediate\n");
-+ DRM_DEBUG("direct TMU read used small immediate\n");
- return false;
- }
-
-@@ -209,7 +209,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader,
- */
- if (is_mul ||
- QPU_GET_FIELD(inst, QPU_OP_ADD) != QPU_A_ADD) {
-- DRM_ERROR("direct TMU load wasn't an add\n");
-+ DRM_DEBUG("direct TMU load wasn't an add\n");
- return false;
- }
-
-@@ -220,13 +220,13 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader,
- */
- clamp_reg = raddr_add_a_to_live_reg_index(inst);
- if (clamp_reg == ~0) {
-- DRM_ERROR("direct TMU load wasn't clamped\n");
-+ DRM_DEBUG("direct TMU load wasn't clamped\n");
- return false;
- }
-
- clamp_offset = validation_state->live_min_clamp_offsets[clamp_reg];
- if (clamp_offset == ~0) {
-- DRM_ERROR("direct TMU load wasn't clamped\n");
-+ DRM_DEBUG("direct TMU load wasn't clamped\n");
- return false;
- }
-
-@@ -238,7 +238,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader,
-
- if (!(add_b == QPU_MUX_A && raddr_a == QPU_R_UNIF) &&
- !(add_b == QPU_MUX_B && raddr_b == QPU_R_UNIF)) {
-- DRM_ERROR("direct TMU load didn't add to a uniform\n");
-+ DRM_DEBUG("direct TMU load didn't add to a uniform\n");
- return false;
- }
-
-@@ -246,14 +246,14 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader,
- } else {
- if (raddr_a == QPU_R_UNIF || (sig != QPU_SIG_SMALL_IMM &&
- raddr_b == QPU_R_UNIF)) {
-- DRM_ERROR("uniform read in the same instruction as "
-+ DRM_DEBUG("uniform read in the same instruction as "
- "texture setup.\n");
- return false;
- }
- }
-
- if (validation_state->tmu_write_count[tmu] >= 4) {
-- DRM_ERROR("TMU%d got too many parameters before dispatch\n",
-+ DRM_DEBUG("TMU%d got too many parameters before dispatch\n",
- tmu);
- return false;
- }
-@@ -265,7 +265,7 @@ check_tmu_write(struct vc4_validated_shader_info *validated_shader,
- */
- if (!is_direct) {
- if (validation_state->needs_uniform_address_update) {
-- DRM_ERROR("Texturing with undefined uniform address\n");
-+ DRM_DEBUG("Texturing with undefined uniform address\n");
- return false;
- }
-
-@@ -336,35 +336,35 @@ validate_uniform_address_write(struct vc4_validated_shader_info *validated_shade
- case QPU_SIG_LOAD_TMU1:
- break;
- default:
-- DRM_ERROR("uniforms address change must be "
-+ DRM_DEBUG("uniforms address change must be "
- "normal math\n");
- return false;
- }
-
- if (is_mul || QPU_GET_FIELD(inst, QPU_OP_ADD) != QPU_A_ADD) {
-- DRM_ERROR("Uniform address reset must be an ADD.\n");
-+ DRM_DEBUG("Uniform address reset must be an ADD.\n");
- return false;
- }
-
- if (QPU_GET_FIELD(inst, QPU_COND_ADD) != QPU_COND_ALWAYS) {
-- DRM_ERROR("Uniform address reset must be unconditional.\n");
-+ DRM_DEBUG("Uniform address reset must be unconditional.\n");
- return false;
- }
-
- if (QPU_GET_FIELD(inst, QPU_PACK) != QPU_PACK_A_NOP &&
- !(inst & QPU_PM)) {
-- DRM_ERROR("No packing allowed on uniforms reset\n");
-+ DRM_DEBUG("No packing allowed on uniforms reset\n");
- return false;
- }
-
- if (add_lri == -1) {
-- DRM_ERROR("First argument of uniform address write must be "
-+ DRM_DEBUG("First argument of uniform address write must be "
- "an immediate value.\n");
- return false;
- }
-
- if (validation_state->live_immediates[add_lri] != expected_offset) {
-- DRM_ERROR("Resetting uniforms with offset %db instead of %db\n",
-+ DRM_DEBUG("Resetting uniforms with offset %db instead of %db\n",
- validation_state->live_immediates[add_lri],
- expected_offset);
- return false;
-@@ -372,7 +372,7 @@ validate_uniform_address_write(struct vc4_validated_shader_info *validated_shade
-
- if (!(add_b == QPU_MUX_A && raddr_a == QPU_R_UNIF) &&
- !(add_b == QPU_MUX_B && raddr_b == QPU_R_UNIF)) {
-- DRM_ERROR("Second argument of uniform address write must be "
-+ DRM_DEBUG("Second argument of uniform address write must be "
- "a uniform.\n");
- return false;
- }
-@@ -417,7 +417,7 @@ check_reg_write(struct vc4_validated_shader_info *validated_shader,
- switch (waddr) {
- case QPU_W_UNIFORMS_ADDRESS:
- if (is_b) {
-- DRM_ERROR("relative uniforms address change "
-+ DRM_DEBUG("relative uniforms address change "
- "unsupported\n");
- return false;
- }
-@@ -452,11 +452,11 @@ check_reg_write(struct vc4_validated_shader_info *validated_shader,
- /* XXX: I haven't thought about these, so don't support them
- * for now.
- */
-- DRM_ERROR("Unsupported waddr %d\n", waddr);
-+ DRM_DEBUG("Unsupported waddr %d\n", waddr);
- return false;
-
- case QPU_W_VPM_ADDR:
-- DRM_ERROR("General VPM DMA unsupported\n");
-+ DRM_DEBUG("General VPM DMA unsupported\n");
- return false;
-
- case QPU_W_VPM:
-@@ -559,7 +559,7 @@ check_instruction_writes(struct vc4_validated_shader_info *validated_shader,
- bool ok;
-
- if (is_tmu_write(waddr_add) && is_tmu_write(waddr_mul)) {
-- DRM_ERROR("ADD and MUL both set up textures\n");
-+ DRM_DEBUG("ADD and MUL both set up textures\n");
- return false;
- }
-
-@@ -588,7 +588,7 @@ check_branch(uint64_t inst,
- * there's no need for it.
- */
- if (waddr_add != QPU_W_NOP || waddr_mul != QPU_W_NOP) {
-- DRM_ERROR("branch instruction at %d wrote a register.\n",
-+ DRM_DEBUG("branch instruction at %d wrote a register.\n",
- validation_state->ip);
- return false;
- }
-@@ -614,7 +614,7 @@ check_instruction_reads(struct vc4_validated_shader_info *validated_shader,
- validated_shader->uniforms_size += 4;
-
- if (validation_state->needs_uniform_address_update) {
-- DRM_ERROR("Uniform read with undefined uniform "
-+ DRM_DEBUG("Uniform read with undefined uniform "
- "address\n");
- return false;
- }
-@@ -660,19 +660,19 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state)
- continue;
-
- if (ip - last_branch < 4) {
-- DRM_ERROR("Branch at %d during delay slots\n", ip);
-+ DRM_DEBUG("Branch at %d during delay slots\n", ip);
- return false;
- }
- last_branch = ip;
-
- if (inst & QPU_BRANCH_REG) {
-- DRM_ERROR("branching from register relative "
-+ DRM_DEBUG("branching from register relative "
- "not supported\n");
- return false;
- }
-
- if (!(inst & QPU_BRANCH_REL)) {
-- DRM_ERROR("relative branching required\n");
-+ DRM_DEBUG("relative branching required\n");
- return false;
- }
-
-@@ -682,13 +682,13 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state)
- * end of the shader object.
- */
- if (branch_imm % sizeof(inst) != 0) {
-- DRM_ERROR("branch target not aligned\n");
-+ DRM_DEBUG("branch target not aligned\n");
- return false;
- }
-
- branch_target_ip = after_delay_ip + (branch_imm >> 3);
- if (branch_target_ip >= validation_state->max_ip) {
-- DRM_ERROR("Branch at %d outside of shader (ip %d/%d)\n",
-+ DRM_DEBUG("Branch at %d outside of shader (ip %d/%d)\n",
- ip, branch_target_ip,
- validation_state->max_ip);
- return false;
-@@ -699,7 +699,7 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state)
- * the shader.
- */
- if (after_delay_ip >= validation_state->max_ip) {
-- DRM_ERROR("Branch at %d continues past shader end "
-+ DRM_DEBUG("Branch at %d continues past shader end "
- "(%d/%d)\n",
- ip, after_delay_ip, validation_state->max_ip);
- return false;
-@@ -709,7 +709,7 @@ vc4_validate_branches(struct vc4_shader_validation_state *validation_state)
- }
-
- if (max_branch_target > validation_state->max_ip - 3) {
-- DRM_ERROR("Branch landed after QPU_SIG_PROG_END");
-+ DRM_DEBUG("Branch landed after QPU_SIG_PROG_END");
- return false;
- }
-
-@@ -750,7 +750,7 @@ vc4_handle_branch_target(struct vc4_shader_validation_state *validation_state)
- return true;
-
- if (texturing_in_progress(validation_state)) {
-- DRM_ERROR("Branch target landed during TMU setup\n");
-+ DRM_DEBUG("Branch target landed during TMU setup\n");
- return false;
- }
-
-@@ -837,7 +837,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj)
- case QPU_SIG_LAST_THREAD_SWITCH:
- if (!check_instruction_writes(validated_shader,
- &validation_state)) {
-- DRM_ERROR("Bad write at ip %d\n", ip);
-+ DRM_DEBUG("Bad write at ip %d\n", ip);
- goto fail;
- }
-
-@@ -855,7 +855,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj)
- validated_shader->is_threaded = true;
-
- if (ip < last_thread_switch_ip + 3) {
-- DRM_ERROR("Thread switch too soon after "
-+ DRM_DEBUG("Thread switch too soon after "
- "last switch at ip %d\n", ip);
- goto fail;
- }
-@@ -867,7 +867,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj)
- case QPU_SIG_LOAD_IMM:
- if (!check_instruction_writes(validated_shader,
- &validation_state)) {
-- DRM_ERROR("Bad LOAD_IMM write at ip %d\n", ip);
-+ DRM_DEBUG("Bad LOAD_IMM write at ip %d\n", ip);
- goto fail;
- }
- break;
-@@ -878,14 +878,14 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj)
- goto fail;
-
- if (ip < last_thread_switch_ip + 3) {
-- DRM_ERROR("Branch in thread switch at ip %d",
-+ DRM_DEBUG("Branch in thread switch at ip %d",
- ip);
- goto fail;
- }
-
- break;
- default:
-- DRM_ERROR("Unsupported QPU signal %d at "
-+ DRM_DEBUG("Unsupported QPU signal %d at "
- "instruction %d\n", sig, ip);
- goto fail;
- }
-@@ -898,7 +898,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj)
- }
-
- if (ip == validation_state.max_ip) {
-- DRM_ERROR("shader failed to terminate before "
-+ DRM_DEBUG("shader failed to terminate before "
- "shader BO end at %zd\n",
- shader_obj->base.size);
- goto fail;
-@@ -907,7 +907,7 @@ vc4_validate_shader(struct drm_gem_cma_object *shader_obj)
- /* Might corrupt other thread */
- if (validated_shader->is_threaded &&
- validation_state.all_registers_used) {
-- DRM_ERROR("Shader uses threading, but uses the upper "
-+ DRM_DEBUG("Shader uses threading, but uses the upper "
- "half of the registers, too\n");
- goto fail;
- }
---
-2.13.5
-
-From 28b369f5abc790f56e668869d88f261ca7a27c55 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 8 Aug 2017 13:56:05 -0700
-Subject: [PATCH 2/6] drm/vc4: Fix leak of HDMI EDID
-
-We don't keep a pointer to it around anywhere, so it's our job to free
-it.
-
-Cc: Stefan Wahren <stefan.wahren@i2se.com>
-Link: https://github.com/anholt/linux/issues/101
-Fixes: c8b75bca92cb ("drm/vc4: Add KMS support for Raspberry Pi.")
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Link: https://patchwork.freedesktop.org/patch/msgid/20170808205605.4432-1-eric@anholt.net
-Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- drivers/gpu/drm/vc4/vc4_hdmi.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
-index ed63d4e85762..f7803fd7f47c 100644
---- a/drivers/gpu/drm/vc4/vc4_hdmi.c
-+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -260,6 +260,7 @@ static int vc4_hdmi_connector_get_modes(struct drm_connector *connector)
- drm_mode_connector_update_edid_property(connector, edid);
- ret = drm_add_edid_modes(connector, edid);
- drm_edid_to_eld(connector, edid);
-+ kfree(edid);
-
- return ret;
- }
---
-2.13.5
-
-From 3b688b6d347f777a8e86165decc33198b063b8c0 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 25 Jul 2017 11:27:16 -0700
-Subject: [PATCH 3/6] drm/vc4: Start using u64_to_user_ptr.
-
-Chris Wilson pointed out this little cleanup in a review of new code,
-so let's fix up the code I was copying from.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-1-eric@anholt.net
-Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
----
- drivers/gpu/drm/vc4/vc4_gem.c | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
-index a3e45e67f417..8b551bc630c4 100644
---- a/drivers/gpu/drm/vc4/vc4_gem.c
-+++ b/drivers/gpu/drm/vc4/vc4_gem.c
-@@ -119,7 +119,7 @@ vc4_get_hang_state_ioctl(struct drm_device *dev, void *data,
- bo_state[i].size = vc4_bo->base.base.size;
- }
-
-- if (copy_to_user((void __user *)(uintptr_t)get_state->bo,
-+ if (copy_to_user(u64_to_user_ptr(get_state->bo),
- bo_state,
- state->bo_count * sizeof(*bo_state)))
- ret = -EFAULT;
-@@ -678,8 +678,7 @@ vc4_cl_lookup_bos(struct drm_device *dev,
- goto fail;
- }
-
-- if (copy_from_user(handles,
-- (void __user *)(uintptr_t)args->bo_handles,
-+ if (copy_from_user(handles, u64_to_user_ptr(args->bo_handles),
- exec->bo_count * sizeof(uint32_t))) {
- ret = -EFAULT;
- DRM_ERROR("Failed to copy in GEM handles\n");
-@@ -755,21 +754,21 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec)
- exec->shader_state_size = args->shader_rec_count;
-
- if (copy_from_user(bin,
-- (void __user *)(uintptr_t)args->bin_cl,
-+ u64_to_user_ptr(args->bin_cl),
- args->bin_cl_size)) {
- ret = -EFAULT;
- goto fail;
- }
-
- if (copy_from_user(exec->shader_rec_u,
-- (void __user *)(uintptr_t)args->shader_rec,
-+ u64_to_user_ptr(args->shader_rec),
- args->shader_rec_size)) {
- ret = -EFAULT;
- goto fail;
- }
-
- if (copy_from_user(exec->uniforms_u,
-- (void __user *)(uintptr_t)args->uniforms,
-+ u64_to_user_ptr(args->uniforms),
- args->uniforms_size)) {
- ret = -EFAULT;
- goto fail;
---
-2.13.5
-
-From da81d76bce216c160d2924a52e362b160bbb6ca1 Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Tue, 25 Jul 2017 11:27:17 -0700
-Subject: [PATCH 4/6] drm/vc4: Add an ioctl for labeling GEM BOs for summary
- stats
-
-This has proven immensely useful for debugging memory leaks and
-overallocation (which is a rather serious concern on the platform,
-given that we typically run at about 256MB of CMA out of up to 1GB
-total memory, with framebuffers that are about 8MB ecah).
-
-The state of the art without this is to dump debug logs from every GL
-application, guess as to kernel allocations based on bo_stats, and try
-to merge that all together into a global picture of memory allocation
-state. With this, you can add a couple of calls to the debug build of
-the 3D driver and get a pretty detailed view of GPU memory usage from
-/debug/dri/0/bo_stats (or when we debug print to dmesg on allocation
-failure).
-
-The Mesa side currently labels at the gallium resource level (so you
-see that a 1920x20 pixmap has been created, presumably for the window
-system panel), but we could extend that to be even more useful with
-glObjectLabel() names being sent all the way down to the kernel.
-
-(partial) example of sorted debugfs output with Mesa labeling all
-resources:
-
- kernel BO cache: 16392kb BOs (3)
- tiling shadow 1920x1080: 8160kb BOs (1)
- resource 1920x1080@32/0: 8160kb BOs (1)
-scanout resource 1920x1080@32/0: 8100kb BOs (1)
- kernel: 8100kb BOs (1)
-
-v2: Use strndup_user(), use lockdep assertion instead of just a
- comment, fix an array[-1] reference, extend comment about name
- freeing.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Link: https://patchwork.freedesktop.org/patch/msgid/20170725182718.31468-2-eric@anholt.net
-Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
----
- drivers/gpu/drm/vc4/vc4_bo.c | 258 ++++++++++++++++++++++++++++--------
- drivers/gpu/drm/vc4/vc4_drv.c | 8 +-
- drivers/gpu/drm/vc4/vc4_drv.h | 39 +++++-
- drivers/gpu/drm/vc4/vc4_gem.c | 2 +-
- drivers/gpu/drm/vc4/vc4_render_cl.c | 2 +-
- drivers/gpu/drm/vc4/vc4_v3d.c | 3 +-
- include/uapi/drm/vc4_drm.h | 11 ++
- 7 files changed, 257 insertions(+), 66 deletions(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
-index ede80199001d..27c4a927311f 100644
---- a/drivers/gpu/drm/vc4/vc4_bo.c
-+++ b/drivers/gpu/drm/vc4/vc4_bo.c
-@@ -24,21 +24,35 @@
- #include "vc4_drv.h"
- #include "uapi/drm/vc4_drm.h"
-
-+static const char * const bo_type_names[] = {
-+ "kernel",
-+ "V3D",
-+ "V3D shader",
-+ "dumb",
-+ "binner",
-+ "RCL",
-+ "BCL",
-+ "kernel BO cache",
-+};
-+
-+static bool is_user_label(int label)
-+{
-+ return label >= VC4_BO_TYPE_COUNT;
-+}
-+
- static void vc4_bo_stats_dump(struct vc4_dev *vc4)
- {
-- DRM_INFO("num bos allocated: %d\n",
-- vc4->bo_stats.num_allocated);
-- DRM_INFO("size bos allocated: %dkb\n",
-- vc4->bo_stats.size_allocated / 1024);
-- DRM_INFO("num bos used: %d\n",
-- vc4->bo_stats.num_allocated - vc4->bo_stats.num_cached);
-- DRM_INFO("size bos used: %dkb\n",
-- (vc4->bo_stats.size_allocated -
-- vc4->bo_stats.size_cached) / 1024);
-- DRM_INFO("num bos cached: %d\n",
-- vc4->bo_stats.num_cached);
-- DRM_INFO("size bos cached: %dkb\n",
-- vc4->bo_stats.size_cached / 1024);
-+ int i;
-+
-+ for (i = 0; i < vc4->num_labels; i++) {
-+ if (!vc4->bo_labels[i].num_allocated)
-+ continue;
-+
-+ DRM_INFO("%30s: %6dkb BOs (%d)\n",
-+ vc4->bo_labels[i].name,
-+ vc4->bo_labels[i].size_allocated / 1024,
-+ vc4->bo_labels[i].num_allocated);
-+ }
- }
-
- #ifdef CONFIG_DEBUG_FS
-@@ -47,30 +61,103 @@ int vc4_bo_stats_debugfs(struct seq_file *m, void *unused)
- struct drm_info_node *node = (struct drm_info_node *)m->private;
- struct drm_device *dev = node->minor->dev;
- struct vc4_dev *vc4 = to_vc4_dev(dev);
-- struct vc4_bo_stats stats;
-+ int i;
-
-- /* Take a snapshot of the current stats with the lock held. */
- mutex_lock(&vc4->bo_lock);
-- stats = vc4->bo_stats;
-+ for (i = 0; i < vc4->num_labels; i++) {
-+ if (!vc4->bo_labels[i].num_allocated)
-+ continue;
-+
-+ seq_printf(m, "%30s: %6dkb BOs (%d)\n",
-+ vc4->bo_labels[i].name,
-+ vc4->bo_labels[i].size_allocated / 1024,
-+ vc4->bo_labels[i].num_allocated);
-+ }
- mutex_unlock(&vc4->bo_lock);
-
-- seq_printf(m, "num bos allocated: %d\n",
-- stats.num_allocated);
-- seq_printf(m, "size bos allocated: %dkb\n",
-- stats.size_allocated / 1024);
-- seq_printf(m, "num bos used: %d\n",
-- stats.num_allocated - stats.num_cached);
-- seq_printf(m, "size bos used: %dkb\n",
-- (stats.size_allocated - stats.size_cached) / 1024);
-- seq_printf(m, "num bos cached: %d\n",
-- stats.num_cached);
-- seq_printf(m, "size bos cached: %dkb\n",
-- stats.size_cached / 1024);
--
- return 0;
- }
- #endif
-
-+/* Takes ownership of *name and returns the appropriate slot for it in
-+ * the bo_labels[] array, extending it as necessary.
-+ *
-+ * This is inefficient and could use a hash table instead of walking
-+ * an array and strcmp()ing. However, the assumption is that user
-+ * labeling will be infrequent (scanout buffers and other long-lived
-+ * objects, or debug driver builds), so we can live with it for now.
-+ */
-+static int vc4_get_user_label(struct vc4_dev *vc4, const char *name)
-+{
-+ int i;
-+ int free_slot = -1;
-+
-+ for (i = 0; i < vc4->num_labels; i++) {
-+ if (!vc4->bo_labels[i].name) {
-+ free_slot = i;
-+ } else if (strcmp(vc4->bo_labels[i].name, name) == 0) {
-+ kfree(name);
-+ return i;
-+ }
-+ }
-+
-+ if (free_slot != -1) {
-+ WARN_ON(vc4->bo_labels[free_slot].num_allocated != 0);
-+ vc4->bo_labels[free_slot].name = name;
-+ return free_slot;
-+ } else {
-+ u32 new_label_count = vc4->num_labels + 1;
-+ struct vc4_label *new_labels =
-+ krealloc(vc4->bo_labels,
-+ new_label_count * sizeof(*new_labels),
-+ GFP_KERNEL);
-+
-+ if (!new_labels) {
-+ kfree(name);
-+ return -1;
-+ }
-+
-+ free_slot = vc4->num_labels;
-+ vc4->bo_labels = new_labels;
-+ vc4->num_labels = new_label_count;
-+
-+ vc4->bo_labels[free_slot].name = name;
-+ vc4->bo_labels[free_slot].num_allocated = 0;
-+ vc4->bo_labels[free_slot].size_allocated = 0;
-+
-+ return free_slot;
-+ }
-+}
-+
-+static void vc4_bo_set_label(struct drm_gem_object *gem_obj, int label)
-+{
-+ struct vc4_bo *bo = to_vc4_bo(gem_obj);
-+ struct vc4_dev *vc4 = to_vc4_dev(gem_obj->dev);
-+
-+ lockdep_assert_held(&vc4->bo_lock);
-+
-+ if (label != -1) {
-+ vc4->bo_labels[label].num_allocated++;
-+ vc4->bo_labels[label].size_allocated += gem_obj->size;
-+ }
-+
-+ vc4->bo_labels[bo->label].num_allocated--;
-+ vc4->bo_labels[bo->label].size_allocated -= gem_obj->size;
-+
-+ if (vc4->bo_labels[bo->label].num_allocated == 0 &&
-+ is_user_label(bo->label)) {
-+ /* Free user BO label slots on last unreference.
-+ * Slots are just where we track the stats for a given
-+ * name, and once a name is unused we can reuse that
-+ * slot.
-+ */
-+ kfree(vc4->bo_labels[bo->label].name);
-+ vc4->bo_labels[bo->label].name = NULL;
-+ }
-+
-+ bo->label = label;
-+}
-+
- static uint32_t bo_page_index(size_t size)
- {
- return (size / PAGE_SIZE) - 1;
-@@ -80,7 +167,8 @@ static uint32_t bo_page_index(size_t size)
- static void vc4_bo_destroy(struct vc4_bo *bo)
- {
- struct drm_gem_object *obj = &bo->base.base;
-- struct vc4_dev *vc4 = to_vc4_dev(obj->dev);
-+
-+ vc4_bo_set_label(obj, -1);
-
- if (bo->validated_shader) {
- kfree(bo->validated_shader->texture_samples);
-@@ -88,9 +176,6 @@ static void vc4_bo_destroy(struct vc4_bo *bo)
- bo->validated_shader = NULL;
- }
-
-- vc4->bo_stats.num_allocated--;
-- vc4->bo_stats.size_allocated -= obj->size;
--
- reservation_object_fini(&bo->_resv);
-
- drm_gem_cma_free_object(obj);
-@@ -99,12 +184,6 @@ static void vc4_bo_destroy(struct vc4_bo *bo)
- /* Must be called with bo_lock held. */
- static void vc4_bo_remove_from_cache(struct vc4_bo *bo)
- {
-- struct drm_gem_object *obj = &bo->base.base;
-- struct vc4_dev *vc4 = to_vc4_dev(obj->dev);
--
-- vc4->bo_stats.num_cached--;
-- vc4->bo_stats.size_cached -= obj->size;
--
- list_del(&bo->unref_head);
- list_del(&bo->size_head);
- }
-@@ -165,7 +244,8 @@ static void vc4_bo_cache_purge(struct drm_device *dev)
- }
-
- static struct vc4_bo *vc4_bo_get_from_cache(struct drm_device *dev,
-- uint32_t size)
-+ uint32_t size,
-+ enum vc4_kernel_bo_type type)
- {
- struct vc4_dev *vc4 = to_vc4_dev(dev);
- uint32_t page_index = bo_page_index(size);
-@@ -186,6 +266,8 @@ static struct vc4_bo *vc4_bo_get_from_cache(struct drm_device *dev,
- kref_init(&bo->base.base.refcount);
-
- out:
-+ if (bo)
-+ vc4_bo_set_label(&bo->base.base, type);
- mutex_unlock(&vc4->bo_lock);
- return bo;
- }
-@@ -208,8 +290,9 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
- return ERR_PTR(-ENOMEM);
-
- mutex_lock(&vc4->bo_lock);
-- vc4->bo_stats.num_allocated++;
-- vc4->bo_stats.size_allocated += size;
-+ bo->label = VC4_BO_TYPE_KERNEL;
-+ vc4->bo_labels[VC4_BO_TYPE_KERNEL].num_allocated++;
-+ vc4->bo_labels[VC4_BO_TYPE_KERNEL].size_allocated += size;
- mutex_unlock(&vc4->bo_lock);
- bo->resv = &bo->_resv;
- reservation_object_init(bo->resv);
-@@ -218,7 +301,7 @@ struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size)
- }
-
- struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size,
-- bool allow_unzeroed)
-+ bool allow_unzeroed, enum vc4_kernel_bo_type type)
- {
- size_t size = roundup(unaligned_size, PAGE_SIZE);
- struct vc4_dev *vc4 = to_vc4_dev(dev);
-@@ -229,7 +312,7 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size,
- return ERR_PTR(-EINVAL);
-
- /* First, try to get a vc4_bo from the kernel BO cache. */
-- bo = vc4_bo_get_from_cache(dev, size);
-+ bo = vc4_bo_get_from_cache(dev, size, type);
- if (bo) {
- if (!allow_unzeroed)
- memset(bo->base.vaddr, 0, bo->base.base.size);
-@@ -251,7 +334,13 @@ struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t unaligned_size,
- return ERR_PTR(-ENOMEM);
- }
- }
-- return to_vc4_bo(&cma_obj->base);
-+ bo = to_vc4_bo(&cma_obj->base);
-+
-+ mutex_lock(&vc4->bo_lock);
-+ vc4_bo_set_label(&cma_obj->base, type);
-+ mutex_unlock(&vc4->bo_lock);
-+
-+ return bo;
- }
-
- int vc4_dumb_create(struct drm_file *file_priv,
-@@ -268,7 +357,7 @@ int vc4_dumb_create(struct drm_file *file_priv,
- if (args->size < args->pitch * args->height)
- args->size = args->pitch * args->height;
-
-- bo = vc4_bo_create(dev, args->size, false);
-+ bo = vc4_bo_create(dev, args->size, false, VC4_BO_TYPE_DUMB);
- if (IS_ERR(bo))
- return PTR_ERR(bo);
-
-@@ -348,8 +437,7 @@ void vc4_free_object(struct drm_gem_object *gem_bo)
- list_add(&bo->size_head, cache_list);
- list_add(&bo->unref_head, &vc4->bo_cache.time_list);
-
-- vc4->bo_stats.num_cached++;
-- vc4->bo_stats.size_cached += gem_bo->size;
-+ vc4_bo_set_label(&bo->base.base, VC4_BO_TYPE_KERNEL_CACHE);
-
- vc4_bo_cache_free_old(dev);
-
-@@ -483,7 +571,7 @@ int vc4_create_bo_ioctl(struct drm_device *dev, void *data,
- * We can't allocate from the BO cache, because the BOs don't
- * get zeroed, and that might leak data between users.
- */
-- bo = vc4_bo_create(dev, args->size, false);
-+ bo = vc4_bo_create(dev, args->size, false, VC4_BO_TYPE_V3D);
- if (IS_ERR(bo))
- return PTR_ERR(bo);
-
-@@ -536,7 +624,7 @@ vc4_create_shader_bo_ioctl(struct drm_device *dev, void *data,
- return -EINVAL;
- }
-
-- bo = vc4_bo_create(dev, args->size, true);
-+ bo = vc4_bo_create(dev, args->size, true, VC4_BO_TYPE_V3D_SHADER);
- if (IS_ERR(bo))
- return PTR_ERR(bo);
-
-@@ -651,9 +739,24 @@ int vc4_get_tiling_ioctl(struct drm_device *dev, void *data,
- return 0;
- }
-
--void vc4_bo_cache_init(struct drm_device *dev)
-+int vc4_bo_cache_init(struct drm_device *dev)
- {
- struct vc4_dev *vc4 = to_vc4_dev(dev);
-+ int i;
-+
-+ /* Create the initial set of BO labels that the kernel will
-+ * use. This lets us avoid a bunch of string reallocation in
-+ * the kernel's draw and BO allocation paths.
-+ */
-+ vc4->bo_labels = kcalloc(VC4_BO_TYPE_COUNT, sizeof(*vc4->bo_labels),
-+ GFP_KERNEL);
-+ if (!vc4->bo_labels)
-+ return -ENOMEM;
-+ vc4->num_labels = VC4_BO_TYPE_COUNT;
-+
-+ BUILD_BUG_ON(ARRAY_SIZE(bo_type_names) != VC4_BO_TYPE_COUNT);
-+ for (i = 0; i < VC4_BO_TYPE_COUNT; i++)
-+ vc4->bo_labels[i].name = bo_type_names[i];
-
- mutex_init(&vc4->bo_lock);
-
-@@ -663,19 +766,66 @@ void vc4_bo_cache_init(struct drm_device *dev)
- setup_timer(&vc4->bo_cache.time_timer,
- vc4_bo_cache_time_timer,
- (unsigned long)dev);
-+
-+ return 0;
- }
-
- void vc4_bo_cache_destroy(struct drm_device *dev)
- {
- struct vc4_dev *vc4 = to_vc4_dev(dev);
-+ int i;
-
- del_timer(&vc4->bo_cache.time_timer);
- cancel_work_sync(&vc4->bo_cache.time_work);
-
- vc4_bo_cache_purge(dev);
-
-- if (vc4->bo_stats.num_allocated) {
-- DRM_ERROR("Destroying BO cache while BOs still allocated:\n");
-- vc4_bo_stats_dump(vc4);
-+ for (i = 0; i < vc4->num_labels; i++) {
-+ if (vc4->bo_labels[i].num_allocated) {
-+ DRM_ERROR("Destroying BO cache with %d %s "
-+ "BOs still allocated\n",
-+ vc4->bo_labels[i].num_allocated,
-+ vc4->bo_labels[i].name);
-+ }
-+
-+ if (is_user_label(i))
-+ kfree(vc4->bo_labels[i].name);
- }
-+ kfree(vc4->bo_labels);
-+}
-+
-+int vc4_label_bo_ioctl(struct drm_device *dev, void *data,
-+ struct drm_file *file_priv)
-+{
-+ struct vc4_dev *vc4 = to_vc4_dev(dev);
-+ struct drm_vc4_label_bo *args = data;
-+ char *name;
-+ struct drm_gem_object *gem_obj;
-+ int ret = 0, label;
-+
-+ if (!args->len)
-+ return -EINVAL;
-+
-+ name = strndup_user(u64_to_user_ptr(args->name), args->len + 1);
-+ if (IS_ERR(name))
-+ return PTR_ERR(name);
-+
-+ gem_obj = drm_gem_object_lookup(file_priv, args->handle);
-+ if (!gem_obj) {
-+ DRM_ERROR("Failed to look up GEM BO %d\n", args->handle);
-+ kfree(name);
-+ return -ENOENT;
-+ }
-+
-+ mutex_lock(&vc4->bo_lock);
-+ label = vc4_get_user_label(vc4, name);
-+ if (label != -1)
-+ vc4_bo_set_label(gem_obj, label);
-+ else
-+ ret = -ENOMEM;
-+ mutex_unlock(&vc4->bo_lock);
-+
-+ drm_gem_object_unreference_unlocked(gem_obj);
-+
-+ return ret;
- }
-diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
-index c6b487c3d2b7..75c1f50a7b5d 100644
---- a/drivers/gpu/drm/vc4/vc4_drv.c
-+++ b/drivers/gpu/drm/vc4/vc4_drv.c
-@@ -140,6 +140,7 @@ static const struct drm_ioctl_desc vc4_drm_ioctls[] = {
- DRM_IOCTL_DEF_DRV(VC4_GET_PARAM, vc4_get_param_ioctl, DRM_RENDER_ALLOW),
- DRM_IOCTL_DEF_DRV(VC4_SET_TILING, vc4_set_tiling_ioctl, DRM_RENDER_ALLOW),
- DRM_IOCTL_DEF_DRV(VC4_GET_TILING, vc4_get_tiling_ioctl, DRM_RENDER_ALLOW),
-+ DRM_IOCTL_DEF_DRV(VC4_LABEL_BO, vc4_label_bo_ioctl, DRM_RENDER_ALLOW),
- };
-
- static struct drm_driver vc4_drm_driver = {
-@@ -257,7 +258,9 @@ static int vc4_drm_bind(struct device *dev)
- vc4->dev = drm;
- drm->dev_private = vc4;
-
-- vc4_bo_cache_init(drm);
-+ ret = vc4_bo_cache_init(drm);
-+ if (ret)
-+ goto dev_unref;
-
- drm_mode_config_init(drm);
-
-@@ -281,8 +284,9 @@ static int vc4_drm_bind(struct device *dev)
- component_unbind_all(dev, drm);
- gem_destroy:
- vc4_gem_destroy(drm);
-- drm_dev_unref(drm);
- vc4_bo_cache_destroy(drm);
-+dev_unref:
-+ drm_dev_unref(drm);
- return ret;
- }
-
-diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h
-index df22698d62ee..75d9957cb76d 100644
---- a/drivers/gpu/drm/vc4/vc4_drv.h
-+++ b/drivers/gpu/drm/vc4/vc4_drv.h
-@@ -11,6 +11,24 @@
- #include <drm/drm_encoder.h>
- #include <drm/drm_gem_cma_helper.h>
-
-+/* Don't forget to update vc4_bo.c: bo_type_names[] when adding to
-+ * this.
-+ */
-+enum vc4_kernel_bo_type {
-+ /* Any kernel allocation (gem_create_object hook) before it
-+ * gets another type set.
-+ */
-+ VC4_BO_TYPE_KERNEL,
-+ VC4_BO_TYPE_V3D,
-+ VC4_BO_TYPE_V3D_SHADER,
-+ VC4_BO_TYPE_DUMB,
-+ VC4_BO_TYPE_BIN,
-+ VC4_BO_TYPE_RCL,
-+ VC4_BO_TYPE_BCL,
-+ VC4_BO_TYPE_KERNEL_CACHE,
-+ VC4_BO_TYPE_COUNT
-+};
-+
- struct vc4_dev {
- struct drm_device *dev;
-
-@@ -46,14 +64,14 @@ struct vc4_dev {
- struct timer_list time_timer;
- } bo_cache;
-
-- struct vc4_bo_stats {
-+ u32 num_labels;
-+ struct vc4_label {
-+ const char *name;
- u32 num_allocated;
- u32 size_allocated;
-- u32 num_cached;
-- u32 size_cached;
-- } bo_stats;
-+ } *bo_labels;
-
-- /* Protects bo_cache and the BO stats. */
-+ /* Protects bo_cache and bo_labels. */
- struct mutex bo_lock;
-
- uint64_t dma_fence_context;
-@@ -169,6 +187,11 @@ struct vc4_bo {
- /* normally (resv == &_resv) except for imported bo's */
- struct reservation_object *resv;
- struct reservation_object _resv;
-+
-+ /* One of enum vc4_kernel_bo_type, or VC4_BO_TYPE_COUNT + i
-+ * for user-allocated labels.
-+ */
-+ int label;
- };
-
- static inline struct vc4_bo *
-@@ -460,7 +483,7 @@ struct vc4_validated_shader_info {
- struct drm_gem_object *vc4_create_object(struct drm_device *dev, size_t size);
- void vc4_free_object(struct drm_gem_object *gem_obj);
- struct vc4_bo *vc4_bo_create(struct drm_device *dev, size_t size,
-- bool from_cache);
-+ bool from_cache, enum vc4_kernel_bo_type type);
- int vc4_dumb_create(struct drm_file *file_priv,
- struct drm_device *dev,
- struct drm_mode_create_dumb *args);
-@@ -478,6 +501,8 @@ int vc4_get_tiling_ioctl(struct drm_device *dev, void *data,
- struct drm_file *file_priv);
- int vc4_get_hang_state_ioctl(struct drm_device *dev, void *data,
- struct drm_file *file_priv);
-+int vc4_label_bo_ioctl(struct drm_device *dev, void *data,
-+ struct drm_file *file_priv);
- int vc4_mmap(struct file *filp, struct vm_area_struct *vma);
- struct reservation_object *vc4_prime_res_obj(struct drm_gem_object *obj);
- int vc4_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
-@@ -485,7 +510,7 @@ struct drm_gem_object *vc4_prime_import_sg_table(struct drm_device *dev,
- struct dma_buf_attachment *attach,
- struct sg_table *sgt);
- void *vc4_prime_vmap(struct drm_gem_object *obj);
--void vc4_bo_cache_init(struct drm_device *dev);
-+int vc4_bo_cache_init(struct drm_device *dev);
- void vc4_bo_cache_destroy(struct drm_device *dev);
- int vc4_bo_stats_debugfs(struct seq_file *m, void *arg);
-
-diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
-index 8b551bc630c4..80f1953b4938 100644
---- a/drivers/gpu/drm/vc4/vc4_gem.c
-+++ b/drivers/gpu/drm/vc4/vc4_gem.c
-@@ -774,7 +774,7 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec)
- goto fail;
- }
-
-- bo = vc4_bo_create(dev, exec_size, true);
-+ bo = vc4_bo_create(dev, exec_size, true, VC4_BO_TYPE_BCL);
- if (IS_ERR(bo)) {
- DRM_ERROR("Couldn't allocate BO for binning\n");
- ret = PTR_ERR(bo);
-diff --git a/drivers/gpu/drm/vc4/vc4_render_cl.c b/drivers/gpu/drm/vc4/vc4_render_cl.c
-index da3bfd53f0bd..e0539731130b 100644
---- a/drivers/gpu/drm/vc4/vc4_render_cl.c
-+++ b/drivers/gpu/drm/vc4/vc4_render_cl.c
-@@ -320,7 +320,7 @@ static int vc4_create_rcl_bo(struct drm_device *dev, struct vc4_exec_info *exec,
-
- size += xtiles * ytiles * loop_body_size;
-
-- setup->rcl = &vc4_bo_create(dev, size, true)->base;
-+ setup->rcl = &vc4_bo_create(dev, size, true, VC4_BO_TYPE_RCL)->base;
- if (IS_ERR(setup->rcl))
- return PTR_ERR(setup->rcl);
- list_add_tail(&to_vc4_bo(&setup->rcl->base)->unref_head,
-diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c
-index 8c723da71f66..622cd43840b8 100644
---- a/drivers/gpu/drm/vc4/vc4_v3d.c
-+++ b/drivers/gpu/drm/vc4/vc4_v3d.c
-@@ -236,7 +236,8 @@ vc4_allocate_bin_bo(struct drm_device *drm)
- INIT_LIST_HEAD(&list);
-
- while (true) {
-- struct vc4_bo *bo = vc4_bo_create(drm, size, true);
-+ struct vc4_bo *bo = vc4_bo_create(drm, size, true,
-+ VC4_BO_TYPE_BIN);
-
- if (IS_ERR(bo)) {
- ret = PTR_ERR(bo);
-diff --git a/include/uapi/drm/vc4_drm.h b/include/uapi/drm/vc4_drm.h
-index 6ac4c5c014cb..551628e571f9 100644
---- a/include/uapi/drm/vc4_drm.h
-+++ b/include/uapi/drm/vc4_drm.h
-@@ -40,6 +40,7 @@ extern "C" {
- #define DRM_VC4_GET_PARAM 0x07
- #define DRM_VC4_SET_TILING 0x08
- #define DRM_VC4_GET_TILING 0x09
-+#define DRM_VC4_LABEL_BO 0x0a
-
- #define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl)
- #define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno)
-@@ -51,6 +52,7 @@ extern "C" {
- #define DRM_IOCTL_VC4_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_PARAM, struct drm_vc4_get_param)
- #define DRM_IOCTL_VC4_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SET_TILING, struct drm_vc4_set_tiling)
- #define DRM_IOCTL_VC4_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_TILING, struct drm_vc4_get_tiling)
-+#define DRM_IOCTL_VC4_LABEL_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_LABEL_BO, struct drm_vc4_label_bo)
-
- struct drm_vc4_submit_rcl_surface {
- __u32 hindex; /* Handle index, or ~0 if not present. */
-@@ -311,6 +313,15 @@ struct drm_vc4_set_tiling {
- __u64 modifier;
- };
-
-+/**
-+ * struct drm_vc4_label_bo - Attach a name to a BO for debug purposes.
-+ */
-+struct drm_vc4_label_bo {
-+ __u32 handle;
-+ __u32 len;
-+ __u64 name;
-+};
-+
- #if defined(__cplusplus)
- }
- #endif
---
-2.13.5
-
-From 34cbed8ed9441caa13017108dac189e09c35f9af Mon Sep 17 00:00:00 2001
-From: Eric Anholt <eric@anholt.net>
-Date: Wed, 2 Aug 2017 13:32:40 -0700
-Subject: [PATCH 5/6] drm/vc4: Fix double destroy of the BO cache on teardown.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It's also destroyed from the top level vc4_drv.c initialization, which
-is where the cache was actually initialized from.
-
-This used to just involve duplicate del_timer() and cancel_work_sync()
-being called, but it started causing kmalloc issues once we
-double-freed the new BO label array.
-
-Fixes: 1908a876f909 ("drm/vc4: Add an ioctl for labeling GEM BOs for summary stats")
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Link: https://patchwork.freedesktop.org/patch/msgid/20170802203242.12815-1-eric@anholt.net
-Tested-by: Noralf Trønnes <noralf@tronnes.org>
-Acked-by: Noralf Trønnes <noralf@tronnes.org>
-Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
----
- drivers/gpu/drm/vc4/vc4_gem.c | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
-index 80f1953b4938..624177b9cce4 100644
---- a/drivers/gpu/drm/vc4/vc4_gem.c
-+++ b/drivers/gpu/drm/vc4/vc4_gem.c
-@@ -1117,6 +1117,4 @@ vc4_gem_destroy(struct drm_device *dev)
-
- if (vc4->hang_state)
- vc4_free_hang_state(dev, vc4->hang_state);
--
-- vc4_bo_cache_destroy(dev);
- }
---
-2.13.5
-
-From 4f218eea5be54c8506e6db700750e8b8019dc6af Mon Sep 17 00:00:00 2001
-From: Boris Brezillon <boris.brezillon@free-electrons.com>
-Date: Fri, 16 Jun 2017 10:30:33 +0200
-Subject: [PATCH 6/6] drm/vc4: Send a VBLANK event when disabling a CRTC
-
-VBLANK events are missed when the CRTC is being disabled because the
-driver does not wait till the end of the frame before stopping the
-HVS and PV blocks. In this case, we should explicitly issue a VBLANK
-event if there's one waiting.
-
-Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Link: http://patchwork.freedesktop.org/patch/msgid/1497601833-24588-1-git-send-email-boris.brezillon@free-electrons.com
----
- drivers/gpu/drm/vc4/vc4_crtc.c | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c
-index a12cc7ea99b6..b0582ad3f459 100644
---- a/drivers/gpu/drm/vc4/vc4_crtc.c
-+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -518,6 +518,19 @@ static void vc4_crtc_disable(struct drm_crtc *crtc)
- WARN_ON_ONCE((HVS_READ(SCALER_DISPSTATX(chan)) &
- (SCALER_DISPSTATX_FULL | SCALER_DISPSTATX_EMPTY)) !=
- SCALER_DISPSTATX_EMPTY);
-+
-+ /*
-+ * Make sure we issue a vblank event after disabling the CRTC if
-+ * someone was waiting it.
-+ */
-+ if (crtc->state->event) {
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&dev->event_lock, flags);
-+ drm_crtc_send_vblank_event(crtc, crtc->state->event);
-+ crtc->state->event = NULL;
-+ spin_unlock_irqrestore(&dev->event_lock, flags);
-+ }
- }
-
- static void vc4_crtc_update_dlist(struct drm_crtc *crtc)
---
-2.13.5
-
diff --git a/freed-ora/current/f26/bt-bcm.patch b/freed-ora/current/f26/bt-bcm.patch
deleted file mode 100644
index aa5334b2b..000000000
--- a/freed-ora/current/f26/bt-bcm.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From feb16722b5d5f05b7ae1278a43e717c3d35cd512 Mon Sep 17 00:00:00 2001
-From: Ian Molton <ian@mnementh.co.uk>
-Date: Wed, 28 Jun 2017 20:10:55 +0100
-Subject: Bluetooth: btbcm: Add entry for BCM43430 UART bluetooth
-
-This patch adds the device ID for the bluetooth chip used in the
-Broadcom BCM43430 SDIO WiFi / UART BT chip.
-
-Successfully tested using Firmware version 0x0182
-
-Signed-off-by: Ian Molton <ian@mnementh.co.uk>
-Reported-by: Loic Poulain <loic.poulain@intel.com>
-Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
----
- drivers/bluetooth/btbcm.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c
-index 24f8c4e..9ab6cfb 100644
---- a/drivers/bluetooth/btbcm.c
-+++ b/drivers/bluetooth/btbcm.c
-@@ -295,6 +295,7 @@ static const struct {
- { 0x410e, "BCM43341B0" }, /* 002.001.014 */
- { 0x4406, "BCM4324B3" }, /* 002.004.006 */
- { 0x610c, "BCM4354" }, /* 003.001.012 */
-+ { 0x2209, "BCM43430A1" }, /* 001.002.009 */
- { }
- };
-
---
-cgit v1.1
-
diff --git a/freed-ora/current/f26/build_configs.sh b/freed-ora/current/f26/build_configs.sh
index 55fb89d01..140511f19 100755
--- a/freed-ora/current/f26/build_configs.sh
+++ b/freed-ora/current/f26/build_configs.sh
@@ -46,8 +46,6 @@ function merge_configs()
echo "# powerpc" > $name
elif [ "x$arch" == "xppc64le" ]; then
echo "# powerpc" > $name
- elif [ "x$arch" == "xppc64p7" ]; then
- echo "# powerpc" > $name
elif [ "x$arch" == "xs390x" ]; then
echo "# s390" > $name
elif [ "x$arch" == "xarmv7hl" ]; then
diff --git a/freed-ora/current/f26/config_generation b/freed-ora/current/f26/config_generation
index e5dde85cf..64ae444f4 100644
--- a/freed-ora/current/f26/config_generation
+++ b/freed-ora/current/f26/config_generation
@@ -5,7 +5,7 @@
# x86_64
x86_64=baseconfig:baseconfig-x86:baseconfig-x86-x86_64
-x86_64-debug=baseconfig:baseconfig-x86:baseconfig-x86-x86_64:debugconfig:debugconfig-x86
+x86_64-debug=baseconfig:baseconfig-x86:baseconfig-x86-x86_64:debugconfig:debugconfig-x86:debugconfig-x86-x86_64
# i686
i686=baseconfig:baseconfig-x86:baseconfig-x86-i686
@@ -20,8 +20,7 @@ ppc64-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64:debugconf
# ppc64le
ppc64le=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64le
ppc64le-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64le:debugconfig
-ppc64p7=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64p7
-ppc64p7-debug=baseconfig:baseconfig-powerpc:baseconfig-powerpc-powerpc64p7:debugconfig
+
# s390x
s390x=baseconfig:baseconfig-s390x
s390x-debug=baseconfig:baseconfig-s390x:debugconfig
@@ -32,6 +31,6 @@ aarch64-debug=baseconfig:baseconfig-arm:baseconfig-arm-arm64:debugconfig:debugco
# arm
armv7hl=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7
-armv7hl-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7:debugconfig:debugconfig-arm:debugconfig-arm-armv7
+armv7hl-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-armv7:debugconfig:debugconfig-arm
armv7hl-lpae=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae
-armv7hl-lpae-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae:debugconfig:debugconfig-arm:debugconfig-arm-armv7
+armv7hl-lpae-debug=baseconfig:baseconfig-arm:baseconfig-arm-armv7:baseconfig-arm-armv7-lpae:debugconfig:debugconfig-arm
diff --git a/freed-ora/current/f26/deblob-4.13 b/freed-ora/current/f26/deblob-4.14
index 5119e1f6f..bb76d7ce5 100755
--- a/freed-ora/current/f26/deblob-4.13
+++ b/freed-ora/current/f26/deblob-4.14
@@ -48,7 +48,7 @@
# For each kver release, start extra with an empty string, then count
# from 1 if changes are needed that require rebuilding the tarball.
-kver=4.13 extra=
+kver=4.14 extra=
case $1 in
--force)
@@ -214,7 +214,7 @@ reject_firmware () {
#$1 = file $2 = pre sed pattern
filetest $1 || return 0
clean_sed "$2"'
-s,\(^\|[^>.0-9a-zA-Z_$]\)request\(_ihex\)\?_firmware\(_nowait\|_direct\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject_firmware\3\4,g
+s,\(^\|[^>.0-9a-zA-Z_$]\)request\(_ihex\)\?_firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject_firmware\3\4,g
' "$1" 'disabled non-Free firmware-loading machinery'
}
@@ -222,7 +222,7 @@ maybe_reject_firmware () {
#$1 = file $2 = pre sed pattern
filetest $1 || return 0
clean_sed "$2"'
-s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\)\?firmware\(_nowait\|_direct\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g
+s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\)\?firmware\(_nowait\|_direct\|_into_buf\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g
' "$1" 'retain Free firmware-loading machinery, disabling non-Free one'
}
@@ -322,12 +322,6 @@ for f in \
drivers/scsi/sym53c8xx_2/sym_fw1.h \
drivers/scsi/sym53c8xx_2/sym_fw2.h \
drivers/scsi/sym53c8xx_2/sym_fw2.h \
- firmware/dsp56k/bootstrap.bin.ihex \
- firmware/dsp56k/bootstrap.asm \
- firmware/keyspan_pda/keyspan_pda.HEX \
- firmware/keyspan_pda/keyspan_pda.S \
- firmware/keyspan_pda/xircom_pgs.HEX \
- firmware/keyspan_pda/xircom_pgs.S \
; do
filetest $f || :
done
@@ -487,6 +481,27 @@ maybe_reject_firmware_nowait(struct module *module, int uevent,\
return request_firmware_nowait(module, uevent, name,\
device, gfp, context, cont);\
}\
+static inline int\
+reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\
+ struct device *device, void *buf, size_t size)\
+{\
+ const struct firmware *xfw = NULL;\
+ int retval;\
+ report_missing_free_firmware(dev_name(device), NULL);\
+ retval = request_firmware_into_buf(&xfw, NONFREE_FIRMWARE, device, buf, size);\
+ if (!retval)\
+ release_firmware(xfw);\
+ return -EINVAL;\
+}\
+static inline int\
+maybe_reject_firmware_into_buf(const struct firmware **firmware_p, const char *name,\
+ struct device *device, void *buf, size_t size)\
+{\
+ if (is_nonfree_firmware(name))\
+ return reject_firmware_into_buf(firmware_p, name, device, buf, size);\
+ else\
+ return request_firmware_into_buf(firmware_p, name, device, buf, size);\
+}\
\
#endif /* _LINUX_LIBRE_FIRMWARE_H */\
' include/linux/firmware.h 'added non-Free firmware notification support'
@@ -532,8 +547,10 @@ clean_blob arch/x86/kernel/cpu/microcode/intel.c
clean_kconfig arch/x86/Kconfig MICROCODE_INTEL
clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/cpu/microcode/Makefile
-announce MICROCODE_EARLY - "Early load microcode"
-clean_blob Documentation/x86/early-microcode.txt
+announce MICROCODE - "CPU microcode loading support"
+clean_blob Documentation/x86/microcode.txt
+clean_kconfig arch/x86/Kconfig MICROCODE
+clean_mk CONFIG_MICROCODE arch/x86/kernel/cpu/Makefile
# arm
@@ -562,15 +579,6 @@ clean_blob arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts
clean_kconfig arch/arm/mach-sunxi/Kconfig MACH_SUN8I
clean_mk CONFIG_MACH_SUN8I arch/arm/boot/dts/Makefile
-# mips
-
-# I couldn't figure out where the firmware name actually comes from.
-# If it's from some user-set property, we could reenable it. -lxo
-announce XRX200_PHY_FW - "XRX200 PHY firmware loader"
-reject_firmware arch/mips/lantiq/xway/xrx200_phy_fw.c
-clean_kconfig arch/mips/lantiq/Kconfig XRX200_PHY_FW
-clean_mk CONFIG_XRX200_PHY_FW arch/mips/lantiq/xway/Makefile
-
#######
# ATM #
#######
@@ -578,7 +586,6 @@ clean_mk CONFIG_XRX200_PHY_FW arch/mips/lantiq/xway/Makefile
announce ATM_AMBASSADOR - "Madge Ambassador, Collage PCI 155 Server"
reject_firmware drivers/atm/ambassador.c
clean_blob drivers/atm/ambassador.c
-clean_fw firmware/atmsar11.HEX firmware/atmsar11.fw
clean_kconfig drivers/atm/Kconfig ATM_AMBASSADOR
clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile
@@ -679,6 +686,8 @@ reject_firmware drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
clean_blob drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c
reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
clean_blob drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
+reject_firmware drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+clean_blob drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c
reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
@@ -687,7 +696,6 @@ reject_firmware drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
clean_blob drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
-clean_blob drivers/gpu/drm/amd/amdgpu/soc15.c
reject_firmware drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
clean_blob drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
clean_blob drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c
@@ -752,8 +760,6 @@ clean_kconfig drivers/gpu/drm/nouveau/Kconfig DRM_NOUVEAU
clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/Makefile
announce DRM_MGA - "Matrox g200/g400"
-drop_fw_file firmware/matrox/g200_warp.H16 firmware/matrox/g200_warp.fw
-drop_fw_file firmware/matrox/g400_warp.H16 firmware/matrox/g400_warp.fw
reject_firmware drivers/gpu/drm/mga/mga_warp.c
clean_blob drivers/gpu/drm/mga/mga_warp.c
clean_kconfig drivers/gpu/drm/Kconfig DRM_MGA
@@ -768,40 +774,12 @@ clean_kconfig drivers/gpu/drm/msm/Kconfig DRM_MSM
clean_mk CONFIG_DRM_MSM drivers/gpu/drm/msm/Makefile
announce DRM_R128 - "ATI Rage 128"
-drop_fw_file firmware/r128/r128_cce.bin.ihex firmware/r128/r128_cce.bin
reject_firmware drivers/gpu/drm/r128/r128_cce.c
clean_blob drivers/gpu/drm/r128/r128_cce.c
clean_kconfig drivers/gpu/drm/Kconfig DRM_R128
clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile
announce DRM_RADEON - "ATI Radeon"
-drop_fw_file firmware/radeon/R100_cp.bin.ihex firmware/radeon/R100_cp.bin
-drop_fw_file firmware/radeon/R200_cp.bin.ihex firmware/radeon/R200_cp.bin
-drop_fw_file firmware/radeon/R300_cp.bin.ihex firmware/radeon/R300_cp.bin
-drop_fw_file firmware/radeon/R420_cp.bin.ihex firmware/radeon/R420_cp.bin
-drop_fw_file firmware/radeon/R520_cp.bin.ihex firmware/radeon/R520_cp.bin
-drop_fw_file firmware/radeon/R600_me.bin.ihex firmware/radeon/R600_me.bin
-drop_fw_file firmware/radeon/R600_pfp.bin.ihex firmware/radeon/R600_pfp.bin
-drop_fw_file firmware/radeon/RS600_cp.bin.ihex firmware/radeon/RS600_cp.bin
-drop_fw_file firmware/radeon/RS690_cp.bin.ihex firmware/radeon/RS690_cp.bin
-drop_fw_file firmware/radeon/RS780_me.bin.ihex firmware/radeon/RS780_me.bin
-drop_fw_file firmware/radeon/RS780_pfp.bin.ihex firmware/radeon/RS780_pfp.bin
-drop_fw_file firmware/radeon/RV610_me.bin.ihex firmware/radeon/RV610_me.bin
-drop_fw_file firmware/radeon/RV610_pfp.bin.ihex firmware/radeon/RV610_pfp.bin
-drop_fw_file firmware/radeon/RV620_me.bin.ihex firmware/radeon/RV620_me.bin
-drop_fw_file firmware/radeon/RV620_pfp.bin.ihex firmware/radeon/RV620_pfp.bin
-drop_fw_file firmware/radeon/RV630_me.bin.ihex firmware/radeon/RV630_me.bin
-drop_fw_file firmware/radeon/RV630_pfp.bin.ihex firmware/radeon/RV630_pfp.bin
-drop_fw_file firmware/radeon/RV635_me.bin.ihex firmware/radeon/RV635_me.bin
-drop_fw_file firmware/radeon/RV635_pfp.bin.ihex firmware/radeon/RV635_pfp.bin
-drop_fw_file firmware/radeon/RV670_me.bin.ihex firmware/radeon/RV670_me.bin
-drop_fw_file firmware/radeon/RV670_pfp.bin.ihex firmware/radeon/RV670_pfp.bin
-drop_fw_file firmware/radeon/RV710_me.bin.ihex firmware/radeon/RV710_me.bin
-drop_fw_file firmware/radeon/RV710_pfp.bin.ihex firmware/radeon/RV710_pfp.bin
-drop_fw_file firmware/radeon/RV730_me.bin.ihex firmware/radeon/RV730_me.bin
-drop_fw_file firmware/radeon/RV730_pfp.bin.ihex firmware/radeon/RV730_pfp.bin
-drop_fw_file firmware/radeon/RV770_me.bin.ihex firmware/radeon/RV770_me.bin
-drop_fw_file firmware/radeon/RV770_pfp.bin.ihex firmware/radeon/RV770_pfp.bin
reject_firmware drivers/gpu/drm/radeon/r100.c
clean_blob drivers/gpu/drm/radeon/r100.c
reject_firmware drivers/gpu/drm/radeon/r600.c
@@ -1287,7 +1265,6 @@ clean_kconfig drivers/media/usb/siano/Kconfig SMS_USB_DRV
clean_mk CONFIG_SMS_USB_DRV drivers/media/usb/siano/Makefile
announce DVB_TTUSB_BUDGET - "Technotrend/Hauppauge Nova-USB devices"
-drop_fw_file firmware/ttusb-budget/dspbootcode.bin.ihex firmware/ttusb-budget/dspbootcode.bin
reject_firmware drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
clean_blob drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
clean_kconfig drivers/media/usb/ttusb-budget/Kconfig DVB_TTUSB_BUDGET
@@ -1334,7 +1311,6 @@ clean_kconfig drivers/media/platform/Kconfig VIDEO_CODA
clean_mk CONFIG_VIDEO_CODA drivers/media/platform/coda/Makefile
announce VIDEO_CPIA2 - "CPiA2 Video For Linux"
-clean_fw firmware/cpia2/stv0672_vp4.bin.ihex firmware/cpia2/stv0672_vp4.bin
reject_firmware drivers/media/usb/cpia2/cpia2_core.c
clean_blob drivers/media/usb/cpia2/cpia2_core.c
clean_kconfig drivers/media/usb/cpia2/Kconfig VIDEO_CPIA2
@@ -1471,7 +1447,6 @@ clean_kconfig drivers/media/usb/s2255/Kconfig USB_S2255
clean_mk CONFIG_USB_S2255 drivers/media/usb/s2255/Makefile
announce USB_GSPCA_VICAM - "USB 3com HomeConnect, AKA vicam"
-drop_fw_file firmware/vicam/firmware.H16 firmware/vicam/firmware.fw
reject_firmware drivers/media/usb/gspca/vicam.c
clean_blob drivers/media/usb/gspca/vicam.c
clean_kconfig drivers/media/usb/gspca/Kconfig USB_GSPCA_VICAM
@@ -1509,16 +1484,12 @@ clean_mk CONFIG_RADIO_WL128X drivers/media/radio/Makefile
#######
announce ACENIC - "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit"
-drop_fw_file firmware/acenic/tg1.bin.ihex firmware/acenic/tg1.bin
-drop_fw_file firmware/acenic/tg2.bin.ihex firmware/acenic/tg2.bin
reject_firmware drivers/net/ethernet/alteon/acenic.c
clean_blob drivers/net/ethernet/alteon/acenic.c
clean_kconfig drivers/net/ethernet/alteon/Kconfig ACENIC
clean_mk CONFIG_ACENIC drivers/net/ethernet/alteon/Makefile
announce ADAPTEC_STARFIRE - "Adaptec Starfire/DuraLAN support"
-clean_fw firmware/adaptec/starfire_rx.bin.ihex firmware/adaptec/starfire_rx.bin
-clean_fw firmware/adaptec/starfire_tx.bin.ihex firmware/adaptec/starfire_tx.bin
reject_firmware drivers/net/ethernet/adaptec/starfire.c
clean_blob drivers/net/ethernet/adaptec/starfire.c
clean_kconfig drivers/net/ethernet/adaptec/Kconfig ADAPTEC_STARFIRE
@@ -1533,20 +1504,12 @@ clean_kconfig drivers/net/ethernet/brocade/bna/Kconfig BNA
clean_mk CONFIG_BNA drivers/net/ethernet/brocade/bna/Makefile
announce BNX2 - "Broadcom NetXtremeII"
-drop_fw_file firmware/bnx2/bnx2-mips-09-6.2.1a.fw.ihex firmware/bnx2/bnx2-mips-09-6.2.1a.fw
-drop_fw_file firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09-6.0.17.fw
-drop_fw_file firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw
-drop_fw_file firmware/bnx2/bnx2-mips-06-6.2.1.fw.ihex firmware/bnx2/bnx2-mips-06-6.2.1.fw
-drop_fw_file firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex firmware/bnx2/bnx2-rv2p-06-6.0.15.fw
reject_firmware drivers/net/ethernet/broadcom/bnx2.c
clean_blob drivers/net/ethernet/broadcom/bnx2.c
clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2
clean_mk CONFIG_BNX2 drivers/net/ethernet/broadcom/Makefile
announce BNX2X - "Broadcom NetXtremeII 10Gb support"
-drop_fw_file firmware/bnx2x/bnx2x-e1-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e1-6.2.9.0.fw
-drop_fw_file firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e1h-6.2.9.0.fw
-drop_fw_file firmware/bnx2x/bnx2x-e2-6.2.9.0.fw.ihex firmware/bnx2x/bnx2x-e2-6.2.9.0.fw
reject_firmware drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
clean_sed '
/^#include "bnx2x_init\.h"/,/^$/{
@@ -1578,18 +1541,12 @@ clean_kconfig drivers/net/ethernet/broadcom/Kconfig BNX2X
clean_mk CONFIG_BNX2X drivers/net/ethernet/broadcom/bnx2x/Makefile
announce CASSINI - "Sun Cassini"
-drop_fw_file firmware/sun/cassini.bin.ihex firmware/sun/cassini.bin
reject_firmware drivers/net/ethernet/sun/cassini.c
clean_blob drivers/net/ethernet/sun/cassini.c
clean_kconfig drivers/net/ethernet/sun/Kconfig CASSINI
clean_mk CONFIG_CASSINI drivers/net/ethernet/sun/Makefile
announce CHELSIO_T3 - "Chelsio AEL 2005 support"
-drop_fw_file firmware/cxgb3/t3b_psram-1.1.0.bin.ihex firmware/cxgb3/t3b_psram-1.1.0.bin
-drop_fw_file firmware/cxgb3/t3c_psram-1.1.0.bin.ihex firmware/cxgb3/t3c_psram-1.1.0.bin
-drop_fw_file firmware/cxgb3/ael2005_opt_edc.bin.ihex firmware/cxgb3/ael2005_opt_edc.bin
-drop_fw_file firmware/cxgb3/ael2005_twx_edc.bin.ihex firmware/cxgb3/ael2005_twx_edc.bin
-drop_fw_file firmware/cxgb3/ael2020_twx_edc.bin.ihex firmware/cxgb3/ael2020_twx_edc.bin
reject_firmware drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
clean_blob drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T3
@@ -1602,9 +1559,6 @@ clean_kconfig drivers/net/ethernet/chelsio/Kconfig CHELSIO_T4
clean_mk CONFIG_CHELSIO_T4 drivers/net/ethernet/chelsio/cxgb4/Makefile
announce E100 - "Intel PRO/100+"
-drop_fw_file firmware/e100/d101m_ucode.bin.ihex firmware/e100/d101m_ucode.bin
-drop_fw_file firmware/e100/d101s_ucode.bin.ihex firmware/e100/d101s_ucode.bin
-drop_fw_file firmware/e100/d102e_ucode.bin.ihex firmware/e100/d102e_ucode.bin
reject_firmware drivers/net/ethernet/intel/e100.c
clean_sed '
/^static const struct firmware \*e100_\(reject\|request\)_firmware(/,/^}$/{
@@ -1628,9 +1582,6 @@ clean_blob drivers/net/ethernet/mellanox/mlxsw/spectrum.c
clean_kconfig drivers/net/ethernet/mellanox/mlxsw/Kconfig MLXSW_SPECTRUM
clean_mk CONFIG_MLXSW_SPECTRUM drivers/net/ethernet/mellanox/mlxsw/Makefile
-announce MYRI_SBUS - "MyriCOM Gigabit Ethernet"
-drop_fw_file firmware/myricom/lanai.bin.ihex firmware/myricom/lanai.bin
-
announce MYRI10GE - "Myricom Myri-10G Ethernet support"
reject_firmware drivers/net/ethernet/myricom/myri10ge/myri10ge.c
clean_blob drivers/net/ethernet/myricom/myri10ge/myri10ge.c
@@ -1688,23 +1639,18 @@ clean_kconfig drivers/net/ethernet/toshiba/Kconfig SPIDER_NET
clean_mk CONFIG_SPIDER_NET drivers/net/ethernet/toshiba/Makefile
announce TEHUTI - "Tehuti Networks 10G Ethernet"
-drop_fw_file firmware/tehuti/bdx.bin.ihex firmware/tehuti/bdx.bin
reject_firmware drivers/net/ethernet/tehuti/tehuti.c
clean_blob drivers/net/ethernet/tehuti/tehuti.c
clean_kconfig drivers/net/ethernet/tehuti/Kconfig TEHUTI
clean_mk CONFIG_TEHUTI drivers/net/ethernet/tehuti/Makefile
announce TIGON3 - "Broadcom Tigon3"
-drop_fw_file firmware/tigon/tg3.bin.ihex firmware/tigon/tg3.bin
-drop_fw_file firmware/tigon/tg3_tso.bin.ihex firmware/tigon/tg3_tso.bin
-drop_fw_file firmware/tigon/tg3_tso5.bin.ihex firmware/tigon/tg3_tso5.bin
reject_firmware drivers/net/ethernet/broadcom/tg3.c
clean_blob drivers/net/ethernet/broadcom/tg3.c
clean_kconfig drivers/net/ethernet/broadcom/Kconfig TIGON3
clean_mk CONFIG_TIGON3 drivers/net/ethernet/broadcom/Makefile
announce TYPHOON - "3cr990 series Typhoon"
-drop_fw_file firmware/3com/typhoon.bin.ihex firmware/3com/typhoon.bin
reject_firmware drivers/net/ethernet/3com/typhoon.c
clean_blob drivers/net/ethernet/3com/typhoon.c
clean_kconfig drivers/net/ethernet/3com/Kconfig TYPHOON
@@ -1736,8 +1682,6 @@ clean_mk CONFIG_COPS drivers/net/appletalk/Makefile
# hamradio
announce YAM - "YAM driver for AX.25"
-drop_fw_file firmware/yam/1200.bin.ihex firmware/yam/1200.bin
-drop_fw_file firmware/yam/9600.bin.ihex firmware/yam/9600.bin
reject_firmware drivers/net/hamradio/yam.c
clean_blob drivers/net/hamradio/yam.c
clean_kconfig drivers/net/hamradio/Kconfig YAM
@@ -1746,18 +1690,17 @@ clean_mk CONFIG_YAM drivers/net/hamradio/Makefile
# irda
announce USB_IRDA - "IrDA USB dongles"
-reject_firmware drivers/net/irda/irda-usb.c
-clean_blob drivers/net/irda/irda-usb.c
+reject_firmware drivers/staging/irda/drivers/irda-usb.c
+clean_blob drivers/staging/irda/drivers/irda-usb.c
clean_sed '
s,\(char stir421x_fw_name\)\[12\];,\1[16];,
-' drivers/net/irda/irda-usb.c "avoid buffer overflow with deblobbed filename"
-clean_kconfig drivers/net/irda/Kconfig USB_IRDA
-clean_mk CONFIG_USB_IRDA drivers/net/irda/Makefile
+' drivers/staging/irda/drivers/irda-usb.c "avoid buffer overflow with deblobbed filename"
+clean_kconfig drivers/staging/irda/drivers/Kconfig USB_IRDA
+clean_mk CONFIG_USB_IRDA drivers/staging/irda/drivers/Makefile
# smsc
announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA"
-drop_fw_file firmware/ositech/Xilinx7OD.bin.ihex firmware/ositech/Xilinx7OD.bin
reject_firmware drivers/net/ethernet/smsc/smc91c92_cs.c
clean_blob drivers/net/ethernet/smsc/smc91c92_cs.c
clean_kconfig drivers/net/ethernet/smsc/Kconfig PCMCIA_SMC91C92
@@ -1801,29 +1744,17 @@ clean_mk CONFIG_NFC_S3FWRN5 drivers/nfc/s3fwrn5/Makefile
# clean_kconfig drivers/pcmcia/Kconfig 'PCCARD'
# clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile
-announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support"
-# This is not software; it's Free, but GPLed without in-tree sources.
-drop_fw_file firmware/cis/3CCFEM556.cis.ihex firmware/cis/3CCFEM556.cis
+# announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support"
# clean_blob drivers/net/pcmcia/3c574_cs.c
# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574'
# clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile
-announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support"
-# This is not software; it's Free, but GPLed without in-tree sources.
-drop_fw_file firmware/cis/3CXEM556.cis.ihex firmware/cis/3CXEM556.cis
+# announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support"
# clean_blob drivers/net/pcmcia/3c589_cs.c
# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589'
# clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile
-announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support"
-# These are not software; they're Free, but GPLed without in-tree sources.
-drop_fw_file firmware/cis/LA-PCM.cis.ihex firmware/cis/LA-PCM.cis
-drop_fw_file firmware/cis/PCMLM28.cis.ihex firmware/cis/PCMLM28.cis
-drop_fw_file firmware/cis/DP83903.cis.ihex firmware/cis/DP83903.cis
-drop_fw_file firmware/cis/NE2K.cis.ihex firmware/cis/NE2K.cis
-drop_fw_file firmware/cis/tamarack.cis.ihex firmware/cis/tamarack.cis
-drop_fw_file firmware/cis/PE-200.cis.ihex firmware/cis/PE-200.cis
-drop_fw_file firmware/cis/PE520.cis.ihex firmware/cis/PE520.cis
+# announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support"
# clean_blob drivers/net/pcmcia/pcnet_cs.c
# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET'
# clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile
@@ -1831,10 +1762,6 @@ drop_fw_file firmware/cis/PE520.cis.ihex firmware/cis/PE520.cis
# usb
announce USB_KAWETH - "USB KLSI KL5USB101-based ethernet device support"
-drop_fw_file firmware/kaweth/new_code.bin.ihex firmware/kaweth/new_code.bin
-drop_fw_file firmware/kaweth/new_code_fix.bin.ihex firmware/kaweth/new_code_fix.bin
-drop_fw_file firmware/kaweth/trigger_code.bin.ihex firmware/kaweth/trigger_code.bin
-drop_fw_file firmware/kaweth/trigger_code_fix.bin.ihex firmware/kaweth/trigger_code_fix.bin
reject_firmware drivers/net/usb/kaweth.c
clean_blob drivers/net/usb/kaweth.c
clean_kconfig drivers/net/usb/Kconfig USB_KAWETH
@@ -2302,6 +2229,13 @@ clean_blob drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c
clean_kconfig drivers/net/wireless/realtek/rtlwifi/Kconfig RTL8821AE
clean_mk CONFIG_RTL8821AE drivers/net/wireless/realtek/rtlwifi/rtl8821ae/Makefile
+announce R8822BE - "Realtek RTL8822BE Wireless Network Adapter"
+reject_firmware drivers/staging/rtlwifi/core.c
+reject_firmware drivers/staging/rtlwifi/rtl8822be/sw.c
+clean_blob drivers/staging/rtlwifi/rtl8822be/sw.c
+clean_kconfig drivers/staging/rtlwifi/Kconfig R8822BE
+clean_mk CONFIG_R8822BE drivers/staging/rtlwifi/Makefile
+
announce VT6656 - "VIA Technologies VT6656 support"
reject_firmware drivers/staging/vt6656/firmware.c
clean_blob drivers/staging/vt6656/firmware.c
@@ -2494,11 +2428,12 @@ clean_mk CONFIG_WIMAX_I2400M drivers/net/wimax/i2400m/Makefile
announce INFINIBAND_HFI1 - "Intel OPA Gen1 support"
reject_firmware drivers/infiniband/hw/hfi1/firmware.c
clean_blob drivers/infiniband/hw/hfi1/firmware.c
+reject_firmware drivers/infiniband/hw/hfi1/platform.c
+clean_blob drivers/infiniband/hw/hfi1/platform.c
clean_kconfig drivers/infiniband/hw/hfi1/Kconfig INFINIBAND_HFI1
clean_mk CONFIG_INFINIBAND_HFI1 drivers/infiniband/hw/hfi1/Makefile
announce INFINIBAND_QIB - "QLogic PCIe HCA support"
-drop_fw_file firmware/qlogic/sd7220.fw.ihex firmware/qlogic/sd7220.fw
reject_firmware drivers/infiniband/hw/qib/qib_sd7220.c
clean_blob drivers/infiniband/hw/qib/qib_sd7220.c
clean_kconfig drivers/infiniband/hw/qib/Kconfig INFINIBAND_QIB
@@ -2543,19 +2478,7 @@ clean_mk CONFIG_MISDN_SPEEDFAX drivers/isdn/hardware/mISDN/Makefile
# Serial #
##########
-announce SERIAL_8250_CS - "8250/16550 PCMCIA device support"
-# These are not software; they're Free, but GPLed without in-tree sources.
-drop_fw_file firmware/cis/MT5634ZLX.cis.ihex firmware/cis/MT5634ZLX.cis
-drop_fw_file firmware/cis/RS-COM-2P.cis.ihex firmware/cis/RS-COM-2P.cis
-drop_fw_file firmware/cis/COMpad2.cis.ihex firmware/cis/COMpad2.cis
-drop_fw_file firmware/cis/COMpad4.cis.ihex firmware/cis/COMpad4.cis
-# These are not software; they're Free, but GPLed without textual sources.
-# It could be assumed that these binaries *are* sources, since they
-# can be trivially converted back to a textual form, without loss,
-# but we're better off safe than sorry, so remove them from our tree.
-drop_fw_file firmware/cis/SW_555_SER.cis.ihex firmware/cis/SW_555_SER.cis
-drop_fw_file firmware/cis/SW_7xx_SER.cis.ihex firmware/cis/SW_7xx_SER.cis
-drop_fw_file firmware/cis/SW_8xx_SER.cis.ihex firmware/cis/SW_8xx_SER.cis
+# announce SERIAL_8250_CS - "8250/16550 PCMCIA device support"
# clean_blob drivers/tty/serial/serial_cs.c
# clean_kconfig drivers/tty/serial/Kconfig 'SERIAL_8250_CS'
# clean_mk CONFIG_SERIAL_8250_CS drivers/tty/serial/Makefile
@@ -2750,26 +2673,18 @@ clean_mk CONFIG_MMC_VUB300 drivers/mmc/host/Makefile
########
announce SCSI_QLOGICPTI - "PTI Qlogic, ISP Driver"
-drop_fw_file firmware/qlogic/isp1000.bin.ihex firmware/qlogic/isp1000.bin
reject_firmware drivers/scsi/qlogicpti.c
clean_blob drivers/scsi/qlogicpti.c
clean_kconfig drivers/scsi/Kconfig SCSI_QLOGICPTI
clean_mk CONFIG_SCSI_QLOGICPTI drivers/scsi/Makefile
announce SCSI_ADVANSYS - "AdvanSys SCSI"
-drop_fw_file firmware/advansys/mcode.bin.ihex firmware/advansys/mcode.bin
-drop_fw_file firmware/advansys/3550.bin.ihex firmware/advansys/3550.bin
-drop_fw_file firmware/advansys/38C0800.bin.ihex firmware/advansys/38C0800.bin
-drop_fw_file firmware/advansys/38C1600.bin.ihex firmware/advansys/38C1600.bin
reject_firmware drivers/scsi/advansys.c
clean_blob drivers/scsi/advansys.c
clean_kconfig drivers/scsi/Kconfig SCSI_ADVANSYS
clean_mk CONFIG_SCSI_ADVANSYS drivers/scsi/Makefile
announce SCSI_QLOGIC_1280 - "Qlogic QLA 1240/1x80/1x160 SCSI"
-drop_fw_file firmware/qlogic/1040.bin.ihex firmware/qlogic/1040.bin
-drop_fw_file firmware/qlogic/1280.bin.ihex firmware/qlogic/1280.bin
-drop_fw_file firmware/qlogic/12160.bin.ihex firmware/qlogic/12160.bin
reject_firmware drivers/scsi/qla1280.c
clean_blob drivers/scsi/qla1280.c
clean_kconfig drivers/scsi/Kconfig SCSI_QLOGIC_1280
@@ -2867,21 +2782,12 @@ clean_mk CONFIG_USB_XHCI_TEGRA drivers/usb/host/Makefile
# misc
announce USB_EMI26 - "EMI 2|6 USB Audio interface"
-# These files are not under the GPL, better remove them all.
-drop_fw_file firmware/emi26/bitstream.HEX firmware/emi26/bitstream.fw
-drop_fw_file firmware/emi26/firmware.HEX firmware/emi26/firmware.fw
-drop_fw_file firmware/emi26/loader.HEX firmware/emi26/loader.fw
reject_firmware drivers/usb/misc/emi26.c
clean_blob drivers/usb/misc/emi26.c
clean_kconfig drivers/usb/misc/Kconfig USB_EMI26
clean_mk CONFIG_USB_EMI26 drivers/usb/misc/Makefile
announce USB_EMI62 - "EMI 6|2m USB Audio interface"
-# These files are probably not under the GPL, better remove them all.
-drop_fw_file firmware/emi62/bitstream.HEX firmware/emi62/bitstream.fw
-drop_fw_file firmware/emi62/loader.HEX firmware/emi62/loader.fw
-drop_fw_file firmware/emi62/midi.HEX firmware/emi62/midi.fw
-drop_fw_file firmware/emi62/spdif.HEX firmware/emi62/spdif.fw
reject_firmware drivers/usb/misc/emi62.c
clean_blob drivers/usb/misc/emi62.c
clean_kconfig drivers/usb/misc/Kconfig USB_EMI62
@@ -2907,46 +2813,29 @@ clean_mk CONFIG_USB_STORAGE_ENE_UB6250 drivers/usb/storage/Makefile
# serial
announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver"
-drop_fw_file firmware/keyspan/mpr.HEX firmware/keyspan/mpr.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_MPR
-drop_fw_file firmware/keyspan/usa18x.HEX firmware/keyspan/usa18x.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA18X
-drop_fw_file firmware/keyspan/usa19.HEX firmware/keyspan/usa19.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19
-drop_fw_file firmware/keyspan/usa19qi.HEX firmware/keyspan/usa19qi.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19QI
-drop_fw_file firmware/keyspan/usa19qw.HEX firmware/keyspan/usa19qw.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19QW
-drop_fw_file firmware/keyspan/usa19w.HEX firmware/keyspan/usa19w.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA19W
-drop_fw_file firmware/keyspan/usa28.HEX firmware/keyspan/usa28.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28
-drop_fw_file firmware/keyspan/usa28xa.HEX firmware/keyspan/usa28xa.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28XA
-drop_fw_file firmware/keyspan/usa28xb.HEX firmware/keyspan/usa28xb.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28XB
-drop_fw_file firmware/keyspan/usa28x.HEX firmware/keyspan/usa28x.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA28X
-drop_fw_file firmware/keyspan/usa49w.HEX firmware/keyspan/usa49w.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA49W
-drop_fw_file firmware/keyspan/usa49wlc.HEX firmware/keyspan/usa49wlc.fw
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN_USA49WLC
clean_blob drivers/usb/serial/keyspan.c
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_KEYSPAN
clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile
announce USB_SERIAL_EDGEPORT - "USB Inside Out Edgeport Serial Driver"
-clean_fw firmware/edgeport/boot.H16 firmware/edgeport/boot.fw
-clean_fw firmware/edgeport/boot2.H16 firmware/edgeport/boot2.fw
-clean_fw firmware/edgeport/down.H16 firmware/edgeport/down.fw
-clean_fw firmware/edgeport/down2.H16 firmware/edgeport/down2.fw
reject_firmware drivers/usb/serial/io_edgeport.c
clean_blob drivers/usb/serial/io_edgeport.c
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_EDGEPORT
clean_mk CONFIG_USB_SERIAL_EDGEPORT drivers/usb/serial/Makefile
announce USB_SERIAL_EDGEPORT_TI - "USB Inside Out Edgeport Serial Driver (TI devices)"
-clean_fw firmware/edgeport/down3.bin.ihex firmware/edgeport/down3.bin
reject_firmware drivers/usb/serial/io_ti.c
clean_sed 's,firmware "down3\.bin",firmware "(DEBLOBBED)",
' drivers/usb/serial/io_ti.c 'deblobbed comment'
@@ -2969,20 +2858,12 @@ clean_mk CONFIG_USB_SERIAL_MXUPORT drivers/usb/serial/Makefile
# clean_mk CONFIG_USB_SERIAL_MXUPORT11 drivers/usb/serial/Makefile
announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver"
-drop_fw_file firmware/ti_3410.fw.ihex firmware/ti_3410.fw
-drop_fw_file firmware/ti_5052.fw.ihex firmware/ti_5052.fw
-drop_fw_file firmware/mts_cdma.fw.ihex firmware/mts_cdma.fw
-drop_fw_file firmware/mts_gsm.fw.ihex firmware/mts_gsm.fw
-drop_fw_file firmware/mts_edge.fw.ihex firmware/mts_edge.fw
reject_firmware drivers/usb/serial/ti_usb_3410_5052.c
clean_blob drivers/usb/serial/ti_usb_3410_5052.c
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_TI
clean_mk CONFIG_USB_SERIAL_TI drivers/usb/serial/Makefile
announce USB_SERIAL_WHITEHEAT - "USB ConnectTech WhiteHEAT Serial Driver"
-clean_fw firmware/whiteheat.HEX firmware/whiteheat.fw
-clean_fw firmware/whiteheat_loader.HEX firmware/whiteheat_loader.fw
-clean_fw firmware/whiteheat_loader_debug.HEX firmware/whiteheat_loader_debug.fw
clean_blob drivers/usb/serial/whiteheat.c
clean_kconfig drivers/usb/serial/Kconfig USB_SERIAL_WHITEHEAT
clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile
@@ -3056,42 +2937,30 @@ clean_kconfig sound/pci/Kconfig SND_CS46XX
clean_mk CONFIG_SND_CS46XX sound/pci/cs46xx/Makefile
announce SND_KORG1212 - "Korg 1212 IO"
-drop_fw_file firmware/korg/k1212.dsp.ihex firmware/korg/k1212.dsp
reject_firmware sound/pci/korg1212/korg1212.c
clean_blob sound/pci/korg1212/korg1212.c
clean_kconfig sound/pci/Kconfig SND_KORG1212
clean_mk CONFIG_SND_KORG1212 sound/pci/korg1212/Makefile
announce SND_MAESTRO3 - "ESS Allegro/Maestro3"
-drop_fw_file firmware/ess/maestro3_assp_kernel.fw.ihex firmware/ess/maestro3_assp_kernel.fw
-drop_fw_file firmware/ess/maestro3_assp_minisrc.fw.ihex firmware/ess/maestro3_assp_minisrc.fw
reject_firmware sound/pci/maestro3.c
clean_blob sound/pci/maestro3.c
clean_kconfig sound/pci/Kconfig SND_MAESTRO3
clean_mk CONFIG_SND_MAESTRO3 sound/pci/Makefile
announce SND_YMFPCI - "Yamaha YMF724/740/744/754"
-drop_fw_file firmware/yamaha/ds1_ctrl.fw.ihex firmware/yamaha/ds1_ctrl.fw
-drop_fw_file firmware/yamaha/ds1_dsp.fw.ihex firmware/yamaha/ds1_dsp.fw
-drop_fw_file firmware/yamaha/ds1e_ctrl.fw.ihex firmware/yamaha/ds1e_ctrl.fw
reject_firmware sound/pci/ymfpci/ymfpci_main.c
clean_blob sound/pci/ymfpci/ymfpci_main.c
clean_kconfig sound/pci/Kconfig SND_YMFPCI
clean_mk CONFIG_SND_YMFPCI sound/pci/ymfpci/Makefile
announce SND_SB16_CSP - "SB16 Advanced Signal Processor"
-drop_fw_file firmware/sb16/alaw_main.csp.ihex firmware/sb16/alaw_main.csp
-drop_fw_file firmware/sb16/mulaw_main.csp.ihex firmware/sb16/mulaw_main.csp
-drop_fw_file firmware/sb16/ima_adpcm_init.csp.ihex firmware/sb16/ima_adpcm_init.csp
-drop_fw_file firmware/sb16/ima_adpcm_capture.csp.ihex firmware/sb16/ima_adpcm_capture.csp
-drop_fw_file firmware/sb16/ima_adpcm_playback.csp.ihex firmware/sb16/ima_adpcm_playback.csp
reject_firmware sound/isa/sb/sb16_csp.c
clean_blob sound/isa/sb/sb16_csp.c
clean_kconfig sound/isa/Kconfig SND_SB16_CSP
clean_mk CONFIG_SND_SB16_CSP sound/isa/sb/Makefile
announce SND_WAVEFRONT - "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)"
-drop_fw_file firmware/yamaha/yss225_registers.bin.ihex firmware/yamaha/yss225_registers.bin
reject_firmware sound/isa/wavefront/wavefront_fx.c
clean_blob sound/isa/wavefront/wavefront_fx.c
reject_firmware sound/isa/wavefront/wavefront_synth.c
@@ -3319,6 +3188,7 @@ reject_firmware sound/soc/intel/skylake/skl-sst.c
reject_firmware sound/soc/intel/skylake/skl-sst-utils.c
reject_firmware sound/soc/intel/skylake/skl-topology.c
reject_firmware sound/soc/intel/skylake/bxt-sst.c
+reject_firmware sound/soc/intel/skylake/cnl-sst.c
clean_blob sound/soc/intel/skylake/skl.c
clean_blob sound/soc/intel/skylake/skl-nhlt.c
clean_blob sound/soc/intel/skylake/skl-sst.c
@@ -3448,6 +3318,12 @@ clean_mk CONFIG_GREYBUS_BOOTROM drivers/staging/greybus/Makefile
# SOC #
#######
+announce XRX200_PHY_FW - "XRX200 PHY firmware loader"
+reject_firmware drivers/soc/lantiq/gphy.c
+clean_blob drivers/soc/lantiq/gphy.c
+clean_kconfig arch/mips/lantiq/Kconfig XRX200_PHY_FW
+clean_mk CONFIG_XRX200_PHY_FW drivers/soc/lantiq/Makefile
+
announce QCOM_MDT_LOADER - "Qualcomm Peripheral Image Loader"
reject_firmware drivers/soc/qcom/mdt_loader.c
clean_kconfig drivers/soc/qcom/Kconfig QCOM_MDT_LOADER
@@ -3482,8 +3358,6 @@ clean_blob Documentation/sound/oss/README.OSS
clean_file scripts/get_dvb_firmware
clean_file scripts/extract_xc3028.pl
clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name'
-clean_blob firmware/README.AddingFirmware
-clean_blob firmware/WHENCE
if $errors; then
echo errors above were ignored because of --force >&2
diff --git a/freed-ora/current/f26/deblob-check b/freed-ora/current/f26/deblob-check
index 5af2305f4..98bb48d2b 100755
--- a/freed-ora/current/f26/deblob-check
+++ b/freed-ora/current/f26/deblob-check
@@ -1,6 +1,6 @@
#! /bin/sh
-# deblob-check version 2017-08-26
+# deblob-check version 2017-10-23
# Inspired in gNewSense's find-firmware script.
# Written by Alexandre Oliva <lxoliva@fsfla.org>
@@ -4859,6 +4859,64 @@ set_except () {
accept '[\t]ret[ ]=[ ]reject_firmware_nowait[(][^)]*[,][ ]qtnf_firmware_load[)][;][\n][\t]*if[ ][(]ret[ ][<][ ]0[)][\n][\t]*pr_err[(]["]request_firmware_nowait[ ]error' drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
blobname '\(adsp\|slpi\)\.mdt' drivers/remoteproc/qcom_adsp_pil.c
blobname 'wcnss\.mdt' drivers/remoteproc/qcom_wcnss.c
+
+ # New in 4.14 (up to rc5).
+ blobname 'amdgpu[/]vega10_acg_smc\.bin' drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+ blobname 'netronome[/]\(serial-%pMF-%02hhx-%02hhx\|pci-%s\)\.nffw' drivers/net/ethernet/netronome/nfp/nfp_main.c
+ blobname 'brcmfmac4373-sdio\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+ blobname 'brcmfmac4373\.bin' drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
+ blobname 'iwlwifi-QuQnj-\([af]0-hr-a0\|a0-jf-b0\)-' drivers/net/wireless/intel/iwlwifi/cfg/a000.c
+ blobname 'rt5514_dsp_fw3\.bin' sound/soc/codecs/rt5514.h
+ blobname 'intel[/]dsp_fw_cnl\.bin' sound/soc/intel/skylake/skl.c
+ initnc '__aes_arm\(64\)\?_inverse_sbox:[\n][\t]\.byte[ \t]*' arch/arm/crypto/aes-cipher-core.S
+ defsnc 'static[ ]const[ ]struct[ ]hsdk_pll_cfg[ ]asdt_pll_cfg\[\][ ]=' drivers/clk/clk-hsdk-pll.c
+ defsnc 'static[ ]const[ ]struct[ ]clk_div_table[ ]d1cpre_div_table\[\][ ]=' drivers/clk/clk-stm32h7.c
+ defsnc 'static[ ]const[ ]struct[ ]pctl_data[ ]pctl[01]_data\[\][ ]=' drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c
+ defsnc '[\t]static[ ]const[ ]u16[ ]map\[\][ ]=' drivers/hwmon/asc7621.c
+ defsc 'static[ ]const[ ]struct[ ]stm32h7_adc_ck_spec[ ]stm32h7_adc_ckmodes_spec\[\][ ]=' drivers/iio/adc/stm32-adc-core.c
+ defsnc 'static[ ]const[ ]int[ ]srf08_sensitivity_avail\[\][ ]=' drivers/iio/proximity/srf08.c
+ defsc 'static[ ]const[ ]struct[ ]slookup[ ]\(lnagain_\(nf\|iip3\)\|gain_\(rfagc\|channel_agc_\(nf\|iip3\)\)\)_lookup\[\][ ]=' drivers/media/dvb-frontends/stv6111.c
+ defsnc 'static[ ]const[ ]struct[ ]ov5670_reg[ ]mode_\(2592x1944\|1296x972\|648x486\|2560x1440\|1280x720\|640x360\)_regs\[\][ ]=' drivers/media/i2c/ov5670.c
+ defsnc 'static[ ]const[ ]unsigned[ ]int[ ]\(gnd\|dram\|pci\|pflash\)_351[26]_pins\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c
+ defsc 'static[ ]const[ ]unsigned[ ]int[ ]pflash_351[26]_pins_extended\[\][ ]=' drivers/pinctrl/pinctrl-gemini.c
+ defsnc 'static[ ]const[ ]u16[ ]db_invert_table\[12\]\[8\][ ]=' drivers/staging/rtlwifi/phydm/phydm.c
+ defsc 'u32[ ]cck_swing_table_ch1_ch14_8723d\[CCK_TABLE_SIZE_8723D\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c
+ defsc 'u32[ ]cck_swing_table_ch1_ch14_8710b\[CCK_TABLE_SIZE_8710B\][ ]=' drivers/staging/rtlwifi/phydm/phydm_powertracking_ce.c
+ defsnc 'static[ ]u32[ ]array_mp_8822b_\(agc_tab\|phy_reg\(_pg\)\?\|mac_reg\|radio[ab]\)\[\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_bb.c
+ defsnc 'static[ ]u8[ ]delta_swing_index_mp_5g[ba]_[np]_txpwrtrack_\(type[01246789]_\|type3_type5_\)\?8822b[\n\t ]*\[\]\[DELTA_SWINGIDX_SIZE\][ ]=' drivers/staging/rtlwifi/phydm/rtl8822b/halhwimg8822b_rf.c
+ defsnc 'static[ ]const[ ]struct[ ]tsadc_table[ ]rk3328_code_table\[\][ ]=' drivers/thermal/rockchip_thermal.c
+ defsnc 'static[ ]const[ ]BYTE[ ]LL_Code\[64\][ ]=' lib/zstd/compress.c
+ defsnc 'static[ ]const[ ]BYTE[ ]ML_Code\[128\][ ]=' lib/zstd/compress.c
+ defsc 'static[ ]const[ ]FSE_decode_t4[ ]LL_defaultDTable\[[(]1[ ][<][<][ ]LL_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c
+ defsc 'static[ ]const[ ]FSE_decode_t4[ ]ML_defaultDTable\[[(]1[ ][<][<][ ]ML_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c
+ defsc 'static[ ]const[ ]FSE_decode_t4[ ]OF_defaultDTable\[[(]1[ ][<][<][ ]OF_DEFAULTNORMLOG[)][ ][+][ ]1\][ ]=' lib/zstd/decompress.c
+ defsnc '[\t]static[ ]const[ ]U32[ ][LM]L_base\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/decompress.c
+ defsnc 'static[ ]const[ ]U32[ ][LM]L_bits\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h
+ defsnc 'static[ ]const[ ]S16[ ][LM]L_defaultNorm\[Max[LM]L[ ][+][ ]1\][ ]=' lib/zstd/zstd_internal.h
+ defsnc 'static[ ]const[ ]struct[ ]cs43130_pll_params[ ]pll_ratio_table\[\][ ]=' sound/soc/codecs/cs43130.c
+ defsnc 'static[ ]const[ ]struct[ ]reg_sequence[ ]pcm_ch_\(en\|dis\)_seq\[\][ ]=' sound/soc/codecs/cs43130.c
+ defsnc 'static[ ]const[ ]struct[ ]cs43130_clk_gen[ ]cs43130_\(16\|32\|48\|64\)_clk_gen\[\][ ]=' sound/soc/codecs/cs43130.c
+ defsnc 'static[ ]const[ ]struct[ ]reg_default[ ]rt274_\(index_def\|reg\)\[\][ ]=' sound/soc/codecs/rt274.c
+ accept '[\t]report_missing_free_firmware[^\n]*[\n][\t]retval[ ]=[ ]request_firmware_into_buf[(][&]xfw[,][ ]NONFREE_FIRMWARE' include/linux/firmware.h
+ accept '[\t]if[ ][(]is_nonfree_firmware[^\n]*[\n][\t][\t]return[ ]reject_firmware_into_buf[^\n]*[\n][\t]else[\n][\t][\t]return[ ]request_firmware_into_buf[(]firmware_p[,][ ]name[,]' include/linux/firmware.h
+ accept '[#]define[ ]TEST_FIRMWARE_NAME[\t]["]test-firmware\.bin["]' lib/test_firmware.c
+ accept '[ ][*][\t]request_firmware_direct[(][)][ ]will[ ]be[ ]used[ ]instead' lib/test_firmware.c
+ accept '[ ][*][\t]of[ ]the[ ]request_firmware[*][(][)][ ]calls[ ]used[ ]in[ ]their[ ]tests' lib/test_firmware.c
+ accept '[ ][*][\t]request_firmware_direct[(][)][,][ ]otherwise[ ]request_firmware[(][)]' lib/test_firmware.c
+ accept '[\t]*test_fw_config->req_firmware[ ]=[ ]\(test_fw_config->sync_direct[ ][?][\n][ \t]*request_firmware_direct[ ][:][\n][ \t]*\)\?request_firmware[;]' lib/test_firmware.c
+ accept '[\t][\t]req->name[ ]=[ ]test_fw_config->name[;][\n][\t][\t]req->fw[ ]=[ ]NULL[;][\n][\t][\t]req->idx[ ]=[ ]i[;][\n][\t][\t]init_completion[(][&]req->completion[)][;][\n][\t][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]\([^);, \t\n]*[,][ \t\n]*\)*trigger_batched_cb[)][;]' lib/test_firmware.c
+ accept '[\t]release_firmware[(]test_firmware[)][;][\n][\t]test_firmware[ ]=[ ]NULL[;][\n][\t]rc[ ]=[ ]request_firmware_nowait[(]THIS_MODULE[,][ ]1[,][ ]name[^)\n]*[\n][ \t]*NULL[,][ ]trigger_async_request_cb[)]' lib/test_firmware.c
+ accept '[#][ ]name:[ ]test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh
+ accept '[\t]*test_\(batched_\)\?request_firmware\(_direct\|_nowait_\(uevent\|custom\)\)\?\(_nofile\)\?\([(][)]\|[ ][$]i\)' tools/testing/selftests/firmware/fw_filesystem.sh
+ accept '[\t]echo[ ]-n[ ]["]Batched[ ]request_firmware\(_direct\|_nowait\)\?[(]\(uevent=\(true\|false\)\)\?[)][ ]\(nofile[ ]\)\?try[ ]#[$]1:[ ]["]' tools/testing/selftests/firmware/fw_filesystem.sh
+ accept '[\t]\(config_set_name\|test_wait_and_cancel_custom_load\)[ ]nope-test-firmware\.bin' tools/testing/selftests/firmware/fw_filesystem.sh
+ blobname 'amdgpu[/]%s_asd\.bin' drivers/gpu/drm/amd/amdgpu/psp_v10_0.c
+ blobname 'lantiq[/]xrx[23]00_phy\(22f\|11g\)_a\(14\|2[21]\)\.bin' drivers/soc/lantiq/gphy.c
+ blobname 'rtlwifi[/]rtl8822befw\.bin' drivers/staging/rtlwifi/rtl8822be/sw.c
+ # This loads a file named by the user.
+ accept '[\t]const[ ]char[ ][*]name[ ]=[ ]i915\.vbt_firmware[;][\n][\t]int[ ]ret[;][\n][\n][\t]if[ ][(]!name[ ][|][|][ ][!][*]name[)][\n][\t][\t]return[ ]-ENOENT[;][\n][\n][\t]ret[ ]=[ ]request_firmware[(][&]fw[,][ ]name[,]' drivers/gpu/drm/i915/intel_opregion.c
+ # New in 4.14-rc6.
+ defsnc '[\t]static[ ]const[ ]struct[ ]nphy_txiqcal_ladder[ ]ladder_\(lo\|iq\)\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phy_n.c
;;
*/*freedo*.patch | */*logo*.patch)
diff --git a/freed-ora/current/f26/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG b/freed-ora/current/f26/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG
deleted file mode 100644
index 7cd4fec86..000000000
--- a/freed-ora/current/f26/debugconfig/arm/armv7/CONFIG_DMADEVICES_DEBUG
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DMADEVICES_DEBUG is not set
diff --git a/freed-ora/current/f26/debugconfig/x86/x86_64/CONFIG_NR_CPUS b/freed-ora/current/f26/debugconfig/x86/x86_64/CONFIG_NR_CPUS
new file mode 100644
index 000000000..441191641
--- /dev/null
+++ b/freed-ora/current/f26/debugconfig/x86/x86_64/CONFIG_NR_CPUS
@@ -0,0 +1 @@
+CONFIG_NR_CPUS=8192
diff --git a/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch b/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch
index 2e39d6e70..d7252c498 100644
--- a/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch
+++ b/freed-ora/current/f26/drm-cma-reduce-dmesg-logs.patch
@@ -41,56 +41,3 @@ index 373e33f22be4..020e7668dfab 100644
size);
ret = -ENOMEM;
goto error;
-From patchwork Wed Oct 4 12:54:47 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: cma: Take __GFP_NOWARN into account in cma_alloc()
-From: Boris Brezillon <boris.brezillon@free-electrons.com>
-X-Patchwork-Id: 180554
-Message-Id: <20171004125447.15195-1-boris.brezillon@free-electrons.com>
-To: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
- Laura Abbott <labbott@redhat.com>
-Cc: Boris Brezillon <boris.brezillon@free-electrons.com>,
- Jaewon Kim <jaewon31.kim@samsung.com>, dri-devel@lists.freedesktop.org
-Date: Wed, 4 Oct 2017 14:54:47 +0200
-
-cma_alloc() unconditionally prints an INFO message when the CMA
-allocation fails. Make this message conditional on the non-presence of
-__GFP_NOWARN in gfp_mask.
-
-Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
-Acked-by: Laura Abbott <labbott@redhat.com>
----
-Hello,
-
-This patch aims at removing INFO messages that are displayed when the
-VC4 driver tries to allocate buffer objects. From the driver perspective
-an allocation failure is acceptable, and the driver can possibly do
-something to make following allocation succeed (like flushing the VC4
-internal cache).
-
-Also, I don't understand why this message is only an INFO message, and
-not a WARN (pr_warn()). Please let me know if you have good reasons to
-keep it as an unconditional pr_info().
-
-Thanks,
-
-Boris
----
- mm/cma.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mm/cma.c b/mm/cma.c
-index c0da318c020e..022e52bd8370 100644
---- a/mm/cma.c
-+++ b/mm/cma.c
-@@ -460,7 +460,7 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align,
-
- trace_cma_alloc(pfn, page, count, align);
-
-- if (ret) {
-+ if (ret && !(gfp_mask & __GFP_NOWARN)) {
- pr_info("%s: alloc failed, req-size: %zu pages, ret: %d\n",
- __func__, count, ret);
- cma_debug_show_areas(cma);
diff --git a/freed-ora/current/f26/drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch b/freed-ora/current/f26/drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch
new file mode 100644
index 000000000..07f81116a
--- /dev/null
+++ b/freed-ora/current/f26/drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch
@@ -0,0 +1,200 @@
+From patchwork Thu Aug 17 12:37:06 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+Subject: drm/i915: Boost GPU clocks if we miss the pageflip's vblank
+From: Chris Wilson <chris@chris-wilson.co.uk>
+X-Patchwork-Id: 172204
+Message-Id: <20170817123706.6777-1-chris@chris-wilson.co.uk>
+To: intel-gfx@lists.freedesktop.org
+Cc: Daniel Vetter <daniel.vetter@intel.com>
+Date: Thu, 17 Aug 2017 13:37:06 +0100
+
+If we miss the current vblank because the gpu was busy, that may cause a
+jitter as the frame rate temporarily drops. We try to limit the impact
+of this by then boosting the GPU clock to deliver the frame as quickly
+as possible. Originally done in commit 6ad790c0f5ac ("drm/i915: Boost GPU
+frequency if we detect outstanding pageflips") but was never forward
+ported to atomic and finally dropped in commit fd3a40242e87 ("drm/i915:
+Rip out legacy page_flip completion/irq handling").
+
+References: https://bugs.freedesktop.org/show_bug.cgi?id=102199
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
+Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Cc: Daniel Vetter <daniel.vetter@intel.com>
+Tested-by: Lyude Paul <lyude@redhat.com>
+Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
+---
+ drivers/gpu/drm/i915/intel_display.c | 59 ++++++++++++++++++++++++++++++++++++
+ drivers/gpu/drm/i915/intel_drv.h | 1 -
+ drivers/gpu/drm/i915/intel_pm.c | 42 ++-----------------------
+ 3 files changed, 62 insertions(+), 40 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 0e93ec201fe3..7d5b19553637 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -12636,6 +12636,55 @@ static const struct drm_crtc_funcs intel_crtc_funcs = {
+ .set_crc_source = intel_crtc_set_crc_source,
+ };
+
++struct wait_rps_boost {
++ struct wait_queue_entry wait;
++
++ struct drm_crtc *crtc;
++ struct drm_i915_gem_request *request;
++};
++
++static int do_rps_boost(struct wait_queue_entry *_wait,
++ unsigned mode, int sync, void *key)
++{
++ struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
++ struct drm_i915_gem_request *rq = wait->request;
++
++ gen6_rps_boost(rq, NULL);
++ i915_gem_request_put(rq);
++
++ drm_crtc_vblank_put(wait->crtc);
++
++ list_del(&wait->wait.entry);
++ kfree(wait);
++ return 1;
++}
++
++static void add_rps_boost_after_vblank(struct drm_crtc *crtc,
++ struct dma_fence *fence)
++{
++ struct wait_rps_boost *wait;
++
++ if (!dma_fence_is_i915(fence))
++ return;
++
++ if (drm_crtc_vblank_get(crtc))
++ return;
++
++ wait = kmalloc(sizeof(*wait), GFP_KERNEL);
++ if (!wait) {
++ drm_crtc_vblank_put(crtc);
++ return;
++ }
++
++ wait->request = to_request(dma_fence_get(fence));
++ wait->crtc = crtc;
++
++ wait->wait.func = do_rps_boost;
++ wait->wait.flags = 0;
++
++ add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
++}
++
+ /**
+ * intel_prepare_plane_fb - Prepare fb for usage on plane
+ * @plane: drm plane to prepare for
+@@ -12733,12 +12782,22 @@ intel_prepare_plane_fb(struct drm_plane *plane,
+ return ret;
+
+ if (!new_state->fence) { /* implicit fencing */
++ struct dma_fence *fence;
++
+ ret = i915_sw_fence_await_reservation(&intel_state->commit_ready,
+ obj->resv, NULL,
+ false, I915_FENCE_TIMEOUT,
+ GFP_KERNEL);
+ if (ret < 0)
+ return ret;
++
++ fence = reservation_object_get_excl_rcu(obj->resv);
++ if (fence) {
++ add_rps_boost_after_vblank(new_state->crtc, fence);
++ dma_fence_put(fence);
++ }
++ } else {
++ add_rps_boost_after_vblank(new_state->crtc, new_state->fence);
+ }
+
+ return 0;
+diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
+index fa47285918f4..e092354b4d63 100644
+--- a/drivers/gpu/drm/i915/intel_drv.h
++++ b/drivers/gpu/drm/i915/intel_drv.h
+@@ -1844,7 +1844,6 @@ void gen6_rps_reset_ei(struct drm_i915_private *dev_priv);
+ void gen6_rps_idle(struct drm_i915_private *dev_priv);
+ void gen6_rps_boost(struct drm_i915_gem_request *rq,
+ struct intel_rps_client *rps);
+-void intel_queue_rps_boost_for_request(struct drm_i915_gem_request *req);
+ void g4x_wm_get_hw_state(struct drm_device *dev);
+ void vlv_wm_get_hw_state(struct drm_device *dev);
+ void ilk_wm_get_hw_state(struct drm_device *dev);
+diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
+index ed662937ec3c..c9fa2eb1903c 100644
+--- a/drivers/gpu/drm/i915/intel_pm.c
++++ b/drivers/gpu/drm/i915/intel_pm.c
+@@ -6169,6 +6169,7 @@ void gen6_rps_boost(struct drm_i915_gem_request *rq,
+ struct intel_rps_client *rps)
+ {
+ struct drm_i915_private *i915 = rq->i915;
++ unsigned long flags;
+ bool boost;
+
+ /* This is intentionally racy! We peek at the state here, then
+@@ -6178,13 +6179,13 @@ void gen6_rps_boost(struct drm_i915_gem_request *rq,
+ return;
+
+ boost = false;
+- spin_lock_irq(&rq->lock);
++ spin_lock_irqsave(&rq->lock, flags);
+ if (!rq->waitboost && !i915_gem_request_completed(rq)) {
+ atomic_inc(&i915->rps.num_waiters);
+ rq->waitboost = true;
+ boost = true;
+ }
+- spin_unlock_irq(&rq->lock);
++ spin_unlock_irqrestore(&rq->lock, flags);
+ if (!boost)
+ return;
+
+@@ -9132,43 +9133,6 @@ int intel_freq_opcode(struct drm_i915_private *dev_priv, int val)
+ return DIV_ROUND_CLOSEST(val, GT_FREQUENCY_MULTIPLIER);
+ }
+
+-struct request_boost {
+- struct work_struct work;
+- struct drm_i915_gem_request *req;
+-};
+-
+-static void __intel_rps_boost_work(struct work_struct *work)
+-{
+- struct request_boost *boost = container_of(work, struct request_boost, work);
+- struct drm_i915_gem_request *req = boost->req;
+-
+- if (!i915_gem_request_completed(req))
+- gen6_rps_boost(req, NULL);
+-
+- i915_gem_request_put(req);
+- kfree(boost);
+-}
+-
+-void intel_queue_rps_boost_for_request(struct drm_i915_gem_request *req)
+-{
+- struct request_boost *boost;
+-
+- if (req == NULL || INTEL_GEN(req->i915) < 6)
+- return;
+-
+- if (i915_gem_request_completed(req))
+- return;
+-
+- boost = kmalloc(sizeof(*boost), GFP_ATOMIC);
+- if (boost == NULL)
+- return;
+-
+- boost->req = i915_gem_request_get(req);
+-
+- INIT_WORK(&boost->work, __intel_rps_boost_work);
+- queue_work(req->i915->wq, &boost->work);
+-}
+-
+ void intel_pm_setup(struct drm_i915_private *dev_priv)
+ {
+ mutex_init(&dev_priv->rps.hw_lock);
diff --git a/freed-ora/current/f26/drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch b/freed-ora/current/f26/drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch
deleted file mode 100644
index 0bd0e7cef..000000000
--- a/freed-ora/current/f26/drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-From 333e2a813cdfb86ff286ece6f13bec371aa03d7b Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Thu, 17 Aug 2017 13:37:06 +0100
-Subject: [PATCH] drm/i915: Boost GPU clocks if we miss the pageflip's vblank
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If we miss the current vblank because the gpu was busy, that may cause a
-jitter as the frame rate temporarily drops. We try to limit the impact
-of this by then boosting the GPU clock to deliver the frame as quickly
-as possible. Originally done in commit 6ad790c0f5ac ("drm/i915: Boost GPU
-frequency if we detect outstanding pageflips") but was never forward
-ported to atomic and finally dropped in commit fd3a40242e87 ("drm/i915:
-Rip out legacy page_flip completion/irq handling").
-
-One of the most typical use-cases for this is a mostly idle desktop.
-Rendering one frame of the desktop's frontbuffer can easily be
-accomplished by the GPU running at low frequency, but often exceeds
-the time budget of the desktop compositor. The result is that animations
-such as opening the menu, doing a fullscreen switch, or even just trying
-to move a window around are slow and jerky. We need to respond within a
-frame to give the best impression of a smooth UX, as a compromise we
-instead respond if that first frame misses its goal. The result should
-be a near-imperceivable initial delay and a smooth animation even
-starting from idle. The cost, as ever, is that we spend more power than
-is strictly necessary as we overestimate the required GPU frequency and
-then try to ramp down.
-
-This of course is reactionary, too little, too late; nevertheless it is
-surprisingly effective.
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102199
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
-Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
-Cc: Daniel Vetter <daniel.vetter@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20170817123706.6777-1-chris@chris-wilson.co.uk
-Tested-by: Lyude Paul <lyude@redhat.com>
-Reviewed-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
----
- drivers/gpu/drm/i915/i915_gem.c | 10 +++---
- drivers/gpu/drm/i915/intel_display.c | 63 ++++++++++++++++++++++++++++++++++++
- drivers/gpu/drm/i915/intel_pm.c | 14 ++++----
- 3 files changed, 77 insertions(+), 10 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 969bac8404f1..7d409b29d75a 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -355,6 +355,7 @@ i915_gem_object_wait_fence(struct dma_fence *fence,
- long timeout,
- struct intel_rps_client *rps)
- {
-+ unsigned long irq_flags;
- struct drm_i915_gem_request *rq;
-
- BUILD_BUG_ON(I915_WAIT_INTERRUPTIBLE != 0x1);
-@@ -410,9 +411,9 @@ i915_gem_object_wait_fence(struct dma_fence *fence,
- * Compensate by giving the synchronous client credit for
- * a waitboost next time.
- */
-- spin_lock(&rq->i915->rps.client_lock);
-+ spin_lock_irqsave(&rq->i915->rps.client_lock, irq_flags);
- list_del_init(&rps->link);
-- spin_unlock(&rq->i915->rps.client_lock);
-+ spin_unlock_irqrestore(&rq->i915->rps.client_lock, irq_flags);
- }
-
- return timeout;
-@@ -5029,6 +5030,7 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file)
- {
- struct drm_i915_file_private *file_priv = file->driver_priv;
- struct drm_i915_gem_request *request;
-+ unsigned long flags;
-
- /* Clean up our request list when the client is going away, so that
- * later retire_requests won't dereference our soon-to-be-gone
-@@ -5040,9 +5042,9 @@ void i915_gem_release(struct drm_device *dev, struct drm_file *file)
- spin_unlock(&file_priv->mm.lock);
-
- if (!list_empty(&file_priv->rps.link)) {
-- spin_lock(&to_i915(dev)->rps.client_lock);
-+ spin_lock_irqsave(&to_i915(dev)->rps.client_lock, flags);
- list_del(&file_priv->rps.link);
-- spin_unlock(&to_i915(dev)->rps.client_lock);
-+ spin_unlock_irqrestore(&to_i915(dev)->rps.client_lock, flags);
- }
- }
-
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 022125082649..875eb7aec2f1 100644
---- a/drivers/gpu/drm/i915/intel_display.c
-+++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -13301,6 +13301,58 @@ static const struct drm_crtc_funcs intel_crtc_funcs = {
- .set_crc_source = intel_crtc_set_crc_source,
- };
-
-+struct wait_rps_boost {
-+ struct wait_queue_entry wait;
-+
-+ struct drm_crtc *crtc;
-+ struct drm_i915_gem_request *request;
-+};
-+
-+static int do_rps_boost(struct wait_queue_entry *_wait,
-+ unsigned mode, int sync, void *key)
-+{
-+ struct wait_rps_boost *wait = container_of(_wait, typeof(*wait), wait);
-+ struct drm_i915_gem_request *rq = wait->request;
-+
-+ gen6_rps_boost(rq->i915, NULL, rq->emitted_jiffies);
-+ i915_gem_request_put(rq);
-+
-+ drm_crtc_vblank_put(wait->crtc);
-+
-+ list_del(&wait->wait.entry);
-+ kfree(wait);
-+ return 1;
-+}
-+
-+static void add_rps_boost_after_vblank(struct drm_crtc *crtc,
-+ struct dma_fence *fence)
-+{
-+ struct wait_rps_boost *wait;
-+
-+ if (!dma_fence_is_i915(fence))
-+ return;
-+
-+ if (INTEL_GEN(to_i915(crtc->dev)) < 6)
-+ return;
-+
-+ if (drm_crtc_vblank_get(crtc))
-+ return;
-+
-+ wait = kmalloc(sizeof(*wait), GFP_KERNEL);
-+ if (!wait) {
-+ drm_crtc_vblank_put(crtc);
-+ return;
-+ }
-+
-+ wait->request = to_request(dma_fence_get(fence));
-+ wait->crtc = crtc;
-+
-+ wait->wait.func = do_rps_boost;
-+ wait->wait.flags = 0;
-+
-+ add_wait_queue(drm_crtc_vblank_waitqueue(crtc), &wait->wait);
-+}
-+
- /**
- * intel_prepare_plane_fb - Prepare fb for usage on plane
- * @plane: drm plane to prepare for
-@@ -13392,6 +13444,8 @@ intel_prepare_plane_fb(struct drm_plane *plane,
- return 0;
-
- if (!new_state->fence) { /* implicit fencing */
-+ struct dma_fence *fence;
-+
- ret = i915_sw_fence_await_reservation(&intel_state->commit_ready,
- obj->resv, NULL,
- false, I915_FENCE_TIMEOUT,
-@@ -13399,7 +13453,16 @@ intel_prepare_plane_fb(struct drm_plane *plane,
- if (ret < 0)
- return ret;
-
-+ fence = reservation_object_get_excl_rcu(obj->resv);
-+ if (fence) {
-+ add_rps_boost_after_vblank(new_state->crtc, fence);
-+ dma_fence_put(fence);
-+ }
-+
- i915_gem_object_wait_priority(obj, 0, I915_PRIORITY_DISPLAY);
-+
-+ } else {
-+ add_rps_boost_after_vblank(new_state->crtc, new_state->fence);
- }
-
- return 0;
-diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
-index 40b224b44d1b..b0ee9c4d33f4 100644
---- a/drivers/gpu/drm/i915/intel_pm.c
-+++ b/drivers/gpu/drm/i915/intel_pm.c
-@@ -6108,6 +6108,7 @@ void gen6_rps_busy(struct drm_i915_private *dev_priv)
-
- void gen6_rps_idle(struct drm_i915_private *dev_priv)
- {
-+ unsigned long flags;
- /* Flush our bottom-half so that it does not race with us
- * setting the idle frequency and so that it is bounded by
- * our rpm wakeref. And then disable the interrupts to stop any
-@@ -6127,16 +6128,17 @@ void gen6_rps_idle(struct drm_i915_private *dev_priv)
- }
- mutex_unlock(&dev_priv->rps.hw_lock);
-
-- spin_lock(&dev_priv->rps.client_lock);
-+ spin_lock_irqsave(&dev_priv->rps.client_lock, flags);
- while (!list_empty(&dev_priv->rps.clients))
- list_del_init(dev_priv->rps.clients.next);
-- spin_unlock(&dev_priv->rps.client_lock);
-+ spin_unlock_irqrestore(&dev_priv->rps.client_lock, flags);
- }
-
- void gen6_rps_boost(struct drm_i915_private *dev_priv,
- struct intel_rps_client *rps,
- unsigned long submitted)
- {
-+ unsigned long flags;
- /* This is intentionally racy! We peek at the state here, then
- * validate inside the RPS worker.
- */
-@@ -6151,14 +6153,14 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv,
- if (rps && time_after(jiffies, submitted + DRM_I915_THROTTLE_JIFFIES))
- rps = NULL;
-
-- spin_lock(&dev_priv->rps.client_lock);
-+ spin_lock_irqsave(&dev_priv->rps.client_lock, flags);
- if (rps == NULL || list_empty(&rps->link)) {
-- spin_lock_irq(&dev_priv->irq_lock);
-+ spin_lock(&dev_priv->irq_lock);
- if (dev_priv->rps.interrupts_enabled) {
- dev_priv->rps.client_boost = true;
- schedule_work(&dev_priv->rps.work);
- }
-- spin_unlock_irq(&dev_priv->irq_lock);
-+ spin_unlock(&dev_priv->irq_lock);
-
- if (rps != NULL) {
- list_add(&rps->link, &dev_priv->rps.clients);
-@@ -6166,7 +6168,7 @@ void gen6_rps_boost(struct drm_i915_private *dev_priv,
- } else
- dev_priv->rps.boosts++;
- }
-- spin_unlock(&dev_priv->rps.client_lock);
-+ spin_unlock_irqrestore(&dev_priv->rps.client_lock, flags);
- }
-
- int intel_set_rps(struct drm_i915_private *dev_priv, u8 val)
diff --git a/freed-ora/current/f26/drm-i915-turn-off-wc-mmaps.patch b/freed-ora/current/f26/drm-i915-turn-off-wc-mmaps.patch
deleted file mode 100644
index c81b89226..000000000
--- a/freed-ora/current/f26/drm-i915-turn-off-wc-mmaps.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Dave Airlie <airlied@redhat.com>
-Date: Thu, 4 Jun 2015 07:12:20 -0400
-Subject: [PATCH] drm: i915: turn off wc mmaps
-
----
- drivers/gpu/drm/i915/i915_dma.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index d2df321ba634..775a5b11a366 100644
---- a/drivers/gpu/drm/i915/i915_dma.c
-+++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -151,7 +151,7 @@ static int i915_getparam(struct drm_device *dev, void *data,
- value = 1;
- break;
- case I915_PARAM_MMAP_VERSION:
-- value = 1;
-+ value = 0;
- break;
- case I915_PARAM_SUBSLICE_TOTAL:
- value = INTEL_INFO(dev)->subslice_total;
diff --git a/freed-ora/current/f26/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch b/freed-ora/current/f26/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch
deleted file mode 100644
index 70a528253..000000000
--- a/freed-ora/current/f26/drm-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From patchwork Thu Feb 9 18:16:00 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: drm/vc4: Fix OOPSes from trying to cache a partially constructed BO.
-From: Eric Anholt <eric@anholt.net>
-X-Patchwork-Id: 138087
-Message-Id: <20170209181600.24048-1-eric@anholt.net>
-To: dri-devel@lists.freedesktop.org
-Cc: linux-kernel@vger.kernel.org, pbrobinson@gmail.com
-Date: Thu, 9 Feb 2017 10:16:00 -0800
-
-If a CMA allocation failed, the partially constructed BO would be
-unreferenced through the normal path, and we might choose to put it in
-the BO cache. If we then reused it before it expired from the cache,
-the kernel would OOPS.
-
-Signed-off-by: Eric Anholt <eric@anholt.net>
-Fixes: c826a6e10644 ("drm/vc4: Add a BO cache.")
----
- drivers/gpu/drm/vc4/vc4_bo.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
-index 5ec14f25625d..fd83a2807656 100644
---- a/drivers/gpu/drm/vc4/vc4_bo.c
-+++ b/drivers/gpu/drm/vc4/vc4_bo.c
-@@ -314,6 +314,14 @@ void vc4_free_object(struct drm_gem_object *gem_bo)
- goto out;
- }
-
-+ /* If this object was partially constructed but CMA allocation
-+ * had failed, just free it.
-+ */
-+ if (!bo->base.vaddr) {
-+ vc4_bo_destroy(bo);
-+ goto out;
-+ }
-+
- cache_list = vc4_get_cache_list_for_size(dev, gem_bo->size);
- if (!cache_list) {
- vc4_bo_destroy(bo);
diff --git a/freed-ora/current/f26/efi-Add-SHIM-and-image-security-database-GUID-defini.patch b/freed-ora/current/f26/efi-Add-SHIM-and-image-security-database-GUID-defini.patch
new file mode 100644
index 000000000..4d380ea76
--- /dev/null
+++ b/freed-ora/current/f26/efi-Add-SHIM-and-image-security-database-GUID-defini.patch
@@ -0,0 +1,31 @@
+From 3a9fe1504e08824d894bb3a804c6a313f5d1be8a Mon Sep 17 00:00:00 2001
+From: Josh Boyer <jwboyer@fedoraproject.org>
+Date: Tue, 25 Oct 2016 12:54:11 -0400
+Subject: [PATCH 11/20] efi: Add SHIM and image security database GUID
+ definitions
+
+Add the definitions for shim and image security database, both of which
+are used widely in various Linux distros.
+
+Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
+---
+ include/linux/efi.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/include/linux/efi.h b/include/linux/efi.h
+index 2d089487d2da..ce943d5accfd 100644
+--- a/include/linux/efi.h
++++ b/include/linux/efi.h
+@@ -592,6 +592,9 @@ void efi_native_runtime_setup(void);
+ #define EFI_MEMORY_ATTRIBUTES_TABLE_GUID EFI_GUID(0xdcfa911d, 0x26eb, 0x469f, 0xa2, 0x20, 0x38, 0xb7, 0xdc, 0x46, 0x12, 0x20)
+ #define EFI_CONSOLE_OUT_DEVICE_GUID EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d)
+
++#define EFI_IMAGE_SECURITY_DATABASE_GUID EFI_GUID(0xd719b2cb, 0x3d3a, 0x4596, 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f)
++#define EFI_SHIM_LOCK_GUID EFI_GUID(0x605dab50, 0xe046, 0x4300, 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23)
++
+ /*
+ * This GUID is used to pass to the kernel proper the struct screen_info
+ * structure that was populated by the stub based on the GOP protocol instance
+--
+2.9.3
+
diff --git a/freed-ora/current/f26/efi-lockdown.patch b/freed-ora/current/f26/efi-lockdown.patch
index e04878458..4ac65fd5d 100644
--- a/freed-ora/current/f26/efi-lockdown.patch
+++ b/freed-ora/current/f26/efi-lockdown.patch
@@ -1,53 +1,7 @@
-From df7d76ae50f18d4465e59fdf7f19d3df44906cb5 Mon Sep 17 00:00:00 2001
-From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Mon, 21 Nov 2016 23:55:55 +0000
-Subject: [PATCH 07/32] efi: Add EFI_SECURE_BOOT bit
-
-UEFI machines can be booted in Secure Boot mode. Add a EFI_SECURE_BOOT bit
-that can be passed to efi_enabled() to find out whether secure boot is
-enabled.
-
-This will be used by the SysRq+x handler, registered by the x86 arch, to find
-out whether secure boot mode is enabled so that it can be disabled.
-
-Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- arch/x86/kernel/setup.c | 1 +
- include/linux/efi.h | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 69780ed..447905e 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -1182,6 +1182,7 @@ void __init setup_arch(char **cmdline_p)
- pr_info("Secure boot disabled\n");
- break;
- case efi_secureboot_mode_enabled:
-+ set_bit(EFI_SECURE_BOOT, &efi.flags);
- pr_info("Secure boot enabled\n");
- break;
- default:
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 94d34e0..6049600 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -1069,6 +1069,7 @@ extern int __init efi_setup_pcdp_console(char *);
- #define EFI_DBG 8 /* Print additional debug info at runtime */
- #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */
- #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
-+#define EFI_SECURE_BOOT 11 /* Are we in Secure Boot mode? */
-
- #ifdef CONFIG_EFI
- /*
---
-2.7.4
-
-From f05a90c19a9613d8d50597319ed91f691e25b689 Mon Sep 17 00:00:00 2001
+From 646ac5c07196bc3680e34188e55c8cc3565f65e7 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Mon, 21 Nov 2016 23:36:17 +0000
-Subject: [PATCH 09/32] Add the ability to lock down access to the running
+Date: Wed, 24 May 2017 14:56:00 +0100
+Subject: [PATCH 01/26] Add the ability to lock down access to the running
kernel image
Provide a single call to allow kernel code to determine whether the system
@@ -57,64 +11,70 @@ modules that aren't validly signed with a key we recognise, fiddling with
MSR registers and disallowing hibernation,
Signed-off-by: David Howells <dhowells@redhat.com>
+Acked-by: James Morris <james.l.morris@oracle.com>
---
- include/linux/kernel.h | 9 +++++++++
- include/linux/security.h | 11 +++++++++++
- security/Kconfig | 15 +++++++++++++++
+ include/linux/kernel.h | 17 ++++++++++++++
+ include/linux/security.h | 8 +++++++
+ security/Kconfig | 8 +++++++
security/Makefile | 3 +++
- security/lock_down.c | 40 ++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 78 insertions(+)
+ security/lock_down.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 96 insertions(+)
create mode 100644 security/lock_down.c
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
-index cb09238..3cd3be9 100644
+index 0ad4c3044cf9..362da2e4bf53 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -273,6 +273,15 @@ extern int oops_may_print(void);
- void do_exit(long error_code) __noreturn;
- void complete_and_exit(struct completion *, long) __noreturn;
-
+@@ -287,6 +287,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err)
+ { }
+ #endif
+
+#ifdef CONFIG_LOCK_DOWN_KERNEL
-+extern bool kernel_is_locked_down(void);
++extern bool __kernel_is_locked_down(const char *what, bool first);
+#else
-+static inline bool kernel_is_locked_down(void)
++static inline bool __kernel_is_locked_down(const char *what, bool first)
+{
+ return false;
+}
+#endif
+
++#define kernel_is_locked_down(what) \
++ ({ \
++ static bool message_given; \
++ bool locked_down = __kernel_is_locked_down(what, !message_given); \
++ message_given = true; \
++ locked_down; \
++ })
++
/* Internal, do not use. */
int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res);
int __must_check _kstrtol(const char *s, unsigned int base, long *res);
diff --git a/include/linux/security.h b/include/linux/security.h
-index d3868f2..187b74b 100644
+index ce6265960d6c..310775476b68 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -1679,5 +1679,16 @@ static inline void free_secdata(void *secdata)
+@@ -1753,5 +1753,13 @@ static inline void free_secdata(void *secdata)
{ }
#endif /* CONFIG_SECURITY */
-
+
+#ifdef CONFIG_LOCK_DOWN_KERNEL
-+extern void lock_kernel_down(void);
-+#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT
-+extern void lift_kernel_lockdown(void);
-+#endif
++extern void __init init_lockdown(void);
+#else
-+static inline void lock_kernel_down(void)
++static inline void __init init_lockdown(void)
+{
+}
+#endif
+
#endif /* ! __LINUX_SECURITY_H */
-
+
diff --git a/security/Kconfig b/security/Kconfig
-index d900f47..d9b391d 100644
+index e8e449444e65..8e01fd59ae7e 100644
--- a/security/Kconfig
+++ b/security/Kconfig
-@@ -193,6 +193,21 @@ config STATIC_USERMODEHELPER_PATH
+@@ -205,6 +205,14 @@ config STATIC_USERMODEHELPER_PATH
If you wish for all usermode helper programs to be disabled,
specify an empty string here (i.e. "").
-
+
+config LOCK_DOWN_KERNEL
+ bool "Allow the kernel to be 'locked down'"
+ help
@@ -123,18 +83,11 @@ index d900f47..d9b391d 100644
+ turns off various features that might otherwise allow access to the
+ kernel image (eg. setting MSR registers).
+
-+config ALLOW_LOCKDOWN_LIFT
-+ bool
-+ help
-+ Allow the lockdown on a kernel to be lifted, thereby restoring the
-+ ability of userspace to access the kernel image (eg. by SysRq+x under
-+ x86).
-+
source security/selinux/Kconfig
source security/smack/Kconfig
source security/tomoyo/Kconfig
diff --git a/security/Makefile b/security/Makefile
-index f2d71cd..8c4a43e 100644
+index f2d71cdb8e19..8c4a43e3d4e0 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -29,3 +29,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o
@@ -146,10 +99,10 @@ index f2d71cd..8c4a43e 100644
+obj-$(CONFIG_LOCK_DOWN_KERNEL) += lock_down.o
diff --git a/security/lock_down.c b/security/lock_down.c
new file mode 100644
-index 0000000..5788c60
+index 000000000000..d8595c0e6673
--- /dev/null
+++ b/security/lock_down.c
-@@ -0,0 +1,40 @@
+@@ -0,0 +1,60 @@
+/* Lock down the kernel
+ *
+ * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
@@ -164,282 +117,110 @@ index 0000000..5788c60
+#include <linux/security.h>
+#include <linux/export.h>
+
-+static __read_mostly bool kernel_locked_down;
++static __ro_after_init bool kernel_locked_down;
+
+/*
+ * Put the kernel into lock-down mode.
+ */
-+void lock_kernel_down(void)
++static void __init lock_kernel_down(const char *where)
+{
-+ kernel_locked_down = true;
++ if (!kernel_locked_down) {
++ kernel_locked_down = true;
++ pr_notice("Kernel is locked down from %s; see man kernel_lockdown.7\n",
++ where);
++ }
+}
+
++static int __init lockdown_param(char *ignored)
++{
++ lock_kernel_down("command line");
++ return 0;
++}
++
++early_param("lockdown", lockdown_param);
++
+/*
-+ * Take the kernel out of lockdown mode.
++ * Lock the kernel down from very early in the arch setup. This must happen
++ * prior to things like ACPI being initialised.
+ */
-+void lift_kernel_lockdown(void)
++void __init init_lockdown(void)
+{
-+ kernel_locked_down = false;
++#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
++ if (efi_enabled(EFI_SECURE_BOOT))
++ lock_kernel_down("EFI secure boot");
++#endif
+}
+
+/**
+ * kernel_is_locked_down - Find out if the kernel is locked down
++ * @what: Tag to use in notice generated if lockdown is in effect
+ */
-+bool kernel_is_locked_down(void)
++bool __kernel_is_locked_down(const char *what, bool first)
+{
++ if (what && first && kernel_locked_down)
++ pr_notice("Lockdown: %s is restricted; see man kernel_lockdown.7\n",
++ what);
+ return kernel_locked_down;
+}
-+EXPORT_SYMBOL(kernel_is_locked_down);
++EXPORT_SYMBOL(__kernel_is_locked_down);
--
-2.7.4
-
-From fb6feb38e297260d050fc477c72683ac51d07ae3 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Mon, 21 Nov 2016 23:55:55 +0000
-Subject: [PATCH 10/32] efi: Lock down the kernel if booted in secure boot mode
+2.13.6
-UEFI Secure Boot provides a mechanism for ensuring that the firmware will
-only load signed bootloaders and kernels. Certain use cases may also
-require that all kernel modules also be signed. Add a configuration option
-that to lock down the kernel - which includes requiring validly signed
-modules - if the kernel is secure-booted.
-
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- arch/x86/Kconfig | 12 ++++++++++++
- arch/x86/kernel/setup.c | 8 +++++++-
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 874c123..a315974 100644
---- a/arch/x86/Kconfig
-+++ b/arch/x86/Kconfig
-@@ -1816,6 +1816,18 @@ config EFI_MIXED
-
- If unsure, say N.
-
-+config EFI_SECURE_BOOT_LOCK_DOWN
-+ def_bool n
-+ depends on EFI
-+ prompt "Lock down the kernel when UEFI Secure Boot is enabled"
-+ ---help---
-+ UEFI Secure Boot provides a mechanism for ensuring that the firmware
-+ will only load signed bootloaders and kernels. Certain use cases may
-+ also require that all kernel modules also be signed and that
-+ userspace is prevented from directly changing the running kernel
-+ image. Say Y here to automatically lock down the kernel when a
-+ system boots with UEFI Secure Boot enabled.
-+
- config SECCOMP
- def_bool y
- prompt "Enable seccomp to safely compute untrusted bytecode"
-diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 447905e..d44e60e 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -69,6 +69,7 @@
- #include <linux/crash_dump.h>
- #include <linux/tboot.h>
- #include <linux/jiffies.h>
-+#include <linux/security.h>
-
- #include <linux/usb/xhci-dbgp.h>
- #include <video/edid.h>
-@@ -1183,7 +1184,12 @@ void __init setup_arch(char **cmdline_p)
- break;
- case efi_secureboot_mode_enabled:
- set_bit(EFI_SECURE_BOOT, &efi.flags);
-- pr_info("Secure boot enabled\n");
-+ if (IS_ENABLED(CONFIG_EFI_SECURE_BOOT_LOCK_DOWN)) {
-+ lock_kernel_down();
-+ pr_info("Secure boot enabled and kernel locked down\n");
-+ } else {
-+ pr_info("Secure boot enabled\n");
-+ }
- break;
- default:
- pr_info("Secure boot could not be determined\n");
---
-2.7.4
+From 2c46467f43bc54324de5474a8355f98c692309e4 Mon Sep 17 00:00:00 2001
+From: Kyle McMartin <kyle@redhat.com>
+Date: Wed, 18 Oct 2017 14:02:25 +0100
+Subject: [PATCH 02/26] Add a SysRq option to lift kernel lockdown
-From 7182f2f5b254d6dc6d3105d2f99219a76adf9de0 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Wed, 23 Nov 2016 13:22:22 +0000
-Subject: [PATCH 11/32] Enforce module signatures if the kernel is locked down
+Make an option to provide a sysrq key that will lift the kernel lockdown,
+thereby allowing the running kernel image to be accessed and modified.
-If the kernel is locked down, require that all modules have valid
-signatures that we can verify.
+On x86_64 this is triggered with SysRq+x, but this key may not be available
+on all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h.
+Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+cc: x86@kernel.org
---
- kernel/module.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel/module.c b/kernel/module.c
-index 7eba6de..3331f2e 100644
---- a/kernel/module.c
-+++ b/kernel/module.c
-@@ -2756,7 +2756,7 @@ static int module_sig_check(struct load_info *info, int flags)
- }
-
- /* Not having a signature is only an error if we're strict. */
-- if (err == -ENOKEY && !sig_enforce)
-+ if (err == -ENOKEY && !sig_enforce && !kernel_is_locked_down())
- err = 0;
-
- return err;
---
-2.7.4
-
-From 7e97c58bcd0b4c082b889fb093a2779147532b9f Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is
- locked down
-
-Allowing users to write to address space makes it possible for the kernel to
-be subverted, avoiding module loading restrictions. Prevent this when the
-kernel has been locked down.
-
-Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- drivers/char/mem.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 6d9cc2d..f814404 100644
---- a/drivers/char/mem.c
-+++ b/drivers/char/mem.c
-@@ -163,6 +163,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
- if (p != *ppos)
- return -EFBIG;
-
-+ if (kernel_is_locked_down())
-+ return -EPERM;
+ arch/x86/include/asm/setup.h | 2 ++
+ drivers/input/misc/uinput.c | 1 +
+ drivers/tty/sysrq.c | 19 ++++++++++++------
+ include/linux/input.h | 5 +++++
+ include/linux/sysrq.h | 8 +++++++-
+ kernel/debug/kdb/kdb_main.c | 2 +-
+ security/Kconfig | 8 ++++++++
+ security/lock_down.c | 47 ++++++++++++++++++++++++++++++++++++++++++++
+ 8 files changed, 84 insertions(+), 8 deletions(-)
+
+diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
+index a65cf544686a..863f77582c09 100644
+--- a/arch/x86/include/asm/setup.h
++++ b/arch/x86/include/asm/setup.h
+@@ -8,6 +8,8 @@
+ #include <linux/linkage.h>
+ #include <asm/page_types.h>
+
++#define LOCKDOWN_LIFT_KEY 'x'
+
- if (!valid_phys_addr_range(p, count))
- return -EFAULT;
-
-@@ -513,6 +516,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
- char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */
- int err = 0;
-
-+ if (kernel_is_locked_down())
-+ return -EPERM;
-+
- if (p < (unsigned long) high_memory) {
- unsigned long to_write = min_t(unsigned long, count,
- (unsigned long)high_memory - p);
---
-2.7.4
-
-From b83b68a9a13120664eaabf21a7b3ff0b065bd5b2 Mon Sep 17 00:00:00 2001
-From: Kyle McMartin <kyle@redhat.com>
-Date: Mon, 21 Nov 2016 23:55:56 +0000
-Subject: [PATCH 13/32] Add a sysrq option to exit secure boot mode
-
-Make sysrq+x exit secure boot mode on x86_64, thereby allowing the running
-kernel image to be modified. This lifts the lockdown.
+ #ifdef __i386__
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- arch/x86/Kconfig | 10 ++++++++++
- arch/x86/kernel/setup.c | 31 +++++++++++++++++++++++++++++++
- drivers/input/misc/uinput.c | 1 +
- drivers/tty/sysrq.c | 19 +++++++++++++------
- include/linux/input.h | 5 +++++
- include/linux/sysrq.h | 8 +++++++-
- kernel/debug/kdb/kdb_main.c | 2 +-
- 7 files changed, 68 insertions(+), 8 deletions(-)
-
-diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index a315974..6931e68 100644
---- a/arch/x86/Kconfig
-+++ b/arch/x86/Kconfig
-@@ -1828,6 +1828,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
- image. Say Y here to automatically lock down the kernel when a
- system boots with UEFI Secure Boot enabled.
-
-+config EFI_ALLOW_SECURE_BOOT_EXIT
-+ def_bool n
-+ depends on EFI_SECURE_BOOT_LOCK_DOWN && MAGIC_SYSRQ
-+ select ALLOW_LOCKDOWN_LIFT
-+ prompt "Allow secure boot mode to be exited with SysRq+x on a keyboard"
-+ ---help---
-+ Allow secure boot mode to be exited and the kernel lockdown lifted by
-+ typing SysRq+x on a keyboard attached to the system (not permitted
-+ through procfs).
-+
- config SECCOMP
- def_bool y
- prompt "Enable seccomp to safely compute untrusted bytecode"
-diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index d44e60e..f7635d0 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -71,6 +71,11 @@
- #include <linux/jiffies.h>
- #include <linux/security.h>
-
-+#include <linux/fips.h>
-+#include <linux/cred.h>
-+#include <linux/sysrq.h>
-+#include <linux/init_task.h>
-+
- #include <linux/usb/xhci-dbgp.h>
- #include <video/edid.h>
-
-@@ -1328,6 +1333,32 @@ void __init i386_reserve_resources(void)
-
- #endif /* CONFIG_X86_32 */
-
-+#ifdef CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT
-+
-+static void sysrq_handle_secure_boot(int key)
-+{
-+ if (!efi_enabled(EFI_SECURE_BOOT))
-+ return;
-+
-+ pr_info("Secure boot disabled\n");
-+ lift_kernel_lockdown();
-+}
-+static struct sysrq_key_op secure_boot_sysrq_op = {
-+ .handler = sysrq_handle_secure_boot,
-+ .help_msg = "unSB(x)",
-+ .action_msg = "Disabling Secure Boot restrictions",
-+ .enable_mask = SYSRQ_DISABLE_USERSPACE,
-+};
-+static int __init secure_boot_sysrq(void)
-+{
-+ if (efi_enabled(EFI_SECURE_BOOT))
-+ register_sysrq_key('x', &secure_boot_sysrq_op);
-+ return 0;
-+}
-+late_initcall(secure_boot_sysrq);
-+#endif /*CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT*/
-+
-+
- static struct notifier_block kernel_offset_notifier = {
- .notifier_call = dump_kernel_offset
- };
+ #include <linux/pfn.h>
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
-index 022be0e..4a054a5 100644
+index 443151de90c6..45a1f5460805 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
-@@ -387,6 +387,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
+@@ -408,6 +408,7 @@ static int uinput_allocate_device(struct uinput_device *udev)
if (!udev->dev)
return -ENOMEM;
-
+
+ udev->dev->flags |= INPUTDEV_FLAGS_SYNTHETIC;
udev->dev->event = uinput_dev_event;
input_set_drvdata(udev->dev, udev);
-
+
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
-index 7113674..e1addc3 100644
+index 3ffc1ce29023..8b766dbad6dd 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
-@@ -479,6 +479,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
+@@ -481,6 +481,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
/* x: May be registered on mips for TLB dump */
/* x: May be registered on ppc/powerpc for xmon */
/* x: May be registered on sparc64 for global PMU dump */
@@ -447,17 +228,17 @@ index 7113674..e1addc3 100644
NULL, /* x */
/* y: May be registered on sparc64 for global register dump */
NULL, /* y */
-@@ -522,7 +523,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
+@@ -524,7 +525,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
sysrq_key_table[i] = op_p;
}
-
+
-void __handle_sysrq(int key, bool check_mask)
+void __handle_sysrq(int key, unsigned int from)
{
struct sysrq_key_op *op_p;
int orig_log_level;
-@@ -542,11 +543,15 @@ void __handle_sysrq(int key, bool check_mask)
-
+@@ -544,11 +545,15 @@ void __handle_sysrq(int key, bool check_mask)
+
op_p = __sysrq_get_key_op(key);
if (op_p) {
+ /* Ban synthetic events from some sysrq functionality */
@@ -473,7 +254,7 @@ index 7113674..e1addc3 100644
pr_cont("%s\n", op_p->action_msg);
console_loglevel = orig_log_level;
op_p->handler(key);
-@@ -578,7 +583,7 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -580,7 +585,7 @@ void __handle_sysrq(int key, bool check_mask)
void handle_sysrq(int key)
{
if (sysrq_on())
@@ -481,18 +262,18 @@ index 7113674..e1addc3 100644
+ __handle_sysrq(key, SYSRQ_FROM_KERNEL);
}
EXPORT_SYMBOL(handle_sysrq);
-
-@@ -659,7 +664,7 @@ static void sysrq_do_reset(unsigned long _state)
+
+@@ -661,7 +666,7 @@ static void sysrq_do_reset(unsigned long _state)
static void sysrq_handle_reset_request(struct sysrq_state *state)
{
if (state->reset_requested)
- __handle_sysrq(sysrq_xlate[KEY_B], false);
+ __handle_sysrq(sysrq_xlate[KEY_B], SYSRQ_FROM_KERNEL);
-
+
if (sysrq_reset_downtime_ms)
mod_timer(&state->keyreset_timer,
-@@ -810,8 +815,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
-
+@@ -812,8 +817,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
+
default:
if (sysrq->active && value && value != 2) {
+ int from = sysrq->handle.dev->flags & INPUTDEV_FLAGS_SYNTHETIC ?
@@ -503,17 +284,17 @@ index 7113674..e1addc3 100644
}
break;
}
-@@ -1095,7 +1102,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
-
+@@ -1097,7 +1104,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
+
if (get_user(c, buf))
return -EFAULT;
- __handle_sysrq(c, false);
+ __handle_sysrq(c, SYSRQ_FROM_PROC);
}
-
+
return count;
diff --git a/include/linux/input.h b/include/linux/input.h
-index a65e3b2..8b03571 100644
+index fb5e23c7ed98..9d2b45a21ade 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -42,6 +42,7 @@ struct input_value {
@@ -527,29 +308,29 @@ index a65e3b2..8b03571 100644
@@ -124,6 +125,8 @@ struct input_dev {
const char *uniq;
struct input_id id;
-
+
+ unsigned int flags;
+
unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)];
-
+
unsigned long evbit[BITS_TO_LONGS(EV_CNT)];
@@ -190,6 +193,8 @@ struct input_dev {
};
#define to_input_dev(d) container_of(d, struct input_dev, dev)
-
+
+#define INPUTDEV_FLAGS_SYNTHETIC 0x000000001
+
/*
* Verify that we are in sync with input_device_id mod_devicetable.h #defines
*/
diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h
-index 387fa7d..f7c52a9 100644
+index 387fa7d05c98..f7c52a9ea394 100644
--- a/include/linux/sysrq.h
+++ b/include/linux/sysrq.h
@@ -28,6 +28,8 @@
#define SYSRQ_ENABLE_BOOT 0x0080
#define SYSRQ_ENABLE_RTNICE 0x0100
-
+
+#define SYSRQ_DISABLE_USERSPACE 0x00010000
+
struct sysrq_key_op {
@@ -558,7 +339,7 @@ index 387fa7d..f7c52a9 100644
@@ -42,8 +44,12 @@ struct sysrq_key_op {
* are available -- else NULL's).
*/
-
+
+#define SYSRQ_FROM_KERNEL 0x0001
+#define SYSRQ_FROM_PROC 0x0002
+#define SYSRQ_FROM_SYNTHETIC 0x0004
@@ -570,25 +351,179 @@ index 387fa7d..f7c52a9 100644
int unregister_sysrq_key(int key, struct sysrq_key_op *op);
struct sysrq_key_op *__sysrq_get_key_op(int key);
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
-index ca18391..c4524b8 100644
+index c8146d53ca67..b480cadf9272 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
-@@ -1967,7 +1967,7 @@ static int kdb_sr(int argc, const char **argv)
+@@ -1970,7 +1970,7 @@ static int kdb_sr(int argc, const char **argv)
return KDB_ARGCOUNT;
-
+
kdb_trap_printk++;
- __handle_sysrq(*argv[1], check_mask);
+ __handle_sysrq(*argv[1], check_mask ? SYSRQ_FROM_KERNEL : 0);
kdb_trap_printk--;
-
+
return 0;
+diff --git a/security/Kconfig b/security/Kconfig
+index 8e01fd59ae7e..453cc89c198a 100644
+--- a/security/Kconfig
++++ b/security/Kconfig
+@@ -213,6 +213,14 @@ config LOCK_DOWN_KERNEL
+ turns off various features that might otherwise allow access to the
+ kernel image (eg. setting MSR registers).
+
++config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
++ bool "Allow the kernel lockdown to be lifted by SysRq"
++ depends on LOCK_DOWN_KERNEL && MAGIC_SYSRQ
++ help
++ Allow the lockdown on a kernel to be lifted, by pressing a SysRq key
++ combination on a wired keyboard.
++
++
+ source security/selinux/Kconfig
+ source security/smack/Kconfig
+ source security/tomoyo/Kconfig
+diff --git a/security/lock_down.c b/security/lock_down.c
+index d8595c0e6673..2c6b00f0c229 100644
+--- a/security/lock_down.c
++++ b/security/lock_down.c
+@@ -11,8 +11,14 @@
+
+ #include <linux/security.h>
+ #include <linux/export.h>
++#include <linux/sysrq.h>
++#include <asm/setup.h>
+
++#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
++static __read_mostly bool kernel_locked_down;
++#else
+ static __ro_after_init bool kernel_locked_down;
++#endif
+
+ /*
+ * Put the kernel into lock-down mode.
+@@ -58,3 +64,44 @@ bool __kernel_is_locked_down(const char *what, bool first)
+ return kernel_locked_down;
+ }
+ EXPORT_SYMBOL(__kernel_is_locked_down);
++
++#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
++
++/*
++ * Take the kernel out of lockdown mode.
++ */
++static void lift_kernel_lockdown(void)
++{
++ pr_notice("Lifting lockdown\n");
++ kernel_locked_down = false;
++}
++
++/*
++ * Allow lockdown to be lifted by pressing something like SysRq+x (and not by
++ * echoing the appropriate letter into the sysrq-trigger file).
++ */
++static void sysrq_handle_lockdown_lift(int key)
++{
++ if (kernel_locked_down)
++ lift_kernel_lockdown();
++}
++
++static struct sysrq_key_op lockdown_lift_sysrq_op = {
++ .handler = sysrq_handle_lockdown_lift,
++ .help_msg = "unSB(x)",
++ .action_msg = "Disabling Secure Boot restrictions",
++ .enable_mask = SYSRQ_DISABLE_USERSPACE,
++};
++
++static int __init lockdown_lift_sysrq(void)
++{
++ if (kernel_locked_down) {
++ lockdown_lift_sysrq_op.help_msg[5] = LOCKDOWN_LIFT_KEY;
++ register_sysrq_key(LOCKDOWN_LIFT_KEY, &lockdown_lift_sysrq_op);
++ }
++ return 0;
++}
++
++late_initcall(lockdown_lift_sysrq);
++
++#endif /* CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ */
+--
+2.13.6
+
+From 4c389db9daee3a3a444339a7d789de1d9366f736 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Wed, 24 May 2017 14:56:01 +0100
+Subject: [PATCH 03/26] Enforce module signatures if the kernel is locked down
+
+If the kernel is locked down, require that all modules have valid
+signatures that we can verify.
+
+Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+Reviewed-by: James Morris <james.l.morris@oracle.com>
+---
+ kernel/module.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/kernel/module.c b/kernel/module.c
+index de66ec825992..3d9a3270c179 100644
+--- a/kernel/module.c
++++ b/kernel/module.c
+@@ -2781,7 +2781,8 @@ static int module_sig_check(struct load_info *info, int flags)
+ }
+
+ /* Not having a signature is only an error if we're strict. */
+- if (err == -ENOKEY && !sig_enforce)
++ if (err == -ENOKEY && !sig_enforce &&
++ !kernel_is_locked_down("Loading of unsigned modules"))
+ err = 0;
+
+ return err;
--
-2.7.4
+2.13.6
-From 8884bd44932e595323fcddfb09c2a2a586134cdf Mon Sep 17 00:00:00 2001
+From 59312c44aa46939a14b3fbfeb510f94b4a73c8a1 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Tue, 22 Nov 2016 08:46:15 +0000
-Subject: [PATCH 14/32] kexec: Disable at runtime if the kernel is locked down
+Date: Wed, 24 May 2017 14:56:02 +0100
+Subject: [PATCH 04/26] Restrict /dev/{mem,kmem,port} when the kernel is locked
+ down
+
+Allowing users to read and write to core kernel memory makes it possible
+for the kernel to be subverted, avoiding module loading restrictions, and
+also to steal cryptographic information.
+
+Disallow /dev/mem and /dev/kmem from being opened this when the kernel has
+been locked down to prevent this.
+
+Also disallow /dev/port from being opened to prevent raw ioport access and
+thus DMA from being used to accomplish the same thing.
+
+Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+---
+ drivers/char/mem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/char/mem.c b/drivers/char/mem.c
+index 593a8818aca9..0ce5ac0a5c6b 100644
+--- a/drivers/char/mem.c
++++ b/drivers/char/mem.c
+@@ -762,6 +762,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
+
+ static int open_port(struct inode *inode, struct file *filp)
+ {
++ if (kernel_is_locked_down("/dev/mem,kmem,port"))
++ return -EPERM;
+ return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
+ }
+
+--
+2.13.6
+
+From 6304f16efd61e66701f4b331e95da3cafb5f5f76 Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <matthew.garrett@nebula.com>
+Date: Wed, 24 May 2017 14:56:02 +0100
+Subject: [PATCH 05/26] kexec: Disable at runtime if the kernel is locked down
kexec permits the loading and execution of arbitrary code in ring 0, which
is something that lock-down is meant to prevent. It makes sense to disable
@@ -599,22 +534,26 @@ image to be booted.
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Acked-by: Dave Young <dyoung@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+Reviewed-by: James Morris <james.l.morris@oracle.com>
+cc: kexec@lists.infradead.org
---
kernel/kexec.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/kernel/kexec.c b/kernel/kexec.c
-index 980936a..46de8e6 100644
+index e62ec4dc6620..7dadfed9b676 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
-@@ -194,6 +194,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
+@@ -202,6 +202,13 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
return -EPERM;
-
+
/*
+ * kexec can be used to circumvent module loading restrictions, so
+ * prevent loading in that case
+ */
-+ if (kernel_is_locked_down())
++ if (kernel_is_locked_down("kexec of unsigned images"))
+ return -EPERM;
+
+ /*
@@ -622,12 +561,12 @@ index 980936a..46de8e6 100644
* This leaves us room for future extensions.
*/
--
-2.7.4
+2.13.6
-From cace563d1743c3d2faf1e46bd4df8e63e2310207 Mon Sep 17 00:00:00 2001
+From cd00079900870855cea3573253a95c331ccab523 Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
-Date: Tue, 22 Nov 2016 08:46:15 +0000
-Subject: [PATCH 15/32] Copy secure_boot flag in boot params across kexec
+Date: Wed, 24 May 2017 14:56:02 +0100
+Subject: [PATCH 06/26] Copy secure_boot flag in boot params across kexec
reboot
Kexec reboot in case secure boot being enabled does not keep the secure
@@ -643,68 +582,73 @@ stub. Fixing this issue by copying secure_boot flag across kexec reboot.
Signed-off-by: Dave Young <dyoung@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: kexec@lists.infradead.org
---
arch/x86/kernel/kexec-bzimage64.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
-index d0a814a..3551bca 100644
+index fb095ba0c02f..7d0fac5bcbbe 100644
--- a/arch/x86/kernel/kexec-bzimage64.c
+++ b/arch/x86/kernel/kexec-bzimage64.c
@@ -179,6 +179,7 @@ setup_efi_state(struct boot_params *params, unsigned long params_load_addr,
if (efi_enabled(EFI_OLD_MEMMAP))
return 0;
-
+
+ params->secure_boot = boot_params.secure_boot;
ei->efi_loader_signature = current_ei->efi_loader_signature;
ei->efi_systab = current_ei->efi_systab;
ei->efi_systab_hi = current_ei->efi_systab_hi;
--
-2.7.4
+2.13.6
-From 08a3467acbc28bb469d1eebd0f5fd40b944d984a Mon Sep 17 00:00:00 2001
-From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
-Date: Wed, 23 Nov 2016 13:49:19 +0000
-Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been
- set
+From de2ac5da82fc55156134820ba32095710b935ad5 Mon Sep 17 00:00:00 2001
+From: Chun-Yi Lee <joeyli.kernel@gmail.com>
+Date: Wed, 24 May 2017 14:56:03 +0100
+Subject: [PATCH 07/26] kexec_file: Disable at runtime if the kernel is locked
+ down
-When KEXEC_VERIFY_SIG is not enabled, kernel should not loads image
-through kexec_file systemcall if securelevel has been set.
+When KEXEC_VERIFY_SIG is not enabled, kernel should not load images
+through kexec_file systemcall if the kernel is locked down.
This code was showed in Matthew's patch but not in git:
https://lkml.org/lkml/2015/3/13/778
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
-Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
+Signed-off-by: Chun-Yi Lee <jlee@suse.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: James Morris <james.l.morris@oracle.com>
+cc: kexec@lists.infradead.org
---
- kernel/kexec_file.c | 6 ++++++
- 1 file changed, 6 insertions(+)
+ kernel/kexec_file.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
-index b56a558..003cade 100644
+index 9f48f4412297..ff6523f2dcc2 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
-@@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
+@@ -255,6 +255,13 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
if (!capable(CAP_SYS_BOOT) || kexec_load_disabled)
return -EPERM;
-
+
+ /* Don't permit images to be loaded into trusted kernels if we're not
+ * going to verify the signature on them
+ */
-+ if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) && kernel_is_locked_down())
++ if (!IS_ENABLED(CONFIG_KEXEC_VERIFY_SIG) &&
++ kernel_is_locked_down("kexec of unsigned images"))
+ return -EPERM;
+
/* Make sure we have a legal set of flags */
if (flags != (flags & KEXEC_FILE_FLAGS))
return -EINVAL;
--
-2.7.4
+2.13.6
-From 925fd10d7a99a6f999dde76daf2b1ef1238b251a Mon Sep 17 00:00:00 2001
+From ba823f2b5125605fcbac150fe27e622fd224ea61 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
-Date: Tue, 22 Nov 2016 08:46:15 +0000
-Subject: [PATCH 17/32] hibernate: Disable when the kernel is locked down
+Date: Wed, 24 May 2017 14:56:03 +0100
+Subject: [PATCH 08/26] hibernate: Disable when the kernel is locked down
There is currently no way to verify the resume image when returning
from hibernate. This might compromise the signed modules trust model,
@@ -713,30 +657,32 @@ kernel is locked down.
Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: linux-pm@vger.kernel.org
---
kernel/power/hibernate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
-index 86385af..1629798 100644
+index a5c36e9c56a6..f2eafefeec50 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
-@@ -67,7 +67,7 @@ static const struct platform_hibernation_ops *hibernation_ops;
-
+@@ -70,7 +70,7 @@ static const struct platform_hibernation_ops *hibernation_ops;
+
bool hibernation_available(void)
{
- return (nohibernate == 0);
-+ return nohibernate == 0 && !kernel_is_locked_down();
++ return nohibernate == 0 && !kernel_is_locked_down("Hibernation");
}
-
+
/**
--
-2.7.4
+2.13.6
-From b14fb5fcd60c84a09a15bd7ec974b6fbce68335c Mon Sep 17 00:00:00 2001
+From 9e78666a6153d72c3e50160a30ead699ba508d8f Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@srcf.ucam.org>
-Date: Wed, 23 Nov 2016 13:28:17 +0000
-Subject: [PATCH 18/32] uswsusp: Disable when the kernel is locked down
+Date: Wed, 24 May 2017 14:56:03 +0100
+Subject: [PATCH 09/26] uswsusp: Disable when the kernel is locked down
uswsusp allows a user process to dump and then restore kernel state, which
makes it possible to modify the running kernel. Disable this if the kernel
@@ -744,31 +690,34 @@ is locked down.
Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+Reviewed-by: James Morris <james.l.morris@oracle.com>
+cc: linux-pm@vger.kernel.org
---
kernel/power/user.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/power/user.c b/kernel/power/user.c
-index 22df9f7..e4b926d 100644
+index 22df9f7ff672..678ade9decfe 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -52,6 +52,9 @@ static int snapshot_open(struct inode *inode, struct file *filp)
if (!hibernation_available())
return -EPERM;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("/dev/snapshot"))
+ return -EPERM;
+
lock_system_sleep();
-
+
if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
--
-2.7.4
+2.13.6
-From d8167273e7562e5aa866d2b65e25bb1962de972c Mon Sep 17 00:00:00 2001
+From 334fa071b01ced7f48b2920208addfb1eab5d0fe Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Tue, 22 Nov 2016 08:46:15 +0000
-Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked
+Date: Wed, 24 May 2017 14:56:03 +0100
+Subject: [PATCH 10/26] PCI: Lock down BAR access when the kernel is locked
down
Any hardware that can potentially generate DMA has to be locked down in
@@ -779,55 +728,58 @@ sufficiently IOMMU-isolated devices.
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Acked-by: Bjorn Helgaas <bhelgaas@google.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: linux-pci@vger.kernel.org
---
drivers/pci/pci-sysfs.c | 9 +++++++++
- drivers/pci/proc.c | 8 +++++++-
- drivers/pci/syscall.c | 2 +-
- 3 files changed, 17 insertions(+), 2 deletions(-)
+ drivers/pci/proc.c | 9 ++++++++-
+ drivers/pci/syscall.c | 3 ++-
+ 3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
-index 0666287..b10992c 100644
+index 1eecfa301f7f..e1a3b0e765c2 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
-@@ -718,6 +718,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
+@@ -881,6 +881,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
loff_t init_off = off;
u8 *data = (u8 *) buf;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Direct PCI access"))
+ return -EPERM;
+
if (off > dev->cfg_size)
return 0;
if (off + count > dev->cfg_size) {
-@@ -1009,6 +1012,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+@@ -1175,6 +1178,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
enum pci_mmap_state mmap_type;
struct resource *res = &pdev->resource[bar];
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Direct PCI access"))
+ return -EPERM;
+
if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))
return -EINVAL;
-
-@@ -1108,6 +1114,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
+
+@@ -1255,6 +1261,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
{
-+ if (kernel_is_locked_down())
++ if (kernel_is_locked_down("Direct PCI access"))
+ return -EPERM;
+
return pci_resource_io(filp, kobj, attr, buf, off, count, true);
}
-
+
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
-index f82710a..139d6f0 100644
+index 098360d7ff81..a6c53d855daa 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -116,6 +116,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
int size = dev->cfg_size;
int cnt;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Direct PCI access"))
+ return -EPERM;
+
if (pos >= size)
@@ -836,42 +788,44 @@ index f82710a..139d6f0 100644
@@ -195,6 +198,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
#endif /* HAVE_PCI_MMAP */
int ret = 0;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Direct PCI access"))
+ return -EPERM;
+
switch (cmd) {
case PCIIOC_CONTROLLER:
ret = pci_domain_nr(dev->bus);
-@@ -233,7 +239,7 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
+@@ -236,7 +242,8 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
struct pci_filp_private *fpriv = file->private_data;
int i, ret, write_combine = 0, res_bit = IORESOURCE_MEM;
-
+
- if (!capable(CAP_SYS_RAWIO))
-+ if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down())
++ if (!capable(CAP_SYS_RAWIO) ||
++ kernel_is_locked_down("Direct PCI access"))
return -EPERM;
-
+
if (fpriv->mmap_state == pci_mmap_io) {
diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
-index 9bf993e..c095247 100644
+index 9bf993e1f71e..afa01cc3ceec 100644
--- a/drivers/pci/syscall.c
+++ b/drivers/pci/syscall.c
-@@ -92,7 +92,7 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
+@@ -92,7 +92,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
u32 dword;
int err = 0;
-
+
- if (!capable(CAP_SYS_ADMIN))
-+ if (!capable(CAP_SYS_ADMIN) || kernel_is_locked_down())
++ if (!capable(CAP_SYS_ADMIN) ||
++ kernel_is_locked_down("Direct PCI access"))
return -EPERM;
-
+
dev = pci_get_bus_and_slot(bus, dfn);
--
-2.7.4
+2.13.6
-From 169d13e0c5240ac6aad13aace5ecbdb3de2cfada Mon Sep 17 00:00:00 2001
+From 7e608c45ac2ab6c8e125aaf3993b8257352ac631 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked
+Date: Wed, 24 May 2017 14:56:04 +0100
+Subject: [PATCH 11/26] x86: Lock down IO port access when the kernel is locked
down
IO port access would permit users to gain access to PCI configuration
@@ -884,97 +838,98 @@ KDDISABIO console ioctls.
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: x86@kernel.org
---
- arch/x86/kernel/ioport.c | 4 ++--
- drivers/char/mem.c | 2 ++
- 2 files changed, 4 insertions(+), 2 deletions(-)
+ arch/x86/kernel/ioport.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
-index b01bc8517..4ccaace 100644
+index 9c3cf0944bce..2c0f058651c5 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
-@@ -29,7 +29,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
-
+@@ -30,7 +30,8 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
+
if ((from + num <= from) || (from + num > IO_BITMAP_BITS))
return -EINVAL;
- if (turn_on && !capable(CAP_SYS_RAWIO))
-+ if (turn_on && (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down()))
++ if (turn_on && (!capable(CAP_SYS_RAWIO) ||
++ kernel_is_locked_down("ioperm")))
return -EPERM;
-
+
/*
-@@ -113,7 +113,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
+@@ -120,7 +121,8 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
return -EINVAL;
/* Trying to gain more privileges? */
if (level > old) {
- if (!capable(CAP_SYS_RAWIO))
-+ if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down())
++ if (!capable(CAP_SYS_RAWIO) ||
++ kernel_is_locked_down("iopl"))
return -EPERM;
}
regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) |
-diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index f814404..9afebb6 100644
---- a/drivers/char/mem.c
-+++ b/drivers/char/mem.c
-@@ -741,6 +741,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
-
- static int open_port(struct inode *inode, struct file *filp)
- {
-+ if (kernel_is_locked_down())
-+ return -EPERM;
- return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
- }
-
--
-2.7.4
+2.13.6
-From efd24f7e9af624b62f39efce4f60b31f0ca643d8 Mon Sep 17 00:00:00 2001
+From 2644bf492568e3733bc841112c6e8628a6e01b8e Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Tue, 22 Nov 2016 08:46:17 +0000
-Subject: [PATCH 21/32] x86: Restrict MSR access when the kernel is locked down
+Date: Wed, 24 May 2017 14:56:04 +0100
+Subject: [PATCH 12/26] x86/msr: Restrict MSR access when the kernel is locked
+ down
Writing to MSRs should not be allowed if the kernel is locked down, since
it could lead to execution of arbitrary code in kernel mode. Based on a
patch by Kees Cook.
-Cc: Kees Cook <keescook@chromium.org>
+MSR accesses are logged for the purposes of building up a whitelist as per
+Alan Cox's suggestion.
+
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Acked-by: Kees Cook <keescook@chromium.org>
+Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: x86@kernel.org
---
- arch/x86/kernel/msr.c | 7 +++++++
- 1 file changed, 7 insertions(+)
+ arch/x86/kernel/msr.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c
-index ef68880..fbcce02 100644
+index ef688804f80d..dfb61d358196 100644
--- a/arch/x86/kernel/msr.c
+++ b/arch/x86/kernel/msr.c
-@@ -84,6 +84,9 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
+@@ -84,6 +84,11 @@ static ssize_t msr_write(struct file *file, const char __user *buf,
int err = 0;
ssize_t bytes = 0;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Direct MSR access")) {
++ pr_info("Direct access to MSR %x\n", reg);
+ return -EPERM;
++ }
+
if (count % 8)
return -EINVAL; /* Invalid chunk size */
-
-@@ -131,6 +134,10 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg)
- err = -EBADF;
+
+@@ -135,6 +140,11 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg)
+ err = -EFAULT;
break;
}
-+ if (kernel_is_locked_down()) {
++ if (kernel_is_locked_down("Direct MSR access")) {
++ pr_info("Direct access to MSR %x\n", regs[1]); /* Display %ecx */
+ err = -EPERM;
+ break;
+ }
- if (copy_from_user(&regs, uregs, sizeof regs)) {
- err = -EFAULT;
+ err = wrmsr_safe_regs_on_cpu(cpu, regs);
+ if (err)
break;
--
-2.7.4
+2.13.6
-From 62ebdffbcb0726b98562e9f1173a6d5967755764 Mon Sep 17 00:00:00 2001
+From e6850fffe186e252cc94e8747e589076e215ca1a Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 22/32] asus-wmi: Restrict debugfs interface when the kernel is
+Date: Wed, 24 May 2017 14:56:04 +0100
+Subject: [PATCH 13/26] asus-wmi: Restrict debugfs interface when the kernel is
locked down
We have no way of validating what all of the Asus WMI methods do on a given
@@ -985,51 +940,54 @@ kernel is locked down.
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: acpi4asus-user@lists.sourceforge.net
+cc: platform-driver-x86@vger.kernel.org
---
drivers/platform/x86/asus-wmi.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 43cb680..9be3e08 100644
+index 48e1541dc8d4..ef5587469337 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
-@@ -1898,6 +1898,9 @@ static int show_dsts(struct seq_file *m, void *data)
+@@ -1905,6 +1905,9 @@ static int show_dsts(struct seq_file *m, void *data)
int err;
u32 retval = -1;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Asus WMI"))
+ return -EPERM;
+
err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
-
+
if (err < 0)
-@@ -1914,6 +1917,9 @@ static int show_devs(struct seq_file *m, void *data)
+@@ -1921,6 +1924,9 @@ static int show_devs(struct seq_file *m, void *data)
int err;
u32 retval = -1;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Asus WMI"))
+ return -EPERM;
+
err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
&retval);
-
-@@ -1938,6 +1944,9 @@ static int show_call(struct seq_file *m, void *data)
+
+@@ -1945,6 +1951,9 @@ static int show_call(struct seq_file *m, void *data)
union acpi_object *obj;
acpi_status status;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("Asus WMI"))
+ return -EPERM;
+
status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID,
- 1, asus->debug.method_id,
+ 0, asus->debug.method_id,
&input, &output);
--
-2.7.4
+2.13.6
-From 31f493d03dde1854fa9e540f87a751fbeeb41cb9 Mon Sep 17 00:00:00 2001
+From 6dda2a4dbc8bb80efaa55aba6d54382e986305c5 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
-Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is
+Date: Wed, 24 May 2017 14:56:04 +0100
+Subject: [PATCH 14/26] ACPI: Limit access to custom_method when the kernel is
locked down
custom_method effectively allows arbitrary access to system memory, making
@@ -1038,63 +996,68 @@ Disable it if the kernel is locked down.
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: linux-acpi@vger.kernel.org
---
drivers/acpi/custom_method.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/acpi/custom_method.c b/drivers/acpi/custom_method.c
-index c68e724..e4d721c 100644
+index c68e72414a67..b33fba70ec51 100644
--- a/drivers/acpi/custom_method.c
+++ b/drivers/acpi/custom_method.c
@@ -29,6 +29,9 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf,
struct acpi_table_header table;
acpi_status status;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("ACPI custom methods"))
+ return -EPERM;
+
if (!(*ppos)) {
/* parse the table header to get the table length */
if (count <= sizeof(struct acpi_table_header))
--
-2.7.4
+2.13.6
-From 1dec5dc62c78f78b9efe44aac3d6119d97b67017 Mon Sep 17 00:00:00 2001
+From 64caa33410f85663cf0a65e4c09b8b8d28a219ad Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
-Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has
+Date: Wed, 24 May 2017 14:56:05 +0100
+Subject: [PATCH 15/26] acpi: Ignore acpi_rsdp kernel param when the kernel has
been locked down
This option allows userspace to pass the RSDP address to the kernel, which
-makes it possible for a user to circumvent any restrictions imposed on
-loading modules. Ignore the option when the kernel is locked down.
+makes it possible for a user to modify the workings of hardware . Reject
+the option when the kernel is locked down.
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: Dave Young <dyoung@redhat.com>
+cc: linux-acpi@vger.kernel.org
---
drivers/acpi/osl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
-index db78d35..d4d4ba3 100644
+index db78d353bab1..36c6527c1b0a 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -192,7 +192,7 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
acpi_physical_address pa = 0;
-
+
#ifdef CONFIG_KEXEC
- if (acpi_rsdp)
-+ if (acpi_rsdp && !kernel_is_locked_down())
++ if (acpi_rsdp && !kernel_is_locked_down("ACPI RSDP specification"))
return acpi_rsdp;
#endif
-
+
--
-2.7.4
+2.13.6
-From 96eaf04100d7365d93f898013175351c7d2702a6 Mon Sep 17 00:00:00 2001
+From d87ce06969f2d4da0c864e8a4cf6c820d950cd1f Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
-Date: Wed, 23 Nov 2016 13:32:27 +0000
-Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is
+Date: Wed, 24 May 2017 14:56:05 +0100
+Subject: [PATCH 16/26] acpi: Disable ACPI table override if the kernel is
locked down
From the kernel documentation (initrd_table_override.txt):
@@ -1109,19 +1072,21 @@ so do not allow ACPI tables to be overridden if the kernel is locked down.
Signed-off-by: Linn Crosetto <linn@hpe.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: linux-acpi@vger.kernel.org
---
drivers/acpi/tables.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
-index 2604189..601096d 100644
+index 80ce2a7d224b..5cc13c42daf9 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
-@@ -542,6 +542,11 @@ void __init acpi_table_upgrade(void)
+@@ -526,6 +526,11 @@ void __init acpi_table_upgrade(void)
if (table_nr == 0)
return;
-
-+ if (kernel_is_locked_down()) {
+
++ if (kernel_is_locked_down("ACPI table override")) {
+ pr_notice("kernel is locked down, ignoring table override\n");
+ return;
+ }
@@ -1130,12 +1095,12 @@ index 2604189..601096d 100644
memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS,
all_tables_size, PAGE_SIZE);
--
-2.7.4
+2.13.6
-From 521979b819b853f7578ba8edef8b33bc2077026d Mon Sep 17 00:00:00 2001
+From 547e2ca9cbfd420a15dd70e1c1c24b7040f88058 Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
-Date: Wed, 23 Nov 2016 13:39:41 +0000
-Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is
+Date: Wed, 24 May 2017 14:56:05 +0100
+Subject: [PATCH 17/26] acpi: Disable APEI error injection if the kernel is
locked down
ACPI provides an error injection mechanism, EINJ, for debugging and testing
@@ -1155,146 +1120,33 @@ the kernel is locked down.
Signed-off-by: Linn Crosetto <linn@hpe.com>
Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: "Lee, Chun-Yi" <jlee@suse.com>
+cc: linux-acpi@vger.kernel.org
---
drivers/acpi/apei/einj.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
-index ec50c32..e082718 100644
+index b38737c83a24..6d71e1e97b20 100644
--- a/drivers/acpi/apei/einj.c
+++ b/drivers/acpi/apei/einj.c
@@ -518,6 +518,9 @@ static int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2,
int rc;
u64 base_addr, size;
-
-+ if (kernel_is_locked_down())
+
++ if (kernel_is_locked_down("ACPI error injection"))
+ return -EPERM;
+
/* If user manually set "flags", make sure it is legal */
if (flags && (flags &
~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF)))
--
-2.7.4
-
-From fe597dad1cba83345d62c4079c0d8861c426698c Mon Sep 17 00:00:00 2001
-From: Matthew Garrett <mjg59@coreos.com>
-Date: Wed, 23 Nov 2016 13:41:23 +0000
-Subject: [PATCH 27/32] Enable cold boot attack mitigation
-
----
- arch/x86/boot/compressed/eboot.c | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index 801c7a1..ef9409b 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -604,6 +604,31 @@ void setup_graphics(struct boot_params *boot_params)
- }
- }
-
-+#define MEMORY_ONLY_RESET_CONTROL_GUID \
-+ EFI_GUID (0xe20939be, 0x32d4, 0x41be, 0xa1, 0x50, 0x89, 0x7f, 0x85, 0xd4, 0x98, 0x29)
-+
-+static void enable_reset_attack_mitigation(void)
-+{
-+ static const efi_guid_t var_guid = MEMORY_ONLY_RESET_CONTROL_GUID;
-+ static const efi_char16_t MemoryOverwriteRequestControl_name[] = {
-+ 'M', 'e', 'm', 'o', 'r', 'y',
-+ 'O', 'v', 'e', 'r', 'w', 'r', 'i', 't', 'e',
-+ 'R', 'e', 'q', 'u', 'e', 's', 't',
-+ 'C', 'o', 'n', 't', 'r', 'o', 'l',
-+ 0
-+ };
-+ u8 val = 1;
-+
-+ /* Ignore the return value here - there's not really a lot we can do */
-+ efi_call_runtime(set_variable,
-+ (efi_char16_t *)MemoryOverwriteRequestControl_name,
-+ (efi_guid_t *)&var_guid,
-+ EFI_VARIABLE_NON_VOLATILE |
-+ EFI_VARIABLE_BOOTSERVICE_ACCESS |
-+ EFI_VARIABLE_RUNTIME_ACCESS,
-+ sizeof(val), val);
-+}
-+
- /*
- * Because the x86 boot code expects to be passed a boot_params we
- * need to create one ourselves (usually the bootloader would create
-@@ -988,6 +1013,9 @@ struct boot_params *efi_main(struct efi_config *c,
- else
- setup_boot_services32(efi_early);
-
-+ /* Ask the firmware to clear memory if we don't have a clean shutdown */
-+ enable_reset_attack_mitigation();
-+
- /*
- * If the boot loader gave us a value for secure_boot then we use that,
- * otherwise we ask the BIOS.
---
-2.7.4
-
-From 04fac895731801bc6cb26a6061f1c353c80a866c Mon Sep 17 00:00:00 2001
-From: "Lee, Chun-Yi" <jlee@suse.com>
-Date: Wed, 23 Nov 2016 13:52:16 +0000
-Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the
- kernel is locked down
-
-There are some bpf functions can be used to read kernel memory:
-bpf_probe_read, bpf_probe_write_user and bpf_trace_printk. These allow
-private keys in kernel memory (e.g. the hibernation image signing key) to
-be read by an eBPF program. Prohibit those functions when the kernel is
-locked down.
-
-Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
-Signed-off-by: David Howells <dhowells@redhat.com>
----
- kernel/trace/bpf_trace.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
-index cee9802..7fde851 100644
---- a/kernel/trace/bpf_trace.c
-+++ b/kernel/trace/bpf_trace.c
-@@ -65,6 +65,11 @@ BPF_CALL_3(bpf_probe_read, void *, dst, u32, size, const void *, unsafe_ptr)
- {
- int ret;
-
-+ if (kernel_is_locked_down()) {
-+ memset(dst, 0, size);
-+ return -EPERM;
-+ }
-+
- ret = probe_kernel_read(dst, unsafe_ptr, size);
- if (unlikely(ret < 0))
- memset(dst, 0, size);
-@@ -84,6 +89,9 @@ static const struct bpf_func_proto bpf_probe_read_proto = {
- BPF_CALL_3(bpf_probe_write_user, void *, unsafe_ptr, const void *, src,
- u32, size)
- {
-+ if (kernel_is_locked_down())
-+ return -EPERM;
-+
- /*
- * Ensure we're in user context which is safe for the helper to
- * run. This helper has no business in a kthread.
-@@ -143,6 +151,9 @@ BPF_CALL_5(bpf_trace_printk, char *, fmt, u32, fmt_size, u64, arg1,
- if (fmt[--fmt_size] != 0)
- return -EINVAL;
-
-+ if (kernel_is_locked_down())
-+ return __trace_printk(1, fmt, 0, 0, 0);
-+
- /* check format string for allowed specifiers */
- for (i = 0; i < fmt_size; i++) {
- if ((!isprint(fmt[i]) && !isspace(fmt[i])) || !isascii(fmt[i]))
---
-2.7.4
+2.13.6
-From 707d0e14c2c0d6c3139ff4bcb16ee22c462b4304 Mon Sep 17 00:00:00 2001
+From abbf8de44feab5f50b316d6491926d8d9029cb49 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Tue, 22 Nov 2016 10:10:34 +0000
-Subject: [PATCH 29/32] scsi: Lock down the eata driver
+Date: Wed, 24 May 2017 14:56:06 +0100
+Subject: [PATCH 18/26] scsi: Lock down the eata driver
When the kernel is running in secure boot mode, we lock down the kernel to
prevent userspace from modifying the running kernel image. Whilst this
@@ -1306,75 +1158,73 @@ The eata driver takes a single string parameter that contains a slew of
settings, including hardware resource configuration. Prohibit use of the
parameter if the kernel is locked down.
-Suggested-by: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
+Suggested-by: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Dario Ballabio <ballabio_dario@emc.com>
cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com>
cc: "Martin K. Petersen" <martin.petersen@oracle.com>
cc: linux-scsi@vger.kernel.org
---
- drivers/scsi/eata.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
+ drivers/scsi/eata.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
-index 227dd2c..5c036d10 100644
+index 6501c330d8c8..72fceaa8f3da 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
-@@ -1552,8 +1552,13 @@ static int eata2x_detect(struct scsi_host_template *tpnt)
-
+@@ -1552,8 +1552,11 @@ static int eata2x_detect(struct scsi_host_template *tpnt)
+
tpnt->proc_name = "eata2x";
-
+
- if (strlen(boot_options))
+ if (strlen(boot_options)) {
-+ if (kernel_is_locked_down()) {
-+ pr_err("Command line-specified device addresses, irqs and dma channels are not permitted when the kernel is locked down\n");
++ if (kernel_is_locked_down("Command line-specified device addresses, irqs and dma channels"))
+ return -EPERM;
-+ }
option_setup(boot_options);
+ }
-
+
#if defined(MODULE)
/* io_port could have been modified when loading as a module */
--
-2.7.4
+2.13.6
-From 07e05e0b7d806a05eba55092630bb75a92311344 Mon Sep 17 00:00:00 2001
+From 116b02dff661d497c10099862b8b86e6cd2262ae Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Fri, 25 Nov 2016 14:37:45 +0000
-Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked
+Date: Wed, 24 May 2017 14:56:06 +0100
+Subject: [PATCH 19/26] Prohibit PCMCIA CIS storage when the kernel is locked
down
Prohibit replacement of the PCMCIA Card Information Structure when the
kernel is locked down.
+Suggested-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: David Howells <dhowells@redhat.com>
+cc: linux-pcmcia@lists.infradead.org
---
- drivers/pcmcia/cistpl.c | 5 +++++
- 1 file changed, 5 insertions(+)
+ drivers/pcmcia/cistpl.c | 3 +++
+ 1 file changed, 3 insertions(+)
diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c
-index 55ef7d1..193e4f7 100644
+index 55ef7d1fd8da..b7a0e42eeb25 100644
--- a/drivers/pcmcia/cistpl.c
+++ b/drivers/pcmcia/cistpl.c
-@@ -1578,6 +1578,11 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj,
+@@ -1578,6 +1578,9 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj,
struct pcmcia_socket *s;
int error;
-
-+ if (kernel_is_locked_down()) {
-+ pr_err("Direct CIS storage isn't permitted when the kernel is locked down\n");
+
++ if (kernel_is_locked_down("Direct PCMCIA CIS storage"))
+ return -EPERM;
-+ }
+
s = to_socket(container_of(kobj, struct device, kobj));
-
+
if (off)
--
-2.7.4
+2.13.6
-From cf1e877adbe35c5f72a9d85570b494aa3f35be6a Mon Sep 17 00:00:00 2001
+From f3dc03aa368cfde123bc1b60bda287091c9d43b4 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
-Date: Wed, 7 Dec 2016 10:28:39 +0000
-Subject: [PATCH 31/32] Lock down TIOCSSERIAL
+Date: Wed, 24 May 2017 14:56:06 +0100
+Subject: [PATCH 20/26] Lock down TIOCSSERIAL
Lock down TIOCSSERIAL as that can be used to change the ioport and irq
settings on a serial port. This only appears to be an issue for the serial
@@ -1383,20 +1233,21 @@ ignore attempts to change port/irq or give an error.
Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: David Howells <dhowells@redhat.com>
+cc: Jiri Slaby <jslaby@suse.com>
---
drivers/tty/serial/serial_core.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index 9939c3d..7c040e2 100644
+index 3a14cccbd7ff..41f0922ad842 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -820,6 +820,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
- new_flags = new_info->flags;
+@@ -842,6 +842,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
+ new_flags = (__force upf_t)new_info->flags;
old_custom_divisor = uport->custom_divisor;
-
-+ if ((change_port || change_irq) && kernel_is_locked_down()) {
-+ pr_err("Using TIOCSSERIAL to change device addresses, irqs and dma channels is not permitted when the kernel is locked down\n");
+
++ if ((change_port || change_irq) &&
++ kernel_is_locked_down("Using TIOCSSERIAL to change device addresses, irqs and dma channels")) {
+ retval = -EPERM;
+ goto exit;
+ }
@@ -1405,5 +1256,457 @@ index 9939c3d..7c040e2 100644
retval = -EPERM;
if (change_irq || change_port ||
--
-2.7.4
+2.13.6
+
+From 9d266defc89a73c6dcca3b67ad70b95ac99b8e53 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Wed, 24 May 2017 14:56:06 +0100
+Subject: [PATCH 21/26] Lock down module params that specify hardware
+ parameters (eg. ioport)
+
+Provided an annotation for module parameters that specify hardware
+parameters (such as io ports, iomem addresses, irqs, dma channels, fixed
+dma buffers and other types).
+
+Suggested-by: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
+Signed-off-by: David Howells <dhowells@redhat.com>
+---
+ kernel/params.c | 26 +++++++++++++++++++++-----
+ 1 file changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/kernel/params.c b/kernel/params.c
+index 60b2d8101355..422979adb60a 100644
+--- a/kernel/params.c
++++ b/kernel/params.c
+@@ -108,13 +108,19 @@ bool parameq(const char *a, const char *b)
+ return parameqn(a, b, strlen(a)+1);
+ }
+
+-static void param_check_unsafe(const struct kernel_param *kp)
++static bool param_check_unsafe(const struct kernel_param *kp,
++ const char *doing)
+ {
+ if (kp->flags & KERNEL_PARAM_FL_UNSAFE) {
+ pr_warn("Setting dangerous option %s - tainting kernel\n",
+ kp->name);
+ add_taint(TAINT_USER, LOCKDEP_STILL_OK);
+ }
++
++ if (kp->flags & KERNEL_PARAM_FL_HWPARAM &&
++ kernel_is_locked_down("Command line-specified device addresses, irqs and dma channels"))
++ return false;
++ return true;
+ }
+
+ static int parse_one(char *param,
+@@ -144,8 +150,10 @@ static int parse_one(char *param,
+ pr_debug("handling %s with %p\n", param,
+ params[i].ops->set);
+ kernel_param_lock(params[i].mod);
+- param_check_unsafe(&params[i]);
+- err = params[i].ops->set(val, &params[i]);
++ if (param_check_unsafe(&params[i], doing))
++ err = params[i].ops->set(val, &params[i]);
++ else
++ err = -EPERM;
+ kernel_param_unlock(params[i].mod);
+ return err;
+ }
+@@ -556,6 +564,12 @@ static ssize_t param_attr_show(struct module_attribute *mattr,
+ return count;
+ }
+
++#ifdef CONFIG_MODULES
++#define mod_name(mod) (mod)->name
++#else
++#define mod_name(mod) "unknown"
++#endif
++
+ /* sysfs always hands a nul-terminated string in buf. We rely on that. */
+ static ssize_t param_attr_store(struct module_attribute *mattr,
+ struct module_kobject *mk,
+@@ -568,8 +582,10 @@ static ssize_t param_attr_store(struct module_attribute *mattr,
+ return -EPERM;
+
+ kernel_param_lock(mk->mod);
+- param_check_unsafe(attribute->param);
+- err = attribute->param->ops->set(buf, attribute->param);
++ if (param_check_unsafe(attribute->param, mod_name(mk->mod)))
++ err = attribute->param->ops->set(buf, attribute->param);
++ else
++ err = -EPERM;
+ kernel_param_unlock(mk->mod);
+ if (!err)
+ return len;
+--
+2.13.6
+
+From 17a8caed6507846edd0a7016cdcd97fe46cca263 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Wed, 24 May 2017 14:56:07 +0100
+Subject: [PATCH 22/26] x86/mmiotrace: Lock down the testmmiotrace module
+
+The testmmiotrace module shouldn't be permitted when the kernel is locked
+down as it can be used to arbitrarily read and write MMIO space.
+
+Suggested-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: David Howells <dhowells@redhat.com
+cc: Thomas Gleixner <tglx@linutronix.de>
+cc: Steven Rostedt <rostedt@goodmis.org>
+cc: Ingo Molnar <mingo@kernel.org>
+cc: "H. Peter Anvin" <hpa@zytor.com>
+cc: x86@kernel.org
+---
+ arch/x86/mm/testmmiotrace.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/arch/x86/mm/testmmiotrace.c b/arch/x86/mm/testmmiotrace.c
+index f6ae6830b341..bbaad357f5d7 100644
+--- a/arch/x86/mm/testmmiotrace.c
++++ b/arch/x86/mm/testmmiotrace.c
+@@ -115,6 +115,9 @@ static int __init init(void)
+ {
+ unsigned long size = (read_far) ? (8 << 20) : (16 << 10);
+
++ if (kernel_is_locked_down("MMIO trace testing"))
++ return -EPERM;
++
+ if (mmio_address == 0) {
+ pr_err("you have to use the module argument mmio_address.\n");
+ pr_err("DO NOT LOAD THIS MODULE UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!\n");
+--
+2.13.6
+
+From 79ae67bf5f7eda526abaa80b01b19e08c1ed3558 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Wed, 18 Oct 2017 17:28:02 +0100
+Subject: [PATCH 23/26] debugfs: Disallow use of debugfs files when the kernel
+ is locked down
+
+Disallow opening of debugfs files when the kernel is locked down as various
+drivers give raw access to hardware through debugfs.
+
+Accesses to tracefs should use /sys/kernel/tracing/ rather than
+/sys/kernel/debug/tracing/. Possibly a symlink should be emplaced.
+
+Normal device interaction should be done through configfs or a miscdev, not
+debugfs.
+
+Note that this makes it unnecessary to specifically lock down show_dsts(),
+show_devs() and show_call() in the asus-wmi driver.
+
+Signed-off-by: David Howells <dhowells@redhat.com>
+cc: Andy Shevchenko <andy.shevchenko@gmail.com>
+cc: acpi4asus-user@lists.sourceforge.net
+cc: platform-driver-x86@vger.kernel.org
+cc: Matthew Garrett <matthew.garrett@nebula.com>
+cc: Thomas Gleixner <tglx@linutronix.de>
+---
+ fs/debugfs/file.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c
+index 6dabc4a10396..32b5168a7e91 100644
+--- a/fs/debugfs/file.c
++++ b/fs/debugfs/file.c
+@@ -103,6 +103,9 @@ static int open_proxy_open(struct inode *inode, struct file *filp)
+ const struct file_operations *real_fops = NULL;
+ int srcu_idx, r;
+
++ if (kernel_is_locked_down("debugfs"))
++ return -EPERM;
++
+ r = debugfs_use_file_start(dentry, &srcu_idx);
+ if (r) {
+ r = -ENOENT;
+@@ -232,6 +235,9 @@ static int full_proxy_open(struct inode *inode, struct file *filp)
+ struct file_operations *proxy_fops = NULL;
+ int srcu_idx, r;
+
++ if (kernel_is_locked_down("debugfs"))
++ return -EPERM;
++
+ r = debugfs_use_file_start(dentry, &srcu_idx);
+ if (r) {
+ r = -ENOENT;
+--
+2.13.6
+
+From 87ed5c02f0946c855730420cbf1daa6a2dfc54d7 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Thu, 19 Oct 2017 13:58:19 +0100
+Subject: [PATCH 24/26] Lock down /proc/kcore
+
+Disallow access to /proc/kcore when the kernel is locked down to prevent
+access to cryptographic data.
+
+Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: James Morris <james.l.morris@oracle.com>
+---
+ fs/proc/kcore.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
+index 45629f4b5402..176cf749e650 100644
+--- a/fs/proc/kcore.c
++++ b/fs/proc/kcore.c
+@@ -549,6 +549,8 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos)
+
+ static int open_kcore(struct inode *inode, struct file *filp)
+ {
++ if (kernel_is_locked_down("/proc/kcore"))
++ return -EPERM;
+ if (!capable(CAP_SYS_RAWIO))
+ return -EPERM;
+
+--
+2.13.6
+
+From 2bce9ca3a24e0b35dcf665e6ba082f0a796c6aad Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Thu, 19 Oct 2017 14:18:53 +0100
+Subject: [PATCH 25/26] efi: Add an EFI_SECURE_BOOT flag to indicate secure
+ boot mode
+
+UEFI machines can be booted in Secure Boot mode. Add an EFI_SECURE_BOOT
+flag that can be passed to efi_enabled() to find out whether secure boot is
+enabled.
+
+Move the switch-statement in x86's setup_arch() that inteprets the
+secure_boot boot parameter to generic code and set the bit there.
+
+Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Signed-off-by: David Howells <dhowells@redhat.com>
+Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+cc: linux-efi@vger.kernel.org
+---
+ arch/x86/kernel/setup.c | 14 +-------------
+ drivers/firmware/efi/Makefile | 1 +
+ drivers/firmware/efi/secureboot.c | 38 ++++++++++++++++++++++++++++++++++++++
+ include/linux/efi.h | 16 ++++++++++------
+ 4 files changed, 50 insertions(+), 19 deletions(-)
+ create mode 100644 drivers/firmware/efi/secureboot.c
+
+diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
+index 0957dd73d127..7c2162f9e769 100644
+--- a/arch/x86/kernel/setup.c
++++ b/arch/x86/kernel/setup.c
+@@ -1197,19 +1197,7 @@ void __init setup_arch(char **cmdline_p)
+ /* Allocate bigger log buffer */
+ setup_log_buf(1);
+
+- if (efi_enabled(EFI_BOOT)) {
+- switch (boot_params.secure_boot) {
+- case efi_secureboot_mode_disabled:
+- pr_info("Secure boot disabled\n");
+- break;
+- case efi_secureboot_mode_enabled:
+- pr_info("Secure boot enabled\n");
+- break;
+- default:
+- pr_info("Secure boot could not be determined\n");
+- break;
+- }
+- }
++ efi_set_secure_boot(boot_params.secure_boot);
+
+ reserve_initrd();
+
+diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
+index 0329d319d89a..883f9f7eefc6 100644
+--- a/drivers/firmware/efi/Makefile
++++ b/drivers/firmware/efi/Makefile
+@@ -23,6 +23,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o
+ obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o
+ obj-$(CONFIG_EFI_TEST) += test/
+ obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o
++obj-$(CONFIG_EFI) += secureboot.o
+ obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o
+
+ arm-obj-$(CONFIG_EFI) := arm-init.o arm-runtime.o
+diff --git a/drivers/firmware/efi/secureboot.c b/drivers/firmware/efi/secureboot.c
+new file mode 100644
+index 000000000000..9070055de0a1
+--- /dev/null
++++ b/drivers/firmware/efi/secureboot.c
+@@ -0,0 +1,38 @@
++/* Core kernel secure boot support.
++ *
++ * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved.
++ * Written by David Howells (dhowells@redhat.com)
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public Licence
++ * as published by the Free Software Foundation; either version
++ * 2 of the Licence, or (at your option) any later version.
++ */
++
++#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
++
++#include <linux/efi.h>
++#include <linux/kernel.h>
++#include <linux/printk.h>
++
++/*
++ * Decide what to do when UEFI secure boot mode is enabled.
++ */
++void __init efi_set_secure_boot(enum efi_secureboot_mode mode)
++{
++ if (efi_enabled(EFI_BOOT)) {
++ switch (mode) {
++ case efi_secureboot_mode_disabled:
++ pr_info("Secure boot disabled\n");
++ break;
++ case efi_secureboot_mode_enabled:
++ set_bit(EFI_SECURE_BOOT, &efi.flags);
++ pr_info("Secure boot enabled\n");
++ break;
++ default:
++ pr_warning("Secure boot could not be determined (mode %u)\n",
++ mode);
++ break;
++ }
++ }
++}
+diff --git a/include/linux/efi.h b/include/linux/efi.h
+index 66f4a4e79f4b..7c7a7e33e4d1 100644
+--- a/include/linux/efi.h
++++ b/include/linux/efi.h
+@@ -1103,6 +1103,14 @@ extern int __init efi_setup_pcdp_console(char *);
+ #define EFI_DBG 8 /* Print additional debug info at runtime */
+ #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */
+ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
++#define EFI_SECURE_BOOT 11 /* Are we in Secure Boot mode? */
++
++enum efi_secureboot_mode {
++ efi_secureboot_mode_unset,
++ efi_secureboot_mode_unknown,
++ efi_secureboot_mode_disabled,
++ efi_secureboot_mode_enabled,
++};
+
+ #ifdef CONFIG_EFI
+ /*
+@@ -1115,6 +1123,7 @@ static inline bool efi_enabled(int feature)
+ extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused);
+
+ extern bool efi_is_table_address(unsigned long phys_addr);
++extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode);
+ #else
+ static inline bool efi_enabled(int feature)
+ {
+@@ -1133,6 +1142,7 @@ static inline bool efi_is_table_address(unsigned long phys_addr)
+ {
+ return false;
+ }
++static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
+ #endif
+
+ extern int efi_status_to_err(efi_status_t status);
+@@ -1518,12 +1528,6 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg,
+ bool efi_runtime_disabled(void);
+ extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
+
+-enum efi_secureboot_mode {
+- efi_secureboot_mode_unset,
+- efi_secureboot_mode_unknown,
+- efi_secureboot_mode_disabled,
+- efi_secureboot_mode_enabled,
+-};
+ enum efi_secureboot_mode efi_get_secureboot(efi_system_table_t *sys_table);
+
+ #ifdef CONFIG_RESET_ATTACK_MITIGATION
+--
+2.13.6
+
+From 163d6a313399a4d50c5c7e42e3dd642ca8d495d7 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Thu, 19 Oct 2017 14:05:02 +0100
+Subject: [PATCH 26/26] efi: Lock down the kernel if booted in secure boot mode
+
+UEFI Secure Boot provides a mechanism for ensuring that the firmware will
+only load signed bootloaders and kernels. Certain use cases may also
+require that all kernel modules also be signed. Add a configuration option
+that to lock down the kernel - which includes requiring validly signed
+modules - if the kernel is secure-booted.
+
+Signed-off-by: David Howells <dhowells@redhat.com>
+Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+cc: linux-efi@vger.kernel.org
+---
+ arch/x86/kernel/setup.c | 6 ++++--
+ security/Kconfig | 14 ++++++++++++++
+ security/lock_down.c | 1 +
+ 3 files changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
+index 7c2162f9e769..4e38327efb2e 100644
+--- a/arch/x86/kernel/setup.c
++++ b/arch/x86/kernel/setup.c
+@@ -64,6 +64,7 @@
+ #include <linux/dma-mapping.h>
+ #include <linux/ctype.h>
+ #include <linux/uaccess.h>
++#include <linux/security.h>
+
+ #include <linux/percpu.h>
+ #include <linux/crash_dump.h>
+@@ -1039,6 +1040,9 @@ void __init setup_arch(char **cmdline_p)
+ if (efi_enabled(EFI_BOOT))
+ efi_init();
+
++ efi_set_secure_boot(boot_params.secure_boot);
++ init_lockdown();
++
+ dmi_scan_machine();
+ dmi_memdev_walk();
+ dmi_set_dump_stack_arch_desc();
+@@ -1197,8 +1201,6 @@ void __init setup_arch(char **cmdline_p)
+ /* Allocate bigger log buffer */
+ setup_log_buf(1);
+
+- efi_set_secure_boot(boot_params.secure_boot);
+-
+ reserve_initrd();
+
+ acpi_table_upgrade();
+diff --git a/security/Kconfig b/security/Kconfig
+index 453cc89c198a..974731ac4f85 100644
+--- a/security/Kconfig
++++ b/security/Kconfig
+@@ -220,6 +220,20 @@ config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
+ Allow the lockdown on a kernel to be lifted, by pressing a SysRq key
+ combination on a wired keyboard.
+
++config LOCK_DOWN_IN_EFI_SECURE_BOOT
++ bool "Lock down the kernel in EFI Secure Boot mode"
++ default n
++ select LOCK_DOWN_KERNEL
++ depends on EFI
++ help
++ UEFI Secure Boot provides a mechanism for ensuring that the firmware
++ will only load signed bootloaders and kernels. Secure boot mode may
++ be determined from EFI variables provided by the system firmware if
++ not indicated by the boot parameters.
++
++ Enabling this option turns on results in kernel lockdown being
++ triggered if EFI Secure Boot is set.
++
+
+ source security/selinux/Kconfig
+ source security/smack/Kconfig
+diff --git a/security/lock_down.c b/security/lock_down.c
+index 2c6b00f0c229..527f7e51dc8d 100644
+--- a/security/lock_down.c
++++ b/security/lock_down.c
+@@ -12,6 +12,7 @@
+ #include <linux/security.h>
+ #include <linux/export.h>
+ #include <linux/sysrq.h>
++#include <linux/efi.h>
+ #include <asm/setup.h>
+
+ #ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
+--
+2.13.6
diff --git a/freed-ora/current/f26/filter-armv7hl.sh b/freed-ora/current/f26/filter-armv7hl.sh
index 89a170e58..254893398 100644
--- a/freed-ora/current/f26/filter-armv7hl.sh
+++ b/freed-ora/current/f26/filter-armv7hl.sh
@@ -15,4 +15,4 @@ ethdrvs="3com adaptec alteon altera amd atheros broadcom cadence chelsio cisco d
drmdrvs="amd armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm omapdrm panel nouveau radeon rockchip sti sun4i tegra tilcdc tinydrm via vc4"
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr bq27xxx_battery_hdq"
diff --git a/freed-ora/current/f26/filter-modules.sh b/freed-ora/current/f26/filter-modules.sh
index fb84c6839..972372411 100755
--- a/freed-ora/current/f26/filter-modules.sh
+++ b/freed-ora/current/f26/filter-modules.sh
@@ -20,7 +20,7 @@ chardrvs="mwave pcmcia"
netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
-ethdrvs="3com adaptec alteon amd 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"
+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"
diff --git a/freed-ora/current/f26/filter-ppc64p7.sh b/freed-ora/current/f26/filter-ppc64p7.sh
deleted file mode 100644
index 0d42b4741..000000000
--- a/freed-ora/current/f26/filter-ppc64p7.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/bash
-
-# This is the ppc64p7 override file for the core/drivers package split. The
-# module directories listed here and in the generic list in filter-modules.sh
-# will be moved to the resulting kernel-modules package for this arch.
-# Anything not listed in those files will be in the kernel-core package.
-#
-# Please review the default list in filter-modules.sh before making
-# modifications to the overrides below. If something should be removed across
-# all arches, remove it in the default instead of per-arch.
-
-driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
-
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
diff --git a/freed-ora/current/f26/kernel-aarch64-debug.config b/freed-ora/current/f26/kernel-aarch64-debug.config
index a67a72db5..4515cc1d1 100644
--- a/freed-ora/current/f26/kernel-aarch64-debug.config
+++ b/freed-ora/current/f26/kernel-aarch64-debug.config
@@ -178,7 +178,9 @@ CONFIG_AK8975=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -232,14 +234,13 @@ CONFIG_ARCH_SEATTLE=y
# CONFIG_ARCH_STRATIX10 is not set
CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_TEGRA_132_SOC=y
-# CONFIG_ARCH_TEGRA_186_SOC is not set
+CONFIG_ARCH_TEGRA_186_SOC=y
CONFIG_ARCH_TEGRA_210_SOC=y
CONFIG_ARCH_TEGRA=y
CONFIG_ARCH_THUNDER2=y
CONFIG_ARCH_THUNDER=y
# CONFIG_ARCH_UNIPHIER is not set
CONFIG_ARCH_VEXPRESS=y
-# CONFIG_ARCH_VULCAN is not set
CONFIG_ARCH_XGENE=y
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQMP is not set
@@ -258,6 +259,7 @@ CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_LSE_ATOMICS=y
CONFIG_ARM64_PAN=y
+# CONFIG_ARM64_PMEM is not set
CONFIG_ARM64_PTDUMP_DEBUGFS=y
CONFIG_ARM64_PTDUMP=y
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
@@ -304,6 +306,7 @@ CONFIG_ARM_SMMU_V3=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_TEGRA124_CPUFREQ=m
+CONFIG_ARM_TEGRA186_CPUFREQ=m
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_TIMER_SP804=y
@@ -330,6 +333,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -470,6 +474,7 @@ CONFIG_BATTERY_AXP20X=m
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -519,7 +524,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -555,7 +559,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -578,6 +581,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -589,6 +593,7 @@ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -679,7 +684,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
CONFIG_BTT=y
CONFIG_BT_WILINK=m
@@ -760,11 +764,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -809,7 +815,7 @@ CONFIG_CHARGER_AXP20X=m
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
+CONFIG_CHARGER_QCOM_SMBB=m
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -843,9 +849,9 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
CONFIG_CLKDEV_LOOKUP=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLKSRC_VERSATILE=y
@@ -954,8 +960,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-CONFIG_CRYPTO_AES_ARM64=m
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_ARM_BS=y
CONFIG_CRYPTO_AES_ARM=y
CONFIG_CRYPTO_AES_TI=m
@@ -1002,6 +1008,8 @@ CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_SAFEXCEL=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1049,7 +1057,7 @@ CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA1_ARM_NEON=y
CONFIG_CRYPTO_SHA1_ARM=y
CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
@@ -1257,6 +1265,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_FBDEV_EMULATION=y
@@ -1320,7 +1329,6 @@ CONFIG_DRM_ROCKCHIP=m
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_STM is not set
-CONFIG_DRM_SUN4I_BACKEND=m
CONFIG_DRM_SUN8I_MIXER=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_TEGRA_DEBUG is not set
@@ -1331,6 +1339,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
+CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
@@ -1362,6 +1371,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1441,7 +1451,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
@@ -1495,7 +1505,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1513,6 +1522,7 @@ CONFIG_EXTCON_GPIO=m
CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
@@ -1725,6 +1735,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
CONFIG_GPIO_AXP209=m
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
@@ -1733,7 +1744,7 @@ CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1757,7 +1768,9 @@ CONFIG_GPIO_PL061=y
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
+CONFIG_GPIO_THUNDERX=m
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1807,7 +1820,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1968,6 +1981,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_CAVIUM=m
CONFIG_HW_RANDOM_HISI=m
+CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_OMAP=m
@@ -2006,10 +2020,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEMUX_PINCTRL is not set
-CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE is not set
CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
@@ -2036,8 +2050,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2164,6 +2177,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -2190,7 +2204,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2242,8 +2255,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2262,6 +2277,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_IIO is not set
# CONFIG_INV_MPU6050_SPI is not set
+CONFIG_IOMMU_DMA=y
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
CONFIG_IOMMU_IO_PGTABLE_LPAE=y
@@ -2425,6 +2441,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2440,6 +2457,7 @@ CONFIG_IR_MESON=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2672,6 +2690,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2771,6 +2790,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2796,6 +2816,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2876,6 +2897,7 @@ CONFIG_MDIO_BUS_MUX=m
CONFIG_MDIO_BUS_MUX_MMIOREG=m
CONFIG_MDIO_GPIO=m
CONFIG_MDIO_HISI_FEMAC=m
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_SUN4I is not set
CONFIG_MDIO_THUNDER=m
@@ -2930,6 +2952,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
CONFIG_MESON_GXBB_WATCHDOG=m
CONFIG_MESON_GXL_PHY=m
+CONFIG_MESON_GX_SOCINFO=y
CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
# CONFIG_MESON_WATCHDOG is not set
@@ -2952,6 +2975,7 @@ CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_I2C=m
@@ -3025,6 +3049,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
@@ -3069,8 +3094,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3093,7 +3120,6 @@ CONFIG_MMA7660=m
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_BCM2835=m
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CAVIUM_THUNDERX=m
@@ -3108,7 +3134,7 @@ CONFIG_MMC_DW_ROCKCHIP=m
CONFIG_MMC_MESON_GX=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_MVSDIO=m
-CONFIG_MMC_QCOM_DML=m
+CONFIG_MMC_QCOM_DML=y
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3240,6 +3266,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_NAND_OMAP2 is not set
# CONFIG_MTD_NAND_OXNAS is not set
+CONFIG_MTD_NAND_PXA3xx=m
CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_OOPS is not set
@@ -3479,6 +3506,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3549,6 +3577,7 @@ CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3571,6 +3600,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+CONFIG_NET_VENDOR_SNI=y
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3709,6 +3739,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3881,14 +3912,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3920,7 +3945,6 @@ CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_NS87415=m
-CONFIG_PATA_OF_PLATFORM=m
CONFIG_PATA_OLDPIIX=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_OPTI=m
@@ -3955,6 +3979,7 @@ CONFIG_PCIE_ARMADA_8K=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+CONFIG_PCIE_DW_HOST_ECAM=y
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_DW=y
@@ -4017,8 +4042,10 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHY_HI6220_USB=m
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
CONFIG_PHY_MESON8B_USB2=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
+CONFIG_PHY_MVEBU_CP110_COMPHY=m
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -4043,6 +4070,7 @@ CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
CONFIG_PHY_XGENE=y
+# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
@@ -4071,7 +4099,10 @@ CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set
CONFIG_PINCTRL_QDF2XXX=y
+CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -4139,7 +4170,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -4199,6 +4229,7 @@ CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_EMAC=m
# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
CONFIG_QCOM_FALKOR_ERRATUM_1009=y
+# CONFIG_QCOM_GLINK_SSR is not set
CONFIG_QCOM_GSBI=y
CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
@@ -4250,6 +4281,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4271,11 +4303,11 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_WL128X=m
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
-# CONFIG_RANDOMIZE_BASE is not set
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
@@ -4325,6 +4357,7 @@ CONFIG_REGULATOR_ACT8865=m
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4376,12 +4409,14 @@ CONFIG_REISERFS_FS_SECURITY=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
-# CONFIG_RELOCATABLE is not set
# CONFIG_RELOCATABLE_TEST is not set
+CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
CONFIG_RESET_HISI=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
@@ -4402,6 +4437,7 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
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_DW_HDMI=y
@@ -4411,6 +4447,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_SARADC=m
CONFIG_ROCKCHIP_THERMAL=m
@@ -4422,6 +4459,7 @@ CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
CONFIG_RPMSG=m
CONFIG_RPMSG_QCOM_GLINK_RPM=m
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPMSG_QCOM_SMD=m
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
@@ -4798,6 +4836,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_SENSORS_INA209=m
@@ -4888,6 +4927,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4972,6 +5012,7 @@ CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4985,6 +5026,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -5003,6 +5045,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -5112,7 +5155,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5205,6 +5248,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5271,6 +5315,12 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TEGRA20_AC97=m
+CONFIG_SND_SOC_TEGRA20_DAS=m
+CONFIG_SND_SOC_TEGRA20_I2S=m
+CONFIG_SND_SOC_TEGRA20_SPDIF=m
+CONFIG_SND_SOC_TEGRA30_AHUB=m
+CONFIG_SND_SOC_TEGRA30_I2S=m
# CONFIG_SND_SOC_TEGRA_ALC5632 is not set
CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
@@ -5290,6 +5340,7 @@ CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5341,8 +5392,10 @@ CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
+CONFIG_SNI_NETSEC=m
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
# CONFIG_SOC_ZTE is not set
@@ -5413,6 +5466,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5446,6 +5500,7 @@ CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_STUB_CLK_HI6220=y
@@ -5467,6 +5522,7 @@ CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_RSB=m
+CONFIG_SUNXI_SRAM=y
CONFIG_SUNXI_WATCHDOG=m
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
@@ -5632,13 +5688,14 @@ CONFIG_TIGON3=m
# CONFIG_TIMER_STATS is not set
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
-CONFIG_TI_ST=m
-# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_ST is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
CONFIG_TLS=m
@@ -5963,7 +6020,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -6079,7 +6135,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -6257,6 +6312,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+CONFIG_VIDEO_MESON_AO_CEC=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_NOON010PC30=m
@@ -6265,8 +6321,8 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_QCOM_CAMSS=m
CONFIG_VIDEO_QCOM_VENUS=m
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -6327,6 +6383,7 @@ CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
+CONFIG_VMAP_STACK=y
# CONFIG_VME_BUS is not set
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
@@ -6363,6 +6420,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6382,6 +6440,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6476,6 +6535,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-aarch64.config b/freed-ora/current/f26/kernel-aarch64.config
index 2da9dfb19..ccf162a8b 100644
--- a/freed-ora/current/f26/kernel-aarch64.config
+++ b/freed-ora/current/f26/kernel-aarch64.config
@@ -178,7 +178,9 @@ CONFIG_AK8975=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -232,14 +234,13 @@ CONFIG_ARCH_SEATTLE=y
# CONFIG_ARCH_STRATIX10 is not set
CONFIG_ARCH_SUNXI=y
CONFIG_ARCH_TEGRA_132_SOC=y
-# CONFIG_ARCH_TEGRA_186_SOC is not set
+CONFIG_ARCH_TEGRA_186_SOC=y
CONFIG_ARCH_TEGRA_210_SOC=y
CONFIG_ARCH_TEGRA=y
CONFIG_ARCH_THUNDER2=y
CONFIG_ARCH_THUNDER=y
# CONFIG_ARCH_UNIPHIER is not set
CONFIG_ARCH_VEXPRESS=y
-# CONFIG_ARCH_VULCAN is not set
CONFIG_ARCH_XGENE=y
# CONFIG_ARCH_ZX is not set
# CONFIG_ARCH_ZYNQMP is not set
@@ -258,6 +259,7 @@ CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_LSE_ATOMICS=y
CONFIG_ARM64_PAN=y
+# CONFIG_ARM64_PMEM is not set
CONFIG_ARM64_PTDUMP_DEBUGFS=y
# CONFIG_ARM64_PTDUMP is not set
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
@@ -304,6 +306,7 @@ CONFIG_ARM_SMMU_V3=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_TEGRA124_CPUFREQ=m
+CONFIG_ARM_TEGRA186_CPUFREQ=m
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_TIMER_SP804=y
@@ -330,6 +333,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -470,6 +474,7 @@ CONFIG_BATTERY_AXP20X=m
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -519,7 +524,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -555,7 +559,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -578,6 +581,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -589,6 +593,7 @@ CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -679,7 +684,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
CONFIG_BTT=y
CONFIG_BT_WILINK=m
@@ -760,11 +764,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -809,7 +815,7 @@ CONFIG_CHARGER_AXP20X=m
# CONFIG_CHARGER_MANAGER is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
+CONFIG_CHARGER_QCOM_SMBB=m
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -843,9 +849,9 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
CONFIG_CLKDEV_LOOKUP=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLKSRC_VERSATILE=y
@@ -953,8 +959,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-CONFIG_CRYPTO_AES_ARM64=m
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_ARM_BS=y
CONFIG_CRYPTO_AES_ARM=y
CONFIG_CRYPTO_AES_TI=m
@@ -1001,6 +1007,8 @@ CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_SAFEXCEL=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1048,7 +1056,7 @@ CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA1_ARM_NEON=y
CONFIG_CRYPTO_SHA1_ARM=y
CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
@@ -1247,6 +1255,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_FBDEV_EMULATION=y
@@ -1310,7 +1319,6 @@ CONFIG_DRM_ROCKCHIP=m
CONFIG_DRM_SIL_SII8620=m
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_STM is not set
-CONFIG_DRM_SUN4I_BACKEND=m
CONFIG_DRM_SUN8I_MIXER=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_TEGRA_DEBUG is not set
@@ -1321,6 +1329,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
+CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
@@ -1352,6 +1361,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1431,7 +1441,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
@@ -1485,7 +1495,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1503,6 +1512,7 @@ CONFIG_EXTCON_GPIO=m
CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
@@ -1708,6 +1718,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
CONFIG_GPIO_AXP209=m
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_DEVRES=y
CONFIG_GPIO_DWAPB=m
@@ -1716,7 +1727,7 @@ CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1740,7 +1751,9 @@ CONFIG_GPIO_PL061=y
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_TEGRA=y
+CONFIG_GPIO_THUNDERX=m
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1790,7 +1803,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1951,6 +1964,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_CAVIUM=m
CONFIG_HW_RANDOM_HISI=m
+CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_OMAP=m
@@ -1989,10 +2003,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEMUX_PINCTRL is not set
-CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE is not set
CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
@@ -2019,8 +2033,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2147,6 +2160,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -2173,7 +2187,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2225,8 +2238,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2245,6 +2260,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_IIO is not set
# CONFIG_INV_MPU6050_SPI is not set
+CONFIG_IOMMU_DMA=y
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
CONFIG_IOMMU_IO_PGTABLE_LPAE=y
@@ -2408,6 +2424,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2423,6 +2440,7 @@ CONFIG_IR_MESON=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2653,6 +2671,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2752,6 +2771,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2777,6 +2797,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2856,6 +2877,7 @@ CONFIG_MDIO_BUS_MUX=m
CONFIG_MDIO_BUS_MUX_MMIOREG=m
CONFIG_MDIO_GPIO=m
CONFIG_MDIO_HISI_FEMAC=m
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_SUN4I is not set
CONFIG_MDIO_THUNDER=m
@@ -2910,6 +2932,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
CONFIG_MESON_GXBB_WATCHDOG=m
CONFIG_MESON_GXL_PHY=m
+CONFIG_MESON_GX_SOCINFO=y
CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
# CONFIG_MESON_WATCHDOG is not set
@@ -2932,6 +2955,7 @@ CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_I2C=m
@@ -3005,6 +3029,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
@@ -3049,8 +3074,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3073,7 +3100,6 @@ CONFIG_MMA7660=m
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_BCM2835=m
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CAVIUM_THUNDERX=m
@@ -3088,7 +3114,7 @@ CONFIG_MMC_DW_ROCKCHIP=m
CONFIG_MMC_MESON_GX=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_MVSDIO=m
-CONFIG_MMC_QCOM_DML=m
+CONFIG_MMC_QCOM_DML=y
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3219,6 +3245,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_NAND_OMAP2 is not set
# CONFIG_MTD_NAND_OXNAS is not set
+CONFIG_MTD_NAND_PXA3xx=m
CONFIG_MTD_OF_PARTS=m
# CONFIG_MTD_ONENAND is not set
# CONFIG_MTD_OOPS is not set
@@ -3458,6 +3485,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3528,6 +3556,7 @@ CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3550,6 +3579,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+CONFIG_NET_VENDOR_SNI=y
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3688,6 +3718,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3860,14 +3891,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC is not set
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3899,7 +3924,6 @@ CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_NS87415=m
-CONFIG_PATA_OF_PLATFORM=m
CONFIG_PATA_OLDPIIX=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_OPTI=m
@@ -3934,6 +3958,7 @@ CONFIG_PCIE_ARMADA_8K=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+CONFIG_PCIE_DW_HOST_ECAM=y
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_DW=y
@@ -3996,8 +4021,10 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHY_HI6220_USB=m
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
CONFIG_PHY_MESON8B_USB2=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
+CONFIG_PHY_MVEBU_CP110_COMPHY=m
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -4022,6 +4049,7 @@ CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
CONFIG_PHY_XGENE=y
+# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
@@ -4050,7 +4078,10 @@ CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set
CONFIG_PINCTRL_QDF2XXX=y
+CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -4118,7 +4149,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -4177,6 +4207,7 @@ CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_EMAC=m
# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
CONFIG_QCOM_FALKOR_ERRATUM_1009=y
+# CONFIG_QCOM_GLINK_SSR is not set
CONFIG_QCOM_GSBI=y
CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
@@ -4228,6 +4259,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4249,11 +4281,11 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_WL128X=m
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
-# CONFIG_RANDOMIZE_BASE is not set
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
CONFIG_RAS_CEC=y
CONFIG_RASPBERRYPI_FIRMWARE=y
CONFIG_RASPBERRYPI_POWER=y
@@ -4303,6 +4335,7 @@ CONFIG_REGULATOR_ACT8865=m
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4354,12 +4387,14 @@ CONFIG_REISERFS_FS_SECURITY=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
-# CONFIG_RELOCATABLE is not set
# CONFIG_RELOCATABLE_TEST is not set
+CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
CONFIG_RESET_HISI=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
@@ -4380,6 +4415,7 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
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_DW_HDMI=y
@@ -4389,6 +4425,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_SARADC=m
CONFIG_ROCKCHIP_THERMAL=m
@@ -4400,6 +4437,7 @@ CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
CONFIG_RPMSG=m
CONFIG_RPMSG_QCOM_GLINK_RPM=m
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPMSG_QCOM_SMD=m
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
@@ -4776,6 +4814,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_SENSORS_INA209=m
@@ -4866,6 +4905,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4950,6 +4990,7 @@ CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4963,6 +5004,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4981,6 +5023,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -5090,7 +5133,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5182,6 +5225,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5248,6 +5292,12 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
+CONFIG_SND_SOC_TEGRA20_AC97=m
+CONFIG_SND_SOC_TEGRA20_DAS=m
+CONFIG_SND_SOC_TEGRA20_I2S=m
+CONFIG_SND_SOC_TEGRA20_SPDIF=m
+CONFIG_SND_SOC_TEGRA30_AHUB=m
+CONFIG_SND_SOC_TEGRA30_I2S=m
# CONFIG_SND_SOC_TEGRA_ALC5632 is not set
CONFIG_SND_SOC_TEGRA=m
CONFIG_SND_SOC_TEGRA_MAX98090=m
@@ -5267,6 +5317,7 @@ CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5318,8 +5369,10 @@ CONFIG_SND_VIRMIDI=m
CONFIG_SND_VIRTUOSO=m
CONFIG_SND_VX222=m
CONFIG_SND_YMFPCI=m
+CONFIG_SNI_NETSEC=m
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
# CONFIG_SOC_ZTE is not set
@@ -5390,6 +5443,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5423,6 +5477,7 @@ CONFIG_STMMAC_ETH=m
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_STUB_CLK_HI6220=y
@@ -5444,6 +5499,7 @@ CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_RSB=m
+CONFIG_SUNXI_SRAM=y
CONFIG_SUNXI_WATCHDOG=m
CONFIG_SURFACE_3_BUTTON=m
CONFIG_SURFACE3_WMI=m
@@ -5609,13 +5665,14 @@ CONFIG_TIGON3=m
# CONFIG_TIMER_STATS is not set
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
-CONFIG_TI_ST=m
-# CONFIG_TI_SYSCON_RESET is not set
+# CONFIG_TI_ST is not set
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
CONFIG_TLS=m
@@ -5940,7 +5997,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -6056,7 +6112,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -6234,6 +6289,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+CONFIG_VIDEO_MESON_AO_CEC=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_NOON010PC30=m
@@ -6242,8 +6298,8 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_QCOM_CAMSS=m
CONFIG_VIDEO_QCOM_VENUS=m
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -6304,6 +6360,7 @@ CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
+CONFIG_VMAP_STACK=y
# CONFIG_VME_BUS is not set
# CONFIG_VMXNET3 is not set
CONFIG_VORTEX=m
@@ -6340,6 +6397,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6359,6 +6417,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6453,6 +6512,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-armv7hl-debug.config b/freed-ora/current/f26/kernel-armv7hl-debug.config
index a09016b16..f544a6039 100644
--- a/freed-ora/current/f26/kernel-armv7hl-debug.config
+++ b/freed-ora/current/f26/kernel-armv7hl-debug.config
@@ -156,7 +156,9 @@ CONFIG_AK8975=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -193,6 +195,7 @@ CONFIG_ARCH_BCM2835=y
# CONFIG_ARCH_BCM_53573 is not set
# CONFIG_ARCH_BCM_63XX is not set
# CONFIG_ARCH_BCM_CYGNUS is not set
+# CONFIG_ARCH_BCM_IPROC is not set
# CONFIG_ARCH_BCM_NSP is not set
CONFIG_ARCH_BCM=y
# CONFIG_ARCH_BERLIN is not set
@@ -361,6 +364,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -500,6 +504,7 @@ CONFIG_BATMAN_ADV_MCAST=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATTERY_AXP20X=m
# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set
+CONFIG_BATTERY_BQ27XXX_HDQ=m
CONFIG_BATTERY_BQ27XXX_I2C=m
CONFIG_BATTERY_BQ27XXX=m
CONFIG_BATTERY_DA9052=m
@@ -511,6 +516,7 @@ CONFIG_BATTERY_DA9052=m
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_RX51=m
CONFIG_BATTERY_SBS=m
CONFIG_BATTERY_TWL4030_MADC=m
@@ -560,7 +566,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -596,7 +601,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -621,6 +625,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -631,6 +636,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -720,7 +726,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -801,11 +806,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_CCS811 is not set
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -851,7 +858,7 @@ CONFIG_CHARGER_MANAGER=y
# CONFIG_CHARGER_MAX8903 is not set
CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
+CONFIG_CHARGER_QCOM_SMBB=m
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -888,8 +895,8 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLKSRC_VERSATILE=y
@@ -1055,7 +1062,9 @@ CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
CONFIG_CRYPTO_DEV_SAHARA=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_SUN4I_SS=m
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1102,7 +1111,7 @@ CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SHA1_ARM_NEON=y
CONFIG_CRYPTO_SHA1_ARM=y
CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
@@ -1321,6 +1330,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_ETNAVIV=m
@@ -1427,6 +1437,7 @@ CONFIG_DRM_SIL_SII8620=m
CONFIG_DRM_STI=m
# CONFIG_DRM_STM is not set
CONFIG_DRM_SUN4I_BACKEND=m
+# CONFIG_DRM_SUN4I_HDMI_CEC is not set
CONFIG_DRM_SUN4I_HDMI=m
CONFIG_DRM_SUN4I=m
CONFIG_DRM_SUN8I_MIXER=m
@@ -1441,6 +1452,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
+CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
@@ -1472,6 +1484,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1552,7 +1565,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
@@ -1607,7 +1620,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1627,6 +1639,7 @@ CONFIG_EXTCON_PALMAS=m
CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
@@ -1849,6 +1862,7 @@ CONFIG_GPIO_74X164=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
CONFIG_GPIO_AXP209=m
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_DA9052=m
CONFIG_GPIO_DA9055=m
@@ -1859,7 +1873,7 @@ CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -1890,6 +1904,7 @@ CONFIG_GPIO_TPS65218=m
CONFIG_GPIO_TPS6586X=y
CONFIG_GPIO_TPS65910=y
CONFIG_GPIO_TPS65912=m
+CONFIG_GPIO_TPS68470=y
CONFIG_GPIO_TS4800=m
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1944,7 +1959,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -2101,6 +2116,7 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_MXC_RNGA=m
@@ -2140,10 +2156,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEMUX_PINCTRL is not set
-CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE is not set
CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
@@ -2173,8 +2189,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2279,6 +2294,7 @@ CONFIG_IMX7_PM_DOMAINS=y
CONFIG_IMX_DMA=m
CONFIG_IMX_GPCV2=y
CONFIG_IMX_IPUV3_CORE=m
+CONFIG_IMX_REMOTEPROC=m
CONFIG_IMX_SDMA=m
CONFIG_IMX_THERMAL=m
CONFIG_IMX_WEIM=y
@@ -2308,6 +2324,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
# CONFIG_INFINIBAND_I40IW is not set
# CONFIG_INFINIBAND_IPOIB_CM is not set
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
@@ -2334,7 +2351,6 @@ CONFIG_INET=y
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
CONFIG_INPUT_88PM80X_ONKEY=m
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
@@ -2392,8 +2408,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2416,6 +2434,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_IIO is not set
# CONFIG_INV_MPU6050_SPI is not set
+CONFIG_IOMMU_DMA=y
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
CONFIG_IOMMU_IO_PGTABLE_LPAE=y
@@ -2579,6 +2598,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2594,6 +2614,7 @@ CONFIG_IR_MESON=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_CROSSBAR=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2847,6 +2868,7 @@ CONFIG_LCD_VGG2432A4=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2950,6 +2972,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2975,6 +2998,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -3076,6 +3100,7 @@ CONFIG_MDIO_BUS_MUX=m
CONFIG_MDIO_BUS_MUX_MMIOREG=m
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
@@ -3129,6 +3154,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_GX_SOCINFO=y
CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
@@ -3151,6 +3177,7 @@ CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_I2C=m
@@ -3226,6 +3253,7 @@ CONFIG_MFD_TPS65910=y
CONFIG_MFD_TPS65912_I2C=y
CONFIG_MFD_TPS65912_SPI=y
CONFIG_MFD_TPS65912=y
+CONFIG_MFD_TPS68470=y
CONFIG_MFD_TPS80031=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
@@ -3271,8 +3299,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3295,7 +3325,6 @@ CONFIG_MMA8452=m
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_BCM2835=m
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3312,7 +3341,7 @@ CONFIG_MMC_MVSDIO=m
CONFIG_MMC_MXC=m
CONFIG_MMC_OMAP_HS=m
CONFIG_MMC_OMAP=m
-CONFIG_MMC_QCOM_DML=m
+CONFIG_MMC_QCOM_DML=y
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3724,6 +3753,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3795,6 +3825,7 @@ CONFIG_NET_VENDOR_FREESCALE=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3817,6 +3848,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3955,6 +3987,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -4167,14 +4200,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -4208,7 +4235,6 @@ CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_NS87415=m
-CONFIG_PATA_OF_PLATFORM=m
CONFIG_PATA_OLDPIIX=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_OPTI=m
@@ -4246,6 +4272,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_DW=y
@@ -4311,10 +4338,12 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
CONFIG_PHY_MESON8B_USB2=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
CONFIG_PHY_MIPHY28LP=m
# CONFIG_PHY_MIPHY365X is not set
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -4340,6 +4369,7 @@ CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
@@ -4350,13 +4380,11 @@ CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BAYTRAIL is not set
-# CONFIG_PINCTRL_BCM281XX is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_GEMINILAKE is not set
-# CONFIG_PINCTRL_IMX35 is not set
CONFIG_PINCTRL_IMX6SL=y
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
@@ -4373,8 +4401,11 @@ CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_PALMAS=y
CONFIG_PINCTRL_QCOM_SPMI_PMIC=m
CONFIG_PINCTRL_QCOM_SSBI_PMIC=m
+CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -4451,7 +4482,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -4520,6 +4550,7 @@ CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
CONFIG_QCOM_GSBI=m
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4569,6 +4600,7 @@ CONFIG_R8169=m
CONFIG_R8188EU=m
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4590,7 +4622,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_WL128X=m
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4649,6 +4680,7 @@ CONFIG_REGULATOR_AD5398=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_BD9571MWV=m
CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_DA9055=m
CONFIG_REGULATOR_DA9210=m
@@ -4721,8 +4753,10 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
@@ -4743,6 +4777,7 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
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_DW_HDMI=y
@@ -4752,6 +4787,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_SARADC=m
CONFIG_ROCKCHIP_THERMAL=m
@@ -4763,6 +4799,7 @@ CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
CONFIG_RPMSG=m
CONFIG_RPMSG_QCOM_GLINK_RPM=m
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPMSG_QCOM_SMD=m
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
@@ -5160,6 +5197,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_SENSORS_INA209=m
@@ -5251,6 +5289,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_TWL4030_MADC=m
@@ -5354,6 +5393,7 @@ CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_NVEC_PS2=y
@@ -5368,6 +5408,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -5386,6 +5427,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -5504,7 +5546,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5617,6 +5659,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
CONFIG_SND_SOC_CS42XX8_I2C=m
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5732,6 +5775,7 @@ CONFIG_SND_SOC_TWL4030=m
CONFIG_SND_SOC_TWL6040=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5891,6 +5935,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5932,11 +5977,13 @@ CONFIG_ST_REMOTEPROC=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_ST_THERMAL=m
CONFIG_ST_THERMAL_MEMMAP=m
# CONFIG_ST_THERMAL_SYSCFG is not set
+CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
CONFIG_SUN5I_CCU=y
@@ -5946,6 +5993,7 @@ CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
@@ -6133,6 +6181,8 @@ CONFIG_TIGON3=m
# CONFIG_TIMER_STATS is not set
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -6140,8 +6190,7 @@ CONFIG_TI_PIPE3=m
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
-CONFIG_TI_ST=m
-CONFIG_TI_SYSCON_RESET=m
+# CONFIG_TI_ST is not set
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -6487,7 +6536,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -6610,7 +6658,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -6802,6 +6849,7 @@ CONFIG_VIDEO_IMX_VDOA=m
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+CONFIG_VIDEO_MESON_AO_CEC=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_MUX=m
CONFIG_VIDEO_MXB=m
@@ -6815,8 +6863,8 @@ CONFIG_VIDEO_OMAP3=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_QCOM_CAMSS=m
CONFIG_VIDEO_QCOM_VENUS=m
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
CONFIG_VIDEO_SAA6588=m
@@ -6930,6 +6978,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6949,6 +6998,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -7047,6 +7097,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config b/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config
index 068aeac2e..a475963cd 100644
--- a/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config
+++ b/freed-ora/current/f26/kernel-armv7hl-lpae-debug.config
@@ -154,7 +154,9 @@ CONFIG_AK8975=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -189,6 +191,7 @@ CONFIG_ARCH_BCM2835=y
# CONFIG_ARCH_BCM_53573 is not set
# CONFIG_ARCH_BCM_63XX is not set
# CONFIG_ARCH_BCM_CYGNUS is not set
+# CONFIG_ARCH_BCM_IPROC is not set
# CONFIG_ARCH_BCM_NSP is not set
CONFIG_ARCH_BCM=y
# CONFIG_ARCH_BERLIN is not set
@@ -347,6 +350,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -490,6 +494,7 @@ CONFIG_BATTERY_AXP20X=m
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_SBS=m
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -537,7 +542,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -573,7 +577,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -598,6 +601,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -608,6 +612,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -696,7 +701,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -777,11 +781,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_CCS811 is not set
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -827,7 +833,6 @@ CONFIG_CHARGER_MANAGER=y
# CONFIG_CHARGER_MAX8903 is not set
CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -862,8 +867,8 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLKSRC_VERSATILE=y
@@ -1004,7 +1009,9 @@ CONFIG_CRYPTO_DEV_MV_CESA=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_SUN4I_SS=m
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1051,7 +1058,7 @@ CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SHA1_ARM_NEON=y
CONFIG_CRYPTO_SHA1_ARM=y
CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
@@ -1268,6 +1275,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_EXYNOS5433_DECON=y
@@ -1343,6 +1351,7 @@ CONFIG_DRM_SIL_SII8620=m
CONFIG_DRM_STI=m
# CONFIG_DRM_STM is not set
CONFIG_DRM_SUN4I_BACKEND=m
+# CONFIG_DRM_SUN4I_HDMI_CEC is not set
CONFIG_DRM_SUN4I_HDMI=m
CONFIG_DRM_SUN4I=m
CONFIG_DRM_SUN8I_MIXER=m
@@ -1356,6 +1365,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
+CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
@@ -1387,6 +1397,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1465,7 +1476,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
@@ -1519,7 +1530,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1538,6 +1548,7 @@ CONFIG_EXTCON_MAX8997=m
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
@@ -1755,6 +1766,7 @@ CONFIG_GPIO_74X164=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
CONFIG_GPIO_AXP209=m
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_DAVINCI=y
CONFIG_GPIO_DEVRES=y
@@ -1764,7 +1776,7 @@ CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -1790,6 +1802,7 @@ CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65910=y
CONFIG_GPIO_TPS65912=m
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1840,7 +1853,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1999,6 +2012,7 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -2033,10 +2047,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEMUX_PINCTRL is not set
-CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE is not set
CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
@@ -2063,8 +2077,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2188,6 +2201,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
# CONFIG_INFINIBAND_I40IW is not set
# CONFIG_INFINIBAND_IPOIB_CM is not set
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
@@ -2214,7 +2228,6 @@ CONFIG_INET=y
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2267,8 +2280,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2288,6 +2303,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_IIO is not set
# CONFIG_INV_MPU6050_SPI is not set
+CONFIG_IOMMU_DMA=y
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
CONFIG_IOMMU_IO_PGTABLE_LPAE=y
@@ -2451,6 +2467,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2466,6 +2483,7 @@ CONFIG_IR_MESON=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_CROSSBAR=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2715,6 +2733,7 @@ CONFIG_LCD_VGG2432A4=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2815,6 +2834,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2840,6 +2860,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2934,6 +2955,7 @@ CONFIG_MDIO_BUS_MUX=m
CONFIG_MDIO_BUS_MUX_MMIOREG=m
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
@@ -2985,6 +3007,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_GX_SOCINFO=y
CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
@@ -3007,6 +3030,7 @@ CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_I2C=m
@@ -3058,7 +3082,6 @@ CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
-CONFIG_MFD_SPMI_PMIC=m
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SUN4I_GPADC=m
CONFIG_MFD_SYSCON=y
@@ -3080,6 +3103,7 @@ CONFIG_MFD_TPS65910=y
CONFIG_MFD_TPS65912_I2C=y
CONFIG_MFD_TPS65912_SPI=y
CONFIG_MFD_TPS65912=y
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
@@ -3125,8 +3149,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3149,7 +3175,6 @@ CONFIG_MMA8452=m
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_BCM2835=m
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3164,7 +3189,6 @@ CONFIG_MMC_DW_ROCKCHIP=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_MVSDIO=m
CONFIG_MMC_OMAP_HS=m
-CONFIG_MMC_QCOM_DML=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3553,6 +3577,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3623,6 +3648,7 @@ CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3645,6 +3671,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3781,6 +3808,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3917,7 +3945,6 @@ CONFIG_OF_RESOLVE=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
CONFIG_OLD_BELKIN_DONGLE=m
-# CONFIG_OMAP2_DSS_DEBUG is not set
# CONFIG_OMAP3_THERMAL is not set
# CONFIG_OMAP_GPMC_DEBUG is not set
# CONFIG_OMFS_FS is not set
@@ -3955,14 +3982,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3995,7 +4016,6 @@ CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_NS87415=m
-CONFIG_PATA_OF_PLATFORM=m
CONFIG_PATA_OLDPIIX=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_OPTI=m
@@ -4033,6 +4053,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_DW=y
@@ -4095,8 +4116,10 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
CONFIG_PHY_MESON8B_USB2=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -4116,6 +4139,7 @@ CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
@@ -4124,13 +4148,11 @@ CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BAYTRAIL is not set
-# CONFIG_PINCTRL_BCM281XX is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_GEMINILAKE is not set
-# CONFIG_PINCTRL_IMX35 is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -4139,8 +4161,11 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
CONFIG_PINCTRL_MVEBU=y
+CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -4212,7 +4237,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -4256,6 +4280,7 @@ CONFIG_PWM_SAMSUNG=m
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=m
+CONFIG_PWM_TIECAP=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=y
CONFIG_PWRSEQ_SD8787=m
@@ -4265,6 +4290,7 @@ CONFIG_PWRSEQ_SIMPLE=y
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_PM8XXX_XOADC=m
@@ -4298,6 +4324,7 @@ CONFIG_R8169=m
CONFIG_R8188EU=m
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4319,7 +4346,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_WL128X=m
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4375,6 +4401,7 @@ CONFIG_REGULATOR_AD5398=m
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_BD9571MWV=m
CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
# CONFIG_REGULATOR_DEBUG is not set
@@ -4434,8 +4461,10 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
@@ -4456,6 +4485,7 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
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_DW_HDMI=y
@@ -4465,6 +4495,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_SARADC=m
CONFIG_ROCKCHIP_THERMAL=m
@@ -4475,6 +4506,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4857,6 +4889,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_SENSORS_INA209=m
@@ -4947,6 +4980,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -5037,6 +5071,7 @@ CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -5050,6 +5085,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -5068,6 +5104,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -5180,7 +5217,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5277,6 +5314,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5349,7 +5387,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TEGRA20_AC97 is not set
-# CONFIG_SND_SOC_TEGRA20_DAS is not set
+CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
# CONFIG_SND_SOC_TEGRA20_SPDIF is not set
CONFIG_SND_SOC_TEGRA30_AHUB=m
@@ -5373,6 +5411,7 @@ CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5504,6 +5543,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5539,8 +5579,10 @@ CONFIG_STMMAC_PLATFORM=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
CONFIG_SUN5I_CCU=y
@@ -5550,6 +5592,7 @@ CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
@@ -5731,14 +5774,15 @@ CONFIG_TIGON3=m
CONFIG_TI_MESSAGE_MANAGER=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
-CONFIG_TI_ST=m
-CONFIG_TI_SYSCON_RESET=m
+# CONFIG_TI_ST is not set
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -5913,8 +5957,10 @@ CONFIG_USB_BELKIN=y
CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_CHIPIDEA_ULPI is not set
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_CHIPIDEA=m
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_ULPI=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -6066,7 +6112,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -6181,7 +6226,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -6366,6 +6410,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+CONFIG_VIDEO_MESON_AO_CEC=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_MUX=m
CONFIG_VIDEO_MXB=m
@@ -6375,7 +6420,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
CONFIG_VIDEO_SAA6588=m
@@ -6481,6 +6525,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6500,6 +6545,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6608,6 +6654,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-armv7hl-lpae.config b/freed-ora/current/f26/kernel-armv7hl-lpae.config
index 2ec2d7b26..c9048e3bf 100644
--- a/freed-ora/current/f26/kernel-armv7hl-lpae.config
+++ b/freed-ora/current/f26/kernel-armv7hl-lpae.config
@@ -154,7 +154,9 @@ CONFIG_AK8975=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -189,6 +191,7 @@ CONFIG_ARCH_BCM2835=y
# CONFIG_ARCH_BCM_53573 is not set
# CONFIG_ARCH_BCM_63XX is not set
# CONFIG_ARCH_BCM_CYGNUS is not set
+# CONFIG_ARCH_BCM_IPROC is not set
# CONFIG_ARCH_BCM_NSP is not set
CONFIG_ARCH_BCM=y
# CONFIG_ARCH_BERLIN is not set
@@ -346,6 +349,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -489,6 +493,7 @@ CONFIG_BATTERY_AXP20X=m
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_SBS=m
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -536,7 +541,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -572,7 +576,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -597,6 +600,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -607,6 +611,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -695,7 +700,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -776,11 +780,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_CCS811 is not set
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -826,7 +832,6 @@ CONFIG_CHARGER_MANAGER=y
# CONFIG_CHARGER_MAX8903 is not set
CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -861,8 +866,8 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLKSRC_VERSATILE=y
@@ -1002,7 +1007,9 @@ CONFIG_CRYPTO_DEV_MV_CESA=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_SUN4I_SS=m
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1049,7 +1056,7 @@ CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SHA1_ARM_NEON=y
CONFIG_CRYPTO_SHA1_ARM=y
CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
@@ -1258,6 +1265,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_EXYNOS5433_DECON=y
@@ -1333,6 +1341,7 @@ CONFIG_DRM_SIL_SII8620=m
CONFIG_DRM_STI=m
# CONFIG_DRM_STM is not set
CONFIG_DRM_SUN4I_BACKEND=m
+# CONFIG_DRM_SUN4I_HDMI_CEC is not set
CONFIG_DRM_SUN4I_HDMI=m
CONFIG_DRM_SUN4I=m
CONFIG_DRM_SUN8I_MIXER=m
@@ -1346,6 +1355,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
+CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
@@ -1377,6 +1387,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1455,7 +1466,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
@@ -1509,7 +1520,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1528,6 +1538,7 @@ CONFIG_EXTCON_MAX8997=m
# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
@@ -1738,6 +1749,7 @@ CONFIG_GPIO_74X164=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
CONFIG_GPIO_AXP209=m
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_DAVINCI=y
CONFIG_GPIO_DEVRES=y
@@ -1747,7 +1759,7 @@ CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -1773,6 +1785,7 @@ CONFIG_GPIO_TEGRA=y
# CONFIG_GPIO_TPIC2810 is not set
CONFIG_GPIO_TPS65910=y
CONFIG_GPIO_TPS65912=m
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1823,7 +1836,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1982,6 +1995,7 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -2016,10 +2030,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEMUX_PINCTRL is not set
-CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE is not set
CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
@@ -2046,8 +2060,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2171,6 +2184,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
# CONFIG_INFINIBAND_I40IW is not set
# CONFIG_INFINIBAND_IPOIB_CM is not set
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
@@ -2197,7 +2211,6 @@ CONFIG_INET=y
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2250,8 +2263,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2271,6 +2286,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_IIO is not set
# CONFIG_INV_MPU6050_SPI is not set
+CONFIG_IOMMU_DMA=y
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
CONFIG_IOMMU_IO_PGTABLE_LPAE=y
@@ -2434,6 +2450,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2449,6 +2466,7 @@ CONFIG_IR_MESON=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_CROSSBAR=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2696,6 +2714,7 @@ CONFIG_LCD_VGG2432A4=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2796,6 +2815,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2821,6 +2841,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2914,6 +2935,7 @@ CONFIG_MDIO_BUS_MUX=m
CONFIG_MDIO_BUS_MUX_MMIOREG=m
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
@@ -2965,6 +2987,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_GX_SOCINFO=y
CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
@@ -2987,6 +3010,7 @@ CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_I2C=m
@@ -3038,7 +3062,6 @@ CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
-CONFIG_MFD_SPMI_PMIC=m
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SUN4I_GPADC=m
CONFIG_MFD_SYSCON=y
@@ -3060,6 +3083,7 @@ CONFIG_MFD_TPS65910=y
CONFIG_MFD_TPS65912_I2C=y
CONFIG_MFD_TPS65912_SPI=y
CONFIG_MFD_TPS65912=y
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
@@ -3105,8 +3129,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3129,7 +3155,6 @@ CONFIG_MMA8452=m
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_BCM2835=m
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3144,7 +3169,6 @@ CONFIG_MMC_DW_ROCKCHIP=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_MVSDIO=m
CONFIG_MMC_OMAP_HS=m
-CONFIG_MMC_QCOM_DML=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3532,6 +3556,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3602,6 +3627,7 @@ CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3624,6 +3650,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3760,6 +3787,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3896,7 +3924,6 @@ CONFIG_OF_RESOLVE=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
CONFIG_OLD_BELKIN_DONGLE=m
-# CONFIG_OMAP2_DSS_DEBUG is not set
# CONFIG_OMAP3_THERMAL is not set
# CONFIG_OMAP_GPMC_DEBUG is not set
# CONFIG_OMFS_FS is not set
@@ -3934,14 +3961,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3974,7 +3995,6 @@ CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_NS87415=m
-CONFIG_PATA_OF_PLATFORM=m
CONFIG_PATA_OLDPIIX=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_OPTI=m
@@ -4012,6 +4032,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_DW=y
@@ -4074,8 +4095,10 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
CONFIG_PHY_MESON8B_USB2=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -4095,6 +4118,7 @@ CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
@@ -4103,13 +4127,11 @@ CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BAYTRAIL is not set
-# CONFIG_PINCTRL_BCM281XX is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_GEMINILAKE is not set
-# CONFIG_PINCTRL_IMX35 is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -4118,8 +4140,11 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
CONFIG_PINCTRL_MVEBU=y
+CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -4191,7 +4216,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -4234,6 +4258,7 @@ CONFIG_PWM_SAMSUNG=m
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=m
+CONFIG_PWM_TIECAP=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=y
CONFIG_PWRSEQ_SD8787=m
@@ -4243,6 +4268,7 @@ CONFIG_PWRSEQ_SIMPLE=y
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_PM8XXX_XOADC=m
@@ -4276,6 +4302,7 @@ CONFIG_R8169=m
CONFIG_R8188EU=m
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4297,7 +4324,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_WL128X=m
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4353,6 +4379,7 @@ CONFIG_REGULATOR_AD5398=m
# CONFIG_REGULATOR_ANATOP is not set
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_BD9571MWV=m
CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
# CONFIG_REGULATOR_DEBUG is not set
@@ -4412,8 +4439,10 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
@@ -4434,6 +4463,7 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
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_DW_HDMI=y
@@ -4443,6 +4473,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_SARADC=m
CONFIG_ROCKCHIP_THERMAL=m
@@ -4453,6 +4484,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4835,6 +4867,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_SENSORS_INA209=m
@@ -4925,6 +4958,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -5015,6 +5049,7 @@ CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -5028,6 +5063,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -5046,6 +5082,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -5158,7 +5195,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5254,6 +5291,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5326,7 +5364,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
# CONFIG_SND_SOC_TEGRA20_AC97 is not set
-# CONFIG_SND_SOC_TEGRA20_DAS is not set
+CONFIG_SND_SOC_TEGRA20_DAS=m
CONFIG_SND_SOC_TEGRA20_I2S=m
# CONFIG_SND_SOC_TEGRA20_SPDIF is not set
CONFIG_SND_SOC_TEGRA30_AHUB=m
@@ -5350,6 +5388,7 @@ CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5481,6 +5520,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5516,8 +5556,10 @@ CONFIG_STMMAC_PLATFORM=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
+CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
CONFIG_SUN5I_CCU=y
@@ -5527,6 +5569,7 @@ CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
@@ -5708,14 +5751,15 @@ CONFIG_TIGON3=m
CONFIG_TI_MESSAGE_MANAGER=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
-CONFIG_TI_ST=m
-CONFIG_TI_SYSCON_RESET=m
+# CONFIG_TI_ST is not set
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -5890,8 +5934,10 @@ CONFIG_USB_BELKIN=y
CONFIG_USB_CATC=m
CONFIG_USB_CDC_PHONET=m
CONFIG_USB_CHAOSKEY=m
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_CHIPIDEA_ULPI is not set
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_CHIPIDEA=m
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_ULPI=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_ECM=y
@@ -6043,7 +6089,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -6158,7 +6203,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -6343,6 +6387,7 @@ CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+CONFIG_VIDEO_MESON_AO_CEC=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_MUX=m
CONFIG_VIDEO_MXB=m
@@ -6352,7 +6397,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
CONFIG_VIDEO_SAA6588=m
@@ -6458,6 +6502,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6477,6 +6522,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6585,6 +6631,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-armv7hl.config b/freed-ora/current/f26/kernel-armv7hl.config
index 9cee3ad59..c3c13da54 100644
--- a/freed-ora/current/f26/kernel-armv7hl.config
+++ b/freed-ora/current/f26/kernel-armv7hl.config
@@ -156,7 +156,9 @@ CONFIG_AK8975=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -193,6 +195,7 @@ CONFIG_ARCH_BCM2835=y
# CONFIG_ARCH_BCM_53573 is not set
# CONFIG_ARCH_BCM_63XX is not set
# CONFIG_ARCH_BCM_CYGNUS is not set
+# CONFIG_ARCH_BCM_IPROC is not set
# CONFIG_ARCH_BCM_NSP is not set
CONFIG_ARCH_BCM=y
# CONFIG_ARCH_BERLIN is not set
@@ -360,6 +363,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -499,6 +503,7 @@ CONFIG_BATMAN_ADV_MCAST=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATTERY_AXP20X=m
# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set
+CONFIG_BATTERY_BQ27XXX_HDQ=m
CONFIG_BATTERY_BQ27XXX_I2C=m
CONFIG_BATTERY_BQ27XXX=m
CONFIG_BATTERY_DA9052=m
@@ -510,6 +515,7 @@ CONFIG_BATTERY_DA9052=m
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_RX51=m
CONFIG_BATTERY_SBS=m
CONFIG_BATTERY_TWL4030_MADC=m
@@ -559,7 +565,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -595,7 +600,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -620,6 +624,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -630,6 +635,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -719,7 +725,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -800,11 +805,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_CCS811 is not set
# CONFIG_CC_STACKPROTECTOR is not set
CONFIG_CC_STACKPROTECTOR_NONE=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -850,7 +857,7 @@ CONFIG_CHARGER_MANAGER=y
# CONFIG_CHARGER_MAX8903 is not set
CONFIG_CHARGER_MAX8997=m
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
+CONFIG_CHARGER_QCOM_SMBB=m
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -887,8 +894,8 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLKSRC_VERSATILE=y
@@ -1053,7 +1060,9 @@ CONFIG_CRYPTO_DEV_QCE=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
CONFIG_CRYPTO_DEV_SAHARA=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_SUN4I_SS=m
+CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1100,7 +1109,7 @@ CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_SHA1_ARM_NEON=y
CONFIG_CRYPTO_SHA1_ARM=y
CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA256_ARM=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA2_ARM_CE is not set
@@ -1311,6 +1320,7 @@ CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DUMB_VGA_DAC=m
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
CONFIG_DRM_DW_HDMI=m
CONFIG_DRM_ETNAVIV=m
@@ -1417,6 +1427,7 @@ CONFIG_DRM_SIL_SII8620=m
CONFIG_DRM_STI=m
# CONFIG_DRM_STM is not set
CONFIG_DRM_SUN4I_BACKEND=m
+# CONFIG_DRM_SUN4I_HDMI_CEC is not set
CONFIG_DRM_SUN4I_HDMI=m
CONFIG_DRM_SUN4I=m
CONFIG_DRM_SUN8I_MIXER=m
@@ -1431,6 +1442,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
+CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
CONFIG_DRM_VIA=m
@@ -1462,6 +1474,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1542,7 +1555,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
@@ -1597,7 +1610,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1617,6 +1629,7 @@ CONFIG_EXTCON_PALMAS=m
CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
@@ -1832,6 +1845,7 @@ CONFIG_GPIO_74X164=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
CONFIG_GPIO_AXP209=m
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_DA9052=m
CONFIG_GPIO_DA9055=m
@@ -1842,7 +1856,7 @@ CONFIG_GPIO_EXAR=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GENERIC=y
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
CONFIG_GPIO_MAX7301=m
@@ -1873,6 +1887,7 @@ CONFIG_GPIO_TPS65218=m
CONFIG_GPIO_TPS6586X=y
CONFIG_GPIO_TPS65910=y
CONFIG_GPIO_TPS65912=m
+CONFIG_GPIO_TPS68470=y
CONFIG_GPIO_TS4800=m
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
@@ -1927,7 +1942,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -2084,6 +2099,7 @@ CONFIG_HWMON=y
CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
+CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_MSM=m
CONFIG_HW_RANDOM_MXC_RNGA=m
@@ -2123,10 +2139,10 @@ CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEMUX_PINCTRL is not set
-CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_CORE=y
# CONFIG_I2C_DESIGNWARE is not set
CONFIG_I2C_DESIGNWARE_PCI=m
-CONFIG_I2C_DESIGNWARE_PLATFORM=m
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DIOLAN_U2C=m
# CONFIG_I2C_EG20T is not set
@@ -2156,8 +2172,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OMAP=y
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_PXA=m
@@ -2262,6 +2277,7 @@ CONFIG_IMX7_PM_DOMAINS=y
CONFIG_IMX_DMA=m
CONFIG_IMX_GPCV2=y
CONFIG_IMX_IPUV3_CORE=m
+CONFIG_IMX_REMOTEPROC=m
CONFIG_IMX_SDMA=m
CONFIG_IMX_THERMAL=m
CONFIG_IMX_WEIM=y
@@ -2291,6 +2307,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
# CONFIG_INFINIBAND_I40IW is not set
# CONFIG_INFINIBAND_IPOIB_CM is not set
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
@@ -2317,7 +2334,6 @@ CONFIG_INET=y
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
CONFIG_INPUT_88PM80X_ONKEY=m
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
@@ -2375,8 +2391,10 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2399,6 +2417,7 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INV_MPU6050_I2C is not set
# CONFIG_INV_MPU6050_IIO is not set
# CONFIG_INV_MPU6050_SPI is not set
+CONFIG_IOMMU_DMA=y
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
CONFIG_IOMMU_IO_PGTABLE_LPAE=y
@@ -2562,6 +2581,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2577,6 +2597,7 @@ CONFIG_IR_MESON=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_CROSSBAR=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2828,6 +2849,7 @@ CONFIG_LCD_VGG2432A4=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2931,6 +2953,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2956,6 +2979,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=32768
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -3056,6 +3080,7 @@ CONFIG_MDIO_BUS_MUX=m
CONFIG_MDIO_BUS_MUX_MMIOREG=m
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
@@ -3109,6 +3134,7 @@ CONFIG_MEMSTICK_TIFM_MS=m
CONFIG_MESON_EFUSE=m
# CONFIG_MESON_GXBB_WATCHDOG is not set
# CONFIG_MESON_GXL_PHY is not set
+CONFIG_MESON_GX_SOCINFO=y
CONFIG_MESON_SARADC=m
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
@@ -3131,6 +3157,7 @@ CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_I2C=m
@@ -3206,6 +3233,7 @@ CONFIG_MFD_TPS65910=y
CONFIG_MFD_TPS65912_I2C=y
CONFIG_MFD_TPS65912_SPI=y
CONFIG_MFD_TPS65912=y
+CONFIG_MFD_TPS68470=y
CONFIG_MFD_TPS80031=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MFD_VIPERBOARD=m
@@ -3251,8 +3279,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3275,7 +3305,6 @@ CONFIG_MMA8452=m
# CONFIG_MMC35240 is not set
CONFIG_MMC_ARMMMCI=m
CONFIG_MMC_BCM2835=m
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3292,7 +3321,7 @@ CONFIG_MMC_MVSDIO=m
CONFIG_MMC_MXC=m
CONFIG_MMC_OMAP_HS=m
CONFIG_MMC_OMAP=m
-CONFIG_MMC_QCOM_DML=m
+CONFIG_MMC_QCOM_DML=y
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3703,6 +3732,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3774,6 +3804,7 @@ CONFIG_NET_VENDOR_FREESCALE=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3796,6 +3827,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_NET_VENDOR_SUN is not set
@@ -3934,6 +3966,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -4146,14 +4179,8 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -4187,7 +4214,6 @@ CONFIG_PATA_NETCELL=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87410=m
CONFIG_PATA_NS87415=m
-CONFIG_PATA_OF_PLATFORM=m
CONFIG_PATA_OLDPIIX=m
CONFIG_PATA_OPTIDMA=m
CONFIG_PATA_OPTI=m
@@ -4225,6 +4251,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_DW=y
@@ -4290,10 +4317,12 @@ CONFIG_PHY_EXYNOS_DP_VIDEO=m
CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
CONFIG_PHY_EXYNOS_PCIE=y
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
CONFIG_PHY_MESON8B_USB2=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
CONFIG_PHY_MIPHY28LP=m
# CONFIG_PHY_MIPHY365X is not set
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -4319,6 +4348,7 @@ CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
@@ -4329,13 +4359,11 @@ CONFIG_PINCTRL_ARMADA_370=y
CONFIG_PINCTRL_ARMADA_XP=y
CONFIG_PINCTRL_AS3722=y
# CONFIG_PINCTRL_BAYTRAIL is not set
-# CONFIG_PINCTRL_BCM281XX is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_GEMINILAKE is not set
-# CONFIG_PINCTRL_IMX35 is not set
CONFIG_PINCTRL_IMX6SL=y
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
@@ -4352,8 +4380,11 @@ CONFIG_PINCTRL_MVEBU=y
CONFIG_PINCTRL_PALMAS=y
CONFIG_PINCTRL_QCOM_SPMI_PMIC=m
CONFIG_PINCTRL_QCOM_SSBI_PMIC=m
+CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -4430,7 +4461,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -4498,6 +4528,7 @@ CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
CONFIG_QCOM_GSBI=m
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4547,6 +4578,7 @@ CONFIG_R8169=m
CONFIG_R8188EU=m
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4568,7 +4600,6 @@ CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_WL128X=m
CONFIG_RADIO_ZOLTRIX=m
CONFIG_RAID_ATTRS=m
# CONFIG_RANDOM32_SELFTEST is not set
@@ -4627,6 +4658,7 @@ CONFIG_REGULATOR_AD5398=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
+CONFIG_REGULATOR_BD9571MWV=m
CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_DA9055=m
CONFIG_REGULATOR_DA9210=m
@@ -4699,8 +4731,10 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SCI is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
@@ -4721,6 +4755,7 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
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_DW_HDMI=y
@@ -4730,6 +4765,7 @@ CONFIG_ROCKCHIP_INNO_HDMI=y
CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_SARADC=m
CONFIG_ROCKCHIP_THERMAL=m
@@ -4741,6 +4777,7 @@ CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
CONFIG_RPMSG=m
CONFIG_RPMSG_QCOM_GLINK_RPM=m
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPMSG_QCOM_SMD=m
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
@@ -5138,6 +5175,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m
CONFIG_SENSORS_INA209=m
@@ -5229,6 +5267,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_TWL4030_MADC=m
@@ -5332,6 +5371,7 @@ CONFIG_SERIO_AMBAKMI=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_NVEC_PS2=y
@@ -5346,6 +5386,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -5364,6 +5405,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -5482,7 +5524,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -5594,6 +5636,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
CONFIG_SND_SOC_CS42XX8_I2C=m
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5709,6 +5752,7 @@ CONFIG_SND_SOC_TWL4030=m
CONFIG_SND_SOC_TWL6040=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5868,6 +5912,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
CONFIG_SRAM=y
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5909,11 +5954,13 @@ CONFIG_ST_REMOTEPROC=m
CONFIG_STRICT_DEVMEM=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_STRICT_MODULE_RWX=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_ST_THERMAL=m
CONFIG_ST_THERMAL_MEMMAP=m
# CONFIG_ST_THERMAL_SYSCFG is not set
+CONFIG_SUN4I_A10_CCU=y
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
CONFIG_SUN5I_CCU=y
@@ -5923,6 +5970,7 @@ CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
+CONFIG_SUN8I_R40_CCU=y
CONFIG_SUN8I_R_CCU=y
CONFIG_SUN8I_V3S_CCU=y
CONFIG_SUN9I_A80_CCU=y
@@ -6110,6 +6158,8 @@ CONFIG_TIGON3=m
# CONFIG_TIMER_STATS is not set
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_MIPI_DBI=m
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
@@ -6117,8 +6167,7 @@ CONFIG_TI_PIPE3=m
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
-CONFIG_TI_ST=m
-CONFIG_TI_SYSCON_RESET=m
+# CONFIG_TI_ST is not set
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -6464,7 +6513,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -6587,7 +6635,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -6779,6 +6826,7 @@ CONFIG_VIDEO_IMX_VDOA=m
CONFIG_VIDEO_IVTV=m
# CONFIG_VIDEO_M5MOLS is not set
# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+CONFIG_VIDEO_MESON_AO_CEC=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_MUX=m
CONFIG_VIDEO_MXB=m
@@ -6792,8 +6840,8 @@ CONFIG_VIDEO_OMAP3=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_QCOM_CAMSS=m
CONFIG_VIDEO_QCOM_VENUS=m
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_S5P_FIMC=m
CONFIG_VIDEO_S5P_MIPI_CSIS=m
CONFIG_VIDEO_SAA6588=m
@@ -6907,6 +6955,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6926,6 +6975,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -7024,6 +7074,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-i686-PAE.config b/freed-ora/current/f26/kernel-i686-PAE.config
index 3ec8597ff..b2de5a16c 100644
--- a/freed-ora/current/f26/kernel-i686-PAE.config
+++ b/freed-ora/current/f26/kernel-i686-PAE.config
@@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_ALIX is not set
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -252,6 +254,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -388,6 +391,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_OLPC=y
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
@@ -430,7 +434,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
@@ -467,7 +470,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -490,6 +492,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -500,6 +503,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -588,7 +592,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -660,11 +663,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -707,7 +712,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -743,9 +747,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -863,6 +868,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1027,6 +1033,7 @@ CONFIG_DEV_APPLETALK=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1199,6 +1206,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1273,7 +1281,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_EFI=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1353,7 +1361,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1593,6 +1600,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
@@ -1628,6 +1636,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1675,7 +1684,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1861,6 +1870,7 @@ CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2032,6 +2042,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -2058,7 +2069,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2107,7 +2117,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2147,6 +2159,7 @@ CONFIG_INTEL_POWERCLAMP=m
CONFIG_INTEL_PUNIT_IPC=m
CONFIG_INTEL_RAPL=m
CONFIG_INTEL_RDT_A=y
+CONFIG_INTEL_RDT=y
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SCU_IPC is not set
CONFIG_INTEL_SMARTCONNECT=y
@@ -2198,7 +2211,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2325,6 +2338,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2339,6 +2353,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2570,6 +2585,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2670,6 +2686,7 @@ CONFIG_LOAD_UEFI_KEYS=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
CONFIG_LOCK_DOWN_KERNEL=y
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2695,6 +2712,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2758,7 +2776,7 @@ CONFIG_MAX30100=m
# CONFIG_MAX9611 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_MAX_RAW_DEVS=8192
-CONFIG_MAXSMP=y
+# CONFIG_MAXSMP is not set
# CONFIG_MC3230 is not set
# CONFIG_MCB is not set
# CONFIG_MCE_AMD_INJ is not set
@@ -2782,6 +2800,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2846,6 +2865,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2913,6 +2933,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2962,8 +2983,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2984,7 +3007,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3345,6 +3367,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3414,6 +3437,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3435,6 +3459,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3574,6 +3599,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3817,6 +3843,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3875,6 +3902,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3884,19 +3913,23 @@ CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
CONFIG_PINCTRL_BAYTRAIL=y
-# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_DENVERTON=m
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
+CONFIG_PINCTRL_LEWISBURG=m
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -3915,7 +3948,7 @@ CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_PMIC_OPREGION=y
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -4008,6 +4041,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -4037,6 +4071,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4105,6 +4140,7 @@ CONFIG_REALTEK_PHY=m
# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -4119,6 +4155,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -4138,6 +4176,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -4145,6 +4185,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4522,6 +4563,7 @@ CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4613,6 +4655,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4686,6 +4729,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4699,6 +4743,7 @@ CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
CONFIG_SFI=y
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4718,6 +4763,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4825,7 +4871,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4914,6 +4960,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5001,6 +5048,7 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5100,6 +5148,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5134,6 +5183,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5298,7 +5348,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5584,7 +5633,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5863,7 +5911,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5966,6 +6013,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5985,6 +6033,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6108,6 +6157,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVH=y
CONFIG_XEN_PV=y
@@ -6161,6 +6211,7 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-i686-PAEdebug.config b/freed-ora/current/f26/kernel-i686-PAEdebug.config
index acaf5fc32..f4cdb78e1 100644
--- a/freed-ora/current/f26/kernel-i686-PAEdebug.config
+++ b/freed-ora/current/f26/kernel-i686-PAEdebug.config
@@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_ALIX is not set
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -253,6 +255,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -389,6 +392,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_OLPC=y
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
@@ -431,7 +435,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
@@ -468,7 +471,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -491,6 +493,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -501,6 +504,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -589,7 +593,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -661,11 +664,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -708,7 +713,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -744,9 +748,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -865,6 +870,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1037,6 +1043,7 @@ CONFIG_DEV_APPLETALK=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1210,6 +1217,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1284,7 +1292,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_EFI=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1364,7 +1372,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1611,6 +1618,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
@@ -1646,6 +1654,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1693,7 +1702,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1879,6 +1888,7 @@ CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2050,6 +2060,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -2076,7 +2087,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2125,7 +2135,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2165,6 +2177,7 @@ CONFIG_INTEL_POWERCLAMP=m
CONFIG_INTEL_PUNIT_IPC=m
CONFIG_INTEL_RAPL=m
CONFIG_INTEL_RDT_A=y
+CONFIG_INTEL_RDT=y
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SCU_IPC is not set
CONFIG_INTEL_SMARTCONNECT=y
@@ -2216,7 +2229,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2343,6 +2356,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2357,6 +2371,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2590,6 +2605,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2690,6 +2706,7 @@ CONFIG_LOAD_UEFI_KEYS=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
CONFIG_LOCK_DOWN_KERNEL=y
CONFIG_LOCKD_V4=y
CONFIG_LOCK_STAT=y
@@ -2715,6 +2732,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2802,6 +2820,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2866,6 +2885,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2933,6 +2953,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2982,8 +3003,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3004,7 +3027,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3365,6 +3387,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3434,6 +3457,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3455,6 +3479,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3594,6 +3619,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3837,6 +3863,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3895,6 +3922,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3904,19 +3933,23 @@ CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
CONFIG_PINCTRL_BAYTRAIL=y
-# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_DENVERTON=m
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
+CONFIG_PINCTRL_LEWISBURG=m
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -3935,7 +3968,7 @@ CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_PMIC_OPREGION=y
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -4029,6 +4062,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -4058,6 +4092,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4126,6 +4161,7 @@ CONFIG_REALTEK_PHY=m
CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -4140,6 +4176,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -4159,6 +4197,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -4166,6 +4206,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4543,6 +4584,7 @@ CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4634,6 +4676,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4707,6 +4750,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4720,6 +4764,7 @@ CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
CONFIG_SFI=y
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4739,6 +4784,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4846,7 +4892,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4936,6 +4982,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5023,6 +5070,7 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5122,6 +5170,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5156,6 +5205,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5320,7 +5370,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5606,7 +5655,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5885,7 +5933,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5988,6 +6035,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6007,6 +6055,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6130,6 +6179,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVH=y
CONFIG_XEN_PV=y
@@ -6183,6 +6233,7 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-i686-debug.config b/freed-ora/current/f26/kernel-i686-debug.config
index d057a6a07..5bcfb886f 100644
--- a/freed-ora/current/f26/kernel-i686-debug.config
+++ b/freed-ora/current/f26/kernel-i686-debug.config
@@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_ALIX is not set
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -253,6 +255,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -389,6 +392,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_OLPC=y
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
@@ -431,7 +435,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
@@ -468,7 +471,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -491,6 +493,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -501,6 +504,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -589,7 +593,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -661,11 +664,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -708,7 +713,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -744,9 +748,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -865,6 +870,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1037,6 +1043,7 @@ CONFIG_DEV_APPLETALK=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1210,6 +1217,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1284,7 +1292,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_EFI=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1364,7 +1372,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1611,6 +1618,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_CRYSTAL_COVE=y
CONFIG_GPIO_CS5535=y
@@ -1646,6 +1654,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1693,7 +1702,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1879,6 +1888,7 @@ CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2050,6 +2060,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -2076,7 +2087,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2125,7 +2135,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2165,6 +2177,7 @@ CONFIG_INTEL_POWERCLAMP=m
CONFIG_INTEL_PUNIT_IPC=m
CONFIG_INTEL_RAPL=m
CONFIG_INTEL_RDT_A=y
+CONFIG_INTEL_RDT=y
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SCU_IPC is not set
CONFIG_INTEL_SMARTCONNECT=y
@@ -2216,7 +2229,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2343,6 +2356,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2357,6 +2371,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2590,6 +2605,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2690,6 +2706,7 @@ CONFIG_LOAD_UEFI_KEYS=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
CONFIG_LOCK_DOWN_KERNEL=y
CONFIG_LOCKD_V4=y
CONFIG_LOCK_STAT=y
@@ -2715,6 +2732,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2802,6 +2820,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2866,6 +2885,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2933,6 +2953,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2982,8 +3003,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3004,7 +3027,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3365,6 +3387,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3434,6 +3457,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3455,6 +3479,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3594,6 +3619,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3837,6 +3863,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3895,6 +3922,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3904,19 +3933,23 @@ CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
CONFIG_PINCTRL_BAYTRAIL=y
-# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_DENVERTON=m
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
+CONFIG_PINCTRL_LEWISBURG=m
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -3935,7 +3968,7 @@ CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_PMIC_OPREGION=y
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -4029,6 +4062,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -4058,6 +4092,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4126,6 +4161,7 @@ CONFIG_REALTEK_PHY=m
CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -4140,6 +4176,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -4159,6 +4197,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -4166,6 +4206,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4543,6 +4584,7 @@ CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4634,6 +4676,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4707,6 +4750,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4720,6 +4764,7 @@ CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
CONFIG_SFI=y
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4739,6 +4784,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4846,7 +4892,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4936,6 +4982,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5023,6 +5070,7 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5122,6 +5170,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5156,6 +5205,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5320,7 +5370,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5606,7 +5655,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5885,7 +5933,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5988,6 +6035,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6007,6 +6055,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6129,6 +6178,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVH=y
CONFIG_XEN_PV=y
@@ -6181,6 +6231,7 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-i686.config b/freed-ora/current/f26/kernel-i686.config
index 5415d5721..c2915f453 100644
--- a/freed-ora/current/f26/kernel-i686.config
+++ b/freed-ora/current/f26/kernel-i686.config
@@ -197,7 +197,9 @@ CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_ALIX is not set
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -252,6 +254,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -388,6 +391,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
CONFIG_BATTERY_OLPC=y
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
@@ -430,7 +434,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
@@ -467,7 +470,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -490,6 +492,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -500,6 +503,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -588,7 +592,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -660,11 +663,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -707,7 +712,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -743,9 +747,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -863,6 +868,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1027,6 +1033,7 @@ CONFIG_DEV_APPLETALK=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1199,6 +1206,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1273,7 +1281,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_EFI=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1353,7 +1361,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1593,6 +1600,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_CRYSTAL_COVE=y
CONFIG_GPIO_CS5535=y
@@ -1628,6 +1636,7 @@ CONFIG_GPIO_SCH=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1675,7 +1684,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1861,6 +1870,7 @@ CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2032,6 +2042,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -2058,7 +2069,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2107,7 +2117,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2147,6 +2159,7 @@ CONFIG_INTEL_POWERCLAMP=m
CONFIG_INTEL_PUNIT_IPC=m
CONFIG_INTEL_RAPL=m
CONFIG_INTEL_RDT_A=y
+CONFIG_INTEL_RDT=y
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SCU_IPC is not set
CONFIG_INTEL_SMARTCONNECT=y
@@ -2198,7 +2211,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2325,6 +2338,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2339,6 +2353,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2570,6 +2585,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2670,6 +2686,7 @@ CONFIG_LOAD_UEFI_KEYS=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
CONFIG_LOCK_DOWN_KERNEL=y
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2695,6 +2712,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2758,7 +2776,7 @@ CONFIG_MAX30100=m
# CONFIG_MAX9611 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_MAX_RAW_DEVS=8192
-CONFIG_MAXSMP=y
+# CONFIG_MAXSMP is not set
# CONFIG_MC3230 is not set
# CONFIG_MCB is not set
# CONFIG_MCE_AMD_INJ is not set
@@ -2782,6 +2800,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2846,6 +2865,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2913,6 +2933,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2962,8 +2983,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
# CONFIG_MLX5_INFINIBAND is not set
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2984,7 +3007,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3345,6 +3367,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3414,6 +3437,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3435,6 +3459,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3574,6 +3599,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3817,6 +3843,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3875,6 +3902,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3884,19 +3913,23 @@ CONFIG_PHYSICAL_START=0x400000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
CONFIG_PINCTRL_BAYTRAIL=y
-# CONFIG_PINCTRL_BCM281XX is not set
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_DENVERTON=m
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
+CONFIG_PINCTRL_LEWISBURG=m
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -3915,7 +3948,7 @@ CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_PMIC_OPREGION=y
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -4008,6 +4041,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -4037,6 +4071,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4105,6 +4140,7 @@ CONFIG_REALTEK_PHY=m
# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -4119,6 +4155,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -4138,6 +4176,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -4145,6 +4185,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4522,6 +4563,7 @@ CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4613,6 +4655,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4686,6 +4729,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4699,6 +4743,7 @@ CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
CONFIG_SFI=y
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4718,6 +4763,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4825,7 +4871,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4914,6 +4960,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5001,6 +5048,7 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5100,6 +5148,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5134,6 +5183,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5298,7 +5348,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5584,7 +5633,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5863,7 +5911,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5966,6 +6013,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5985,6 +6033,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6107,6 +6156,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVH=y
CONFIG_XEN_PV=y
@@ -6159,6 +6209,7 @@ CONFIG_ZLIB_INFLATE=y
CONFIG_ZONE_DMA=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-ppc64-debug.config b/freed-ora/current/f26/kernel-ppc64-debug.config
index 9c105908d..e0117d1a5 100644
--- a/freed-ora/current/f26/kernel-ppc64-debug.config
+++ b/freed-ora/current/f26/kernel-ppc64-debug.config
@@ -153,7 +153,9 @@ CONFIG_AIX_PARTITION=y
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALTIVEC=y
@@ -202,6 +204,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -337,6 +340,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -378,7 +382,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_BLK_DEV_AEC62XX is not set
@@ -452,7 +455,6 @@ CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV=y
@@ -476,6 +478,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -487,6 +490,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -575,7 +579,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -649,9 +652,11 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -694,7 +699,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -728,9 +732,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -844,6 +849,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
CONFIG_CRYPTO_DEV_NX=y
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m
CONFIG_CRYPTO_DEV_VMX=y
@@ -1009,6 +1015,7 @@ CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1166,6 +1173,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1238,7 +1246,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1285,7 +1293,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1527,13 +1534,14 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1553,6 +1561,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
@@ -1601,7 +1610,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1824,8 +1833,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OPAL=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_POWERMAC=m
@@ -1947,6 +1955,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1973,7 +1982,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2022,7 +2030,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
@@ -2075,7 +2085,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2198,6 +2208,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2212,6 +2223,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2444,6 +2456,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2542,6 +2555,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
CONFIG_LOCK_STAT=y
@@ -2568,6 +2582,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2649,6 +2664,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2717,6 +2733,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2781,6 +2798,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2825,8 +2843,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2847,7 +2867,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3193,6 +3212,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3261,6 +3281,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_IBM=y
CONFIG_NET_VENDOR_INTEL=y
@@ -3284,6 +3305,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3422,6 +3444,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3577,14 +3600,8 @@ CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
-CONFIG_PARPORT=m
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT is not set
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3649,6 +3666,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3696,6 +3714,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3703,13 +3723,16 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SX150X is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3729,7 +3752,7 @@ CONFIG_PM_DEBUG=y
CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -3774,6 +3797,7 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
CONFIG_PPC_MAPLE=y
+# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
# CONFIG_PPC_PASEMI is not set
@@ -3788,6 +3812,7 @@ CONFIG_PPC_SMLPAR=y
CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_PPC_TRANSACTIONAL_MEM=y
+CONFIG_PPC_VAS=y
CONFIG_PPC=y
CONFIG_PPDEV=m
CONFIG_PPP_ASYNC=m
@@ -3804,7 +3829,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -3852,6 +3876,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -3881,6 +3906,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -3948,6 +3974,7 @@ CONFIG_REALTEK_PHY=m
CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -3962,6 +3989,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -3981,6 +4010,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -3988,6 +4019,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4360,6 +4392,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBM_CFFPS=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IBMPOWERNV=y
# CONFIG_SENSORS_IIO_HWMON is not set
@@ -4450,6 +4483,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4525,6 +4559,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4538,6 +4573,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4557,6 +4593,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4670,7 +4707,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4762,6 +4799,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -4824,6 +4862,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TS3A227E is not set
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -4918,6 +4957,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -4951,6 +4991,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5109,7 +5150,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5393,7 +5433,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5498,7 +5537,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -5672,7 +5710,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5770,6 +5807,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5790,6 +5828,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5891,6 +5930,7 @@ CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-ppc64.config b/freed-ora/current/f26/kernel-ppc64.config
index 5cd8c2eff..03a5696fc 100644
--- a/freed-ora/current/f26/kernel-ppc64.config
+++ b/freed-ora/current/f26/kernel-ppc64.config
@@ -153,7 +153,9 @@ CONFIG_AIX_PARTITION=y
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALTIVEC=y
@@ -201,6 +203,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -336,6 +339,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -377,7 +381,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
# CONFIG_BLK_DEV_AEC62XX is not set
@@ -451,7 +454,6 @@ CONFIG_BLK_DEV_SX8=m
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_VIA82CXXX is not set
CONFIG_BLK_DEV=y
@@ -475,6 +477,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -486,6 +489,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -574,7 +578,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -648,9 +651,11 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -693,7 +698,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -727,9 +731,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -842,6 +847,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
CONFIG_CRYPTO_DEV_NX=y
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m
CONFIG_CRYPTO_DEV_VMX=y
@@ -999,6 +1005,7 @@ CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1155,6 +1162,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1227,7 +1235,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1274,7 +1282,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1509,13 +1516,14 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1535,6 +1543,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
@@ -1583,7 +1592,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1806,8 +1815,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OPAL=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
+# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
CONFIG_I2C_POWERMAC=m
@@ -1929,6 +1937,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1955,7 +1964,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2004,7 +2012,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
@@ -2057,7 +2067,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2180,6 +2190,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2194,6 +2205,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2424,6 +2436,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2522,6 +2535,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2548,6 +2562,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2628,6 +2643,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2696,6 +2712,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2760,6 +2777,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2804,8 +2822,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2826,7 +2846,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3171,6 +3190,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3239,6 +3259,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_IBM=y
CONFIG_NET_VENDOR_INTEL=y
@@ -3262,6 +3283,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3400,6 +3422,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3555,14 +3578,8 @@ CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
-CONFIG_PARPORT=m
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT is not set
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3627,6 +3644,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3674,6 +3692,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3681,13 +3701,16 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SX150X is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3707,7 +3730,7 @@ CONFIG_PM_DEBUG=y
CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -3752,6 +3775,7 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
CONFIG_PPC_MAPLE=y
+# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
# CONFIG_PPC_PASEMI is not set
@@ -3766,6 +3790,7 @@ CONFIG_PPC_SMLPAR=y
CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_PPC_TRANSACTIONAL_MEM=y
+CONFIG_PPC_VAS=y
CONFIG_PPC=y
CONFIG_PPDEV=m
CONFIG_PPP_ASYNC=m
@@ -3782,7 +3807,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -3829,6 +3853,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -3858,6 +3883,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -3925,6 +3951,7 @@ CONFIG_REALTEK_PHY=m
# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -3939,6 +3966,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -3958,6 +3987,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -3965,6 +3996,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4337,6 +4369,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBM_CFFPS=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IBMPOWERNV=y
# CONFIG_SENSORS_IIO_HWMON is not set
@@ -4427,6 +4460,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4502,6 +4536,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4515,6 +4550,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4534,6 +4570,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4647,7 +4684,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4738,6 +4775,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -4800,6 +4838,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TS3A227E is not set
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -4894,6 +4933,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -4927,6 +4967,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5085,7 +5126,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5369,7 +5409,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5474,7 +5513,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -5648,7 +5686,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5746,6 +5783,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5766,6 +5804,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5867,6 +5906,7 @@ CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-ppc64le-debug.config b/freed-ora/current/f26/kernel-ppc64le-debug.config
index 96b579850..040f120e8 100644
--- a/freed-ora/current/f26/kernel-ppc64le-debug.config
+++ b/freed-ora/current/f26/kernel-ppc64le-debug.config
@@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALTIVEC=y
@@ -195,6 +197,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -330,6 +333,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -371,7 +375,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_BSGLIB=y
@@ -409,7 +412,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -432,6 +434,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -443,6 +446,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -531,7 +535,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -605,9 +608,11 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -650,7 +655,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -684,9 +688,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -798,6 +803,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
CONFIG_CRYPTO_DEV_NX=y
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m
CONFIG_CRYPTO_DEV_VMX=y
@@ -963,6 +969,7 @@ CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1121,6 +1128,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1193,7 +1201,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1238,7 +1246,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1480,13 +1487,14 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1506,6 +1514,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
@@ -1554,7 +1563,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1776,8 +1785,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OPAL=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=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
@@ -1892,6 +1900,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1918,7 +1927,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -1967,7 +1975,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
@@ -2020,7 +2030,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2143,6 +2153,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2157,6 +2168,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2389,6 +2401,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2487,6 +2500,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
CONFIG_LOCK_STAT=y
@@ -2513,6 +2527,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2594,6 +2609,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2662,6 +2678,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2726,6 +2743,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2770,8 +2788,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2792,7 +2812,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3137,6 +3156,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3205,6 +3225,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_IBM=y
CONFIG_NET_VENDOR_INTEL=y
@@ -3228,6 +3249,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3366,6 +3388,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3521,14 +3544,8 @@ CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
-CONFIG_PARPORT=m
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT is not set
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3591,6 +3608,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3638,6 +3656,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3645,13 +3665,16 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SX150X is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3667,7 +3690,7 @@ CONFIG_PM_DEBUG=y
CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -3713,6 +3736,7 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
# CONFIG_PPC_MAPLE is not set
+# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
# CONFIG_PPC_PASEMI is not set
@@ -3727,6 +3751,7 @@ CONFIG_PPC_SMLPAR=y
CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_PPC_TRANSACTIONAL_MEM=y
+CONFIG_PPC_VAS=y
CONFIG_PPC=y
CONFIG_PPDEV=m
CONFIG_PPP_ASYNC=m
@@ -3743,7 +3768,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -3791,6 +3815,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -3820,6 +3845,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -3887,6 +3913,7 @@ CONFIG_REALTEK_PHY=m
CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -3901,6 +3928,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -3920,6 +3949,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -3927,6 +3958,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4299,6 +4331,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBM_CFFPS=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IBMPOWERNV=y
# CONFIG_SENSORS_IIO_HWMON is not set
@@ -4389,6 +4422,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4462,6 +4496,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4475,6 +4510,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4494,6 +4530,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4600,7 +4637,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4690,6 +4727,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -4752,6 +4790,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TS3A227E is not set
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -4846,6 +4885,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -4879,6 +4919,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5037,7 +5078,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5321,7 +5361,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5426,7 +5465,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -5600,7 +5638,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5698,6 +5735,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5718,6 +5756,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5813,6 +5852,7 @@ CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-ppc64le.config b/freed-ora/current/f26/kernel-ppc64le.config
index 831df7eff..efe040ba3 100644
--- a/freed-ora/current/f26/kernel-ppc64le.config
+++ b/freed-ora/current/f26/kernel-ppc64le.config
@@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALTIVEC=y
@@ -194,6 +196,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -329,6 +332,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -370,7 +374,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_BSGLIB=y
@@ -408,7 +411,6 @@ CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -431,6 +433,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -442,6 +445,7 @@ CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOOTX_TEXT=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -530,7 +534,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -604,9 +607,11 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -649,7 +654,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -683,9 +687,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -796,6 +801,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
CONFIG_CRYPTO_DEV_NX=y
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m
CONFIG_CRYPTO_DEV_VMX=y
@@ -953,6 +959,7 @@ CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1110,6 +1117,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1182,7 +1190,7 @@ CONFIG_E1000E=m
CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1227,7 +1235,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1462,13 +1469,14 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
CONFIG_GPIOLIB=y
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1488,6 +1496,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
# CONFIG_GPIO_UCB1400 is not set
@@ -1536,7 +1545,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1758,8 +1767,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_OPAL=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=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
@@ -1874,6 +1882,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1900,7 +1909,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -1949,7 +1957,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
CONFIG_INPUT_TOUCHSCREEN=y
@@ -2002,7 +2012,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2125,6 +2135,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2139,6 +2150,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_IRQSOFF_TRACER is not set
@@ -2369,6 +2381,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2467,6 +2480,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2493,6 +2507,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2573,6 +2588,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2641,6 +2657,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2705,6 +2722,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -2749,8 +2767,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2771,7 +2791,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3115,6 +3134,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3183,6 +3203,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_IBM=y
CONFIG_NET_VENDOR_INTEL=y
@@ -3206,6 +3227,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3344,6 +3366,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3499,14 +3522,8 @@ CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
-CONFIG_PARPORT=m
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT is not set
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3569,6 +3586,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3616,6 +3634,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3623,13 +3643,16 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SX150X is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3645,7 +3668,7 @@ CONFIG_PM_DEBUG=y
CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -3691,6 +3714,7 @@ CONFIG_PPC_EMULATED_STATS=y
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
CONFIG_PPC_ICSWX=y
# CONFIG_PPC_MAPLE is not set
+# CONFIG_PPC_MEMTRACE is not set
# CONFIG_PPC_MPC5200_LPBFIFO is not set
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
# CONFIG_PPC_PASEMI is not set
@@ -3705,6 +3729,7 @@ CONFIG_PPC_SMLPAR=y
CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_PPC_TRANSACTIONAL_MEM=y
+CONFIG_PPC_VAS=y
CONFIG_PPC=y
CONFIG_PPDEV=m
CONFIG_PPP_ASYNC=m
@@ -3721,7 +3746,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -3768,6 +3792,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -3797,6 +3822,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -3864,6 +3890,7 @@ CONFIG_REALTEK_PHY=m
# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -3878,6 +3905,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -3897,6 +3926,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -3904,6 +3935,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4276,6 +4308,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBM_CFFPS=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IBMPOWERNV=y
# CONFIG_SENSORS_IIO_HWMON is not set
@@ -4366,6 +4399,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4439,6 +4473,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4452,6 +4487,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
CONFIG_SGI_PARTITION=y
CONFIG_SH_ETH=m
@@ -4471,6 +4507,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4577,7 +4614,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4666,6 +4703,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -4728,6 +4766,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TS3A227E is not set
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -4822,6 +4861,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -4855,6 +4895,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5013,7 +5054,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5297,7 +5337,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5402,7 +5441,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -5576,7 +5614,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5674,6 +5711,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5694,6 +5732,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5789,6 +5828,7 @@ CONFIG_ZLIB_INFLATE=y
# CONFIG_ZONE_DEVICE is not set
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-ppc64p7-debug.config b/freed-ora/current/f26/kernel-ppc64p7-debug.config
deleted file mode 100644
index 2c016e208..000000000
--- a/freed-ora/current/f26/kernel-ppc64p7-debug.config
+++ /dev/null
@@ -1,5818 +0,0 @@
-# powerpc
-# CONFIG_3C515 is not set
-# CONFIG_60XX_WDT is not set
-CONFIG_6LOWPAN_DEBUGFS=y
-CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
-CONFIG_6LOWPAN_GHC_ICMPV6=m
-CONFIG_6LOWPAN_GHC_UDP=m
-CONFIG_6LOWPAN=m
-CONFIG_6LOWPAN_NHC_DEST=m
-CONFIG_6LOWPAN_NHC_FRAGMENT=m
-CONFIG_6LOWPAN_NHC_HOP=m
-CONFIG_6LOWPAN_NHC_IPV6=m
-CONFIG_6LOWPAN_NHC=m
-CONFIG_6LOWPAN_NHC_MOBILITY=m
-CONFIG_6LOWPAN_NHC_ROUTING=m
-CONFIG_6LOWPAN_NHC_UDP=m
-CONFIG_6PACK=m
-CONFIG_8139CP=m
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_8139TOO_8129=y
-CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8723AU_AP_MODE is not set
-# CONFIG_8723AU_BT_COEXIST is not set
-CONFIG_9P_FSCACHE=y
-CONFIG_9P_FS=m
-CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_9P_FS_SECURITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-# CONFIG_AB3100_CORE is not set
-# CONFIG_AB3100_OTP is not set
-CONFIG_ABP060MG=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_ACCESSIBILITY=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_ACPI_ALS=m
-# CONFIG_ACPI_DEBUGGER is not set
-CONFIG_ACPI_DEBUG=y
-# CONFIG_ACPI_NFIT is not set
-CONFIG_ACPI_PCI_SLOT=y
-# CONFIG_ACQUIRE_WDT is not set
-CONFIG_ACT200L_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-# CONFIG_AD2S1200 is not set
-# CONFIG_AD2S1210 is not set
-# CONFIG_AD2S90 is not set
-# CONFIG_AD5064 is not set
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_AD5360 is not set
-# CONFIG_AD5380 is not set
-# CONFIG_AD5421 is not set
-# CONFIG_AD5446 is not set
-# CONFIG_AD5449 is not set
-# CONFIG_AD5504 is not set
-# CONFIG_AD5592R is not set
-# CONFIG_AD5593R is not set
-# CONFIG_AD5624R_SPI is not set
-# CONFIG_AD5686 is not set
-# CONFIG_AD5755 is not set
-# CONFIG_AD5761 is not set
-# CONFIG_AD5764 is not set
-# CONFIG_AD5791 is not set
-# CONFIG_AD5933 is not set
-# CONFIG_AD7150 is not set
-# CONFIG_AD7152 is not set
-# CONFIG_AD7192 is not set
-# CONFIG_AD7266 is not set
-# CONFIG_AD7280 is not set
-# CONFIG_AD7291 is not set
-# CONFIG_AD7298 is not set
-# CONFIG_AD7303 is not set
-# CONFIG_AD7476 is not set
-# CONFIG_AD7606 is not set
-# CONFIG_AD7746 is not set
-CONFIG_AD7766=m
-# CONFIG_AD7780 is not set
-# CONFIG_AD7791 is not set
-# CONFIG_AD7793 is not set
-# CONFIG_AD7816 is not set
-# CONFIG_AD7887 is not set
-# CONFIG_AD7923 is not set
-# CONFIG_AD799X is not set
-# CONFIG_AD8366 is not set
-# CONFIG_AD8801 is not set
-# CONFIG_AD9523 is not set
-# CONFIG_AD9832 is not set
-# CONFIG_AD9834 is not set
-CONFIG_ADAPTEC_STARFIRE=m
-# CONFIG_ADE7753 is not set
-# CONFIG_ADE7754 is not set
-# CONFIG_ADE7758 is not set
-# CONFIG_ADE7759 is not set
-# CONFIG_ADE7854 is not set
-# CONFIG_ADF4350 is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADIS16060 is not set
-# CONFIG_ADIS16080 is not set
-# CONFIG_ADIS16130 is not set
-# CONFIG_ADIS16136 is not set
-# CONFIG_ADIS16201 is not set
-# CONFIG_ADIS16203 is not set
-# CONFIG_ADIS16209 is not set
-# CONFIG_ADIS16240 is not set
-# CONFIG_ADIS16260 is not set
-# CONFIG_ADIS16400 is not set
-# CONFIG_ADIS16480 is not set
-# CONFIG_ADJD_S311 is not set
-# CONFIG_ADM8211 is not set
-# CONFIG_ADT7316 is not set
-# CONFIG_ADVANTECH_WDT is not set
-# CONFIG_ADXL345_I2C is not set
-# CONFIG_ADXL345_SPI is not set
-# CONFIG_ADXRS450 is not set
-# CONFIG_AFE4403 is not set
-# CONFIG_AFE4404 is not set
-CONFIG_AFFS_FS=m
-# CONFIG_AF_KCM is not set
-# CONFIG_AF_RXRPC is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
-# CONFIG_AHCI_CEVA is not set
-# CONFIG_AHCI_QORIQ is not set
-# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIRO_CS is not set
-# CONFIG_AIRO is not set
-CONFIG_AIX_PARTITION=y
-# CONFIG_AK09911 is not set
-# CONFIG_AK8974 is not set
-# CONFIG_AK8975 is not set
-# CONFIG_AL3320A is not set
-CONFIG_ALI_FIR=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-# CONFIG_ALTERA_MBOX is not set
-CONFIG_ALTERA_STAPL=m
-CONFIG_ALTERA_TSE=m
-CONFIG_ALTIVEC=y
-CONFIG_ALX=m
-# CONFIG_AM2315 is not set
-CONFIG_AMD8111_ETH=m
-CONFIG_AMD_PHY=m
-# CONFIG_AMD_XGBE_DCB is not set
-# CONFIG_AMD_XGBE is not set
-# CONFIG_AMIGAONE is not set
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ANDROID is not set
-# CONFIG_APDS9300 is not set
-CONFIG_APDS9802ALS=m
-# CONFIG_APDS9960 is not set
-CONFIG_APM_POWER=m
-# CONFIG_APPLE_PROPERTIES is not set
-# CONFIG_APPLICOM is not set
-CONFIG_AQUANTIA_PHY=m
-CONFIG_AR5523=m
-# CONFIG_ARCNET is not set
-CONFIG_ARM64_ERRATUM_858921=y
-CONFIG_ARM64_PTDUMP=y
-# CONFIG_AS3935 is not set
-CONFIG_ASYMMETRIC_KEY_TYPE=y
-CONFIG_ASYNC_RAID6_TEST=m
-CONFIG_ASYNC_TX_DMA=y
-CONFIG_AT76C50X_USB=m
-CONFIG_AT803X_PHY=m
-CONFIG_ATA_ACPI=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_GENERIC=m
-CONFIG_ATALK=m
-CONFIG_ATA_OVER_ETH=m
-CONFIG_ATA_PIIX=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_ATA_SFF=y
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA=y
-# CONFIG_ATH10K_AHB is not set
-CONFIG_ATH10K_DEBUGFS=y
-# CONFIG_ATH10K_DEBUG is not set
-CONFIG_ATH10K=m
-CONFIG_ATH10K_PCI=m
-CONFIG_ATH10K_SDIO=m
-# CONFIG_ATH10K_TRACING is not set
-CONFIG_ATH5K_DEBUG=y
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH6KL_DEBUG=y
-CONFIG_ATH6KL=m
-CONFIG_ATH6KL_SDIO=m
-# CONFIG_ATH6KL_TRACING is not set
-CONFIG_ATH6KL_USB=m
-CONFIG_ATH9K_AHB=y
-CONFIG_ATH9K_BTCOEX_SUPPORT=y
-# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
-CONFIG_ATH9K_DEBUGFS=y
-# CONFIG_ATH9K_DEBUG is not set
-# CONFIG_ATH9K_DYNACK is not set
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HWRNG is not set
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_STATION_STATISTICS is not set
-# CONFIG_ATH9K_WOW is not set
-CONFIG_ATH_COMMON=m
-CONFIG_ATH_DEBUG=y
-# CONFIG_ATH_TRACEPOINTS is not set
-CONFIG_ATL1C=m
-CONFIG_ATL1E=m
-CONFIG_ATL1=m
-CONFIG_ATL2=m
-# CONFIG_ATLAS_PH_SENSOR is not set
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-# CONFIG_ATM_AMBASSADOR is not set
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_ATM_BR2684=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-# CONFIG_ATMEL is not set
-# CONFIG_ATM_ENI_DEBUG is not set
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-# CONFIG_ATM_FIRESTREAM is not set
-CONFIG_ATM_FORE200E_DEBUG=0
-# CONFIG_ATM_FORE200E is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-# CONFIG_ATM_HORIZON_DEBUG is not set
-# CONFIG_ATM_HORIZON is not set
-# CONFIG_ATM_IA_DEBUG is not set
-# CONFIG_ATM_IA is not set
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252 is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-# CONFIG_ATM_LANAI is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM=m
-# CONFIG_ATM_MPOA is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-CONFIG_ATM_TCP=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-# CONFIG_ATM_ZATM is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ATP=m
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_AUXDISPLAY=y
-# CONFIG_AVERAGE is not set
-CONFIG_AX25_DAMA_SLAVE=y
-CONFIG_AX25=m
-# CONFIG_AXON_RAM is not set
-CONFIG_B43_BCMA_PIO=y
-CONFIG_B43_BCMA=y
-CONFIG_B43_DEBUG=y
-CONFIG_B43LEGACY_DEBUG=y
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY=m
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43=m
-CONFIG_B43_PHY_G=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_SDIO=y
-CONFIG_B44=m
-CONFIG_B44_PCI=y
-CONFIG_B53=m
-CONFIG_B53_MDIO_DRIVER=m
-CONFIG_B53_MMAP_DRIVER=m
-CONFIG_B53_SPI_DRIVER=m
-CONFIG_B53_SRAB_DRIVER=m
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-CONFIG_BACKLIGHT_ARCXCNN=m
-# CONFIG_BACKLIGHT_BD6107 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-# CONFIG_BACKLIGHT_GPIO is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_BACKLIGHT_LM3630A is not set
-# CONFIG_BACKLIGHT_LM3630 is not set
-# CONFIG_BACKLIGHT_LM3639 is not set
-CONFIG_BACKLIGHT_LP855X=m
-# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
-CONFIG_BACKLIGHT_PWM=m
-# CONFIG_BACKLIGHT_SAHARA is not set
-CONFIG_BACKLIGHT_WM831X=m
-# CONFIG_BACKTRACE_SELF_TEST is not set
-CONFIG_BALLOON_COMPACTION=y
-CONFIG_BATMAN_ADV_BATMAN_V=y
-CONFIG_BATMAN_ADV_BLA=y
-CONFIG_BATMAN_ADV_DAT=y
-# CONFIG_BATMAN_ADV_DEBUGFS is not set
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_BATMAN_ADV=m
-CONFIG_BATMAN_ADV_MCAST=y
-CONFIG_BATMAN_ADV_NC=y
-# CONFIG_BATTERY_BQ27XXX is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2781 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_GAUGE_LTC2941 is not set
-# CONFIG_BATTERY_LEGO_EV3 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_BATTERY_SBS is not set
-CONFIG_BAYCOM_EPP=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-# CONFIG_BCACHE_CLOSURES_DEBUG is not set
-# CONFIG_BCACHE_DEBUG is not set
-CONFIG_BCACHE=m
-# CONFIG_BCM2835_VCHIQ is not set
-CONFIG_BCM63XX_PHY=m
-# CONFIG_BCM7038_WDT is not set
-CONFIG_BCM7XXX_PHY=m
-CONFIG_BCM87XX_PHY=m
-CONFIG_BCMA_BLOCKIO=y
-# CONFIG_BCMA_DEBUG is not set
-CONFIG_BCMA_DRIVER_GMAC_CMN=y
-CONFIG_BCMA_DRIVER_GPIO=y
-CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-CONFIG_BCMA_HOST_PCI=y
-# CONFIG_BCMA_HOST_SOC is not set
-CONFIG_BCMA=m
-# CONFIG_BCM_FLEXRM_MBOX is not set
-CONFIG_BCMGENET=m
-# CONFIG_BCM_KONA_USB2_PHY is not set
-CONFIG_BE2ISCSI=m
-# CONFIG_BE2NET_HWMON is not set
-CONFIG_BE2NET=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BEFS_FS=m
-CONFIG_BFQ_GROUP_IOSCHED=y
-# CONFIG_BFS_FS is not set
-CONFIG_BH1750=m
-# CONFIG_BH1780 is not set
-CONFIG_BIG_KEYS=y
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_FLAT is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_BINFMT_SCRIPT=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_BLK_DEBUG_FS=y
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_BLK_DEV_BSGLIB=y
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-CONFIG_BLK_DEV_DAC960=m
-CONFIG_BLK_DEV_DM=y
-CONFIG_BLK_DEV_DRBD=m
-CONFIG_BLK_DEV_FD=m
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_BLK_DEV_IT8172=m
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
-CONFIG_BLK_DEV_MD=y
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_NULL_BLK=m
-CONFIG_BLK_DEV_NVME=m
-# CONFIG_BLK_DEV_NVME_SCSI is not set
-CONFIG_BLK_DEV_OSD=m
-# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
-# CONFIG_BLK_DEV_PLATFORM is not set
-CONFIG_BLK_DEV_PMEM=m
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_DAX=y
-CONFIG_BLK_DEV_RAM=m
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_BLK_DEV_RBD=m
-CONFIG_BLK_DEV_RSXX=m
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SKD=m
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SX8=m
-# CONFIG_BLK_DEV_THROTTLING_LOW is not set
-CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_UMEM=m
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_ZONED=y
-CONFIG_BLK_SED_OPAL=y
-CONFIG_BLK_WBT_MQ=y
-# CONFIG_BLK_WBT_SQ is not set
-CONFIG_BLK_WBT=y
-# CONFIG_BMA180 is not set
-# CONFIG_BMA220 is not set
-CONFIG_BMC150_ACCEL=m
-# CONFIG_BMC150_MAGN_I2C is not set
-# CONFIG_BMC150_MAGN is not set
-# CONFIG_BMC150_MAGN_SPI is not set
-# CONFIG_BMG160 is not set
-# CONFIG_BMI160_I2C is not set
-# CONFIG_BMI160_SPI is not set
-CONFIG_BMP280=m
-CONFIG_BNA=m
-CONFIG_BNX2=m
-CONFIG_BNX2X=m
-CONFIG_BNX2X_SRIOV=y
-CONFIG_BNXT_DCB=y
-CONFIG_BNXT=m
-CONFIG_BNXT_SRIOV=y
-CONFIG_BONDING=m
-# 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_BOOTX_TEXT=y
-CONFIG_BOUNCE=y
-CONFIG_BPF_JIT=y
-CONFIG_BPF_SYSCALL=y
-CONFIG_BPQETHER=m
-# CONFIG_BRCMDBG is not set
-CONFIG_BRCMFMAC=m
-CONFIG_BRCMFMAC_PCIE=y
-CONFIG_BRCMFMAC_SDIO=y
-CONFIG_BRCMFMAC_USB=y
-CONFIG_BRCMSMAC=m
-# CONFIG_BRCMSTB_GISB_ARB is not set
-# CONFIG_BRCM_TRACING is not set
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_BROADCOM_PHY=m
-CONFIG_BSD_DISKLABEL=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BT_6LOWPAN=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
-# CONFIG_BT_DEBUGFS is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_BCM=y
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTUSB_RTL=y
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_AG6XX=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_INTEL=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_MRVL=y
-CONFIG_BT_HCIUART_NOKIA=m
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIUART_SERDEV=y
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
-CONFIG_BT_LEDS=y
-CONFIG_BT_LE=y
-CONFIG_BT=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_QCA=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-# CONFIG_BTRFS_ASSERT is not set
-# CONFIG_BTRFS_DEBUG is not set
-# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
-# CONFIG_BT_SELFTEST is not set
-# CONFIG_BTT is not set
-CONFIG_BT_WILINK=m
-CONFIG_BUG_ON_DATA_CORRUPTION=y
-CONFIG_BUILD_DOCSRC=y
-# CONFIG_C2PORT is not set
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CADENCE_WATCHDOG is not set
-# CONFIG_CAIF is not set
-CONFIG_CAN_8DEV_USB=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_CALC_BITTIMING=y
-# CONFIG_CAN_CC770_ISA is not set
-CONFIG_CAN_CC770=m
-CONFIG_CAN_CC770_PLATFORM=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PCI=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-CONFIG_CAN_DEBUG_DEVICES=y
-CONFIG_CAN_DEV=m
-CONFIG_CAN_EMS_PCI=m
-# CONFIG_CAN_EMS_PCMCIA is not set
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-# CONFIG_CAN_FLEXCAN is not set
-# CONFIG_CAN_GRCAN is not set
-CONFIG_CAN_GS_USB=m
-CONFIG_CAN_GW=m
-CONFIG_CAN_HI311X=m
-CONFIG_CAN_IFI_CANFD=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_KVASER_USB=m
-CONFIG_CAN_LEDS=y
-CONFIG_CAN=m
-CONFIG_CAN_M_CAN=m
-CONFIG_CAN_MCBA_USB=m
-# CONFIG_CAN_MCP251X is not set
-# CONFIG_CAN_MPC5XXX is not set
-# CONFIG_CAN_MSCAN is not set
-CONFIG_CAN_PEAK_PCIEC=y
-CONFIG_CAN_PEAK_PCIEFD=m
-CONFIG_CAN_PEAK_PCI=m
-# CONFIG_CAN_PEAK_PCMCIA is not set
-CONFIG_CAN_PEAK_USB=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_RAW=m
-# CONFIG_CAN_SJA1000_ISA is not set
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_SLCAN=m
-# CONFIG_CAN_SOFTING_CS is not set
-CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_TSCAN1 is not set
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_VXCAN=m
-# CONFIG_CAN_XILINXCAN is not set
-CONFIG_CAPI_AVM=y
-CONFIG_CAPI_EICON=y
-# CONFIG_CAPI_TRACE is not set
-CONFIG_CARDBUS=y
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-CONFIG_CARL9170_DEBUGFS=y
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170=m
-CONFIG_CASSINI=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-# CONFIG_CC10001_ADC is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-CONFIG_CDROM_PKTCDVD=m
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_CEC_PLATFORM_DRIVERS=y
-CONFIG_CEPH_FSCACHE=y
-CONFIG_CEPH_FS=m
-CONFIG_CEPH_FS_POSIX_ACL=y
-CONFIG_CEPH_LIB=m
-CONFIG_CEPH_LIB_PRETTYDEBUG=y
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_CFAG12864B=m
-CONFIG_CFAG12864B_RATE=20
-CONFIG_CFG80211_CRDA_SUPPORT=y
-CONFIG_CFG80211_DEBUGFS=y
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-CONFIG_CFG80211=m
-CONFIG_CFG80211_WEXT=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_CGROUP_BPF=y
-CONFIG_CGROUP_CPUACCT=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_HUGETLB=y
-CONFIG_CGROUP_NET_CLASSID=y
-CONFIG_CGROUP_NET_PRIO=y
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_PIDS=y
-# CONFIG_CGROUP_RDMA is not set
-CONFIG_CGROUP_SCHED=y
-CONFIG_CGROUPS=y
-# CONFIG_CHARGER_BQ2415X is not set
-# CONFIG_CHARGER_BQ24190 is not set
-# CONFIG_CHARGER_BQ24257 is not set
-# CONFIG_CHARGER_BQ24735 is not set
-# CONFIG_CHARGER_BQ25890 is not set
-# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
-# CONFIG_CHARGER_GPIO is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_LP8727 is not set
-# CONFIG_CHARGER_LTC3651 is not set
-# CONFIG_CHARGER_MAX8903 is not set
-# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
-# CONFIG_CHARGER_RT9455 is not set
-# CONFIG_CHARGER_SBS is not set
-CONFIG_CHARGER_SMB347=m
-# CONFIG_CHECKPOINT_RESTORE is not set
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4_DCB=y
-# CONFIG_CHELSIO_T4_FCOE is not set
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CICADA_PHY=m
-CONFIG_CIFS_ACL=y
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
-CONFIG_CIFS_DEBUG=y
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_CIFS=m
-CONFIG_CIFS_NFSD_EXPORT=y
-CONFIG_CIFS_POSIX=y
-CONFIG_CIFS_SMB2=y
-# CONFIG_CIFS_SMB311 is not set
-# CONFIG_CIFS_STATS2 is not set
-CONFIG_CIFS_STATS=y
-CONFIG_CIFS_UPCALL=y
-CONFIG_CIFS_WEAK_PW_HASH=y
-CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_CLEANCACHE=y
-# CONFIG_CLK_QORIQ is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_CLS_U32_PERF=y
-CONFIG_CM32181=m
-# CONFIG_CM3232 is not set
-# CONFIG_CM3323 is not set
-CONFIG_CM3605=m
-# CONFIG_CM36651 is not set
-CONFIG_CMA_AREAS=7
-# CONFIG_CMA_DEBUGFS is not set
-# CONFIG_CMA_DEBUG is not set
-CONFIG_CMA=y
-# CONFIG_CMDLINE_BOOL is not set
-# CONFIG_CMDLINE_PARTITION is not set
-CONFIG_CMM=y
-CONFIG_CNIC=m
-CONFIG_CODA_FS=m
-# CONFIG_CODE_PATCHING_SELFTEST is not set
-# CONFIG_COMEDI is not set
-# CONFIG_COMMON_CLK_CDCE706 is not set
-# CONFIG_COMMON_CLK_CDCE925 is not set
-# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_PWM is not set
-# CONFIG_COMMON_CLK_SI514 is not set
-# CONFIG_COMMON_CLK_SI5351 is not set
-# CONFIG_COMMON_CLK_SI570 is not set
-# CONFIG_COMMON_CLK_VC5 is not set
-# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
-# CONFIG_COMMON_RESET_HI3660 is not set
-CONFIG_COMPACTION=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_COMPILE_TEST is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_CONNECTOR=y
-# CONFIG_CONSISTENT_SIZE_BOOL is not set
-CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_CORDIC=m
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-CONFIG_CORTINA_PHY=m
-# CONFIG_CPU5_WDT is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-# CONFIG_CPUFREQ_DT is not set
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ=y
-# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
-# CONFIG_CPU_IDLE_GOV_LADDER is not set
-CONFIG_CPU_IDLE=y
-# CONFIG_CPU_LITTLE_ENDIAN is not set
-CONFIG_CPUMASK_OFFSTACK=y
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
-CONFIG_CPUSETS=y
-# CONFIG_CPU_THERMAL is not set
-CONFIG_CRAMFS=m
-CONFIG_CRASH_DUMP=y
-CONFIG_CRASH=m
-CONFIG_CRC16=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32=y
-CONFIG_CRC4=m
-CONFIG_CRC7=m
-CONFIG_CRC8=m
-CONFIG_CRC_CCITT=y
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CROSS_COMPILE=""
-CONFIG_CROSS_MEMORY_ATTACH=y
-CONFIG_CRYPTO_842=m
-CONFIG_CRYPTO_AES_TI=m
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_CHACHA20=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32C_VPMSUM=m
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m
-# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_DEV_CCREE is not set
-CONFIG_CRYPTO_DEV_CHELSIO=m
-# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
-CONFIG_CRYPTO_DEV_HIFN_795X=m
-CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
-CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
-CONFIG_CRYPTO_DEV_NX_COMPRESS=m
-CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
-CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
-CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
-CONFIG_CRYPTO_DEV_NX=y
-CONFIG_CRYPTO_DEV_VIRTIO=m
-CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m
-CONFIG_CRYPTO_DEV_VMX=y
-CONFIG_CRYPTO_DH=y
-CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_DRBG_HASH=y
-CONFIG_CRYPTO_DRBG_MENU=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_ECDH=m
-CONFIG_CRYPTO_ECHAINIV=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_FIPS=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_KEYWRAP=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_LZ4HC=m
-CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_MANAGER=y
-# CONFIG_CRYPTO_MCRYPTD is not set
-CONFIG_CRYPTO_MD4=m
-# CONFIG_CRYPTO_MD5_PPC is not set
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_POLY1305=m
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_RSA=y
-CONFIG_CRYPTO_SALSA20_586=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SEQIV=y
-CONFIG_CRYPTO_SERPENT=m
-# CONFIG_CRYPTO_SHA1_PPC is not set
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_SIMD=y
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_USER_API_AEAD=y
-CONFIG_CRYPTO_USER_API_HASH=y
-CONFIG_CRYPTO_USER_API_RNG=y
-CONFIG_CRYPTO_USER_API_SKCIPHER=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_VMAC=m
-# CONFIG_CRYPTO_VPMSUM_TESTER is not set
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO=y
-CONFIG_CUSE=m
-CONFIG_CW1200=m
-CONFIG_CW1200_WLAN_SDIO=m
-CONFIG_CW1200_WLAN_SPI=m
-# CONFIG_CX_ECAT is not set
-CONFIG_CXLFLASH=m
-CONFIG_CXL=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_DA280=m
-CONFIG_DA311=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_DCB=y
-# CONFIG_DDR is not set
-CONFIG_DE2104X_DSL=0
-CONFIG_DE2104X=m
-CONFIG_DE4X5=m
-CONFIG_DE_AOC=y
-CONFIG_DEBUG_ATOMIC_SLEEP=y
-CONFIG_DEBUG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-CONFIG_DEBUG_BOOT_PARAMS=y
-CONFIG_DEBUG_CREDENTIALS=y
-CONFIG_DEBUG_DEVRES=y
-# CONFIG_DEBUG_DRIVER is not set
-CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUGGER=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_DEBUG_HIGHMEM=y
-# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
-# CONFIG_DEBUG_INFO_DWARF4 is not set
-# CONFIG_DEBUG_INFO_REDUCED is not set
-# CONFIG_DEBUG_INFO_SPLIT is not set
-CONFIG_DEBUG_INFO_VTA=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_KERNEL=y
-CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096
-# CONFIG_DEBUG_KMEMLEAK_TEST is not set
-CONFIG_DEBUG_KMEMLEAK=y
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_KOBJECT_RELEASE is not set
-CONFIG_DEBUG_LIST=y
-CONFIG_DEBUG_LOCK_ALLOC=y
-# CONFIG_DEBUG_LOCKDEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_DEBUG_MUTEXES=y
-CONFIG_DEBUG_NOTIFIERS=y
-CONFIG_DEBUG_NX_TEST=m
-CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
-CONFIG_DEBUG_OBJECTS_FREE=y
-CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
-CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
-# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
-CONFIG_DEBUG_OBJECTS_TIMERS=y
-CONFIG_DEBUG_OBJECTS_WORK=y
-CONFIG_DEBUG_OBJECTS=y
-# CONFIG_DEBUG_PAGEALLOC is not set
-# CONFIG_DEBUG_PAGE_REF is not set
-CONFIG_DEBUG_PER_CPU_MAPS=y
-CONFIG_DEBUG_PERF_USE_VMALLOC=y
-CONFIG_DEBUG_PI_LIST=y
-# CONFIG_DEBUG_PINCTRL is not set
-CONFIG_DEBUG_REFCOUNT=y
-CONFIG_DEBUG_RODATA_TEST=y
-CONFIG_DEBUG_RT_MUTEXES=y
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_SET_MODULE_RONX=y
-CONFIG_DEBUG_SG=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DEBUG_SLAB=y
-CONFIG_DEBUG_SPINLOCK=y
-CONFIG_DEBUG_STACKOVERFLOW=y
-CONFIG_DEBUG_STACK_USAGE=y
-# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
-# CONFIG_DEBUG_TIMEKEEPING is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-CONFIG_DEBUG_VM_PGFLAGS=y
-# CONFIG_DEBUG_VM_RB is not set # revisit this if performance isn't horrible
-# CONFIG_DEBUG_VM_VMACACHE is not set
-CONFIG_DEBUG_VM=y
-# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
-# CONFIG_DECNET is not set
-CONFIG_DEFAULT_CFQ=y
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-# CONFIG_DEFXX is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEV_APPLETALK=m
-CONFIG_DEV_DAX=m
-CONFIG_DEV_DAX_PMEM=m
-# CONFIG_DEVFREQ_GOV_PASSIVE is not set
-# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
-# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
-# CONFIG_DEVFREQ_GOV_USERSPACE is not set
-# CONFIG_DEVKMEM is not set
-CONFIG_DEVMEM=y
-CONFIG_DEVPORT=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_DEVTMPFS=y
-# CONFIG_DGAP is not set
-# CONFIG_DGNC is not set
-CONFIG_DHT11=m
-CONFIG_DL2K=m
-CONFIG_DLM_DEBUG=y
-CONFIG_DLM=m
-CONFIG_DM9102=m
-CONFIG_DMA_API_DEBUG=y
-# CONFIG_DMA_CMA is not set
-CONFIG_DMADEVICES_DEBUG=y
-# CONFIG_DMADEVICES_VDEBUG is not set
-CONFIG_DMADEVICES=y
-CONFIG_DMA_ENGINE=y
-# CONFIG_DMA_FENCE_TRACE is not set
-# CONFIG_DMARD06 is not set
-# CONFIG_DMARD09 is not set
-CONFIG_DMARD10=m
-# CONFIG_DMATEST is not set
-CONFIG_DM_CACHE_CLEANER=m
-CONFIG_DM_CACHE=m
-CONFIG_DM_CACHE_SMQ=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-CONFIG_DM_DEBUG=y
-CONFIG_DM_DELAY=m
-# CONFIG_DM_ERA is not set
-CONFIG_DM_FLAKEY=m
-CONFIG_DM_INTEGRITY=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_LOG_WRITES=m
-CONFIG_DM_MIRROR=y
-# CONFIG_DM_MQ_DEFAULT is not set
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-CONFIG_DM_RAID=m
-CONFIG_DM_SNAPSHOT=y
-CONFIG_DM_SWITCH=m
-CONFIG_DM_THIN_PROVISIONING=m
-CONFIG_DM_UEVENT=y
-CONFIG_DM_VERITY_FEC=y
-CONFIG_DM_VERITY=m
-CONFIG_DM_ZERO=y
-CONFIG_DM_ZONED=m
-CONFIG_DNET=m
-CONFIG_DNOTIFY=y
-CONFIG_DNS_RESOLVER=m
-CONFIG_DONGLE=y
-CONFIG_DP83640_PHY=m
-CONFIG_DP83848_PHY=m
-CONFIG_DP83867_PHY=m
-# CONFIG_DPM_WATCHDOG is not set # revisit this in debug
-CONFIG_DPOT_DAC=m
-CONFIG_DRAGONRISE_FF=y
-CONFIG_DRBD_FAULT_INJECTION=y
-CONFIG_DRM_AMD_ACP=y
-CONFIG_DRM_AMDGPU_CIK=y
-# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
-CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
-CONFIG_DRM_AMDGPU_USERPTR=y
-CONFIG_DRM_AMD_POWERPLAY=y
-CONFIG_DRM_ANALOGIX_ANX78XX=m
-# CONFIG_DRM_ARCPGU is not set
-CONFIG_DRM_AST=m
-CONFIG_DRM_BOCHS=m
-CONFIG_DRM_CIRRUS_QEMU=m
-# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
-CONFIG_DRM_DP_AUX_CHARDEV=y
-# CONFIG_DRM_DUMB_VGA_DAC is not set
-# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
-# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
-CONFIG_DRM_FBDEV_EMULATION=y
-CONFIG_DRM_FBDEV_OVERALLOC=100
-CONFIG_DRM_HISI_HIBMC=m
-CONFIG_DRM_I2C_ADV7511_AUDIO=y
-CONFIG_DRM_I2C_ADV7511=m
-CONFIG_DRM_I2C_ADV7533=y
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_LEGACY is not set
-CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
-CONFIG_DRM=m
-# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
-CONFIG_DRM_MGAG200=m
-# CONFIG_DRM_MGA is not set
-# CONFIG_DRM_MXSFB is not set
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
-# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
-# CONFIG_DRM_PANEL_LG_LG4573 is not set
-# CONFIG_DRM_PANEL_LVDS is not set
-# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
-# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
-# CONFIG_DRM_PANEL_SIMPLE is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
-CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
-CONFIG_DRM_QXL=m
-# CONFIG_DRM_R128 is not set
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_USERPTR=y
-# CONFIG_DRM_RCAR_DW_HDMI is not set
-# CONFIG_DRM_SAVAGE is not set
-# CONFIG_DRM_SII902X is not set
-CONFIG_DRM_SIL_SII8620=m
-# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_TDFX is not set
-# CONFIG_DRM_TINYDRM is not set
-CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
-CONFIG_DRM_UDL=m
-# CONFIG_DRM_VBOXVIDEO is not set
-CONFIG_DRM_VGEM=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_VIRTIO_GPU=m
-# CONFIG_DS1682 is not set
-# CONFIG_DS1803 is not set
-# CONFIG_DT3155 is not set
-CONFIG_DTL=y
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_DUMMY_IRQ is not set
-CONFIG_DUMMY=m
-CONFIG_DVB_AS102=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-CONFIG_DVB_B2C2_FLEXCOP=m
-# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-CONFIG_DVB_BT8XX=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_PATCH=m
-CONFIG_DVB_CORE=m
-# CONFIG_DVB_CXD2099 is not set
-CONFIG_DVB_DDBRIDGE=m
-# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
-CONFIG_DVB_DM1105=m
-CONFIG_DVB_DYNAMIC_MINORS=y
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_HOPPER=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_MN88472=m
-CONFIG_DVB_MN88473=m
-CONFIG_DVB_NETUP_UNIDVB=m
-CONFIG_DVB_NET=y
-CONFIG_DVB_NGENE=m
-# CONFIG_DVB_PLATFORM_DRIVERS is not set
-CONFIG_DVB_PLUTO2=m
-CONFIG_DVB_PT1=m
-# CONFIG_DVB_PT3 is not set
-# CONFIG_DVB_RTL2832_SDR is not set
-CONFIG_DVB_SMIPCIE=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_AF9035=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_AZ6007=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_CXUSB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_DIB0700=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MB=m
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_DVBSKY=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_RTL28XXU=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_V2=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_ZD1301=m
-# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
-CONFIG_DW_DMAC_CORE=m
-CONFIG_DW_DMAC=m
-CONFIG_DW_DMAC_PCI=m
-# CONFIG_DW_WATCHDOG is not set
-CONFIG_DYNAMIC_DEBUG=y
-CONFIG_DYNAMIC_FTRACE=y
-CONFIG_E1000E=m
-CONFIG_E1000=m
-CONFIG_E100=m
-CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
-# CONFIG_EBC_C384_WDT is not set
-CONFIG_ECHO=m
-CONFIG_ECRYPT_FS=m
-# CONFIG_ECRYPT_FS_MESSAGING is not set
-# CONFIG_EDAC_CPC925 is not set
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_GHES=y
-CONFIG_EDAC_LEGACY_SYSFS=y
-# CONFIG_EDAC_MPC85XX is not set
-CONFIG_EDAC=y
-CONFIG_EEPROM_93CX6=m
-# CONFIG_EEPROM_93XX46 is not set
-CONFIG_EEPROM_AT24=m
-# CONFIG_EEPROM_AT25 is not set
-CONFIG_EEPROM_IDT_89HPESX=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
-CONFIG_EFI_PARTITION=y
-CONFIG_EFI_PGT_DUMP=y
-# CONFIG_EFI_SECURE_BOOT_LOCK_DOWN is not set
-# CONFIG_EFI_SIGNATURE_LIST_PARSER is not set
-# CONFIG_EFI_TEST is not set
-# CONFIG_EFS_FS is not set
-CONFIG_EHEA=m
-# CONFIG_EMBEDDED is not set
-CONFIG_ENABLE_MUST_CHECK=y
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENC28J60 is not set
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_ENCRYPTED_KEYS=y
-CONFIG_ENIC=m
-CONFIG_ENVELOPE_DETECTOR=m
-CONFIG_EPIC100=m
-CONFIG_EPOLL=y
-CONFIG_EQUALIZER=m
-CONFIG_ESI_DONGLE=m
-CONFIG_ET131X=m
-CONFIG_ETHERNET=y
-CONFIG_ETHOC=m
-# CONFIG_EUROTECH_WDT is not set
-# CONFIG_EVM is not set
-# CONFIG_EXOFS_DEBUG is not set
-# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
-# CONFIG_EXPERT is not set
-CONFIG_EXPORTFS=y
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-CONFIG_EXT4_DEBUG=y
-CONFIG_EXT4_ENCRYPTION=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT2=y
-# CONFIG_EXTCON_ADC_JACK is not set
-# CONFIG_EXTCON_GPIO is not set
-# CONFIG_EXTCON_MAX3355 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
-# CONFIG_EXTCON_RT8973A is not set
-# CONFIG_EXTCON_SM5502 is not set
-# CONFIG_EXTCON_USB_GPIO is not set
-CONFIG_EXTCON=y
-CONFIG_EXTRA_FIRMWARE=""
-CONFIG_EXTRA_TARGETS=""
-# CONFIG_EZNPS_GIC is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_F2FS_CHECK_FS is not set
-# CONFIG_F2FS_FAULT_INJECTION is not set
-# CONFIG_F2FS_FS_ENCRYPTION is not set
-CONFIG_F2FS_FS=m
-CONFIG_F2FS_FS_POSIX_ACL=y
-CONFIG_F2FS_FS_SECURITY=y
-CONFIG_F2FS_FS_XATTR=y
-# CONFIG_F2FS_IO_TRACE is not set
-CONFIG_F2FS_STAT_FS=y
-CONFIG_FA_DUMP=y
-# CONFIG_FAIL_FUTEX is not set
-# CONFIG_FAIL_IOMMU is not set
-CONFIG_FAIL_IO_TIMEOUT=y
-CONFIG_FAIL_MAKE_REQUEST=y
-CONFIG_FAIL_MMC_REQUEST=y
-CONFIG_FAIL_PAGE_ALLOC=y
-CONFIG_FAILSLAB=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_FANOTIFY=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-# CONFIG_FAT_DEFAULT_UTF8 is not set
-CONFIG_FAT_FS=m
-CONFIG_FAULT_INJECTION_DEBUG_FS=y
-CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
-CONFIG_FAULT_INJECTION=y
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_ASILIANT is not set
-CONFIG_FB_ATY128_BACKLIGHT=y
-# CONFIG_FB_ATY128 is not set
-CONFIG_FB_ATY_BACKLIGHT=y
-# CONFIG_FB_ATY_CT is not set
-# CONFIG_FB_ATY_GX is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_AUO_K190X is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_CONTROL is not set
-# CONFIG_FB_CT65550 is not set
-# CONFIG_FB_CYBER2000 is not set
-CONFIG_FB_EFI=y
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_I740 is not set
-CONFIG_FB_IBM_GXT4500=y
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_KYRO is not set
-CONFIG_FB_MATROX_G=y
-# CONFIG_FB_MATROX_I2C is not set
-# CONFIG_FB_MATROX_MILLENIUM is not set
-# CONFIG_FB_MATROX_MYSTIQUE is not set
-CONFIG_FB_MATROX=y
-# CONFIG_FB_MB862XX_I2C is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_MB862XX_LIME is not set
-# CONFIG_FB_MB862XX_PCI_GDC is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_NEOMAGIC is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-# CONFIG_FB_NVIDIA_I2C is not set
-# CONFIG_FB_NVIDIA is not set
-CONFIG_FB_OF=y
-# CONFIG_FB_OPENCORES is not set
-# CONFIG_FB_PLATINUM is not set
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_PRE_INIT_FB is not set
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-# CONFIG_FB_RADEON_I2C is not set
-# CONFIG_FB_RADEON is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-# CONFIG_FB_RIVA_DEBUG is not set
-# CONFIG_FB_RIVA_I2C is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIMPLE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_SM501 is not set
-# CONFIG_FB_SM712 is not set
-# CONFIG_FB_SM750 is not set
-# CONFIG_FB_SMSCUFX is not set
-CONFIG_FB_SSD1307=m
-# CONFIG_FB_TFT is not set
-CONFIG_FB_TILEBLITTING=y
-# CONFIG_FB_TMIO is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_UDL is not set
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_VALKYRIE is not set
-CONFIG_FB_VESA=y
-# CONFIG_FB_VGA16 is not set
-CONFIG_FB_VIRTUAL=m
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_XGI is not set
-CONFIG_FB=y
-CONFIG_FCOE_FNIC=m
-CONFIG_FCOE=m
-# CONFIG_FDDI is not set
-CONFIG_FEALNX=m
-CONFIG_FHANDLE=y
-# CONFIG_FHCI_DEBUG is not set
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_SBP2=m
-# CONFIG_FIREWIRE_SERIAL is not set
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_FIXED_PHY=y
-CONFIG_FM10K=m
-CONFIG_FMC_CHARDEV=m
-CONFIG_FMC_FAKEDEV=m
-CONFIG_FMC=m
-CONFIG_FMC_TRIVIAL=m
-CONFIG_FMC_WRITE_EEPROM=m
-# CONFIG_FONTS is not set
-CONFIG_FORCEDETH=m
-CONFIG_FORCE_MAX_ZONEORDER=9
-CONFIG_FORTIFY_SOURCE=y
-# CONFIG_FPGA is not set
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAME_POINTER=y
-CONFIG_FRAME_WARN=2048
-CONFIG_FRONTSWAP=y
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_OBJECT_LIST=y
-CONFIG_FSCACHE_STATS=y
-CONFIG_FS_DAX=y
-CONFIG_FS_ENCRYPTION=y
-# CONFIG_FS_ENET is not set
-CONFIG_FSI=m
-CONFIG_FSI_MASTER_GPIO=m
-CONFIG_FSI_MASTER_HUB=m
-CONFIG_FSI_SCOM=m
-# CONFIG_FSL_DMA is not set
-# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_LBC is not set
-# CONFIG_FSL_PQ_MDIO is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_FSNOTIFY=y
-# CONFIG_FTL is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-CONFIG_FTRACE_SYSCALLS=y
-CONFIG_FTRACE=y
-# CONFIG_FTR_FIXUP_SELFTEST is not set
-# CONFIG_FUNCTION_GRAPH_TRACER is not set
-CONFIG_FUNCTION_PROFILER=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUSE_FS=m
-CONFIG_FUSION_CTL=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_LAN=m
-CONFIG_FUSION_LOGGING=y
-CONFIG_FUSION_MAX_SGE=40
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION=y
-CONFIG_FUTEX=y
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
-# CONFIG_FW_LOADER_USER_HELPER is not set
-CONFIG_FW_LOADER=y
-CONFIG_GACT_PROB=y
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-# CONFIG_GCC_PLUGINS is not set
-# CONFIG_GCOV_KERNEL is not set
-# CONFIG_GDB_SCRIPTS is not set
-# CONFIG_GEF_PPC9A is not set
-# CONFIG_GEF_SBC310 is not set
-# CONFIG_GEF_SBC610 is not set
-# CONFIG_GENERIC_ADC_BATTERY is not set
-# CONFIG_GENERIC_ADC_THERMAL is not set
-# CONFIG_GENERIC_IRQ_DEBUGFS is not set
-CONFIG_GENERIC_PHY=y
-CONFIG_GENEVE=m
-# CONFIG_GEN_RTC is not set
-CONFIG_GENWQE=m
-CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIRBIL_DONGLE=m
-# CONFIG_GLOB_SELFTEST is not set
-# CONFIG_GOLDFISH is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-# CONFIG_GP2AP020A00F is not set
-# CONFIG_GPIO_104_DIO_48E is not set
-# CONFIG_GPIO_104_IDIO_16 is not set
-# CONFIG_GPIO_74X164 is not set
-# CONFIG_GPIO_74XX_MMIO is not set
-# CONFIG_GPIO_ADNP is not set
-# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_ALTERA is not set
-# CONFIG_GPIO_AMDPT is not set
-# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_DWAPB is not set
-CONFIG_GPIO_EXAR=m
-# CONFIG_GPIO_FTGPIO010 is not set
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-# CONFIG_GPIO_PCH is not set
-CONFIG_GPIO_PCI_IDIO_16=m
-# CONFIG_GPIO_PISOSR is not set
-# CONFIG_GPIO_RDC321X is not set
-# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_SYSCON is not set
-# CONFIG_GPIO_SYSFS is not set
-# CONFIG_GPIO_TPIC2810 is not set
-# CONFIG_GPIO_TS4900 is not set
-# CONFIG_GPIO_TS5500 is not set
-# CONFIG_GPIO_UCB1400 is not set
-CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_WATCHDOG is not set
-CONFIG_GPIO_WM831X=m
-# CONFIG_GPIO_WS16C48 is not set
-# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_XRA1403 is not set
-CONFIG_GREENASIA_FF=y
-# CONFIG_GREYBUS is not set
-# CONFIG_GS_FPGABOOT is not set
-CONFIG_GTP=m
-CONFIG_HAMACHI=m
-CONFIG_HAMRADIO=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_HAPPYMEAL=m
-CONFIG_HARDENED_USERCOPY=y
-CONFIG_HARDLOCKUP_DETECTOR=y
-CONFIG_HAVE_BOOTMEM_INFO_NODE=y
-# CONFIG_HCALL_STATS is not set
-CONFIG_HD44780=m
-# CONFIG_HDC100X is not set
-CONFIG_HEADERS_CHECK=y
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_HERMES=m
-CONFIG_HERMES_PRISM=y
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-# CONFIG_HFSPLUS_FS_POSIX_ACL is not set
-# CONFIG_HI8435 is not set
-# CONFIG_HIBERNATION is not set
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACCUTOUCH=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ALPS=m
-CONFIG_HID_APPLEIR=m
-CONFIG_HID_APPLE=m
-CONFIG_HID_ASUS=m
-CONFIG_HID_AUREAL=m
-CONFIG_HID_BATTERY_STRENGTH=y
-CONFIG_HID_BELKIN=m
-CONFIG_HID_BETOP_FF=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_CMEDIA=m
-CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_ELO=m
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_GEMBIRD=m
-CONFIG_HID_GENERIC=y
-CONFIG_HID_GFRM=m
-CONFIG_HID_GREENASIA=m
-CONFIG_HID_GT683R=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HID_ICADE=m
-CONFIG_HID_ITE=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LED=m
-CONFIG_HID_LENOVO=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_HID_LOGITECH_HIDPP=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_MAGICMOUSE=y
-CONFIG_HID_MAYFLASH=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTI=m
-CONFIG_HID_NTRIG=y
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_HID_PENMOUNT=m
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PID=y
-CONFIG_HID_PLANTRONICS=m
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HIDRAW=y
-CONFIG_HID_RETRODE=m
-CONFIG_HID_RMI=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_SAITEK=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SENSOR_ACCEL_3D=m
-CONFIG_HID_SENSOR_ALS=m
-# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
-CONFIG_HID_SENSOR_DEVICE_ROTATION=m
-CONFIG_HID_SENSOR_GYRO_3D=m
-CONFIG_HID_SENSOR_HUB=m
-CONFIG_HID_SENSOR_HUMIDITY=m
-CONFIG_HID_SENSOR_IIO_COMMON=m
-CONFIG_HID_SENSOR_IIO_TRIGGER=m
-CONFIG_HID_SENSOR_INCLINOMETER_3D=m
-CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
-# CONFIG_HID_SENSOR_PRESS is not set
-# CONFIG_HID_SENSOR_PROX is not set
-CONFIG_HID_SENSOR_TEMP=m
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_STEELSERIES=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_THINGM=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_HID_TIVO=m
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_UDRAW_PS3=m
-CONFIG_HID_WACOM=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_XINMO=m
-CONFIG_HID=y
-CONFIG_HID_ZEROPLUS=m
-CONFIG_HID_ZYDACRON=m
-CONFIG_HIGH_RES_TIMERS=y
-# CONFIG_HIPPI is not set
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_BKM_A4T=y
-# CONFIG_HISAX_DEBUG is not set
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-CONFIG_HISAX_EURO=y
-CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_HFC_SX=y
-# CONFIG_HISAX_HFCUSB is not set
-CONFIG_HISAX_MAX_CARDS=8
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_TELES_CS=m
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HIST_TRIGGERS=y
-# CONFIG_HMC6352 is not set
-# CONFIG_HMC_DRV is not set
-CONFIG_HOLTEK_FF=y
-# CONFIG_HOSTAP is not set
-CONFIG_HOTPLUG_CPU=y
-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_RPA_DLPAR=m
-CONFIG_HOTPLUG_PCI_RPA=m
-CONFIG_HOTPLUG_PCI_SHPC=m
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG=y
-# CONFIG_HP03 is not set
-# CONFIG_HP206C is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_HSI is not set
-# CONFIG_HSR is not set
-# CONFIG_HSU_DMA is not set
-# CONFIG_HSU_DMA_PCI is not set
-CONFIG_HT16K33=m
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_I2CPLD is not set
-# CONFIG_HTC_PASIC3 is not set
-CONFIG_HT_IRQ=y
-CONFIG_HTS221=m
-# CONFIG_HTU21 is not set
-CONFIG_HUGETLBFS=y
-CONFIG_HUGETLB_PAGE=y
-CONFIG_HVC_CONSOLE=y
-# CONFIG_HVC_OLD_HVSI is not set
-CONFIG_HVC_OPAL=y
-CONFIG_HVC_RTAS=y
-CONFIG_HVCS=m
-# CONFIG_HVC_UDBG is not set
-CONFIG_HV_PERF_CTRS=y
-CONFIG_HW_CONSOLE=y
-CONFIG_HWLAT_TRACER=y
-# CONFIG_HWMON_DEBUG_CHIP is not set
-CONFIG_HWMON=y
-CONFIG_HWPOISON_INJECT=m
-CONFIG_HW_RANDOM_POWERNV=m
-CONFIG_HW_RANDOM_PSERIES=m
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM=y
-CONFIG_HWSPINLOCK=m
-# 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
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_ALGOPCF=m
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD756_S4882 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# CONFIG_I2C_BCM2048 is not set
-# CONFIG_I2C_CADENCE is not set
-# CONFIG_I2C_CBUS_GPIO is not set
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_COMPAT=y
-# CONFIG_I2C_CPM is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEMUX_PINCTRL is not set
-# CONFIG_I2C_DESIGNWARE is not set
-CONFIG_I2C_DESIGNWARE_PCI=m
-# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
-CONFIG_I2C_DESIGNWARE_SLAVE=y
-CONFIG_I2C_DIOLAN_U2C=m
-# CONFIG_I2C_EG20T is not set
-# CONFIG_I2C_EMEV2 is not set
-# CONFIG_I2C_GPIO is not set
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_HID=m
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_ISCH is not set
-CONFIG_I2C=m
-CONFIG_I2C_MLXCPLD=m
-CONFIG_I2C_MPC=m
-# CONFIG_I2C_MUX_GPIO is not set
-CONFIG_I2C_MUX_GPMUX=m
-CONFIG_I2C_MUX_LTC4306=m
-CONFIG_I2C_MUX=m
-CONFIG_I2C_MUX_MLXCPLD=m
-# CONFIG_I2C_MUX_PCA9541 is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-# CONFIG_I2C_MUX_PINCTRL is not set
-# CONFIG_I2C_MUX_REG is not set
-CONFIG_I2C_NFORCE2=m
-# CONFIG_I2C_NFORCE2_S4985 is not set
-# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_OPAL=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_RK3X is not set
-# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
-CONFIG_I2C_SI470X=m
-# CONFIG_I2C_SI4713 is not set
-CONFIG_I2C_SIMTEC=m
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-CONFIG_I2C_SLAVE_EEPROM=m
-CONFIG_I2C_SLAVE=y
-CONFIG_I2C_STUB=m
-# CONFIG_I2C_TAOS_EVM is not set
-CONFIG_I2C_TINY_USB=m
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-CONFIG_I2C_VIPERBOARD=m
-# CONFIG_I2C_XILINX is not set
-# CONFIG_I2O is not set
-# CONFIG_I40E_DCB is not set
-# CONFIG_I40E_FCOE is not set
-CONFIG_I40E=m
-CONFIG_I40EVF=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_I82092=m
-# CONFIG_IAQCORE is not set
-CONFIG_IBM_BSR=m
-CONFIG_IBMEBUS=y
-# CONFIG_IBM_EMAC is not set
-CONFIG_IBMVETH=m
-CONFIG_IBMVNIC=m
-CONFIG_ICPLUS_PHY=m
-# CONFIG_ICS932S401 is not set
-# CONFIG_IDE is not set
-# CONFIG_IDEPCI_PCIBUS_ORDER is not set
-# CONFIG_IDLE_PAGE_TRACKING is not set
-# CONFIG_IDMA64 is not set
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_IEEE802154_ADF7242=m
-# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set
-CONFIG_IEEE802154_AT86RF230=m
-CONFIG_IEEE802154_ATUSB=m
-# CONFIG_IEEE802154_CA8210_DEBUGFS is not set
-CONFIG_IEEE802154_CA8210=m
-CONFIG_IEEE802154_CC2520=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKELB=m
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_MRF24J40=m
-# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
-CONFIG_IEEE802154_SOCKET=m
-CONFIG_IFB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGB_HWMON=y
-CONFIG_IGB=m
-CONFIG_IGBVF=m
-CONFIG_IIO_BUFFER_CB=m
-CONFIG_IIO_BUFFER=y
-CONFIG_IIO_CONFIGFS=m
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_HRTIMER_TRIGGER is not set
-CONFIG_IIO_INTERRUPT_TRIGGER=m
-CONFIG_IIO_KFIFO_BUF=m
-CONFIG_IIO=m
-CONFIG_IIO_MUX=m
-# CONFIG_IIO_SIMPLE_DUMMY is not set
-# CONFIG_IIO_SSP_SENSORHUB is not set
-CONFIG_IIO_ST_ACCEL_3AXIS=m
-CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
-CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
-CONFIG_IIO_ST_GYRO_3AXIS=m
-CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
-CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
-# CONFIG_IIO_ST_LSM6DSX is not set
-CONFIG_IIO_ST_MAGN_3AXIS=m
-# CONFIG_IIO_ST_PRESS is not set
-CONFIG_IIO_SW_DEVICE=m
-CONFIG_IIO_SW_TRIGGER=m
-# CONFIG_IIO_SYSFS_TRIGGER is not set
-CONFIG_IIO_TIGHTLOOP_TRIGGER=m
-CONFIG_IIO_TRIGGERED_BUFFER=m
-CONFIG_IIO_TRIGGER=y
-# CONFIG_IKCONFIG is not set
-# CONFIG_IMA is not set
-CONFIG_IMA_LSM_RULES=y
-CONFIG_IMA_MEASURE_PCR_IDX=10
-# CONFIG_IMG_ASCII_LCD is not set
-# CONFIG_INA2XX_ADC is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_ESP_OFFLOAD=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET_AH=m
-CONFIG_INET_DIAG_DESTROY=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_ESP=m
-CONFIG_INET_ESP_OFFLOAD=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_RAW_DIAG=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET=y
-# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
-CONFIG_INFINIBAND_IPOIB_CM=y
-CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-CONFIG_INFINIBAND_IPOIB=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_INFINIBAND_ISERT=m
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
-# CONFIG_INFINIBAND_QEDR is not set
-CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_SRPT=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USNIC=m
-# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
-# CONFIG_INFTL is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
-# CONFIG_INPUT_AD714X is not set
-# CONFIG_INPUT_ADXL34X is not set
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_ATLAS_BTNS=m
-# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BMA150 is not set
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_CMA3000_I2C=m
-CONFIG_INPUT_CMA3000=m
-# CONFIG_INPUT_DRV260X_HAPTICS is not set
-# CONFIG_INPUT_DRV2665_HAPTICS is not set
-# CONFIG_INPUT_DRV2667_HAPTICS is not set
-CONFIG_INPUT_E3X0_BUTTON=m
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_GP2A is not set
-# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_GPIO_DECODER is not set
-# CONFIG_INPUT_GPIO is not set
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-# CONFIG_INPUT_GPIO_TILT_POLLED is not set
-CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
-# CONFIG_INPUT_IMS_PCU is not set
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
-CONFIG_INPUT_LEDS=y
-CONFIG_INPUT_MATRIXKMAP=m
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSE=y
-CONFIG_INPUT_PCF50633_PMU=m
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_PCSPKR is not set
-CONFIG_INPUT_PM8XXX_VIBRATOR=m
-CONFIG_INPUT_PMIC8XXX_PWRKEY=m
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_PWM_BEEPER=m
-CONFIG_INPUT_RETU_PWRBUTTON=m
-CONFIG_INPUT_SPARSEKMAP=m
-CONFIG_INPUT_TABLET=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_WM831X_ON=m
-CONFIG_INPUT=y
-CONFIG_INPUT_YEALINK=m
-# CONFIG_INTEGRITY is not set
-# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_SOC_PMIC is not set
-# CONFIG_INTEL_TH is not set
-CONFIG_INTEL_XWAY_PHY=m
-# CONFIG_INTERVAL_TREE_TEST is not set
-# CONFIG_INV_MPU6050_I2C is not set
-# CONFIG_INV_MPU6050_IIO is not set
-# CONFIG_INV_MPU6050_SPI is not set
-CONFIG_IO_EVENT_IRQ=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_IOSCHED_BFQ=m
-CONFIG_IOSCHED_CFQ=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IO_STRICT_DEVMEM=y
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-# CONFIG_IP6_NF_TARGET_NPT is not set
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_TARGET_SYNPROXY=m
-# CONFIG_IPACK_BUS is not set
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IPC_NS=y
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-CONFIG_IP_DCCP_CCID2=m
-# CONFIG_IP_DCCP_CCID3_DEBUG is not set
-CONFIG_IP_DCCP_CCID3=y
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP=m
-CONFIG_IP_FIB_TRIE_STATS=y
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_POWERNV=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_SSIF=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_REJECT=y
-CONFIG_IP_NF_TARGET_SYNPROXY=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_IP_PNP is not set
-CONFIG_IPPP_FILTER=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_SCTP=m
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPMAC=m
-CONFIG_IP_SET_HASH_IPMARK=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_MAC=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETNET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETPORTNET=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IPV6_GRE=m
-CONFIG_IPV6_ILA=m
-CONFIG_IPV6_MIP6=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_IPV6_PIMSM_V2=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_SEG6_HMAC=y
-CONFIG_IPV6_SEG6_INLINE=y
-CONFIG_IPV6_SEG6_LWTUNNEL=y
-CONFIG_IPV6_SIT_6RD=y
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_VTI=m
-CONFIG_IPV6=y
-CONFIG_IPVLAN=m
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_FO=m
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_IPV6=y
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS=m
-CONFIG_IP_VS_NQ=m
-CONFIG_IP_VS_OVF=m
-CONFIG_IP_VS_PE_SIP=m
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_SCTP=y
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SH_TAB_BITS=8
-CONFIG_IP_VS_TAB_BITS=12
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IPVTAP=m
-# CONFIG_IPW2100_DEBUG is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200_DEBUG is not set
-# CONFIG_IPW2200 is not set
-CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_IPX=m
-CONFIG_IRCOMM=m
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-# CONFIG_IRDA_DEBUG is not set
-CONFIG_IRDA_FAST_RR=y
-CONFIG_IRDA=m
-# CONFIG_IRDA_ULTRA is not set
-CONFIG_IR_ENE=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_GPIO_CIR=m
-CONFIG_IR_HIX5HD2=m
-CONFIG_IR_IGORPLUGUSB=m
-CONFIG_IR_IGUANA=m
-# CONFIG_IR_IMG is not set
-CONFIG_IR_IMON=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IRLAN=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IRNET=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IRQ_ALL_CPUS=y
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
-# CONFIG_IRQSOFF_TRACER is not set
-CONFIG_IRQSTACKS=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_SANYO_DECODER=m
-CONFIG_IR_SERIAL=m
-CONFIG_IR_SERIAL_TRANSMITTER=y
-CONFIG_IR_SHARP_DECODER=m
-CONFIG_IR_SIR=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_SPI=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_TTUSBIR=m
-CONFIG_IRTTY_SIR=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_IR_XMP_DECODER=m
-# CONFIG_ISA is not set
-CONFIG_ISCSI_BOOT_SYSFS=m
-CONFIG_ISCSI_TARGET_CXGB4=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_ISCSI_TCP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-# CONFIG_ISDN_CAPI_CAPIDRV_VERBOSE is not set
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVERSION=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_ISDN_DRV_HISAX=m
-CONFIG_ISDN_DRV_LOOP=m
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_MPP=y
-# CONFIG_ISDN_PPP_BSDCOMP is not set
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_TTY_FAX=y
-CONFIG_ISDN=y
-# CONFIG_ISI is not set
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-# CONFIG_ISL29125 is not set
-CONFIG_ISO9660_FS=m
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_ITCO_WDT=m
-# CONFIG_ITG3200 is not set
-CONFIG_IWL3945=m
-CONFIG_IWL4965=m
-CONFIG_IWLDVM=m
-CONFIG_IWLEGACY_DEBUGFS=y
-CONFIG_IWLEGACY_DEBUG=y
-CONFIG_IWLEGACY=m
-CONFIG_IWLMVM=m
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
-CONFIG_IWLWIFI_DEBUGFS=y
-CONFIG_IWLWIFI_DEBUG=y
-CONFIG_IWLWIFI_DEVICE_TRACING=y
-CONFIG_IWLWIFI=m
-# CONFIG_IWLWIFI_PCIE_RTPM is not set
-# CONFIG_IWM is not set
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBE_DCB=y
-CONFIG_IXGBE_HWMON=y
-CONFIG_IXGBE=m
-CONFIG_IXGBEVF=m
-CONFIG_IXGB=m
-CONFIG_JBD2_DEBUG=y
-CONFIG_JBD2=y
-# CONFIG_JFFS2_FS is not set
-# CONFIG_JFS_DEBUG is not set
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_JME=m
-CONFIG_JOLIET=y
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_ANALOG=m
-# CONFIG_JOYSTICK_AS5011 is not set
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_PSXPAD_SPI_FF=y
-CONFIG_JOYSTICK_PSXPAD_SPI=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_ZHENHUA=m
-# CONFIG_JSA1212 is not set
-# CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG is not set
-# CONFIG_JUMP_LABEL_FEATURE_CHECKS is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_KALLSYMS=y
-CONFIG_KARMA_PARTITION=y
-# CONFIG_KASAN is not set
-# CONFIG_KCOV is not set
-CONFIG_KDB_CONTINUE_CATASTROPHIC=0
-CONFIG_KDB_DEFAULT_ENABLE=0x0
-CONFIG_KDB_KEYBOARD=y
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_KEXEC_FILE is not set
-CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_CAP11XX is not set
-# CONFIG_KEYBOARD_DLINK_DIR685 is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_LM8333 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OMAP4 is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-CONFIG_KEYBOARD_PMIC8XXX=m
-CONFIG_KEYBOARD_QT1070=m
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_SAMSUNG is not set
-# CONFIG_KEYBOARD_SH_KEYSC is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_TCA8418 is not set
-CONFIG_KEYBOARD_TM2_TOUCHKEY=m
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_KEY_DH_OPERATIONS=y
-CONFIG_KEYS=y
-CONFIG_KGDB_KDB=y
-CONFIG_KGDB_LOW_LEVEL_TRAP=y
-CONFIG_KGDB_SERIAL_CONSOLE=y
-# CONFIG_KGDB_TESTS_ON_BOOT is not set
-CONFIG_KGDB_TESTS=y
-CONFIG_KGDB=y
-CONFIG_KINGSUN_DONGLE=m
-# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENTS=y
-# CONFIG_KPROBES_SANITY_TEST is not set
-CONFIG_KPROBES=y
-CONFIG_KS0108_DELAY=2
-CONFIG_KS0108=m
-CONFIG_KS0108_PORT=0x378
-# CONFIG_KS7010 is not set
-# CONFIG_KS8842 is not set
-# CONFIG_KS8851 is not set
-# CONFIG_KS8851_MLL is not set
-CONFIG_KS959_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KSM=y
-CONFIG_KSZ884X_PCI=m
-CONFIG_KVM_BOOK3S_64_HV=m
-CONFIG_KVM_BOOK3S_64=m
-CONFIG_KVM_BOOK3S_64_PR=m
-# CONFIG_KVM_BOOK3S_HV_EXIT_TIMING is not set
-# CONFIG_KVM_EXIT_TIMING is not set
-CONFIG_KVM_GUEST=y
-CONFIG_KVM_XICS=y
-CONFIG_KXCJK1013=m
-# CONFIG_KXSD9 is not set
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_ETH=m
-CONFIG_L2TP_IP=m
-CONFIG_L2TP=m
-CONFIG_L2TP_V3=y
-# CONFIG_LANCE is not set
-# CONFIG_LAPB is not set
-CONFIG_LATENCYTOP=y
-# CONFIG_LATTICE_ECP3_CONFIG is not set
-# CONFIG_LCD_AMS369FG06 is not set
-CONFIG_LCD_CLASS_DEVICE=m
-# CONFIG_LCD_HX8357 is not set
-# CONFIG_LCD_ILI922X is not set
-# CONFIG_LCD_ILI9320 is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LD9040 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LMS501KF03 is not set
-# CONFIG_LCD_LTV350QV is not set
-CONFIG_LCD_PLATFORM=m
-# CONFIG_LCD_S6E63M0 is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LDM_DEBUG is not set
-CONFIG_LDM_PARTITION=y
-# CONFIG_LEDS_AAT1290 is not set
-# CONFIG_LEDS_BCM6328 is not set
-# CONFIG_LEDS_BCM6358 is not set
-# CONFIG_LEDS_BD2802 is not set
-CONFIG_LEDS_BLINKM=m
-CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
-CONFIG_LEDS_CLASS_FLASH=m
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_CLEVO_MAIL=m
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_GPIO is not set
-# CONFIG_LEDS_IS31FL319X is not set
-# CONFIG_LEDS_IS31FL32XX is not set
-# CONFIG_LEDS_KTD2692 is not set
-CONFIG_LEDS_LM3530=m
-# CONFIG_LEDS_LM355x is not set
-# CONFIG_LEDS_LM3642 is not set
-# CONFIG_LEDS_LOCOMO is not set
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP3952=m
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_LP5562 is not set
-# CONFIG_LEDS_LP55XX_COMMON is not set
-# CONFIG_LEDS_LP8501 is not set
-# CONFIG_LEDS_LP8860 is not set
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_MLXCPLD=m
-# CONFIG_LEDS_NET48XX is not set
-CONFIG_LEDS_NIC78BX=m
-# CONFIG_LEDS_OT200 is not set
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_PCA963X is not set
-CONFIG_LEDS_POWERNV=m
-# CONFIG_LEDS_PWM is not set
-CONFIG_LEDS_REGULATOR=m
-# CONFIG_LEDS_S3C24XX is not set
-# CONFIG_LEDS_SYSCON is not set
-# CONFIG_LEDS_TCA6507 is not set
-# CONFIG_LEDS_TLC591XX is not set
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_CAMERA=m
-# CONFIG_LEDS_TRIGGER_CPU is not set
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-CONFIG_LEDS_TRIGGER_DISK=y
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_MTD=y
-CONFIG_LEDS_TRIGGER_ONESHOT=m
-CONFIG_LEDS_TRIGGER_PANIC=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_TRANSIENT=m
-CONFIG_LEDS_USER=m
-CONFIG_LEDS_WM831X_STATUS=m
-CONFIG_LEDS_WM8350=m
-CONFIG_LED_TRIGGER_PHY=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-CONFIG_LIB80211_CRYPT_WEP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_LIB80211=m
-CONFIG_LIBCRC32C=m
-CONFIG_LIBERTAS_CS=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_MESH=y
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_SPI is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBFC=m
-CONFIG_LIBFCOE=m
-# CONFIG_LIBIPW_DEBUG is not set
-# CONFIG_LIBNVDIMM is not set
-# CONFIG_LIDAR_LITE_V2 is not set
-CONFIG_LIQUIDIO_VF=m
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_ZILOG=m
-CONFIG_LITELINK_DONGLE=m
-# CONFIG_LIVEPATCH is not set
-# CONFIG_LKDTM is not set
-# CONFIG_LLC2 is not set
-CONFIG_LLC=m
-CONFIG_LMP91000=m
-# CONFIG_LNET is not set
-# CONFIG_LOAD_UEFI_KEYS is not set
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_LOCKD=m
-# CONFIG_LOCK_DOWN_KERNEL is not set
-CONFIG_LOCKD_V4=y
-CONFIG_LOCK_STAT=y
-CONFIG_LOCK_TORTURE_TEST=m
-CONFIG_LOCKUP_DETECTOR=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
-# CONFIG_LOGFS is not set
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_LOGO_LIBRE_CLUT224=y
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO=y
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_LPARCFG=y
-# CONFIG_LPC_ICH is not set
-CONFIG_LP_CONSOLE=y
-# CONFIG_LPC_SCH is not set
-CONFIG_LPFC_NVME_INITIATOR=y
-CONFIG_LPFC_NVME_TARGET=y
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_LSM_MMAP_MIN_ADDR=65536
-# CONFIG_LTC2485 is not set
-# CONFIG_LTC2497 is not set
-# CONFIG_LTC2632 is not set
-# CONFIG_LTE_GDM724X is not set
-# CONFIG_LTR501 is not set
-# CONFIG_LUSTRE_FS is not set
-CONFIG_LWTUNNEL_BPF=y
-CONFIG_LWTUNNEL=y
-CONFIG_LXT_PHY=m
-# CONFIG_M62332 is not set
-CONFIG_MA600_DONGLE=m
-CONFIG_MAC80211_DEBUGFS=y
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_MAC80211_HWSIM=m
-CONFIG_MAC80211_LEDS=y
-CONFIG_MAC80211=m
-CONFIG_MAC80211_MESH=y
-# CONFIG_MAC80211_MESSAGE_TRACING is not set
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC802154=m
-CONFIG_MACB=m
-CONFIG_MACB_PCI=m
-CONFIG_MACB_USE_HWSTAMP=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_MACHZ_WDT=m
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MACSEC=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-# CONFIG_MAG3110 is not set
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
-CONFIG_MAGIC_SYSRQ_SERIAL=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_MAILBOX is not set
-# CONFIG_MAILBOX_TEST is not set
-# CONFIG_MANDATORY_FILE_LOCKING is not set
-CONFIG_MANTIS_CORE=m
-CONFIG_MARVELL_10G_PHY=m
-CONFIG_MARVELL_PHY=m
-# CONFIG_MATH_EMULATION is not set
-# CONFIG_MAX1027 is not set
-# CONFIG_MAX11100 is not set
-# CONFIG_MAX1118 is not set
-CONFIG_MAX1363=m
-CONFIG_MAX30100=m
-# CONFIG_MAX30102 is not set
-# CONFIG_MAX44000 is not set
-# CONFIG_MAX517 is not set
-# CONFIG_MAX5481 is not set
-# CONFIG_MAX5487 is not set
-# CONFIG_MAX5821 is not set
-# CONFIG_MAX63XX_WATCHDOG is not set
-# CONFIG_MAX9611 is not set
-# CONFIG_MAXIM_THERMOCOUPLE is not set
-CONFIG_MAX_RAW_DEVS=8192
-CONFIG_MAXSMP=y
-# CONFIG_MC3230 is not set
-# CONFIG_MCB is not set
-# CONFIG_MCE_AMD_INJ is not set
-CONFIG_MCP2120_DONGLE=m
-# CONFIG_MCP320X is not set
-# CONFIG_MCP3422 is not set
-# CONFIG_MCP4131 is not set
-# CONFIG_MCP4531 is not set
-# CONFIG_MCP4725 is not set
-# CONFIG_MCP4922 is not set
-CONFIG_MCS_FIR=m
-# CONFIG_MCU_MPC8349EMITX is not set
-CONFIG_MD_AUTODETECT=y
-# CONFIG_MD_CLUSTER is not set
-CONFIG_MD_FAULTY=m
-CONFIG_MDIO_BCM_UNIMAC=m
-CONFIG_MDIO_BITBANG=m
-# CONFIG_MDIO_BUS_MUX_GPIO is not set
-# CONFIG_MDIO_BUS_MUX is not set
-# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
-CONFIG_MDIO_GPIO=m
-# CONFIG_MDIO_HISI_FEMAC is not set
-# CONFIG_MDIO_OCTEON is not set
-# CONFIG_MDIO_THUNDER is not set
-CONFIG_MD_LINEAR=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID456=m
-CONFIG_MD=y
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_CEC_DEBUG=y
-CONFIG_MEDIA_CEC_RC=y
-CONFIG_MEDIA_CEC_SUPPORT=y
-# CONFIG_MEDIA_CONTROLLER_DVB is not set
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_PCI_SUPPORT=y
-CONFIG_MEDIA_RADIO_SUPPORT=y
-CONFIG_MEDIA_RC_SUPPORT=y
-# CONFIG_MEDIA_SDR_SUPPORT is not set
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-CONFIG_MEDIA_SUPPORT=m
-# CONFIG_MEDIA_TUNER_MSI001 is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_SAS=m
-CONFIG_MEMCG_SWAP_ENABLED=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_MEMCG=y
-CONFIG_MEMORY_FAILURE=y
-# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTREMOVE=y
-# CONFIG_MEMORY is not set
-CONFIG_MEM_SOFT_DIRTY=y
-# CONFIG_MEMSTICK_DEBUG is not set
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_MEMSTICK_REALTEK_PCI=m
-CONFIG_MEMSTICK_REALTEK_USB=m
-CONFIG_MEMSTICK_TIFM_MS=m
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-# CONFIG_MEMTEST is not set
-# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
-# CONFIG_MFD_88PM800 is not set
-# CONFIG_MFD_88PM805 is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_AAT2870_CORE is not set
-# CONFIG_MFD_ACT8945A is not set
-# CONFIG_MFD_ARIZONA_I2C is not set
-# CONFIG_MFD_ARIZONA is not set
-# CONFIG_MFD_ARIZONA_SPI is not set
-# CONFIG_MFD_AS3711 is not set
-# CONFIG_MFD_AS3722 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_MFD_ATMEL_FLEXCOM is not set
-# CONFIG_MFD_ATMEL_HLCDC is not set
-# CONFIG_MFD_AXP20X_I2C is not set
-# CONFIG_MFD_AXP20X is not set
-# CONFIG_MFD_BCM590XX is not set
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_CPCAP is not set
-# CONFIG_MFD_CROS_EC is not set
-# CONFIG_MFD_CS5535 is not set
-# CONFIG_MFD_DA9052_I2C is not set
-# CONFIG_MFD_DA9052_SPI is not set
-# CONFIG_MFD_DA9055 is not set
-# CONFIG_MFD_DA9062 is not set
-# CONFIG_MFD_DA9063 is not set
-# CONFIG_MFD_DA9150 is not set
-# CONFIG_MFD_DLN2 is not set
-# CONFIG_MFD_HI6421_PMIC is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_KEMPLD is not set
-# CONFIG_MFD_LM3533 is not set
-# CONFIG_MFD_LP3943 is not set
-# CONFIG_MFD_LP8788 is not set
-# CONFIG_MFD_MAX14577 is not set
-# CONFIG_MFD_MAX77620 is not set
-# CONFIG_MFD_MAX77686 is not set
-# CONFIG_MFD_MAX77693 is not set
-# CONFIG_MFD_MAX77843 is not set
-# CONFIG_MFD_MAX8907 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_MC13XXX_I2C is not set
-# CONFIG_MFD_MC13XXX_SPI is not set
-# CONFIG_MFD_MENF21BMC is not set
-# CONFIG_MFD_MT6397 is not set
-# CONFIG_MFD_PALMAS is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_RC5T583 is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_RETU is not set
-# CONFIG_MFD_RK808 is not set
-# CONFIG_MFD_RN5T618 is not set
-# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
-# CONFIG_MFD_SEC_CORE is not set
-# CONFIG_MFD_SI476X_CORE is not set
-# CONFIG_MFD_SKY81452 is not set
-CONFIG_MFD_SM501_GPIO=y
-CONFIG_MFD_SM501=m
-# CONFIG_MFD_SMSC is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_SYSCON is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TC6393XB is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_MFD_TI_LMU is not set
-# CONFIG_MFD_TI_LP873X is not set
-# CONFIG_MFD_TI_LP87565 is not set
-# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_MFD_TPS65086 is not set
-# CONFIG_MFD_TPS65090 is not set
-# CONFIG_MFD_TPS65217 is not set
-# CONFIG_MFD_TPS65218 is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_MFD_TPS65910 is not set
-# CONFIG_MFD_TPS65912_I2C is not set
-# CONFIG_MFD_TPS65912 is not set
-# CONFIG_MFD_TPS65912_SPI is not set
-# CONFIG_MFD_TPS80031 is not set
-CONFIG_MFD_VIPERBOARD=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8350 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MGCOGE is not set
-# CONFIG_MICREL_KS8995MA is not set
-CONFIG_MICREL_PHY=m
-CONFIG_MICROCHIP_KSZ=m
-CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m
-CONFIG_MICROCHIP_PHY=m
-CONFIG_MICROSEMI_PHY=m
-CONFIG_MIGRATION=y
-CONFIG_MII=m
-CONFIG_MINIX_FS=m
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_L1OIP=m
-CONFIG_MISDN=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_W6692=m
-CONFIG_MKISS=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_EN_DCB=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_MLX5_CORE_EN_DCB=y
-CONFIG_MLX5_CORE_EN=y
-CONFIG_MLX5_CORE_IPOIB=y
-CONFIG_MLX5_CORE=m
-# CONFIG_MLX5_EN_IPSEC is not set
-# CONFIG_MLX5_FPGA is not set
-CONFIG_MLX5_INFINIBAND=m
-# CONFIG_MLX90614 is not set
-CONFIG_MLX_CPLD_PLATFORM=m
-CONFIG_MLXFW=m
-CONFIG_MLXSW_CORE_HWMON=y
-CONFIG_MLXSW_CORE=m
-CONFIG_MLXSW_CORE_THERMAL=y
-CONFIG_MLXSW_I2C=m
-CONFIG_MLXSW_MINIMAL=m
-CONFIG_MLXSW_PCI=m
-CONFIG_MLXSW_SPECTRUM_DCB=y
-CONFIG_MLXSW_SPECTRUM=m
-CONFIG_MLXSW_SWITCHIB=m
-CONFIG_MLXSW_SWITCHX2=m
-# CONFIG_MMA7455_I2C is not set
-# CONFIG_MMA7455_SPI is not set
-CONFIG_MMA7660=m
-# CONFIG_MMA8452 is not set
-# CONFIG_MMA9551 is not set
-# CONFIG_MMA9553 is not set
-# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_CB710=m
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC=m
-# CONFIG_MMC_MTK is not set
-CONFIG_MMC_REALTEK_PCI=m
-CONFIG_MMC_REALTEK_USB=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_ACPI=m
-CONFIG_MMC_SDHCI_CADENCE=m
-# CONFIG_MMC_SDHCI_F_SDH30 is not set
-CONFIG_MMC_SDHCI=m
-# CONFIG_MMC_SDHCI_OF_ARASAN is not set
-# CONFIG_MMC_SDHCI_OF_AT91 is not set
-# CONFIG_MMC_SDHCI_OF_ESDHC is not set
-# CONFIG_MMC_SDHCI_OF_HLWD is not set
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_SDHCI_XENON=m
-CONFIG_MMC_SDRICOH_CS=m
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TEST is not set
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_TOSHIBA_PCI=m
-# CONFIG_MMC_USDHI6ROL0 is not set
-CONFIG_MMC_USHC=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMIOTRACE=y
-CONFIG_MMU=y
-# CONFIG_MODULE_COMPRESS is not set
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODULE_SIG_ALL=y
-# CONFIG_MODULE_SIG_FORCE is not set
-CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
-# CONFIG_MODULE_SIG_SHA1 is not set
-CONFIG_MODULE_SIG_SHA256=y
-CONFIG_MODULE_SIG=y
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MOST is not set
-CONFIG_MOUSE_APPLETOUCH=m
-# CONFIG_MOUSE_ATIXL is not set
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_CYAPA=m
-CONFIG_MOUSE_ELAN_I2C_I2C=y
-CONFIG_MOUSE_ELAN_I2C=m
-CONFIG_MOUSE_ELAN_I2C_SMBUS=y
-# CONFIG_MOUSE_GPIO is not set
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_MOUSE_SYNAPTICS_USB=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOVABLE_NODE=y
-# CONFIG_MOXA_INTELLIO is not set
-# CONFIG_MOXA_SMARTIO is not set
-# CONFIG_MPC5121_ADS is not set
-# CONFIG_MPIC_MSGR is not set
-# CONFIG_MPL115_I2C is not set
-# CONFIG_MPL115 is not set
-# CONFIG_MPL115_SPI is not set
-# CONFIG_MPL3115 is not set
-CONFIG_MPLS_IPTUNNEL=m
-CONFIG_MPLS_ROUTING=m
-CONFIG_MPU3050_I2C=m
-CONFIG_MQ_IOSCHED_DEADLINE=y
-CONFIG_MQ_IOSCHED_KYBER=m
-# CONFIG_MS5611 is not set
-# CONFIG_MS5637 is not set
-# CONFIG_MS_BLOCK is not set
-CONFIG_MSDOS_FS=m
-CONFIG_MSDOS_PARTITION=y
-CONFIG_MSI_BITMAP_SELFTEST=y
-# CONFIG_MSM_GCC_8994 is not set
-CONFIG_MSPRO_BLOCK=m
-CONFIG_MT7601U=m
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_AR7_PARTS is not set
-# CONFIG_MTD_BLKDEVS is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-# CONFIG_MTD_BLOCK is not set
-# CONFIG_MTD_BLOCK_RO is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_DOCG3 is not set
-# CONFIG_MTD_INTEL_VR_NOR is not set
-# CONFIG_MTD_JEDECPROBE is not set
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD=m
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MCHP23K256 is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_NAND_DENALI_DT is not set
-# CONFIG_MTD_NAND_DENALI_PCI is not set
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_ECC_BCH is not set
-# CONFIG_MTD_NAND_FSL_ELBC is not set
-# CONFIG_MTD_NAND_HISI504 is not set
-# CONFIG_MTD_NAND is not set
-# CONFIG_MTD_NAND_OMAP2 is not set
-# CONFIG_MTD_NAND_OXNAS is not set
-CONFIG_MTD_OF_PARTS=m
-# CONFIG_MTD_ONENAND is not set
-# CONFIG_MTD_OOPS is not set
-# CONFIG_MTD_PARTITIONED_MASTER is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_PLATRAM is not set
-# CONFIG_MTD_PMC551 is not set
-CONFIG_MTD_POWERNV_FLASH=m
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_SPI_NOR is not set
-# CONFIG_MTD_SST25L is not set
-# CONFIG_MTD_SWAP is not set
-# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_TS5500 is not set
-CONFIG_MTD_UBI_BEB_LIMIT=20
-# CONFIG_MTD_UBI_BLOCK is not set
-# CONFIG_MTD_UBI_FASTMAP is not set
-# CONFIG_MTD_UBI_GLUEBI is not set
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MULTIPLEXER=m
-CONFIG_MUX_ADG792A=m
-CONFIG_MUX_GPIO=m
-CONFIG_MUX_MMIO=m
-CONFIG_MVMDIO=m
-CONFIG_MWAVE=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_USB=m
-CONFIG_MWL8K=m
-# CONFIG_MXC4005 is not set
-# CONFIG_MXC6255 is not set
-CONFIG_MYRI10GE_DCA=y
-CONFIG_MYRI10GE=m
-CONFIG_NAMESPACES=y
-CONFIG_NATIONAL_PHY=m
-CONFIG_NATSEMI=m
-# CONFIG_NAU7802 is not set
-# CONFIG_NBPFAXI_DMA is not set
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_STRONG=y
-# CONFIG_ND_BLK is not set
-CONFIG_NE2K_PCI=m
-# CONFIG_NET_9P_DEBUG is not set
-CONFIG_NET_9P=m
-CONFIG_NET_9P_RDMA=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_XEN=m
-CONFIG_NET_ACT_BPF=m
-CONFIG_NET_ACT_CONNMARK=m
-CONFIG_NET_ACT_CSUM=m
-CONFIG_NET_ACT_GACT=m
-CONFIG_NET_ACT_IFE=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_POLICE=m
-CONFIG_NET_ACT_SAMPLE=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_SKBMOD=m
-CONFIG_NET_ACT_TUNNEL_KEY=m
-CONFIG_NET_ACT_VLAN=m
-CONFIG_NET_CADENCE=y
-CONFIG_NET_CALXEDA_XGMAC=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_BPF=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_CLS_FLOWER=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_CLS_MATCHALL=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_ROUTE=y
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_U32=m
-CONFIG_NET_CLS=y
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETCONSOLE=m
-CONFIG_NET_CORE=y
-# CONFIG_NET_DCCPPROBE is not set
-CONFIG_NETDEVICES=y
-CONFIG_NET_DEVLINK=m
-CONFIG_NET_DROP_MONITOR=y
-CONFIG_NET_DSA_BCM_SF2=m
-CONFIG_NET_DSA_HWMON=y
-CONFIG_NET_DSA_LOOP=m
-CONFIG_NET_DSA=m
-CONFIG_NET_DSA_MT7530=m
-CONFIG_NET_DSA_MV88E6060=m
-CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
-CONFIG_NET_DSA_MV88E6XXX=m
-CONFIG_NET_DSA_QCA8K=m
-CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
-CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
-CONFIG_NET_EMATCH_CANID=m
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_IPSET=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH=y
-CONFIG_NET_FC=y
-CONFIG_NETFILTER_ADVANCED=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_INGRESS=y
-CONFIG_NETFILTER_NETLINK_ACCT=m
-# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_XTABLES=y
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CGROUP=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ECN=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_L2TP=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_NETFILTER_XT_NAT=m
-CONFIG_NETFILTER_XT_SET=m
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NETMAP=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
-CONFIG_NETFILTER_XT_TARGET_SECMARK=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER=y
-CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_NET_FOU=m
-CONFIG_NET_IFE=m
-CONFIG_NET_IFE_SKBMARK=m
-CONFIG_NET_IFE_SKBPRIO=m
-CONFIG_NET_IFE_SKBTCINDEX=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPVTI=m
-CONFIG_NET_KEY=m
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_NET_L3_MASTER_DEV=y
-CONFIG_NETLABEL=y
-CONFIG_NETLINK_DIAG=m
-CONFIG_NET_MPLS_GSO=m
-CONFIG_NET_NCSI=y
-CONFIG_NET_NS=y
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_NET_PKTGEN=m
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_NETROM=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_CODEL=m
-# CONFIG_NET_SCH_DEFAULT is not set
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_FQ_CODEL=y
-CONFIG_NET_SCH_FQ=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_HHF=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_PIE=m
-CONFIG_NET_SCH_PLUG=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCTPPROBE=m
-CONFIG_NET_SWITCHDEV=y
-# CONFIG_NET_TCPPROBE is not set
-CONFIG_NET_TEAM=m
-CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
-CONFIG_NET_TEAM_MODE_BROADCAST=m
-CONFIG_NET_TEAM_MODE_LOADBALANCE=m
-CONFIG_NET_TEAM_MODE_RANDOM=m
-CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
-CONFIG_NET_TULIP=y
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_NET_VENDOR_8390=y
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_NET_VENDOR_AGERE=y
-# CONFIG_NET_VENDOR_ALACRITECH is not set
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_NET_VENDOR_AMAZON=y
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_NET_VENDOR_AQUANTIA=y
-CONFIG_NET_VENDOR_ARC=y
-CONFIG_NET_VENDOR_ATHEROS=y
-# CONFIG_NET_VENDOR_AURORA is not set
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_NET_VENDOR_BROCADE=y
-# CONFIG_NET_VENDOR_CAVIUM is not set
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_NET_VENDOR_EXAR=y
-# CONFIG_NET_VENDOR_EZCHIP is not set
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_FUJITSU is not set
-# CONFIG_NET_VENDOR_HISILICON is not set
-# CONFIG_NET_VENDOR_HP is not set
-# CONFIG_NET_VENDOR_I825XX is not set
-CONFIG_NET_VENDOR_IBM=y
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_NET_VENDOR_MICREL=y
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NET_VENDOR_NETRONOME=y
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_NET_VENDOR_OKI=y
-# CONFIG_NET_VENDOR_PASEMI is not set
-CONFIG_NET_VENDOR_QLOGIC=y
-# CONFIG_NET_VENDOR_QUALCOMM is not set
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_NET_VENDOR_REALTEK=y
-# CONFIG_NET_VENDOR_RENESAS is not set
-CONFIG_NET_VENDOR_ROCKER=y
-# CONFIG_NET_VENDOR_SAMSUNG is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_NET_VENDOR_SMSC=y
-# CONFIG_NET_VENDOR_SOLARFLARE is not set
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_NET_VENDOR_SUN=y
-# CONFIG_NET_VENDOR_SYNOPSYS is not set
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_NET_VENDOR_TI=y
-# CONFIG_NET_VENDOR_TOSHIBA is not set
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_NET_VENDOR_WIZNET=y
-# CONFIG_NET_VENDOR_XILINX is not set
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_NET_VRF=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-CONFIG_NETXEN_NIC=m
-CONFIG_NET=y
-CONFIG_NEW_LEDS=y
-CONFIG_NFC_DIGITAL=m
-# CONFIG_NFC_FDP is not set
-CONFIG_NFC_HCI=m
-CONFIG_NFC=m
-CONFIG_NFC_MICROREAD_I2C=m
-CONFIG_NFC_MICROREAD=m
-# CONFIG_NFC_MRVL_I2C is not set
-CONFIG_NFC_MRVL=m
-# CONFIG_NFC_MRVL_SPI is not set
-CONFIG_NFC_MRVL_USB=m
-CONFIG_NFC_NCI=m
-# CONFIG_NFC_NCI_SPI is not set
-# CONFIG_NFC_NCI_UART is not set
-CONFIG_NFC_NXP_NCI_I2C=m
-CONFIG_NFC_NXP_NCI=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_PPTP=m
-# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-CONFIG_NF_CONNTRACK_PROCFS=y
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SECMARK=y
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-# CONFIG_NF_CONNTRACK_TIMEOUT is not set
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NFC_PN533_I2C=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_PN533_USB=m
-CONFIG_NFC_PN544_I2C=m
-CONFIG_NFC_PN544=m
-CONFIG_NFC_PORT100=m
-# CONFIG_NFC_S3FWRN5_I2C is not set
-CONFIG_NFC_SHDLC=y
-CONFIG_NFC_SIM=m
-CONFIG_NFC_ST21NFCA_I2C=m
-CONFIG_NFC_ST21NFCA=m
-# CONFIG_NFC_ST95HF is not set
-# CONFIG_NFC_ST_NCI_I2C is not set
-# CONFIG_NFC_ST_NCI is not set
-# CONFIG_NFC_ST_NCI_SPI is not set
-CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NF_CT_NETLINK=m
-# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
-CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_SCTP=y
-CONFIG_NF_CT_PROTO_UDPLITE=y
-CONFIG_NFC_TRF7970A=m
-CONFIG_NF_DUP_IPV4=m
-CONFIG_NF_DUP_IPV6=m
-CONFIG_NF_DUP_NETDEV=m
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_BRIDGE=m
-CONFIG_NF_LOG_IPV4=m
-CONFIG_NF_LOG_IPV6=m
-CONFIG_NF_LOG_NETDEV=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NFP_APP_FLOWER=y
-# CONFIG_NFP_DEBUG is not set
-CONFIG_NFP=m
-# CONFIG_NFP_NET_DEBUG is not set
-CONFIG_NFP_NETVF=m
-CONFIG_NF_REJECT_IPV6=m
-CONFIG_NFSD_BLOCKLAYOUT=y
-CONFIG_NFSD_FAULT_INJECTION=y
-CONFIG_NFSD_FLEXFILELAYOUT=y
-CONFIG_NFSD=m
-CONFIG_NFSD_PNFS=y
-CONFIG_NFSD_SCSILAYOUT=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V4_SECURITY_LABEL=y
-CONFIG_NFSD_V4=y
-CONFIG_NFS_FSCACHE=y
-CONFIG_NFS_FS=m
-CONFIG_NF_SOCKET_IPV4=m
-CONFIG_NF_SOCKET_IPV6=m
-CONFIG_NFS_SWAP=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-# CONFIG_NFS_V2 is not set
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V3=m
-CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
-# CONFIG_NFS_V4_1_MIGRATION is not set
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_NFS_V4=m
-CONFIG_NF_TABLES_ARP=m
-CONFIG_NF_TABLES_BRIDGE=m
-CONFIG_NF_TABLES_INET=m
-CONFIG_NF_TABLES_IPV4=m
-CONFIG_NF_TABLES_IPV6=m
-CONFIG_NF_TABLES=m
-CONFIG_NF_TABLES_NETDEV=m
-CONFIG_NFT_BRIDGE_META=m
-CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NFT_CHAIN_NAT_IPV4=m
-CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_CHAIN_ROUTE_IPV4=m
-CONFIG_NFT_CHAIN_ROUTE_IPV6=m
-CONFIG_NFT_COMPAT=m
-CONFIG_NFT_COUNTER=m
-CONFIG_NFT_CT=m
-CONFIG_NFT_DUP_IPV4=m
-CONFIG_NFT_DUP_IPV6=m
-CONFIG_NFT_DUP_NETDEV=m
-CONFIG_NFT_EXTHDR=m
-CONFIG_NFT_FIB_INET=m
-CONFIG_NFT_FIB_IPV4=m
-CONFIG_NFT_FIB_IPV6=m
-CONFIG_NFT_FWD_NETDEV=m
-CONFIG_NFT_HASH=m
-CONFIG_NFT_LIMIT=m
-# CONFIG_NFTL is not set
-CONFIG_NFT_LOG=m
-CONFIG_NFT_MASQ_IPV4=m
-CONFIG_NFT_MASQ_IPV6=m
-CONFIG_NFT_MASQ=m
-CONFIG_NFT_META=m
-CONFIG_NFT_NAT=m
-CONFIG_NFT_NUMGEN=m
-CONFIG_NFT_OBJREF=m
-CONFIG_NFT_QUEUE=m
-CONFIG_NFT_QUOTA=m
-CONFIG_NFT_RBTREE=m
-CONFIG_NFT_REDIR_IPV4=m
-CONFIG_NFT_REDIR_IPV6=m
-CONFIG_NFT_REDIR=m
-CONFIG_NFT_REJECT_IPV4=m
-CONFIG_NFT_REJECT=m
-CONFIG_NFT_RT=m
-CONFIG_NFT_SET_BITMAP=m
-CONFIG_NFT_SET_HASH=m
-CONFIG_NFT_SET_RBTREE=m
-CONFIG_N_GSM=m
-CONFIG_N_HDLC=m
-# CONFIG_NI65 is not set
-# CONFIG_NI903X_WDT is not set
-CONFIG_NILFS2_FS=m
-CONFIG_NIU=m
-# CONFIG_NL80211_TESTMODE is not set
-CONFIG_NL80211=y
-CONFIG_NLMON=m
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_MAC_CELTIC=m
-CONFIG_NLS_MAC_CENTEURO=m
-CONFIG_NLS_MAC_CROATIAN=m
-CONFIG_NLS_MAC_CYRILLIC=m
-CONFIG_NLS_MAC_GAELIC=m
-CONFIG_NLS_MAC_GREEK=m
-CONFIG_NLS_MAC_ICELAND=m
-CONFIG_NLS_MAC_INUIT=m
-CONFIG_NLS_MAC_ROMANIAN=m
-CONFIG_NLS_MAC_ROMAN=m
-CONFIG_NLS_MAC_TURKISH=m
-CONFIG_NLS_UTF8=m
-CONFIG_NLS=y
-CONFIG_NMI_LOG_BUF_SHIFT=13
-CONFIG_NO_HZ=y
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_NORTEL_HERMES=m
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-CONFIG_NOUVEAU_DEBUG=5
-CONFIG_NOUVEAU_DEBUG_DEFAULT=3
-CONFIG_NOZOMI=m
-CONFIG_NR_CPUS=1024
-CONFIG_NR_DEV_DAX=32768
-CONFIG_NR_IRQS=512
-CONFIG_NS83820=m
-CONFIG_NSC_FIR=m
-CONFIG_NTB_IDT=m
-# CONFIG_NTB is not set
-# CONFIG_NTFS_FS is not set
-CONFIG_NTP_PPS=y
-CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
-CONFIG_NUMA_BALANCING=y
-CONFIG_NUMA=y
-CONFIG_NVME_FC=m
-CONFIG_NVMEM=m
-CONFIG_NVME_RDMA=m
-CONFIG_NVME_TARGET_FCLOOP=m
-CONFIG_NVME_TARGET_FC=m
-CONFIG_NVME_TARGET_LOOP=m
-CONFIG_NVME_TARGET=m
-CONFIG_NVME_TARGET_RDMA=m
-# CONFIG_NVM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_OCFS2_DEBUG_FS is not set
-# CONFIG_OCFS2_DEBUG_MASKLOG is not set
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-# CONFIG_OF_OVERLAY is not set
-# CONFIG_OF_UNITTEST is not set
-CONFIG_OLD_BELKIN_DONGLE=m
-# CONFIG_OMFS_FS is not set
-CONFIG_OPAL_PRD=m
-CONFIG_OPENVSWITCH_GENEVE=m
-CONFIG_OPENVSWITCH_GRE=m
-CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_VXLAN=m
-# CONFIG_OPROFILE is not set
-CONFIG_OPT3001=m
-CONFIG_OPTIMIZE_INLINING=y
-CONFIG_OPTPROBES=y
-CONFIG_ORANGEFS_FS=m
-CONFIG_ORINOCO_USB=m
-CONFIG_OSF_PARTITION=y
-# CONFIG_OVERLAY_FS_INDEX is not set
-CONFIG_OVERLAY_FS=m
-# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_PCI=m
-# CONFIG_P54_SPI is not set
-CONFIG_P54_USB=m
-CONFIG_PA12203001=m
-CONFIG_PACKET_DIAG=m
-CONFIG_PACKET=y
-# CONFIG_PAGE_EXTENSION is not set
-# CONFIG_PAGE_OWNER is not set
-# CONFIG_PAGE_POISONING is not set
-# CONFIG_PANEL is not set
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_TIMEOUT=0
-CONFIG_PANTHERLORD_FF=y
-# CONFIG_PARIDE is not set
-CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
-CONFIG_PARPORT=m
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_PATA_ACPI=m
-CONFIG_PATA_ALI=m
-CONFIG_PATA_AMD=m
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=m
-CONFIG_PATA_ATIIXP=m
-CONFIG_PATA_ATP867X=m
-CONFIG_PATA_CMD640_PCI=m
-CONFIG_PATA_CMD64X=m
-CONFIG_PATA_CS5520=m
-CONFIG_PATA_CS5530=m
-CONFIG_PATA_CS5535=m
-CONFIG_PATA_CS5536=m
-CONFIG_PATA_CYPRESS=m
-CONFIG_PATA_EFAR=m
-CONFIG_PATA_HPT366=m
-CONFIG_PATA_HPT37X=m
-CONFIG_PATA_HPT3X2N=m
-# CONFIG_PATA_HPT3X3_DMA is not set
-CONFIG_PATA_HPT3X3=m
-CONFIG_PATA_IT8213=m
-CONFIG_PATA_IT821X=m
-CONFIG_PATA_JMICRON=m
-# CONFIG_PATA_LEGACY is not set
-CONFIG_PATA_MARVELL=m
-CONFIG_PATA_MPIIX=m
-CONFIG_PATA_NETCELL=m
-CONFIG_PATA_NINJA32=m
-CONFIG_PATA_NS87410=m
-CONFIG_PATA_NS87415=m
-CONFIG_PATA_OLDPIIX=m
-CONFIG_PATA_OPTIDMA=m
-CONFIG_PATA_OPTI=m
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_PDC2027X=m
-CONFIG_PATA_PDC_OLD=m
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_PATA_RADISYS is not set
-CONFIG_PATA_RDC=m
-# CONFIG_PATA_RZ1000 is not set
-# CONFIG_PATA_SC1200 is not set
-CONFIG_PATA_SCH=m
-CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_SIL680=m
-CONFIG_PATA_SIS=m
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=m
-CONFIG_PATA_VIA=m
-CONFIG_PATA_WINBOND=m
-# CONFIG_PC104 is not set
-# CONFIG_PC87413_WDT is not set
-CONFIG_PCCARD=y
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_PCH_GBE is not set
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIEASPM=y
-CONFIG_PCIE_DPC=y
-# CONFIG_PCIE_DW_PLAT is not set
-CONFIG_PCIE_ECRC=y
-# CONFIG_PCI_ENDPOINT is not set
-# CONFIG_PCI_ENDPOINT_TEST is not set
-# CONFIG_PCIEPORTBUS is not set
-CONFIG_PCIE_PTM=y
-CONFIG_PCI_HERMES=m
-CONFIG_PCI_IOV=y
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
-CONFIG_PCI_MSI=y
-CONFIG_PCI_PASID=y
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_PCI_PRI=y
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-CONFIG_PCI_STUB=y
-CONFIG_PCI_SW_SWITCHTEC=m
-CONFIG_PCI=y
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_PCMCIA_AXNET=m
-# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_RAYCS is not set
-CONFIG_PCMCIA_SMC91C92=m
-# CONFIG_PCMCIA_SPECTRUM is not set
-# CONFIG_PCMCIA_WL3501 is not set
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_PCMCIA=y
-CONFIG_PCNET32=m
-CONFIG_PD6729=m
-# CONFIG_PDA_POWER is not set
-CONFIG_PDC_ADMA=m
-# CONFIG_PERCPU_STATS is not set
-# CONFIG_PERCPU_TEST is not set
-CONFIG_PERF_EVENTS=y
-CONFIG_PERSISTENT_KEYRINGS=y
-# CONFIG_PGTABLE_MAPPING is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_PHONE is not set
-# CONFIG_PHONET is not set
-# CONFIG_PHY_CPCAP_USB is not set
-CONFIG_PHYLIB=y
-# CONFIG_PHY_PXA_28NM_HSIC is not set
-# CONFIG_PHY_PXA_28NM_USB2 is not set
-# CONFIG_PHY_QCOM_USB_HSIC is not set
-# CONFIG_PHY_QCOM_USB_HS is not set
-# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
-# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
-# CONFIG_PHY_TUSB1210 is not set
-CONFIG_PID_NS=y
-# CONFIG_PINCONF is not set
-# CONFIG_PINCTRL_CANNONLAKE is not set
-# CONFIG_PINCTRL_IPQ8074 is not set
-# CONFIG_PINCTRL is not set
-# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
-# CONFIG_PINCTRL_SX150X is not set
-# CONFIG_PINMUX is not set
-CONFIG_PKCS7_MESSAGE_PARSER=y
-# CONFIG_PKCS7_TEST_KEY is not set
-# CONFIG_PLATFORM_SI4713 is not set
-# CONFIG_PLIP is not set
-CONFIG_PLX_HERMES=m
-CONFIG_PM_ADVANCED_DEBUG=y
-# CONFIG_PM_AUTOSLEEP is not set
-CONFIG_PMBUS=m
-CONFIG_PM_DEBUG=y
-# CONFIG_PM_DEVFREQ_EVENT is not set
-CONFIG_PM_DEVFREQ=y
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
-CONFIG_PM_STD_PARTITION=""
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_PM_TRACE_RTC=y
-CONFIG_PM_TRACE=y
-# CONFIG_PM_WAKELOCKS is not set
-CONFIG_PM=y
-CONFIG_PNFS_BLOCK=m
-CONFIG_PNFS_OBJLAYOUT=m
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POWER7_CPU=y
-# CONFIG_POWER_AVS is not set
-CONFIG_POWERCAP=y
-CONFIG_POWERNV_CPUFREQ=y
-CONFIG_POWERNV_CPUIDLE=y
-# CONFIG_POWERNV_OP_PANEL is not set
-# CONFIG_POWER_RESET_BRCMKONA is not set
-# CONFIG_POWER_RESET_BRCMSTB is not set
-CONFIG_POWER_RESET_GPIO_RESTART=y
-CONFIG_POWER_RESET_GPIO=y
-# CONFIG_POWER_RESET_LTC2952 is not set
-# CONFIG_POWER_RESET_RESTART is not set
-# CONFIG_POWER_RESET_SYSCON is not set
-# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
-CONFIG_POWER_RESET=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_POWER_SUPPLY=y
-CONFIG_PPC_64K_PAGES=y
-CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_PPC64=y
-# CONFIG_PPC_82xx is not set
-# CONFIG_PPC_83xx is not set
-# CONFIG_PPC_86xx is not set
-# CONFIG_PPC_CELL is not set
-CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y
-CONFIG_PPC_DENORMALISATION=y
-CONFIG_PPC_DISABLE_WERROR=y
-CONFIG_PPC_DT_CPU_FTRS=y
-# CONFIG_PPC_EARLY_DEBUG is not set
-CONFIG_PPC_EMULATED_STATS=y
-# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
-# CONFIG_PPC_IBM_CELL_BLADE is not set
-# CONFIG_PPC_ICSWX_PID is not set
-# CONFIG_PPC_ICSWX_USE_SIGILL is not set
-CONFIG_PPC_ICSWX=y
-# CONFIG_PPC_MAPLE is not set
-# CONFIG_PPC_MPC5200_LPBFIFO is not set
-CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
-# CONFIG_PPC_PASEMI is not set
-# CONFIG_PPC_PMAC64 is not set
-# CONFIG_PPC_PMAC is not set
-CONFIG_PPC_POWERNV=y
-# CONFIG_PPC_PS3 is not set
-CONFIG_PPC_PSERIES=y
-# CONFIG_PPC_PTDUMP is not set
-CONFIG_PPC_RADIX_MMU=y
-CONFIG_PPC_SMLPAR=y
-CONFIG_PPC_SPLPAR=y
-CONFIG_PPC_SUBPAGE_PROT=y
-CONFIG_PPC_TRANSACTIONAL_MEM=y
-CONFIG_PPC=y
-CONFIG_PPDEV=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPS_CLIENT_GPIO=m
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-# CONFIG_PPS_DEBUG is not set
-CONFIG_PPS_GENERATOR_PARPORT=m
-CONFIG_PPS=m
-CONFIG_PPTP=m
-# CONFIG_PREEMPT is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_PRINTER=m
-CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
-CONFIG_PRINTK_TIME=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_PRINT_STACK_DEPTH=64
-# CONFIG_PRISM2_USB is not set
-# CONFIG_PRISM54 is not set
-CONFIG_PROC_CHILDREN=y
-CONFIG_PROC_EVENTS=y
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_PROC_VMCORE=y
-CONFIG_PROFILING=y
-CONFIG_PROVE_LOCKING=y
-# CONFIG_PROVE_RCU_REPEATEDLY is not set
-CONFIG_PROVE_RCU=y
-# CONFIG_PS3_VRAM is not set
-CONFIG_PSAMPLE=m
-CONFIG_PSERIES_CPUIDLE=y
-CONFIG_PSERIES_ENERGY=m
-# CONFIG_PSTORE_CONSOLE is not set
-# CONFIG_PSTORE_FTRACE is not set
-# CONFIG_PSTORE_PMSG is not set
-CONFIG_PSTORE_RAM=m
-CONFIG_PSTORE=y
-CONFIG_PTP_1588_CLOCK=m
-CONFIG_PTP_1588_CLOCK_PCH=m
-# CONFIG_PWM_FSL_FTM is not set
-CONFIG_PWM_HIBVT=m
-# CONFIG_PWM_PCA9685 is not set
-CONFIG_PWM=y
-CONFIG_PWRSEQ_EMMC=m
-CONFIG_PWRSEQ_SD8787=m
-CONFIG_PWRSEQ_SIMPLE=m
-# CONFIG_QCA7000 is not set
-# CONFIG_QCA7000_SPI is not set
-# CONFIG_QCA7000_UART is not set
-# CONFIG_QCOM_EMAC is not set
-# CONFIG_QCOM_HIDMA is not set
-# CONFIG_QCOM_HIDMA_MGMT is not set
-CONFIG_QEDE=m
-CONFIG_QEDF=m
-CONFIG_QEDI=m
-CONFIG_QED=m
-CONFIG_QED_SRIOV=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC_DCB=y
-CONFIG_QLCNIC_HWMON=y
-CONFIG_QLCNIC=m
-CONFIG_QLCNIC_SRIOV=y
-CONFIG_QLGE=m
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX6FS_FS is not set
-CONFIG_QSEMI_PHY=m
-CONFIG_QTNFMAC_PEARL_PCIE=m
-CONFIG_QUOTACTL=y
-CONFIG_QUOTA_DEBUG=y
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-CONFIG_QUOTA=y
-CONFIG_R3964=m
-CONFIG_R6040=m
-CONFIG_R8169=m
-# CONFIG_R8188EU is not set
-CONFIG_R8712U=m
-CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_AZTECH=m
-CONFIG_RADIO_CADET=m
-CONFIG_RADIO_GEMTEK=m
-CONFIG_RADIO_MAXIRADIO=m
-# CONFIG_RADIO_MIROPCM20 is not set
-CONFIG_RADIO_RTRACK2=m
-CONFIG_RADIO_RTRACK=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_SF16FMI=m
-CONFIG_RADIO_SF16FMR2=m
-CONFIG_RADIO_SHARK2=m
-CONFIG_RADIO_SHARK=m
-CONFIG_RADIO_SI470X=y
-CONFIG_RADIO_SI4713=m
-CONFIG_RADIO_TEA5764=m
-# CONFIG_RADIO_TEF6862 is not set
-CONFIG_RADIO_TERRATEC=m
-CONFIG_RADIO_TRUST=m
-CONFIG_RADIO_TYPHOON=m
-CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_ZOLTRIX=m
-CONFIG_RAID_ATTRS=m
-# CONFIG_RANDOM32_SELFTEST is not set
-# CONFIG_RAPIDIO is not set
-CONFIG_RAS_CEC=y
-CONFIG_RAW_DRIVER=y
-# CONFIG_RBTREE_TEST is not set
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_RC_CORE=m
-CONFIG_RC_DECODERS=y
-CONFIG_RC_DEVICES=y
-CONFIG_RC_LOOPBACK=m
-CONFIG_RC_MAP=m
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_EQS_DEBUG is not set
-# CONFIG_RCU_EXPERT is not set
-CONFIG_RCU_FANOUT=64
-CONFIG_RCU_FANOUT_LEAF=16
-CONFIG_RCU_FAST_NO_HZ=y
-CONFIG_RCU_KTHREAD_PRIO=0
-CONFIG_RCU_NOCB_CPU_ALL=y
-CONFIG_RCU_NOCB_CPU=y
-# CONFIG_RCU_PERF_TEST is not set
-CONFIG_RCU_TORTURE_TEST=m
-# CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP is not set
-CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3
-# CONFIG_RCU_TORTURE_TEST_SLOW_INIT is not set
-# CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RD_BZIP2=y
-CONFIG_RD_GZIP=y
-CONFIG_RD_LZ4=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_LZO=y
-CONFIG_RDMA_RXE=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-CONFIG_RD_XZ=y
-# CONFIG_READABLE_ASM is not set
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_REALTEK_PHY=m
-CONFIG_REFCOUNT_FULL=y
-CONFIG_REGMAP_I2C=m
-CONFIG_REGMAP=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_REGULATOR_TPS65132 is not set
-CONFIG_REGULATOR_VCTRL=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_FS=m
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_RELAY=y
-# CONFIG_RELOCATABLE_TEST is not set
-CONFIG_RELOCATABLE=y
-CONFIG_REMOTEPROC=m
-# CONFIG_RESET_TI_SYSCON is not set
-# CONFIG_RFD_FTL is not set
-CONFIG_RFKILL_GPIO=m
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL=m
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_RING_BUFFER_STARTUP_TEST is not set
-# CONFIG_RIO is not set
-CONFIG_RMI4_CORE=m
-CONFIG_RMI4_F03=y
-CONFIG_RMI4_F11=y
-CONFIG_RMI4_F12=y
-CONFIG_RMI4_F30=y
-CONFIG_RMI4_F34=y
-# CONFIG_RMI4_F54 is not set
-CONFIG_RMI4_F55=y
-CONFIG_RMI4_I2C=m
-CONFIG_RMI4_SMB=m
-CONFIG_RMI4_SPI=m
-CONFIG_ROCKER=m
-CONFIG_ROCKETPORT=m
-CONFIG_ROMFS_FS=m
-CONFIG_ROSE=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_RPMSG_CHAR is not set
-# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
-CONFIG_RPR0521=m
-CONFIG_RSI_91X=m
-CONFIG_RSI_DEBUGFS=y
-CONFIG_RSI_SDIO=m
-CONFIG_RSI_USB=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT2500USB=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT3290=y
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT3573=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_RT55XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RT2X00_LIB_DEBUGFS=y
-CONFIG_RT2X00=m
-CONFIG_RT61PCI=m
-CONFIG_RT73USB=m
-CONFIG_RTAS_FLASH=y
-CONFIG_RTAS_PROC=y
-CONFIG_RTC_CLASS=y
-# CONFIG_RTC_DEBUG is not set
-# CONFIG_RTC_DRV_AB3100 is not set
-# CONFIG_RTC_DRV_ABB5ZES3 is not set
-CONFIG_RTC_DRV_ABX80X=m
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-# CONFIG_RTC_DRV_DS1302 is not set
-CONFIG_RTC_DRV_DS1305=m
-# CONFIG_RTC_DRV_DS1307_CENTURY is not set
-CONFIG_RTC_DRV_DS1307_HWMON=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1343=m
-CONFIG_RTC_DRV_DS1347=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1374_WDT=y
-CONFIG_RTC_DRV_DS1390=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS1685_FAMILY=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_DS2404=m
-# CONFIG_RTC_DRV_DS3232_HWMON is not set
-CONFIG_RTC_DRV_DS3232=m
-# CONFIG_RTC_DRV_EFI is not set
-CONFIG_RTC_DRV_EM3027=m
-# CONFIG_RTC_DRV_EP93XX is not set
-CONFIG_RTC_DRV_FM3130=m
-# CONFIG_RTC_DRV_FTRTC010 is not set
-CONFIG_RTC_DRV_GENERIC=y
-# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
-CONFIG_RTC_DRV_ISL12022=m
-# CONFIG_RTC_DRV_ISL12057 is not set
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_M41T93=m
-CONFIG_RTC_DRV_M41T94=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-# CONFIG_RTC_DRV_M48T86 is not set
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_MAX6902=m
-CONFIG_RTC_DRV_MAX6916=m
-CONFIG_RTC_DRV_MCP795=m
-# CONFIG_RTC_DRV_MOXART is not set
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_OPAL=m
-CONFIG_RTC_DRV_PCF2123=m
-CONFIG_RTC_DRV_PCF2127=m
-CONFIG_RTC_DRV_PCF50633=m
-CONFIG_RTC_DRV_PCF85063=m
-CONFIG_RTC_DRV_PCF8523=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_PM8XXX=m
-CONFIG_RTC_DRV_R7301=m
-CONFIG_RTC_DRV_R9701=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_RS5C348=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_RV3029_HWMON=y
-# CONFIG_RTC_DRV_RV8803 is not set
-CONFIG_RTC_DRV_RX4581=m
-# CONFIG_RTC_DRV_RX6110 is not set
-CONFIG_RTC_DRV_RX8010=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_RX8581=m
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_SA1100 is not set
-# CONFIG_RTC_DRV_SNVS is not set
-CONFIG_RTC_DRV_STK17TA8=m
-# CONFIG_RTC_DRV_TEST is not set
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_WM831X=m
-CONFIG_RTC_DRV_WM8350=m
-CONFIG_RTC_DRV_X1205=m
-# CONFIG_RTC_DRV_ZYNQMP is not set
-# CONFIG_RTC_DS1685_PROC_REGS is not set
-CONFIG_RTC_DS1685_SYSFS_REGS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-CONFIG_RTC_HCTOSYS=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_SYSFS=y
-# CONFIG_RTC is not set
-# CONFIG_RTC_NVMEM is not set
-# CONFIG_RTC_SYSTOHC is not set
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8188EE=m
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192EE=m
-CONFIG_RTL8192E=m
-CONFIG_RTL8192SE=m
-# CONFIG_RTL8192U is not set
-CONFIG_RTL8723AE=m
-CONFIG_RTL8723BE=m
-CONFIG_RTL8723BS=m
-CONFIG_RTL8821AE=m
-CONFIG_RTL8XXXU=m
-CONFIG_RTL8XXXU_UNTESTED=y
-CONFIG_RTL_CARDS=m
-CONFIG_RTLLIB_CRYPTO_CCMP=m
-CONFIG_RTLLIB_CRYPTO_TKIP=m
-CONFIG_RTLLIB_CRYPTO_WEP=m
-CONFIG_RTLLIB=m
-# CONFIG_RTLWIFI_DEBUG is not set
-CONFIG_RTLWIFI=m
-# CONFIG_RTS5208 is not set
-CONFIG_S2IO=m
-# CONFIG_SAMPLES is not set
-# CONFIG_SAMSUNG_USBPHY is not set
-CONFIG_SATA_ACARD_AHCI=m
-CONFIG_SATA_AHCI_PLATFORM=m
-CONFIG_SATA_AHCI=y
-# CONFIG_SATA_DWC is not set
-# CONFIG_SATA_HIGHBANK is not set
-CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MV=m
-CONFIG_SATA_NV=m
-CONFIG_SATA_PMP=y
-CONFIG_SATA_PROMISE=m
-CONFIG_SATA_QSTOR=m
-CONFIG_SATA_SIL24=m
-CONFIG_SATA_SIL=m
-CONFIG_SATA_SIS=m
-CONFIG_SATA_SVW=m
-CONFIG_SATA_SX4=m
-CONFIG_SATA_ULI=m
-CONFIG_SATA_VIA=m
-CONFIG_SATA_VITESSE=m
-# CONFIG_SATA_ZPODD is not set
-# CONFIG_SBC7240_WDT is not set
-# CONFIG_SBC8360_WDT is not set
-# CONFIG_SBC_EPX_C3_WATCHDOG is not set
-CONFIG_SBP_TARGET=m
-# CONFIG_SC1200_WDT is not set
-# CONFIG_SC520_WDT is not set
-CONFIG_SC92031=m
-# CONFIG_SCA3000 is not set
-CONFIG_SCANLOG=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHED_MC_PRIO is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_SCHED_SMT=y
-# CONFIG_SCHED_STACK_END_CHECK is not set
-CONFIG_SCHEDSTATS=y
-CONFIG_SCHED_TRACER=y
-CONFIG_SCOM_DEBUGFS=y
-# CONFIG_SCR24X is not set
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_ACARD=m
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_AHA1542 is not set
-CONFIG_SCSI_AIC79XX=m
-CONFIG_SCSI_AIC7XXX=m
-# CONFIG_SCSI_AIC94XX is not set
-CONFIG_SCSI_AM53C974=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-# CONFIG_SCSI_BUSLOGIC is not set
-CONFIG_SCSI_CHELSIO_FCOE=m
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH=y
-CONFIG_SCSI_DMX3191D=m
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_ESAS2R=m
-CONFIG_SCSI_FC_ATTRS=m
-CONFIG_SCSI_FLASHPOINT=y
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-CONFIG_SCSI_GDTH=m
-# CONFIG_SCSI_HISI_SAS is not set
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_IBMVFC=m
-# CONFIG_SCSI_IBMVFC_TRACE is not set
-CONFIG_SCSI_IBMVSCSI=m
-CONFIG_SCSI_IBMVSCSIS=m
-# CONFIG_SCSI_IMM is not set
-# CONFIG_SCSI_IN2000 is not set
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_IPR_DUMP=y
-CONFIG_SCSI_IPR=m
-CONFIG_SCSI_IPR_TRACE=y
-# CONFIG_SCSI_IPS is not set
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_ISCSI_ATTRS=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_LOGGING=y
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_LPFC=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-CONFIG_SCSI_MPT3SAS=m
-CONFIG_SCSI_MPT3SAS_MAX_SGE=128
-# CONFIG_SCSI_MQ_DEFAULT is not set
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
-CONFIG_SCSI_MVSAS_TASKLET=y
-CONFIG_SCSI_MVUMI=m
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_PMCRAID=m
-# CONFIG_SCSI_PPA is not set
-CONFIG_SCSI_PROC_FS=y
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_ATTRS=m
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SAS_LIBSAS=m
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_SCSI_SMARTPQI=m
-# CONFIG_SCSI_SNIC_DEBUG_FS is not set
-CONFIG_SCSI_SNIC=m
-CONFIG_SCSI_SPI_ATTRS=m
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP=m
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
-CONFIG_SCSI_UFSHCD=m
-CONFIG_SCSI_UFSHCD_PCI=m
-# CONFIG_SCSI_UFSHCD_PLATFORM is not set
-CONFIG_SCSI_VIRTIO=m
-CONFIG_SCSI_WD719X=m
-CONFIG_SCSI=y
-CONFIG_SCTP_COOKIE_HMAC_MD5=y
-CONFIG_SCTP_COOKIE_HMAC_SHA1=y
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# 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_SDIO_UART=m
-CONFIG_SECCOMP=y
-CONFIG_SECONDARY_TRUSTED_KEYRING=y
-CONFIG_SECTION_MISMATCH_WARN_ONLY=y
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_INFINIBAND=y
-# CONFIG_SECURITY_LOADPIN is not set
-CONFIG_SECURITY_NETWORK_XFRM=y
-CONFIG_SECURITY_NETWORK=y
-# CONFIG_SECURITY_PATH is not set
-CONFIG_SECURITY_SELINUX_AVC_STATS=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
-CONFIG_SECURITY_SELINUX_BOOTPARAM=y
-CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
-CONFIG_SECURITY_SELINUX_DEVELOP=y
-CONFIG_SECURITY_SELINUX_DISABLE=y
-# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
-CONFIG_SECURITY_SELINUX=y
-# CONFIG_SECURITY_SMACK is not set
-# CONFIG_SECURITY_TOMOYO is not set
-CONFIG_SECURITY=y
-CONFIG_SECURITY_YAMA=y
-CONFIG_SENSORS_AD7314=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADC128D818=m
-CONFIG_SENSORS_ADCXX=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_ADM9240=m
-# CONFIG_SENSORS_ADS1015 is not set
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_ADS7871=m
-CONFIG_SENSORS_ADT7310=m
-CONFIG_SENSORS_ADT7410=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_ASPEED=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_EMC1403=m
-# CONFIG_SENSORS_EMC2103 is not set
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FTSTEUTATES=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_G762=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-# CONFIG_SENSORS_GPIO_FAN is not set
-CONFIG_SENSORS_HDAPS=m
-# CONFIG_SENSORS_HIH6130 is not set
-# CONFIG_SENSORS_HMC5843_I2C is not set
-# CONFIG_SENSORS_HMC5843 is not set
-# CONFIG_SENSORS_HMC5843_SPI is not set
-# CONFIG_SENSORS_I5K_AMB is not set
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IBMPOWERNV=y
-# CONFIG_SENSORS_IIO_HWMON is not set
-CONFIG_SENSORS_INA209=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-# CONFIG_SENSORS_IR35221 is not set
-# CONFIG_SENSORS_ISL29018 is not set
-# CONFIG_SENSORS_ISL29028 is not set
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LIS3_I2C=m
-CONFIG_SENSORS_LIS3LV02D=m
-# CONFIG_SENSORS_LIS3_SPI is not set
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM70=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LM95234=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_LTC2945=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_LTC2990=m
-CONFIG_SENSORS_LTC3815=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4222=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4260=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_MAX1111=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX197=m
-CONFIG_SENSORS_MAX20751=m
-CONFIG_SENSORS_MAX31722=m
-CONFIG_SENSORS_MAX31790=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_MAX6697=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_MCP3021=m
-CONFIG_SENSORS_NCT6683=m
-CONFIG_SENSORS_NCT6775=m
-CONFIG_SENSORS_NCT7802=m
-CONFIG_SENSORS_NCT7904=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_POWR1220=m
-CONFIG_SENSORS_PWM_FAN=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SHT3x=m
-CONFIG_SENSORS_SHTC1=m
-CONFIG_SENSORS_SIS5595=m
-# CONFIG_SENSORS_SMM665 is not set
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47M1=m
-# CONFIG_SENSORS_STTS751 is not set
-CONFIG_SENSORS_TC654=m
-CONFIG_SENSORS_TC74=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP103=m
-CONFIG_SENSORS_TMP108=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_TPS40422=m
-CONFIG_SENSORS_TSL2550=m
-# CONFIG_SENSORS_TSL2563 is not set
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83795=m
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_WM831X=m
-CONFIG_SENSORS_WM8350=m
-# CONFIG_SENSORS_XGENE is not set
-CONFIG_SENSORS_ZL6100=m
-# CONFIG_SERIAL_8250_ASPEED_VUART is not set
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_CS=m
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-CONFIG_SERIAL_8250_DW=y
-CONFIG_SERIAL_8250_EXAR=m
-CONFIG_SERIAL_8250_EXTENDED=y
-# CONFIG_SERIAL_8250_FINTEK is not set
-# CONFIG_SERIAL_8250_INGENIC is not set
-# CONFIG_SERIAL_8250 is not set
-CONFIG_SERIAL_8250_MANY_PORTS=y
-# CONFIG_SERIAL_8250_MID is not set
-CONFIG_SERIAL_8250_MOXA=m
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_RSA=y
-CONFIG_SERIAL_8250_RT288X=y
-CONFIG_SERIAL_8250_RUNTIME_UARTS=32
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_SERIAL_ARC=m
-CONFIG_SERIAL_ARC_NR_PORTS=1
-# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_CORE=m
-# CONFIG_SERIAL_CPM is not set
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
-# CONFIG_SERIAL_FSL_LPUART is not set
-CONFIG_SERIAL_ICOM=m
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_SERIAL_JSM=m
-# CONFIG_SERIAL_KGDB_NMI is not set
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX310X is not set
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_SERIAL_OF_PLATFORM=m
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_QE is not set
-# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_ST_ASC is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_UARTLITE is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-CONFIG_SERIO_ALTERA_PS2=m
-# CONFIG_SERIO_APBPS2 is not set
-CONFIG_SERIO_ARC_PS2=m
-# CONFIG_SERIO_CT82C710 is not set
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_OLPC_APSP is not set
-# CONFIG_SERIO_PARKBD is not set
-# CONFIG_SERIO_PCIPS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_XILINX_XPS_PS2 is not set
-CONFIG_SERIO=y
-CONFIG_SFC_FALCON=m
-CONFIG_SFC_FALCON_MTD=y
-# CONFIG_SFC is not set
-# CONFIG_SGI_IOC4 is not set
-CONFIG_SGI_PARTITION=y
-CONFIG_SH_ETH=m
-# CONFIG_SI1145 is not set
-# CONFIG_SI7005 is not set
-# CONFIG_SI7020 is not set
-# CONFIG_SIGMA is not set
-CONFIG_SIGMATEL_FIR=m
-CONFIG_SIGNED_PE_FILE_VERIFICATION=y
-CONFIG_SIMPLE_GPIO=y
-# CONFIG_SIMPLE_PM_BUS is not set
-CONFIG_SIS190=m
-CONFIG_SIS900=m
-# CONFIG_SKFP is not set
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKGE=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_SKY2=m
-CONFIG_SLAB_FREELIST_RANDOM=y
-CONFIG_SLAB_MERGE_DEFAULT=y
-# CONFIG_SLICOSS is not set
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP=m
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_SLIP_SMART=y
-CONFIG_SLUB_CPU_PARTIAL=y
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-CONFIG_SLUB=y
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_SMC_IRCC_FIR=m
-# CONFIG_SMC is not set
-# CONFIG_SM_FTL is not set
-CONFIG_SMP=y
-CONFIG_SMSC911X=m
-CONFIG_SMSC9420=m
-CONFIG_SMSC_PHY=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMS_SDIO_DRV=m
-# CONFIG_SMS_SIANO_DEBUGFS is not set
-CONFIG_SMS_SIANO_MDTV=m
-CONFIG_SMS_SIANO_RC=y
-CONFIG_SMS_USB_DRV=m
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-# CONFIG_SND_ATMEL_SOC is not set
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-# CONFIG_SND_AUDIO_GRAPH_CARD is not set
-# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set
-# CONFIG_SND_AW2 is not set
-CONFIG_SND_AZT3328=m
-# CONFIG_SND_BCD2000 is not set
-CONFIG_SND_BEBOB=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_COMPRESS_OFFLOAD=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_DARLA24=m
-# CONFIG_SND_DEBUG_VERBOSE is not set
-CONFIG_SND_DEBUG=y
-CONFIG_SND_DESIGNWARE_I2S=m
-CONFIG_SND_DESIGNWARE_PCM=y
-CONFIG_SND_DICE=m
-CONFIG_SND_DMAENGINE_PCM=m
-CONFIG_SND_DRIVERS=y
-CONFIG_SND_DUMMY=m
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_ECHO3G=m
-# CONFIG_SND_EDMA_SOC is not set
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FIREFACE=m
-CONFIG_SND_FIREWIRE_DIGI00X=m
-CONFIG_SND_FIREWIRE_MOTU=m
-CONFIG_SND_FIREWIRE_TASCAM=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWORKS=m
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_GINA20=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_HDA_CODEC_ANALOG=m
-CONFIG_SND_HDA_CODEC_CA0110=m
-CONFIG_SND_HDA_CODEC_CA0132_DSP=y
-CONFIG_SND_HDA_CODEC_CA0132=m
-CONFIG_SND_HDA_CODEC_CIRRUS=m
-CONFIG_SND_HDA_CODEC_CMEDIA=m
-CONFIG_SND_HDA_CODEC_CONEXANT=m
-CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_HDA_CODEC_REALTEK=m
-CONFIG_SND_HDA_CODEC_SI3054=m
-CONFIG_SND_HDA_CODEC_SIGMATEL=m
-CONFIG_SND_HDA_CODEC_VIA=m
-CONFIG_SND_HDA_GENERIC=m
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_I915=y
-CONFIG_SND_HDA_INPUT_BEEP_MODE=0
-CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL is not set
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
-CONFIG_SND_HDA_POWER_SAVE=y
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
-CONFIG_SND_HDA_RECONFIG=y
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_I2S_HI6210_I2S=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGO=m
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_JACK=y
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAX_CARDS=32
-CONFIG_SND_MIA=m
-CONFIG_SND_MIXART=m
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_NM256=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_OXFW=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_PCI=y
-# CONFIG_SND_PCMCIA is not set
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_PCM_XRUN_DEBUG=y
-CONFIG_SND_PCSP=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_PPC=y
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_RME96=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQUENCER_OSS=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_SIMPLE_CARD=m
-CONFIG_SND_SIMPLE_CARD_UTILS=m
-CONFIG_SND_SIMPLE_SCU_CARD=m
-CONFIG_SND_SIS7019=m
-# CONFIG_SND_SOC_ADAU1701 is not set
-CONFIG_SND_SOC_ADAU1761_I2C=m
-CONFIG_SND_SOC_ADAU1761_SPI=m
-# CONFIG_SND_SOC_ADAU7002 is not set
-# CONFIG_SND_SOC_AK4104 is not set
-# CONFIG_SND_SOC_AK4554 is not set
-# CONFIG_SND_SOC_AK4613 is not set
-# CONFIG_SND_SOC_AK4642 is not set
-# CONFIG_SND_SOC_AK5386 is not set
-# CONFIG_SND_SOC_ALC5623 is not set
-CONFIG_SND_SOC_ALL_CODECS=m
-CONFIG_SND_SOC_AMD_ACP=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
-# CONFIG_SND_SOC_BT_SCO is not set
-# CONFIG_SND_SOC_CS35L32 is not set
-# CONFIG_SND_SOC_CS35L33 is not set
-CONFIG_SND_SOC_CS35L34=m
-CONFIG_SND_SOC_CS35L35=m
-# CONFIG_SND_SOC_CS4265 is not set
-# CONFIG_SND_SOC_CS4270 is not set
-# CONFIG_SND_SOC_CS4271_I2C is not set
-# CONFIG_SND_SOC_CS4271 is not set
-# CONFIG_SND_SOC_CS4271_SPI is not set
-CONFIG_SND_SOC_CS42L42=m
-# CONFIG_SND_SOC_CS42L51_I2C is not set
-# CONFIG_SND_SOC_CS42L52 is not set
-# CONFIG_SND_SOC_CS42L56 is not set
-# CONFIG_SND_SOC_CS42L73 is not set
-# CONFIG_SND_SOC_CS42XX8_I2C is not set
-# CONFIG_SND_SOC_CS4349 is not set
-# CONFIG_SND_SOC_CS53L30 is not set
-CONFIG_SND_SOC_DIO2125=m
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_ES7134=m
-# CONFIG_SND_SOC_ES8316 is not set
-# CONFIG_SND_SOC_ES8328 is not set
-# CONFIG_SND_SOC_FSL_ASOC_CARD is not set
-# CONFIG_SND_SOC_FSL_ASRC is not set
-# CONFIG_SND_SOC_FSL_ESAI is not set
-# CONFIG_SND_SOC_FSL_SAI is not set
-# CONFIG_SND_SOC_FSL_SPDIF is not set
-# CONFIG_SND_SOC_FSL_SSI is not set
-CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
-# CONFIG_SND_SOC_GTM601 is not set
-CONFIG_SND_SOC_HDAC_HDMI=m
-CONFIG_SND_SOC_HDMI_CODEC=m
-# CONFIG_SND_SOC_IMG is not set
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
-# CONFIG_SND_SOC_IMX_ES8328 is not set
-# CONFIG_SND_SOC_INNO_RK3036 is not set
-# CONFIG_SND_SOC is not set
-# CONFIG_SND_SOC_MAX98504 is not set
-# CONFIG_SND_SOC_MAX9860 is not set
-CONFIG_SND_SOC_MAX98927=m
-# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
-# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
-# CONFIG_SND_SOC_NAU8540 is not set
-# CONFIG_SND_SOC_NAU8810 is not set
-CONFIG_SND_SOC_NAU8824=m
-# CONFIG_SND_SOC_PCM1681 is not set
-# CONFIG_SND_SOC_PCM179X_I2C is not set
-# CONFIG_SND_SOC_PCM179X is not set
-# CONFIG_SND_SOC_PCM179X_SPI is not set
-# CONFIG_SND_SOC_PCM3168A_I2C is not set
-# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
-# CONFIG_SND_SOC_PCM512x_SPI is not set
-# CONFIG_SND_SOC_RT5616 is not set
-# CONFIG_SND_SOC_RT5631 is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
-# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
-CONFIG_SND_SOC_SPDIF=m
-# CONFIG_SND_SOC_SSM2602_I2C is not set
-# CONFIG_SND_SOC_SSM2602_SPI is not set
-# CONFIG_SND_SOC_SSM4567 is not set
-# CONFIG_SND_SOC_STA32X is not set
-# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_STI_SAS is not set
-# CONFIG_SND_SOC_TAS2552 is not set
-# CONFIG_SND_SOC_TAS5086 is not set
-# CONFIG_SND_SOC_TAS571X is not set
-# CONFIG_SND_SOC_TAS5720 is not set
-# CONFIG_SND_SOC_TFA9879 is not set
-# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
-# CONFIG_SND_SOC_TLV320AIC3X is not set
-# CONFIG_SND_SOC_TPA6130A2 is not set
-# CONFIG_SND_SOC_TS3A227E is not set
-# CONFIG_SND_SOC_WM8510 is not set
-# CONFIG_SND_SOC_WM8523 is not set
-# CONFIG_SND_SOC_WM8580 is not set
-# CONFIG_SND_SOC_WM8711 is not set
-# CONFIG_SND_SOC_WM8728 is not set
-# CONFIG_SND_SOC_WM8731 is not set
-# CONFIG_SND_SOC_WM8737 is not set
-# CONFIG_SND_SOC_WM8741 is not set
-# CONFIG_SND_SOC_WM8750 is not set
-# CONFIG_SND_SOC_WM8753 is not set
-# CONFIG_SND_SOC_WM8770 is not set
-# CONFIG_SND_SOC_WM8776 is not set
-# CONFIG_SND_SOC_WM8804_I2C is not set
-# CONFIG_SND_SOC_WM8804 is not set
-# CONFIG_SND_SOC_WM8804_SPI is not set
-# CONFIG_SND_SOC_WM8903 is not set
-# CONFIG_SND_SOC_WM8960 is not set
-# CONFIG_SND_SOC_WM8962 is not set
-# CONFIG_SND_SOC_WM8974 is not set
-# CONFIG_SND_SOC_WM8978 is not set
-# CONFIG_SND_SOC_WM8985 is not set
-# CONFIG_SND_SOC_XTFPGA_I2S is not set
-# CONFIG_SND_SOC_ZX_AUD96P22 is not set
-CONFIG_SND_SONICVIBES=m
-# CONFIG_SND_SPI is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_HIFACE=m
-CONFIG_SND_USB_PODHD=m
-CONFIG_SND_USB_POD=m
-CONFIG_SND_USB_TONEPORT=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_VARIAX=m
-CONFIG_SND_USB=y
-CONFIG_SND_VERBOSE_PRINTK=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-# CONFIG_SOC_CAMERA is not set
-# CONFIG_SOC_TI is not set
-# CONFIG_SOC_ZTE is not set
-CONFIG_SOFTLOCKUP_DETECTOR=y
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_SOLARIS_X86_PARTITION=y
-# CONFIG_SOLO6X10 is not set
-CONFIG_SONY_FF=y
-# CONFIG_SONYPI is not set
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_SPAPR_TCE_IOMMU=y
-CONFIG_SPARSE_IRQ=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_SPARSE_RCU_POINTER=y
-# CONFIG_SPEAKUP is not set
-# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_AXI_SPI_ENGINE is not set
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_BUTTERFLY is not set
-# CONFIG_SPI_DEBUG is not set
-# CONFIG_SPI_DESIGNWARE is not set
-CONFIG_SPI_FSL_LPSPI=m
-# CONFIG_SPI_FSL_SPI is not set
-# CONFIG_SPI_GPIO is not set
-# CONFIG_SPI is not set
-# CONFIG_SPI_LM70_LLP is not set
-# CONFIG_SPI_LOOPBACK_TEST is not set
-# CONFIG_SPI_OC_TINY is not set
-# CONFIG_SPI_PXA2XX is not set
-# CONFIG_SPI_ROCKCHIP is not set
-# CONFIG_SPI_SC18IS602 is not set
-# CONFIG_SPI_SLAVE is not set
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-# CONFIG_SPI_TOPCLIFF_PCH is not set
-# CONFIG_SPI_XCOMM is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPMI is not set
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_LZ4=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_XZ=y
-CONFIG_SQUASHFS_ZLIB=y
-# CONFIG_SRAM is not set
-# CONFIG_SRF04 is not set
-# CONFIG_SRF08 is not set
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_GPIO=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_SSB_HOST_SOC=y
-CONFIG_SSB=m
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSFDC is not set
-CONFIG_STACK_TRACER=y
-CONFIG_STACK_VALIDATION=y
-# CONFIG_STAGING_BOARD is not set
-CONFIG_STAGING_MEDIA=y
-CONFIG_STAGING=y
-CONFIG_STANDALONE=y
-# CONFIG_STATIC_KEYS_SELFTEST is not set
-# CONFIG_STATIC_USERMODEHELPER is not set
-CONFIG_STE10XP=m
-# CONFIG_STE_MODEM_RPROC is not set
-CONFIG_STK3310=m
-# CONFIG_STK8312 is not set
-# CONFIG_STK8BA50 is not set
-# CONFIG_STM_DUMMY is not set
-# CONFIG_STM is not set
-CONFIG_STMMAC_ETH=m
-# CONFIG_STMMAC_PCI is not set
-# CONFIG_STMMAC_PLATFORM is not set
-# CONFIG_STM_SOURCE_CONSOLE is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_STRIP_ASM_SYMS=y
-# CONFIG_STRIP is not set
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_SUNGEM=m
-CONFIG_SUN_PARTITION=y
-CONFIG_SUNRPC_DEBUG=y
-CONFIG_SUNRPC_GSS=m
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_SURFACE_3_BUTTON=m
-CONFIG_SURFACE3_WMI=m
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_SUSPEND=y
-CONFIG_SWAP=y
-# CONFIG_SWIOTLB is not set
-# CONFIG_SW_SYNC is not set
-# CONFIG_SX9500 is not set
-CONFIG_SYNC_FILE=y
-# CONFIG_SYNCLINK_CS is not set
-CONFIG_SYNCLINK_GT=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYN_COOKIES=y
-# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
-CONFIG_SYSCTL=y
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
-CONFIG_SYSTEM_BLACKLIST_KEYRING=y
-# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
-# CONFIG_SYSTEMPORT is not set
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
-CONFIG_SYSTEM_TRUSTED_KEYS=""
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_SYSV_FS=m
-CONFIG_SYSVIPC=y
-# CONFIG_T5403 is not set
-CONFIG_TABLET_SERIAL_WACOM4=m
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_PEGASUS=m
-CONFIG_TARGET_CORE=m
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_TASKS_RCU=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_XACCT=y
-CONFIG_TCG_ATMEL=m
-CONFIG_TCG_CRB=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TCG_NSC=m
-# CONFIG_TCG_TIS_I2C_ATMEL is not set
-# CONFIG_TCG_TIS_I2C_INFINEON is not set
-# CONFIG_TCG_TIS_I2C_NUVOTON is not set
-CONFIG_TCG_TIS=m
-# CONFIG_TCG_TIS_SPI is not set
-# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
-# CONFIG_TCG_TIS_ST33ZP24 is not set
-# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TCG_VTPM_PROXY is not set
-# CONFIG_TCG_XEN is not set
-CONFIG_TCM_FC=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_PSCSI=m
-# CONFIG_TCM_QLA2XXX_DEBUG is not set
-CONFIG_TCM_QLA2XXX=m
-CONFIG_TCM_USER2=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BBR=m
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CDG=m
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_TCP_CONG_DCTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_ILLINOIS=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_NV=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_MD5SIG=y
-# CONFIG_TCS3414 is not set
-# CONFIG_TCS3472 is not set
-# CONFIG_TEE is not set
-CONFIG_TEHUTI=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TELCLOCK=m
-CONFIG_TERANETICS_PHY=m
-CONFIG_TEST_ASYNC_DRIVER_PROBE=m
-# CONFIG_TEST_BITMAP is not set
-# CONFIG_TEST_BPF is not set
-# CONFIG_TEST_FIRMWARE is not set
-# CONFIG_TEST_HASH is not set
-# CONFIG_TEST_HEXDUMP is not set
-# CONFIG_TEST_KMOD is not set
-CONFIG_TEST_KSTRTOX=y
-CONFIG_TEST_LIST_SORT=y
-# CONFIG_TEST_LKM is not set
-# CONFIG_TEST_PARMAN is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_TEST_PRINTF is not set
-# CONFIG_TEST_RHASHTABLE is not set
-# CONFIG_TEST_SORT is not set
-# CONFIG_TEST_STATIC_KEYS is not set
-# CONFIG_TEST_STRING_HELPERS is not set
-# CONFIG_TEST_SYSCTL is not set
-# CONFIG_TEST_UDELAY is not set
-# CONFIG_TEST_USER_COPY is not set
-# CONFIG_TEST_UUID is not set
-# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
-# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
-CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
-# CONFIG_THERMAL_EMULATION is not set
-# CONFIG_THERMAL_GOV_BANG_BANG is not set
-CONFIG_THERMAL_GOV_FAIR_SHARE=y
-# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
-CONFIG_THERMAL_GOV_STEP_WISE=y
-# CONFIG_THERMAL_GOV_USER_SPACE is not set
-CONFIG_THERMAL_HWMON=y
-# CONFIG_THERMAL_OF is not set
-# 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
-# CONFIG_TI_ADC108S102 is not set
-# CONFIG_TI_ADC12138 is not set
-# CONFIG_TI_ADC128S052 is not set
-# CONFIG_TI_ADC161S626 is not set
-CONFIG_TI_ADS1015=m
-# CONFIG_TI_ADS7950 is not set
-# CONFIG_TI_ADS8688 is not set
-# CONFIG_TI_CPSW_ALE is not set
-# CONFIG_TI_DAC7512 is not set
-CONFIG_TIFM_7XX1=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIGON3_HWMON=y
-CONFIG_TIGON3=m
-# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_MEDIA_IB is not set
-CONFIG_TIPC_MEDIA_UDP=y
-CONFIG_TI_SCI_PROTOCOL=m
-# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
-# CONFIG_TI_TLC4541 is not set
-CONFIG_TLAN=m
-CONFIG_TLS=m
-# CONFIG_TMD_HERMES is not set
-# CONFIG_TMP006 is not set
-# CONFIG_TMP007 is not set
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-CONFIG_TMPFS=y
-CONFIG_TOIM3232_DONGLE=m
-# CONFIG_TOSHIBA_FIR is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
-# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
-# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_EDT_FT5X06=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_EGALAX=m
-CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m
-# CONFIG_TOUCHSCREEN_EKTF2127 is not set
-CONFIG_TOUCHSCREEN_ELAN=m
-CONFIG_TOUCHSCREEN_ELO=m
-# CONFIG_TOUCHSCREEN_FT6236 is not set
-CONFIG_TOUCHSCREEN_FUJITSU=m
-# CONFIG_TOUCHSCREEN_GOODIX is not set
-CONFIG_TOUCHSCREEN_GUNZE=m
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-CONFIG_TOUCHSCREEN_ILI210X=m
-# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
-CONFIG_TOUCHSCREEN_INEXIO=m
-# CONFIG_TOUCHSCREEN_MAX11801 is not set
-CONFIG_TOUCHSCREEN_MCS5000=m
-# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_MMS114=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_PIXCIR=m
-CONFIG_TOUCHSCREEN_RM_TS=m
-# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
-CONFIG_TOUCHSCREEN_SILEAD=m
-CONFIG_TOUCHSCREEN_SIS_I2C=m
-CONFIG_TOUCHSCREEN_ST1232=m
-# CONFIG_TOUCHSCREEN_STMFTS is not set
-# CONFIG_TOUCHSCREEN_SUR40 is not set
-# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
-# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-CONFIG_TOUCHSCREEN_TS4800=m
-# CONFIG_TOUCHSCREEN_TSC2004 is not set
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-CONFIG_TOUCHSCREEN_TSC2007_IIO=y
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_W90X900=m
-CONFIG_TOUCHSCREEN_WACOM_I2C=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
-# CONFIG_TOUCHSCREEN_WM97XX is not set
-CONFIG_TOUCHSCREEN_ZET6223=m
-CONFIG_TOUCHSCREEN_ZFORCE=m
-# CONFIG_TPL0102 is not set
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TRACE_BRANCH_PROFILING is not set
-# CONFIG_TRACE_ENUM_MAP_FILE is not set
-CONFIG_TRACE_EVAL_MAP_FILE=y
-# CONFIG_TRACEPOINT_BENCHMARK is not set
-# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
-CONFIG_TRACER_SNAPSHOT=y
-# CONFIG_TRACE_SINK is not set
-# CONFIG_TRACING_EVENTS_GPIO is not set
-CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-# CONFIG_TR is not set
-CONFIG_TRUSTED_KEYS=m
-# CONFIG_TS4800_IRQ is not set
-# CONFIG_TS4800_WATCHDOG is not set
-# CONFIG_TSL2583 is not set
-# CONFIG_TSL2x7x is not set
-# CONFIG_TSL4531 is not set
-# CONFIG_TSYS01 is not set
-# CONFIG_TSYS02D is not set
-CONFIG_TULIP=m
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_MWI is not set
-# CONFIG_TULIP_NAPI is not set
-CONFIG_TUN=m
-# CONFIG_TUN_VNET_CROSS_LE is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_TWL6040_CORE is not set
-CONFIG_TYPEC_FUSB302=m
-CONFIG_TYPEC_TCPCI=m
-CONFIG_TYPEC_TCPM=m
-CONFIG_TYPEC_UCSI=m
-CONFIG_TYPEC_WCOVE=m
-CONFIG_TYPHOON=m
-CONFIG_UBIFS_ATIME_SUPPORT=y
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-CONFIG_UBIFS_FS_ENCRYPTION=y
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_SECURITY=y
-# CONFIG_UBSAN_ALIGNMENT is not set
-# CONFIG_UBSAN is not set
-# CONFIG_UBSAN_SANITIZE_ALL is not set
-# CONFIG_UCB1400_CORE is not set
-# CONFIG_UCC_GETH is not set
-CONFIG_UCSI_ACPI=m
-CONFIG_UCSI=m
-# CONFIG_UDBG_RTAS_CONSOLE is not set
-CONFIG_UDF_FS=m
-# CONFIG_UEVENT_HELPER is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-CONFIG_UHID=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_CIF=m
-# CONFIG_UIO_DMEM_GENIRQ is not set
-CONFIG_UIO_HV_GENERIC=m
-CONFIG_UIO=m
-# CONFIG_UIO_MF624 is not set
-# CONFIG_UIO_NETX is not set
-CONFIG_UIO_PCI_GENERIC=m
-# CONFIG_UIO_PDRV_GENIRQ is not set
-# CONFIG_UIO_PDRV is not set
-# CONFIG_UIO_PRUSS is not set
-CONFIG_UIO_SERCOS3=m
-CONFIG_ULI526X=m
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_UNISYSSPAR is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX_DIAG=m
-CONFIG_UNIXWARE_DISKLABEL=y
-CONFIG_UNIX=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENTS=y
-# CONFIG_US5182D is not set
-CONFIG_USB_ACM=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_ATMEL=m
-CONFIG_USB_ATM=m
-CONFIG_USB_BELKIN=y
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_CATC=m
-CONFIG_USB_CDC_PHONET=m
-CONFIG_USB_CHAOSKEY=m
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_CHIPIDEA_ULPI is not set
-# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
-CONFIG_USB_CXACRU=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_DEFAULT_PERSIST=y
-CONFIG_USB_DSBR=m
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_DWC3 is not set
-# CONFIG_USB_DWC3_OF_SIMPLE is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_EHCI_HCD_PLATFORM is not set
-CONFIG_USB_EHCI_HCD_PPC_OF=y
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_MV is not set
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-# CONFIG_USB_EHSET_TEST_FIXTURE is not set
-CONFIG_USB_EMI26=m
-CONFIG_USB_EMI62=m
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_EZUSB_FX2=m
-CONFIG_USB_EZUSB=y
-# CONFIG_USB_FHCI_HCD is not set
-# CONFIG_USB_FOTG210_HCD is not set
-CONFIG_USB_FTDI_ELAN=m
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_GADGET is not set
-CONFIG_USB_GL860=m
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_USB_GR_UDC is not set
-CONFIG_USB_G_SERIAL=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_DTCS033=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_JL2005BCD=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STK1135=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TOUPTEK=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-# CONFIG_USB_HCD_BCMA is not set
-# CONFIG_USB_HCD_SSB is not set
-# CONFIG_USB_HCD_TEST_MODE is not set
-CONFIG_USB_HIDDEV=y
-CONFIG_USB_HID=y
-CONFIG_USB_HSIC_USB3503=m
-CONFIG_USB_HSIC_USB4604=m
-CONFIG_USB_HSO=m
-CONFIG_USB_HUB_USB251XB=m
-CONFIG_USB_HWA_HCD=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USBIP_CORE=m
-# CONFIG_USBIP_DEBUG is not set
-CONFIG_USB_IPHETH=m
-CONFIG_USBIP_HOST=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_VHCI_HC_PORTS=8
-CONFIG_USBIP_VHCI_NR_HCS=1
-CONFIG_USBIP_VUDC=m
-CONFIG_USB_IRDA=m
-CONFIG_USB_ISIGHTFW=m
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1301 is not set
-CONFIG_USB_ISP1362_HCD=m
-# CONFIG_USB_ISP1760 is not set
-CONFIG_USB_KAWETH=m
-CONFIG_USB_KC2190=y
-CONFIG_USB_KEENE=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LD=m
-CONFIG_USB_LED=m
-CONFIG_USB_LEDS_TRIGGER_USBPORT=m
-CONFIG_USB_LED_TRIG=y
-CONFIG_USB_LEGOTOWER=m
-# CONFIG_USB_LINK_LAYER_TEST is not set
-CONFIG_USB_M5602=m
-CONFIG_USB_MA901=m
-# CONFIG_USB_MAX3421_HCD is not set
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-CONFIG_USB_MON=y
-CONFIG_USB_MR800=m
-# CONFIG_USB_MUSB_HDRC is not set
-CONFIG_USB_NET_AX88179_178A=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_MBIM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_NET_CH9200=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_DRIVERS=y
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_HUAWEI_CDC_NCM=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_SR9700=m
-# CONFIG_USB_NET_SR9800 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_OHCI_HCD_PCI=y
-# CONFIG_USB_OHCI_HCD_PLATFORM is not set
-CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
-CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
-CONFIG_USB_OHCI_HCD_PPC_OF=y
-# CONFIG_USB_OHCI_HCD_SSB is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OTG_FSM is not set
-# CONFIG_USB_OTG is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-CONFIG_USB_PCI=y
-CONFIG_USBPCWATCHDOG=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_PHY=y
-CONFIG_USB_PRINTER=m
-CONFIG_USB_PULSE8_CEC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_PWC=m
-# CONFIG_USB_R8A66597_HCD is not set
-CONFIG_USB_RAINSHADOW_CEC=m
-# CONFIG_USB_RAREMONO is not set
-# CONFIG_USB_RIO500 is not set
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_S2255=m
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_CONSOLE=y
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_DEBUG=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_EMPEG=m
-# CONFIG_USB_SERIAL_F81232 is not set
-CONFIG_USB_SERIAL_F8153X=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-# CONFIG_USB_SERIAL_MXUPORT is not set
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QT2=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SIMPLE=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_UPD78F0730=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-# CONFIG_USB_SERIAL_WISHBONE is not set
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_XSENS_MT=m
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_SI470X=m
-# CONFIG_USB_SI4713 is not set
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_SISUSBVGA=m
-# CONFIG_USB_SL811_CS is not set
-CONFIG_USB_SL811_HCD_ISO=y
-CONFIG_USB_SL811_HCD=m
-CONFIG_USB_SNP_UDC_PLAT=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_DATAFAB=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_SUPPORT=y
-# CONFIG_USB_SWITCH_FSA9480 is not set
-# CONFIG_USB_TEST is not set
-CONFIG_USB_TMC=m
-CONFIG_USB_TRANCEVIBRATOR=m
-# CONFIG_USB_U132_HCD is not set
-CONFIG_USB_UAS=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_UHCI_HCD=y
-CONFIG_USB_ULPI_BUS=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_USS720=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VL600=m
-CONFIG_USB_WDM=m
-# CONFIG_USB_WHCI_HCD is not set
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-CONFIG_USB_WUSB_CBAF=m
-CONFIG_USB_WUSB=m
-CONFIG_USB_XHCI_HCD=y
-# CONFIG_USB_XHCI_PLATFORM is not set
-CONFIG_USB_XUSBATM=m
-CONFIG_USB=y
-CONFIG_USB_YUREX=m
-# CONFIG_USB_ZD1201 is not set
-CONFIG_USB_ZR364XX=m
-# CONFIG_USELIB is not set
-CONFIG_USERFAULTFD=y
-# CONFIG_USERIO is not set
-CONFIG_USER_NS=y
-# CONFIG_USE_THIN_ARCHIVES is not set
-CONFIG_UTS_NS=y
-CONFIG_UWB_HWA=m
-CONFIG_UWB_I1480U=m
-CONFIG_UWB=m
-CONFIG_UWB_WHCI=m
-# CONFIG_V4L2_FLASH_LED_CLASS is not set
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-# CONFIG_V4L_PLATFORM_DRIVERS is not set
-# CONFIG_V4L_TEST_DRIVERS is not set
-# CONFIG_VCNL4000 is not set
-# CONFIG_VEML6070 is not set
-CONFIG_VETH=m
-# CONFIG_VF610_ADC is not set
-# CONFIG_VF610_DAC is not set
-CONFIG_VFAT_FS=m
-# CONFIG_VFIO_IOMMU_TYPE1 is not set
-CONFIG_VFIO=m
-CONFIG_VFIO_MDEV_DEVICE=m
-CONFIG_VFIO_MDEV=m
-# CONFIG_VFIO_NOIOMMU is not set
-CONFIG_VFIO_PCI=m
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_ARB=y
-# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_SCSI=m
-CONFIG_VHOST_VSOCK=m
-CONFIG_VIA_FIR=m
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_AU0828=m
-# CONFIG_VIDEO_AU0828_RC is not set
-CONFIG_VIDEO_AU0828_V4L2=y
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_CPIA2=m
-# CONFIG_VIDEO_CPIA is not set
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX23885=m
-# CONFIG_VIDEO_CX25821 is not set
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_ENABLE_VP3054=y
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_DEV=m
-# CONFIG_VIDEO_DT3155 is not set
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_RC=m
-CONFIG_VIDEO_EM28XX_V4L2=m
-CONFIG_VIDEO_FB_IVTV=m
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-CONFIG_VIDEO_GO7007_LOADER=m
-CONFIG_VIDEO_GO7007=m
-CONFIG_VIDEO_GO7007_USB=m
-CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-# CONFIG_VIDEO_IVTV_ALSA is not set
-# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
-CONFIG_VIDEO_IVTV=m
-# CONFIG_VIDEO_M5MOLS is not set
-# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_NOON010PC30=m
-# CONFIG_VIDEO_PCI_SKELETON is not set
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_PVRUSB2_DVB=y
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
-CONFIG_VIDEO_SAA6588=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_SAA7134_GO7007=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_VIDEO_SAA7164=m
-# CONFIG_VIDEO_SH_MOBILE_CEU is not set
-# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
-# CONFIG_VIDEO_SH_VEU is not set
-CONFIG_VIDEO_SOLO6X10=m
-CONFIG_VIDEO_SR030PC30=m
-CONFIG_VIDEO_STK1160_AC97=y
-CONFIG_VIDEO_STK1160_COMMON=m
-CONFIG_VIDEO_STK1160=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TUNER=m
-# CONFIG_VIDEO_TW5864 is not set
-# CONFIG_VIDEO_TW686X_KH is not set
-CONFIG_VIDEO_TW686X=m
-# CONFIG_VIDEO_TW68 is not set
-CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-# CONFIG_VIDEO_VIVID is not set
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_XILINX is not set
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_DC30=m
-# CONFIG_VIDEO_ZORAN is not set
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-# CONFIG_VIPERBOARD_ADC is not set
-# 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_INPUT=m
-# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_NET=m
-CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_VSOCKETS=m
-CONFIG_VIRTUALIZATION=y
-CONFIG_VITESSE_PHY=m
-CONFIG_VL6180=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_VLSI_FIR=m
-# CONFIG_VME_BUS is not set
-# CONFIG_VMXNET3 is not set
-CONFIG_VORTEX=m
-CONFIG_VSOCKETS=m
-CONFIG_VSOCKMON=m
-CONFIG_VSX=y
-# CONFIG_VT6655 is not set
-# CONFIG_VT6656 is not set
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_VT=y
-# CONFIG_VXFS_FS is not set
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_VXGE=m
-CONFIG_VXLAN=m
-# CONFIG_VZ89X is not set
-CONFIG_W1_CON=y
-CONFIG_W1=m
-# CONFIG_W1_MASTER_DS1WM is not set
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS2490=m
-# CONFIG_W1_MASTER_GPIO is not set
-# CONFIG_W1_MASTER_MATROX is not set
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_W1_SLAVE_DS2405=m
-CONFIG_W1_SLAVE_DS2406=m
-CONFIG_W1_SLAVE_DS2408=m
-# CONFIG_W1_SLAVE_DS2408_READBACK is not set
-CONFIG_W1_SLAVE_DS2413=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2438=m
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_DS2781=m
-CONFIG_W1_SLAVE_DS28E04=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-# CONFIG_WAFER_WDT is not set
-# CONFIG_WAN is not set
-# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
-CONFIG_WATCHDOG_CORE=y
-CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
-CONFIG_WATCHDOG_RTAS=m
-CONFIG_WATCHDOG_SYSFS=y
-CONFIG_WATCHDOG=y
-# CONFIG_WCN36XX_DEBUGFS is not set
-CONFIG_WCN36XX=m
-CONFIG_WDAT_WDT=m
-CONFIG_WDTPCI=m
-CONFIG_WIL6210_ISR_COR=y
-CONFIG_WIL6210=m
-# CONFIG_WIL6210_TRACING is not set
-# CONFIG_WILC1000_SDIO is not set
-# CONFIG_WILC1000_SPI is not set
-CONFIG_WILINK_PLATFORM_DATA=y
-# CONFIG_WIMAX is not set
-CONFIG_WINBOND_840=m
-CONFIG_WINBOND_FIR=m
-# CONFIG_WINDFARM is not set
-CONFIG_WIRELESS_EXT=y
-CONFIG_WIRELESS=y
-CONFIG_WIZNET_W5100=m
-CONFIG_WIZNET_W5100_SPI=m
-CONFIG_WIZNET_W5300=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL1251_SPI=m
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-# CONFIG_WLAN_VENDOR_ADMTEK is not set
-CONFIG_WLAN_VENDOR_ATH=y
-# CONFIG_WLAN_VENDOR_ATMEL is not set
-CONFIG_WLAN_VENDOR_BROADCOM=y
-# CONFIG_WLAN_VENDOR_CISCO is not set
-CONFIG_WLAN_VENDOR_INTEL=y
-CONFIG_WLAN_VENDOR_INTERSIL=y
-CONFIG_WLAN_VENDOR_MARVELL=y
-CONFIG_WLAN_VENDOR_MEDIATEK=y
-CONFIG_WLAN_VENDOR_QUANTENNA=y
-CONFIG_WLAN_VENDOR_RALINK=y
-CONFIG_WLAN_VENDOR_REALTEK=y
-CONFIG_WLAN_VENDOR_RSI=y
-CONFIG_WLAN_VENDOR_ST=y
-CONFIG_WLAN_VENDOR_TI=y
-CONFIG_WLAN_VENDOR_ZYDAS=y
-CONFIG_WLAN=y
-CONFIG_WLCORE=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_WLCORE_SPI=m
-# CONFIG_WM831X_POWER is not set
-CONFIG_WM831X_WATCHDOG=m
-CONFIG_WM8350_POWER=m
-CONFIG_WM8350_WATCHDOG=m
-# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
-CONFIG_WQ_WATCHDOG=y
-# CONFIG_WW_MUTEX_SELFTEST is not set
-# CONFIG_X25 is not set
-CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
-CONFIG_X86_MCELOG_LEGACY=y
-CONFIG_X86_PTDUMP=y
-CONFIG_XFRM_MIGRATE=y
-CONFIG_XFRM_STATISTICS=y
-CONFIG_XFRM_SUB_POLICY=y
-CONFIG_XFRM_USER=y
-CONFIG_XFRM=y
-# CONFIG_XFS_DEBUG is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_QUOTA=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_WARN is not set
-# CONFIG_XILINX_DMA is not set
-# CONFIG_XILINX_EMACLITE is not set
-CONFIG_XILINX_GMII2RGMII=m
-# CONFIG_XILINX_LL_TEMAC is not set
-# CONFIG_XILINX_WATCHDOG is not set
-CONFIG_XILLYBUS=m
-# CONFIG_XILLYBUS_OF is not set
-CONFIG_XILLYBUS_PCIE=m
-# CONFIG_XMON_DEFAULT is not set
-CONFIG_XMON_DISASSEMBLY=y
-CONFIG_XMON=y
-# CONFIG_XPS_USB_HCD_XILINX is not set
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_SPARC=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC=y
-CONFIG_YAM=m
-CONFIG_YELLOWFIN=m
-CONFIG_YENTA=m
-CONFIG_Z3FOLD=y
-CONFIG_ZBUD=y
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_ZD1211RW=m
-CONFIG_ZEROPLUS_FF=y
-# CONFIG_ZIIRAVE_WATCHDOG is not set
-CONFIG_ZISOFS=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_ZLIB_INFLATE=y
-# CONFIG_ZONE_DEVICE is not set
-# CONFIG_ZPA2326 is not set
-CONFIG_ZRAM=m
-# CONFIG_ZSMALLOC_STAT is not set
-CONFIG_ZSMALLOC=y
-CONFIG_ZSWAP=y
-# CONFIG_ZX_TDM is not set
diff --git a/freed-ora/current/f26/kernel-ppc64p7.config b/freed-ora/current/f26/kernel-ppc64p7.config
deleted file mode 100644
index acedc0893..000000000
--- a/freed-ora/current/f26/kernel-ppc64p7.config
+++ /dev/null
@@ -1,5794 +0,0 @@
-# powerpc
-# CONFIG_3C515 is not set
-# CONFIG_60XX_WDT is not set
-CONFIG_6LOWPAN_DEBUGFS=y
-CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
-CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
-CONFIG_6LOWPAN_GHC_ICMPV6=m
-CONFIG_6LOWPAN_GHC_UDP=m
-CONFIG_6LOWPAN=m
-CONFIG_6LOWPAN_NHC_DEST=m
-CONFIG_6LOWPAN_NHC_FRAGMENT=m
-CONFIG_6LOWPAN_NHC_HOP=m
-CONFIG_6LOWPAN_NHC_IPV6=m
-CONFIG_6LOWPAN_NHC=m
-CONFIG_6LOWPAN_NHC_MOBILITY=m
-CONFIG_6LOWPAN_NHC_ROUTING=m
-CONFIG_6LOWPAN_NHC_UDP=m
-CONFIG_6PACK=m
-CONFIG_8139CP=m
-# CONFIG_8139_OLD_RX_RESET is not set
-CONFIG_8139TOO_8129=y
-CONFIG_8139TOO=m
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8723AU_AP_MODE is not set
-# CONFIG_8723AU_BT_COEXIST is not set
-CONFIG_9P_FSCACHE=y
-CONFIG_9P_FS=m
-CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_9P_FS_SECURITY=y
-CONFIG_A11Y_BRAILLE_CONSOLE=y
-# CONFIG_AB3100_CORE is not set
-# CONFIG_AB3100_OTP is not set
-CONFIG_ABP060MG=m
-# CONFIG_ABX500_CORE is not set
-CONFIG_ACCESSIBILITY=y
-CONFIG_ACENIC=m
-# CONFIG_ACENIC_OMIT_TIGON_I is not set
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_ACPI_ALS=m
-# CONFIG_ACPI_DEBUGGER is not set
-# CONFIG_ACPI_DEBUG is not set
-# CONFIG_ACPI_NFIT is not set
-CONFIG_ACPI_PCI_SLOT=y
-# CONFIG_ACQUIRE_WDT is not set
-CONFIG_ACT200L_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-# CONFIG_AD2S1200 is not set
-# CONFIG_AD2S1210 is not set
-# CONFIG_AD2S90 is not set
-# CONFIG_AD5064 is not set
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_AD5360 is not set
-# CONFIG_AD5380 is not set
-# CONFIG_AD5421 is not set
-# CONFIG_AD5446 is not set
-# CONFIG_AD5449 is not set
-# CONFIG_AD5504 is not set
-# CONFIG_AD5592R is not set
-# CONFIG_AD5593R is not set
-# CONFIG_AD5624R_SPI is not set
-# CONFIG_AD5686 is not set
-# CONFIG_AD5755 is not set
-# CONFIG_AD5761 is not set
-# CONFIG_AD5764 is not set
-# CONFIG_AD5791 is not set
-# CONFIG_AD5933 is not set
-# CONFIG_AD7150 is not set
-# CONFIG_AD7152 is not set
-# CONFIG_AD7192 is not set
-# CONFIG_AD7266 is not set
-# CONFIG_AD7280 is not set
-# CONFIG_AD7291 is not set
-# CONFIG_AD7298 is not set
-# CONFIG_AD7303 is not set
-# CONFIG_AD7476 is not set
-# CONFIG_AD7606 is not set
-# CONFIG_AD7746 is not set
-CONFIG_AD7766=m
-# CONFIG_AD7780 is not set
-# CONFIG_AD7791 is not set
-# CONFIG_AD7793 is not set
-# CONFIG_AD7816 is not set
-# CONFIG_AD7887 is not set
-# CONFIG_AD7923 is not set
-# CONFIG_AD799X is not set
-# CONFIG_AD8366 is not set
-# CONFIG_AD8801 is not set
-# CONFIG_AD9523 is not set
-# CONFIG_AD9832 is not set
-# CONFIG_AD9834 is not set
-CONFIG_ADAPTEC_STARFIRE=m
-# CONFIG_ADE7753 is not set
-# CONFIG_ADE7754 is not set
-# CONFIG_ADE7758 is not set
-# CONFIG_ADE7759 is not set
-# CONFIG_ADE7854 is not set
-# CONFIG_ADF4350 is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADIS16060 is not set
-# CONFIG_ADIS16080 is not set
-# CONFIG_ADIS16130 is not set
-# CONFIG_ADIS16136 is not set
-# CONFIG_ADIS16201 is not set
-# CONFIG_ADIS16203 is not set
-# CONFIG_ADIS16209 is not set
-# CONFIG_ADIS16240 is not set
-# CONFIG_ADIS16260 is not set
-# CONFIG_ADIS16400 is not set
-# CONFIG_ADIS16480 is not set
-# CONFIG_ADJD_S311 is not set
-# CONFIG_ADM8211 is not set
-# CONFIG_ADT7316 is not set
-# CONFIG_ADVANTECH_WDT is not set
-# CONFIG_ADXL345_I2C is not set
-# CONFIG_ADXL345_SPI is not set
-# CONFIG_ADXRS450 is not set
-# CONFIG_AFE4403 is not set
-# CONFIG_AFE4404 is not set
-CONFIG_AFFS_FS=m
-# CONFIG_AF_KCM is not set
-# CONFIG_AF_RXRPC is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_AGP is not set
-# CONFIG_AHCI_CEVA is not set
-# CONFIG_AHCI_QORIQ is not set
-# CONFIG_AIC79XX_BUILD_FIRMWARE is not set
-CONFIG_AIC79XX_CMDS_PER_DEVICE=4
-# CONFIG_AIC79XX_DEBUG_ENABLE is not set
-CONFIG_AIC79XX_DEBUG_MASK=0
-# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
-CONFIG_AIC79XX_RESET_DELAY_MS=15000
-# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set
-CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
-# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
-CONFIG_AIC7XXX_DEBUG_MASK=0
-# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
-CONFIG_AIC7XXX_RESET_DELAY_MS=15000
-# CONFIG_AIRO_CS is not set
-# CONFIG_AIRO is not set
-CONFIG_AIX_PARTITION=y
-# CONFIG_AK09911 is not set
-# CONFIG_AK8974 is not set
-# CONFIG_AK8975 is not set
-# CONFIG_AL3320A is not set
-CONFIG_ALI_FIR=m
-CONFIG_ALIM1535_WDT=m
-CONFIG_ALIM7101_WDT=m
-# CONFIG_ALTERA_MBOX is not set
-CONFIG_ALTERA_STAPL=m
-CONFIG_ALTERA_TSE=m
-CONFIG_ALTIVEC=y
-CONFIG_ALX=m
-# CONFIG_AM2315 is not set
-CONFIG_AMD8111_ETH=m
-CONFIG_AMD_PHY=m
-# CONFIG_AMD_XGBE_DCB is not set
-# CONFIG_AMD_XGBE is not set
-# CONFIG_AMIGAONE is not set
-CONFIG_AMIGA_PARTITION=y
-# CONFIG_ANDROID is not set
-# CONFIG_APDS9300 is not set
-CONFIG_APDS9802ALS=m
-# CONFIG_APDS9960 is not set
-CONFIG_APM_POWER=m
-# CONFIG_APPLE_PROPERTIES is not set
-# CONFIG_APPLICOM is not set
-CONFIG_AQUANTIA_PHY=m
-CONFIG_AR5523=m
-# CONFIG_ARCNET is not set
-CONFIG_ARM64_ERRATUM_858921=y
-# CONFIG_AS3935 is not set
-CONFIG_ASYMMETRIC_KEY_TYPE=y
-CONFIG_ASYNC_RAID6_TEST=m
-CONFIG_ASYNC_TX_DMA=y
-CONFIG_AT76C50X_USB=m
-CONFIG_AT803X_PHY=m
-CONFIG_ATA_ACPI=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_GENERIC=m
-CONFIG_ATALK=m
-CONFIG_ATA_OVER_ETH=m
-CONFIG_ATA_PIIX=y
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_ATA_SFF=y
-CONFIG_ATA_VERBOSE_ERROR=y
-CONFIG_ATA=y
-# CONFIG_ATH10K_AHB is not set
-CONFIG_ATH10K_DEBUGFS=y
-# CONFIG_ATH10K_DEBUG is not set
-CONFIG_ATH10K=m
-CONFIG_ATH10K_PCI=m
-CONFIG_ATH10K_SDIO=m
-# CONFIG_ATH10K_TRACING is not set
-CONFIG_ATH5K_DEBUG=y
-CONFIG_ATH5K=m
-# CONFIG_ATH5K_TRACER is not set
-CONFIG_ATH6KL_DEBUG=y
-CONFIG_ATH6KL=m
-CONFIG_ATH6KL_SDIO=m
-# CONFIG_ATH6KL_TRACING is not set
-CONFIG_ATH6KL_USB=m
-CONFIG_ATH9K_AHB=y
-CONFIG_ATH9K_BTCOEX_SUPPORT=y
-# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
-CONFIG_ATH9K_DEBUGFS=y
-# CONFIG_ATH9K_DEBUG is not set
-# CONFIG_ATH9K_DYNACK is not set
-# CONFIG_ATH9K_HTC_DEBUGFS is not set
-CONFIG_ATH9K_HTC=m
-# CONFIG_ATH9K_HWRNG is not set
-CONFIG_ATH9K=m
-CONFIG_ATH9K_PCI=y
-# CONFIG_ATH9K_STATION_STATISTICS is not set
-# CONFIG_ATH9K_WOW is not set
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-# CONFIG_ATH_TRACEPOINTS is not set
-CONFIG_ATL1C=m
-CONFIG_ATL1E=m
-CONFIG_ATL1=m
-CONFIG_ATL2=m
-# CONFIG_ATLAS_PH_SENSOR is not set
-# CONFIG_ATM_AMBASSADOR_DEBUG is not set
-# CONFIG_ATM_AMBASSADOR is not set
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_ATM_BR2684=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-# CONFIG_ATMEL is not set
-# CONFIG_ATM_ENI_DEBUG is not set
-CONFIG_ATM_ENI=m
-# CONFIG_ATM_ENI_TUNE_BURST is not set
-# CONFIG_ATM_FIRESTREAM is not set
-CONFIG_ATM_FORE200E_DEBUG=0
-# CONFIG_ATM_FORE200E is not set
-CONFIG_ATM_FORE200E_TX_RETRY=16
-# CONFIG_ATM_FORE200E_USE_TASKLET is not set
-CONFIG_ATM_HE=m
-# CONFIG_ATM_HE_USE_SUNI is not set
-# CONFIG_ATM_HORIZON_DEBUG is not set
-# CONFIG_ATM_HORIZON is not set
-# CONFIG_ATM_IA_DEBUG is not set
-# CONFIG_ATM_IA is not set
-# CONFIG_ATM_IDT77252_DEBUG is not set
-# CONFIG_ATM_IDT77252 is not set
-# CONFIG_ATM_IDT77252_RCV_ALL is not set
-# CONFIG_ATM_LANAI is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM=m
-# CONFIG_ATM_MPOA is not set
-CONFIG_ATM_NICSTAR=m
-# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
-# CONFIG_ATM_NICSTAR_USE_SUNI is not set
-CONFIG_ATM_SOLOS=m
-CONFIG_ATM_TCP=m
-# CONFIG_ATM_ZATM_DEBUG is not set
-# CONFIG_ATM_ZATM is not set
-CONFIG_ATOMIC64_SELFTEST=y
-CONFIG_ATP=m
-CONFIG_AUDITSYSCALL=y
-CONFIG_AUDIT=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_AUXDISPLAY=y
-# CONFIG_AVERAGE is not set
-CONFIG_AX25_DAMA_SLAVE=y
-CONFIG_AX25=m
-# CONFIG_AXON_RAM is not set
-CONFIG_B43_BCMA_PIO=y
-CONFIG_B43_BCMA=y
-# CONFIG_B43_DEBUG is not set
-# CONFIG_B43LEGACY_DEBUG is not set
-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-# CONFIG_B43LEGACY_DMA_MODE is not set
-CONFIG_B43LEGACY_DMA=y
-CONFIG_B43LEGACY=m
-# CONFIG_B43LEGACY_PIO_MODE is not set
-CONFIG_B43LEGACY_PIO=y
-CONFIG_B43=m
-CONFIG_B43_PHY_G=y
-CONFIG_B43_PHY_HT=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_SDIO=y
-CONFIG_B44=m
-CONFIG_B44_PCI=y
-CONFIG_B53=m
-CONFIG_B53_MDIO_DRIVER=m
-CONFIG_B53_MMAP_DRIVER=m
-CONFIG_B53_SPI_DRIVER=m
-CONFIG_B53_SRAB_DRIVER=m
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-CONFIG_BACKLIGHT_ARCXCNN=m
-# CONFIG_BACKLIGHT_BD6107 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-# CONFIG_BACKLIGHT_GPIO is not set
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_BACKLIGHT_LM3630A is not set
-# CONFIG_BACKLIGHT_LM3630 is not set
-# CONFIG_BACKLIGHT_LM3639 is not set
-CONFIG_BACKLIGHT_LP855X=m
-# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
-CONFIG_BACKLIGHT_PWM=m
-# CONFIG_BACKLIGHT_SAHARA is not set
-CONFIG_BACKLIGHT_WM831X=m
-# CONFIG_BACKTRACE_SELF_TEST is not set
-CONFIG_BALLOON_COMPACTION=y
-CONFIG_BATMAN_ADV_BATMAN_V=y
-CONFIG_BATMAN_ADV_BLA=y
-CONFIG_BATMAN_ADV_DAT=y
-# CONFIG_BATMAN_ADV_DEBUGFS is not set
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_BATMAN_ADV=m
-CONFIG_BATMAN_ADV_MCAST=y
-CONFIG_BATMAN_ADV_NC=y
-# CONFIG_BATTERY_BQ27XXX is not set
-# CONFIG_BATTERY_DS2760 is not set
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2781 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_GAUGE_LTC2941 is not set
-# CONFIG_BATTERY_LEGO_EV3 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_BATTERY_SBS is not set
-CONFIG_BAYCOM_EPP=m
-CONFIG_BAYCOM_PAR=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-# CONFIG_BCACHE_CLOSURES_DEBUG is not set
-# CONFIG_BCACHE_DEBUG is not set
-CONFIG_BCACHE=m
-# CONFIG_BCM2835_VCHIQ is not set
-CONFIG_BCM63XX_PHY=m
-# CONFIG_BCM7038_WDT is not set
-CONFIG_BCM7XXX_PHY=m
-CONFIG_BCM87XX_PHY=m
-CONFIG_BCMA_BLOCKIO=y
-# CONFIG_BCMA_DEBUG is not set
-CONFIG_BCMA_DRIVER_GMAC_CMN=y
-CONFIG_BCMA_DRIVER_GPIO=y
-CONFIG_BCMA_HOST_PCI_POSSIBLE=y
-CONFIG_BCMA_HOST_PCI=y
-# CONFIG_BCMA_HOST_SOC is not set
-CONFIG_BCMA=m
-# CONFIG_BCM_FLEXRM_MBOX is not set
-CONFIG_BCMGENET=m
-# CONFIG_BCM_KONA_USB2_PHY is not set
-CONFIG_BE2ISCSI=m
-# CONFIG_BE2NET_HWMON is not set
-CONFIG_BE2NET=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BEFS_FS=m
-CONFIG_BFQ_GROUP_IOSCHED=y
-# CONFIG_BFS_FS is not set
-CONFIG_BH1750=m
-# CONFIG_BH1780 is not set
-CONFIG_BIG_KEYS=y
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_FLAT is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_BINFMT_SCRIPT=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
-CONFIG_BLK_DEBUG_FS=y
-CONFIG_BLK_DEV_3W_XXXX_RAID=m
-CONFIG_BLK_DEV_BSGLIB=y
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-CONFIG_BLK_DEV_DAC960=m
-CONFIG_BLK_DEV_DM=y
-CONFIG_BLK_DEV_DRBD=m
-CONFIG_BLK_DEV_FD=m
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_IO_TRACE=y
-CONFIG_BLK_DEV_IT8172=m
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
-CONFIG_BLK_DEV_MD=y
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_NULL_BLK=m
-CONFIG_BLK_DEV_NVME=m
-# CONFIG_BLK_DEV_NVME_SCSI is not set
-CONFIG_BLK_DEV_OSD=m
-# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
-# CONFIG_BLK_DEV_PLATFORM is not set
-CONFIG_BLK_DEV_PMEM=m
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_DAX=y
-CONFIG_BLK_DEV_RAM=m
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_BLK_DEV_RBD=m
-CONFIG_BLK_DEV_RSXX=m
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_DEV_SKD=m
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SX8=m
-# CONFIG_BLK_DEV_THROTTLING_LOW is not set
-CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_UMEM=m
-CONFIG_BLK_DEV=y
-CONFIG_BLK_DEV_ZONED=y
-CONFIG_BLK_SED_OPAL=y
-CONFIG_BLK_WBT_MQ=y
-# CONFIG_BLK_WBT_SQ is not set
-CONFIG_BLK_WBT=y
-# CONFIG_BMA180 is not set
-# CONFIG_BMA220 is not set
-CONFIG_BMC150_ACCEL=m
-# CONFIG_BMC150_MAGN_I2C is not set
-# CONFIG_BMC150_MAGN is not set
-# CONFIG_BMC150_MAGN_SPI is not set
-# CONFIG_BMG160 is not set
-# CONFIG_BMI160_I2C is not set
-# CONFIG_BMI160_SPI is not set
-CONFIG_BMP280=m
-CONFIG_BNA=m
-CONFIG_BNX2=m
-CONFIG_BNX2X=m
-CONFIG_BNX2X_SRIOV=y
-CONFIG_BNXT_DCB=y
-CONFIG_BNXT=m
-CONFIG_BNXT_SRIOV=y
-CONFIG_BONDING=m
-# 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_BOOTX_TEXT=y
-CONFIG_BOUNCE=y
-CONFIG_BPF_JIT=y
-CONFIG_BPF_SYSCALL=y
-CONFIG_BPQETHER=m
-# CONFIG_BRCMDBG is not set
-CONFIG_BRCMFMAC=m
-CONFIG_BRCMFMAC_PCIE=y
-CONFIG_BRCMFMAC_SDIO=y
-CONFIG_BRCMFMAC_USB=y
-CONFIG_BRCMSMAC=m
-# CONFIG_BRCMSTB_GISB_ARB is not set
-# CONFIG_BRCM_TRACING is not set
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_NETFILTER=m
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_BROADCOM_PHY=m
-CONFIG_BSD_DISKLABEL=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BT_6LOWPAN=m
-CONFIG_BT_ATH3K=m
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
-# CONFIG_BT_DEBUGFS is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIBLUECARD=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBT3C=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIBTUART=m
-CONFIG_BT_HCIBTUSB_BCM=y
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTUSB_RTL=y
-CONFIG_BT_HCIDTL1=m
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_AG6XX=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_INTEL=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_MRVL=y
-CONFIG_BT_HCIUART_NOKIA=m
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIUART_SERDEV=y
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
-CONFIG_BT_LEDS=y
-CONFIG_BT_LE=y
-CONFIG_BT=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_QCA=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-# CONFIG_BTRFS_ASSERT is not set
-# CONFIG_BTRFS_DEBUG is not set
-# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
-# CONFIG_BT_SELFTEST is not set
-# CONFIG_BTT is not set
-CONFIG_BT_WILINK=m
-CONFIG_BUG_ON_DATA_CORRUPTION=y
-CONFIG_BUILD_DOCSRC=y
-# CONFIG_C2PORT is not set
-# CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CADENCE_WATCHDOG is not set
-# CONFIG_CAIF is not set
-CONFIG_CAN_8DEV_USB=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_CALC_BITTIMING=y
-# CONFIG_CAN_CC770_ISA is not set
-CONFIG_CAN_CC770=m
-CONFIG_CAN_CC770_PLATFORM=m
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PCI=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_CAN_DEV=m
-CONFIG_CAN_EMS_PCI=m
-# CONFIG_CAN_EMS_PCMCIA is not set
-CONFIG_CAN_EMS_USB=m
-CONFIG_CAN_ESD_USB2=m
-# CONFIG_CAN_FLEXCAN is not set
-# CONFIG_CAN_GRCAN is not set
-CONFIG_CAN_GS_USB=m
-CONFIG_CAN_GW=m
-CONFIG_CAN_HI311X=m
-CONFIG_CAN_IFI_CANFD=m
-CONFIG_CAN_KVASER_PCI=m
-CONFIG_CAN_KVASER_USB=m
-CONFIG_CAN_LEDS=y
-CONFIG_CAN=m
-CONFIG_CAN_M_CAN=m
-CONFIG_CAN_MCBA_USB=m
-# CONFIG_CAN_MCP251X is not set
-# CONFIG_CAN_MPC5XXX is not set
-# CONFIG_CAN_MSCAN is not set
-CONFIG_CAN_PEAK_PCIEC=y
-CONFIG_CAN_PEAK_PCIEFD=m
-CONFIG_CAN_PEAK_PCI=m
-# CONFIG_CAN_PEAK_PCMCIA is not set
-CONFIG_CAN_PEAK_USB=m
-CONFIG_CAN_PLX_PCI=m
-CONFIG_CAN_RAW=m
-# CONFIG_CAN_SJA1000_ISA is not set
-CONFIG_CAN_SJA1000=m
-CONFIG_CAN_SJA1000_PLATFORM=m
-CONFIG_CAN_SLCAN=m
-# CONFIG_CAN_SOFTING_CS is not set
-CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_TSCAN1 is not set
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_VXCAN=m
-# CONFIG_CAN_XILINXCAN is not set
-CONFIG_CAPI_AVM=y
-CONFIG_CAPI_EICON=y
-# CONFIG_CAPI_TRACE is not set
-CONFIG_CARDBUS=y
-CONFIG_CARDMAN_4000=m
-CONFIG_CARDMAN_4040=m
-# CONFIG_CARL9170_DEBUGFS is not set
-# CONFIG_CARL9170_HWRNG is not set
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170=m
-CONFIG_CASSINI=m
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-# CONFIG_CC10001_ADC is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-CONFIG_CDROM_PKTCDVD=m
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_CEC_PLATFORM_DRIVERS=y
-CONFIG_CEPH_FSCACHE=y
-CONFIG_CEPH_FS=m
-CONFIG_CEPH_FS_POSIX_ACL=y
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
-CONFIG_CFAG12864B=m
-CONFIG_CFAG12864B_RATE=20
-CONFIG_CFG80211_CRDA_SUPPORT=y
-CONFIG_CFG80211_DEBUGFS=y
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-CONFIG_CFG80211=m
-CONFIG_CFG80211_WEXT=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-CONFIG_CFS_BANDWIDTH=y
-CONFIG_CGROUP_BPF=y
-CONFIG_CGROUP_CPUACCT=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_HUGETLB=y
-CONFIG_CGROUP_NET_CLASSID=y
-CONFIG_CGROUP_NET_PRIO=y
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_PIDS=y
-# CONFIG_CGROUP_RDMA is not set
-CONFIG_CGROUP_SCHED=y
-CONFIG_CGROUPS=y
-# CONFIG_CHARGER_BQ2415X is not set
-# CONFIG_CHARGER_BQ24190 is not set
-# CONFIG_CHARGER_BQ24257 is not set
-# CONFIG_CHARGER_BQ24735 is not set
-# CONFIG_CHARGER_BQ25890 is not set
-# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
-# CONFIG_CHARGER_GPIO is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_LP8727 is not set
-# CONFIG_CHARGER_LTC3651 is not set
-# CONFIG_CHARGER_MAX8903 is not set
-# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
-# CONFIG_CHARGER_RT9455 is not set
-# CONFIG_CHARGER_SBS is not set
-CONFIG_CHARGER_SMB347=m
-# CONFIG_CHECKPOINT_RESTORE is not set
-CONFIG_CHELSIO_T1_1G=y
-CONFIG_CHELSIO_T1=m
-CONFIG_CHELSIO_T3=m
-CONFIG_CHELSIO_T4_DCB=y
-# CONFIG_CHELSIO_T4_FCOE is not set
-CONFIG_CHELSIO_T4=m
-CONFIG_CHELSIO_T4VF=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_CHR_DEV_SCH=m
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CICADA_PHY=m
-CONFIG_CIFS_ACL=y
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
-CONFIG_CIFS_DEBUG=y
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_CIFS=m
-CONFIG_CIFS_NFSD_EXPORT=y
-CONFIG_CIFS_POSIX=y
-CONFIG_CIFS_SMB2=y
-# CONFIG_CIFS_SMB311 is not set
-# CONFIG_CIFS_STATS2 is not set
-CONFIG_CIFS_STATS=y
-CONFIG_CIFS_UPCALL=y
-CONFIG_CIFS_WEAK_PW_HASH=y
-CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
-CONFIG_CLEANCACHE=y
-# CONFIG_CLK_QORIQ is not set
-CONFIG_CLS_U32_MARK=y
-CONFIG_CLS_U32_PERF=y
-CONFIG_CM32181=m
-# CONFIG_CM3232 is not set
-# CONFIG_CM3323 is not set
-CONFIG_CM3605=m
-# CONFIG_CM36651 is not set
-CONFIG_CMA_AREAS=7
-# CONFIG_CMA_DEBUGFS is not set
-# CONFIG_CMA_DEBUG is not set
-CONFIG_CMA=y
-# CONFIG_CMDLINE_BOOL is not set
-# CONFIG_CMDLINE_PARTITION is not set
-CONFIG_CMM=y
-CONFIG_CNIC=m
-CONFIG_CODA_FS=m
-# CONFIG_CODE_PATCHING_SELFTEST is not set
-# CONFIG_COMEDI is not set
-# CONFIG_COMMON_CLK_CDCE706 is not set
-# CONFIG_COMMON_CLK_CDCE925 is not set
-# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_PWM is not set
-# CONFIG_COMMON_CLK_SI514 is not set
-# CONFIG_COMMON_CLK_SI5351 is not set
-# CONFIG_COMMON_CLK_SI570 is not set
-# CONFIG_COMMON_CLK_VC5 is not set
-# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
-# CONFIG_COMMON_RESET_HI3660 is not set
-CONFIG_COMPACTION=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_COMPILE_TEST is not set
-CONFIG_CONFIGFS_FS=y
-CONFIG_CONNECTOR=y
-# CONFIG_CONSISTENT_SIZE_BOOL is not set
-CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_CORDIC=m
-CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
-CONFIG_CORTINA_PHY=m
-# CONFIG_CPU5_WDT is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
-# CONFIG_CPUFREQ_DT is not set
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ=y
-# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
-# CONFIG_CPU_IDLE_GOV_LADDER is not set
-CONFIG_CPU_IDLE=y
-# CONFIG_CPU_LITTLE_ENDIAN is not set
-CONFIG_CPUMASK_OFFSTACK=y
-CONFIG_CPUSETS=y
-# CONFIG_CPU_THERMAL is not set
-CONFIG_CRAMFS=m
-CONFIG_CRASH_DUMP=y
-CONFIG_CRASH=m
-CONFIG_CRC16=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32=y
-CONFIG_CRC4=m
-CONFIG_CRC7=m
-CONFIG_CRC8=m
-CONFIG_CRC_CCITT=y
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC_T10DIF=y
-CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CROSS_COMPILE=""
-CONFIG_CROSS_MEMORY_ATTACH=y
-CONFIG_CRYPTO_842=m
-CONFIG_CRYPTO_AES_TI=m
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_CHACHA20=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_CRC32C_VPMSUM=m
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32=m
-CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m
-# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_DEV_CCREE is not set
-CONFIG_CRYPTO_DEV_CHELSIO=m
-# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
-CONFIG_CRYPTO_DEV_HIFN_795X=m
-CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
-CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
-CONFIG_CRYPTO_DEV_NX_COMPRESS=m
-CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m
-CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m
-CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
-CONFIG_CRYPTO_DEV_NX=y
-CONFIG_CRYPTO_DEV_VIRTIO=m
-CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m
-CONFIG_CRYPTO_DEV_VMX=y
-CONFIG_CRYPTO_DH=y
-CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_DRBG_HASH=y
-CONFIG_CRYPTO_DRBG_MENU=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_ECDH=m
-CONFIG_CRYPTO_ECHAINIV=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_FIPS=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_GF128MUL=y
-CONFIG_CRYPTO_GHASH=y
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_KEYWRAP=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_LZ4HC=m
-CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_MANAGER=y
-# CONFIG_CRYPTO_MCRYPTD is not set
-CONFIG_CRYPTO_MD4=m
-# CONFIG_CRYPTO_MD5_PPC is not set
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_POLY1305=m
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_RSA=y
-CONFIG_CRYPTO_SALSA20_586=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SEQIV=y
-CONFIG_CRYPTO_SERPENT=m
-# CONFIG_CRYPTO_SHA1_PPC is not set
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_SIMD=y
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_USER_API_AEAD=y
-CONFIG_CRYPTO_USER_API_HASH=y
-CONFIG_CRYPTO_USER_API_RNG=y
-CONFIG_CRYPTO_USER_API_SKCIPHER=y
-CONFIG_CRYPTO_USER=m
-CONFIG_CRYPTO_VMAC=m
-# CONFIG_CRYPTO_VPMSUM_TESTER is not set
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO=y
-CONFIG_CUSE=m
-CONFIG_CW1200=m
-CONFIG_CW1200_WLAN_SDIO=m
-CONFIG_CW1200_WLAN_SPI=m
-# CONFIG_CX_ECAT is not set
-CONFIG_CXLFLASH=m
-CONFIG_CXL=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
-CONFIG_DA280=m
-CONFIG_DA311=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_DCB=y
-# CONFIG_DDR is not set
-CONFIG_DE2104X_DSL=0
-CONFIG_DE2104X=m
-CONFIG_DE4X5=m
-CONFIG_DE_AOC=y
-# CONFIG_DEBUG_ATOMIC_SLEEP is not set
-# CONFIG_DEBUG_BLK_CGROUP is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-CONFIG_DEBUG_BOOT_PARAMS=y
-# CONFIG_DEBUG_CREDENTIALS is not set
-CONFIG_DEBUG_DEVRES=y
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUGGER=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_DEBUG_HIGHMEM=y
-# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
-# CONFIG_DEBUG_INFO_DWARF4 is not set
-# CONFIG_DEBUG_INFO_REDUCED is not set
-# CONFIG_DEBUG_INFO_SPLIT is not set
-CONFIG_DEBUG_INFO_VTA=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_KMEMLEAK_TEST is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_KOBJECT_RELEASE is not set
-CONFIG_DEBUG_LIST=y
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_DEBUG_LOCKDEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-CONFIG_DEBUG_NX_TEST=m
-CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-# CONFIG_DEBUG_PAGE_REF is not set
-# CONFIG_DEBUG_PER_CPU_MAPS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-# CONFIG_DEBUG_PI_LIST is not set
-# CONFIG_DEBUG_PINCTRL is not set
-# CONFIG_DEBUG_REFCOUNT is not set
-CONFIG_DEBUG_RODATA_TEST=y
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_SET_MODULE_RONX=y
-# CONFIG_DEBUG_SG is not set
-CONFIG_DEBUG_SHIRQ=y
-# CONFIG_DEBUG_SPINLOCK is not set
-CONFIG_DEBUG_STACKOVERFLOW=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
-# CONFIG_DEBUG_TIMEKEEPING is not set
-# CONFIG_DEBUG_VIRTUAL is not set
-# CONFIG_DEBUG_VM_PGFLAGS is not set
-# CONFIG_DEBUG_VM_RB is not set # revisit this if performance isn't horrible
-# CONFIG_DEBUG_VM_VMACACHE is not set
-CONFIG_DEBUG_VM=y
-# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
-# CONFIG_DECNET is not set
-CONFIG_DEFAULT_CFQ=y
-CONFIG_DEFAULT_HOSTNAME="(none)"
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-# CONFIG_DEFXX is not set
-# CONFIG_DETECT_HUNG_TASK is not set
-CONFIG_DEV_APPLETALK=m
-CONFIG_DEV_DAX=m
-CONFIG_DEV_DAX_PMEM=m
-# CONFIG_DEVFREQ_GOV_PASSIVE is not set
-# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
-# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
-# CONFIG_DEVFREQ_GOV_USERSPACE is not set
-# CONFIG_DEVKMEM is not set
-CONFIG_DEVMEM=y
-CONFIG_DEVPORT=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_DEVTMPFS=y
-# CONFIG_DGAP is not set
-# CONFIG_DGNC is not set
-CONFIG_DHT11=m
-CONFIG_DL2K=m
-CONFIG_DLM_DEBUG=y
-CONFIG_DLM=m
-CONFIG_DM9102=m
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_DMA_CMA is not set
-# CONFIG_DMADEVICES_DEBUG is not set
-CONFIG_DMADEVICES=y
-CONFIG_DMA_ENGINE=y
-# CONFIG_DMA_FENCE_TRACE is not set
-# CONFIG_DMARD06 is not set
-# CONFIG_DMARD09 is not set
-CONFIG_DMARD10=m
-# CONFIG_DMATEST is not set
-CONFIG_DM_CACHE_CLEANER=m
-CONFIG_DM_CACHE=m
-CONFIG_DM_CACHE_SMQ=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
-# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
-CONFIG_DM_DEBUG=y
-CONFIG_DM_DELAY=m
-# CONFIG_DM_ERA is not set
-CONFIG_DM_FLAKEY=m
-CONFIG_DM_INTEGRITY=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_LOG_WRITES=m
-CONFIG_DM_MIRROR=y
-# CONFIG_DM_MQ_DEFAULT is not set
-CONFIG_DM_MULTIPATH=m
-CONFIG_DM_MULTIPATH_QL=m
-CONFIG_DM_MULTIPATH_ST=m
-CONFIG_DM_RAID=m
-CONFIG_DM_SNAPSHOT=y
-CONFIG_DM_SWITCH=m
-CONFIG_DM_THIN_PROVISIONING=m
-CONFIG_DM_UEVENT=y
-CONFIG_DM_VERITY_FEC=y
-CONFIG_DM_VERITY=m
-CONFIG_DM_ZERO=y
-CONFIG_DM_ZONED=m
-CONFIG_DNET=m
-CONFIG_DNOTIFY=y
-CONFIG_DNS_RESOLVER=m
-CONFIG_DONGLE=y
-CONFIG_DP83640_PHY=m
-CONFIG_DP83848_PHY=m
-CONFIG_DP83867_PHY=m
-# CONFIG_DPM_WATCHDOG is not set # revisit this in debug
-CONFIG_DPOT_DAC=m
-CONFIG_DRAGONRISE_FF=y
-# CONFIG_DRBD_FAULT_INJECTION is not set
-CONFIG_DRM_AMD_ACP=y
-CONFIG_DRM_AMDGPU_CIK=y
-# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
-CONFIG_DRM_AMDGPU=m
-# CONFIG_DRM_AMDGPU_SI is not set
-CONFIG_DRM_AMDGPU_USERPTR=y
-CONFIG_DRM_AMD_POWERPLAY=y
-CONFIG_DRM_ANALOGIX_ANX78XX=m
-# CONFIG_DRM_ARCPGU is not set
-CONFIG_DRM_AST=m
-CONFIG_DRM_BOCHS=m
-CONFIG_DRM_CIRRUS_QEMU=m
-# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
-CONFIG_DRM_DP_AUX_CHARDEV=y
-# CONFIG_DRM_DUMB_VGA_DAC is not set
-# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
-# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set
-CONFIG_DRM_FBDEV_EMULATION=y
-CONFIG_DRM_FBDEV_OVERALLOC=100
-CONFIG_DRM_HISI_HIBMC=m
-CONFIG_DRM_I2C_ADV7511_AUDIO=y
-CONFIG_DRM_I2C_ADV7511=m
-CONFIG_DRM_I2C_ADV7533=y
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_I2C_SIL164=m
-# CONFIG_DRM_LEGACY is not set
-CONFIG_DRM_LOAD_EDID_FIRMWARE=y
-# CONFIG_DRM_LVDS_ENCODER is not set
-CONFIG_DRM=m
-# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
-CONFIG_DRM_MGAG200=m
-# CONFIG_DRM_MGA is not set
-# CONFIG_DRM_MXSFB is not set
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_NOUVEAU=m
-# CONFIG_DRM_NXP_PTN3460 is not set
-# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
-# CONFIG_DRM_PANEL_LG_LG4573 is not set
-# CONFIG_DRM_PANEL_LVDS is not set
-# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
-# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
-# CONFIG_DRM_PANEL_SIMPLE is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
-CONFIG_DRM_PANEL=y
-# CONFIG_DRM_PARADE_PS8622 is not set
-CONFIG_DRM_QXL=m
-# CONFIG_DRM_R128 is not set
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_USERPTR=y
-# CONFIG_DRM_RCAR_DW_HDMI is not set
-# CONFIG_DRM_SAVAGE is not set
-# CONFIG_DRM_SII902X is not set
-CONFIG_DRM_SIL_SII8620=m
-# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_TDFX is not set
-# CONFIG_DRM_TINYDRM is not set
-CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
-CONFIG_DRM_UDL=m
-# CONFIG_DRM_VBOXVIDEO is not set
-CONFIG_DRM_VGEM=m
-CONFIG_DRM_VIA=m
-CONFIG_DRM_VIRTIO_GPU=m
-# CONFIG_DS1682 is not set
-# CONFIG_DS1803 is not set
-# CONFIG_DT3155 is not set
-CONFIG_DTL=y
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_DUMMY_IRQ is not set
-CONFIG_DUMMY=m
-CONFIG_DVB_AS102=m
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-CONFIG_DVB_B2C2_FLEXCOP=m
-# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
-CONFIG_DVB_B2C2_FLEXCOP_PCI=m
-# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-CONFIG_DVB_BT8XX=m
-CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_CI=m
-CONFIG_DVB_BUDGET_CORE=m
-CONFIG_DVB_BUDGET=m
-CONFIG_DVB_BUDGET_PATCH=m
-CONFIG_DVB_CORE=m
-# CONFIG_DVB_CXD2099 is not set
-CONFIG_DVB_DDBRIDGE=m
-# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
-CONFIG_DVB_DM1105=m
-CONFIG_DVB_DYNAMIC_MINORS=y
-CONFIG_DVB_FIREDTV=m
-CONFIG_DVB_HOPPER=m
-CONFIG_DVB_MANTIS=m
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_MN88472=m
-CONFIG_DVB_MN88473=m
-CONFIG_DVB_NETUP_UNIDVB=m
-CONFIG_DVB_NET=y
-CONFIG_DVB_NGENE=m
-# CONFIG_DVB_PLATFORM_DRIVERS is not set
-CONFIG_DVB_PLUTO2=m
-CONFIG_DVB_PT1=m
-# CONFIG_DVB_PT3 is not set
-# CONFIG_DVB_RTL2832_SDR is not set
-CONFIG_DVB_SMIPCIE=m
-CONFIG_DVB_TTUSB_BUDGET=m
-CONFIG_DVB_TTUSB_DEC=m
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_AF9015=m
-CONFIG_DVB_USB_AF9035=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_AZ6007=m
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_CE6230=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_CXUSB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_DIB0700=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MB=m
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_DVBSKY=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_EC168=m
-CONFIG_DVB_USB_FRIIO=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_MXL111SF=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_PCTV452E=m
-CONFIG_DVB_USB_RTL28XXU=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_V2=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_ZD1301=m
-# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
-CONFIG_DW_DMAC_CORE=m
-CONFIG_DW_DMAC=m
-CONFIG_DW_DMAC_PCI=m
-# CONFIG_DW_WATCHDOG is not set
-CONFIG_DYNAMIC_DEBUG=y
-CONFIG_DYNAMIC_FTRACE=y
-CONFIG_E1000E=m
-CONFIG_E1000=m
-CONFIG_E100=m
-CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
-# CONFIG_EBC_C384_WDT is not set
-CONFIG_ECHO=m
-CONFIG_ECRYPT_FS=m
-# CONFIG_ECRYPT_FS_MESSAGING is not set
-# CONFIG_EDAC_CPC925 is not set
-# CONFIG_EDAC_DEBUG is not set
-CONFIG_EDAC_GHES=y
-CONFIG_EDAC_LEGACY_SYSFS=y
-# CONFIG_EDAC_MPC85XX is not set
-CONFIG_EDAC=y
-CONFIG_EEPROM_93CX6=m
-# CONFIG_EEPROM_93XX46 is not set
-CONFIG_EEPROM_AT24=m
-# CONFIG_EEPROM_AT25 is not set
-CONFIG_EEPROM_IDT_89HPESX=m
-CONFIG_EEPROM_LEGACY=m
-CONFIG_EEPROM_MAX6875=m
-# CONFIG_EFI_ALLOW_SECURE_BOOT_EXIT is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_EFI_PGT_DUMP is not set
-# CONFIG_EFI_SECURE_BOOT_LOCK_DOWN is not set
-# CONFIG_EFI_SIGNATURE_LIST_PARSER is not set
-# CONFIG_EFI_TEST is not set
-# CONFIG_EFS_FS is not set
-CONFIG_EHEA=m
-# CONFIG_EMBEDDED is not set
-CONFIG_ENABLE_MUST_CHECK=y
-# CONFIG_ENABLE_WARN_DEPRECATED is not set
-# CONFIG_ENC28J60 is not set
-CONFIG_ENCLOSURE_SERVICES=m
-CONFIG_ENCRYPTED_KEYS=y
-CONFIG_ENIC=m
-CONFIG_ENVELOPE_DETECTOR=m
-CONFIG_EPIC100=m
-CONFIG_EPOLL=y
-CONFIG_EQUALIZER=m
-CONFIG_ESI_DONGLE=m
-CONFIG_ET131X=m
-CONFIG_ETHERNET=y
-CONFIG_ETHOC=m
-# CONFIG_EUROTECH_WDT is not set
-# CONFIG_EVM is not set
-# CONFIG_EXOFS_DEBUG is not set
-# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
-# CONFIG_EXPERT is not set
-CONFIG_EXPORTFS=y
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_EXT4_ENCRYPTION=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT2=y
-# CONFIG_EXTCON_ADC_JACK is not set
-# CONFIG_EXTCON_GPIO is not set
-# CONFIG_EXTCON_MAX3355 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
-# CONFIG_EXTCON_RT8973A is not set
-# CONFIG_EXTCON_SM5502 is not set
-# CONFIG_EXTCON_USB_GPIO is not set
-CONFIG_EXTCON=y
-CONFIG_EXTRA_FIRMWARE=""
-CONFIG_EXTRA_TARGETS=""
-# CONFIG_EZNPS_GIC is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_F2FS_CHECK_FS is not set
-# CONFIG_F2FS_FAULT_INJECTION is not set
-# CONFIG_F2FS_FS_ENCRYPTION is not set
-CONFIG_F2FS_FS=m
-CONFIG_F2FS_FS_POSIX_ACL=y
-CONFIG_F2FS_FS_SECURITY=y
-CONFIG_F2FS_FS_XATTR=y
-# CONFIG_F2FS_IO_TRACE is not set
-CONFIG_F2FS_STAT_FS=y
-CONFIG_FA_DUMP=y
-# CONFIG_FAIL_FUTEX is not set
-# CONFIG_FAIL_IOMMU is not set
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_FANOTIFY=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-# CONFIG_FAT_DEFAULT_UTF8 is not set
-CONFIG_FAT_FS=m
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_ASILIANT is not set
-CONFIG_FB_ATY128_BACKLIGHT=y
-# CONFIG_FB_ATY128 is not set
-CONFIG_FB_ATY_BACKLIGHT=y
-# CONFIG_FB_ATY_CT is not set
-# CONFIG_FB_ATY_GX is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_AUO_K190X is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_CONTROL is not set
-# CONFIG_FB_CT65550 is not set
-# CONFIG_FB_CYBER2000 is not set
-CONFIG_FB_EFI=y
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-# CONFIG_FB_HECUBA is not set
-# CONFIG_FB_I740 is not set
-CONFIG_FB_IBM_GXT4500=y
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_KYRO is not set
-CONFIG_FB_MATROX_G=y
-# CONFIG_FB_MATROX_I2C is not set
-# CONFIG_FB_MATROX_MILLENIUM is not set
-# CONFIG_FB_MATROX_MYSTIQUE is not set
-CONFIG_FB_MATROX=y
-# CONFIG_FB_MB862XX_I2C is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_MB862XX_LIME is not set
-# CONFIG_FB_MB862XX_PCI_GDC is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MODE_HELPERS is not set
-# CONFIG_FB_NEOMAGIC is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-# CONFIG_FB_NVIDIA_I2C is not set
-# CONFIG_FB_NVIDIA is not set
-CONFIG_FB_OF=y
-# CONFIG_FB_OPENCORES is not set
-# CONFIG_FB_PLATINUM is not set
-# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_PRE_INIT_FB is not set
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
-# CONFIG_FB_RADEON_I2C is not set
-# CONFIG_FB_RADEON is not set
-CONFIG_FB_RIVA_BACKLIGHT=y
-# CONFIG_FB_RIVA_DEBUG is not set
-# CONFIG_FB_RIVA_I2C is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIMPLE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_SM501 is not set
-# CONFIG_FB_SM712 is not set
-# CONFIG_FB_SM750 is not set
-# CONFIG_FB_SMSCUFX is not set
-CONFIG_FB_SSD1307=m
-# CONFIG_FB_TFT is not set
-CONFIG_FB_TILEBLITTING=y
-# CONFIG_FB_TMIO is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_UDL is not set
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_VALKYRIE is not set
-CONFIG_FB_VESA=y
-# CONFIG_FB_VGA16 is not set
-CONFIG_FB_VIRTUAL=m
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_XGI is not set
-CONFIG_FB=y
-CONFIG_FCOE_FNIC=m
-CONFIG_FCOE=m
-# CONFIG_FDDI is not set
-CONFIG_FEALNX=m
-CONFIG_FHANDLE=y
-# CONFIG_FHCI_DEBUG is not set
-CONFIG_FIREWIRE=m
-CONFIG_FIREWIRE_NET=m
-CONFIG_FIREWIRE_NOSY=m
-CONFIG_FIREWIRE_OHCI=m
-CONFIG_FIREWIRE_SBP2=m
-# CONFIG_FIREWIRE_SERIAL is not set
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_FIXED_PHY=y
-CONFIG_FM10K=m
-CONFIG_FMC_CHARDEV=m
-CONFIG_FMC_FAKEDEV=m
-CONFIG_FMC=m
-CONFIG_FMC_TRIVIAL=m
-CONFIG_FMC_WRITE_EEPROM=m
-# CONFIG_FONTS is not set
-CONFIG_FORCEDETH=m
-CONFIG_FORCE_MAX_ZONEORDER=9
-CONFIG_FORTIFY_SOURCE=y
-# CONFIG_FPGA is not set
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAME_POINTER=y
-CONFIG_FRAME_WARN=2048
-CONFIG_FRONTSWAP=y
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_HISTOGRAM is not set
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_OBJECT_LIST=y
-CONFIG_FSCACHE_STATS=y
-CONFIG_FS_DAX=y
-CONFIG_FS_ENCRYPTION=y
-# CONFIG_FS_ENET is not set
-CONFIG_FSI=m
-CONFIG_FSI_MASTER_GPIO=m
-CONFIG_FSI_MASTER_HUB=m
-CONFIG_FSI_SCOM=m
-# CONFIG_FSL_DMA is not set
-# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_LBC is not set
-# CONFIG_FSL_PQ_MDIO is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_FSNOTIFY=y
-# CONFIG_FTL is not set
-CONFIG_FTRACE_MCOUNT_RECORD=y
-# CONFIG_FTRACE_STARTUP_TEST is not set
-CONFIG_FTRACE_SYSCALLS=y
-CONFIG_FTRACE=y
-# CONFIG_FTR_FIXUP_SELFTEST is not set
-# CONFIG_FUNCTION_GRAPH_TRACER is not set
-CONFIG_FUNCTION_PROFILER=y
-CONFIG_FUNCTION_TRACER=y
-CONFIG_FUSE_FS=m
-CONFIG_FUSION_CTL=m
-CONFIG_FUSION_FC=m
-CONFIG_FUSION_LAN=m
-CONFIG_FUSION_LOGGING=y
-CONFIG_FUSION_MAX_SGE=40
-CONFIG_FUSION_SAS=m
-CONFIG_FUSION_SPI=m
-CONFIG_FUSION=y
-CONFIG_FUTEX=y
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
-# CONFIG_FW_LOADER_USER_HELPER is not set
-CONFIG_FW_LOADER=y
-CONFIG_GACT_PROB=y
-CONFIG_GAMEPORT_EMU10K1=m
-CONFIG_GAMEPORT_FM801=m
-CONFIG_GAMEPORT_L4=m
-CONFIG_GAMEPORT=m
-CONFIG_GAMEPORT_NS558=m
-# CONFIG_GCC_PLUGINS is not set
-# CONFIG_GCOV_KERNEL is not set
-# CONFIG_GDB_SCRIPTS is not set
-# CONFIG_GEF_PPC9A is not set
-# CONFIG_GEF_SBC310 is not set
-# CONFIG_GEF_SBC610 is not set
-# CONFIG_GENERIC_ADC_BATTERY is not set
-# CONFIG_GENERIC_ADC_THERMAL is not set
-# CONFIG_GENERIC_IRQ_DEBUGFS is not set
-CONFIG_GENERIC_PHY=y
-CONFIG_GENEVE=m
-# CONFIG_GEN_RTC is not set
-CONFIG_GENWQE=m
-CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=1
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_GFS2_FS=m
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_CAPI=y
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_GIGASET_M101=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIRBIL_DONGLE=m
-# CONFIG_GLOB_SELFTEST is not set
-# CONFIG_GOLDFISH is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-# CONFIG_GP2AP020A00F is not set
-# CONFIG_GPIO_104_DIO_48E is not set
-# CONFIG_GPIO_104_IDIO_16 is not set
-# CONFIG_GPIO_74X164 is not set
-# CONFIG_GPIO_74XX_MMIO is not set
-# CONFIG_GPIO_ADNP is not set
-# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_ALTERA is not set
-# CONFIG_GPIO_AMDPT is not set
-# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_DWAPB is not set
-CONFIG_GPIO_EXAR=m
-# CONFIG_GPIO_FTGPIO010 is not set
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
-CONFIG_GPIOLIB=y
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_MPC8XXX is not set
-CONFIG_GPIO_PCA953X=m
-CONFIG_GPIO_PCF857X=m
-# CONFIG_GPIO_PCH is not set
-CONFIG_GPIO_PCI_IDIO_16=m
-# CONFIG_GPIO_PISOSR is not set
-# CONFIG_GPIO_RDC321X is not set
-# CONFIG_GPIO_SCH311X is not set
-# CONFIG_GPIO_SX150X is not set
-# CONFIG_GPIO_SYSCON is not set
-# CONFIG_GPIO_SYSFS is not set
-# CONFIG_GPIO_TPIC2810 is not set
-# CONFIG_GPIO_TS4900 is not set
-# CONFIG_GPIO_TS5500 is not set
-# CONFIG_GPIO_UCB1400 is not set
-CONFIG_GPIO_VIPERBOARD=m
-# CONFIG_GPIO_WATCHDOG is not set
-CONFIG_GPIO_WM831X=m
-# CONFIG_GPIO_WS16C48 is not set
-# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_XRA1403 is not set
-CONFIG_GREENASIA_FF=y
-# CONFIG_GREYBUS is not set
-# CONFIG_GS_FPGABOOT is not set
-CONFIG_GTP=m
-CONFIG_HAMACHI=m
-CONFIG_HAMRADIO=y
-CONFIG_HANGCHECK_TIMER=m
-CONFIG_HAPPYMEAL=m
-CONFIG_HARDENED_USERCOPY=y
-CONFIG_HARDLOCKUP_DETECTOR=y
-CONFIG_HAVE_BOOTMEM_INFO_NODE=y
-# CONFIG_HCALL_STATS is not set
-CONFIG_HD44780=m
-# CONFIG_HDC100X is not set
-CONFIG_HEADERS_CHECK=y
-CONFIG_HERMES_CACHE_FW_ON_INIT=y
-CONFIG_HERMES=m
-CONFIG_HERMES_PRISM=y
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-# CONFIG_HFSPLUS_FS_POSIX_ACL is not set
-# CONFIG_HI8435 is not set
-# CONFIG_HIBERNATION is not set
-CONFIG_HID_A4TECH=m
-CONFIG_HID_ACCUTOUCH=m
-CONFIG_HID_ACRUX_FF=y
-CONFIG_HID_ACRUX=m
-CONFIG_HID_ALPS=m
-CONFIG_HID_APPLEIR=m
-CONFIG_HID_APPLE=m
-CONFIG_HID_ASUS=m
-CONFIG_HID_AUREAL=m
-CONFIG_HID_BATTERY_STRENGTH=y
-CONFIG_HID_BELKIN=m
-CONFIG_HID_BETOP_FF=m
-CONFIG_HID_CHERRY=m
-CONFIG_HID_CHICONY=m
-CONFIG_HID_CMEDIA=m
-CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
-CONFIG_HID_CYPRESS=m
-CONFIG_HID_DRAGONRISE=m
-CONFIG_HID_ELECOM=m
-CONFIG_HID_ELO=m
-CONFIG_HID_EMS_FF=m
-CONFIG_HID_EZKEY=m
-CONFIG_HID_GEMBIRD=m
-CONFIG_HID_GENERIC=y
-CONFIG_HID_GFRM=m
-CONFIG_HID_GREENASIA=m
-CONFIG_HID_GT683R=m
-CONFIG_HID_GYRATION=m
-CONFIG_HID_HOLTEK=m
-CONFIG_HID_ICADE=m
-CONFIG_HID_ITE=m
-CONFIG_HID_KENSINGTON=m
-CONFIG_HID_KEYTOUCH=m
-CONFIG_HID_KYE=m
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LED=m
-CONFIG_HID_LENOVO=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_HID_LOGITECH_HIDPP=m
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_MAGICMOUSE=y
-CONFIG_HID_MAYFLASH=m
-CONFIG_HID_MICROSOFT=m
-CONFIG_HID_MONTEREY=m
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTI=m
-CONFIG_HID_NTRIG=y
-CONFIG_HID_ORTEK=m
-CONFIG_HID_PANTHERLORD=m
-CONFIG_HID_PENMOUNT=m
-CONFIG_HID_PETALYNX=m
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PID=y
-CONFIG_HID_PLANTRONICS=m
-CONFIG_HID_PRIMAX=m
-CONFIG_HID_PRODIKEYS=m
-CONFIG_HIDRAW=y
-CONFIG_HID_RETRODE=m
-CONFIG_HID_RMI=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_SAITEK=m
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SENSOR_ACCEL_3D=m
-CONFIG_HID_SENSOR_ALS=m
-# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
-CONFIG_HID_SENSOR_DEVICE_ROTATION=m
-CONFIG_HID_SENSOR_GYRO_3D=m
-CONFIG_HID_SENSOR_HUB=m
-CONFIG_HID_SENSOR_HUMIDITY=m
-CONFIG_HID_SENSOR_IIO_COMMON=m
-CONFIG_HID_SENSOR_IIO_TRIGGER=m
-CONFIG_HID_SENSOR_INCLINOMETER_3D=m
-CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
-# CONFIG_HID_SENSOR_PRESS is not set
-# CONFIG_HID_SENSOR_PROX is not set
-CONFIG_HID_SENSOR_TEMP=m
-CONFIG_HID_SMARTJOYPLUS=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SPEEDLINK=m
-CONFIG_HID_STEELSERIES=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_HID_THINGM=m
-CONFIG_HID_THRUSTMASTER=m
-CONFIG_HID_TIVO=m
-CONFIG_HID_TOPSEED=m
-CONFIG_HID_TWINHAN=m
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_UDRAW_PS3=m
-CONFIG_HID_WACOM=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_WIIMOTE=m
-CONFIG_HID_XINMO=m
-CONFIG_HID=y
-CONFIG_HID_ZEROPLUS=m
-CONFIG_HID_ZYDACRON=m
-CONFIG_HIGH_RES_TIMERS=y
-# CONFIG_HIPPI is not set
-CONFIG_HISAX_16_3=y
-CONFIG_HISAX_1TR6=y
-CONFIG_HISAX_AVM_A1_CS=m
-CONFIG_HISAX_AVM_A1_PCMCIA=y
-CONFIG_HISAX_BKM_A4T=y
-# CONFIG_HISAX_DEBUG is not set
-CONFIG_HISAX_DIEHLDIVA=y
-CONFIG_HISAX_ELSA_CS=m
-CONFIG_HISAX_ELSA=y
-CONFIG_HISAX_ENTERNOW_PCI=y
-CONFIG_HISAX_EURO=y
-CONFIG_HISAX_FRITZ_PCIPNP=m
-CONFIG_HISAX_FRITZPCI=y
-CONFIG_HISAX_GAZEL=y
-CONFIG_HISAX_HFC4S8S=m
-CONFIG_HISAX_HFC_PCI=y
-CONFIG_HISAX_HFC_SX=y
-# CONFIG_HISAX_HFCUSB is not set
-CONFIG_HISAX_MAX_CARDS=8
-CONFIG_HISAX_NETJET_U=y
-CONFIG_HISAX_NETJET=y
-CONFIG_HISAX_NI1=y
-CONFIG_HISAX_NICCY=y
-CONFIG_HISAX_NO_KEYPAD=y
-CONFIG_HISAX_NO_LLC=y
-CONFIG_HISAX_NO_SENDCOMPLETE=y
-CONFIG_HISAX_S0BOX=y
-CONFIG_HISAX_SCT_QUADRO=y
-CONFIG_HISAX_SEDLBAUER_CS=m
-CONFIG_HISAX_SEDLBAUER=y
-CONFIG_HISAX_ST5481=m
-CONFIG_HISAX_TELES_CS=m
-CONFIG_HISAX_TELESPCI=y
-CONFIG_HISAX_W6692=y
-CONFIG_HIST_TRIGGERS=y
-# CONFIG_HMC6352 is not set
-# CONFIG_HMC_DRV is not set
-CONFIG_HOLTEK_FF=y
-# CONFIG_HOSTAP is not set
-CONFIG_HOTPLUG_CPU=y
-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_RPA_DLPAR=m
-CONFIG_HOTPLUG_PCI_RPA=m
-CONFIG_HOTPLUG_PCI_SHPC=m
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG=y
-# CONFIG_HP03 is not set
-# CONFIG_HP206C is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_HSI is not set
-# CONFIG_HSR is not set
-# CONFIG_HSU_DMA is not set
-# CONFIG_HSU_DMA_PCI is not set
-CONFIG_HT16K33=m
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_I2CPLD is not set
-# CONFIG_HTC_PASIC3 is not set
-CONFIG_HT_IRQ=y
-CONFIG_HTS221=m
-# CONFIG_HTU21 is not set
-CONFIG_HUGETLBFS=y
-CONFIG_HUGETLB_PAGE=y
-CONFIG_HVC_CONSOLE=y
-# CONFIG_HVC_OLD_HVSI is not set
-CONFIG_HVC_OPAL=y
-CONFIG_HVC_RTAS=y
-CONFIG_HVCS=m
-# CONFIG_HVC_UDBG is not set
-CONFIG_HV_PERF_CTRS=y
-CONFIG_HW_CONSOLE=y
-CONFIG_HWLAT_TRACER=y
-# CONFIG_HWMON_DEBUG_CHIP is not set
-CONFIG_HWMON=y
-CONFIG_HWPOISON_INJECT=m
-CONFIG_HW_RANDOM_POWERNV=m
-CONFIG_HW_RANDOM_PSERIES=m
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-CONFIG_HW_RANDOM_TPM=m
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM=y
-CONFIG_HWSPINLOCK=m
-# 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
-CONFIG_I2C_ALGOBIT=m
-CONFIG_I2C_ALGOPCA=m
-CONFIG_I2C_ALGOPCF=m
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD756_S4882 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# CONFIG_I2C_BCM2048 is not set
-# CONFIG_I2C_CADENCE is not set
-# CONFIG_I2C_CBUS_GPIO is not set
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_COMPAT=y
-# CONFIG_I2C_CPM is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEMUX_PINCTRL is not set
-# CONFIG_I2C_DESIGNWARE is not set
-CONFIG_I2C_DESIGNWARE_PCI=m
-# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
-CONFIG_I2C_DESIGNWARE_SLAVE=y
-CONFIG_I2C_DIOLAN_U2C=m
-# CONFIG_I2C_EG20T is not set
-# CONFIG_I2C_EMEV2 is not set
-# CONFIG_I2C_GPIO is not set
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_HID=m
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_ISCH is not set
-CONFIG_I2C=m
-CONFIG_I2C_MLXCPLD=m
-CONFIG_I2C_MPC=m
-# CONFIG_I2C_MUX_GPIO is not set
-CONFIG_I2C_MUX_GPMUX=m
-CONFIG_I2C_MUX_LTC4306=m
-CONFIG_I2C_MUX=m
-CONFIG_I2C_MUX_MLXCPLD=m
-# CONFIG_I2C_MUX_PCA9541 is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-# CONFIG_I2C_MUX_PINCTRL is not set
-# CONFIG_I2C_MUX_REG is not set
-CONFIG_I2C_NFORCE2=m
-# CONFIG_I2C_NFORCE2_S4985 is not set
-# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_OPAL=m
-CONFIG_I2C_PARPORT_LIGHT=m
-CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PCA_PLATFORM=m
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_RK3X is not set
-# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
-CONFIG_I2C_SI470X=m
-# CONFIG_I2C_SI4713 is not set
-CONFIG_I2C_SIMTEC=m
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-CONFIG_I2C_SLAVE_EEPROM=m
-CONFIG_I2C_SLAVE=y
-CONFIG_I2C_STUB=m
-# CONFIG_I2C_TAOS_EVM is not set
-CONFIG_I2C_TINY_USB=m
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-CONFIG_I2C_VIPERBOARD=m
-# CONFIG_I2C_XILINX is not set
-# CONFIG_I2O is not set
-# CONFIG_I40E_DCB is not set
-# CONFIG_I40E_FCOE is not set
-CONFIG_I40E=m
-CONFIG_I40EVF=m
-CONFIG_I6300ESB_WDT=m
-CONFIG_I82092=m
-# CONFIG_IAQCORE is not set
-CONFIG_IBM_BSR=m
-CONFIG_IBMEBUS=y
-# CONFIG_IBM_EMAC is not set
-CONFIG_IBMVETH=m
-CONFIG_IBMVNIC=m
-CONFIG_ICPLUS_PHY=m
-# CONFIG_ICS932S401 is not set
-# CONFIG_IDE is not set
-# CONFIG_IDEPCI_PCIBUS_ORDER is not set
-# CONFIG_IDLE_PAGE_TRACKING is not set
-# CONFIG_IDMA64 is not set
-CONFIG_IEEE802154_6LOWPAN=m
-CONFIG_IEEE802154_ADF7242=m
-# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set
-CONFIG_IEEE802154_AT86RF230=m
-CONFIG_IEEE802154_ATUSB=m
-# CONFIG_IEEE802154_CA8210_DEBUGFS is not set
-CONFIG_IEEE802154_CA8210=m
-CONFIG_IEEE802154_CC2520=m
-CONFIG_IEEE802154_DRIVERS=m
-CONFIG_IEEE802154_FAKELB=m
-CONFIG_IEEE802154=m
-CONFIG_IEEE802154_MRF24J40=m
-# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
-CONFIG_IEEE802154_SOCKET=m
-CONFIG_IFB=m
-CONFIG_IGB_DCA=y
-CONFIG_IGB_HWMON=y
-CONFIG_IGB=m
-CONFIG_IGBVF=m
-CONFIG_IIO_BUFFER_CB=m
-CONFIG_IIO_BUFFER=y
-CONFIG_IIO_CONFIGFS=m
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_HRTIMER_TRIGGER is not set
-CONFIG_IIO_INTERRUPT_TRIGGER=m
-CONFIG_IIO_KFIFO_BUF=m
-CONFIG_IIO=m
-CONFIG_IIO_MUX=m
-# CONFIG_IIO_SIMPLE_DUMMY is not set
-# CONFIG_IIO_SSP_SENSORHUB is not set
-CONFIG_IIO_ST_ACCEL_3AXIS=m
-CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
-CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
-CONFIG_IIO_ST_GYRO_3AXIS=m
-CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
-CONFIG_IIO_ST_GYRO_SPI_3AXIS=m
-# CONFIG_IIO_ST_LSM6DSX is not set
-CONFIG_IIO_ST_MAGN_3AXIS=m
-# CONFIG_IIO_ST_PRESS is not set
-CONFIG_IIO_SW_DEVICE=m
-CONFIG_IIO_SW_TRIGGER=m
-# CONFIG_IIO_SYSFS_TRIGGER is not set
-CONFIG_IIO_TIGHTLOOP_TRIGGER=m
-CONFIG_IIO_TRIGGERED_BUFFER=m
-CONFIG_IIO_TRIGGER=y
-# CONFIG_IKCONFIG is not set
-# CONFIG_IMA is not set
-CONFIG_IMA_LSM_RULES=y
-CONFIG_IMA_MEASURE_PCR_IDX=10
-# CONFIG_IMG_ASCII_LCD is not set
-# CONFIG_INA2XX_ADC is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_ESP_OFFLOAD=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET_AH=m
-CONFIG_INET_DIAG_DESTROY=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_ESP=m
-CONFIG_INET_ESP_OFFLOAD=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_RAW_DIAG=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET=y
-# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
-CONFIG_INFINIBAND_CXGB3=m
-CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
-CONFIG_INFINIBAND_IPOIB_CM=y
-CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
-CONFIG_INFINIBAND_IPOIB_DEBUG=y
-CONFIG_INFINIBAND_IPOIB=m
-CONFIG_INFINIBAND_ISER=m
-CONFIG_INFINIBAND_ISERT=m
-CONFIG_INFINIBAND=m
-CONFIG_INFINIBAND_MTHCA=m
-# CONFIG_INFINIBAND_NES_DEBUG is not set
-CONFIG_INFINIBAND_NES=m
-CONFIG_INFINIBAND_OCRDMA=m
-CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
-# CONFIG_INFINIBAND_QEDR is not set
-CONFIG_INFINIBAND_QIB_DCA=y
-CONFIG_INFINIBAND_QIB=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_INFINIBAND_SRP=m
-CONFIG_INFINIBAND_SRPT=m
-CONFIG_INFINIBAND_USER_ACCESS=m
-CONFIG_INFINIBAND_USER_MAD=m
-CONFIG_INFINIBAND_USNIC=m
-# CONFIG_INFINIBAND_VMWARE_PVRDMA is not set
-# CONFIG_INFTL is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
-# CONFIG_INPUT_AD714X is not set
-# CONFIG_INPUT_ADXL34X is not set
-CONFIG_INPUT_APANEL=m
-CONFIG_INPUT_ATI_REMOTE2=m
-CONFIG_INPUT_ATLAS_BTNS=m
-# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BMA150 is not set
-CONFIG_INPUT_CM109=m
-CONFIG_INPUT_CMA3000_I2C=m
-CONFIG_INPUT_CMA3000=m
-# CONFIG_INPUT_DRV260X_HAPTICS is not set
-# CONFIG_INPUT_DRV2665_HAPTICS is not set
-# CONFIG_INPUT_DRV2667_HAPTICS is not set
-CONFIG_INPUT_E3X0_BUTTON=m
-# CONFIG_INPUT_EVBUG is not set
-CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_GP2A is not set
-# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_GPIO_DECODER is not set
-# CONFIG_INPUT_GPIO is not set
-CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
-# CONFIG_INPUT_GPIO_TILT_POLLED is not set
-CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
-# CONFIG_INPUT_IMS_PCU is not set
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_INPUT_KEYSPAN_REMOTE=m
-CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
-CONFIG_INPUT_LEDS=y
-CONFIG_INPUT_MATRIXKMAP=m
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSE=y
-CONFIG_INPUT_PCF50633_PMU=m
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_PCSPKR is not set
-CONFIG_INPUT_PM8XXX_VIBRATOR=m
-CONFIG_INPUT_PMIC8XXX_PWRKEY=m
-CONFIG_INPUT_POLLDEV=m
-CONFIG_INPUT_POWERMATE=m
-CONFIG_INPUT_PWM_BEEPER=m
-CONFIG_INPUT_RETU_PWRBUTTON=m
-CONFIG_INPUT_SPARSEKMAP=m
-CONFIG_INPUT_TABLET=y
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_INPUT_UINPUT=m
-CONFIG_INPUT_WISTRON_BTNS=m
-CONFIG_INPUT_WM831X_ON=m
-CONFIG_INPUT=y
-CONFIG_INPUT_YEALINK=m
-# CONFIG_INTEGRITY is not set
-# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_INTEL_SOC_PMIC is not set
-# CONFIG_INTEL_TH is not set
-CONFIG_INTEL_XWAY_PHY=m
-# CONFIG_INTERVAL_TREE_TEST is not set
-# CONFIG_INV_MPU6050_I2C is not set
-# CONFIG_INV_MPU6050_IIO is not set
-# CONFIG_INV_MPU6050_SPI is not set
-CONFIG_IO_EVENT_IRQ=y
-CONFIG_IOMMU_SUPPORT=y
-CONFIG_IOSCHED_BFQ=m
-CONFIG_IOSCHED_CFQ=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IO_STRICT_DEVMEM=y
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_SECURITY=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-# CONFIG_IP6_NF_TARGET_NPT is not set
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_TARGET_SYNPROXY=m
-# CONFIG_IPACK_BUS is not set
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IPC_NS=y
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-CONFIG_IP_DCCP_CCID2=m
-# CONFIG_IP_DCCP_CCID3_DEBUG is not set
-CONFIG_IP_DCCP_CCID3=y
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP=m
-CONFIG_IP_FIB_TRIE_STATS=y
-CONFIG_IPMI_DEVICE_INTERFACE=m
-CONFIG_IPMI_HANDLER=m
-# CONFIG_IPMI_PANIC_EVENT is not set
-CONFIG_IPMI_POWERNV=m
-CONFIG_IPMI_POWEROFF=m
-CONFIG_IPMI_SI=m
-CONFIG_IPMI_SSIF=m
-CONFIG_IPMI_WATCHDOG=m
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_REJECT=y
-CONFIG_IP_NF_TARGET_SYNPROXY=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-# CONFIG_IP_PNP is not set
-CONFIG_IPPP_FILTER=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_SCTP=m
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPMAC=m
-CONFIG_IP_SET_HASH_IPMARK=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_MAC=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETNET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETPORTNET=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IPV6_GRE=m
-CONFIG_IPV6_ILA=m
-CONFIG_IPV6_MIP6=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_IPV6_PIMSM_V2=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_SEG6_HMAC=y
-CONFIG_IPV6_SEG6_INLINE=y
-CONFIG_IPV6_SEG6_LWTUNNEL=y
-CONFIG_IPV6_SIT_6RD=y
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_VTI=m
-CONFIG_IPV6=y
-CONFIG_IPVLAN=m
-# CONFIG_IP_VS_DEBUG is not set
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_FO=m
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_IPV6=y
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS=m
-CONFIG_IP_VS_NQ=m
-CONFIG_IP_VS_OVF=m
-CONFIG_IP_VS_PE_SIP=m
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_SCTP=y
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SH_TAB_BITS=8
-CONFIG_IP_VS_TAB_BITS=12
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IPVTAP=m
-# CONFIG_IPW2100_DEBUG is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200_DEBUG is not set
-# CONFIG_IPW2200 is not set
-CONFIG_IPWIRELESS=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_IPX=m
-CONFIG_IRCOMM=m
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-# CONFIG_IRDA_DEBUG is not set
-CONFIG_IRDA_FAST_RR=y
-CONFIG_IRDA=m
-# CONFIG_IRDA_ULTRA is not set
-CONFIG_IR_ENE=m
-CONFIG_IR_FINTEK=m
-CONFIG_IR_GPIO_CIR=m
-CONFIG_IR_HIX5HD2=m
-CONFIG_IR_IGORPLUGUSB=m
-CONFIG_IR_IGUANA=m
-# CONFIG_IR_IMG is not set
-CONFIG_IR_IMON=m
-CONFIG_IR_ITE_CIR=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IRLAN=m
-CONFIG_IR_LIRC_CODEC=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_MCEUSB=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IRNET=m
-CONFIG_IR_NUVOTON=m
-CONFIG_IRQ_ALL_CPUS=y
-# CONFIG_IRQ_DOMAIN_DEBUG is not set
-# CONFIG_IRQSOFF_TRACER is not set
-CONFIG_IRQSTACKS=y
-CONFIG_IRQ_TIME_ACCOUNTING=y
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_REDRAT3=m
-CONFIG_IR_SANYO_DECODER=m
-CONFIG_IR_SERIAL=m
-CONFIG_IR_SERIAL_TRANSMITTER=y
-CONFIG_IR_SHARP_DECODER=m
-CONFIG_IR_SIR=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_SPI=m
-CONFIG_IR_STREAMZAP=m
-CONFIG_IR_TTUSBIR=m
-CONFIG_IRTTY_SIR=m
-CONFIG_IR_WINBOND_CIR=m
-CONFIG_IR_XMP_DECODER=m
-# CONFIG_ISA is not set
-CONFIG_ISCSI_BOOT_SYSFS=m
-CONFIG_ISCSI_TARGET_CXGB4=m
-CONFIG_ISCSI_TARGET=m
-CONFIG_ISCSI_TCP=m
-CONFIG_ISDN_AUDIO=y
-CONFIG_ISDN_CAPI_CAPI20=m
-CONFIG_ISDN_CAPI_CAPIDRV=m
-# CONFIG_ISDN_CAPI_CAPIDRV_VERBOSE is not set
-CONFIG_ISDN_CAPI=m
-CONFIG_ISDN_CAPI_MIDDLEWARE=y
-CONFIG_ISDN_DIVAS_BRIPCI=y
-CONFIG_ISDN_DIVAS_DIVACAPI=m
-CONFIG_ISDN_DIVAS=m
-CONFIG_ISDN_DIVAS_MAINT=m
-CONFIG_ISDN_DIVAS_PRIPCI=y
-CONFIG_ISDN_DIVAS_USERIDI=m
-CONFIG_ISDN_DIVERSION=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_ISDN_DRV_HISAX=m
-CONFIG_ISDN_DRV_LOOP=m
-CONFIG_ISDN_I4L=m
-CONFIG_ISDN_MPP=y
-# CONFIG_ISDN_PPP_BSDCOMP is not set
-CONFIG_ISDN_PPP_VJ=y
-CONFIG_ISDN_PPP=y
-CONFIG_ISDN_TTY_FAX=y
-CONFIG_ISDN=y
-# CONFIG_ISI is not set
-CONFIG_ISL29003=m
-CONFIG_ISL29020=m
-# CONFIG_ISL29125 is not set
-CONFIG_ISO9660_FS=m
-CONFIG_IT8712F_WDT=m
-CONFIG_IT87_WDT=m
-CONFIG_ITCO_VENDOR_SUPPORT=y
-CONFIG_ITCO_WDT=m
-# CONFIG_ITG3200 is not set
-CONFIG_IWL3945=m
-CONFIG_IWL4965=m
-CONFIG_IWLDVM=m
-CONFIG_IWLEGACY_DEBUGFS=y
-CONFIG_IWLEGACY_DEBUG=y
-CONFIG_IWLEGACY=m
-CONFIG_IWLMVM=m
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
-CONFIG_IWLWIFI_DEBUGFS=y
-CONFIG_IWLWIFI_DEBUG=y
-# CONFIG_IWLWIFI_DEVICE_TRACING is not set
-CONFIG_IWLWIFI=m
-# CONFIG_IWLWIFI_PCIE_RTPM is not set
-# CONFIG_IWM is not set
-CONFIG_IXGBE_DCA=y
-CONFIG_IXGBE_DCB=y
-CONFIG_IXGBE_HWMON=y
-CONFIG_IXGBE=m
-CONFIG_IXGBEVF=m
-CONFIG_IXGB=m
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JFFS2_FS is not set
-# CONFIG_JFS_DEBUG is not set
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-# CONFIG_JFS_STATISTICS is not set
-CONFIG_JME=m
-CONFIG_JOLIET=y
-CONFIG_JOYSTICK_A3D=m
-CONFIG_JOYSTICK_ADI=m
-CONFIG_JOYSTICK_ANALOG=m
-# CONFIG_JOYSTICK_AS5011 is not set
-CONFIG_JOYSTICK_COBRA=m
-CONFIG_JOYSTICK_DB9=m
-CONFIG_JOYSTICK_GAMECON=m
-CONFIG_JOYSTICK_GF2K=m
-CONFIG_JOYSTICK_GRIP=m
-CONFIG_JOYSTICK_GRIP_MP=m
-CONFIG_JOYSTICK_GUILLEMOT=m
-CONFIG_JOYSTICK_IFORCE_232=y
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_INTERACT=m
-CONFIG_JOYSTICK_JOYDUMP=m
-CONFIG_JOYSTICK_MAGELLAN=m
-CONFIG_JOYSTICK_PSXPAD_SPI_FF=y
-CONFIG_JOYSTICK_PSXPAD_SPI=m
-CONFIG_JOYSTICK_SIDEWINDER=m
-CONFIG_JOYSTICK_SPACEBALL=m
-CONFIG_JOYSTICK_SPACEORB=m
-CONFIG_JOYSTICK_STINGER=m
-CONFIG_JOYSTICK_TMDC=m
-CONFIG_JOYSTICK_TURBOGRAFX=m
-CONFIG_JOYSTICK_TWIDJOY=m
-CONFIG_JOYSTICK_WALKERA0701=m
-CONFIG_JOYSTICK_WARRIOR=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_ZHENHUA=m
-# CONFIG_JSA1212 is not set
-# CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG is not set
-# CONFIG_JUMP_LABEL_FEATURE_CHECKS is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_KALLSYMS=y
-CONFIG_KARMA_PARTITION=y
-# CONFIG_KASAN is not set
-# CONFIG_KCOV is not set
-CONFIG_KDB_CONTINUE_CATASTROPHIC=0
-# CONFIG_KERNEL_BZIP2 is not set
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_KEXEC_FILE is not set
-CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_CAP11XX is not set
-# CONFIG_KEYBOARD_DLINK_DIR685 is not set
-# CONFIG_KEYBOARD_GPIO is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_LM8333 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OMAP4 is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-CONFIG_KEYBOARD_PMIC8XXX=m
-CONFIG_KEYBOARD_QT1070=m
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_SAMSUNG is not set
-# CONFIG_KEYBOARD_SH_KEYSC is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_TCA8418 is not set
-CONFIG_KEYBOARD_TM2_TOUCHKEY=m
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_KEY_DH_OPERATIONS=y
-CONFIG_KEYS=y
-# CONFIG_KGDB_KDB is not set
-CONFIG_KGDB_LOW_LEVEL_TRAP=y
-CONFIG_KGDB_SERIAL_CONSOLE=y
-# CONFIG_KGDB_TESTS_ON_BOOT is not set
-CONFIG_KGDB_TESTS=y
-CONFIG_KGDB=y
-CONFIG_KINGSUN_DONGLE=m
-# CONFIG_KMX61 is not set
-CONFIG_KPROBE_EVENTS=y
-# CONFIG_KPROBES_SANITY_TEST is not set
-CONFIG_KPROBES=y
-CONFIG_KS0108_DELAY=2
-CONFIG_KS0108=m
-CONFIG_KS0108_PORT=0x378
-# CONFIG_KS7010 is not set
-# CONFIG_KS8842 is not set
-# CONFIG_KS8851 is not set
-# CONFIG_KS8851_MLL is not set
-CONFIG_KS959_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KSM=y
-CONFIG_KSZ884X_PCI=m
-CONFIG_KVM_BOOK3S_64_HV=m
-CONFIG_KVM_BOOK3S_64=m
-CONFIG_KVM_BOOK3S_64_PR=m
-# CONFIG_KVM_BOOK3S_HV_EXIT_TIMING is not set
-# CONFIG_KVM_EXIT_TIMING is not set
-CONFIG_KVM_GUEST=y
-CONFIG_KVM_XICS=y
-CONFIG_KXCJK1013=m
-# CONFIG_KXSD9 is not set
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_ETH=m
-CONFIG_L2TP_IP=m
-CONFIG_L2TP=m
-CONFIG_L2TP_V3=y
-# CONFIG_LANCE is not set
-# CONFIG_LAPB is not set
-CONFIG_LATENCYTOP=y
-# CONFIG_LATTICE_ECP3_CONFIG is not set
-# CONFIG_LCD_AMS369FG06 is not set
-CONFIG_LCD_CLASS_DEVICE=m
-# CONFIG_LCD_HX8357 is not set
-# CONFIG_LCD_ILI922X is not set
-# CONFIG_LCD_ILI9320 is not set
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LD9040 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LMS501KF03 is not set
-# CONFIG_LCD_LTV350QV is not set
-CONFIG_LCD_PLATFORM=m
-# CONFIG_LCD_S6E63M0 is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LDM_DEBUG is not set
-CONFIG_LDM_PARTITION=y
-# CONFIG_LEDS_AAT1290 is not set
-# CONFIG_LEDS_BCM6328 is not set
-# CONFIG_LEDS_BCM6358 is not set
-# CONFIG_LEDS_BD2802 is not set
-CONFIG_LEDS_BLINKM=m
-CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
-CONFIG_LEDS_CLASS_FLASH=m
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_CLEVO_MAIL=m
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_GPIO is not set
-# CONFIG_LEDS_IS31FL319X is not set
-# CONFIG_LEDS_IS31FL32XX is not set
-# CONFIG_LEDS_KTD2692 is not set
-CONFIG_LEDS_LM3530=m
-# CONFIG_LEDS_LM355x is not set
-# CONFIG_LEDS_LM3642 is not set
-# CONFIG_LEDS_LOCOMO is not set
-CONFIG_LEDS_LP3944=m
-CONFIG_LEDS_LP3952=m
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_LP5562 is not set
-# CONFIG_LEDS_LP55XX_COMMON is not set
-# CONFIG_LEDS_LP8501 is not set
-# CONFIG_LEDS_LP8860 is not set
-CONFIG_LEDS_LT3593=m
-CONFIG_LEDS_MLXCPLD=m
-# CONFIG_LEDS_NET48XX is not set
-CONFIG_LEDS_NIC78BX=m
-# CONFIG_LEDS_OT200 is not set
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_PCA963X is not set
-CONFIG_LEDS_POWERNV=m
-# CONFIG_LEDS_PWM is not set
-CONFIG_LEDS_REGULATOR=m
-# CONFIG_LEDS_S3C24XX is not set
-# CONFIG_LEDS_SYSCON is not set
-# CONFIG_LEDS_TCA6507 is not set
-# CONFIG_LEDS_TLC591XX is not set
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_CAMERA=m
-# CONFIG_LEDS_TRIGGER_CPU is not set
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-CONFIG_LEDS_TRIGGER_DISK=y
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_MTD=y
-CONFIG_LEDS_TRIGGER_ONESHOT=m
-CONFIG_LEDS_TRIGGER_PANIC=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_TRANSIENT=m
-CONFIG_LEDS_USER=m
-CONFIG_LEDS_WM831X_STATUS=m
-CONFIG_LEDS_WM8350=m
-CONFIG_LED_TRIGGER_PHY=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-CONFIG_LIB80211_CRYPT_WEP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_LIB80211=m
-CONFIG_LIBCRC32C=m
-CONFIG_LIBERTAS_CS=m
-# CONFIG_LIBERTAS_DEBUG is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_MESH=y
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_SPI is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBFC=m
-CONFIG_LIBFCOE=m
-# CONFIG_LIBIPW_DEBUG is not set
-# CONFIG_LIBNVDIMM is not set
-# CONFIG_LIDAR_LITE_V2 is not set
-CONFIG_LIQUIDIO_VF=m
-CONFIG_LIRC_BT829=m
-CONFIG_LIRC_IMON=m
-CONFIG_LIRC=m
-CONFIG_LIRC_PARALLEL=m
-CONFIG_LIRC_SERIAL=m
-CONFIG_LIRC_SERIAL_TRANSMITTER=y
-CONFIG_LIRC_SIR=m
-CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_ZILOG=m
-CONFIG_LITELINK_DONGLE=m
-# CONFIG_LIVEPATCH is not set
-# CONFIG_LKDTM is not set
-# CONFIG_LLC2 is not set
-CONFIG_LLC=m
-CONFIG_LMP91000=m
-# CONFIG_LNET is not set
-# CONFIG_LOAD_UEFI_KEYS is not set
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_LOCKD=m
-# CONFIG_LOCK_DOWN_KERNEL is not set
-CONFIG_LOCKD_V4=y
-# CONFIG_LOCK_STAT is not set
-# CONFIG_LOCK_TORTURE_TEST is not set
-CONFIG_LOCKUP_DETECTOR=y
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
-# CONFIG_LOGFS is not set
-CONFIG_LOGIG940_FF=y
-CONFIG_LOGIRUMBLEPAD2_FF=y
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_LOGO_LIBRE_CLUT224=y
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO=y
-CONFIG_LOOPBACK_TARGET=m
-CONFIG_LPARCFG=y
-# CONFIG_LPC_ICH is not set
-CONFIG_LP_CONSOLE=y
-# CONFIG_LPC_SCH is not set
-CONFIG_LPFC_NVME_INITIATOR=y
-CONFIG_LPFC_NVME_TARGET=y
-CONFIG_LSI_ET1011C_PHY=m
-CONFIG_LSM_MMAP_MIN_ADDR=65536
-# CONFIG_LTC2485 is not set
-# CONFIG_LTC2497 is not set
-# CONFIG_LTC2632 is not set
-# CONFIG_LTE_GDM724X is not set
-# CONFIG_LTR501 is not set
-# CONFIG_LUSTRE_FS is not set
-CONFIG_LWTUNNEL_BPF=y
-CONFIG_LWTUNNEL=y
-CONFIG_LXT_PHY=m
-# CONFIG_M62332 is not set
-CONFIG_MA600_DONGLE=m
-CONFIG_MAC80211_DEBUGFS=y
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_MAC80211_HWSIM=m
-CONFIG_MAC80211_LEDS=y
-CONFIG_MAC80211=m
-CONFIG_MAC80211_MESH=y
-# CONFIG_MAC80211_MESSAGE_TRACING is not set
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC802154=m
-CONFIG_MACB=m
-CONFIG_MACB_PCI=m
-CONFIG_MACB_USE_HWSTAMP=y
-CONFIG_MAC_EMUMOUSEBTN=y
-CONFIG_MACHZ_WDT=m
-# CONFIG_MACINTOSH_DRIVERS is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MACSEC=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-# CONFIG_MAG3110 is not set
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
-CONFIG_MAGIC_SYSRQ_SERIAL=y
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_MAILBOX is not set
-# CONFIG_MAILBOX_TEST is not set
-# CONFIG_MANDATORY_FILE_LOCKING is not set
-CONFIG_MANTIS_CORE=m
-CONFIG_MARVELL_10G_PHY=m
-CONFIG_MARVELL_PHY=m
-# CONFIG_MATH_EMULATION is not set
-# CONFIG_MAX1027 is not set
-# CONFIG_MAX11100 is not set
-# CONFIG_MAX1118 is not set
-CONFIG_MAX1363=m
-CONFIG_MAX30100=m
-# CONFIG_MAX30102 is not set
-# CONFIG_MAX44000 is not set
-# CONFIG_MAX517 is not set
-# CONFIG_MAX5481 is not set
-# CONFIG_MAX5487 is not set
-# CONFIG_MAX5821 is not set
-# CONFIG_MAX63XX_WATCHDOG is not set
-# CONFIG_MAX9611 is not set
-# CONFIG_MAXIM_THERMOCOUPLE is not set
-CONFIG_MAX_RAW_DEVS=8192
-# CONFIG_MC3230 is not set
-# CONFIG_MCB is not set
-# CONFIG_MCE_AMD_INJ is not set
-CONFIG_MCP2120_DONGLE=m
-# CONFIG_MCP320X is not set
-# CONFIG_MCP3422 is not set
-# CONFIG_MCP4131 is not set
-# CONFIG_MCP4531 is not set
-# CONFIG_MCP4725 is not set
-# CONFIG_MCP4922 is not set
-CONFIG_MCS_FIR=m
-# CONFIG_MCU_MPC8349EMITX is not set
-CONFIG_MD_AUTODETECT=y
-# CONFIG_MD_CLUSTER is not set
-CONFIG_MD_FAULTY=m
-CONFIG_MDIO_BCM_UNIMAC=m
-CONFIG_MDIO_BITBANG=m
-# CONFIG_MDIO_BUS_MUX_GPIO is not set
-# CONFIG_MDIO_BUS_MUX is not set
-# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
-CONFIG_MDIO_GPIO=m
-# CONFIG_MDIO_HISI_FEMAC is not set
-# CONFIG_MDIO_OCTEON is not set
-# CONFIG_MDIO_THUNDER is not set
-CONFIG_MD_LINEAR=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID456=m
-CONFIG_MD=y
-CONFIG_MEDIA_ALTERA_CI=m
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_CEC_DEBUG=y
-CONFIG_MEDIA_CEC_RC=y
-CONFIG_MEDIA_CEC_SUPPORT=y
-# CONFIG_MEDIA_CONTROLLER_DVB is not set
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_PCI_SUPPORT=y
-CONFIG_MEDIA_RADIO_SUPPORT=y
-CONFIG_MEDIA_RC_SUPPORT=y
-# CONFIG_MEDIA_SDR_SUPPORT is not set
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-CONFIG_MEDIA_SUPPORT=m
-# CONFIG_MEDIA_TUNER_MSI001 is not set
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_MEGARAID_LEGACY=m
-CONFIG_MEGARAID_MAILBOX=m
-CONFIG_MEGARAID_MM=m
-CONFIG_MEGARAID_NEWGEN=y
-CONFIG_MEGARAID_SAS=m
-CONFIG_MEMCG_SWAP_ENABLED=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_MEMCG=y
-CONFIG_MEMORY_FAILURE=y
-# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
-CONFIG_MEMORY_HOTPLUG=y
-CONFIG_MEMORY_HOTREMOVE=y
-# CONFIG_MEMORY is not set
-CONFIG_MEM_SOFT_DIRTY=y
-# CONFIG_MEMSTICK_DEBUG is not set
-CONFIG_MEMSTICK_JMICRON_38X=m
-CONFIG_MEMSTICK=m
-CONFIG_MEMSTICK_R592=m
-CONFIG_MEMSTICK_REALTEK_PCI=m
-CONFIG_MEMSTICK_REALTEK_USB=m
-CONFIG_MEMSTICK_TIFM_MS=m
-# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
-# CONFIG_MEMTEST is not set
-# CONFIG_MEN_A21_WDT is not set
-CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
-# CONFIG_MFD_88PM800 is not set
-# CONFIG_MFD_88PM805 is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_AAT2870_CORE is not set
-# CONFIG_MFD_ACT8945A is not set
-# CONFIG_MFD_ARIZONA_I2C is not set
-# CONFIG_MFD_ARIZONA is not set
-# CONFIG_MFD_ARIZONA_SPI is not set
-# CONFIG_MFD_AS3711 is not set
-# CONFIG_MFD_AS3722 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_MFD_ATMEL_FLEXCOM is not set
-# CONFIG_MFD_ATMEL_HLCDC is not set
-# CONFIG_MFD_AXP20X_I2C is not set
-# CONFIG_MFD_AXP20X is not set
-# CONFIG_MFD_BCM590XX is not set
-CONFIG_MFD_CORE=m
-# CONFIG_MFD_CPCAP is not set
-# CONFIG_MFD_CROS_EC is not set
-# CONFIG_MFD_CS5535 is not set
-# CONFIG_MFD_DA9052_I2C is not set
-# CONFIG_MFD_DA9052_SPI is not set
-# CONFIG_MFD_DA9055 is not set
-# CONFIG_MFD_DA9062 is not set
-# CONFIG_MFD_DA9063 is not set
-# CONFIG_MFD_DA9150 is not set
-# CONFIG_MFD_DLN2 is not set
-# CONFIG_MFD_HI6421_PMIC is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_KEMPLD is not set
-# CONFIG_MFD_LM3533 is not set
-# CONFIG_MFD_LP3943 is not set
-# CONFIG_MFD_LP8788 is not set
-# CONFIG_MFD_MAX14577 is not set
-# CONFIG_MFD_MAX77620 is not set
-# CONFIG_MFD_MAX77686 is not set
-# CONFIG_MFD_MAX77693 is not set
-# CONFIG_MFD_MAX77843 is not set
-# CONFIG_MFD_MAX8907 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_MC13XXX_I2C is not set
-# CONFIG_MFD_MC13XXX_SPI is not set
-# CONFIG_MFD_MENF21BMC is not set
-# CONFIG_MFD_MT6397 is not set
-# CONFIG_MFD_PALMAS is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_RC5T583 is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_RETU is not set
-# CONFIG_MFD_RK808 is not set
-# CONFIG_MFD_RN5T618 is not set
-# CONFIG_MFD_RT5033 is not set
-CONFIG_MFD_RTSX_PCI=m
-CONFIG_MFD_RTSX_USB=m
-# CONFIG_MFD_SEC_CORE is not set
-# CONFIG_MFD_SI476X_CORE is not set
-# CONFIG_MFD_SKY81452 is not set
-CONFIG_MFD_SM501_GPIO=y
-CONFIG_MFD_SM501=m
-# CONFIG_MFD_SMSC is not set
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_SYSCON is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TC6393XB is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_MFD_TI_LMU is not set
-# CONFIG_MFD_TI_LP873X is not set
-# CONFIG_MFD_TI_LP87565 is not set
-# CONFIG_MFD_TIMBERDALE is not set
-# CONFIG_MFD_TPS65086 is not set
-# CONFIG_MFD_TPS65090 is not set
-# CONFIG_MFD_TPS65217 is not set
-# CONFIG_MFD_TPS65218 is not set
-# CONFIG_MFD_TPS6586X is not set
-# CONFIG_MFD_TPS65910 is not set
-# CONFIG_MFD_TPS65912_I2C is not set
-# CONFIG_MFD_TPS65912 is not set
-# CONFIG_MFD_TPS65912_SPI is not set
-# CONFIG_MFD_TPS80031 is not set
-CONFIG_MFD_VIPERBOARD=m
-CONFIG_MFD_VX855=m
-CONFIG_MFD_WL1273_CORE=m
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8350 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MGCOGE is not set
-# CONFIG_MICREL_KS8995MA is not set
-CONFIG_MICREL_PHY=m
-CONFIG_MICROCHIP_KSZ=m
-CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m
-CONFIG_MICROCHIP_PHY=m
-CONFIG_MICROSEMI_PHY=m
-CONFIG_MIGRATION=y
-CONFIG_MII=m
-CONFIG_MINIX_FS=m
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_MISDN_AVMFRITZ=m
-CONFIG_MISDN_DSP=m
-CONFIG_MISDN_HFCMULTI=m
-CONFIG_MISDN_HFCPCI=m
-CONFIG_MISDN_HFCUSB=m
-CONFIG_MISDN_INFINEON=m
-CONFIG_MISDN_L1OIP=m
-CONFIG_MISDN=m
-CONFIG_MISDN_NETJET=m
-CONFIG_MISDN_SPEEDFAX=m
-CONFIG_MISDN_W6692=m
-CONFIG_MKISS=m
-CONFIG_MLX4_CORE=m
-CONFIG_MLX4_EN_DCB=y
-CONFIG_MLX4_EN=m
-CONFIG_MLX4_INFINIBAND=m
-CONFIG_MLX5_CORE_EN_DCB=y
-CONFIG_MLX5_CORE_EN=y
-CONFIG_MLX5_CORE_IPOIB=y
-CONFIG_MLX5_CORE=m
-# CONFIG_MLX5_EN_IPSEC is not set
-# CONFIG_MLX5_FPGA is not set
-CONFIG_MLX5_INFINIBAND=m
-# CONFIG_MLX90614 is not set
-CONFIG_MLX_CPLD_PLATFORM=m
-CONFIG_MLXFW=m
-CONFIG_MLXSW_CORE_HWMON=y
-CONFIG_MLXSW_CORE=m
-CONFIG_MLXSW_CORE_THERMAL=y
-CONFIG_MLXSW_I2C=m
-CONFIG_MLXSW_MINIMAL=m
-CONFIG_MLXSW_PCI=m
-CONFIG_MLXSW_SPECTRUM_DCB=y
-CONFIG_MLXSW_SPECTRUM=m
-CONFIG_MLXSW_SWITCHIB=m
-CONFIG_MLXSW_SWITCHX2=m
-# CONFIG_MMA7455_I2C is not set
-# CONFIG_MMA7455_SPI is not set
-CONFIG_MMA7660=m
-# CONFIG_MMA8452 is not set
-# CONFIG_MMA9551 is not set
-# CONFIG_MMA9553 is not set
-# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_MMC_BLOCK=m
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_CB710=m
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC=m
-# CONFIG_MMC_MTK is not set
-CONFIG_MMC_REALTEK_PCI=m
-CONFIG_MMC_REALTEK_USB=m
-CONFIG_MMC_RICOH_MMC=y
-CONFIG_MMC_SDHCI_ACPI=m
-CONFIG_MMC_SDHCI_CADENCE=m
-# CONFIG_MMC_SDHCI_F_SDH30 is not set
-CONFIG_MMC_SDHCI=m
-# CONFIG_MMC_SDHCI_OF_ARASAN is not set
-# CONFIG_MMC_SDHCI_OF_AT91 is not set
-# CONFIG_MMC_SDHCI_OF_ESDHC is not set
-# CONFIG_MMC_SDHCI_OF_HLWD is not set
-CONFIG_MMC_SDHCI_PCI=m
-CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_SDHCI_XENON=m
-CONFIG_MMC_SDRICOH_CS=m
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_TEST is not set
-CONFIG_MMC_TIFM_SD=m
-CONFIG_MMC_TOSHIBA_PCI=m
-# CONFIG_MMC_USDHI6ROL0 is not set
-CONFIG_MMC_USHC=m
-CONFIG_MMC_VIA_SDMMC=m
-CONFIG_MMC_VUB300=m
-CONFIG_MMC_WBSD=m
-CONFIG_MMU=y
-# CONFIG_MODULE_COMPRESS is not set
-# CONFIG_MODULE_FORCE_LOAD is not set
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_MODULE_SIG_ALL=y
-# CONFIG_MODULE_SIG_FORCE is not set
-CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
-# CONFIG_MODULE_SIG_SHA1 is not set
-CONFIG_MODULE_SIG_SHA256=y
-CONFIG_MODULE_SIG=y
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MOST is not set
-CONFIG_MOUSE_APPLETOUCH=m
-# CONFIG_MOUSE_ATIXL is not set
-CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_CYAPA=m
-CONFIG_MOUSE_ELAN_I2C_I2C=y
-CONFIG_MOUSE_ELAN_I2C=m
-CONFIG_MOUSE_ELAN_I2C_SMBUS=y
-# CONFIG_MOUSE_GPIO is not set
-CONFIG_MOUSE_PS2_ELANTECH=y
-CONFIG_MOUSE_PS2_SENTELIC=y
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_SERIAL=m
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_MOUSE_SYNAPTICS_USB=m
-CONFIG_MOUSE_VSXXXAA=m
-CONFIG_MOVABLE_NODE=y
-# CONFIG_MOXA_INTELLIO is not set
-# CONFIG_MOXA_SMARTIO is not set
-# CONFIG_MPC5121_ADS is not set
-# CONFIG_MPIC_MSGR is not set
-# CONFIG_MPL115_I2C is not set
-# CONFIG_MPL115 is not set
-# CONFIG_MPL115_SPI is not set
-# CONFIG_MPL3115 is not set
-CONFIG_MPLS_IPTUNNEL=m
-CONFIG_MPLS_ROUTING=m
-CONFIG_MPU3050_I2C=m
-CONFIG_MQ_IOSCHED_DEADLINE=y
-CONFIG_MQ_IOSCHED_KYBER=m
-# CONFIG_MS5611 is not set
-# CONFIG_MS5637 is not set
-# CONFIG_MS_BLOCK is not set
-CONFIG_MSDOS_FS=m
-CONFIG_MSDOS_PARTITION=y
-CONFIG_MSI_BITMAP_SELFTEST=y
-# CONFIG_MSM_GCC_8994 is not set
-CONFIG_MSPRO_BLOCK=m
-CONFIG_MT7601U=m
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_AR7_PARTS is not set
-# CONFIG_MTD_BLKDEVS is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-# CONFIG_MTD_BLOCK is not set
-# CONFIG_MTD_BLOCK_RO is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_DOCG3 is not set
-# CONFIG_MTD_INTEL_VR_NOR is not set
-# CONFIG_MTD_JEDECPROBE is not set
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD=m
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MCHP23K256 is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_NAND_DENALI_DT is not set
-# CONFIG_MTD_NAND_DENALI_PCI is not set
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_ECC_BCH is not set
-# CONFIG_MTD_NAND_FSL_ELBC is not set
-# CONFIG_MTD_NAND_HISI504 is not set
-# CONFIG_MTD_NAND is not set
-# CONFIG_MTD_NAND_OMAP2 is not set
-# CONFIG_MTD_NAND_OXNAS is not set
-CONFIG_MTD_OF_PARTS=m
-# CONFIG_MTD_ONENAND is not set
-# CONFIG_MTD_OOPS is not set
-# CONFIG_MTD_PARTITIONED_MASTER is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_PLATRAM is not set
-# CONFIG_MTD_PMC551 is not set
-CONFIG_MTD_POWERNV_FLASH=m
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_SPI_NOR is not set
-# CONFIG_MTD_SST25L is not set
-# CONFIG_MTD_SWAP is not set
-# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_TS5500 is not set
-CONFIG_MTD_UBI_BEB_LIMIT=20
-# CONFIG_MTD_UBI_BLOCK is not set
-# CONFIG_MTD_UBI_FASTMAP is not set
-# CONFIG_MTD_UBI_GLUEBI is not set
-CONFIG_MTD_UBI=m
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MULTIPLEXER=m
-CONFIG_MUX_ADG792A=m
-CONFIG_MUX_GPIO=m
-CONFIG_MUX_MMIO=m
-CONFIG_MVMDIO=m
-CONFIG_MWAVE=m
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_USB=m
-CONFIG_MWL8K=m
-# CONFIG_MXC4005 is not set
-# CONFIG_MXC6255 is not set
-CONFIG_MYRI10GE_DCA=y
-CONFIG_MYRI10GE=m
-CONFIG_NAMESPACES=y
-CONFIG_NATIONAL_PHY=m
-CONFIG_NATSEMI=m
-# CONFIG_NAU7802 is not set
-# CONFIG_NBPFAXI_DMA is not set
-CONFIG_NCPFS_EXTRAS=y
-CONFIG_NCPFS_IOCTL_LOCKING=y
-CONFIG_NCP_FS=m
-CONFIG_NCPFS_NFS_NS=y
-CONFIG_NCPFS_NLS=y
-CONFIG_NCPFS_OS2_NS=y
-CONFIG_NCPFS_PACKET_SIGNING=y
-CONFIG_NCPFS_SMALLDOS=y
-CONFIG_NCPFS_STRONG=y
-# CONFIG_ND_BLK is not set
-CONFIG_NE2K_PCI=m
-# CONFIG_NET_9P_DEBUG is not set
-CONFIG_NET_9P=m
-CONFIG_NET_9P_RDMA=m
-CONFIG_NET_9P_VIRTIO=m
-CONFIG_NET_9P_XEN=m
-CONFIG_NET_ACT_BPF=m
-CONFIG_NET_ACT_CONNMARK=m
-CONFIG_NET_ACT_CSUM=m
-CONFIG_NET_ACT_GACT=m
-CONFIG_NET_ACT_IFE=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_POLICE=m
-CONFIG_NET_ACT_SAMPLE=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_SKBMOD=m
-CONFIG_NET_ACT_TUNNEL_KEY=m
-CONFIG_NET_ACT_VLAN=m
-CONFIG_NET_CADENCE=y
-CONFIG_NET_CALXEDA_XGMAC=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_BPF=m
-CONFIG_NET_CLS_CGROUP=y
-CONFIG_NET_CLS_FLOWER=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_CLS_MATCHALL=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_ROUTE=y
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_U32=m
-CONFIG_NET_CLS=y
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETCONSOLE=m
-CONFIG_NET_CORE=y
-# CONFIG_NET_DCCPPROBE is not set
-CONFIG_NETDEVICES=y
-CONFIG_NET_DEVLINK=m
-CONFIG_NET_DROP_MONITOR=y
-CONFIG_NET_DSA_BCM_SF2=m
-CONFIG_NET_DSA_HWMON=y
-CONFIG_NET_DSA_LOOP=m
-CONFIG_NET_DSA=m
-CONFIG_NET_DSA_MT7530=m
-CONFIG_NET_DSA_MV88E6060=m
-CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
-CONFIG_NET_DSA_MV88E6XXX=m
-CONFIG_NET_DSA_QCA8K=m
-CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
-CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
-CONFIG_NET_EMATCH_CANID=m
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_IPSET=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_NBYTE=m
-CONFIG_NET_EMATCH_STACK=32
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_EMATCH_U32=m
-CONFIG_NET_EMATCH=y
-CONFIG_NET_FC=y
-CONFIG_NETFILTER_ADVANCED=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_INGRESS=y
-CONFIG_NETFILTER_NETLINK_ACCT=m
-# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_XTABLES=y
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CGROUP=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ECN=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_L2TP=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_NETFILTER_XT_NAT=m
-CONFIG_NETFILTER_XT_SET=m
-CONFIG_NETFILTER_XT_TARGET_AUDIT=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NETMAP=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
-CONFIG_NETFILTER_XT_TARGET_SECMARK=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER=y
-CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_NET_FOU=m
-CONFIG_NET_IFE=m
-CONFIG_NET_IFE_SKBMARK=m
-CONFIG_NET_IFE_SKBPRIO=m
-CONFIG_NET_IFE_SKBTCINDEX=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPVTI=m
-CONFIG_NET_KEY=m
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_NET_L3_MASTER_DEV=y
-CONFIG_NETLABEL=y
-CONFIG_NETLINK_DIAG=m
-CONFIG_NET_MPLS_GSO=m
-CONFIG_NET_NCSI=y
-CONFIG_NET_NS=y
-CONFIG_NET_PACKET_ENGINE=y
-CONFIG_NET_PKTGEN=m
-CONFIG_NET_POLL_CONTROLLER=y
-CONFIG_NETROM=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_CODEL=m
-# CONFIG_NET_SCH_DEFAULT is not set
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_FQ_CODEL=y
-CONFIG_NET_SCH_FQ=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_HHF=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_PIE=m
-CONFIG_NET_SCH_PLUG=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCTPPROBE=m
-CONFIG_NET_SWITCHDEV=y
-# CONFIG_NET_TCPPROBE is not set
-CONFIG_NET_TEAM=m
-CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
-CONFIG_NET_TEAM_MODE_BROADCAST=m
-CONFIG_NET_TEAM_MODE_LOADBALANCE=m
-CONFIG_NET_TEAM_MODE_RANDOM=m
-CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
-CONFIG_NET_TULIP=y
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_NET_VENDOR_8390=y
-CONFIG_NET_VENDOR_ADAPTEC=y
-CONFIG_NET_VENDOR_AGERE=y
-# CONFIG_NET_VENDOR_ALACRITECH is not set
-CONFIG_NET_VENDOR_ALTEON=y
-CONFIG_NET_VENDOR_AMAZON=y
-CONFIG_NET_VENDOR_AMD=y
-CONFIG_NET_VENDOR_AQUANTIA=y
-CONFIG_NET_VENDOR_ARC=y
-CONFIG_NET_VENDOR_ATHEROS=y
-# CONFIG_NET_VENDOR_AURORA is not set
-CONFIG_NET_VENDOR_BROADCOM=y
-CONFIG_NET_VENDOR_BROCADE=y
-# CONFIG_NET_VENDOR_CAVIUM is not set
-CONFIG_NET_VENDOR_CHELSIO=y
-CONFIG_NET_VENDOR_CISCO=y
-CONFIG_NET_VENDOR_DEC=y
-CONFIG_NET_VENDOR_DLINK=y
-CONFIG_NET_VENDOR_EMULEX=y
-CONFIG_NET_VENDOR_EXAR=y
-# CONFIG_NET_VENDOR_EZCHIP is not set
-# CONFIG_NET_VENDOR_FARADAY is not set
-# CONFIG_NET_VENDOR_FUJITSU is not set
-# CONFIG_NET_VENDOR_HISILICON is not set
-# CONFIG_NET_VENDOR_HP is not set
-# CONFIG_NET_VENDOR_I825XX is not set
-CONFIG_NET_VENDOR_IBM=y
-CONFIG_NET_VENDOR_INTEL=y
-CONFIG_NET_VENDOR_MARVELL=y
-CONFIG_NET_VENDOR_MICREL=y
-# CONFIG_NET_VENDOR_MICROCHIP is not set
-CONFIG_NET_VENDOR_MYRI=y
-CONFIG_NET_VENDOR_NATSEMI=y
-CONFIG_NET_VENDOR_NETRONOME=y
-CONFIG_NET_VENDOR_NVIDIA=y
-CONFIG_NET_VENDOR_OKI=y
-# CONFIG_NET_VENDOR_PASEMI is not set
-CONFIG_NET_VENDOR_QLOGIC=y
-# CONFIG_NET_VENDOR_QUALCOMM is not set
-CONFIG_NET_VENDOR_RDC=y
-CONFIG_NET_VENDOR_REALTEK=y
-# CONFIG_NET_VENDOR_RENESAS is not set
-CONFIG_NET_VENDOR_ROCKER=y
-# CONFIG_NET_VENDOR_SAMSUNG is not set
-# CONFIG_NET_VENDOR_SEEQ is not set
-CONFIG_NET_VENDOR_SILAN=y
-CONFIG_NET_VENDOR_SIS=y
-CONFIG_NET_VENDOR_SMSC=y
-# CONFIG_NET_VENDOR_SOLARFLARE is not set
-CONFIG_NET_VENDOR_STMICRO=y
-CONFIG_NET_VENDOR_SUN=y
-# CONFIG_NET_VENDOR_SYNOPSYS is not set
-CONFIG_NET_VENDOR_TEHUTI=y
-CONFIG_NET_VENDOR_TI=y
-# CONFIG_NET_VENDOR_TOSHIBA is not set
-CONFIG_NET_VENDOR_VIA=y
-CONFIG_NET_VENDOR_WIZNET=y
-# CONFIG_NET_VENDOR_XILINX is not set
-CONFIG_NET_VENDOR_XIRCOM=y
-CONFIG_NET_VRF=m
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-CONFIG_NETXEN_NIC=m
-CONFIG_NET=y
-CONFIG_NEW_LEDS=y
-CONFIG_NFC_DIGITAL=m
-# CONFIG_NFC_FDP is not set
-CONFIG_NFC_HCI=m
-CONFIG_NFC=m
-CONFIG_NFC_MICROREAD_I2C=m
-CONFIG_NFC_MICROREAD=m
-# CONFIG_NFC_MRVL_I2C is not set
-CONFIG_NFC_MRVL=m
-# CONFIG_NFC_MRVL_SPI is not set
-CONFIG_NFC_MRVL_USB=m
-CONFIG_NFC_NCI=m
-# CONFIG_NFC_NCI_SPI is not set
-# CONFIG_NFC_NCI_UART is not set
-CONFIG_NFC_NXP_NCI_I2C=m
-CONFIG_NFC_NXP_NCI=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_PPTP=m
-# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
-CONFIG_NF_CONNTRACK_PROCFS=y
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SECMARK=y
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-# CONFIG_NF_CONNTRACK_TIMEOUT is not set
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NFC_PN533_I2C=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_PN533_USB=m
-CONFIG_NFC_PN544_I2C=m
-CONFIG_NFC_PN544=m
-CONFIG_NFC_PORT100=m
-# CONFIG_NFC_S3FWRN5_I2C is not set
-CONFIG_NFC_SHDLC=y
-CONFIG_NFC_SIM=m
-CONFIG_NFC_ST21NFCA_I2C=m
-CONFIG_NFC_ST21NFCA=m
-# CONFIG_NFC_ST95HF is not set
-# CONFIG_NFC_ST_NCI_I2C is not set
-# CONFIG_NFC_ST_NCI is not set
-# CONFIG_NFC_ST_NCI_SPI is not set
-CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NF_CT_NETLINK=m
-# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
-CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_SCTP=y
-CONFIG_NF_CT_PROTO_UDPLITE=y
-CONFIG_NFC_TRF7970A=m
-CONFIG_NF_DUP_IPV4=m
-CONFIG_NF_DUP_IPV6=m
-CONFIG_NF_DUP_NETDEV=m
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_BRIDGE=m
-CONFIG_NF_LOG_IPV4=m
-CONFIG_NF_LOG_IPV6=m
-CONFIG_NF_LOG_NETDEV=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NFP_APP_FLOWER=y
-# CONFIG_NFP_DEBUG is not set
-CONFIG_NFP=m
-# CONFIG_NFP_NET_DEBUG is not set
-CONFIG_NFP_NETVF=m
-CONFIG_NF_REJECT_IPV6=m
-CONFIG_NFSD_BLOCKLAYOUT=y
-# CONFIG_NFSD_FAULT_INJECTION is not set
-CONFIG_NFSD_FLEXFILELAYOUT=y
-CONFIG_NFSD=m
-CONFIG_NFSD_PNFS=y
-CONFIG_NFSD_SCSILAYOUT=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V4_SECURITY_LABEL=y
-CONFIG_NFSD_V4=y
-CONFIG_NFS_FSCACHE=y
-CONFIG_NFS_FS=m
-CONFIG_NF_SOCKET_IPV4=m
-CONFIG_NF_SOCKET_IPV6=m
-CONFIG_NFS_SWAP=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-# CONFIG_NFS_V2 is not set
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V3=m
-CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
-# CONFIG_NFS_V4_1_MIGRATION is not set
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_NFS_V4=m
-CONFIG_NF_TABLES_ARP=m
-CONFIG_NF_TABLES_BRIDGE=m
-CONFIG_NF_TABLES_INET=m
-CONFIG_NF_TABLES_IPV4=m
-CONFIG_NF_TABLES_IPV6=m
-CONFIG_NF_TABLES=m
-CONFIG_NF_TABLES_NETDEV=m
-CONFIG_NFT_BRIDGE_META=m
-CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NFT_CHAIN_NAT_IPV4=m
-CONFIG_NFT_CHAIN_NAT_IPV6=m
-CONFIG_NFT_CHAIN_ROUTE_IPV4=m
-CONFIG_NFT_CHAIN_ROUTE_IPV6=m
-CONFIG_NFT_COMPAT=m
-CONFIG_NFT_COUNTER=m
-CONFIG_NFT_CT=m
-CONFIG_NFT_DUP_IPV4=m
-CONFIG_NFT_DUP_IPV6=m
-CONFIG_NFT_DUP_NETDEV=m
-CONFIG_NFT_EXTHDR=m
-CONFIG_NFT_FIB_INET=m
-CONFIG_NFT_FIB_IPV4=m
-CONFIG_NFT_FIB_IPV6=m
-CONFIG_NFT_FWD_NETDEV=m
-CONFIG_NFT_HASH=m
-CONFIG_NFT_LIMIT=m
-# CONFIG_NFTL is not set
-CONFIG_NFT_LOG=m
-CONFIG_NFT_MASQ_IPV4=m
-CONFIG_NFT_MASQ_IPV6=m
-CONFIG_NFT_MASQ=m
-CONFIG_NFT_META=m
-CONFIG_NFT_NAT=m
-CONFIG_NFT_NUMGEN=m
-CONFIG_NFT_OBJREF=m
-CONFIG_NFT_QUEUE=m
-CONFIG_NFT_QUOTA=m
-CONFIG_NFT_RBTREE=m
-CONFIG_NFT_REDIR_IPV4=m
-CONFIG_NFT_REDIR_IPV6=m
-CONFIG_NFT_REDIR=m
-CONFIG_NFT_REJECT_IPV4=m
-CONFIG_NFT_REJECT=m
-CONFIG_NFT_RT=m
-CONFIG_NFT_SET_BITMAP=m
-CONFIG_NFT_SET_HASH=m
-CONFIG_NFT_SET_RBTREE=m
-CONFIG_N_GSM=m
-CONFIG_N_HDLC=m
-# CONFIG_NI65 is not set
-# CONFIG_NI903X_WDT is not set
-CONFIG_NILFS2_FS=m
-CONFIG_NIU=m
-# CONFIG_NL80211_TESTMODE is not set
-CONFIG_NL80211=y
-CONFIG_NLMON=m
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_MAC_CELTIC=m
-CONFIG_NLS_MAC_CENTEURO=m
-CONFIG_NLS_MAC_CROATIAN=m
-CONFIG_NLS_MAC_CYRILLIC=m
-CONFIG_NLS_MAC_GAELIC=m
-CONFIG_NLS_MAC_GREEK=m
-CONFIG_NLS_MAC_ICELAND=m
-CONFIG_NLS_MAC_INUIT=m
-CONFIG_NLS_MAC_ROMANIAN=m
-CONFIG_NLS_MAC_ROMAN=m
-CONFIG_NLS_MAC_TURKISH=m
-CONFIG_NLS_UTF8=m
-CONFIG_NLS=y
-CONFIG_NMI_LOG_BUF_SHIFT=13
-CONFIG_NO_HZ=y
-CONFIG_NOP_USB_XCEIV=m
-CONFIG_NORTEL_HERMES=m
-# CONFIG_NOTIFIER_ERROR_INJECTION is not set
-CONFIG_NOUVEAU_DEBUG=5
-CONFIG_NOUVEAU_DEBUG_DEFAULT=3
-CONFIG_NOZOMI=m
-CONFIG_NR_CPUS=1024
-CONFIG_NR_DEV_DAX=32768
-CONFIG_NR_IRQS=512
-CONFIG_NS83820=m
-CONFIG_NSC_FIR=m
-CONFIG_NTB_IDT=m
-# CONFIG_NTB is not set
-# CONFIG_NTFS_FS is not set
-CONFIG_NTP_PPS=y
-CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
-CONFIG_NUMA_BALANCING=y
-CONFIG_NUMA=y
-CONFIG_NVME_FC=m
-CONFIG_NVMEM=m
-CONFIG_NVME_RDMA=m
-CONFIG_NVME_TARGET_FCLOOP=m
-CONFIG_NVME_TARGET_FC=m
-CONFIG_NVME_TARGET_LOOP=m
-CONFIG_NVME_TARGET=m
-CONFIG_NVME_TARGET_RDMA=m
-# CONFIG_NVM is not set
-# CONFIG_NVRAM is not set
-# CONFIG_OCFS2_DEBUG_FS is not set
-# CONFIG_OCFS2_DEBUG_MASKLOG is not set
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-# CONFIG_OCFS2_FS_STATS is not set
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-# CONFIG_OF_OVERLAY is not set
-# CONFIG_OF_UNITTEST is not set
-CONFIG_OLD_BELKIN_DONGLE=m
-# CONFIG_OMFS_FS is not set
-CONFIG_OPAL_PRD=m
-CONFIG_OPENVSWITCH_GENEVE=m
-CONFIG_OPENVSWITCH_GRE=m
-CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_VXLAN=m
-# CONFIG_OPROFILE is not set
-CONFIG_OPT3001=m
-CONFIG_OPTIMIZE_INLINING=y
-CONFIG_OPTPROBES=y
-CONFIG_ORANGEFS_FS=m
-CONFIG_ORINOCO_USB=m
-CONFIG_OSF_PARTITION=y
-# CONFIG_OVERLAY_FS_INDEX is not set
-CONFIG_OVERLAY_FS=m
-# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_PCI=m
-# CONFIG_P54_SPI is not set
-CONFIG_P54_USB=m
-CONFIG_PA12203001=m
-CONFIG_PACKET_DIAG=m
-CONFIG_PACKET=y
-# CONFIG_PAGE_EXTENSION is not set
-# CONFIG_PAGE_OWNER is not set
-# CONFIG_PAGE_POISONING is not set
-# CONFIG_PANEL is not set
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_TIMEOUT=0
-CONFIG_PANTHERLORD_FF=y
-# CONFIG_PARIDE is not set
-CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
-CONFIG_PARPORT=m
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_PATA_ACPI=m
-CONFIG_PATA_ALI=m
-CONFIG_PATA_AMD=m
-CONFIG_PATA_ARASAN_CF=m
-CONFIG_PATA_ARTOP=m
-CONFIG_PATA_ATIIXP=m
-CONFIG_PATA_ATP867X=m
-CONFIG_PATA_CMD640_PCI=m
-CONFIG_PATA_CMD64X=m
-CONFIG_PATA_CS5520=m
-CONFIG_PATA_CS5530=m
-CONFIG_PATA_CS5535=m
-CONFIG_PATA_CS5536=m
-CONFIG_PATA_CYPRESS=m
-CONFIG_PATA_EFAR=m
-CONFIG_PATA_HPT366=m
-CONFIG_PATA_HPT37X=m
-CONFIG_PATA_HPT3X2N=m
-# CONFIG_PATA_HPT3X3_DMA is not set
-CONFIG_PATA_HPT3X3=m
-CONFIG_PATA_IT8213=m
-CONFIG_PATA_IT821X=m
-CONFIG_PATA_JMICRON=m
-# CONFIG_PATA_LEGACY is not set
-CONFIG_PATA_MARVELL=m
-CONFIG_PATA_MPIIX=m
-CONFIG_PATA_NETCELL=m
-CONFIG_PATA_NINJA32=m
-CONFIG_PATA_NS87410=m
-CONFIG_PATA_NS87415=m
-CONFIG_PATA_OLDPIIX=m
-CONFIG_PATA_OPTIDMA=m
-CONFIG_PATA_OPTI=m
-CONFIG_PATA_PCMCIA=m
-CONFIG_PATA_PDC2027X=m
-CONFIG_PATA_PDC_OLD=m
-# CONFIG_PATA_PLATFORM is not set
-# CONFIG_PATA_RADISYS is not set
-CONFIG_PATA_RDC=m
-# CONFIG_PATA_RZ1000 is not set
-# CONFIG_PATA_SC1200 is not set
-CONFIG_PATA_SCH=m
-CONFIG_PATA_SERVERWORKS=m
-CONFIG_PATA_SIL680=m
-CONFIG_PATA_SIS=m
-CONFIG_PATA_TOSHIBA=m
-CONFIG_PATA_TRIFLEX=m
-CONFIG_PATA_VIA=m
-CONFIG_PATA_WINBOND=m
-# CONFIG_PC104 is not set
-# CONFIG_PC87413_WDT is not set
-CONFIG_PCCARD=y
-CONFIG_PCF50633_ADC=m
-CONFIG_PCF50633_GPIO=m
-# CONFIG_PCH_GBE is not set
-# CONFIG_PCI_DEBUG is not set
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIEAER=y
-# CONFIG_PCIEASPM_DEBUG is not set
-CONFIG_PCIEASPM=y
-CONFIG_PCIE_DPC=y
-# CONFIG_PCIE_DW_PLAT is not set
-CONFIG_PCIE_ECRC=y
-# CONFIG_PCI_ENDPOINT is not set
-# CONFIG_PCI_ENDPOINT_TEST is not set
-# CONFIG_PCIEPORTBUS is not set
-CONFIG_PCIE_PTM=y
-CONFIG_PCI_HERMES=m
-CONFIG_PCI_IOV=y
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
-CONFIG_PCI_MSI=y
-CONFIG_PCI_PASID=y
-CONFIG_PCIPCWATCHDOG=m
-CONFIG_PCI_PRI=y
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-CONFIG_PCI_STUB=y
-CONFIG_PCI_SW_SWITCHTEC=m
-CONFIG_PCI=y
-CONFIG_PCMCIA_3C574=m
-CONFIG_PCMCIA_3C589=m
-CONFIG_PCMCIA_AXNET=m
-# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA_FMVJ18X=m
-CONFIG_PCMCIA_HERMES=m
-CONFIG_PCMCIA_LOAD_CIS=y
-CONFIG_PCMCIA_NMCLAN=m
-CONFIG_PCMCIA_PCNET=m
-# CONFIG_PCMCIA_RAYCS is not set
-CONFIG_PCMCIA_SMC91C92=m
-# CONFIG_PCMCIA_SPECTRUM is not set
-# CONFIG_PCMCIA_WL3501 is not set
-CONFIG_PCMCIA_XIRC2PS=m
-CONFIG_PCMCIA_XIRCOM=m
-CONFIG_PCMCIA=y
-CONFIG_PCNET32=m
-CONFIG_PD6729=m
-# CONFIG_PDA_POWER is not set
-CONFIG_PDC_ADMA=m
-# CONFIG_PERCPU_STATS is not set
-# CONFIG_PERCPU_TEST is not set
-CONFIG_PERF_EVENTS=y
-CONFIG_PERSISTENT_KEYRINGS=y
-# CONFIG_PGTABLE_MAPPING is not set
-# CONFIG_PHANTOM is not set
-# CONFIG_PHONE is not set
-# CONFIG_PHONET is not set
-# CONFIG_PHY_CPCAP_USB is not set
-CONFIG_PHYLIB=y
-# CONFIG_PHY_PXA_28NM_HSIC is not set
-# CONFIG_PHY_PXA_28NM_USB2 is not set
-# CONFIG_PHY_QCOM_USB_HSIC is not set
-# CONFIG_PHY_QCOM_USB_HS is not set
-# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
-# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
-# CONFIG_PHY_TUSB1210 is not set
-CONFIG_PID_NS=y
-# CONFIG_PINCONF is not set
-# CONFIG_PINCTRL_CANNONLAKE is not set
-# CONFIG_PINCTRL_IPQ8074 is not set
-# CONFIG_PINCTRL is not set
-# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
-# CONFIG_PINCTRL_SX150X is not set
-# CONFIG_PINMUX is not set
-CONFIG_PKCS7_MESSAGE_PARSER=y
-# CONFIG_PKCS7_TEST_KEY is not set
-# CONFIG_PLATFORM_SI4713 is not set
-# CONFIG_PLIP is not set
-CONFIG_PLX_HERMES=m
-# CONFIG_PM_ADVANCED_DEBUG is not set
-# CONFIG_PM_AUTOSLEEP is not set
-CONFIG_PMBUS=m
-CONFIG_PM_DEBUG=y
-# CONFIG_PM_DEVFREQ_EVENT is not set
-CONFIG_PM_DEVFREQ=y
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
-CONFIG_PM_STD_PARTITION=""
-CONFIG_PM_TEST_SUSPEND=y
-CONFIG_PM_TRACE_RTC=y
-CONFIG_PM_TRACE=y
-# CONFIG_PM_WAKELOCKS is not set
-CONFIG_PM=y
-CONFIG_PNFS_BLOCK=m
-CONFIG_PNFS_OBJLAYOUT=m
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POWER7_CPU=y
-# CONFIG_POWER_AVS is not set
-CONFIG_POWERCAP=y
-CONFIG_POWERNV_CPUFREQ=y
-CONFIG_POWERNV_CPUIDLE=y
-# CONFIG_POWERNV_OP_PANEL is not set
-# CONFIG_POWER_RESET_BRCMKONA is not set
-# CONFIG_POWER_RESET_BRCMSTB is not set
-CONFIG_POWER_RESET_GPIO_RESTART=y
-CONFIG_POWER_RESET_GPIO=y
-# CONFIG_POWER_RESET_LTC2952 is not set
-# CONFIG_POWER_RESET_RESTART is not set
-# CONFIG_POWER_RESET_SYSCON is not set
-# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
-CONFIG_POWER_RESET=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-CONFIG_POWER_SUPPLY=y
-CONFIG_PPC_64K_PAGES=y
-CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_PPC64=y
-# CONFIG_PPC_82xx is not set
-# CONFIG_PPC_83xx is not set
-# CONFIG_PPC_86xx is not set
-# CONFIG_PPC_CELL is not set
-CONFIG_PPC_CPUFEATURES_ENABLE_UNKNOWN=y
-CONFIG_PPC_DENORMALISATION=y
-CONFIG_PPC_DISABLE_WERROR=y
-CONFIG_PPC_DT_CPU_FTRS=y
-# CONFIG_PPC_EARLY_DEBUG is not set
-CONFIG_PPC_EMULATED_STATS=y
-# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
-# CONFIG_PPC_IBM_CELL_BLADE is not set
-# CONFIG_PPC_ICSWX_PID is not set
-# CONFIG_PPC_ICSWX_USE_SIGILL is not set
-CONFIG_PPC_ICSWX=y
-# CONFIG_PPC_MAPLE is not set
-# CONFIG_PPC_MPC5200_LPBFIFO is not set
-CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
-# CONFIG_PPC_PASEMI is not set
-# CONFIG_PPC_PMAC64 is not set
-# CONFIG_PPC_PMAC is not set
-CONFIG_PPC_POWERNV=y
-# CONFIG_PPC_PS3 is not set
-CONFIG_PPC_PSERIES=y
-# CONFIG_PPC_PTDUMP is not set
-CONFIG_PPC_RADIX_MMU=y
-CONFIG_PPC_SMLPAR=y
-CONFIG_PPC_SPLPAR=y
-CONFIG_PPC_SUBPAGE_PROT=y
-CONFIG_PPC_TRANSACTIONAL_MEM=y
-CONFIG_PPC=y
-CONFIG_PPDEV=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPS_CLIENT_GPIO=m
-# CONFIG_PPS_CLIENT_KTIMER is not set
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
-# CONFIG_PPS_DEBUG is not set
-CONFIG_PPS_GENERATOR_PARPORT=m
-CONFIG_PPS=m
-CONFIG_PPTP=m
-# CONFIG_PREEMPT is not set
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_PRINTER=m
-CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
-CONFIG_PRINTK_TIME=y
-# CONFIG_PRINT_QUOTA_WARNING is not set
-CONFIG_PRINT_STACK_DEPTH=64
-# CONFIG_PRISM2_USB is not set
-# CONFIG_PRISM54 is not set
-CONFIG_PROC_CHILDREN=y
-CONFIG_PROC_EVENTS=y
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_PROC_VMCORE=y
-CONFIG_PROFILING=y
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_PROVE_RCU_REPEATEDLY is not set
-# CONFIG_PS3_VRAM is not set
-CONFIG_PSAMPLE=m
-CONFIG_PSERIES_CPUIDLE=y
-CONFIG_PSERIES_ENERGY=m
-# CONFIG_PSTORE_CONSOLE is not set
-# CONFIG_PSTORE_FTRACE is not set
-# CONFIG_PSTORE_PMSG is not set
-CONFIG_PSTORE_RAM=m
-CONFIG_PSTORE=y
-CONFIG_PTP_1588_CLOCK=m
-CONFIG_PTP_1588_CLOCK_PCH=m
-# CONFIG_PWM_FSL_FTM is not set
-CONFIG_PWM_HIBVT=m
-# CONFIG_PWM_PCA9685 is not set
-CONFIG_PWM=y
-CONFIG_PWRSEQ_EMMC=m
-CONFIG_PWRSEQ_SD8787=m
-CONFIG_PWRSEQ_SIMPLE=m
-# CONFIG_QCA7000 is not set
-# CONFIG_QCA7000_SPI is not set
-# CONFIG_QCA7000_UART is not set
-# CONFIG_QCOM_EMAC is not set
-# CONFIG_QCOM_HIDMA is not set
-# CONFIG_QCOM_HIDMA_MGMT is not set
-CONFIG_QEDE=m
-CONFIG_QEDF=m
-CONFIG_QEDI=m
-CONFIG_QED=m
-CONFIG_QED_SRIOV=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QLA3XXX=m
-CONFIG_QLCNIC_DCB=y
-CONFIG_QLCNIC_HWMON=y
-CONFIG_QLCNIC=m
-CONFIG_QLCNIC_SRIOV=y
-CONFIG_QLGE=m
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX6FS_FS is not set
-CONFIG_QSEMI_PHY=m
-CONFIG_QTNFMAC_PEARL_PCIE=m
-CONFIG_QUOTACTL=y
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_NETLINK_INTERFACE=y
-CONFIG_QUOTA=y
-CONFIG_R3964=m
-CONFIG_R6040=m
-CONFIG_R8169=m
-# CONFIG_R8188EU is not set
-CONFIG_R8712U=m
-CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
-CONFIG_RADIO_ADAPTERS=y
-CONFIG_RADIO_AZTECH=m
-CONFIG_RADIO_CADET=m
-CONFIG_RADIO_GEMTEK=m
-CONFIG_RADIO_MAXIRADIO=m
-# CONFIG_RADIO_MIROPCM20 is not set
-CONFIG_RADIO_RTRACK2=m
-CONFIG_RADIO_RTRACK=m
-CONFIG_RADIO_SAA7706H=m
-CONFIG_RADIO_SF16FMI=m
-CONFIG_RADIO_SF16FMR2=m
-CONFIG_RADIO_SHARK2=m
-CONFIG_RADIO_SHARK=m
-CONFIG_RADIO_SI470X=y
-CONFIG_RADIO_SI4713=m
-CONFIG_RADIO_TEA5764=m
-# CONFIG_RADIO_TEF6862 is not set
-CONFIG_RADIO_TERRATEC=m
-CONFIG_RADIO_TRUST=m
-CONFIG_RADIO_TYPHOON=m
-CONFIG_RADIO_WL1273=m
-CONFIG_RADIO_ZOLTRIX=m
-CONFIG_RAID_ATTRS=m
-# CONFIG_RANDOM32_SELFTEST is not set
-# CONFIG_RAPIDIO is not set
-CONFIG_RAS_CEC=y
-CONFIG_RAW_DRIVER=y
-# CONFIG_RBTREE_TEST is not set
-CONFIG_RC_ATI_REMOTE=m
-CONFIG_RC_CORE=m
-CONFIG_RC_DECODERS=y
-CONFIG_RC_DEVICES=y
-CONFIG_RC_LOOPBACK=m
-CONFIG_RC_MAP=m
-CONFIG_RCU_CPU_STALL_TIMEOUT=60
-# CONFIG_RCU_EQS_DEBUG is not set
-# CONFIG_RCU_EXPERT is not set
-CONFIG_RCU_FANOUT=64
-CONFIG_RCU_FANOUT_LEAF=16
-CONFIG_RCU_FAST_NO_HZ=y
-CONFIG_RCU_KTHREAD_PRIO=0
-CONFIG_RCU_NOCB_CPU_ALL=y
-CONFIG_RCU_NOCB_CPU=y
-# CONFIG_RCU_PERF_TEST is not set
-CONFIG_RCU_TORTURE_TEST=m
-# CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP is not set
-CONFIG_RCU_TORTURE_TEST_SLOW_INIT_DELAY=3
-# CONFIG_RCU_TORTURE_TEST_SLOW_INIT is not set
-# CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT is not set
-# CONFIG_RCU_TRACE is not set
-CONFIG_RD_BZIP2=y
-CONFIG_RD_GZIP=y
-CONFIG_RD_LZ4=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_LZO=y
-CONFIG_RDMA_RXE=m
-# CONFIG_RDS_DEBUG is not set
-CONFIG_RDS=m
-CONFIG_RDS_RDMA=m
-CONFIG_RDS_TCP=m
-CONFIG_RD_XZ=y
-# CONFIG_READABLE_ASM is not set
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_REALTEK_PHY=m
-# CONFIG_REFCOUNT_FULL is not set
-CONFIG_REGMAP_I2C=m
-CONFIG_REGMAP=y
-# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_REGULATOR_TPS65132 is not set
-CONFIG_REGULATOR_VCTRL=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_FS=m
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_RELAY=y
-# CONFIG_RELOCATABLE_TEST is not set
-CONFIG_RELOCATABLE=y
-CONFIG_REMOTEPROC=m
-# CONFIG_RESET_TI_SYSCON is not set
-# CONFIG_RFD_FTL is not set
-CONFIG_RFKILL_GPIO=m
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL=m
-CONFIG_RING_BUFFER_BENCHMARK=m
-# CONFIG_RING_BUFFER_STARTUP_TEST is not set
-# CONFIG_RIO is not set
-CONFIG_RMI4_CORE=m
-CONFIG_RMI4_F03=y
-CONFIG_RMI4_F11=y
-CONFIG_RMI4_F12=y
-CONFIG_RMI4_F30=y
-CONFIG_RMI4_F34=y
-# CONFIG_RMI4_F54 is not set
-CONFIG_RMI4_F55=y
-CONFIG_RMI4_I2C=m
-CONFIG_RMI4_SMB=m
-CONFIG_RMI4_SPI=m
-CONFIG_ROCKER=m
-CONFIG_ROCKETPORT=m
-CONFIG_ROMFS_FS=m
-CONFIG_ROSE=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_RPMSG_CHAR is not set
-# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
-CONFIG_RPR0521=m
-CONFIG_RSI_91X=m
-CONFIG_RSI_DEBUGFS=y
-CONFIG_RSI_SDIO=m
-CONFIG_RSI_USB=m
-CONFIG_RT2400PCI=m
-CONFIG_RT2500PCI=m
-CONFIG_RT2500USB=m
-CONFIG_RT2800PCI=m
-CONFIG_RT2800PCI_RT3290=y
-CONFIG_RT2800PCI_RT33XX=y
-CONFIG_RT2800PCI_RT35XX=y
-CONFIG_RT2800PCI_RT53XX=y
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT3573=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_RT55XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RT2X00_LIB_DEBUGFS=y
-CONFIG_RT2X00=m
-CONFIG_RT61PCI=m
-CONFIG_RT73USB=m
-CONFIG_RTAS_FLASH=y
-CONFIG_RTAS_PROC=y
-CONFIG_RTC_CLASS=y
-# CONFIG_RTC_DEBUG is not set
-# CONFIG_RTC_DRV_AB3100 is not set
-# CONFIG_RTC_DRV_ABB5ZES3 is not set
-CONFIG_RTC_DRV_ABX80X=m
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_BQ4802=m
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_RTC_DRV_DS1286=m
-# CONFIG_RTC_DRV_DS1302 is not set
-CONFIG_RTC_DRV_DS1305=m
-# CONFIG_RTC_DRV_DS1307_CENTURY is not set
-CONFIG_RTC_DRV_DS1307_HWMON=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS1343=m
-CONFIG_RTC_DRV_DS1347=m
-CONFIG_RTC_DRV_DS1374=m
-CONFIG_RTC_DRV_DS1374_WDT=y
-CONFIG_RTC_DRV_DS1390=m
-CONFIG_RTC_DRV_DS1511=m
-CONFIG_RTC_DRV_DS1553=m
-CONFIG_RTC_DRV_DS1672=m
-CONFIG_RTC_DRV_DS1685_FAMILY=m
-CONFIG_RTC_DRV_DS1742=m
-CONFIG_RTC_DRV_DS2404=m
-# CONFIG_RTC_DRV_DS3232_HWMON is not set
-CONFIG_RTC_DRV_DS3232=m
-# CONFIG_RTC_DRV_EFI is not set
-CONFIG_RTC_DRV_EM3027=m
-# CONFIG_RTC_DRV_EP93XX is not set
-CONFIG_RTC_DRV_FM3130=m
-# CONFIG_RTC_DRV_FTRTC010 is not set
-CONFIG_RTC_DRV_GENERIC=y
-# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
-CONFIG_RTC_DRV_ISL12022=m
-# CONFIG_RTC_DRV_ISL12057 is not set
-CONFIG_RTC_DRV_ISL1208=m
-CONFIG_RTC_DRV_M41T80=m
-CONFIG_RTC_DRV_M41T80_WDT=y
-CONFIG_RTC_DRV_M41T93=m
-CONFIG_RTC_DRV_M41T94=m
-CONFIG_RTC_DRV_M48T35=m
-CONFIG_RTC_DRV_M48T59=m
-# CONFIG_RTC_DRV_M48T86 is not set
-CONFIG_RTC_DRV_MAX6900=m
-CONFIG_RTC_DRV_MAX6902=m
-CONFIG_RTC_DRV_MAX6916=m
-CONFIG_RTC_DRV_MCP795=m
-# CONFIG_RTC_DRV_MOXART is not set
-CONFIG_RTC_DRV_MSM6242=m
-CONFIG_RTC_DRV_OPAL=m
-CONFIG_RTC_DRV_PCF2123=m
-CONFIG_RTC_DRV_PCF2127=m
-CONFIG_RTC_DRV_PCF50633=m
-CONFIG_RTC_DRV_PCF85063=m
-CONFIG_RTC_DRV_PCF8523=m
-CONFIG_RTC_DRV_PCF8563=m
-CONFIG_RTC_DRV_PCF8583=m
-CONFIG_RTC_DRV_PM8XXX=m
-CONFIG_RTC_DRV_R7301=m
-CONFIG_RTC_DRV_R9701=m
-CONFIG_RTC_DRV_RP5C01=m
-CONFIG_RTC_DRV_RS5C348=m
-CONFIG_RTC_DRV_RS5C372=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_RV3029_HWMON=y
-# CONFIG_RTC_DRV_RV8803 is not set
-CONFIG_RTC_DRV_RX4581=m
-# CONFIG_RTC_DRV_RX6110 is not set
-CONFIG_RTC_DRV_RX8010=m
-CONFIG_RTC_DRV_RX8025=m
-CONFIG_RTC_DRV_RX8581=m
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_SA1100 is not set
-# CONFIG_RTC_DRV_SNVS is not set
-CONFIG_RTC_DRV_STK17TA8=m
-# CONFIG_RTC_DRV_TEST is not set
-CONFIG_RTC_DRV_V3020=m
-CONFIG_RTC_DRV_WM831X=m
-CONFIG_RTC_DRV_WM8350=m
-CONFIG_RTC_DRV_X1205=m
-# CONFIG_RTC_DRV_ZYNQMP is not set
-# CONFIG_RTC_DS1685_PROC_REGS is not set
-CONFIG_RTC_DS1685_SYSFS_REGS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-CONFIG_RTC_HCTOSYS=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_SYSFS=y
-# CONFIG_RTC is not set
-# CONFIG_RTC_NVMEM is not set
-# CONFIG_RTC_SYSTOHC is not set
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8188EE=m
-CONFIG_RTL8192CE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTL8192DE=m
-CONFIG_RTL8192EE=m
-CONFIG_RTL8192E=m
-CONFIG_RTL8192SE=m
-# CONFIG_RTL8192U is not set
-CONFIG_RTL8723AE=m
-CONFIG_RTL8723BE=m
-CONFIG_RTL8723BS=m
-CONFIG_RTL8821AE=m
-CONFIG_RTL8XXXU=m
-CONFIG_RTL8XXXU_UNTESTED=y
-CONFIG_RTL_CARDS=m
-CONFIG_RTLLIB_CRYPTO_CCMP=m
-CONFIG_RTLLIB_CRYPTO_TKIP=m
-CONFIG_RTLLIB_CRYPTO_WEP=m
-CONFIG_RTLLIB=m
-# CONFIG_RTLWIFI_DEBUG is not set
-CONFIG_RTLWIFI=m
-# CONFIG_RTS5208 is not set
-CONFIG_S2IO=m
-# CONFIG_SAMPLES is not set
-# CONFIG_SAMSUNG_USBPHY is not set
-CONFIG_SATA_ACARD_AHCI=m
-CONFIG_SATA_AHCI_PLATFORM=m
-CONFIG_SATA_AHCI=y
-# CONFIG_SATA_DWC is not set
-# CONFIG_SATA_HIGHBANK is not set
-CONFIG_SATA_INIC162X=m
-CONFIG_SATA_MV=m
-CONFIG_SATA_NV=m
-CONFIG_SATA_PMP=y
-CONFIG_SATA_PROMISE=m
-CONFIG_SATA_QSTOR=m
-CONFIG_SATA_SIL24=m
-CONFIG_SATA_SIL=m
-CONFIG_SATA_SIS=m
-CONFIG_SATA_SVW=m
-CONFIG_SATA_SX4=m
-CONFIG_SATA_ULI=m
-CONFIG_SATA_VIA=m
-CONFIG_SATA_VITESSE=m
-# CONFIG_SATA_ZPODD is not set
-# CONFIG_SBC7240_WDT is not set
-# CONFIG_SBC8360_WDT is not set
-# CONFIG_SBC_EPX_C3_WATCHDOG is not set
-CONFIG_SBP_TARGET=m
-# CONFIG_SC1200_WDT is not set
-# CONFIG_SC520_WDT is not set
-CONFIG_SC92031=m
-# CONFIG_SCA3000 is not set
-CONFIG_SCANLOG=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_SCHED_DEBUG=y
-# CONFIG_SCHED_MC_PRIO is not set
-CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_SCHED_SMT=y
-# CONFIG_SCHED_STACK_END_CHECK is not set
-CONFIG_SCHEDSTATS=y
-CONFIG_SCHED_TRACER=y
-CONFIG_SCOM_DEBUGFS=y
-# CONFIG_SCR24X is not set
-CONFIG_SCSI_3W_9XXX=m
-CONFIG_SCSI_3W_SAS=m
-CONFIG_SCSI_AACRAID=m
-CONFIG_SCSI_ACARD=m
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_AHA1542 is not set
-CONFIG_SCSI_AIC79XX=m
-CONFIG_SCSI_AIC7XXX=m
-# CONFIG_SCSI_AIC94XX is not set
-CONFIG_SCSI_AM53C974=m
-CONFIG_SCSI_ARCMSR=m
-CONFIG_SCSI_BFA_FC=m
-CONFIG_SCSI_BNX2_ISCSI=m
-CONFIG_SCSI_BNX2X_FCOE=m
-# CONFIG_SCSI_BUSLOGIC is not set
-CONFIG_SCSI_CHELSIO_FCOE=m
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_CXGB3_ISCSI=m
-CONFIG_SCSI_CXGB4_ISCSI=m
-CONFIG_SCSI_DC395x=m
-CONFIG_SCSI_DEBUG=m
-CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH=y
-CONFIG_SCSI_DMX3191D=m
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-CONFIG_SCSI_ENCLOSURE=m
-CONFIG_SCSI_ESAS2R=m
-CONFIG_SCSI_FC_ATTRS=m
-CONFIG_SCSI_FLASHPOINT=y
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-CONFIG_SCSI_GDTH=m
-# CONFIG_SCSI_HISI_SAS is not set
-CONFIG_SCSI_HPSA=m
-CONFIG_SCSI_HPTIOP=m
-CONFIG_SCSI_IBMVFC=m
-# CONFIG_SCSI_IBMVFC_TRACE is not set
-CONFIG_SCSI_IBMVSCSI=m
-CONFIG_SCSI_IBMVSCSIS=m
-# CONFIG_SCSI_IMM is not set
-# CONFIG_SCSI_IN2000 is not set
-CONFIG_SCSI_INIA100=m
-CONFIG_SCSI_INITIO=m
-CONFIG_SCSI_IPR_DUMP=y
-CONFIG_SCSI_IPR=m
-CONFIG_SCSI_IPR_TRACE=y
-# CONFIG_SCSI_IPS is not set
-CONFIG_SCSI_ISCI=m
-CONFIG_SCSI_ISCSI_ATTRS=m
-# CONFIG_SCSI_IZIP_EPP16 is not set
-# CONFIG_SCSI_IZIP_SLOW_CTR is not set
-CONFIG_SCSI_LOGGING=y
-# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_SCSI_LPFC_DEBUG_FS is not set
-CONFIG_SCSI_LPFC=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-CONFIG_SCSI_MPT3SAS=m
-CONFIG_SCSI_MPT3SAS_MAX_SGE=128
-# CONFIG_SCSI_MQ_DEFAULT is not set
-# CONFIG_SCSI_MVSAS_DEBUG is not set
-CONFIG_SCSI_MVSAS=m
-CONFIG_SCSI_MVSAS_TASKLET=y
-CONFIG_SCSI_MVUMI=m
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_OSD_DEBUG is not set
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_PM8001=m
-CONFIG_SCSI_PMCRAID=m
-# CONFIG_SCSI_PPA is not set
-CONFIG_SCSI_PROC_FS=y
-CONFIG_SCSI_QLA_FC=m
-CONFIG_SCSI_QLA_ISCSI=m
-CONFIG_SCSI_QLOGIC_1280=m
-CONFIG_SCSI_SAS_ATA=y
-CONFIG_SCSI_SAS_ATTRS=m
-CONFIG_SCSI_SAS_HOST_SMP=y
-CONFIG_SCSI_SAS_LIBSAS=m
-CONFIG_SCSI_SCAN_ASYNC=y
-CONFIG_SCSI_SMARTPQI=m
-# CONFIG_SCSI_SNIC_DEBUG_FS is not set
-CONFIG_SCSI_SNIC=m
-CONFIG_SCSI_SPI_ATTRS=m
-CONFIG_SCSI_SRP_ATTRS=m
-CONFIG_SCSI_SRP=m
-CONFIG_SCSI_STEX=m
-CONFIG_SCSI_SYM53C8XX_2=m
-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
-CONFIG_SCSI_SYM53C8XX_MMIO=y
-# CONFIG_SCSI_UFS_DWC_TC_PCI is not set
-CONFIG_SCSI_UFSHCD=m
-CONFIG_SCSI_UFSHCD_PCI=m
-# CONFIG_SCSI_UFSHCD_PLATFORM is not set
-CONFIG_SCSI_VIRTIO=m
-CONFIG_SCSI_WD719X=m
-CONFIG_SCSI=y
-CONFIG_SCTP_COOKIE_HMAC_MD5=y
-CONFIG_SCTP_COOKIE_HMAC_SHA1=y
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# 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_SDIO_UART=m
-CONFIG_SECCOMP=y
-CONFIG_SECONDARY_TRUSTED_KEYRING=y
-CONFIG_SECTION_MISMATCH_WARN_ONLY=y
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-CONFIG_SECURITYFS=y
-CONFIG_SECURITY_INFINIBAND=y
-# CONFIG_SECURITY_LOADPIN is not set
-CONFIG_SECURITY_NETWORK_XFRM=y
-CONFIG_SECURITY_NETWORK=y
-# CONFIG_SECURITY_PATH is not set
-CONFIG_SECURITY_SELINUX_AVC_STATS=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
-CONFIG_SECURITY_SELINUX_BOOTPARAM=y
-CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
-CONFIG_SECURITY_SELINUX_DEVELOP=y
-CONFIG_SECURITY_SELINUX_DISABLE=y
-# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
-CONFIG_SECURITY_SELINUX=y
-# CONFIG_SECURITY_SMACK is not set
-# CONFIG_SECURITY_TOMOYO is not set
-CONFIG_SECURITY=y
-CONFIG_SECURITY_YAMA=y
-CONFIG_SENSORS_AD7314=m
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADC128D818=m
-CONFIG_SENSORS_ADCXX=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-CONFIG_SENSORS_ADM1275=m
-CONFIG_SENSORS_ADM9240=m
-# CONFIG_SENSORS_ADS1015 is not set
-CONFIG_SENSORS_ADS7828=m
-CONFIG_SENSORS_ADS7871=m
-CONFIG_SENSORS_ADT7310=m
-CONFIG_SENSORS_ADT7410=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_APDS990X=m
-CONFIG_SENSORS_ASC7621=m
-CONFIG_SENSORS_ASPEED=m
-CONFIG_SENSORS_ATXP1=m
-CONFIG_SENSORS_BH1770=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_DS1621=m
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_EMC1403=m
-# CONFIG_SENSORS_EMC2103 is not set
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-CONFIG_SENSORS_FTSTEUTATES=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_G762=m
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-# CONFIG_SENSORS_GPIO_FAN is not set
-CONFIG_SENSORS_HDAPS=m
-# CONFIG_SENSORS_HIH6130 is not set
-# CONFIG_SENSORS_HMC5843_I2C is not set
-# CONFIG_SENSORS_HMC5843 is not set
-# CONFIG_SENSORS_HMC5843_SPI is not set
-# CONFIG_SENSORS_I5K_AMB is not set
-CONFIG_SENSORS_IBMAEM=m
-CONFIG_SENSORS_IBMPEX=m
-CONFIG_SENSORS_IBMPOWERNV=y
-# CONFIG_SENSORS_IIO_HWMON is not set
-CONFIG_SENSORS_INA209=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-# CONFIG_SENSORS_IR35221 is not set
-# CONFIG_SENSORS_ISL29018 is not set
-# CONFIG_SENSORS_ISL29028 is not set
-CONFIG_SENSORS_IT87=m
-CONFIG_SENSORS_JC42=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LIS3_I2C=m
-CONFIG_SENSORS_LIS3LV02D=m
-# CONFIG_SENSORS_LIS3_SPI is not set
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LM63=m
-CONFIG_SENSORS_LM70=m
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LM95234=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_LTC2945=m
-CONFIG_SENSORS_LTC2978=m
-CONFIG_SENSORS_LTC2990=m
-CONFIG_SENSORS_LTC3815=m
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4222=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4260=m
-CONFIG_SENSORS_LTC4261=m
-CONFIG_SENSORS_MAX1111=m
-CONFIG_SENSORS_MAX16064=m
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX197=m
-CONFIG_SENSORS_MAX20751=m
-CONFIG_SENSORS_MAX31722=m
-CONFIG_SENSORS_MAX31790=m
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_MAX6697=m
-CONFIG_SENSORS_MAX8688=m
-CONFIG_SENSORS_MCP3021=m
-CONFIG_SENSORS_NCT6683=m
-CONFIG_SENSORS_NCT6775=m
-CONFIG_SENSORS_NCT7802=m
-CONFIG_SENSORS_NCT7904=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_PCF8591=m
-CONFIG_SENSORS_PMBUS=m
-CONFIG_SENSORS_POWR1220=m
-CONFIG_SENSORS_PWM_FAN=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SHT3x=m
-CONFIG_SENSORS_SHTC1=m
-CONFIG_SENSORS_SIS5595=m
-# CONFIG_SENSORS_SMM665 is not set
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47M1=m
-# CONFIG_SENSORS_STTS751 is not set
-CONFIG_SENSORS_TC654=m
-CONFIG_SENSORS_TC74=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP103=m
-CONFIG_SENSORS_TMP108=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_TPS40422=m
-CONFIG_SENSORS_TSL2550=m
-# CONFIG_SENSORS_TSL2563 is not set
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-CONFIG_SENSORS_W83627EHF=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83795=m
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_WM831X=m
-CONFIG_SENSORS_WM8350=m
-# CONFIG_SENSORS_XGENE is not set
-CONFIG_SENSORS_ZL6100=m
-# CONFIG_SERIAL_8250_ASPEED_VUART is not set
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_CS=m
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-CONFIG_SERIAL_8250_DW=y
-CONFIG_SERIAL_8250_EXAR=m
-CONFIG_SERIAL_8250_EXTENDED=y
-# CONFIG_SERIAL_8250_FINTEK is not set
-# CONFIG_SERIAL_8250_INGENIC is not set
-# CONFIG_SERIAL_8250 is not set
-CONFIG_SERIAL_8250_MANY_PORTS=y
-# CONFIG_SERIAL_8250_MID is not set
-CONFIG_SERIAL_8250_MOXA=m
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_RSA=y
-CONFIG_SERIAL_8250_RT288X=y
-CONFIG_SERIAL_8250_RUNTIME_UARTS=32
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_SERIAL_ARC=m
-CONFIG_SERIAL_ARC_NR_PORTS=1
-# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_CORE=m
-# CONFIG_SERIAL_CPM is not set
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
-# CONFIG_SERIAL_FSL_LPUART is not set
-CONFIG_SERIAL_ICOM=m
-# CONFIG_SERIAL_IFX6X60 is not set
-CONFIG_SERIAL_JSM=m
-# CONFIG_SERIAL_KGDB_NMI is not set
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX310X is not set
-CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_SERIAL_OF_PLATFORM=m
-# CONFIG_SERIAL_PCH_UART is not set
-# CONFIG_SERIAL_QE is not set
-# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_ST_ASC is not set
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_UARTLITE is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-CONFIG_SERIO_ALTERA_PS2=m
-# CONFIG_SERIO_APBPS2 is not set
-CONFIG_SERIO_ARC_PS2=m
-# CONFIG_SERIO_CT82C710 is not set
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_OLPC_APSP is not set
-# CONFIG_SERIO_PARKBD is not set
-# CONFIG_SERIO_PCIPS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-CONFIG_SERIO_RAW=m
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_XILINX_XPS_PS2 is not set
-CONFIG_SERIO=y
-CONFIG_SFC_FALCON=m
-CONFIG_SFC_FALCON_MTD=y
-# CONFIG_SFC is not set
-# CONFIG_SGI_IOC4 is not set
-CONFIG_SGI_PARTITION=y
-CONFIG_SH_ETH=m
-# CONFIG_SI1145 is not set
-# CONFIG_SI7005 is not set
-# CONFIG_SI7020 is not set
-# CONFIG_SIGMA is not set
-CONFIG_SIGMATEL_FIR=m
-CONFIG_SIGNED_PE_FILE_VERIFICATION=y
-CONFIG_SIMPLE_GPIO=y
-# CONFIG_SIMPLE_PM_BUS is not set
-CONFIG_SIS190=m
-CONFIG_SIS900=m
-# CONFIG_SKFP is not set
-# CONFIG_SKGE_DEBUG is not set
-CONFIG_SKGE_GENESIS=y
-CONFIG_SKGE=m
-# CONFIG_SKY2_DEBUG is not set
-CONFIG_SKY2=m
-CONFIG_SLAB_FREELIST_RANDOM=y
-CONFIG_SLAB_MERGE_DEFAULT=y
-# CONFIG_SLICOSS is not set
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP=m
-# CONFIG_SLIP_MODE_SLIP6 is not set
-CONFIG_SLIP_SMART=y
-CONFIG_SLUB_CPU_PARTIAL=y
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-CONFIG_SLUB=y
-CONFIG_SMARTJOYPLUS_FF=y
-CONFIG_SMC_IRCC_FIR=m
-# CONFIG_SMC is not set
-# CONFIG_SM_FTL is not set
-CONFIG_SMP=y
-CONFIG_SMSC911X=m
-CONFIG_SMSC9420=m
-CONFIG_SMSC_PHY=m
-CONFIG_SMSC_SCH311X_WDT=m
-CONFIG_SMS_SDIO_DRV=m
-# CONFIG_SMS_SIANO_DEBUGFS is not set
-CONFIG_SMS_SIANO_MDTV=m
-CONFIG_SMS_SIANO_RC=y
-CONFIG_SMS_USB_DRV=m
-CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
-CONFIG_SND_AC97_POWER_SAVE=y
-CONFIG_SND_AD1889=m
-CONFIG_SND_ALI5451=m
-CONFIG_SND_ALOOP=m
-CONFIG_SND_ALS300=m
-CONFIG_SND_ALS4000=m
-CONFIG_SND_ASIHPI=m
-CONFIG_SND_ATIIXP=m
-CONFIG_SND_ATIIXP_MODEM=m
-# CONFIG_SND_ATMEL_SOC is not set
-CONFIG_SND_AU8810=m
-CONFIG_SND_AU8820=m
-CONFIG_SND_AU8830=m
-# CONFIG_SND_AUDIO_GRAPH_CARD is not set
-# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set
-# CONFIG_SND_AW2 is not set
-CONFIG_SND_AZT3328=m
-# CONFIG_SND_BCD2000 is not set
-CONFIG_SND_BEBOB=m
-CONFIG_SND_BT87X=m
-# CONFIG_SND_BT87X_OVERCLOCK is not set
-CONFIG_SND_CA0106=m
-CONFIG_SND_CMIPCI=m
-CONFIG_SND_COMPRESS_OFFLOAD=m
-CONFIG_SND_CS4281=m
-CONFIG_SND_CS46XX=m
-CONFIG_SND_CS46XX_NEW_DSP=y
-CONFIG_SND_CS5530=m
-CONFIG_SND_CS5535AUDIO=m
-CONFIG_SND_CTXFI=m
-CONFIG_SND_DARLA20=m
-CONFIG_SND_DARLA24=m
-# CONFIG_SND_DEBUG is not set
-# CONFIG_SND_DEBUG_VERBOSE is not set
-CONFIG_SND_DESIGNWARE_I2S=m
-CONFIG_SND_DESIGNWARE_PCM=y
-CONFIG_SND_DICE=m
-CONFIG_SND_DMAENGINE_PCM=m
-CONFIG_SND_DRIVERS=y
-CONFIG_SND_DUMMY=m
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_ECHO3G=m
-# CONFIG_SND_EDMA_SOC is not set
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
-CONFIG_SND_ENS1370=m
-CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_RADIO=y
-CONFIG_SND_FIREFACE=m
-CONFIG_SND_FIREWIRE_DIGI00X=m
-CONFIG_SND_FIREWIRE_MOTU=m
-CONFIG_SND_FIREWIRE_TASCAM=m
-CONFIG_SND_FIREWIRE=y
-CONFIG_SND_FIREWORKS=m
-CONFIG_SND_FM801=m
-CONFIG_SND_FM801_TEA575X_BOOL=y
-CONFIG_SND_GINA20=m
-CONFIG_SND_GINA24=m
-CONFIG_SND_HDA_CODEC_ANALOG=m
-CONFIG_SND_HDA_CODEC_CA0110=m
-CONFIG_SND_HDA_CODEC_CA0132_DSP=y
-CONFIG_SND_HDA_CODEC_CA0132=m
-CONFIG_SND_HDA_CODEC_CIRRUS=m
-CONFIG_SND_HDA_CODEC_CMEDIA=m
-CONFIG_SND_HDA_CODEC_CONEXANT=m
-CONFIG_SND_HDA_CODEC_HDMI=m
-CONFIG_SND_HDA_CODEC_REALTEK=m
-CONFIG_SND_HDA_CODEC_SI3054=m
-CONFIG_SND_HDA_CODEC_SIGMATEL=m
-CONFIG_SND_HDA_CODEC_VIA=m
-CONFIG_SND_HDA_GENERIC=m
-CONFIG_SND_HDA_HWDEP=y
-CONFIG_SND_HDA_I915=y
-CONFIG_SND_HDA_INPUT_BEEP_MODE=0
-CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL is not set
-CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
-CONFIG_SND_HDA_POWER_SAVE=y
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
-CONFIG_SND_HDA_RECONFIG=y
-CONFIG_SND_HDSP=m
-CONFIG_SND_HDSPM=m
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_I2S_HI6210_I2S=m
-CONFIG_SND_ICE1712=m
-CONFIG_SND_ICE1724=m
-CONFIG_SND_INDIGODJ=m
-CONFIG_SND_INDIGODJX=m
-CONFIG_SND_INDIGOIO=m
-CONFIG_SND_INDIGOIOX=m
-CONFIG_SND_INDIGO=m
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-CONFIG_SND_ISIGHT=m
-CONFIG_SND_JACK=y
-CONFIG_SND_KORG1212=m
-CONFIG_SND_LAYLA20=m
-CONFIG_SND_LAYLA24=m
-CONFIG_SND_LOLA=m
-CONFIG_SND_LX6464ES=m
-CONFIG_SND=m
-CONFIG_SND_MAESTRO3_INPUT=y
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAX_CARDS=32
-CONFIG_SND_MIA=m
-CONFIG_SND_MIXART=m
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_MONA=m
-CONFIG_SND_MPU401=m
-CONFIG_SND_MTPAV=m
-CONFIG_SND_MTS64=m
-CONFIG_SND_NM256=m
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_OXFW=m
-CONFIG_SND_OXYGEN=m
-CONFIG_SND_PCI=y
-# CONFIG_SND_PCMCIA is not set
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_PCSP=m
-CONFIG_SND_PCXHR=m
-CONFIG_SND_PORTMAN2X4=m
-CONFIG_SND_PPC=y
-CONFIG_SND_RIPTIDE=m
-CONFIG_SND_RME32=m
-CONFIG_SND_RME9652=m
-CONFIG_SND_RME96=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQUENCER_OSS=m
-CONFIG_SND_SERIAL_U16550=m
-CONFIG_SND_SIMPLE_CARD=m
-CONFIG_SND_SIMPLE_CARD_UTILS=m
-CONFIG_SND_SIMPLE_SCU_CARD=m
-CONFIG_SND_SIS7019=m
-# CONFIG_SND_SOC_ADAU1701 is not set
-CONFIG_SND_SOC_ADAU1761_I2C=m
-CONFIG_SND_SOC_ADAU1761_SPI=m
-# CONFIG_SND_SOC_ADAU7002 is not set
-# CONFIG_SND_SOC_AK4104 is not set
-# CONFIG_SND_SOC_AK4554 is not set
-# CONFIG_SND_SOC_AK4613 is not set
-# CONFIG_SND_SOC_AK4642 is not set
-# CONFIG_SND_SOC_AK5386 is not set
-# CONFIG_SND_SOC_ALC5623 is not set
-CONFIG_SND_SOC_ALL_CODECS=m
-CONFIG_SND_SOC_AMD_ACP=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
-# CONFIG_SND_SOC_BT_SCO is not set
-# CONFIG_SND_SOC_CS35L32 is not set
-# CONFIG_SND_SOC_CS35L33 is not set
-CONFIG_SND_SOC_CS35L34=m
-CONFIG_SND_SOC_CS35L35=m
-# CONFIG_SND_SOC_CS4265 is not set
-# CONFIG_SND_SOC_CS4270 is not set
-# CONFIG_SND_SOC_CS4271_I2C is not set
-# CONFIG_SND_SOC_CS4271 is not set
-# CONFIG_SND_SOC_CS4271_SPI is not set
-CONFIG_SND_SOC_CS42L42=m
-# CONFIG_SND_SOC_CS42L51_I2C is not set
-# CONFIG_SND_SOC_CS42L52 is not set
-# CONFIG_SND_SOC_CS42L56 is not set
-# CONFIG_SND_SOC_CS42L73 is not set
-# CONFIG_SND_SOC_CS42XX8_I2C is not set
-# CONFIG_SND_SOC_CS4349 is not set
-# CONFIG_SND_SOC_CS53L30 is not set
-CONFIG_SND_SOC_DIO2125=m
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_ES7134=m
-# CONFIG_SND_SOC_ES8316 is not set
-# CONFIG_SND_SOC_ES8328 is not set
-# CONFIG_SND_SOC_FSL_ASOC_CARD is not set
-# CONFIG_SND_SOC_FSL_ASRC is not set
-# CONFIG_SND_SOC_FSL_ESAI is not set
-# CONFIG_SND_SOC_FSL_SAI is not set
-# CONFIG_SND_SOC_FSL_SPDIF is not set
-# CONFIG_SND_SOC_FSL_SSI is not set
-CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
-# CONFIG_SND_SOC_GTM601 is not set
-CONFIG_SND_SOC_HDAC_HDMI=m
-CONFIG_SND_SOC_HDMI_CODEC=m
-# CONFIG_SND_SOC_IMG is not set
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
-# CONFIG_SND_SOC_IMX_ES8328 is not set
-# CONFIG_SND_SOC_INNO_RK3036 is not set
-# CONFIG_SND_SOC is not set
-# CONFIG_SND_SOC_MAX98504 is not set
-# CONFIG_SND_SOC_MAX9860 is not set
-CONFIG_SND_SOC_MAX98927=m
-# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
-# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
-# CONFIG_SND_SOC_NAU8540 is not set
-# CONFIG_SND_SOC_NAU8810 is not set
-CONFIG_SND_SOC_NAU8824=m
-# CONFIG_SND_SOC_PCM1681 is not set
-# CONFIG_SND_SOC_PCM179X_I2C is not set
-# CONFIG_SND_SOC_PCM179X is not set
-# CONFIG_SND_SOC_PCM179X_SPI is not set
-# CONFIG_SND_SOC_PCM3168A_I2C is not set
-# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
-# CONFIG_SND_SOC_PCM512x_SPI is not set
-# CONFIG_SND_SOC_RT5616 is not set
-# CONFIG_SND_SOC_RT5631 is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
-# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
-CONFIG_SND_SOC_SPDIF=m
-# CONFIG_SND_SOC_SSM2602_I2C is not set
-# CONFIG_SND_SOC_SSM2602_SPI is not set
-# CONFIG_SND_SOC_SSM4567 is not set
-# CONFIG_SND_SOC_STA32X is not set
-# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_STI_SAS is not set
-# CONFIG_SND_SOC_TAS2552 is not set
-# CONFIG_SND_SOC_TAS5086 is not set
-# CONFIG_SND_SOC_TAS571X is not set
-# CONFIG_SND_SOC_TAS5720 is not set
-# CONFIG_SND_SOC_TFA9879 is not set
-# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
-# CONFIG_SND_SOC_TLV320AIC3X is not set
-# CONFIG_SND_SOC_TPA6130A2 is not set
-# CONFIG_SND_SOC_TS3A227E is not set
-# CONFIG_SND_SOC_WM8510 is not set
-# CONFIG_SND_SOC_WM8523 is not set
-# CONFIG_SND_SOC_WM8580 is not set
-# CONFIG_SND_SOC_WM8711 is not set
-# CONFIG_SND_SOC_WM8728 is not set
-# CONFIG_SND_SOC_WM8731 is not set
-# CONFIG_SND_SOC_WM8737 is not set
-# CONFIG_SND_SOC_WM8741 is not set
-# CONFIG_SND_SOC_WM8750 is not set
-# CONFIG_SND_SOC_WM8753 is not set
-# CONFIG_SND_SOC_WM8770 is not set
-# CONFIG_SND_SOC_WM8776 is not set
-# CONFIG_SND_SOC_WM8804_I2C is not set
-# CONFIG_SND_SOC_WM8804 is not set
-# CONFIG_SND_SOC_WM8804_SPI is not set
-# CONFIG_SND_SOC_WM8903 is not set
-# CONFIG_SND_SOC_WM8960 is not set
-# CONFIG_SND_SOC_WM8962 is not set
-# CONFIG_SND_SOC_WM8974 is not set
-# CONFIG_SND_SOC_WM8978 is not set
-# CONFIG_SND_SOC_WM8985 is not set
-# CONFIG_SND_SOC_XTFPGA_I2S is not set
-# CONFIG_SND_SOC_ZX_AUD96P22 is not set
-CONFIG_SND_SONICVIBES=m
-# CONFIG_SND_SPI is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_TRIDENT=m
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_HIFACE=m
-CONFIG_SND_USB_PODHD=m
-CONFIG_SND_USB_POD=m
-CONFIG_SND_USB_TONEPORT=m
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_US122L=m
-CONFIG_SND_USB_USX2Y=m
-CONFIG_SND_USB_VARIAX=m
-CONFIG_SND_USB=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-CONFIG_SND_VIRMIDI=m
-CONFIG_SND_VIRTUOSO=m
-CONFIG_SND_VX222=m
-CONFIG_SND_YMFPCI=m
-# CONFIG_SOC_CAMERA is not set
-# CONFIG_SOC_TI is not set
-# CONFIG_SOC_ZTE is not set
-CONFIG_SOFTLOCKUP_DETECTOR=y
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_SOLARIS_X86_PARTITION=y
-# CONFIG_SOLO6X10 is not set
-CONFIG_SONY_FF=y
-# CONFIG_SONYPI is not set
-CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_SPAPR_TCE_IOMMU=y
-CONFIG_SPARSE_IRQ=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_SPARSE_RCU_POINTER=y
-# CONFIG_SPEAKUP is not set
-# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_AXI_SPI_ENGINE is not set
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_BUTTERFLY is not set
-# CONFIG_SPI_DEBUG is not set
-# CONFIG_SPI_DESIGNWARE is not set
-CONFIG_SPI_FSL_LPSPI=m
-# CONFIG_SPI_FSL_SPI is not set
-# CONFIG_SPI_GPIO is not set
-# CONFIG_SPI is not set
-# CONFIG_SPI_LM70_LLP is not set
-# CONFIG_SPI_LOOPBACK_TEST is not set
-# CONFIG_SPI_OC_TINY is not set
-# CONFIG_SPI_PXA2XX is not set
-# CONFIG_SPI_ROCKCHIP is not set
-# CONFIG_SPI_SC18IS602 is not set
-# CONFIG_SPI_SLAVE is not set
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-# CONFIG_SPI_TOPCLIFF_PCH is not set
-# CONFIG_SPI_XCOMM is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPMI is not set
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_LZ4=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_XZ=y
-CONFIG_SQUASHFS_ZLIB=y
-# CONFIG_SRAM is not set
-# CONFIG_SRF04 is not set
-# CONFIG_SRF08 is not set
-# CONFIG_SSB_DEBUG is not set
-CONFIG_SSB_DRIVER_GPIO=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_SSB_HOST_SOC=y
-CONFIG_SSB=m
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_PCMCIAHOST=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSFDC is not set
-CONFIG_STACK_TRACER=y
-CONFIG_STACK_VALIDATION=y
-# CONFIG_STAGING_BOARD is not set
-CONFIG_STAGING_MEDIA=y
-CONFIG_STAGING=y
-CONFIG_STANDALONE=y
-# CONFIG_STATIC_KEYS_SELFTEST is not set
-# CONFIG_STATIC_USERMODEHELPER is not set
-CONFIG_STE10XP=m
-# CONFIG_STE_MODEM_RPROC is not set
-CONFIG_STK3310=m
-# CONFIG_STK8312 is not set
-# CONFIG_STK8BA50 is not set
-# CONFIG_STM_DUMMY is not set
-# CONFIG_STM is not set
-CONFIG_STMMAC_ETH=m
-# CONFIG_STMMAC_PCI is not set
-# CONFIG_STMMAC_PLATFORM is not set
-# CONFIG_STM_SOURCE_CONSOLE is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_STRIP_ASM_SYMS=y
-# CONFIG_STRIP is not set
-CONFIG_SUNDANCE=m
-# CONFIG_SUNDANCE_MMIO is not set
-CONFIG_SUNGEM=m
-CONFIG_SUN_PARTITION=y
-CONFIG_SUNRPC_DEBUG=y
-CONFIG_SUNRPC_GSS=m
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_XPRT_RDMA=m
-CONFIG_SURFACE_3_BUTTON=m
-CONFIG_SURFACE3_WMI=m
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_SUSPEND=y
-CONFIG_SWAP=y
-# CONFIG_SWIOTLB is not set
-# CONFIG_SW_SYNC is not set
-# CONFIG_SX9500 is not set
-CONFIG_SYNC_FILE=y
-# CONFIG_SYNCLINK_CS is not set
-CONFIG_SYNCLINK_GT=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
-CONFIG_SYN_COOKIES=y
-# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
-CONFIG_SYSCTL=y
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
-CONFIG_SYSTEM_BLACKLIST_KEYRING=y
-# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
-# CONFIG_SYSTEMPORT is not set
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
-CONFIG_SYSTEM_TRUSTED_KEYS=""
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_SYSV_FS=m
-CONFIG_SYSVIPC=y
-# CONFIG_T5403 is not set
-CONFIG_TABLET_SERIAL_WACOM4=m
-CONFIG_TABLET_USB_ACECAD=m
-CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
-CONFIG_TABLET_USB_HANWANG=m
-CONFIG_TABLET_USB_KBTAB=m
-CONFIG_TABLET_USB_PEGASUS=m
-CONFIG_TARGET_CORE=m
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_TASKS_RCU=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_XACCT=y
-CONFIG_TCG_ATMEL=m
-CONFIG_TCG_CRB=m
-# CONFIG_TCG_INFINEON is not set
-CONFIG_TCG_NSC=m
-# CONFIG_TCG_TIS_I2C_ATMEL is not set
-# CONFIG_TCG_TIS_I2C_INFINEON is not set
-# CONFIG_TCG_TIS_I2C_NUVOTON is not set
-CONFIG_TCG_TIS=m
-# CONFIG_TCG_TIS_SPI is not set
-# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
-# CONFIG_TCG_TIS_ST33ZP24 is not set
-# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_TCG_VTPM_PROXY is not set
-# CONFIG_TCG_XEN is not set
-CONFIG_TCM_FC=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_PSCSI=m
-# CONFIG_TCM_QLA2XXX_DEBUG is not set
-CONFIG_TCM_QLA2XXX=m
-CONFIG_TCM_USER2=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BBR=m
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CDG=m
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_TCP_CONG_DCTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_ILLINOIS=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_NV=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_MD5SIG=y
-# CONFIG_TCS3414 is not set
-# CONFIG_TCS3472 is not set
-# CONFIG_TEE is not set
-CONFIG_TEHUTI=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TELCLOCK=m
-CONFIG_TERANETICS_PHY=m
-CONFIG_TEST_ASYNC_DRIVER_PROBE=m
-# CONFIG_TEST_BITMAP is not set
-# CONFIG_TEST_BPF is not set
-# CONFIG_TEST_FIRMWARE is not set
-# CONFIG_TEST_HASH is not set
-# CONFIG_TEST_HEXDUMP is not set
-# CONFIG_TEST_KMOD is not set
-CONFIG_TEST_KSTRTOX=y
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_TEST_LKM is not set
-# CONFIG_TEST_PARMAN is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_TEST_PRINTF is not set
-# CONFIG_TEST_RHASHTABLE is not set
-# CONFIG_TEST_SORT is not set
-# CONFIG_TEST_STATIC_KEYS is not set
-# CONFIG_TEST_STRING_HELPERS is not set
-# CONFIG_TEST_SYSCTL is not set
-# CONFIG_TEST_UDELAY is not set
-# CONFIG_TEST_USER_COPY is not set
-# CONFIG_TEST_UUID is not set
-# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
-# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
-CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
-# CONFIG_THERMAL_EMULATION is not set
-# CONFIG_THERMAL_GOV_BANG_BANG is not set
-CONFIG_THERMAL_GOV_FAIR_SHARE=y
-# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
-CONFIG_THERMAL_GOV_STEP_WISE=y
-# CONFIG_THERMAL_GOV_USER_SPACE is not set
-CONFIG_THERMAL_HWMON=y
-# CONFIG_THERMAL_OF is not set
-# 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
-# CONFIG_TI_ADC108S102 is not set
-# CONFIG_TI_ADC12138 is not set
-# CONFIG_TI_ADC128S052 is not set
-# CONFIG_TI_ADC161S626 is not set
-CONFIG_TI_ADS1015=m
-# CONFIG_TI_ADS7950 is not set
-# CONFIG_TI_ADS8688 is not set
-# CONFIG_TI_CPSW_ALE is not set
-# CONFIG_TI_DAC7512 is not set
-CONFIG_TIFM_7XX1=m
-CONFIG_TIFM_CORE=m
-CONFIG_TIGON3_HWMON=y
-CONFIG_TIGON3=m
-# CONFIG_TIMB_DMA is not set
-# CONFIG_TIMER_STATS is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_MEDIA_IB is not set
-CONFIG_TIPC_MEDIA_UDP=y
-CONFIG_TI_SCI_PROTOCOL=m
-# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
-# CONFIG_TI_TLC4541 is not set
-CONFIG_TLAN=m
-CONFIG_TLS=m
-# CONFIG_TMD_HERMES is not set
-# CONFIG_TMP006 is not set
-# CONFIG_TMP007 is not set
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-CONFIG_TMPFS=y
-CONFIG_TOIM3232_DONGLE=m
-# CONFIG_TOSHIBA_FIR is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-CONFIG_TOUCHSCREEN_AD7879_I2C=m
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
-# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
-# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
-CONFIG_TOUCHSCREEN_DYNAPRO=m
-CONFIG_TOUCHSCREEN_EDT_FT5X06=m
-CONFIG_TOUCHSCREEN_EETI=m
-CONFIG_TOUCHSCREEN_EGALAX=m
-CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m
-# CONFIG_TOUCHSCREEN_EKTF2127 is not set
-CONFIG_TOUCHSCREEN_ELAN=m
-CONFIG_TOUCHSCREEN_ELO=m
-# CONFIG_TOUCHSCREEN_FT6236 is not set
-CONFIG_TOUCHSCREEN_FUJITSU=m
-# CONFIG_TOUCHSCREEN_GOODIX is not set
-CONFIG_TOUCHSCREEN_GUNZE=m
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-CONFIG_TOUCHSCREEN_ILI210X=m
-# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
-CONFIG_TOUCHSCREEN_INEXIO=m
-# CONFIG_TOUCHSCREEN_MAX11801 is not set
-CONFIG_TOUCHSCREEN_MCS5000=m
-# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
-CONFIG_TOUCHSCREEN_MK712=m
-CONFIG_TOUCHSCREEN_MMS114=m
-CONFIG_TOUCHSCREEN_MTOUCH=m
-CONFIG_TOUCHSCREEN_PENMOUNT=m
-CONFIG_TOUCHSCREEN_PIXCIR=m
-CONFIG_TOUCHSCREEN_RM_TS=m
-# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
-CONFIG_TOUCHSCREEN_SILEAD=m
-CONFIG_TOUCHSCREEN_SIS_I2C=m
-CONFIG_TOUCHSCREEN_ST1232=m
-# CONFIG_TOUCHSCREEN_STMFTS is not set
-# CONFIG_TOUCHSCREEN_SUR40 is not set
-# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
-# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
-CONFIG_TOUCHSCREEN_TOUCHIT213=m
-CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
-CONFIG_TOUCHSCREEN_TOUCHWIN=m
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-CONFIG_TOUCHSCREEN_TS4800=m
-# CONFIG_TOUCHSCREEN_TSC2004 is not set
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-CONFIG_TOUCHSCREEN_TSC2007_IIO=y
-CONFIG_TOUCHSCREEN_TSC2007=m
-CONFIG_TOUCHSCREEN_TSC_SERIO=m
-CONFIG_TOUCHSCREEN_UCB1400=m
-CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
-CONFIG_TOUCHSCREEN_USB_E2I=y
-CONFIG_TOUCHSCREEN_W90X900=m
-CONFIG_TOUCHSCREEN_WACOM_I2C=m
-CONFIG_TOUCHSCREEN_WACOM_W8001=m
-# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
-# CONFIG_TOUCHSCREEN_WM97XX is not set
-CONFIG_TOUCHSCREEN_ZET6223=m
-CONFIG_TOUCHSCREEN_ZFORCE=m
-# CONFIG_TPL0102 is not set
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_TRACE_BRANCH_PROFILING is not set
-# CONFIG_TRACE_ENUM_MAP_FILE is not set
-CONFIG_TRACE_EVAL_MAP_FILE=y
-# CONFIG_TRACEPOINT_BENCHMARK is not set
-# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
-CONFIG_TRACER_SNAPSHOT=y
-# CONFIG_TRACE_SINK is not set
-# CONFIG_TRACING_EVENTS_GPIO is not set
-CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-# CONFIG_TR is not set
-CONFIG_TRUSTED_KEYS=m
-# CONFIG_TS4800_IRQ is not set
-# CONFIG_TS4800_WATCHDOG is not set
-# CONFIG_TSL2583 is not set
-# CONFIG_TSL2x7x is not set
-# CONFIG_TSL4531 is not set
-# CONFIG_TSYS01 is not set
-# CONFIG_TSYS02D is not set
-CONFIG_TULIP=m
-CONFIG_TULIP_MMIO=y
-# CONFIG_TULIP_MWI is not set
-# CONFIG_TULIP_NAPI is not set
-CONFIG_TUN=m
-# CONFIG_TUN_VNET_CROSS_LE is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_TWL6040_CORE is not set
-CONFIG_TYPEC_FUSB302=m
-CONFIG_TYPEC_TCPCI=m
-CONFIG_TYPEC_TCPM=m
-CONFIG_TYPEC_UCSI=m
-CONFIG_TYPEC_WCOVE=m
-CONFIG_TYPHOON=m
-CONFIG_UBIFS_ATIME_SUPPORT=y
-# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-CONFIG_UBIFS_FS_ENCRYPTION=y
-CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_SECURITY=y
-# CONFIG_UBSAN_ALIGNMENT is not set
-# CONFIG_UBSAN is not set
-# CONFIG_UBSAN_SANITIZE_ALL is not set
-# CONFIG_UCB1400_CORE is not set
-# CONFIG_UCC_GETH is not set
-CONFIG_UCSI_ACPI=m
-CONFIG_UCSI=m
-# CONFIG_UDBG_RTAS_CONSOLE is not set
-CONFIG_UDF_FS=m
-# CONFIG_UEVENT_HELPER is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-CONFIG_UHID=m
-CONFIG_UIO_AEC=m
-CONFIG_UIO_CIF=m
-# CONFIG_UIO_DMEM_GENIRQ is not set
-CONFIG_UIO_HV_GENERIC=m
-CONFIG_UIO=m
-# CONFIG_UIO_MF624 is not set
-# CONFIG_UIO_NETX is not set
-CONFIG_UIO_PCI_GENERIC=m
-# CONFIG_UIO_PDRV_GENIRQ is not set
-# CONFIG_UIO_PDRV is not set
-# CONFIG_UIO_PRUSS is not set
-CONFIG_UIO_SERCOS3=m
-CONFIG_ULI526X=m
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_UNISYSSPAR is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX_DIAG=m
-CONFIG_UNIXWARE_DISKLABEL=y
-CONFIG_UNIX=y
-CONFIG_UNUSED_SYMBOLS=y
-CONFIG_UPROBE_EVENTS=y
-# CONFIG_US5182D is not set
-CONFIG_USB_ACM=m
-CONFIG_USB_ADUTUX=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_APPLEDISPLAY=m
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_ATMEL=m
-CONFIG_USB_ATM=m
-CONFIG_USB_BELKIN=y
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_CATC=m
-CONFIG_USB_CDC_PHONET=m
-CONFIG_USB_CHAOSKEY=m
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_CHIPIDEA_ULPI is not set
-# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
-CONFIG_USB_CXACRU=m
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_DEFAULT_PERSIST=y
-CONFIG_USB_DSBR=m
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_DWC3 is not set
-# CONFIG_USB_DWC3_OF_SIMPLE is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_EHCI_HCD_PLATFORM is not set
-CONFIG_USB_EHCI_HCD_PPC_OF=y
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_MV is not set
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-# CONFIG_USB_EHSET_TEST_FIXTURE is not set
-CONFIG_USB_EMI26=m
-CONFIG_USB_EMI62=m
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_EZUSB_FX2=m
-CONFIG_USB_EZUSB=y
-# CONFIG_USB_FHCI_HCD is not set
-# CONFIG_USB_FOTG210_HCD is not set
-CONFIG_USB_FTDI_ELAN=m
-# CONFIG_USB_GADGETFS is not set
-# CONFIG_USB_GADGET is not set
-CONFIG_USB_GL860=m
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_USB_GR_UDC is not set
-CONFIG_USB_G_SERIAL=m
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_DTCS033=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-CONFIG_USB_GSPCA_JEILINJ=m
-CONFIG_USB_GSPCA_JL2005BCD=m
-CONFIG_USB_GSPCA_KINECT=m
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA=m
-CONFIG_USB_GSPCA_MARS=m
-CONFIG_USB_GSPCA_MR97310A=m
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_PAC207=m
-CONFIG_USB_GSPCA_PAC7302=m
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SE401=m
-CONFIG_USB_GSPCA_SN9C2028=m
-CONFIG_USB_GSPCA_SN9C20X=m
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA1528=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SQ905C=m
-CONFIG_USB_GSPCA_SQ905=m
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-CONFIG_USB_GSPCA_STK1135=m
-CONFIG_USB_GSPCA_STV0680=m
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TOPRO=m
-CONFIG_USB_GSPCA_TOUPTEK=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-# CONFIG_USB_HCD_BCMA is not set
-# CONFIG_USB_HCD_SSB is not set
-# CONFIG_USB_HCD_TEST_MODE is not set
-CONFIG_USB_HIDDEV=y
-CONFIG_USB_HID=y
-CONFIG_USB_HSIC_USB3503=m
-CONFIG_USB_HSIC_USB4604=m
-CONFIG_USB_HSO=m
-CONFIG_USB_HUB_USB251XB=m
-CONFIG_USB_HWA_HCD=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_IOWARRIOR=m
-CONFIG_USBIP_CORE=m
-# CONFIG_USBIP_DEBUG is not set
-CONFIG_USB_IPHETH=m
-CONFIG_USBIP_HOST=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_VHCI_HC_PORTS=8
-CONFIG_USBIP_VHCI_NR_HCS=1
-CONFIG_USBIP_VUDC=m
-CONFIG_USB_IRDA=m
-CONFIG_USB_ISIGHTFW=m
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1301 is not set
-CONFIG_USB_ISP1362_HCD=m
-# CONFIG_USB_ISP1760 is not set
-CONFIG_USB_KAWETH=m
-CONFIG_USB_KC2190=y
-CONFIG_USB_KEENE=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LD=m
-CONFIG_USB_LED=m
-CONFIG_USB_LEDS_TRIGGER_USBPORT=m
-CONFIG_USB_LED_TRIG=y
-CONFIG_USB_LEGOTOWER=m
-# CONFIG_USB_LINK_LAYER_TEST is not set
-CONFIG_USB_M5602=m
-CONFIG_USB_MA901=m
-# CONFIG_USB_MAX3421_HCD is not set
-CONFIG_USB_MDC800=m
-CONFIG_USB_MICROTEK=m
-CONFIG_USB_MON=y
-CONFIG_USB_MR800=m
-# CONFIG_USB_MUSB_HDRC is not set
-CONFIG_USB_NET_AX88179_178A=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_MBIM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_NET_CH9200=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_DRIVERS=y
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_HUAWEI_CDC_NCM=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_SR9700=m
-# CONFIG_USB_NET_SR9800 is not set
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_OHCI_HCD_PCI=y
-# CONFIG_USB_OHCI_HCD_PLATFORM is not set
-CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
-CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
-CONFIG_USB_OHCI_HCD_PPC_OF=y
-# CONFIG_USB_OHCI_HCD_SSB is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OTG_FSM is not set
-# CONFIG_USB_OTG is not set
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OXU210HP_HCD is not set
-CONFIG_USB_PCI=y
-CONFIG_USBPCWATCHDOG=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_PHY=y
-CONFIG_USB_PRINTER=m
-CONFIG_USB_PULSE8_CEC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_PWC=m
-# CONFIG_USB_R8A66597_HCD is not set
-CONFIG_USB_RAINSHADOW_CEC=m
-# CONFIG_USB_RAREMONO is not set
-# CONFIG_USB_RIO500 is not set
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_S2255=m
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_CONSOLE=y
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_DEBUG=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_EMPEG=m
-# CONFIG_USB_SERIAL_F81232 is not set
-CONFIG_USB_SERIAL_F8153X=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-# CONFIG_USB_SERIAL_MXUPORT is not set
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QT2=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SIMPLE=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_UPD78F0730=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-# CONFIG_USB_SERIAL_WISHBONE is not set
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_XSENS_MT=m
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SEVSEG=m
-CONFIG_USB_SI470X=m
-# CONFIG_USB_SI4713 is not set
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_SISUSBVGA=m
-# CONFIG_USB_SL811_CS is not set
-CONFIG_USB_SL811_HCD_ISO=y
-CONFIG_USB_SL811_HCD=m
-CONFIG_USB_SNP_UDC_PLAT=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_DATAFAB=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STV06XX=m
-CONFIG_USB_SUPPORT=y
-# CONFIG_USB_SWITCH_FSA9480 is not set
-# CONFIG_USB_TEST is not set
-CONFIG_USB_TMC=m
-CONFIG_USB_TRANCEVIBRATOR=m
-# CONFIG_USB_U132_HCD is not set
-CONFIG_USB_UAS=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_UHCI_HCD=y
-CONFIG_USB_ULPI_BUS=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_USS720=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VL600=m
-CONFIG_USB_WDM=m
-# CONFIG_USB_WHCI_HCD is not set
-# CONFIG_USB_WUSB_CBAF_DEBUG is not set
-CONFIG_USB_WUSB_CBAF=m
-CONFIG_USB_WUSB=m
-CONFIG_USB_XHCI_HCD=y
-# CONFIG_USB_XHCI_PLATFORM is not set
-CONFIG_USB_XUSBATM=m
-CONFIG_USB=y
-CONFIG_USB_YUREX=m
-# CONFIG_USB_ZD1201 is not set
-CONFIG_USB_ZR364XX=m
-# CONFIG_USELIB is not set
-CONFIG_USERFAULTFD=y
-# CONFIG_USERIO is not set
-CONFIG_USER_NS=y
-# CONFIG_USE_THIN_ARCHIVES is not set
-CONFIG_UTS_NS=y
-CONFIG_UWB_HWA=m
-CONFIG_UWB_I1480U=m
-CONFIG_UWB=m
-CONFIG_UWB_WHCI=m
-# CONFIG_V4L2_FLASH_LED_CLASS is not set
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-# CONFIG_V4L_PLATFORM_DRIVERS is not set
-# CONFIG_V4L_TEST_DRIVERS is not set
-# CONFIG_VCNL4000 is not set
-# CONFIG_VEML6070 is not set
-CONFIG_VETH=m
-# CONFIG_VF610_ADC is not set
-# CONFIG_VF610_DAC is not set
-CONFIG_VFAT_FS=m
-# CONFIG_VFIO_IOMMU_TYPE1 is not set
-CONFIG_VFIO=m
-CONFIG_VFIO_MDEV_DEVICE=m
-CONFIG_VFIO_MDEV=m
-# CONFIG_VFIO_NOIOMMU is not set
-CONFIG_VFIO_PCI=m
-CONFIG_VGA_ARB_MAX_GPUS=16
-CONFIG_VGA_ARB=y
-# CONFIG_VGACON_SOFT_SCROLLBACK_PERSISTENT_ENABLE_BY_DEFAULT is not set
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_SCSI=m
-CONFIG_VHOST_VSOCK=m
-CONFIG_VIA_FIR=m
-CONFIG_VIA_RHINE=m
-CONFIG_VIA_RHINE_MMIO=y
-CONFIG_VIA_VELOCITY=m
-# CONFIG_VIDEO_ADV_DEBUG is not set
-CONFIG_VIDEO_AU0828=m
-# CONFIG_VIDEO_AU0828_RC is not set
-CONFIG_VIDEO_AU0828_V4L2=y
-CONFIG_VIDEO_BT848=m
-CONFIG_VIDEO_CAFE_CCIC=m
-CONFIG_VIDEO_CPIA2=m
-# CONFIG_VIDEO_CPIA is not set
-CONFIG_VIDEO_CX18_ALSA=m
-CONFIG_VIDEO_CX18=m
-CONFIG_VIDEO_CX231XX_ALSA=m
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-CONFIG_VIDEO_CX23885=m
-# CONFIG_VIDEO_CX25821 is not set
-CONFIG_VIDEO_CX88_ALSA=m
-CONFIG_VIDEO_CX88_BLACKBIRD=m
-CONFIG_VIDEO_CX88_DVB=m
-CONFIG_VIDEO_CX88_ENABLE_VP3054=y
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_CX88_VP3054=m
-CONFIG_VIDEO_DEV=m
-# CONFIG_VIDEO_DT3155 is not set
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_RC=m
-CONFIG_VIDEO_EM28XX_V4L2=m
-CONFIG_VIDEO_FB_IVTV=m
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-CONFIG_VIDEO_GO7007_LOADER=m
-CONFIG_VIDEO_GO7007=m
-CONFIG_VIDEO_GO7007_USB=m
-CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-# CONFIG_VIDEO_IVTV_ALSA is not set
-# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
-CONFIG_VIDEO_IVTV=m
-# CONFIG_VIDEO_M5MOLS is not set
-# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
-CONFIG_VIDEO_MEYE=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_NOON010PC30=m
-# CONFIG_VIDEO_PCI_SKELETON is not set
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_PVRUSB2_DVB=y
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
-CONFIG_VIDEO_SAA6588=m
-CONFIG_VIDEO_SAA7134_ALSA=m
-CONFIG_VIDEO_SAA7134_DVB=m
-CONFIG_VIDEO_SAA7134_GO7007=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_SAA7134_RC=y
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_VIDEO_SAA7164=m
-# CONFIG_VIDEO_SH_MOBILE_CEU is not set
-# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
-# CONFIG_VIDEO_SH_VEU is not set
-CONFIG_VIDEO_SOLO6X10=m
-CONFIG_VIDEO_SR030PC30=m
-CONFIG_VIDEO_STK1160_AC97=y
-CONFIG_VIDEO_STK1160_COMMON=m
-CONFIG_VIDEO_STK1160=m
-CONFIG_VIDEO_TM6000_ALSA=m
-CONFIG_VIDEO_TM6000_DVB=m
-CONFIG_VIDEO_TM6000=m
-CONFIG_VIDEO_TUNER=m
-# CONFIG_VIDEO_TW5864 is not set
-# CONFIG_VIDEO_TW686X_KH is not set
-CONFIG_VIDEO_TW686X=m
-# CONFIG_VIDEO_TW68 is not set
-CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-# CONFIG_VIDEO_VIVID is not set
-# CONFIG_VIDEO_VIVI is not set
-# CONFIG_VIDEO_XILINX is not set
-CONFIG_VIDEO_ZORAN_AVS6EYES=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_DC30=m
-# CONFIG_VIDEO_ZORAN is not set
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_ZORAN_ZR36060=m
-# CONFIG_VIPERBOARD_ADC is not set
-# 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_INPUT=m
-# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_NET=m
-CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_VSOCKETS=m
-CONFIG_VIRTUALIZATION=y
-CONFIG_VITESSE_PHY=m
-CONFIG_VL6180=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_VLSI_FIR=m
-# CONFIG_VME_BUS is not set
-# CONFIG_VMXNET3 is not set
-CONFIG_VORTEX=m
-CONFIG_VSOCKETS=m
-CONFIG_VSOCKMON=m
-CONFIG_VSX=y
-# CONFIG_VT6655 is not set
-# CONFIG_VT6656 is not set
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_VT=y
-# CONFIG_VXFS_FS is not set
-# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
-CONFIG_VXGE=m
-CONFIG_VXLAN=m
-# CONFIG_VZ89X is not set
-CONFIG_W1_CON=y
-CONFIG_W1=m
-# CONFIG_W1_MASTER_DS1WM is not set
-CONFIG_W1_MASTER_DS2482=m
-CONFIG_W1_MASTER_DS2490=m
-# CONFIG_W1_MASTER_GPIO is not set
-# CONFIG_W1_MASTER_MATROX is not set
-CONFIG_W1_SLAVE_BQ27000=m
-CONFIG_W1_SLAVE_DS2405=m
-CONFIG_W1_SLAVE_DS2406=m
-CONFIG_W1_SLAVE_DS2408=m
-# CONFIG_W1_SLAVE_DS2408_READBACK is not set
-CONFIG_W1_SLAVE_DS2413=m
-CONFIG_W1_SLAVE_DS2423=m
-CONFIG_W1_SLAVE_DS2431=m
-CONFIG_W1_SLAVE_DS2433_CRC=y
-CONFIG_W1_SLAVE_DS2433=m
-CONFIG_W1_SLAVE_DS2438=m
-CONFIG_W1_SLAVE_DS2760=m
-CONFIG_W1_SLAVE_DS2780=m
-CONFIG_W1_SLAVE_DS2781=m
-CONFIG_W1_SLAVE_DS28E04=m
-CONFIG_W1_SLAVE_SMEM=m
-CONFIG_W1_SLAVE_THERM=m
-CONFIG_W83627HF_WDT=m
-CONFIG_W83877F_WDT=m
-CONFIG_W83977F_WDT=m
-# CONFIG_WAFER_WDT is not set
-# CONFIG_WAN is not set
-# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
-CONFIG_WATCHDOG_CORE=y
-CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
-CONFIG_WATCHDOG_RTAS=m
-CONFIG_WATCHDOG_SYSFS=y
-CONFIG_WATCHDOG=y
-# CONFIG_WCN36XX_DEBUGFS is not set
-CONFIG_WCN36XX=m
-CONFIG_WDAT_WDT=m
-CONFIG_WDTPCI=m
-CONFIG_WIL6210_ISR_COR=y
-CONFIG_WIL6210=m
-# CONFIG_WIL6210_TRACING is not set
-# CONFIG_WILC1000_SDIO is not set
-# CONFIG_WILC1000_SPI is not set
-CONFIG_WILINK_PLATFORM_DATA=y
-# CONFIG_WIMAX is not set
-CONFIG_WINBOND_840=m
-CONFIG_WINBOND_FIR=m
-# CONFIG_WINDFARM is not set
-CONFIG_WIRELESS_EXT=y
-CONFIG_WIRELESS=y
-CONFIG_WIZNET_W5100=m
-CONFIG_WIZNET_W5100_SPI=m
-CONFIG_WIZNET_W5300=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL1251_SPI=m
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-# CONFIG_WLAN_VENDOR_ADMTEK is not set
-CONFIG_WLAN_VENDOR_ATH=y
-# CONFIG_WLAN_VENDOR_ATMEL is not set
-CONFIG_WLAN_VENDOR_BROADCOM=y
-# CONFIG_WLAN_VENDOR_CISCO is not set
-CONFIG_WLAN_VENDOR_INTEL=y
-CONFIG_WLAN_VENDOR_INTERSIL=y
-CONFIG_WLAN_VENDOR_MARVELL=y
-CONFIG_WLAN_VENDOR_MEDIATEK=y
-CONFIG_WLAN_VENDOR_QUANTENNA=y
-CONFIG_WLAN_VENDOR_RALINK=y
-CONFIG_WLAN_VENDOR_REALTEK=y
-CONFIG_WLAN_VENDOR_RSI=y
-CONFIG_WLAN_VENDOR_ST=y
-CONFIG_WLAN_VENDOR_TI=y
-CONFIG_WLAN_VENDOR_ZYDAS=y
-CONFIG_WLAN=y
-CONFIG_WLCORE=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_WLCORE_SPI=m
-# CONFIG_WM831X_POWER is not set
-CONFIG_WM831X_WATCHDOG=m
-CONFIG_WM8350_POWER=m
-CONFIG_WM8350_WATCHDOG=m
-# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
-# CONFIG_WQ_WATCHDOG is not set
-# CONFIG_WW_MUTEX_SELFTEST is not set
-# CONFIG_X25 is not set
-# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
-CONFIG_X86_MCELOG_LEGACY=y
-# CONFIG_X86_PTDUMP is not set
-CONFIG_XFRM_MIGRATE=y
-CONFIG_XFRM_STATISTICS=y
-CONFIG_XFRM_SUB_POLICY=y
-CONFIG_XFRM_USER=y
-CONFIG_XFRM=y
-# CONFIG_XFS_DEBUG is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_QUOTA=y
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_WARN is not set
-# CONFIG_XILINX_DMA is not set
-# CONFIG_XILINX_EMACLITE is not set
-CONFIG_XILINX_GMII2RGMII=m
-# CONFIG_XILINX_LL_TEMAC is not set
-# CONFIG_XILINX_WATCHDOG is not set
-CONFIG_XILLYBUS=m
-# CONFIG_XILLYBUS_OF is not set
-CONFIG_XILLYBUS_PCIE=m
-# CONFIG_XMON_DEFAULT is not set
-CONFIG_XMON_DISASSEMBLY=y
-CONFIG_XMON=y
-# CONFIG_XPS_USB_HCD_XILINX is not set
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_SPARC=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC=y
-CONFIG_YAM=m
-CONFIG_YELLOWFIN=m
-CONFIG_YENTA=m
-CONFIG_Z3FOLD=y
-CONFIG_ZBUD=y
-# CONFIG_ZD1211RW_DEBUG is not set
-CONFIG_ZD1211RW=m
-CONFIG_ZEROPLUS_FF=y
-# CONFIG_ZIIRAVE_WATCHDOG is not set
-CONFIG_ZISOFS=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_ZLIB_INFLATE=y
-# CONFIG_ZONE_DEVICE is not set
-# CONFIG_ZPA2326 is not set
-CONFIG_ZRAM=m
-# CONFIG_ZSMALLOC_STAT is not set
-CONFIG_ZSMALLOC=y
-CONFIG_ZSWAP=y
-# CONFIG_ZX_TDM is not set
diff --git a/freed-ora/current/f26/kernel-s390x-debug.config b/freed-ora/current/f26/kernel-s390x-debug.config
index 7b7f56c9d..b83e148aa 100644
--- a/freed-ora/current/f26/kernel-s390x-debug.config
+++ b/freed-ora/current/f26/kernel-s390x-debug.config
@@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
# CONFIG_ALIM7101_WDT is not set
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
# CONFIG_ALTERA_STAPL is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_ALX=m
@@ -198,6 +200,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -332,6 +335,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -373,7 +377,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -409,7 +412,6 @@ CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_XPRAM=m
CONFIG_BLK_DEV=y
@@ -433,6 +435,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -443,6 +446,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -531,7 +535,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -602,12 +605,14 @@ CONFIG_CASSINI=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CCW_CONSOLE=y
CONFIG_CCWGROUP=m
CONFIG_CCW=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -650,7 +655,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_CHARGER_SMB347 is not set
@@ -686,9 +690,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -696,7 +701,10 @@ CONFIG_CM32181=m
# CONFIG_CM3323 is not set
CONFIG_CM3605=m
# CONFIG_CM36651 is not set
-# CONFIG_CMA is not set
+CONFIG_CMA_AREAS=7
+# CONFIG_CMA_DEBUGFS is not set
+# CONFIG_CMA_DEBUG is not set
+CONFIG_CMA=y
# CONFIG_CMDLINE_PARTITION is not set
CONFIG_CMM_IUCV=y
CONFIG_CMM=m
@@ -791,6 +799,7 @@ CONFIG_CRYPTO_DEV_CHELSIO=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -959,6 +968,7 @@ CONFIG_DEV_APPLETALK=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1116,6 +1126,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1189,7 +1200,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EADM_SCH=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
# CONFIG_ECHO is not set
CONFIG_ECRYPT_FS=m
@@ -1232,7 +1243,6 @@ CONFIG_ETHERNET=y
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1451,13 +1461,14 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIOLIB is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1477,6 +1488,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1520,7 +1532,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1729,7 +1741,6 @@ CONFIG_I2C_MUX_MLXCPLD=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PIIX4 is not set
@@ -1841,6 +1852,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1867,7 +1879,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -1916,7 +1927,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -1969,7 +1982,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2092,6 +2105,7 @@ CONFIG_IRDA_FAST_RR=y
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2106,6 +2120,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_DOMAIN_DEBUG=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2330,6 +2345,7 @@ CONFIG_LCS=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2427,6 +2443,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
CONFIG_LOCK_STAT=y
@@ -2452,6 +2469,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2533,6 +2551,7 @@ CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_DEVICE=m
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2601,6 +2620,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2640,7 +2660,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RTSX_PCI is not set
-CONFIG_MFD_RTSX_USB=m
+# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2665,8 +2685,9 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS68470 is not set
# CONFIG_MFD_TPS80031 is not set
-CONFIG_MFD_VIPERBOARD=m
+# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_WM831X_I2C is not set
@@ -2708,8 +2729,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2730,7 +2753,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3071,6 +3093,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
# CONFIG_NET_PACKET_ENGINE is not set
CONFIG_NET_PKTGEN=m
@@ -3139,6 +3162,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
@@ -3160,6 +3184,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
@@ -3296,6 +3321,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3450,14 +3476,8 @@ CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3519,6 +3539,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3568,6 +3589,8 @@ CONFIG_PFAULT=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=m
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3575,13 +3598,16 @@ CONFIG_PHYLIB=m
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SX150X is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3598,7 +3624,7 @@ CONFIG_PM_DEBUG=y
# CONFIG_PM_DEVFREQ is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -3635,7 +3661,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -3680,6 +3705,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QDIO=m
@@ -3714,6 +3740,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -3780,6 +3807,7 @@ CONFIG_REALTEK_PHY=m
CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -3793,7 +3821,9 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -3813,6 +3843,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -3820,6 +3852,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4202,6 +4235,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4291,6 +4325,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4360,6 +4395,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
# CONFIG_SERIO is not set
CONFIG_SERIO_LIBPS2=m
@@ -4372,6 +4408,7 @@ CONFIG_SERIO_SERPORT=m
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
# CONFIG_SGI_PARTITION is not set
CONFIG_SHARED_KERNEL=y
@@ -4391,6 +4428,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4499,7 +4537,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4588,6 +4626,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -4650,6 +4689,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TS3A227E is not set
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -4741,6 +4781,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -4775,6 +4816,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -4931,7 +4973,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5216,7 +5257,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5318,7 +5358,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -5493,7 +5532,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5554,6 +5592,7 @@ CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
+CONFIG_VMCP_CMA_SIZE=4
CONFIG_VMCP=y
# CONFIG_VME_BUS is not set
CONFIG_VMLOGRDR=m
@@ -5592,6 +5631,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5612,6 +5652,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
# CONFIG_WDTPCI is not set
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5701,6 +5742,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-s390x.config b/freed-ora/current/f26/kernel-s390x.config
index fdf0c062d..27d1c0592 100644
--- a/freed-ora/current/f26/kernel-s390x.config
+++ b/freed-ora/current/f26/kernel-s390x.config
@@ -148,7 +148,9 @@ CONFIG_AIX_PARTITION=y
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
# CONFIG_ALIM7101_WDT is not set
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
# CONFIG_ALTERA_STAPL is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_ALX=m
@@ -197,6 +199,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -331,6 +334,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -372,7 +376,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
CONFIG_BLK_DEV_BSGLIB=y
@@ -408,7 +411,6 @@ CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_XPRAM=m
CONFIG_BLK_DEV=y
@@ -432,6 +434,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -442,6 +445,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -530,7 +534,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
# CONFIG_BTT is not set
CONFIG_BT_WILINK=m
@@ -601,12 +604,14 @@ CONFIG_CASSINI=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CCW_CONSOLE=y
CONFIG_CCWGROUP=m
CONFIG_CCW=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -649,7 +654,6 @@ CONFIG_CGROUPS=y
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_CHARGER_SMB347 is not set
@@ -685,9 +689,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -695,7 +700,10 @@ CONFIG_CM32181=m
# CONFIG_CM3323 is not set
CONFIG_CM3605=m
# CONFIG_CM36651 is not set
-# CONFIG_CMA is not set
+CONFIG_CMA_AREAS=7
+# CONFIG_CMA_DEBUGFS is not set
+# CONFIG_CMA_DEBUG is not set
+CONFIG_CMA=y
# CONFIG_CMDLINE_PARTITION is not set
CONFIG_CMM_IUCV=y
CONFIG_CMM=m
@@ -789,6 +797,7 @@ CONFIG_CRYPTO_DEV_CHELSIO=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -949,6 +958,7 @@ CONFIG_DEV_APPLETALK=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1105,6 +1115,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1178,7 +1189,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EADM_SCH=m
CONFIG_EARLY_PRINTK_DBGP=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
# CONFIG_ECHO is not set
CONFIG_ECRYPT_FS=m
@@ -1221,7 +1232,6 @@ CONFIG_ETHERNET=y
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1433,13 +1443,14 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_ALTERA is not set
# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_GRGPIO is not set
-CONFIG_GPIO_IT87=m
+# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIOLIB is not set
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX7301 is not set
@@ -1459,6 +1470,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1502,7 +1514,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1711,7 +1723,6 @@ CONFIG_I2C_MUX_MLXCPLD=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_NFORCE2_S4985 is not set
# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PIIX4 is not set
@@ -1823,6 +1834,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
@@ -1849,7 +1861,6 @@ CONFIG_INFINIBAND_USNIC=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -1898,7 +1909,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
# CONFIG_INPUT_POLLDEV is not set
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
# CONFIG_INPUT_SPARSEKMAP is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
@@ -1951,7 +1964,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2074,6 +2087,7 @@ CONFIG_IRDA_FAST_RR=y
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2088,6 +2102,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
CONFIG_IRQ_DOMAIN_DEBUG=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
@@ -2310,6 +2325,7 @@ CONFIG_LCS=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2407,6 +2423,7 @@ CONFIG_LMP91000=m
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+# CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set
# CONFIG_LOCK_DOWN_KERNEL is not set
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2432,6 +2449,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2512,6 +2530,7 @@ CONFIG_MDIO_BITBANG=m
CONFIG_MDIO_DEVICE=m
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2580,6 +2599,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_AXP20X is not set
# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2619,7 +2639,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_RN5T618 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RTSX_PCI is not set
-CONFIG_MFD_RTSX_USB=m
+# CONFIG_MFD_RTSX_USB is not set
# CONFIG_MFD_SEC_CORE is not set
# CONFIG_MFD_SI476X_CORE is not set
# CONFIG_MFD_SKY81452 is not set
@@ -2644,8 +2664,9 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS68470 is not set
# CONFIG_MFD_TPS80031 is not set
-CONFIG_MFD_VIPERBOARD=m
+# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_WM831X_I2C is not set
@@ -2687,8 +2708,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -2709,7 +2732,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3049,6 +3071,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
# CONFIG_NET_PACKET_ENGINE is not set
CONFIG_NET_PKTGEN=m
@@ -3117,6 +3140,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
@@ -3138,6 +3162,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SNI is not set
# CONFIG_NET_VENDOR_SOLARFLARE is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
@@ -3274,6 +3299,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3428,14 +3454,8 @@ CONFIG_PANIC_TIMEOUT=0
CONFIG_PANTHERLORD_FF=y
# CONFIG_PARIDE is not set
CONFIG_PARMAN=m
-CONFIG_PARPORT_1284=y
-# CONFIG_PARPORT_AX88796 is not set
# CONFIG_PARPORT is not set
-# CONFIG_PARPORT_PC_FIFO is not set
-CONFIG_PARPORT_PC=m
-CONFIG_PARPORT_PC_PCMCIA=m
-# CONFIG_PARPORT_PC_SUPERIO is not set
-CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_PATA_ACPI=m
CONFIG_PATA_ALI=m
@@ -3497,6 +3517,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3546,6 +3567,8 @@ CONFIG_PFAULT=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=m
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3553,13 +3576,16 @@ CONFIG_PHYLIB=m
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
# CONFIG_PINCTRL_SX150X is not set
# CONFIG_PINMUX is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -3576,7 +3602,7 @@ CONFIG_PM_DEBUG=y
# CONFIG_PM_DEVFREQ is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -3613,7 +3639,6 @@ CONFIG_PPP_SYNC_TTY=m
CONFIG_PPS_CLIENT_GPIO=m
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_PARPORT=m
# CONFIG_PPS_DEBUG is not set
CONFIG_PPS_GENERATOR_PARPORT=m
CONFIG_PPS=m
@@ -3657,6 +3682,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QDIO=m
@@ -3691,6 +3717,7 @@ CONFIG_R8169=m
# CONFIG_R8188EU is not set
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -3757,6 +3784,7 @@ CONFIG_REALTEK_PHY=m
# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -3770,7 +3798,9 @@ CONFIG_REISERFS_PROC_INFO=y
CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
# CONFIG_RESET_CONTROLLER is not set
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -3790,6 +3820,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -3797,6 +3829,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4179,6 +4212,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4268,6 +4302,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4337,6 +4372,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
# CONFIG_SERIO is not set
CONFIG_SERIO_LIBPS2=m
@@ -4349,6 +4385,7 @@ CONFIG_SERIO_SERPORT=m
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+CONFIG_SFP=m
# CONFIG_SGI_IOC4 is not set
# CONFIG_SGI_PARTITION is not set
CONFIG_SHARED_KERNEL=y
@@ -4368,6 +4405,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4476,7 +4514,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4564,6 +4602,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -4626,6 +4665,7 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_TS3A227E is not set
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -4717,6 +4757,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -4751,6 +4792,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -4907,7 +4949,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5192,7 +5233,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5294,7 +5334,6 @@ CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_METRO is not set
-CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
@@ -5469,7 +5508,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -5530,6 +5568,7 @@ CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VLSI_FIR=m
+CONFIG_VMCP_CMA_SIZE=4
CONFIG_VMCP=y
# CONFIG_VME_BUS is not set
CONFIG_VMLOGRDR=m
@@ -5568,6 +5607,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -5588,6 +5628,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
# CONFIG_WDTPCI is not set
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -5677,6 +5718,7 @@ CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-x86_64-debug.config b/freed-ora/current/f26/kernel-x86_64-debug.config
index 3c5a21100..19f33be8f 100644
--- a/freed-ora/current/f26/kernel-x86_64-debug.config
+++ b/freed-ora/current/f26/kernel-x86_64-debug.config
@@ -199,7 +199,9 @@ CONFIG_ALIENWARE_WMI=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -207,6 +209,8 @@ CONFIG_ALX=m
CONFIG_AMD8111_ETH=m
CONFIG_AMD_IOMMU_V2=m
CONFIG_AMD_IOMMU=y
+# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set
+CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_AMD_NUMA=y
CONFIG_AMD_PHY=m
CONFIG_AMD_XGBE_DCB=y
@@ -254,6 +258,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -394,6 +399,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
CONFIG_BATTERY_MAX17042=m
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -435,7 +441,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
@@ -478,7 +483,6 @@ CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -501,6 +505,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -511,6 +516,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -599,7 +605,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
CONFIG_BTT=y
CONFIG_BT_WILINK=m
@@ -672,11 +677,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -719,7 +726,6 @@ CONFIG_CHARGER_BQ24190=m
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -756,9 +762,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -889,6 +896,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1076,6 +1084,9 @@ CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
+CONFIG_DEVICE_PRIVATE=y
+CONFIG_DEVICE_PUBLIC=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1251,6 +1262,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1325,7 +1337,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_EFI=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1405,7 +1417,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1649,6 +1660,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_AXP209 is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
@@ -1683,6 +1695,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1733,7 +1746,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1853,6 +1866,7 @@ CONFIG_HISAX_W6692=y
CONFIG_HIST_TRIGGERS=y
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
+CONFIG_HMM_MIRROR=y
CONFIG_HOLTEK_FF=y
# CONFIG_HOSTAP is not set
CONFIG_HOTPLUG_CPU=y
@@ -1915,6 +1929,7 @@ CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2090,6 +2105,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_HFI1=m
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
@@ -2118,7 +2134,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2168,7 +2183,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2213,6 +2230,7 @@ CONFIG_INTEL_POWERCLAMP=m
CONFIG_INTEL_PUNIT_IPC=m
CONFIG_INTEL_RAPL=m
CONFIG_INTEL_RDT_A=y
+CONFIG_INTEL_RDT=y
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SCU_IPC is not set
CONFIG_INTEL_SMARTCONNECT=y
@@ -2266,7 +2284,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2393,6 +2411,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2407,6 +2426,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_REMAP=y
# CONFIG_IRQSOFF_TRACER is not set
@@ -2640,6 +2660,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2740,6 +2761,7 @@ CONFIG_LOAD_UEFI_KEYS=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y
CONFIG_LOCK_DOWN_KERNEL=y
CONFIG_LOCKD_V4=y
CONFIG_LOCK_STAT=y
@@ -2765,6 +2787,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2844,6 +2867,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2912,6 +2936,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2979,6 +3004,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -3027,8 +3053,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3050,7 +3078,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3402,6 +3429,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3471,6 +3499,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3492,6 +3521,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3631,6 +3661,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3880,6 +3911,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3934,6 +3966,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3943,6 +3977,7 @@ CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
@@ -3950,10 +3985,14 @@ CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_DENVERTON=m
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
+CONFIG_PINCTRL_LEWISBURG=m
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -3972,7 +4011,7 @@ CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_PMIC_OPREGION=y
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -4064,6 +4103,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -4093,6 +4133,7 @@ CONFIG_R8169=m
CONFIG_R8188EU=m
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4162,6 +4203,7 @@ CONFIG_REALTEK_PHY=m
CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -4176,6 +4218,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -4195,6 +4239,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -4202,6 +4248,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4580,6 +4627,7 @@ CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4671,6 +4719,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4742,6 +4791,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4759,6 +4809,7 @@ CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_MTD=y
CONFIG_SFC_SRIOV=y
CONFIG_SFI=y
+CONFIG_SFP=m
# CONFIG_SGI_GRU_DEBUG is not set
CONFIG_SGI_GRU=m
CONFIG_SGI_IOC4=m
@@ -4781,6 +4832,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4888,7 +4940,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4978,6 +5030,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5065,6 +5118,7 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5168,6 +5222,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5201,6 +5256,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5365,7 +5421,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5651,7 +5706,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5931,7 +5985,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -6037,6 +6090,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6056,6 +6110,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6104,6 +6159,7 @@ CONFIG_WMI_BMOF=m
CONFIG_WQ_WATCHDOG=y
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
+# CONFIG_X86_5LEVEL is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
CONFIG_X86_ACPI_CPUFREQ=m
@@ -6170,6 +6226,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVH=y
CONFIG_XEN_PV=y
@@ -6224,6 +6281,7 @@ CONFIG_ZONE_DEVICE=y
CONFIG_ZONE_DMA=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel-x86_64.config b/freed-ora/current/f26/kernel-x86_64.config
index 5bcbda2c3..77f779e85 100644
--- a/freed-ora/current/f26/kernel-x86_64.config
+++ b/freed-ora/current/f26/kernel-x86_64.config
@@ -199,7 +199,9 @@ CONFIG_ALIENWARE_WMI=m
CONFIG_ALI_FIR=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ=y
# CONFIG_ALTERA_MBOX is not set
+CONFIG_ALTERA_MSGDMA=m
CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
@@ -207,6 +209,8 @@ CONFIG_ALX=m
CONFIG_AMD8111_ETH=m
CONFIG_AMD_IOMMU_V2=m
CONFIG_AMD_IOMMU=y
+# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set
+CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_AMD_NUMA=y
CONFIG_AMD_PHY=m
CONFIG_AMD_XGBE_DCB=y
@@ -253,6 +257,7 @@ CONFIG_ATH10K=m
CONFIG_ATH10K_PCI=m
CONFIG_ATH10K_SDIO=m
# CONFIG_ATH10K_TRACING is not set
+CONFIG_ATH10K_USB=m
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K=m
# CONFIG_ATH5K_TRACER is not set
@@ -393,6 +398,7 @@ CONFIG_BATMAN_ADV_NC=y
# CONFIG_BATTERY_LEGO_EV3 is not set
# CONFIG_BATTERY_MAX17040 is not set
CONFIG_BATTERY_MAX17042=m
+# CONFIG_BATTERY_MAX1721X is not set
# CONFIG_BATTERY_SBS is not set
CONFIG_BAYCOM_EPP=m
CONFIG_BAYCOM_PAR=m
@@ -434,7 +440,6 @@ CONFIG_BINFMT_MISC=m
CONFIG_BINFMT_SCRIPT=y
CONFIG_BLK_CGROUP=y
# CONFIG_BLK_CMDLINE_PARSER is not set
-CONFIG_BLK_CPQ_CISS_DA=m
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_BLK_DEV_AMD74XX=y
@@ -477,7 +482,6 @@ CONFIG_BLK_DEV_SX8=m
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_UMEM=m
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_ZONED=y
@@ -500,6 +504,7 @@ CONFIG_BNX2=m
CONFIG_BNX2X=m
CONFIG_BNX2X_SRIOV=y
CONFIG_BNXT_DCB=y
+CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT=m
CONFIG_BNXT_SRIOV=y
CONFIG_BONDING=m
@@ -510,6 +515,7 @@ CONFIG_BONDING=m
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_BOUNCE=y
CONFIG_BPF_JIT=y
+CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
# CONFIG_BRCMDBG is not set
@@ -598,7 +604,6 @@ CONFIG_BT_RFCOMM_TTY=y
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-CONFIG_BT_SCO=y
# CONFIG_BT_SELFTEST is not set
CONFIG_BTT=y
CONFIG_BT_WILINK=m
@@ -671,11 +676,13 @@ CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
# CONFIG_CC10001_ADC is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_CCS811 is not set
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_CC_STACKPROTECTOR=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD=m
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_CEC_PIN=y
CONFIG_CEC_PLATFORM_DRIVERS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS=m
@@ -718,7 +725,6 @@ CONFIG_CHARGER_BQ24190=m
# CONFIG_CHARGER_LTC3651 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_PCF50633 is not set
-# CONFIG_CHARGER_QCOM_SMBB is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_SBS is not set
CONFIG_CHARGER_SMB347=m
@@ -755,9 +761,10 @@ CONFIG_CIFS_STATS=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_XATTR=y
-CONFIG_CISS_SCSI_TAPE=y
CONFIG_CLEANCACHE=y
+# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLOCK_THERMAL is not set
CONFIG_CLS_U32_MARK=y
CONFIG_CLS_U32_PERF=y
CONFIG_CM32181=m
@@ -887,6 +894,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
+# CONFIG_CRYPTO_DEV_SP_CCP is not set
CONFIG_CRYPTO_DEV_VIRTIO=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1066,6 +1074,9 @@ CONFIG_DEV_DAX_PMEM=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_THERMAL is not set
+CONFIG_DEVICE_PRIVATE=y
+CONFIG_DEVICE_PUBLIC=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1240,6 +1251,7 @@ CONFIG_DVB_BUDGET_PATCH=m
CONFIG_DVB_CORE=m
# CONFIG_DVB_CXD2099 is not set
CONFIG_DVB_DDBRIDGE=m
+# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
@@ -1314,7 +1326,7 @@ CONFIG_E1000=m
CONFIG_E100=m
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_EFI=y
-# CONFIG_EARLY_PRINTK_USB_XDBC is not set
+CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EBC_C384_WDT is not set
CONFIG_ECHO=m
CONFIG_ECRYPT_FS=m
@@ -1394,7 +1406,6 @@ CONFIG_ETHOC=m
# CONFIG_EVM is not set
# CONFIG_EXOFS_DEBUG is not set
# CONFIG_EXOFS_FS is not set
-CONFIG_EXPERIMENTAL=y
# CONFIG_EXPERT is not set
CONFIG_EXPORTFS=y
# CONFIG_EXT2_FS is not set
@@ -1631,6 +1642,7 @@ CONFIG_GIRBIL_DONGLE=m
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_AXP209 is not set
+CONFIG_GPIO_BD9571MWV=m
# CONFIG_GPIO_BT8XX is not set
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
@@ -1665,6 +1677,7 @@ CONFIG_GPIO_PCI_IDIO_16=m
# CONFIG_GPIO_SYSCON is not set
# CONFIG_GPIO_SYSFS is not set
# CONFIG_GPIO_TPIC2810 is not set
+CONFIG_GPIO_TPS68470=y
# CONFIG_GPIO_TS4900 is not set
# CONFIG_GPIO_TS5500 is not set
CONFIG_GPIO_VIPERBOARD=m
@@ -1715,7 +1728,7 @@ CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
-# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CP2112=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELECOM=m
@@ -1835,6 +1848,7 @@ CONFIG_HISAX_W6692=y
CONFIG_HIST_TRIGGERS=y
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
+CONFIG_HMM_MIRROR=y
CONFIG_HOLTEK_FF=y
# CONFIG_HOSTAP is not set
CONFIG_HOTPLUG_CPU=y
@@ -1897,6 +1911,7 @@ CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
CONFIG_HYSDN=m
CONFIG_HZ_1000=y
@@ -2072,6 +2087,7 @@ CONFIG_INET=y
# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
+# CONFIG_INFINIBAND_EXP_USER_ACCESS is not set
CONFIG_INFINIBAND_HFI1=m
CONFIG_INFINIBAND_I40IW=m
CONFIG_INFINIBAND_IPOIB_CM=y
@@ -2100,7 +2116,6 @@ CONFIG_INFINIBAND_VMWARE_PVRDMA=m
# CONFIG_INFTL is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INOTIFY_USER=y
-CONFIG_INOTIFY=y
# CONFIG_INPUT_AD714X is not set
# CONFIG_INPUT_ADXL34X is not set
CONFIG_INPUT_APANEL=m
@@ -2150,7 +2165,9 @@ CONFIG_INPUT_PMIC8XXX_PWRKEY=m
CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_POWERMATE=m
# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_SOC_BUTTON_ARRAY=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_TABLET=y
@@ -2195,6 +2212,7 @@ CONFIG_INTEL_POWERCLAMP=m
CONFIG_INTEL_PUNIT_IPC=m
CONFIG_INTEL_RAPL=m
CONFIG_INTEL_RDT_A=y
+CONFIG_INTEL_RDT=y
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SCU_IPC is not set
CONFIG_INTEL_SMARTCONNECT=y
@@ -2248,7 +2266,7 @@ CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3=y
# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_DCCP=m
+# CONFIG_IP_DCCP is not set
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP=m
CONFIG_IP_FIB_TRIE_STATS=y
@@ -2375,6 +2393,7 @@ CONFIG_IRDA=m
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
CONFIG_IR_GPIO_CIR=m
+CONFIG_IR_GPIO_TX=m
CONFIG_IR_HIX5HD2=m
CONFIG_IR_IGORPLUGUSB=m
CONFIG_IR_IGUANA=m
@@ -2389,6 +2408,7 @@ CONFIG_IR_MCEUSB=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IRNET=m
CONFIG_IR_NUVOTON=m
+CONFIG_IR_PWM_TX=m
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_REMAP=y
# CONFIG_IRQSOFF_TRACER is not set
@@ -2620,6 +2640,7 @@ CONFIG_LCD_PLATFORM=m
# CONFIG_LDM_DEBUG is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
# CONFIG_LEDS_BCM6328 is not set
# CONFIG_LEDS_BCM6358 is not set
# CONFIG_LEDS_BD2802 is not set
@@ -2720,6 +2741,7 @@ CONFIG_LOAD_UEFI_KEYS=y
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_LOCKD=m
+CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y
CONFIG_LOCK_DOWN_KERNEL=y
CONFIG_LOCKD_V4=y
# CONFIG_LOCK_STAT is not set
@@ -2745,6 +2767,7 @@ CONFIG_LPFC_NVME_INITIATOR=y
CONFIG_LPFC_NVME_TARGET=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_LSM_MMAP_MIN_ADDR=65536
+# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
@@ -2802,7 +2825,7 @@ CONFIG_MAX30100=m
# CONFIG_MAX9611 is not set
# CONFIG_MAXIM_THERMOCOUPLE is not set
CONFIG_MAX_RAW_DEVS=8192
-CONFIG_MAXSMP=y
+# CONFIG_MAXSMP is not set
# CONFIG_MC3230 is not set
# CONFIG_MCB is not set
# CONFIG_MCE_AMD_INJ is not set
@@ -2824,6 +2847,7 @@ CONFIG_MDIO_BITBANG=m
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_MDIO_GPIO is not set
# CONFIG_MDIO_HISI_FEMAC is not set
+CONFIG_MDIO_I2C=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
CONFIG_MD_LINEAR=m
@@ -2892,6 +2916,7 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
+CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
# CONFIG_MFD_CROS_EC is not set
@@ -2959,6 +2984,7 @@ CONFIG_MFD_SM501=m
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912 is not set
# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_TPS68470=y
# CONFIG_MFD_TPS80031 is not set
CONFIG_MFD_VIPERBOARD=m
CONFIG_MFD_VX855=m
@@ -3007,8 +3033,10 @@ CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_CORE=m
# CONFIG_MLX5_EN_IPSEC is not set
+CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
+CONFIG_MLX5_MPFS=y
# CONFIG_MLX90614 is not set
CONFIG_MLX_CPLD_PLATFORM=m
CONFIG_MLXFW=m
@@ -3030,7 +3058,6 @@ CONFIG_MMA7660=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
-CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_MMC_CB710=m
@@ -3382,6 +3409,7 @@ CONFIG_NETLABEL=y
CONFIG_NETLINK_DIAG=m
CONFIG_NET_MPLS_GSO=m
CONFIG_NET_NCSI=y
+CONFIG_NET_NSH=m
CONFIG_NET_NS=y
CONFIG_NET_PACKET_ENGINE=y
CONFIG_NET_PKTGEN=m
@@ -3451,6 +3479,7 @@ CONFIG_NET_VENDOR_EXAR=y
# CONFIG_NET_VENDOR_FUJITSU is not set
# CONFIG_NET_VENDOR_HISILICON is not set
# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_NET_VENDOR_MARVELL=y
@@ -3472,6 +3501,7 @@ CONFIG_NET_VENDOR_ROCKER=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_NET_VENDOR_SMSC=y
+# CONFIG_NET_VENDOR_SNI is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_NET_VENDOR_SUN=y
@@ -3611,6 +3641,7 @@ CONFIG_NFT_EXTHDR=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
+CONFIG_NFT_FIB_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_HASH=m
CONFIG_NFT_LIMIT=m
@@ -3709,7 +3740,7 @@ CONFIG_NORTEL_HERMES=m
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOZOMI=m
-CONFIG_NR_CPUS=8192
+CONFIG_NR_CPUS=1024
CONFIG_NR_DEV_DAX=32768
CONFIG_NS83820=m
CONFIG_NSC_FIR=m
@@ -3860,6 +3891,7 @@ CONFIG_PCIEAER=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM=y
CONFIG_PCIE_DPC=y
+# CONFIG_PCIE_DW_HOST_ECAM is not set
# CONFIG_PCIE_DW_PLAT is not set
CONFIG_PCIE_ECRC=y
# CONFIG_PCI_ENDPOINT is not set
@@ -3914,6 +3946,8 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHONET is not set
# CONFIG_PHY_CPCAP_USB is not set
CONFIG_PHYLIB=y
+CONFIG_PHYLINK=m
+# CONFIG_PHY_MVEBU_CP110_COMPHY is not set
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_QCOM_USB_HSIC is not set
@@ -3923,6 +3957,7 @@ CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set
# CONFIG_PHY_TUSB1210 is not set
+# CONFIG_PI433 is not set
CONFIG_PID_NS=y
CONFIG_PINCONF=y
# CONFIG_PINCTRL_AMD is not set
@@ -3930,10 +3965,14 @@ CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_BROXTON=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_DENVERTON=m
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ8074 is not set
+CONFIG_PINCTRL_LEWISBURG=m
# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_MSM8994 is not set
+CONFIG_PINCTRL_RK805=m
+# CONFIG_PINCTRL_SPRD is not set
+# CONFIG_PINCTRL_SPRD_SC9860 is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
CONFIG_PINCTRL=y
@@ -3952,7 +3991,7 @@ CONFIG_PM_DEVFREQ=y
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_PMIC_DA903X is not set
CONFIG_PMIC_OPREGION=y
-# CONFIG_PM_OPP is not set
+CONFIG_PM_OPP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
@@ -4043,6 +4082,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000_SPI is not set
# CONFIG_QCA7000_UART is not set
# CONFIG_QCOM_EMAC is not set
+# CONFIG_QCOM_GLINK_SSR is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QEDE=m
@@ -4072,6 +4112,7 @@ CONFIG_R8169=m
CONFIG_R8188EU=m
CONFIG_R8712U=m
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
+CONFIG_R8822BE=m
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_CADET=m
@@ -4141,6 +4182,7 @@ CONFIG_REALTEK_PHY=m
# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
+CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR is not set
# CONFIG_REGULATOR_TPS65132 is not set
@@ -4155,6 +4197,8 @@ CONFIG_RELAY=y
# CONFIG_RELOCATABLE_TEST is not set
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=m
+CONFIG_RESET_ATTACK_MITIGATION=y
+# CONFIG_RESET_HSDK_V1 is not set
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RFD_FTL is not set
CONFIG_RFKILL_GPIO=m
@@ -4174,6 +4218,8 @@ CONFIG_RMI4_F55=y
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
+# CONFIG_RMNET is not set
+# CONFIG_ROCKCHIP_PHY is not set
CONFIG_ROCKER=m
CONFIG_ROCKETPORT=m
CONFIG_ROMFS_FS=m
@@ -4181,6 +4227,7 @@ CONFIG_ROSE=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPMSG_CHAR is not set
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_QCOM_GLINK_SMEM is not set
CONFIG_RPR0521=m
CONFIG_RSI_91X=m
CONFIG_RSI_DEBUGFS=y
@@ -4559,6 +4606,7 @@ CONFIG_SENSORS_HDAPS=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
+# CONFIG_SENSORS_IBM_CFFPS is not set
CONFIG_SENSORS_IBMPEX=m
# CONFIG_SENSORS_IIO_HWMON is not set
CONFIG_SENSORS_INA209=m
@@ -4650,6 +4698,7 @@ CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
CONFIG_SENSORS_TPS40422=m
+CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
# CONFIG_SENSORS_TSL2563 is not set
CONFIG_SENSORS_UCD9000=m
@@ -4721,6 +4770,7 @@ CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_APBPS2 is not set
CONFIG_SERIO_ARC_PS2=m
# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_OLPC_APSP is not set
@@ -4738,6 +4788,7 @@ CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_MTD=y
CONFIG_SFC_SRIOV=y
CONFIG_SFI=y
+CONFIG_SFP=m
# CONFIG_SGI_GRU_DEBUG is not set
CONFIG_SGI_GRU=m
CONFIG_SGI_IOC4=m
@@ -4760,6 +4811,7 @@ CONFIG_SKGE_GENESIS=y
CONFIG_SKGE=m
# CONFIG_SKY2_DEBUG is not set
CONFIG_SKY2=m
+CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_MERGE_DEFAULT=y
# CONFIG_SLICOSS is not set
@@ -4867,7 +4919,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
-CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
CONFIG_SND_HDA_POWER_SAVE=y
CONFIG_SND_HDA_PREALLOC_SIZE=4096
CONFIG_SND_HDA_RECONFIG=y
@@ -4956,6 +5008,7 @@ CONFIG_SND_SOC_CS42L42=m
# CONFIG_SND_SOC_CS42L56 is not set
# CONFIG_SND_SOC_CS42L73 is not set
# CONFIG_SND_SOC_CS42XX8_I2C is not set
+CONFIG_SND_SOC_CS43130=m
# CONFIG_SND_SOC_CS4349 is not set
# CONFIG_SND_SOC_CS53L30 is not set
CONFIG_SND_SOC_DIO2125=m
@@ -5043,6 +5096,7 @@ CONFIG_SND_SOC_SSM4567=m
CONFIG_SND_SOC_TS3A227E=m
# CONFIG_SND_SOC_WM8510 is not set
# CONFIG_SND_SOC_WM8523 is not set
+CONFIG_SND_SOC_WM8524=m
# CONFIG_SND_SOC_WM8580 is not set
# CONFIG_SND_SOC_WM8711 is not set
# CONFIG_SND_SOC_WM8728 is not set
@@ -5146,6 +5200,7 @@ CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_ZSTD=y
# CONFIG_SRAM is not set
# CONFIG_SRF04 is not set
# CONFIG_SRF08 is not set
@@ -5179,6 +5234,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PLATFORM is not set
# CONFIG_STM_SOURCE_CONSOLE is not set
CONFIG_STRICT_DEVMEM=y
+# CONFIG_STRING_SELFTEST is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_STRIP is not set
CONFIG_SUNDANCE=m
@@ -5343,7 +5399,6 @@ CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TI_ST is not set
-# CONFIG_TI_SYSCON_RESET is not set
# CONFIG_TI_TLC4541 is not set
CONFIG_TLAN=m
CONFIG_TLS=m
@@ -5629,7 +5684,6 @@ CONFIG_USB_KEENE=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_LCD=m
CONFIG_USB_LD=m
-CONFIG_USB_LED=m
CONFIG_USB_LEDS_TRIGGER_USBPORT=m
CONFIG_USB_LED_TRIG=y
CONFIG_USB_LEGOTOWER=m
@@ -5909,7 +5963,6 @@ CONFIG_VIDEO_NOON010PC30=m
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2=m
CONFIG_VIDEO_PVRUSB2_SYSFS=y
-# CONFIG_VIDEO_RENESAS_VSP1 is not set
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_SAA7134_ALSA=m
CONFIG_VIDEO_SAA7134_DVB=m
@@ -6015,6 +6068,7 @@ CONFIG_W1_SLAVE_DS2438=m
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=m
CONFIG_W1_SLAVE_DS2781=m
+CONFIG_W1_SLAVE_DS2805=m
CONFIG_W1_SLAVE_DS28E04=m
CONFIG_W1_SLAVE_SMEM=m
CONFIG_W1_SLAVE_THERM=m
@@ -6034,6 +6088,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
# CONFIG_WIL6210_TRACING is not set
@@ -6082,6 +6137,7 @@ CONFIG_WMI_BMOF=m
# CONFIG_WQ_WATCHDOG is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_X25 is not set
+# CONFIG_X86_5LEVEL is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
CONFIG_X86_ACPI_CPUFREQ=m
@@ -6148,6 +6204,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+# CONFIG_XEN_PVCALLS_BACKEND is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVH=y
CONFIG_XEN_PV=y
@@ -6202,6 +6259,7 @@ CONFIG_ZONE_DEVICE=y
CONFIG_ZONE_DMA=y
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
+# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
diff --git a/freed-ora/current/f26/kernel.spec b/freed-ora/current/f26/kernel.spec
index a7b54dc60..b1bdfb5d4 100644
--- a/freed-ora/current/f26/kernel.spec
+++ b/freed-ora/current/f26/kernel.spec
@@ -17,7 +17,7 @@ Summary: The Linux kernel
%else
%global signkernel 0
%global signmodules 1
-%global zipmodules 0
+%global zipmodules 1
%endif
%if %{zipmodules}
@@ -42,13 +42,13 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 202
+%global baserelease 200
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 13
+%define base_sublevel 14
# librev starts empty, then 1, etc, as the linux-libre tarball
# changes. This is only used to determine which tarball to use.
@@ -58,9 +58,9 @@ Summary: The Linux kernel
%define basegnu -gnu%{?librev}
# To be inserted between "patch" and "-4.".
-%define stablelibre -4.13%{?stablegnux}
-#define rcrevlibre -4.13%{?rcrevgnux}
-#define gitrevlibre -4.13%{?gitrevgnux}
+%define stablelibre -4.14%{?stablegnux}
+#define rcrevlibre -4.14%{?rcrevgnux}
+#define gitrevlibre -4.14%{?gitrevgnux}
%if 0%{?stablelibre:1}
%define stablegnu -gnu%{?librev}
@@ -92,7 +92,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 16
+%define stable_update 4
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -131,8 +131,6 @@ Summary: The Linux kernel
# kernel-headers
%define with_headers %{?_without_headers: 0} %{?!_without_headers: 1}
%define with_cross_headers %{?_without_cross_headers: 0} %{?!_without_cross_headers: 1}
-# kernel-firmware
-%define with_firmware %{?_with_firmware: 1} %{?!_with_firmware: 0}
# perf
%define with_perf %{?_without_perf: 0} %{?!_without_perf: 1}
# tools
@@ -276,7 +274,6 @@ Summary: The Linux kernel
%define with_tools 0
%define with_perf 0
%define all_arch_configs kernel-%{version}-*.config
-%define with_firmware %{?_without_firmware: 0} %{?!_without_firmware: 1}
%endif
# bootwrapper is only on ppc
@@ -308,7 +305,7 @@ Summary: The Linux kernel
%define make_target vmlinux
%define kernel_image vmlinux
%define kernel_image_elf 1
-%ifarch ppc64 ppc64p7
+%ifarch ppc64
%define all_arch_configs kernel-%{version}-ppc64*.config
%endif
%ifarch ppc64le
@@ -417,7 +414,7 @@ Version: %{rpmversion}
Release: %{pkg_release}
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
# SET %%nobuildarches (ABOVE) INSTEAD
-ExclusiveArch: noarch %{all_x86} x86_64 ppc64 ppc64p7 s390x %{arm} aarch64 ppc64le
+ExclusiveArch: %{all_x86} x86_64 ppc64 s390x %{arm} aarch64 ppc64le
ExclusiveOS: Linux
%ifnarch %{nobuildarches}
Requires: kernel-libre-core-uname-r = %{KVERREL}%{?variant}
@@ -485,7 +482,6 @@ Source93: filter-aarch64.sh
Source95: filter-ppc64.sh
Source96: filter-ppc64le.sh
Source97: filter-s390x.sh
-Source98: filter-ppc64p7.sh
Source99: filter-modules.sh
%define modsign_cmd %{SOURCE18}
@@ -503,8 +499,6 @@ Source30: kernel-ppc64.config
Source31: kernel-ppc64-debug.config
Source32: kernel-ppc64le.config
Source33: kernel-ppc64le-debug.config
-Source34: kernel-ppc64p7.config
-Source35: kernel-ppc64p7-debug.config
Source36: kernel-s390x.config
Source37: kernel-s390x-debug.config
Source38: kernel-x86_64.config
@@ -622,153 +616,78 @@ Patch211: drm-i915-hush-check-crtc-state.patch
# https://patchwork.freedesktop.org/patch/180554/
Patch300: drm-cma-reduce-dmesg-logs.patch
-# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c0d8832e78cbfd4a64b7112e34920af4b0b0e60e
-# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ae2e972dae3cea795e9f8f94eb1601213c2d49f0
-
# http://www.spinics.net/lists/linux-tegra/msg26029.html
-Patch302: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
+Patch301: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
# Fix OMAP4 (pandaboard)
-Patch303: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch
+Patch302: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch
# http://patchwork.ozlabs.org/patch/587554/
-Patch304: ARM-tegra-usb-no-reset.patch
+Patch303: ARM-tegra-usb-no-reset.patch
+
+Patch304: allwinner-net-emac.patch
-Patch305: allwinner-net-emac.patch
+Patch305: arm64-Revert-allwinner-a64-pine64-Use-dcdc1-regulato.patch
# https://www.spinics.net/lists/arm-kernel/msg554183.html
-Patch307: arm-imx6-hummingboard2.patch
+Patch306: arm-imx6-hummingboard2.patch
-Patch308: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
+Patch307: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
-# https://patchwork.kernel.org/patch/9815555/
-# https://patchwork.kernel.org/patch/9815651/
-# https://patchwork.kernel.org/patch/9819885/
# https://patchwork.kernel.org/patch/9820417/
-# https://patchwork.kernel.org/patch/9821151/
-# https://patchwork.kernel.org/patch/9821157/
Patch310: qcom-msm89xx-fixes.patch
-# https://patchwork.kernel.org/patch/9831825/
-# https://patchwork.kernel.org/patch/9833721/
-Patch311: arm-tegra-fix-gpu-iommu.patch
-
-# https://www.spinics.net/lists/linux-arm-msm/msg28203.html
-Patch312: qcom-display-iommu.patch
-
-# https://patchwork.kernel.org/patch/9839803/
-Patch313: qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch
-
-# https://patchwork.kernel.org/patch/9850189/
-Patch314: qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch
-
-Patch320: bcm283x-vc4-fixes.patch
+# https://patchwork.kernel.org/patch/10054387/
+Patch311: USB-ulpi-fix-bus-node-lookup.patch
# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
Patch321: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
-# Updat3 move of bcm2837, landed in 4.14
-Patch322: bcm2837-move-dt.patch
+# bcm2837 bluetooth support
+Patch323: bcm2837-bluetooth-support.patch
+
+Patch324: rpi-graphics-fix.patch
-Patch325: rpi-graphics-fix.patch
+# Generic fixes and enablement for Socionext SoC and 96board
+# https://patchwork.kernel.org/patch/9980861/
+Patch331: PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch
-# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20170912&id=723288836628bc1c0855f3bb7b64b1803e4b9e4a
-Patch324: arm-of-restrict-dma-configuration.patch
+# https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=synquacer-netsec
+Patch332: arm64-socionext-96b-enablement.patch
-# Upstream ACPI fix
-Patch331: arm64-xgene-acpi-fix.patch
+Patch335: arm-exynos-fix-usb3.patch
-# ThunderX fixes
-Patch332: arm64-cavium-fixes.patch
+Patch399: arm64-thunderX-fix-ipv6-checksum-offload.patch
# 400 - IBM (ppc/s390x) patches
# 500 - Temp fixes/CVEs etc
-# CVE-2017-7477 rhbz 1445207 1445208
-Patch502: CVE-2017-7477.patch
-
-# CVE-2017-16644 rhbz 1516273 1516274
-Patch503: media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch
-
-# CVE-2017-1000405 rhbz 1516514 1519115
-Patch504: 0001-mm-thp-Do-not-make-page-table-dirty-unconditionally-.patch
+# rhbz 1498016 1498017
+#Patch503: KEYS-don-t-let-add_key-update-an-uninstantiated-key.patch
# 600 - Patches for improved Bay and Cherry Trail device support
# Below patches are submitted upstream, awaiting review / merging
Patch601: 0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch
Patch602: 0002-Input-soc_button_array-Suppress-power-button-presses.patch
Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch
-Patch611: 0011-Input-goodix-Add-support-for-capacitive-home-button.patch
-# These patches are queued for 4.14 and can be dropped on rebase to 4.14-rc1
-Patch603: 0001-power-supply-max17042_battery-Add-support-for-ACPI-e.patch
-Patch604: 0002-power-supply-max17042_battery-Fix-ACPI-interrupt-iss.patch
-Patch613: 0013-iio-accel-bmc150-Add-support-for-BOSC0200-ACPI-devic.patch
-Patch615: 0015-i2c-cht-wc-Add-Intel-Cherry-Trail-Whiskey-Cove-SMBUS.patch
-
-# rhbz 1431375
-Patch704: input-rmi4-remove-the-need-for-artifical-IRQ.patch
# rhbz 1476467
-Patch706: Fix-for-module-sig-verification.patch
-
-# rhbz 1485086
-Patch710: pci-mark-amd-stoney-gpu-ats-as-broken.patch
-
-# CVE-2017-13693 rhbz 1485346 1485356
-Patch713: acpi-acpica-fix-acpi-operand-cache-leak-in-dsutils.c.patch
-
-# CVE-2017-13694 rhbz 1485348
-Patch714: V4-acpi-acpica-fix-acpi-parse-and-parseext-cache-leaks.patch
-
-# CVE-2017-13695 rhbz 1485349
-Patch715: acpi-acpica-fix-acpi-operand-cache-leak-in-nseval.c.patch
-
-# Should fix our QXL issues (Doesn't)
-Patch718: qxl-fixes.patch
-
-# rhbz 1493498
-Patch723: 0001-fs-locks-Remove-fl_nspid-and-use-fs-specific-l_pid-f.patch
-
-# rhbz 1432684
-Patch724: 1-3-net-set-tb--fast_sk_family.patch
-Patch725: 2-3-net-use-inet6_rcv_saddr-to-compare-sockets.patch
-Patch726: 3-3-inet-fix-improper-empty-comparison.patch
+Patch617: Fix-for-module-sig-verification.patch
-# rhbz 1482648
-Patch630: Input-synaptics---Disable-kernel-tracking-on-SMBus-devices.patch
+# rhbz 1431375
+Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch
# Headed upstream
-Patch631: drm-i915-boost-GPU-clocks-if-we-miss-the-pageflip.patch
-
-# http://patchwork.ozlabs.org/patch/831938/
-Patch633: net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch
+Patch621: drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch
-# Included in 4.14, backport requested on kernel@
-Patch634: selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch
+Patch623: 0001-PATCH-staging-rtl8822be-fix-wrong-dma-unmap-len.patch
# rhbz 1509461
-Patch635: v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch
-Patch636: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
-
-# rhbz 1490803
-Patch637: 1-2-kvm-vmx-Reinstate-support-for-CPUs-without-virtual-NMI.patch
-
-# CVE-2017-16538 rhbz 1510826 1510854
-Patch639: CVE-2017-16538.patch
-
-# rhbz 1507931
-Patch640: qxl_cursor_fix.patch
+Patch625: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
-# rhbz 1462175
-Patch641: HID-rmi-Check-that-a-device-is-a-RMI-device-before-c.patch
-
-# rhbz 1518707
-Patch642: 0001-powerpc-64s-radix-Fix-128TB-512TB-virtual-address-bo.patch
-Patch643: 0002-powerpc-64s-hash-Fix-512T-hint-detection-to-use-128T.patch
-Patch644: 0003-powerpc-64s-hash-Fix-128TB-512TB-virtual-address-bou.patch
-Patch645: 0004-powerpc-64s-hash-Fix-fork-with-512TB-process-address.patch
-Patch646: 0005-powerpc-64s-hash-Allow-MAP_FIXED-allocations-to-cros.patch
+# Fixes for QXL issues
+Patch627: qxl-fixes.patch
# END OF PATCH DEFINITIONS
@@ -796,9 +715,6 @@ Provides: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Provides: kernel-libre-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Requires(pre): %{kernel_prereq}\
Requires(pre): %{initrd_prereq}\
-%if %{with_firmware}\
-Requires(pre): kernel-libre-firmware >= %{rpmversion}-%{pkg_release}\
-%endif\
Requires(preun): systemd >= 200\
Conflicts: xfsprogs < 4.3.0-1\
Conflicts: xorg-x11-drv-vmmouse < 13.0.99\
@@ -844,15 +760,6 @@ header files define structures and constants that are needed for
building most standard programs and are also needed for rebuilding the
cross-glibc package.
-%package firmware
-Summary: Firmware files used by the Linux kernel
-Group: Development/System
-License: GPLv2+
-Provides: kernel-firmware = %{rpmversion}-%{pkg_release}
-%description firmware
-Kernel-firmware includes firmware files required for some devices to
-operate.
-
%package bootwrapper
Provides: kernel-libre-bootwrapper = %{rpmversion}-%{pkg_release}
Summary: Boot wrapper files for generating combined kernel + initrd images
@@ -1253,10 +1160,6 @@ ApplyOptionalPatch()
fi
}
-# we don't want a .config file when building firmware: it just confuses the build system
-%define build_firmware \
- make INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware firmware_install \
-
# First we unpack the kernel tarball.
# If this isn't the first make prep, we use links to the existing clean tarball
# which speeds things up quite a bit.
@@ -2127,7 +2030,7 @@ pushd tools/thermal/tmon
make INSTALL_ROOT=%{buildroot} install
popd
pushd tools/iio
-make INSTALL_ROOT=%{buildroot} install
+make DESTDIR=%{buildroot} install
popd
pushd tools/gpio
make DESTDIR=%{buildroot} install
@@ -2137,10 +2040,6 @@ make INSTALL_ROOT=%{buildroot} install-tools
popd
%endif
-%if %{with_firmware}
-%{build_firmware}
-%endif
-
%if %{with_bootwrapper}
make DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kernel-wrapper WRAPPER_DTSDIR=%{_libdir}/kernel-wrapper/dts
%endif
@@ -2278,13 +2177,6 @@ fi
/usr/*-linux-gnu/include/*
%endif
-%if %{with_firmware}
-%files firmware
-%defattr(-,root,root)
-/lib/firmware/*
-%doc linux-%{KVERREL}/firmware/WHENCE
-%endif
-
%if %{with_bootwrapper}
%files bootwrapper
%defattr(-,root,root)
@@ -2440,6 +2332,14 @@ fi
#
#
%changelog
+* Fri Dec 8 2017 Alexandre Oliva <lxoliva@fsfla.org> -libre
+- GNU Linux-libre 4.14.4-gnu.
+
+* Thu Dec 07 2017 Jeremy Cline <jeremy@jcline.org> - 4.14.4-200
+- Linux v4.14.4 rebase
+- Fixes for dwmac-sun8i for A64/Pine64
+- Fixes for Cavium ThunderX (rhbz 1521190)
+
* Thu Nov 30 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.16-202
- Fix CVE-2017-1000405 (rhbz 1516514 1519115)
diff --git a/freed-ora/current/f26/linux-libre-4.13-gnu.tar.xz.sign b/freed-ora/current/f26/linux-libre-4.13-gnu.tar.xz.sign
deleted file mode 100644
index 352e23f2a..000000000
--- a/freed-ora/current/f26/linux-libre-4.13-gnu.tar.xz.sign
+++ /dev/null
@@ -1,6 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWayFoAAKCRC8t8+Hfn1H
-p4ewAJ9+oAC4mcDZRw3LNekE7XCkTf0g8wCfftlJQJ/fJw20SRUK4FyBG9RWUoo=
-=lzC+
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz b/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz
deleted file mode 100644
index 6fffec8dd..000000000
--- a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz
+++ /dev/null
Binary files differ
diff --git a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz.sign b/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz.sign
deleted file mode 100644
index e21c3f326..000000000
--- a/freed-ora/current/f26/linux-libre-4.13-gnu.xdelta.xz.sign
+++ /dev/null
@@ -1,6 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWayFoQAKCRC8t8+Hfn1H
-pw2PAJ46LTO4mpucpw8h5Iw2LrHe0BIQigCeIN5apLLM3iK9y7Ue9YcUqxwamUI=
-=EguZ
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/linux-libre-4.14-gnu.tar.xz.sign b/freed-ora/current/f26/linux-libre-4.14-gnu.tar.xz.sign
new file mode 100644
index 000000000..32d78c605
--- /dev/null
+++ b/freed-ora/current/f26/linux-libre-4.14-gnu.tar.xz.sign
@@ -0,0 +1,6 @@
+-----BEGIN PGP SIGNATURE-----
+
+iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWgjNOAAKCRC8t8+Hfn1H
+p91GAJwIC0UqVGJbvCFZizL/cT7h7avuRACgjpNmni95S+52lZbaslG1mWtuXDQ=
+=7qop
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz
new file mode 100644
index 000000000..1f12eddaa
--- /dev/null
+++ b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz
Binary files differ
diff --git a/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz.sign b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz.sign
new file mode 100644
index 000000000..27fc4a08d
--- /dev/null
+++ b/freed-ora/current/f26/linux-libre-4.14-gnu.xdelta.xz.sign
@@ -0,0 +1,6 @@
+-----BEGIN PGP SIGNATURE-----
+
+iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWgjNOgAKCRC8t8+Hfn1H
+pwK5AJ47KKuLVdPLGPPKYJpNeAC/u1BdUACeN84H3Yj6eqmAWzyb5t+8peqCB1Y=
+=rYob
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch b/freed-ora/current/f26/media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch
deleted file mode 100644
index 703b0d246..000000000
--- a/freed-ora/current/f26/media-hdpvr-Fix-an-error-handling-path-in-hdpvr_probe.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From patchwork Fri Sep 22 13:07:06 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [media] hdpvr: Fix an error handling path in hdpvr_probe()
-From: Arvind Yadav <arvind.yadav.cs@gmail.com>
-X-Patchwork-Id: 9966135
-Message-Id: <b5c06a8e071d38fc4b4df20b7f9c8fb25d5408fe.1506085151.git.arvind.yadav.cs@gmail.com>
-To: andreyknvl@google.com, hverkuil@xs4all.nl, mchehab@kernel.org,
- laurent.pinchart@ideasonboard.com, dvyukov@google.com,
- kcc@google.com, syzkaller@googlegroups.com
-Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
-Date: Fri, 22 Sep 2017 18:37:06 +0530
-
-Here, hdpvr_register_videodev() is responsible for setup and
-register a video device. Also defining and initializing a worker.
-hdpvr_register_videodev() is calling by hdpvr_probe at last.
-So No need to flash any work here.
-Unregister v4l2, free buffers and memory. If hdpvr_probe() will fail.
-
-Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
-Reported-by: Andrey Konovalov <andreyknvl@google.com>
-Tested-by: Andrey Konovalov <andreyknvl@google.com>
----
- drivers/media/usb/hdpvr/hdpvr-core.c | 26 +++++++++++++++-----------
- 1 file changed, 15 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/media/usb/hdpvr/hdpvr-core.c b/drivers/media/usb/hdpvr/hdpvr-core.c
-index dbe29c6..1e8cbaf 100644
---- a/drivers/media/usb/hdpvr/hdpvr-core.c
-+++ b/drivers/media/usb/hdpvr/hdpvr-core.c
-@@ -292,7 +292,7 @@ static int hdpvr_probe(struct usb_interface *interface,
- /* register v4l2_device early so it can be used for printks */
- if (v4l2_device_register(&interface->dev, &dev->v4l2_dev)) {
- dev_err(&interface->dev, "v4l2_device_register failed\n");
-- goto error;
-+ goto error_free_dev;
- }
-
- mutex_init(&dev->io_mutex);
-@@ -301,7 +301,7 @@ static int hdpvr_probe(struct usb_interface *interface,
- dev->usbc_buf = kmalloc(64, GFP_KERNEL);
- if (!dev->usbc_buf) {
- v4l2_err(&dev->v4l2_dev, "Out of memory\n");
-- goto error;
-+ goto error_v4l2_unregister;
- }
-
- init_waitqueue_head(&dev->wait_buffer);
-@@ -339,13 +339,13 @@ static int hdpvr_probe(struct usb_interface *interface,
- }
- if (!dev->bulk_in_endpointAddr) {
- v4l2_err(&dev->v4l2_dev, "Could not find bulk-in endpoint\n");
-- goto error;
-+ goto error_put_usb;
- }
-
- /* init the device */
- if (hdpvr_device_init(dev)) {
- v4l2_err(&dev->v4l2_dev, "device init failed\n");
-- goto error;
-+ goto error_put_usb;
- }
-
- mutex_lock(&dev->io_mutex);
-@@ -353,7 +353,7 @@ static int hdpvr_probe(struct usb_interface *interface,
- mutex_unlock(&dev->io_mutex);
- v4l2_err(&dev->v4l2_dev,
- "allocating transfer buffers failed\n");
-- goto error;
-+ goto error_put_usb;
- }
- mutex_unlock(&dev->io_mutex);
-
-@@ -361,7 +361,7 @@ static int hdpvr_probe(struct usb_interface *interface,
- retval = hdpvr_register_i2c_adapter(dev);
- if (retval < 0) {
- v4l2_err(&dev->v4l2_dev, "i2c adapter register failed\n");
-- goto error;
-+ goto error_free_buffers;
- }
-
- client = hdpvr_register_ir_rx_i2c(dev);
-@@ -394,13 +394,17 @@ static int hdpvr_probe(struct usb_interface *interface,
- reg_fail:
- #if IS_ENABLED(CONFIG_I2C)
- i2c_del_adapter(&dev->i2c_adapter);
-+error_free_buffers:
- #endif
-+ hdpvr_free_buffers(dev);
-+error_put_usb:
-+ usb_put_dev(dev->udev);
-+ kfree(dev->usbc_buf);
-+error_v4l2_unregister:
-+ v4l2_device_unregister(&dev->v4l2_dev);
-+error_free_dev:
-+ kfree(dev);
- error:
-- if (dev) {
-- flush_work(&dev->worker);
-- /* this frees allocated memory */
-- hdpvr_delete(dev);
-- }
- return retval;
- }
-
diff --git a/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch b/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch
deleted file mode 100644
index 957200e17..000000000
--- a/freed-ora/current/f26/net-mlxsw-reg-Add-high-and-low-temperature-thresholds.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From patchwork Mon Oct 30 09:51:18 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [net] mlxsw: reg: Add high and low temperature thresholds
-X-Patchwork-Submitter: Jiri Pirko <jiri@resnulli.us>
-X-Patchwork-Id: 831938
-X-Patchwork-Delegate: davem@davemloft.net
-Message-Id: <20171030095118.9098-1-jiri@resnulli.us>
-To: netdev@vger.kernel.org
-Cc: davem@davemloft.net, idosch@mellanox.com, mlxsw@mellanox.com
-Date: Mon, 30 Oct 2017 10:51:18 +0100
-From: Jiri Pirko <jiri@resnulli.us>
-List-Id: <netdev.vger.kernel.org>
-
-From: Ido Schimmel <idosch@mellanox.com>
-
-The ASIC has the ability to generate events whenever a sensor indicates
-the temperature goes above or below its high or low thresholds,
-respectively.
-
-In new firmware versions the firmware enforces a minimum of 5
-degrees Celsius difference between both thresholds. Make the driver
-conform to this requirement.
-
-Note that this is required even when the events are disabled, as in
-certain systems interrupts are generated via GPIO based on these
-thresholds.
-
-Fixes: 85926f877040 ("mlxsw: reg: Add definition of temperature management registers")
-Signed-off-by: Ido Schimmel <idosch@mellanox.com>
-Signed-off-by: Jiri Pirko <jiri@mellanox.com>
----
- drivers/net/ethernet/mellanox/mlxsw/reg.h | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethernet/mellanox/mlxsw/reg.h
-index 4afc848..5acfbe5 100644
---- a/drivers/net/ethernet/mellanox/mlxsw/reg.h
-+++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h
-@@ -5827,6 +5827,29 @@ MLXSW_ITEM32(reg, mtmp, mtr, 0x08, 30, 1);
- */
- MLXSW_ITEM32(reg, mtmp, max_temperature, 0x08, 0, 16);
-
-+/* reg_mtmp_tee
-+ * Temperature Event Enable.
-+ * 0 - Do not generate event
-+ * 1 - Generate event
-+ * 2 - Generate single event
-+ * Access: RW
-+ */
-+MLXSW_ITEM32(reg, mtmp, tee, 0x0C, 30, 2);
-+
-+#define MLXSW_REG_MTMP_THRESH_HI 0x348 /* 105 Celsius */
-+
-+/* reg_mtmp_temperature_threshold_hi
-+ * High threshold for Temperature Warning Event. In 0.125 Celsius.
-+ * Access: RW
-+ */
-+MLXSW_ITEM32(reg, mtmp, temperature_threshold_hi, 0x0C, 0, 16);
-+
-+/* reg_mtmp_temperature_threshold_lo
-+ * Low threshold for Temperature Warning Event. In 0.125 Celsius.
-+ * Access: RW
-+ */
-+MLXSW_ITEM32(reg, mtmp, temperature_threshold_lo, 0x10, 0, 16);
-+
- #define MLXSW_REG_MTMP_SENSOR_NAME_SIZE 8
-
- /* reg_mtmp_sensor_name
-@@ -5843,6 +5866,8 @@ static inline void mlxsw_reg_mtmp_pack(char *payload, u8 sensor_index,
- mlxsw_reg_mtmp_sensor_index_set(payload, sensor_index);
- mlxsw_reg_mtmp_mte_set(payload, max_temp_enable);
- mlxsw_reg_mtmp_mtr_set(payload, max_temp_reset);
-+ mlxsw_reg_mtmp_temperature_threshold_hi_set(payload,
-+ MLXSW_REG_MTMP_THRESH_HI);
- }
-
- static inline void mlxsw_reg_mtmp_unpack(char *payload, unsigned int *p_temp,
diff --git a/freed-ora/current/f26/no-pcspkr-modalias.patch b/freed-ora/current/f26/no-pcspkr-modalias.patch
index e43cd97eb..2ccd87202 100644
--- a/freed-ora/current/f26/no-pcspkr-modalias.patch
+++ b/freed-ora/current/f26/no-pcspkr-modalias.patch
@@ -9,7 +9,7 @@ Upstream-status: Fedora mustard
1 file changed, 1 deletion(-)
diff --git a/drivers/input/misc/pcspkr.c b/drivers/input/misc/pcspkr.c
-index 72b1fc3ab910..86907eaa4883 100644
+index 56ddba21de84..23534f420e68 100644
--- a/drivers/input/misc/pcspkr.c
+++ b/drivers/input/misc/pcspkr.c
@@ -23,7 +23,6 @@
@@ -17,6 +17,6 @@ index 72b1fc3ab910..86907eaa4883 100644
MODULE_DESCRIPTION("PC Speaker beeper driver");
MODULE_LICENSE("GPL");
-MODULE_ALIAS("platform:pcspkr");
-
- static int pcspkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
- {
+
+ static int pcspkr_event(struct input_dev *dev, unsigned int type,
+ unsigned int code, int value)
diff --git a/freed-ora/current/f26/patch-4.13-gnu-4.13.16-gnu.xz.sign b/freed-ora/current/f26/patch-4.13-gnu-4.13.16-gnu.xz.sign
deleted file mode 100644
index 35f1cc193..000000000
--- a/freed-ora/current/f26/patch-4.13-gnu-4.13.16-gnu.xz.sign
+++ /dev/null
@@ -1,6 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWhjaagAKCRC8t8+Hfn1H
-p04LAKCZ1S+QEtnR7JgWmST9db/X8s+lYgCZAbraz7uZabmDmcVRSgjjIOi8YH0=
-=yhM9
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/patch-4.14-gnu-4.14.4-gnu.xz.sign b/freed-ora/current/f26/patch-4.14-gnu-4.14.4-gnu.xz.sign
new file mode 100644
index 000000000..430ee4811
--- /dev/null
+++ b/freed-ora/current/f26/patch-4.14-gnu-4.14.4-gnu.xz.sign
@@ -0,0 +1,6 @@
+-----BEGIN PGP SIGNATURE-----
+
+iF0EABECAB0WIQRHRALIxYLa++OJxCe8t8+Hfn1HpwUCWigOkQAKCRC8t8+Hfn1H
+p57qAJ9Arot+lk/iV5qoFbQXaetjO5s16ACdFHFggNh25yAbWnEcya5diZd8c98=
+=rphm
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f26/pci-mark-amd-stoney-gpu-ats-as-broken.patch b/freed-ora/current/f26/pci-mark-amd-stoney-gpu-ats-as-broken.patch
deleted file mode 100644
index 167c40223..000000000
--- a/freed-ora/current/f26/pci-mark-amd-stoney-gpu-ats-as-broken.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 9b44b0b09decfbe388131a345ba780c57240a7a9 Mon Sep 17 00:00:00 2001
-From: Joerg Roedel <jroedel@suse.de>
-Date: Tue, 11 Jul 2017 15:48:00 -0500
-Subject: PCI: Mark AMD Stoney GPU ATS as broken
-
-ATS is broken on this hardware and causes IOMMU stalls and system failure.
-Disable ATS on these devices to make them usable again with IOMMU enabled.
-
-Note that the commit in the Fixes tag is not buggy; it just uncovers the
-problem in the hardware by increasing the ATS flush rate.
-
-Link: https://lists.linuxfoundation.org/pipermail/iommu/2017-March/020836.html
-Link: https://bugzilla.redhat.com/show_bug.cgi?id=1409201
-Fixes: b1516a14657a ("iommu/amd: Implement flush queue")
-Signed-off-by: Joerg Roedel <jroedel@suse.de>
-Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-Acked-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/pci/quirks.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 6967c6b..15ee4e9 100644
---- a/drivers/pci/quirks.c
-+++ b/drivers/pci/quirks.c
-@@ -4681,3 +4681,18 @@ static void quirk_intel_no_flr(struct pci_dev *dev)
- }
- DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_intel_no_flr);
- DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_intel_no_flr);
-+
-+#ifdef CONFIG_PCI_ATS
-+/*
-+ * Some devices have a broken ATS implementation causing IOMMU stalls.
-+ * Don't use ATS for those devices.
-+ */
-+static void quirk_no_ats(struct pci_dev *pdev)
-+{
-+ dev_info(&pdev->dev, "disabling ATS (broken on this device)\n");
-+ pdev->ats_cap = 0;
-+}
-+
-+/* AMD Stoney platform GPU */
-+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_no_ats);
-+#endif /* CONFIG_PCI_ATS */
---
-cgit v1.1
-
diff --git a/freed-ora/current/f26/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch b/freed-ora/current/f26/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch
deleted file mode 100644
index d44e5318b..000000000
--- a/freed-ora/current/f26/pinctrl-bcm2835-Avoid-warning-from-__irq_do_set_handler.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From patchwork Wed Jun 21 18:20:04 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: pinctrl: bcm2835: Avoid warning from __irq_do_set_handler
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 9802555
-Message-Id: <1498069204-28154-1-git-send-email-stefan.wahren@i2se.com>
-To: Linus Walleij <linus.walleij@linaro.org>, Eric Anholt <eric@anholt.net>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
- Phil Elwell <phil@raspberrypi.org>, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Date: Wed, 21 Jun 2017 20:20:04 +0200
-
-We get a warning during boot with enabled EARLY_PRINTK that
-we try to set a irq_chip without data. This is caused by ignoring
-the return value of irq_of_parse_and_map(). So avoid calling
-gpiochip_set_chained_irqchip() in error case.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Fixes: 85ae9e512f43 ("pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP")
----
- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-index 1eb7a1a..2308831 100644
---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -1048,6 +1048,10 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
- for (i = 0; i < BCM2835_NUM_IRQS; i++) {
- pc->irq[i] = irq_of_parse_and_map(np, i);
- pc->irq_group[i] = i;
-+
-+ if (pc->irq[i] == 0)
-+ continue;
-+
- /*
- * Use the same handler for all groups: this is necessary
- * since we use one gpiochip to cover all lines - the
diff --git a/freed-ora/current/f26/qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch b/freed-ora/current/f26/qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch
deleted file mode 100644
index 4932539a3..000000000
--- a/freed-ora/current/f26/qcom-Force-host-mode-for-USB-on-apq8016-sbc.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From patchwork Fri Jul 14 02:20:42 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2] arm64: dts: qcom: Force host mode for USB on apq8016-sbc
-From: Stephen Boyd <sboyd@codeaurora.org>
-X-Patchwork-Id: 9839803
-Message-Id: <20170714022042.13886-1-sboyd@codeaurora.org>
-To: Andy Gross <andy.gross@linaro.org>
-Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org, Rob Clark <robdclark@gmail.com>
-Date: Thu, 13 Jul 2017 19:20:42 -0700
-
-Commit ed75d6a96905 ("arm64: dts: qcom: Collapse usb support into
-one node") breaks host mode support on apq8016-sbc boards. This
-is because the mux driver (tc7usb40mu) hasn't been merged.
-Without that driver, we can't toggle the GPIO going to the mux to
-route out the D+/D- lines to the USB hub that's on the board.
-
-One solution would be to totally revert this change, but that
-opens us up to other problems when two USB drivers are operating
-the same hardware block at the same time. Let's modify the DT so
-that the USB controller is always in host mode and connected to
-the hub so that things like USB keyboards and mouses work. This
-is the mode that most people prefer anyway with these devices. We
-also delete the usb-switch node because the binding was never
-accepted upstream.
-
-In the future, we can add muxing support and then update the DT
-to support both modes at runtime. Patches to support this are
-already on the mailing list.
-
-Fixes: ed75d6a96905 ("arm64: dts: qcom: Collapse usb support into one node")
-Reported-by: Rob Clark <robdclark@gmail.com>
-Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
----
-
-I noticed that I accidently removed the vbus notifier part of the phy.
-Without it, we'll change settings that shouldn't changed. The thing
-that we don't have is the ID pin on this board, not the vbus. That's
-the only difference from v1.
-
- arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi | 1 +
- arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi | 13 ++++---------
- 2 files changed, 5 insertions(+), 9 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
-index d94640812194..790b7775b901 100644
---- a/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
-+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc-pmic-pins.dtsi
-@@ -17,6 +17,7 @@
- function = PMIC_GPIO_FUNC_NORMAL;
- power-source = <PM8916_GPIO_VPH>;
- input-disable;
-+ output-high;
- };
- };
-
-diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
-index bd310ac1967a..bb9e29e6b164 100644
---- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
-+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
-@@ -213,11 +213,14 @@
- };
-
- usb@78d9000 {
-- extcon = <&usb_id>, <&usb_id>;
-+ extcon = <&usb_id>;
- status = "okay";
- adp-disable;
- hnp-disable;
- srp-disable;
-+ dr_mode = "host";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&usb_sw_sel_pm>;
- ulpi {
- phy {
- v1p8-supply = <&pm8916_l7>;
-@@ -342,14 +345,6 @@
- pinctrl-0 = <&usb_id_default>;
- };
-
-- usb-switch {
-- compatible = "toshiba,tc7usb40mu";
-- switch-gpios = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
-- extcon = <&usb_id>;
-- pinctrl-names = "default";
-- pinctrl-0 = <&usb_sw_sel_pm>;
-- };
--
- hdmi-out {
- compatible = "hdmi-connector";
- type = "a";
diff --git a/freed-ora/current/f26/qcom-display-iommu.patch b/freed-ora/current/f26/qcom-display-iommu.patch
deleted file mode 100644
index 87d4473c8..000000000
--- a/freed-ora/current/f26/qcom-display-iommu.patch
+++ /dev/null
@@ -1,1960 +0,0 @@
-From patchwork Thu Jul 13 12:07:44 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [RESEND,1/4] Docs: dt: document qcom iommu bindings
-From: Rob Clark <robdclark@gmail.com>
-X-Patchwork-Id: 9838369
-Message-Id: <20170713120747.20490-2-robdclark@gmail.com>
-To: iommu@lists.linux-foundation.org
-Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>,
- Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>,
- Sricharan <sricharan@codeaurora.org>,
- Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>,
- Rob Clark <robdclark@gmail.com>, devicetree@vger.kernel.org
-Date: Thu, 13 Jul 2017 08:07:44 -0400
-
-Cc: devicetree@vger.kernel.org
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Reviewed-by: Rob Herring <robh@kernel.org>
----
- .../devicetree/bindings/iommu/qcom,iommu.txt | 121 +++++++++++++++++++++
- 1 file changed, 121 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/iommu/qcom,iommu.txt
-
-diff --git a/Documentation/devicetree/bindings/iommu/qcom,iommu.txt b/Documentation/devicetree/bindings/iommu/qcom,iommu.txt
-new file mode 100644
-index 000000000000..b2641ceb2b40
---- /dev/null
-+++ b/Documentation/devicetree/bindings/iommu/qcom,iommu.txt
-@@ -0,0 +1,121 @@
-+* QCOM IOMMU v1 Implementation
-+
-+Qualcomm "B" family devices which are not compatible with arm-smmu have
-+a similar looking IOMMU but without access to the global register space,
-+and optionally requiring additional configuration to route context irqs
-+to non-secure vs secure interrupt line.
-+
-+** Required properties:
-+
-+- compatible : Should be one of:
-+
-+ "qcom,msm8916-iommu"
-+
-+ Followed by "qcom,msm-iommu-v1".
-+
-+- clock-names : Should be a pair of "iface" (required for IOMMUs
-+ register group access) and "bus" (required for
-+ the IOMMUs underlying bus access).
-+
-+- clocks : Phandles for respective clocks described by
-+ clock-names.
-+
-+- #address-cells : must be 1.
-+
-+- #size-cells : must be 1.
-+
-+- #iommu-cells : Must be 1. Index identifies the context-bank #.
-+
-+- ranges : Base address and size of the iommu context banks.
-+
-+- qcom,iommu-secure-id : secure-id.
-+
-+- List of sub-nodes, one per translation context bank. Each sub-node
-+ has the following required properties:
-+
-+ - compatible : Should be one of:
-+ - "qcom,msm-iommu-v1-ns" : non-secure context bank
-+ - "qcom,msm-iommu-v1-sec" : secure context bank
-+ - reg : Base address and size of context bank within the iommu
-+ - interrupts : The context fault irq.
-+
-+** Optional properties:
-+
-+- reg : Base address and size of the SMMU local base, should
-+ be only specified if the iommu requires configuration
-+ for routing of context bank irq's to secure vs non-
-+ secure lines. (Ie. if the iommu contains secure
-+ context banks)
-+
-+
-+** Examples:
-+
-+ apps_iommu: iommu@1e20000 {
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ #iommu-cells = <1>;
-+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
-+ ranges = <0 0x1e20000 0x40000>;
-+ reg = <0x1ef0000 0x3000>;
-+ clocks = <&gcc GCC_SMMU_CFG_CLK>,
-+ <&gcc GCC_APSS_TCU_CLK>;
-+ clock-names = "iface", "bus";
-+ qcom,iommu-secure-id = <17>;
-+
-+ // mdp_0:
-+ iommu-ctx@4000 {
-+ compatible = "qcom,msm-iommu-v1-ns";
-+ reg = <0x4000 0x1000>;
-+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+
-+ // venus_ns:
-+ iommu-ctx@5000 {
-+ compatible = "qcom,msm-iommu-v1-sec";
-+ reg = <0x5000 0x1000>;
-+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+ };
-+
-+ gpu_iommu: iommu@1f08000 {
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ #iommu-cells = <1>;
-+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
-+ ranges = <0 0x1f08000 0x10000>;
-+ clocks = <&gcc GCC_SMMU_CFG_CLK>,
-+ <&gcc GCC_GFX_TCU_CLK>;
-+ clock-names = "iface", "bus";
-+ qcom,iommu-secure-id = <18>;
-+
-+ // gfx3d_user:
-+ iommu-ctx@1000 {
-+ compatible = "qcom,msm-iommu-v1-ns";
-+ reg = <0x1000 0x1000>;
-+ interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+
-+ // gfx3d_priv:
-+ iommu-ctx@2000 {
-+ compatible = "qcom,msm-iommu-v1-ns";
-+ reg = <0x2000 0x1000>;
-+ interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+ };
-+
-+ ...
-+
-+ venus: video-codec@1d00000 {
-+ ...
-+ iommus = <&apps_iommu 5>;
-+ };
-+
-+ mdp: mdp@1a01000 {
-+ ...
-+ iommus = <&apps_iommu 4>;
-+ };
-+
-+ gpu@01c00000 {
-+ ...
-+ iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
-+ };
-From patchwork Thu Jul 13 12:07:45 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [RESEND,2/4] iommu: arm-smmu: split out register defines
-From: Rob Clark <robdclark@gmail.com>
-X-Patchwork-Id: 9838371
-Message-Id: <20170713120747.20490-3-robdclark@gmail.com>
-To: iommu@lists.linux-foundation.org
-Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>,
- Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>,
- Sricharan <sricharan@codeaurora.org>,
- Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>,
- Rob Clark <robdclark@gmail.com>
-Date: Thu, 13 Jul 2017 08:07:45 -0400
-
-I want to re-use some of these for qcom_iommu, which has (roughly) the
-same context-bank registers.
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
----
- drivers/iommu/arm-smmu-regs.h | 227 ++++++++++++++++++++++++++++++++++++++++++
- drivers/iommu/arm-smmu.c | 203 +------------------------------------
- 2 files changed, 228 insertions(+), 202 deletions(-)
- create mode 100644 drivers/iommu/arm-smmu-regs.h
-
-diff --git a/drivers/iommu/arm-smmu-regs.h b/drivers/iommu/arm-smmu-regs.h
-new file mode 100644
-index 000000000000..87589c863068
---- /dev/null
-+++ b/drivers/iommu/arm-smmu-regs.h
-@@ -0,0 +1,227 @@
-+/*
-+ * IOMMU API for ARM architected SMMU implementations.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * Copyright (C) 2013 ARM Limited
-+ *
-+ * Author: Will Deacon <will.deacon@arm.com>
-+ */
-+
-+#ifndef _ARM_SMMU_REGS_H
-+#define _ARM_SMMU_REGS_H
-+
-+/* Configuration registers */
-+#define ARM_SMMU_GR0_sCR0 0x0
-+#define sCR0_CLIENTPD (1 << 0)
-+#define sCR0_GFRE (1 << 1)
-+#define sCR0_GFIE (1 << 2)
-+#define sCR0_EXIDENABLE (1 << 3)
-+#define sCR0_GCFGFRE (1 << 4)
-+#define sCR0_GCFGFIE (1 << 5)
-+#define sCR0_USFCFG (1 << 10)
-+#define sCR0_VMIDPNE (1 << 11)
-+#define sCR0_PTM (1 << 12)
-+#define sCR0_FB (1 << 13)
-+#define sCR0_VMID16EN (1 << 31)
-+#define sCR0_BSU_SHIFT 14
-+#define sCR0_BSU_MASK 0x3
-+
-+/* Auxiliary Configuration register */
-+#define ARM_SMMU_GR0_sACR 0x10
-+
-+/* Identification registers */
-+#define ARM_SMMU_GR0_ID0 0x20
-+#define ARM_SMMU_GR0_ID1 0x24
-+#define ARM_SMMU_GR0_ID2 0x28
-+#define ARM_SMMU_GR0_ID3 0x2c
-+#define ARM_SMMU_GR0_ID4 0x30
-+#define ARM_SMMU_GR0_ID5 0x34
-+#define ARM_SMMU_GR0_ID6 0x38
-+#define ARM_SMMU_GR0_ID7 0x3c
-+#define ARM_SMMU_GR0_sGFSR 0x48
-+#define ARM_SMMU_GR0_sGFSYNR0 0x50
-+#define ARM_SMMU_GR0_sGFSYNR1 0x54
-+#define ARM_SMMU_GR0_sGFSYNR2 0x58
-+
-+#define ID0_S1TS (1 << 30)
-+#define ID0_S2TS (1 << 29)
-+#define ID0_NTS (1 << 28)
-+#define ID0_SMS (1 << 27)
-+#define ID0_ATOSNS (1 << 26)
-+#define ID0_PTFS_NO_AARCH32 (1 << 25)
-+#define ID0_PTFS_NO_AARCH32S (1 << 24)
-+#define ID0_CTTW (1 << 14)
-+#define ID0_NUMIRPT_SHIFT 16
-+#define ID0_NUMIRPT_MASK 0xff
-+#define ID0_NUMSIDB_SHIFT 9
-+#define ID0_NUMSIDB_MASK 0xf
-+#define ID0_EXIDS (1 << 8)
-+#define ID0_NUMSMRG_SHIFT 0
-+#define ID0_NUMSMRG_MASK 0xff
-+
-+#define ID1_PAGESIZE (1 << 31)
-+#define ID1_NUMPAGENDXB_SHIFT 28
-+#define ID1_NUMPAGENDXB_MASK 7
-+#define ID1_NUMS2CB_SHIFT 16
-+#define ID1_NUMS2CB_MASK 0xff
-+#define ID1_NUMCB_SHIFT 0
-+#define ID1_NUMCB_MASK 0xff
-+
-+#define ID2_OAS_SHIFT 4
-+#define ID2_OAS_MASK 0xf
-+#define ID2_IAS_SHIFT 0
-+#define ID2_IAS_MASK 0xf
-+#define ID2_UBS_SHIFT 8
-+#define ID2_UBS_MASK 0xf
-+#define ID2_PTFS_4K (1 << 12)
-+#define ID2_PTFS_16K (1 << 13)
-+#define ID2_PTFS_64K (1 << 14)
-+#define ID2_VMID16 (1 << 15)
-+
-+#define ID7_MAJOR_SHIFT 4
-+#define ID7_MAJOR_MASK 0xf
-+
-+/* Global TLB invalidation */
-+#define ARM_SMMU_GR0_TLBIVMID 0x64
-+#define ARM_SMMU_GR0_TLBIALLNSNH 0x68
-+#define ARM_SMMU_GR0_TLBIALLH 0x6c
-+#define ARM_SMMU_GR0_sTLBGSYNC 0x70
-+#define ARM_SMMU_GR0_sTLBGSTATUS 0x74
-+#define sTLBGSTATUS_GSACTIVE (1 << 0)
-+#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */
-+#define TLB_SPIN_COUNT 10
-+
-+/* Stream mapping registers */
-+#define ARM_SMMU_GR0_SMR(n) (0x800 + ((n) << 2))
-+#define SMR_VALID (1 << 31)
-+#define SMR_MASK_SHIFT 16
-+#define SMR_ID_SHIFT 0
-+
-+#define ARM_SMMU_GR0_S2CR(n) (0xc00 + ((n) << 2))
-+#define S2CR_CBNDX_SHIFT 0
-+#define S2CR_CBNDX_MASK 0xff
-+#define S2CR_EXIDVALID (1 << 10)
-+#define S2CR_TYPE_SHIFT 16
-+#define S2CR_TYPE_MASK 0x3
-+enum arm_smmu_s2cr_type {
-+ S2CR_TYPE_TRANS,
-+ S2CR_TYPE_BYPASS,
-+ S2CR_TYPE_FAULT,
-+};
-+
-+#define S2CR_PRIVCFG_SHIFT 24
-+#define S2CR_PRIVCFG_MASK 0x3
-+enum arm_smmu_s2cr_privcfg {
-+ S2CR_PRIVCFG_DEFAULT,
-+ S2CR_PRIVCFG_DIPAN,
-+ S2CR_PRIVCFG_UNPRIV,
-+ S2CR_PRIVCFG_PRIV,
-+};
-+
-+/* Context bank attribute registers */
-+#define ARM_SMMU_GR1_CBAR(n) (0x0 + ((n) << 2))
-+#define CBAR_VMID_SHIFT 0
-+#define CBAR_VMID_MASK 0xff
-+#define CBAR_S1_BPSHCFG_SHIFT 8
-+#define CBAR_S1_BPSHCFG_MASK 3
-+#define CBAR_S1_BPSHCFG_NSH 3
-+#define CBAR_S1_MEMATTR_SHIFT 12
-+#define CBAR_S1_MEMATTR_MASK 0xf
-+#define CBAR_S1_MEMATTR_WB 0xf
-+#define CBAR_TYPE_SHIFT 16
-+#define CBAR_TYPE_MASK 0x3
-+#define CBAR_TYPE_S2_TRANS (0 << CBAR_TYPE_SHIFT)
-+#define CBAR_TYPE_S1_TRANS_S2_BYPASS (1 << CBAR_TYPE_SHIFT)
-+#define CBAR_TYPE_S1_TRANS_S2_FAULT (2 << CBAR_TYPE_SHIFT)
-+#define CBAR_TYPE_S1_TRANS_S2_TRANS (3 << CBAR_TYPE_SHIFT)
-+#define CBAR_IRPTNDX_SHIFT 24
-+#define CBAR_IRPTNDX_MASK 0xff
-+
-+#define ARM_SMMU_GR1_CBA2R(n) (0x800 + ((n) << 2))
-+#define CBA2R_RW64_32BIT (0 << 0)
-+#define CBA2R_RW64_64BIT (1 << 0)
-+#define CBA2R_VMID_SHIFT 16
-+#define CBA2R_VMID_MASK 0xffff
-+
-+#define ARM_SMMU_CB_SCTLR 0x0
-+#define ARM_SMMU_CB_ACTLR 0x4
-+#define ARM_SMMU_CB_RESUME 0x8
-+#define ARM_SMMU_CB_TTBCR2 0x10
-+#define ARM_SMMU_CB_TTBR0 0x20
-+#define ARM_SMMU_CB_TTBR1 0x28
-+#define ARM_SMMU_CB_TTBCR 0x30
-+#define ARM_SMMU_CB_CONTEXTIDR 0x34
-+#define ARM_SMMU_CB_S1_MAIR0 0x38
-+#define ARM_SMMU_CB_S1_MAIR1 0x3c
-+#define ARM_SMMU_CB_PAR 0x50
-+#define ARM_SMMU_CB_FSR 0x58
-+#define ARM_SMMU_CB_FAR 0x60
-+#define ARM_SMMU_CB_FSYNR0 0x68
-+#define ARM_SMMU_CB_S1_TLBIVA 0x600
-+#define ARM_SMMU_CB_S1_TLBIASID 0x610
-+#define ARM_SMMU_CB_S1_TLBIVAL 0x620
-+#define ARM_SMMU_CB_S2_TLBIIPAS2 0x630
-+#define ARM_SMMU_CB_S2_TLBIIPAS2L 0x638
-+#define ARM_SMMU_CB_TLBSYNC 0x7f0
-+#define ARM_SMMU_CB_TLBSTATUS 0x7f4
-+#define ARM_SMMU_CB_ATS1PR 0x800
-+#define ARM_SMMU_CB_ATSR 0x8f0
-+
-+#define SCTLR_S1_ASIDPNE (1 << 12)
-+#define SCTLR_CFCFG (1 << 7)
-+#define SCTLR_CFIE (1 << 6)
-+#define SCTLR_CFRE (1 << 5)
-+#define SCTLR_E (1 << 4)
-+#define SCTLR_AFE (1 << 2)
-+#define SCTLR_TRE (1 << 1)
-+#define SCTLR_M (1 << 0)
-+
-+#define ARM_MMU500_ACTLR_CPRE (1 << 1)
-+
-+#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26)
-+#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8)
-+
-+#define CB_PAR_F (1 << 0)
-+
-+#define ATSR_ACTIVE (1 << 0)
-+
-+#define RESUME_RETRY (0 << 0)
-+#define RESUME_TERMINATE (1 << 0)
-+
-+#define TTBCR2_SEP_SHIFT 15
-+#define TTBCR2_SEP_UPSTREAM (0x7 << TTBCR2_SEP_SHIFT)
-+#define TTBCR2_AS (1 << 4)
-+
-+#define TTBRn_ASID_SHIFT 48
-+
-+#define FSR_MULTI (1 << 31)
-+#define FSR_SS (1 << 30)
-+#define FSR_UUT (1 << 8)
-+#define FSR_ASF (1 << 7)
-+#define FSR_TLBLKF (1 << 6)
-+#define FSR_TLBMCF (1 << 5)
-+#define FSR_EF (1 << 4)
-+#define FSR_PF (1 << 3)
-+#define FSR_AFF (1 << 2)
-+#define FSR_TF (1 << 1)
-+
-+#define FSR_IGN (FSR_AFF | FSR_ASF | \
-+ FSR_TLBMCF | FSR_TLBLKF)
-+#define FSR_FAULT (FSR_MULTI | FSR_SS | FSR_UUT | \
-+ FSR_EF | FSR_PF | FSR_TF | FSR_IGN)
-+
-+#define FSYNR0_WNR (1 << 4)
-+
-+#endif /* _ARM_SMMU_REGS_H */
-diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
-index 7ec30b08b3bd..ca9c20f915a8 100644
---- a/drivers/iommu/arm-smmu.c
-+++ b/drivers/iommu/arm-smmu.c
-@@ -54,6 +54,7 @@
- #include <linux/amba/bus.h>
-
- #include "io-pgtable.h"
-+#include "arm-smmu-regs.h"
-
- /* Maximum number of context banks per SMMU */
- #define ARM_SMMU_MAX_CBS 128
-@@ -83,211 +84,9 @@
- #define smmu_write_atomic_lq writel_relaxed
- #endif
-
--/* Configuration registers */
--#define ARM_SMMU_GR0_sCR0 0x0
--#define sCR0_CLIENTPD (1 << 0)
--#define sCR0_GFRE (1 << 1)
--#define sCR0_GFIE (1 << 2)
--#define sCR0_EXIDENABLE (1 << 3)
--#define sCR0_GCFGFRE (1 << 4)
--#define sCR0_GCFGFIE (1 << 5)
--#define sCR0_USFCFG (1 << 10)
--#define sCR0_VMIDPNE (1 << 11)
--#define sCR0_PTM (1 << 12)
--#define sCR0_FB (1 << 13)
--#define sCR0_VMID16EN (1 << 31)
--#define sCR0_BSU_SHIFT 14
--#define sCR0_BSU_MASK 0x3
--
--/* Auxiliary Configuration register */
--#define ARM_SMMU_GR0_sACR 0x10
--
--/* Identification registers */
--#define ARM_SMMU_GR0_ID0 0x20
--#define ARM_SMMU_GR0_ID1 0x24
--#define ARM_SMMU_GR0_ID2 0x28
--#define ARM_SMMU_GR0_ID3 0x2c
--#define ARM_SMMU_GR0_ID4 0x30
--#define ARM_SMMU_GR0_ID5 0x34
--#define ARM_SMMU_GR0_ID6 0x38
--#define ARM_SMMU_GR0_ID7 0x3c
--#define ARM_SMMU_GR0_sGFSR 0x48
--#define ARM_SMMU_GR0_sGFSYNR0 0x50
--#define ARM_SMMU_GR0_sGFSYNR1 0x54
--#define ARM_SMMU_GR0_sGFSYNR2 0x58
--
--#define ID0_S1TS (1 << 30)
--#define ID0_S2TS (1 << 29)
--#define ID0_NTS (1 << 28)
--#define ID0_SMS (1 << 27)
--#define ID0_ATOSNS (1 << 26)
--#define ID0_PTFS_NO_AARCH32 (1 << 25)
--#define ID0_PTFS_NO_AARCH32S (1 << 24)
--#define ID0_CTTW (1 << 14)
--#define ID0_NUMIRPT_SHIFT 16
--#define ID0_NUMIRPT_MASK 0xff
--#define ID0_NUMSIDB_SHIFT 9
--#define ID0_NUMSIDB_MASK 0xf
--#define ID0_EXIDS (1 << 8)
--#define ID0_NUMSMRG_SHIFT 0
--#define ID0_NUMSMRG_MASK 0xff
--
--#define ID1_PAGESIZE (1 << 31)
--#define ID1_NUMPAGENDXB_SHIFT 28
--#define ID1_NUMPAGENDXB_MASK 7
--#define ID1_NUMS2CB_SHIFT 16
--#define ID1_NUMS2CB_MASK 0xff
--#define ID1_NUMCB_SHIFT 0
--#define ID1_NUMCB_MASK 0xff
--
--#define ID2_OAS_SHIFT 4
--#define ID2_OAS_MASK 0xf
--#define ID2_IAS_SHIFT 0
--#define ID2_IAS_MASK 0xf
--#define ID2_UBS_SHIFT 8
--#define ID2_UBS_MASK 0xf
--#define ID2_PTFS_4K (1 << 12)
--#define ID2_PTFS_16K (1 << 13)
--#define ID2_PTFS_64K (1 << 14)
--#define ID2_VMID16 (1 << 15)
--
--#define ID7_MAJOR_SHIFT 4
--#define ID7_MAJOR_MASK 0xf
--
--/* Global TLB invalidation */
--#define ARM_SMMU_GR0_TLBIVMID 0x64
--#define ARM_SMMU_GR0_TLBIALLNSNH 0x68
--#define ARM_SMMU_GR0_TLBIALLH 0x6c
--#define ARM_SMMU_GR0_sTLBGSYNC 0x70
--#define ARM_SMMU_GR0_sTLBGSTATUS 0x74
--#define sTLBGSTATUS_GSACTIVE (1 << 0)
--#define TLB_LOOP_TIMEOUT 1000000 /* 1s! */
--#define TLB_SPIN_COUNT 10
--
--/* Stream mapping registers */
--#define ARM_SMMU_GR0_SMR(n) (0x800 + ((n) << 2))
--#define SMR_VALID (1 << 31)
--#define SMR_MASK_SHIFT 16
--#define SMR_ID_SHIFT 0
--
--#define ARM_SMMU_GR0_S2CR(n) (0xc00 + ((n) << 2))
--#define S2CR_CBNDX_SHIFT 0
--#define S2CR_CBNDX_MASK 0xff
--#define S2CR_EXIDVALID (1 << 10)
--#define S2CR_TYPE_SHIFT 16
--#define S2CR_TYPE_MASK 0x3
--enum arm_smmu_s2cr_type {
-- S2CR_TYPE_TRANS,
-- S2CR_TYPE_BYPASS,
-- S2CR_TYPE_FAULT,
--};
--
--#define S2CR_PRIVCFG_SHIFT 24
--#define S2CR_PRIVCFG_MASK 0x3
--enum arm_smmu_s2cr_privcfg {
-- S2CR_PRIVCFG_DEFAULT,
-- S2CR_PRIVCFG_DIPAN,
-- S2CR_PRIVCFG_UNPRIV,
-- S2CR_PRIVCFG_PRIV,
--};
--
--/* Context bank attribute registers */
--#define ARM_SMMU_GR1_CBAR(n) (0x0 + ((n) << 2))
--#define CBAR_VMID_SHIFT 0
--#define CBAR_VMID_MASK 0xff
--#define CBAR_S1_BPSHCFG_SHIFT 8
--#define CBAR_S1_BPSHCFG_MASK 3
--#define CBAR_S1_BPSHCFG_NSH 3
--#define CBAR_S1_MEMATTR_SHIFT 12
--#define CBAR_S1_MEMATTR_MASK 0xf
--#define CBAR_S1_MEMATTR_WB 0xf
--#define CBAR_TYPE_SHIFT 16
--#define CBAR_TYPE_MASK 0x3
--#define CBAR_TYPE_S2_TRANS (0 << CBAR_TYPE_SHIFT)
--#define CBAR_TYPE_S1_TRANS_S2_BYPASS (1 << CBAR_TYPE_SHIFT)
--#define CBAR_TYPE_S1_TRANS_S2_FAULT (2 << CBAR_TYPE_SHIFT)
--#define CBAR_TYPE_S1_TRANS_S2_TRANS (3 << CBAR_TYPE_SHIFT)
--#define CBAR_IRPTNDX_SHIFT 24
--#define CBAR_IRPTNDX_MASK 0xff
--
--#define ARM_SMMU_GR1_CBA2R(n) (0x800 + ((n) << 2))
--#define CBA2R_RW64_32BIT (0 << 0)
--#define CBA2R_RW64_64BIT (1 << 0)
--#define CBA2R_VMID_SHIFT 16
--#define CBA2R_VMID_MASK 0xffff
--
- /* Translation context bank */
- #define ARM_SMMU_CB(smmu, n) ((smmu)->cb_base + ((n) << (smmu)->pgshift))
-
--#define ARM_SMMU_CB_SCTLR 0x0
--#define ARM_SMMU_CB_ACTLR 0x4
--#define ARM_SMMU_CB_RESUME 0x8
--#define ARM_SMMU_CB_TTBCR2 0x10
--#define ARM_SMMU_CB_TTBR0 0x20
--#define ARM_SMMU_CB_TTBR1 0x28
--#define ARM_SMMU_CB_TTBCR 0x30
--#define ARM_SMMU_CB_CONTEXTIDR 0x34
--#define ARM_SMMU_CB_S1_MAIR0 0x38
--#define ARM_SMMU_CB_S1_MAIR1 0x3c
--#define ARM_SMMU_CB_PAR 0x50
--#define ARM_SMMU_CB_FSR 0x58
--#define ARM_SMMU_CB_FAR 0x60
--#define ARM_SMMU_CB_FSYNR0 0x68
--#define ARM_SMMU_CB_S1_TLBIVA 0x600
--#define ARM_SMMU_CB_S1_TLBIASID 0x610
--#define ARM_SMMU_CB_S1_TLBIVAL 0x620
--#define ARM_SMMU_CB_S2_TLBIIPAS2 0x630
--#define ARM_SMMU_CB_S2_TLBIIPAS2L 0x638
--#define ARM_SMMU_CB_TLBSYNC 0x7f0
--#define ARM_SMMU_CB_TLBSTATUS 0x7f4
--#define ARM_SMMU_CB_ATS1PR 0x800
--#define ARM_SMMU_CB_ATSR 0x8f0
--
--#define SCTLR_S1_ASIDPNE (1 << 12)
--#define SCTLR_CFCFG (1 << 7)
--#define SCTLR_CFIE (1 << 6)
--#define SCTLR_CFRE (1 << 5)
--#define SCTLR_E (1 << 4)
--#define SCTLR_AFE (1 << 2)
--#define SCTLR_TRE (1 << 1)
--#define SCTLR_M (1 << 0)
--
--#define ARM_MMU500_ACTLR_CPRE (1 << 1)
--
--#define ARM_MMU500_ACR_CACHE_LOCK (1 << 26)
--#define ARM_MMU500_ACR_SMTNMB_TLBEN (1 << 8)
--
--#define CB_PAR_F (1 << 0)
--
--#define ATSR_ACTIVE (1 << 0)
--
--#define RESUME_RETRY (0 << 0)
--#define RESUME_TERMINATE (1 << 0)
--
--#define TTBCR2_SEP_SHIFT 15
--#define TTBCR2_SEP_UPSTREAM (0x7 << TTBCR2_SEP_SHIFT)
--#define TTBCR2_AS (1 << 4)
--
--#define TTBRn_ASID_SHIFT 48
--
--#define FSR_MULTI (1 << 31)
--#define FSR_SS (1 << 30)
--#define FSR_UUT (1 << 8)
--#define FSR_ASF (1 << 7)
--#define FSR_TLBLKF (1 << 6)
--#define FSR_TLBMCF (1 << 5)
--#define FSR_EF (1 << 4)
--#define FSR_PF (1 << 3)
--#define FSR_AFF (1 << 2)
--#define FSR_TF (1 << 1)
--
--#define FSR_IGN (FSR_AFF | FSR_ASF | \
-- FSR_TLBMCF | FSR_TLBLKF)
--#define FSR_FAULT (FSR_MULTI | FSR_SS | FSR_UUT | \
-- FSR_EF | FSR_PF | FSR_TF | FSR_IGN)
--
--#define FSYNR0_WNR (1 << 4)
--
- #define MSI_IOVA_BASE 0x8000000
- #define MSI_IOVA_LENGTH 0x100000
-
-From patchwork Thu Jul 13 12:07:46 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [RESEND,3/4] iommu: add qcom_iommu
-From: Rob Clark <robdclark@gmail.com>
-X-Patchwork-Id: 9838375
-Message-Id: <20170713120747.20490-4-robdclark@gmail.com>
-To: iommu@lists.linux-foundation.org
-Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>,
- Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>,
- Sricharan <sricharan@codeaurora.org>,
- Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>,
- Rob Clark <robdclark@gmail.com>
-Date: Thu, 13 Jul 2017 08:07:46 -0400
-
-An iommu driver for Qualcomm "B" family devices which do implement the
-ARM SMMU spec, but not in a way that is compatible with how the arm-smmu
-driver is designed. It seems SMMU_SCR1.GASRAE=1 so the global register
-space is not accessible. This means it needs to get configuration from
-devicetree instead of setting it up dynamically.
-
-In the end, other than register definitions, there is not much code to
-share with arm-smmu (other than what has already been refactored out
-into the pgtable helpers).
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Tested-by: Riku Voipio <riku.voipio@linaro.org>
----
-v1: original
-v2: bindings cleanups and kconfig issues that kbuild robot pointed out
-v3: fix issues pointed out by Rob H. and actually make device removal
- work
-v4: fix WARN_ON() splats reported by Archit
-v5: some fixes to build as a module.. note that it cannot actually
- be built as a module yet (at minimum a bunch of other iommu syms
- that are needed are not exported, but there may be more to it
- than that), but at least qcom_iommu is ready should it become
- possible to build iommu drivers as modules.
-v6: Add additional pm-runtime get/puts around paths that can hit
- TLB inv, to avoid unclocked register access if device using the
- iommu is not powered on. And pre-emptively clear interrupts
- before registering IRQ handler just in case the bootloader has
- left us a surpise.
-v7: Address review comments from Robin (don't associate iommu_group
- with context bank, table lookup instead of list to find context
- bank, etc)
-v8: Fix silly bug on detach. Actually Robin already pointed it out
- but I somehow overlooked that comment when preparing v7.
-
- drivers/iommu/Kconfig | 10 +
- drivers/iommu/Makefile | 1 +
- drivers/iommu/qcom_iommu.c | 868 +++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 879 insertions(+)
- create mode 100644 drivers/iommu/qcom_iommu.c
-
-diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
-index 6ee3a25ae731..aa4b62893fe1 100644
---- a/drivers/iommu/Kconfig
-+++ b/drivers/iommu/Kconfig
-@@ -367,4 +367,14 @@ config MTK_IOMMU_V1
-
- if unsure, say N here.
-
-+config QCOM_IOMMU
-+ # Note: iommu drivers cannot (yet?) be built as modules
-+ bool "Qualcomm IOMMU Support"
-+ depends on ARCH_QCOM || COMPILE_TEST
-+ select IOMMU_API
-+ select IOMMU_IO_PGTABLE_LPAE
-+ select ARM_DMA_USE_IOMMU
-+ help
-+ Support for IOMMU on certain Qualcomm SoCs.
-+
- endif # IOMMU_SUPPORT
-diff --git a/drivers/iommu/Makefile b/drivers/iommu/Makefile
-index 195f7b997d8e..b910aea813a1 100644
---- a/drivers/iommu/Makefile
-+++ b/drivers/iommu/Makefile
-@@ -27,3 +27,4 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
- obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
- obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
- obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
-+obj-$(CONFIG_QCOM_IOMMU) += qcom_iommu.o
-diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
-new file mode 100644
-index 000000000000..860cad1cb167
---- /dev/null
-+++ b/drivers/iommu/qcom_iommu.c
-@@ -0,0 +1,868 @@
-+/*
-+ * IOMMU API for QCOM secure IOMMUs. Somewhat based on arm-smmu.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ *
-+ * Copyright (C) 2013 ARM Limited
-+ * Copyright (C) 2017 Red Hat
-+ */
-+
-+#include <linux/atomic.h>
-+#include <linux/clk.h>
-+#include <linux/delay.h>
-+#include <linux/dma-iommu.h>
-+#include <linux/dma-mapping.h>
-+#include <linux/err.h>
-+#include <linux/interrupt.h>
-+#include <linux/io.h>
-+#include <linux/io-64-nonatomic-hi-lo.h>
-+#include <linux/iommu.h>
-+#include <linux/iopoll.h>
-+#include <linux/kconfig.h>
-+#include <linux/module.h>
-+#include <linux/mutex.h>
-+#include <linux/of.h>
-+#include <linux/of_address.h>
-+#include <linux/of_device.h>
-+#include <linux/of_iommu.h>
-+#include <linux/platform_device.h>
-+#include <linux/pm.h>
-+#include <linux/pm_runtime.h>
-+#include <linux/qcom_scm.h>
-+#include <linux/slab.h>
-+#include <linux/spinlock.h>
-+
-+#include "io-pgtable.h"
-+#include "arm-smmu-regs.h"
-+
-+#define SMMU_INTR_SEL_NS 0x2000
-+
-+struct qcom_iommu_ctx;
-+
-+struct qcom_iommu_dev {
-+ /* IOMMU core code handle */
-+ struct iommu_device iommu;
-+ struct device *dev;
-+ struct clk *iface_clk;
-+ struct clk *bus_clk;
-+ void __iomem *local_base;
-+ u32 sec_id;
-+ u8 num_ctxs;
-+ struct qcom_iommu_ctx *ctxs[0]; /* indexed by asid-1 */
-+};
-+
-+struct qcom_iommu_ctx {
-+ struct device *dev;
-+ void __iomem *base;
-+ bool secure_init;
-+ u8 asid; /* asid and ctx bank # are 1:1 */
-+};
-+
-+struct qcom_iommu_domain {
-+ struct io_pgtable_ops *pgtbl_ops;
-+ spinlock_t pgtbl_lock;
-+ struct mutex init_mutex; /* Protects iommu pointer */
-+ struct iommu_domain domain;
-+ struct qcom_iommu_dev *iommu;
-+};
-+
-+static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom)
-+{
-+ return container_of(dom, struct qcom_iommu_domain, domain);
-+}
-+
-+static const struct iommu_ops qcom_iommu_ops;
-+
-+static struct qcom_iommu_dev * to_iommu(struct iommu_fwspec *fwspec)
-+{
-+ if (!fwspec || fwspec->ops != &qcom_iommu_ops)
-+ return NULL;
-+ return fwspec->iommu_priv;
-+}
-+
-+static struct qcom_iommu_ctx * to_ctx(struct iommu_fwspec *fwspec, unsigned asid)
-+{
-+ struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec);
-+ if (!qcom_iommu)
-+ return NULL;
-+ return qcom_iommu->ctxs[asid - 1];
-+}
-+
-+static inline void
-+iommu_writel(struct qcom_iommu_ctx *ctx, unsigned reg, u32 val)
-+{
-+ writel_relaxed(val, ctx->base + reg);
-+}
-+
-+static inline void
-+iommu_writeq(struct qcom_iommu_ctx *ctx, unsigned reg, u64 val)
-+{
-+ writeq_relaxed(val, ctx->base + reg);
-+}
-+
-+static inline u32
-+iommu_readl(struct qcom_iommu_ctx *ctx, unsigned reg)
-+{
-+ return readl_relaxed(ctx->base + reg);
-+}
-+
-+static inline u64
-+iommu_readq(struct qcom_iommu_ctx *ctx, unsigned reg)
-+{
-+ return readq_relaxed(ctx->base + reg);
-+}
-+
-+static void qcom_iommu_tlb_sync(void *cookie)
-+{
-+ struct iommu_fwspec *fwspec = cookie;
-+ unsigned i;
-+
-+ for (i = 0; i < fwspec->num_ids; i++) {
-+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]);
-+ unsigned int val, ret;
-+
-+ iommu_writel(ctx, ARM_SMMU_CB_TLBSYNC, 0);
-+
-+ ret = readl_poll_timeout(ctx->base + ARM_SMMU_CB_TLBSTATUS, val,
-+ (val & 0x1) == 0, 0, 5000000);
-+ if (ret)
-+ dev_err(ctx->dev, "timeout waiting for TLB SYNC\n");
-+ }
-+}
-+
-+static void qcom_iommu_tlb_inv_context(void *cookie)
-+{
-+ struct iommu_fwspec *fwspec = cookie;
-+ unsigned i;
-+
-+ for (i = 0; i < fwspec->num_ids; i++) {
-+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]);
-+ iommu_writel(ctx, ARM_SMMU_CB_S1_TLBIASID, ctx->asid);
-+ }
-+
-+ qcom_iommu_tlb_sync(cookie);
-+}
-+
-+static void qcom_iommu_tlb_inv_range_nosync(unsigned long iova, size_t size,
-+ size_t granule, bool leaf, void *cookie)
-+{
-+ struct iommu_fwspec *fwspec = cookie;
-+ unsigned i, reg;
-+
-+ reg = leaf ? ARM_SMMU_CB_S1_TLBIVAL : ARM_SMMU_CB_S1_TLBIVA;
-+
-+ for (i = 0; i < fwspec->num_ids; i++) {
-+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]);
-+ size_t s = size;
-+
-+ iova &= ~12UL;
-+ iova |= ctx->asid;
-+ do {
-+ iommu_writel(ctx, reg, iova);
-+ iova += granule;
-+ } while (s -= granule);
-+ }
-+}
-+
-+static const struct iommu_gather_ops qcom_gather_ops = {
-+ .tlb_flush_all = qcom_iommu_tlb_inv_context,
-+ .tlb_add_flush = qcom_iommu_tlb_inv_range_nosync,
-+ .tlb_sync = qcom_iommu_tlb_sync,
-+};
-+
-+static irqreturn_t qcom_iommu_fault(int irq, void *dev)
-+{
-+ struct qcom_iommu_ctx *ctx = dev;
-+ u32 fsr, fsynr;
-+ u64 iova;
-+
-+ fsr = iommu_readl(ctx, ARM_SMMU_CB_FSR);
-+
-+ if (!(fsr & FSR_FAULT))
-+ return IRQ_NONE;
-+
-+ fsynr = iommu_readl(ctx, ARM_SMMU_CB_FSYNR0);
-+ iova = iommu_readq(ctx, ARM_SMMU_CB_FAR);
-+
-+ dev_err_ratelimited(ctx->dev,
-+ "Unhandled context fault: fsr=0x%x, "
-+ "iova=0x%016llx, fsynr=0x%x, cb=%d\n",
-+ fsr, iova, fsynr, ctx->asid);
-+
-+ iommu_writel(ctx, ARM_SMMU_CB_FSR, fsr);
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static int qcom_iommu_init_domain(struct iommu_domain *domain,
-+ struct qcom_iommu_dev *qcom_iommu,
-+ struct iommu_fwspec *fwspec)
-+{
-+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
-+ struct io_pgtable_ops *pgtbl_ops;
-+ struct io_pgtable_cfg pgtbl_cfg;
-+ int i, ret = 0;
-+ u32 reg;
-+
-+ mutex_lock(&qcom_domain->init_mutex);
-+ if (qcom_domain->iommu)
-+ goto out_unlock;
-+
-+ pgtbl_cfg = (struct io_pgtable_cfg) {
-+ .pgsize_bitmap = qcom_iommu_ops.pgsize_bitmap,
-+ .ias = 32,
-+ .oas = 40,
-+ .tlb = &qcom_gather_ops,
-+ .iommu_dev = qcom_iommu->dev,
-+ };
-+
-+ qcom_domain->iommu = qcom_iommu;
-+ pgtbl_ops = alloc_io_pgtable_ops(ARM_32_LPAE_S1, &pgtbl_cfg, fwspec);
-+ if (!pgtbl_ops) {
-+ dev_err(qcom_iommu->dev, "failed to allocate pagetable ops\n");
-+ ret = -ENOMEM;
-+ goto out_clear_iommu;
-+ }
-+
-+ /* Update the domain's page sizes to reflect the page table format */
-+ domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap;
-+ domain->geometry.aperture_end = (1ULL << pgtbl_cfg.ias) - 1;
-+ domain->geometry.force_aperture = true;
-+
-+ for (i = 0; i < fwspec->num_ids; i++) {
-+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]);
-+
-+ if (!ctx->secure_init) {
-+ ret = qcom_scm_restore_sec_cfg(qcom_iommu->sec_id, ctx->asid);
-+ if (ret) {
-+ dev_err(qcom_iommu->dev, "secure init failed: %d\n", ret);
-+ goto out_clear_iommu;
-+ }
-+ ctx->secure_init = true;
-+ }
-+
-+ /* TTBRs */
-+ iommu_writeq(ctx, ARM_SMMU_CB_TTBR0,
-+ pgtbl_cfg.arm_lpae_s1_cfg.ttbr[0] |
-+ ((u64)ctx->asid << TTBRn_ASID_SHIFT));
-+ iommu_writeq(ctx, ARM_SMMU_CB_TTBR1,
-+ pgtbl_cfg.arm_lpae_s1_cfg.ttbr[1] |
-+ ((u64)ctx->asid << TTBRn_ASID_SHIFT));
-+
-+ /* TTBCR */
-+ iommu_writel(ctx, ARM_SMMU_CB_TTBCR2,
-+ (pgtbl_cfg.arm_lpae_s1_cfg.tcr >> 32) |
-+ TTBCR2_SEP_UPSTREAM);
-+ iommu_writel(ctx, ARM_SMMU_CB_TTBCR,
-+ pgtbl_cfg.arm_lpae_s1_cfg.tcr);
-+
-+ /* MAIRs (stage-1 only) */
-+ iommu_writel(ctx, ARM_SMMU_CB_S1_MAIR0,
-+ pgtbl_cfg.arm_lpae_s1_cfg.mair[0]);
-+ iommu_writel(ctx, ARM_SMMU_CB_S1_MAIR1,
-+ pgtbl_cfg.arm_lpae_s1_cfg.mair[1]);
-+
-+ /* SCTLR */
-+ reg = SCTLR_CFIE | SCTLR_CFRE | SCTLR_AFE | SCTLR_TRE |
-+ SCTLR_M | SCTLR_S1_ASIDPNE;
-+
-+ if (IS_ENABLED(CONFIG_BIG_ENDIAN))
-+ reg |= SCTLR_E;
-+
-+ iommu_writel(ctx, ARM_SMMU_CB_SCTLR, reg);
-+ }
-+
-+ mutex_unlock(&qcom_domain->init_mutex);
-+
-+ /* Publish page table ops for map/unmap */
-+ qcom_domain->pgtbl_ops = pgtbl_ops;
-+
-+ return 0;
-+
-+out_clear_iommu:
-+ qcom_domain->iommu = NULL;
-+out_unlock:
-+ mutex_unlock(&qcom_domain->init_mutex);
-+ return ret;
-+}
-+
-+static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type)
-+{
-+ struct qcom_iommu_domain *qcom_domain;
-+
-+ if (type != IOMMU_DOMAIN_UNMANAGED && type != IOMMU_DOMAIN_DMA)
-+ return NULL;
-+ /*
-+ * Allocate the domain and initialise some of its data structures.
-+ * We can't really do anything meaningful until we've added a
-+ * master.
-+ */
-+ qcom_domain = kzalloc(sizeof(*qcom_domain), GFP_KERNEL);
-+ if (!qcom_domain)
-+ return NULL;
-+
-+ if (type == IOMMU_DOMAIN_DMA &&
-+ iommu_get_dma_cookie(&qcom_domain->domain)) {
-+ kfree(qcom_domain);
-+ return NULL;
-+ }
-+
-+ mutex_init(&qcom_domain->init_mutex);
-+ spin_lock_init(&qcom_domain->pgtbl_lock);
-+
-+ return &qcom_domain->domain;
-+}
-+
-+static void qcom_iommu_domain_free(struct iommu_domain *domain)
-+{
-+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
-+
-+ if (WARN_ON(qcom_domain->iommu)) /* forgot to detach? */
-+ return;
-+
-+ iommu_put_dma_cookie(domain);
-+
-+ /* NOTE: unmap can be called after client device is powered off,
-+ * for example, with GPUs or anything involving dma-buf. So we
-+ * cannot rely on the device_link. Make sure the IOMMU is on to
-+ * avoid unclocked accesses in the TLB inv path:
-+ */
-+ pm_runtime_get_sync(qcom_domain->iommu->dev);
-+
-+ free_io_pgtable_ops(qcom_domain->pgtbl_ops);
-+
-+ pm_runtime_put_sync(qcom_domain->iommu->dev);
-+
-+ kfree(qcom_domain);
-+}
-+
-+static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev)
-+{
-+ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec);
-+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
-+ int ret;
-+
-+ if (!qcom_iommu) {
-+ dev_err(dev, "cannot attach to IOMMU, is it on the same bus?\n");
-+ return -ENXIO;
-+ }
-+
-+ /* Ensure that the domain is finalized */
-+ pm_runtime_get_sync(qcom_iommu->dev);
-+ ret = qcom_iommu_init_domain(domain, qcom_iommu, dev->iommu_fwspec);
-+ pm_runtime_put_sync(qcom_iommu->dev);
-+ if (ret < 0)
-+ return ret;
-+
-+ /*
-+ * Sanity check the domain. We don't support domains across
-+ * different IOMMUs.
-+ */
-+ if (qcom_domain->iommu != qcom_iommu) {
-+ dev_err(dev, "cannot attach to IOMMU %s while already "
-+ "attached to domain on IOMMU %s\n",
-+ dev_name(qcom_domain->iommu->dev),
-+ dev_name(qcom_iommu->dev));
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *dev)
-+{
-+ struct iommu_fwspec *fwspec = dev->iommu_fwspec;
-+ struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec);
-+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
-+ unsigned i;
-+
-+ if (!qcom_domain->iommu)
-+ return;
-+
-+ pm_runtime_get_sync(qcom_iommu->dev);
-+ for (i = 0; i < fwspec->num_ids; i++) {
-+ struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]);
-+
-+ /* Disable the context bank: */
-+ iommu_writel(ctx, ARM_SMMU_CB_SCTLR, 0);
-+ }
-+ pm_runtime_put_sync(qcom_iommu->dev);
-+
-+ qcom_domain->iommu = NULL;
-+}
-+
-+static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova,
-+ phys_addr_t paddr, size_t size, int prot)
-+{
-+ int ret;
-+ unsigned long flags;
-+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
-+ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops;
-+
-+ if (!ops)
-+ return -ENODEV;
-+
-+ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags);
-+ ret = ops->map(ops, iova, paddr, size, prot);
-+ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags);
-+ return ret;
-+}
-+
-+static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova,
-+ size_t size)
-+{
-+ size_t ret;
-+ unsigned long flags;
-+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
-+ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops;
-+
-+ if (!ops)
-+ return 0;
-+
-+ /* NOTE: unmap can be called after client device is powered off,
-+ * for example, with GPUs or anything involving dma-buf. So we
-+ * cannot rely on the device_link. Make sure the IOMMU is on to
-+ * avoid unclocked accesses in the TLB inv path:
-+ */
-+ pm_runtime_get_sync(qcom_domain->iommu->dev);
-+ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags);
-+ ret = ops->unmap(ops, iova, size);
-+ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags);
-+ pm_runtime_put_sync(qcom_domain->iommu->dev);
-+
-+ return ret;
-+}
-+
-+static phys_addr_t qcom_iommu_iova_to_phys(struct iommu_domain *domain,
-+ dma_addr_t iova)
-+{
-+ phys_addr_t ret;
-+ unsigned long flags;
-+ struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
-+ struct io_pgtable_ops *ops = qcom_domain->pgtbl_ops;
-+
-+ if (!ops)
-+ return 0;
-+
-+ spin_lock_irqsave(&qcom_domain->pgtbl_lock, flags);
-+ ret = ops->iova_to_phys(ops, iova);
-+ spin_unlock_irqrestore(&qcom_domain->pgtbl_lock, flags);
-+
-+ return ret;
-+}
-+
-+static bool qcom_iommu_capable(enum iommu_cap cap)
-+{
-+ switch (cap) {
-+ case IOMMU_CAP_CACHE_COHERENCY:
-+ /*
-+ * Return true here as the SMMU can always send out coherent
-+ * requests.
-+ */
-+ return true;
-+ case IOMMU_CAP_NOEXEC:
-+ return true;
-+ default:
-+ return false;
-+ }
-+}
-+
-+static int qcom_iommu_add_device(struct device *dev)
-+{
-+ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec);
-+ struct iommu_group *group;
-+ struct device_link *link;
-+
-+ if (!qcom_iommu)
-+ return -ENODEV;
-+
-+ /*
-+ * Establish the link between iommu and master, so that the
-+ * iommu gets runtime enabled/disabled as per the master's
-+ * needs.
-+ */
-+ link = device_link_add(dev, qcom_iommu->dev, DL_FLAG_PM_RUNTIME);
-+ if (!link) {
-+ dev_err(qcom_iommu->dev, "Unable to create device link between %s and %s\n",
-+ dev_name(qcom_iommu->dev), dev_name(dev));
-+ return -ENODEV;
-+ }
-+
-+ group = iommu_group_get_for_dev(dev);
-+ if (IS_ERR_OR_NULL(group))
-+ return PTR_ERR_OR_ZERO(group);
-+
-+ iommu_group_put(group);
-+ iommu_device_link(&qcom_iommu->iommu, dev);
-+
-+ return 0;
-+}
-+
-+static void qcom_iommu_remove_device(struct device *dev)
-+{
-+ struct qcom_iommu_dev *qcom_iommu = to_iommu(dev->iommu_fwspec);
-+
-+ if (!qcom_iommu)
-+ return;
-+
-+ iommu_device_unlink(&qcom_iommu->iommu, dev);
-+ iommu_group_remove_device(dev);
-+ iommu_fwspec_free(dev);
-+}
-+
-+static int qcom_iommu_of_xlate(struct device *dev, struct of_phandle_args *args)
-+{
-+ struct qcom_iommu_dev *qcom_iommu;
-+ struct platform_device *iommu_pdev;
-+ unsigned asid = args->args[0];
-+
-+ if (args->args_count != 1) {
-+ dev_err(dev, "incorrect number of iommu params found for %s "
-+ "(found %d, expected 1)\n",
-+ args->np->full_name, args->args_count);
-+ return -EINVAL;
-+ }
-+
-+ iommu_pdev = of_find_device_by_node(args->np);
-+ if (WARN_ON(!iommu_pdev))
-+ return -EINVAL;
-+
-+ qcom_iommu = platform_get_drvdata(iommu_pdev);
-+
-+ /* make sure the asid specified in dt is valid, so we don't have
-+ * to sanity check this elsewhere, since 'asid - 1' is used to
-+ * index into qcom_iommu->ctxs:
-+ */
-+ if (WARN_ON(asid < 1) ||
-+ WARN_ON(asid > qcom_iommu->num_ctxs))
-+ return -EINVAL;
-+
-+ if (!dev->iommu_fwspec->iommu_priv) {
-+ dev->iommu_fwspec->iommu_priv = qcom_iommu;
-+ } else {
-+ /* make sure devices iommus dt node isn't referring to
-+ * multiple different iommu devices. Multiple context
-+ * banks are ok, but multiple devices are not:
-+ */
-+ if (WARN_ON(qcom_iommu != dev->iommu_fwspec->iommu_priv))
-+ return -EINVAL;
-+ }
-+
-+ return iommu_fwspec_add_ids(dev, &asid, 1);
-+}
-+
-+static const struct iommu_ops qcom_iommu_ops = {
-+ .capable = qcom_iommu_capable,
-+ .domain_alloc = qcom_iommu_domain_alloc,
-+ .domain_free = qcom_iommu_domain_free,
-+ .attach_dev = qcom_iommu_attach_dev,
-+ .detach_dev = qcom_iommu_detach_dev,
-+ .map = qcom_iommu_map,
-+ .unmap = qcom_iommu_unmap,
-+ .map_sg = default_iommu_map_sg,
-+ .iova_to_phys = qcom_iommu_iova_to_phys,
-+ .add_device = qcom_iommu_add_device,
-+ .remove_device = qcom_iommu_remove_device,
-+ .device_group = generic_device_group,
-+ .of_xlate = qcom_iommu_of_xlate,
-+ .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
-+};
-+
-+static int qcom_iommu_enable_clocks(struct qcom_iommu_dev *qcom_iommu)
-+{
-+ int ret;
-+
-+ ret = clk_prepare_enable(qcom_iommu->iface_clk);
-+ if (ret) {
-+ dev_err(qcom_iommu->dev, "Couldn't enable iface_clk\n");
-+ return ret;
-+ }
-+
-+ ret = clk_prepare_enable(qcom_iommu->bus_clk);
-+ if (ret) {
-+ dev_err(qcom_iommu->dev, "Couldn't enable bus_clk\n");
-+ clk_disable_unprepare(qcom_iommu->iface_clk);
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static void qcom_iommu_disable_clocks(struct qcom_iommu_dev *qcom_iommu)
-+{
-+ clk_disable_unprepare(qcom_iommu->bus_clk);
-+ clk_disable_unprepare(qcom_iommu->iface_clk);
-+}
-+
-+static int get_asid(const struct device_node *np)
-+{
-+ u32 reg;
-+
-+ /* read the "reg" property directly to get the relative address
-+ * of the context bank, and calculate the asid from that:
-+ */
-+ if (of_property_read_u32_index(np, "reg", 0, &reg))
-+ return -ENODEV;
-+
-+ return reg / 0x1000; /* context banks are 0x1000 apart */
-+}
-+
-+static int qcom_iommu_ctx_probe(struct platform_device *pdev)
-+{
-+ struct qcom_iommu_ctx *ctx;
-+ struct device *dev = &pdev->dev;
-+ struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(dev->parent);
-+ struct resource *res;
-+ int ret, irq;
-+
-+ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-+ if (!ctx)
-+ return -ENOMEM;
-+
-+ ctx->dev = dev;
-+ platform_set_drvdata(pdev, ctx);
-+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ ctx->base = devm_ioremap_resource(dev, res);
-+ if (IS_ERR(ctx->base))
-+ return PTR_ERR(ctx->base);
-+
-+ irq = platform_get_irq(pdev, 0);
-+ if (irq < 0) {
-+ dev_err(dev, "failed to get irq\n");
-+ return -ENODEV;
-+ }
-+
-+ /* clear IRQs before registering fault handler, just in case the
-+ * boot-loader left us a surprise:
-+ */
-+ iommu_writel(ctx, ARM_SMMU_CB_FSR, iommu_readl(ctx, ARM_SMMU_CB_FSR));
-+
-+ ret = devm_request_irq(dev, irq,
-+ qcom_iommu_fault,
-+ IRQF_SHARED,
-+ "qcom-iommu-fault",
-+ ctx);
-+ if (ret) {
-+ dev_err(dev, "failed to request IRQ %u\n", irq);
-+ return ret;
-+ }
-+
-+ ret = get_asid(dev->of_node);
-+ if (ret < 0) {
-+ dev_err(dev, "missing reg property\n");
-+ return ret;
-+ }
-+
-+ ctx->asid = ret;
-+
-+ dev_dbg(dev, "found asid %u\n", ctx->asid);
-+
-+ qcom_iommu->ctxs[ctx->asid - 1] = ctx;
-+
-+ return 0;
-+}
-+
-+static int qcom_iommu_ctx_remove(struct platform_device *pdev)
-+{
-+ struct qcom_iommu_dev *qcom_iommu = dev_get_drvdata(pdev->dev.parent);
-+ struct qcom_iommu_ctx *ctx = platform_get_drvdata(pdev);
-+
-+ platform_set_drvdata(pdev, NULL);
-+
-+ qcom_iommu->ctxs[ctx->asid - 1] = NULL;
-+
-+ return 0;
-+}
-+
-+static const struct of_device_id ctx_of_match[] = {
-+ { .compatible = "qcom,msm-iommu-v1-ns" },
-+ { .compatible = "qcom,msm-iommu-v1-sec" },
-+ { /* sentinel */ }
-+};
-+
-+static struct platform_driver qcom_iommu_ctx_driver = {
-+ .driver = {
-+ .name = "qcom-iommu-ctx",
-+ .of_match_table = of_match_ptr(ctx_of_match),
-+ },
-+ .probe = qcom_iommu_ctx_probe,
-+ .remove = qcom_iommu_ctx_remove,
-+};
-+
-+static int qcom_iommu_device_probe(struct platform_device *pdev)
-+{
-+ struct device_node *child;
-+ struct qcom_iommu_dev *qcom_iommu;
-+ struct device *dev = &pdev->dev;
-+ struct resource *res;
-+ int ret, sz, max_asid = 0;
-+
-+ /* find the max asid (which is 1:1 to ctx bank idx), so we know how
-+ * many child ctx devices we have:
-+ */
-+ for_each_child_of_node(dev->of_node, child)
-+ max_asid = max(max_asid, get_asid(child));
-+
-+ sz = sizeof(*qcom_iommu) + (max_asid * sizeof(qcom_iommu->ctxs[0]));
-+
-+ qcom_iommu = devm_kzalloc(dev, sz, GFP_KERNEL);
-+ if (!qcom_iommu)
-+ return -ENOMEM;
-+ qcom_iommu->num_ctxs = max_asid;
-+ qcom_iommu->dev = dev;
-+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ if (res)
-+ qcom_iommu->local_base = devm_ioremap_resource(dev, res);
-+
-+ qcom_iommu->iface_clk = devm_clk_get(dev, "iface");
-+ if (IS_ERR(qcom_iommu->iface_clk)) {
-+ dev_err(dev, "failed to get iface clock\n");
-+ return PTR_ERR(qcom_iommu->iface_clk);
-+ }
-+
-+ qcom_iommu->bus_clk = devm_clk_get(dev, "bus");
-+ if (IS_ERR(qcom_iommu->bus_clk)) {
-+ dev_err(dev, "failed to get bus clock\n");
-+ return PTR_ERR(qcom_iommu->bus_clk);
-+ }
-+
-+ if (of_property_read_u32(dev->of_node, "qcom,iommu-secure-id",
-+ &qcom_iommu->sec_id)) {
-+ dev_err(dev, "missing qcom,iommu-secure-id property\n");
-+ return -ENODEV;
-+ }
-+
-+ platform_set_drvdata(pdev, qcom_iommu);
-+
-+ pm_runtime_enable(dev);
-+
-+ /* register context bank devices, which are child nodes: */
-+ ret = devm_of_platform_populate(dev);
-+ if (ret) {
-+ dev_err(dev, "Failed to populate iommu contexts\n");
-+ return ret;
-+ }
-+
-+ ret = iommu_device_sysfs_add(&qcom_iommu->iommu, dev, NULL,
-+ dev_name(dev));
-+ if (ret) {
-+ dev_err(dev, "Failed to register iommu in sysfs\n");
-+ return ret;
-+ }
-+
-+ iommu_device_set_ops(&qcom_iommu->iommu, &qcom_iommu_ops);
-+ iommu_device_set_fwnode(&qcom_iommu->iommu, dev->fwnode);
-+
-+ ret = iommu_device_register(&qcom_iommu->iommu);
-+ if (ret) {
-+ dev_err(dev, "Failed to register iommu\n");
-+ return ret;
-+ }
-+
-+ bus_set_iommu(&platform_bus_type, &qcom_iommu_ops);
-+
-+ if (qcom_iommu->local_base) {
-+ pm_runtime_get_sync(dev);
-+ writel_relaxed(0xffffffff, qcom_iommu->local_base + SMMU_INTR_SEL_NS);
-+ pm_runtime_put_sync(dev);
-+ }
-+
-+ return 0;
-+}
-+
-+static int qcom_iommu_device_remove(struct platform_device *pdev)
-+{
-+ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev);
-+
-+ bus_set_iommu(&platform_bus_type, NULL);
-+
-+ pm_runtime_force_suspend(&pdev->dev);
-+ platform_set_drvdata(pdev, NULL);
-+ iommu_device_sysfs_remove(&qcom_iommu->iommu);
-+ iommu_device_unregister(&qcom_iommu->iommu);
-+
-+ return 0;
-+}
-+
-+#ifdef CONFIG_PM
-+static int qcom_iommu_resume(struct device *dev)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev);
-+
-+ return qcom_iommu_enable_clocks(qcom_iommu);
-+}
-+
-+static int qcom_iommu_suspend(struct device *dev)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct qcom_iommu_dev *qcom_iommu = platform_get_drvdata(pdev);
-+
-+ qcom_iommu_disable_clocks(qcom_iommu);
-+
-+ return 0;
-+}
-+#endif
-+
-+static const struct dev_pm_ops qcom_iommu_pm_ops = {
-+ SET_RUNTIME_PM_OPS(qcom_iommu_suspend, qcom_iommu_resume, NULL)
-+ SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
-+ pm_runtime_force_resume)
-+};
-+
-+static const struct of_device_id qcom_iommu_of_match[] = {
-+ { .compatible = "qcom,msm-iommu-v1" },
-+ { /* sentinel */ }
-+};
-+MODULE_DEVICE_TABLE(of, qcom_iommu_of_match);
-+
-+static struct platform_driver qcom_iommu_driver = {
-+ .driver = {
-+ .name = "qcom-iommu",
-+ .of_match_table = of_match_ptr(qcom_iommu_of_match),
-+ .pm = &qcom_iommu_pm_ops,
-+ },
-+ .probe = qcom_iommu_device_probe,
-+ .remove = qcom_iommu_device_remove,
-+};
-+
-+static int __init qcom_iommu_init(void)
-+{
-+ int ret;
-+
-+ ret = platform_driver_register(&qcom_iommu_ctx_driver);
-+ if (ret)
-+ return ret;
-+
-+ ret = platform_driver_register(&qcom_iommu_driver);
-+ if (ret)
-+ platform_driver_unregister(&qcom_iommu_ctx_driver);
-+
-+ return ret;
-+}
-+
-+static void __exit qcom_iommu_exit(void)
-+{
-+ platform_driver_unregister(&qcom_iommu_driver);
-+ platform_driver_unregister(&qcom_iommu_ctx_driver);
-+}
-+
-+module_init(qcom_iommu_init);
-+module_exit(qcom_iommu_exit);
-+
-+IOMMU_OF_DECLARE(qcom_iommu_dev, "qcom,msm-iommu-v1", NULL);
-+
-+MODULE_DESCRIPTION("IOMMU API for QCOM IOMMU v1 implementations");
-+MODULE_LICENSE("GPL v2");
-From patchwork Thu Jul 13 12:07:47 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [RESEND,4/4] iommu: qcom: initialize secure page table
-From: Rob Clark <robdclark@gmail.com>
-X-Patchwork-Id: 9838373
-Message-Id: <20170713120747.20490-5-robdclark@gmail.com>
-To: iommu@lists.linux-foundation.org
-Cc: linux-arm-msm@vger.kernel.org, Archit Taneja <architt@codeaurora.org>,
- Rob Herring <robh@kernel.org>, Will Deacon <will.deacon@arm.com>,
- Sricharan <sricharan@codeaurora.org>,
- Mark Rutland <mark.rutland@arm.com>, Robin Murphy <robin.murphy@arm.com>,
- Stanimir Varbanov <stanimir.varbanov@linaro.org>,
- Rob Clark <robdclark@gmail.com>
-Date: Thu, 13 Jul 2017 08:07:47 -0400
-
-From: Stanimir Varbanov <stanimir.varbanov@linaro.org>
-
-This basically gets the secure page table size, allocates memory for
-secure pagetables and passes the physical address to the trusted zone.
-
-Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
-Signed-off-by: Rob Clark <robdclark@gmail.com>
----
- drivers/iommu/qcom_iommu.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 64 insertions(+)
-
-diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
-index 860cad1cb167..48b62aa52787 100644
---- a/drivers/iommu/qcom_iommu.c
-+++ b/drivers/iommu/qcom_iommu.c
-@@ -604,6 +604,51 @@ static void qcom_iommu_disable_clocks(struct qcom_iommu_dev *qcom_iommu)
- clk_disable_unprepare(qcom_iommu->iface_clk);
- }
-
-+static int qcom_iommu_sec_ptbl_init(struct device *dev)
-+{
-+ size_t psize = 0;
-+ unsigned int spare = 0;
-+ void *cpu_addr;
-+ dma_addr_t paddr;
-+ unsigned long attrs;
-+ static bool allocated = false;
-+ int ret;
-+
-+ if (allocated)
-+ return 0;
-+
-+ ret = qcom_scm_iommu_secure_ptbl_size(spare, &psize);
-+ if (ret) {
-+ dev_err(dev, "failed to get iommu secure pgtable size (%d)\n",
-+ ret);
-+ return ret;
-+ }
-+
-+ dev_info(dev, "iommu sec: pgtable size: %zu\n", psize);
-+
-+ attrs = DMA_ATTR_NO_KERNEL_MAPPING;
-+
-+ cpu_addr = dma_alloc_attrs(dev, psize, &paddr, GFP_KERNEL, attrs);
-+ if (!cpu_addr) {
-+ dev_err(dev, "failed to allocate %zu bytes for pgtable\n",
-+ psize);
-+ return -ENOMEM;
-+ }
-+
-+ ret = qcom_scm_iommu_secure_ptbl_init(paddr, psize, spare);
-+ if (ret) {
-+ dev_err(dev, "failed to init iommu pgtable (%d)\n", ret);
-+ goto free_mem;
-+ }
-+
-+ allocated = true;
-+ return 0;
-+
-+free_mem:
-+ dma_free_attrs(dev, psize, cpu_addr, paddr, attrs);
-+ return ret;
-+}
-+
- static int get_asid(const struct device_node *np)
- {
- u32 reg;
-@@ -700,6 +745,17 @@ static struct platform_driver qcom_iommu_ctx_driver = {
- .remove = qcom_iommu_ctx_remove,
- };
-
-+static bool qcom_iommu_has_secure_context(struct qcom_iommu_dev *qcom_iommu)
-+{
-+ struct device_node *child;
-+
-+ for_each_child_of_node(qcom_iommu->dev->of_node, child)
-+ if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec"))
-+ return true;
-+
-+ return false;
-+}
-+
- static int qcom_iommu_device_probe(struct platform_device *pdev)
- {
- struct device_node *child;
-@@ -744,6 +800,14 @@ static int qcom_iommu_device_probe(struct platform_device *pdev)
- return -ENODEV;
- }
-
-+ if (qcom_iommu_has_secure_context(qcom_iommu)) {
-+ ret = qcom_iommu_sec_ptbl_init(dev);
-+ if (ret) {
-+ dev_err(dev, "cannot init secure pg table(%d)\n", ret);
-+ return ret;
-+ }
-+ }
-+
- platform_set_drvdata(pdev, qcom_iommu);
-
- pm_runtime_enable(dev);
-From patchwork Mon Jun 12 12:43:15 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [1/3] ARM64: DT: add gpu for msm8916
-From: Rob Clark <robdclark@gmail.com>
-X-Patchwork-Id: 9781057
-Message-Id: <20170612124317.29313-1-robdclark@gmail.com>
-To: linux-arm-msm@vger.kernel.org
-Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>,
- Stanimir Varbanov <stanimir.varbanov@linaro.org>,
- Rob Clark <robdclark@gmail.com>
-Date: Mon, 12 Jun 2017 08:43:15 -0400
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
----
- arch/arm64/boot/dts/qcom/msm8916.dtsi | 35 +++++++++++++++++++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
-index ab30939..24c24ab 100644
---- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
-+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
-@@ -204,6 +204,17 @@
-
- };
-
-+ gpu_opp_table: opp_table {
-+ compatible = "operating-points-v2";
-+
-+ opp-400000000 {
-+ opp-hz = /bits/ 64 <400000000>;
-+ };
-+ opp-19200000 {
-+ opp-hz = /bits/ 64 <19200000>;
-+ };
-+ };
-+
- timer {
- compatible = "arm,armv8-timer";
- interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-@@ -698,6 +709,30 @@
- #thermal-sensor-cells = <1>;
- };
-
-+ gpu@1c00000 {
-+ compatible = "qcom,adreno-306.0", "qcom,adreno";
-+ reg = <0x01c00000 0x20000>;
-+ reg-names = "kgsl_3d0_reg_memory";
-+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
-+ interrupt-names = "kgsl_3d0_irq";
-+ clock-names =
-+ "core",
-+ "iface",
-+ "mem",
-+ "mem_iface",
-+ "alt_mem_iface",
-+ "gfx3d";
-+ clocks =
-+ <&gcc GCC_OXILI_GFX3D_CLK>,
-+ <&gcc GCC_OXILI_AHB_CLK>,
-+ <&gcc GCC_OXILI_GMEM_CLK>,
-+ <&gcc GCC_BIMC_GFX_CLK>,
-+ <&gcc GCC_BIMC_GPU_CLK>,
-+ <&gcc GFX3D_CLK_SRC>;
-+ power-domains = <&gcc OXILI_GDSC>;
-+ operating-points-v2 = <&gpu_opp_table>;
-+ };
-+
- mdss: mdss@1a00000 {
- compatible = "qcom,mdss";
- reg = <0x1a00000 0x1000>,
-From patchwork Mon Jun 12 12:43:16 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [2/3] ARM64: DT: add video codec devicetree node
-From: Rob Clark <robdclark@gmail.com>
-X-Patchwork-Id: 9781059
-Message-Id: <20170612124317.29313-2-robdclark@gmail.com>
-To: linux-arm-msm@vger.kernel.org
-Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>,
- Stanimir Varbanov <stanimir.varbanov@linaro.org>,
- Rob Clark <robdclark@gmail.com>
-Date: Mon, 12 Jun 2017 08:43:16 -0400
-
-From: Stanimir Varbanov <stanimir.varbanov@linaro.org>
-
-Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
----
- arch/arm64/boot/dts/qcom/msm8916.dtsi | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
-index 24c24ab..1dcd632 100644
---- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
-+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
-@@ -88,6 +88,13 @@
- no-map;
- };
-
-+ venus_mem: venus@89900000 {
-+ compatible = "shared-dma-pool";
-+ reg = <0x0 0x89900000 0x0 0x800000>;
-+ alignment = <0x1000>;
-+ no-map;
-+ };
-+
- mba_mem: mba@8ea00000 {
- no-map;
- reg = <0 0x8ea00000 0 0x100000>;
-@@ -1214,6 +1221,27 @@
- };
- };
- };
-+
-+ venus: video-codec@1d00000 {
-+ compatible = "qcom,msm8916-venus";
-+ reg = <0x01d00000 0xff000>;
-+ interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
-+ power-domains = <&gcc VENUS_GDSC>;
-+ clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
-+ <&gcc GCC_VENUS0_AHB_CLK>,
-+ <&gcc GCC_VENUS0_AXI_CLK>;
-+ clock-names = "core", "iface", "bus";
-+ memory-region = <&venus_mem>;
-+ status = "okay";
-+
-+ video-decoder {
-+ compatible = "venus-decoder";
-+ };
-+
-+ video-encoder {
-+ compatible = "venus-encoder";
-+ };
-+ };
- };
-
- smd {
-From patchwork Mon Jun 12 12:43:17 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [3/3] ARM64: DT: add iommu for msm8916
-From: Rob Clark <robdclark@gmail.com>
-X-Patchwork-Id: 9781061
-Message-Id: <20170612124317.29313-3-robdclark@gmail.com>
-To: linux-arm-msm@vger.kernel.org
-Cc: Stephen Boyd <sboyd@codeaurora.org>, Andy Gross <agross@codeaurora.org>,
- Stanimir Varbanov <stanimir.varbanov@linaro.org>,
- Rob Clark <robdclark@gmail.com>
-Date: Mon, 12 Jun 2017 08:43:17 -0400
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
----
- arch/arm64/boot/dts/qcom/msm8916.dtsi | 57 +++++++++++++++++++++++++++++++++++
- 1 file changed, 57 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
-index 1dcd632..9a1d7ef 100644
---- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
-+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
-@@ -716,6 +716,59 @@
- #thermal-sensor-cells = <1>;
- };
-
-+ apps_iommu: iommu@1ef0000 {
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ #iommu-cells = <1>;
-+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
-+ ranges = <0 0x1e20000 0x40000>;
-+ reg = <0x1ef0000 0x3000>;
-+ clocks = <&gcc GCC_SMMU_CFG_CLK>,
-+ <&gcc GCC_APSS_TCU_CLK>;
-+ clock-names = "iface", "bus";
-+ qcom,iommu-secure-id = <17>;
-+
-+ // mdp_0:
-+ iommu-ctx@4000 {
-+ compatible = "qcom,msm-iommu-v1-ns";
-+ reg = <0x4000 0x1000>;
-+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+
-+ // venus_ns:
-+ iommu-ctx@5000 {
-+ compatible = "qcom,msm-iommu-v1-sec";
-+ reg = <0x5000 0x1000>;
-+ interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+ };
-+
-+ gpu_iommu: iommu@1f08000 {
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ #iommu-cells = <1>;
-+ compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
-+ ranges = <0 0x1f08000 0x10000>;
-+ clocks = <&gcc GCC_SMMU_CFG_CLK>,
-+ <&gcc GCC_GFX_TCU_CLK>;
-+ clock-names = "iface", "bus";
-+ qcom,iommu-secure-id = <18>;
-+
-+ // gfx3d_user:
-+ iommu-ctx@1000 {
-+ compatible = "qcom,msm-iommu-v1-ns";
-+ reg = <0x1000 0x1000>;
-+ interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+
-+ // gfx3d_priv:
-+ iommu-ctx@2000 {
-+ compatible = "qcom,msm-iommu-v1-ns";
-+ reg = <0x2000 0x1000>;
-+ interrupts = <GIC_SPI 242 0>;
-+ };
-+ };
-+
- gpu@1c00000 {
- compatible = "qcom,adreno-306.0", "qcom,adreno";
- reg = <0x01c00000 0x20000>;
-@@ -738,6 +791,7 @@
- <&gcc GFX3D_CLK_SRC>;
- power-domains = <&gcc OXILI_GDSC>;
- operating-points-v2 = <&gpu_opp_table>;
-+ iommus = <&gpu_iommu 1>, <&gpu_iommu 2>;
- };
-
- mdss: mdss@1a00000 {
-@@ -781,6 +835,8 @@
- "core_clk",
- "vsync_clk";
-
-+ iommus = <&apps_iommu 4>;
-+
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-@@ -1231,6 +1287,7 @@
- <&gcc GCC_VENUS0_AHB_CLK>,
- <&gcc GCC_VENUS0_AXI_CLK>;
- clock-names = "core", "iface", "bus";
-+ iommus = <&apps_iommu 5>;
- memory-region = <&venus_mem>;
- status = "okay";
-
diff --git a/freed-ora/current/f26/qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch b/freed-ora/current/f26/qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch
deleted file mode 100644
index bc1884782..000000000
--- a/freed-ora/current/f26/qcom-msm-ci_hdrc_msm_probe-missing-of_node_get.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From patchwork Tue Jul 18 23:31:28 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: usb: chipidea: msm: ci_hdrc_msm_probe() missing of_node_get()
-From: Frank Rowand <frowand.list@gmail.com>
-X-Patchwork-Id: 9850189
-Message-Id: <1500420688-11912-1-git-send-email-frowand.list@gmail.com>
-To: Peter Chen <Peter.Chen@nxp.com>,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>, linux-usb@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org
-Date: Tue, 18 Jul 2017 16:31:28 -0700
-
-From: Frank Rowand <frank.rowand@sony.com>
-
-Boot fails for qcom-apq8074-dragonboard on 4.13-rc1 with error:
-OF: ERROR: Bad of_node_put() on /soc/usb@f9a55000
-
-The error will occur if the configuration is set to:
- CONFIG_OF_OVERLAY y
- CONFIG_OF_UNITTEST y
- CONFIG_OF_DYNAMIC y
- CONFIG_OF_RESOLVE y
-
-If CONFIG_OF_DYNAMIC is enabled then of_node_release() detects an
-attempt to release a node that is still attached to the device tree.
-
-Signed-off-by: Frank Rowand <frank.rowand@sony.com>
----
- drivers/usb/chipidea/ci_hdrc_msm.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/usb/chipidea/ci_hdrc_msm.c b/drivers/usb/chipidea/ci_hdrc_msm.c
-index 0bdfcdcbf7a5..bb626120296f 100644
---- a/drivers/usb/chipidea/ci_hdrc_msm.c
-+++ b/drivers/usb/chipidea/ci_hdrc_msm.c
-@@ -251,7 +251,7 @@ static int ci_hdrc_msm_probe(struct platform_device *pdev)
- if (ret)
- goto err_mux;
-
-- ulpi_node = of_find_node_by_name(pdev->dev.of_node, "ulpi");
-+ ulpi_node = of_find_node_by_name(of_node_get(pdev->dev.of_node), "ulpi");
- if (ulpi_node) {
- phy_node = of_get_next_available_child(ulpi_node, NULL);
- ci->hsic = of_device_is_compatible(phy_node, "qcom,usb-hsic-phy");
diff --git a/freed-ora/current/f26/qcom-msm89xx-fixes.patch b/freed-ora/current/f26/qcom-msm89xx-fixes.patch
index a3298e432..f7ac2815c 100644
--- a/freed-ora/current/f26/qcom-msm89xx-fixes.patch
+++ b/freed-ora/current/f26/qcom-msm89xx-fixes.patch
@@ -1,81 +1,3 @@
-From 283d0e00a18b294ec56f1fb904896a546704faaf Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@gmail.com>
-Date: Fri, 30 Jun 2017 11:47:21 -0400
-Subject: [PATCH 3/6] soc: qcom: smsm: fix of_node refcnting problem
-
-of_find_node_with_property() drops the reference to the 'from' node,
-which eventually (after enough -EPROBE_DEFERs) drops the last reference
-to the node causing all sorts of fun problems, and this nice splat.
-
- BUG: sleeping function called from invalid context at ../kernel/locking/mutex.c:747
- in_atomic(): 1, irqs_disabled(): 128, pid: 33, name: kworker/0:1
- 4 locks held by kworker/0:1/33:
- #0: ("events"){.+.+.+}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728
- #1: (deferred_probe_work){+.+.+.}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728
- #2: (&dev->mutex){......}, at: [<ffff000008676078>] __device_attach+0x30/0x168
- #3: (devtree_lock){......}, at: [<ffff000008828fd0>] of_find_node_with_property+0x30/0xe0
- irq event stamp: 18976
- hardirqs last enabled at (18975): [<ffff00000815794c>] __down_trylock_console_sem+0x74/0xb8
- hardirqs last disabled at (18976): [<ffff0000089e26d4>] _raw_spin_lock_irqsave+0x2c/0x78
- softirqs last enabled at (16880): [<ffff0000080e0f00>] __do_softirq+0x580/0x640
- softirqs last disabled at (16871): [<ffff0000080e13a4>] irq_exit+0xe4/0x138
- CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G E 4.12.0-rc5+ #1455
- Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
- Workqueue: events deferred_probe_work_func
- Call trace:
- [<ffff000008089ee0>] dump_backtrace+0x0/0x230
- [<ffff00000808a134>] show_stack+0x24/0x30
- [<ffff0000084e1944>] dump_stack+0xac/0xe8
- [<ffff00000810d7e0>] ___might_sleep+0x150/0x230
- [<ffff00000810d918>] __might_sleep+0x58/0x90
- [<ffff0000089dde18>] __mutex_lock+0x50/0x870
- [<ffff0000089de674>] mutex_lock_nested+0x3c/0x50
- [<ffff000008388ae0>] kernfs_remove+0x30/0x50
- [<ffff00000838b720>] sysfs_remove_dir+0x58/0x70
- [<ffff0000084e393c>] kobject_del+0x1c/0x58
- [<ffff0000084e374c>] kobject_put+0xb4/0x208
- [<ffff00000882c364>] of_node_put+0x24/0x30
- [<ffff000008829018>] of_find_node_with_property+0x78/0xe0
- [<ffff000000aff5f4>] qcom_smsm_probe+0x194/0x720 [smsm]
- [<ffff0000086793b4>] platform_drv_probe+0x74/0x110
- [<ffff0000086765bc>] driver_probe_device+0x2b4/0x420
- [<ffff000008676920>] __device_attach_driver+0xd0/0x150
- [<ffff000008673e78>] bus_for_each_drv+0x68/0xa8
- [<ffff00000867611c>] __device_attach+0xd4/0x168
- [<ffff000008676a1c>] device_initial_probe+0x24/0x30
- [<ffff000008675380>] bus_probe_device+0xa0/0xa8
- [<ffff000008675948>] deferred_probe_work_func+0xb8/0xf8
- [<ffff0000080fa9d4>] process_one_work+0x25c/0x728
- [<ffff0000080faef4>] worker_thread+0x54/0x3d8
- [<ffff0000081031d8>] kthread+0x110/0x140
- [<ffff000008082d90>] ret_from_fork+0x10/0x40
- OF: ERROR: Bad of_node_put() on /smsm
- CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G W E 4.12.0-rc5+ #1455
- Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
- Workqueue: events deferred_probe_work_func
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
----
- drivers/soc/qcom/smsm.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/soc/qcom/smsm.c b/drivers/soc/qcom/smsm.c
-index d0337b2a71c8..a64ecd597a22 100644
---- a/drivers/soc/qcom/smsm.c
-+++ b/drivers/soc/qcom/smsm.c
-@@ -495,7 +495,8 @@ static int qcom_smsm_probe(struct platform_device *pdev)
- if (!smsm->hosts)
- return -ENOMEM;
-
-- local_node = of_find_node_with_property(pdev->dev.of_node, "#qcom,smem-state-cells");
-+ local_node = of_find_node_with_property(of_node_get(pdev->dev.of_node),
-+ "#qcom,smem-state-cells");
- if (!local_node) {
- dev_err(&pdev->dev, "no state entry\n");
- return -EINVAL;
---
-2.13.0
-
From 40cb129048e5d2456da8d9d6468f292da3071b91 Mon Sep 17 00:00:00 2001
From: Rob Clark <robdclark@gmail.com>
Date: Fri, 30 Jun 2017 16:40:23 -0400
@@ -107,84 +29,3 @@ index b1449ad67fc0..22ad37c9808c 100644
--
2.13.0
-
-From ae9b4fa55748cc9ce3c8ac039e46feab7257eff9 Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@gmail.com>
-Date: Sun, 2 Jul 2017 09:23:36 -0400
-Subject: [PATCH 5/6] soc: qcom: wcnss_ctrl: add missing MODULE_DEVICE_TABLE()
-
-This fixes a problem of wifi module not loading on db410c.
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
----
- drivers/soc/qcom/wcnss_ctrl.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/soc/qcom/wcnss_ctrl.c b/drivers/soc/qcom/wcnss_ctrl.c
-index b9069184df19..d008e5b82db4 100644
---- a/drivers/soc/qcom/wcnss_ctrl.c
-+++ b/drivers/soc/qcom/wcnss_ctrl.c
-@@ -347,6 +347,7 @@ static const struct of_device_id wcnss_ctrl_of_match[] = {
- { .compatible = "qcom,wcnss", },
- {}
- };
-+MODULE_DEVICE_TABLE(of, wcnss_ctrl_of_match);
-
- static struct rpmsg_driver wcnss_ctrl_driver = {
- .probe = wcnss_ctrl_probe,
---
-2.13.0
-
-From 173c1207986956ea4c00601a67c952751a1985e6 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Mon, 3 Jul 2017 10:10:21 +0100
-Subject: [PATCH 6/6] wcn36xx: check dma_mapping_error()
-
-Fixes splat:
-
- wcn36xx a204000.wcnss:smd-edge:wcnss:wifi: DMA-API: device driver failed to check map error[device address=0x00000000b45ba000] [size=3872 bytes] [mapped as single]
- ------------[ cut here ]------------
- WARNING: CPU: 0 PID: 0 at ../lib/dma-debug.c:1167 check_unmap+0x474/0x8d0
- Modules linked in: bnep(E) arc4(E) wcn36xx(E) mac80211(E) btqcomsmd(E) btqca(E) bluetooth(E) cfg80211(E) ecdh_generic(E) rfkill(E) vfat(E) fat(E) wcnss_ctrl qcom_wcnss_pil(E) mdt_loader(E) qcom_common(E) remoteproc(E) crc32_ce(E) virtio_ring(E) snd_soc_lpass_apq8016(E) snd_soc_lpass_cpu(E) virtio(E) snd_soc_lpass_platform(E) leds_gpio(E) snd_soc_hdmi_codec(E) snd_soc_apq8016_sbc(E) snd_soc_msm8916_digital(E) snd_soc_core(E) qcom_spmi_temp_alarm(E) ac97_bus(E) snd_pcm_dmaengine(E) snd_seq(E) snd_seq_device(E) snd_pcm(E) spi_qup(E) nvmem_qfprom(E) snd_timer(E) snd(E) soundcore(E) msm_rng(E) qcom_tsens(E) nvmem_core(E) uas(E) usb_storage(E) dm9601(E) cdc_ether(E) usbnet(E) mii(E) mmc_block(E) sdhci_msm(E) sdhci_pltfm(E) qcom_spmi_vadc(E) qcom_vadc_common(PE) clk_smd_rpm(E) industrialio(E)
- qcom_smd_regulator(E) pinctrl_spmi_mpp(E) pinctrl_spmi_gpio(E) rtc_pm8xxx(E) adv7511(E) smd_rpm(E) qcom_spmi_pmic(E) regmap_spmi(E) phy_msm_usb(E) usb3503(E) extcon_usb_gpio(E) ci_hdrc_msm(E) ci_hdrc(E) qcom_hwspinlock(E) udc_core(E) extcon_core(E) ehci_msm(E) i2c_qup(E) sdhci(E) msm(E) mmc_core(E) drm_kms_helper(E) syscopyarea(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) spmi_pmic_arb(E) drm(E) spmi(E) qcom_smd(E) rpmsg_core smsm(E) gpio_keys(E) smp2p(E) smem(E) hwspinlock_core(E) sunrpc(E) scsi_transport_iscsi(E)
- CPU: 0 PID: 0 Comm: swapper/0 Tainted: P E 4.12.0-rc7+ #1476
- Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
- task: ffff000009049780 task.stack: ffff000009030000
- PC is at check_unmap+0x474/0x8d0
- LR is at check_unmap+0x474/0x8d0
- ...
- Mapped at:
- dma_entry_alloc+0x68/0xa8
- debug_dma_map_page+0x94/0x148
- wcn36xx_dxe_fill_skb.isra.1+0xbc/0xf8 [wcn36xx]
- wcn36xx_dxe_init+0x244/0x398 [wcn36xx]
- wcn36xx_start+0xf4/0x298 [wcn36xx]
-
-v2: pbrobinson: add kfree_skb(skb);
-
-Signed-off-by: Rob Clark <robdclark@gmail.com>
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- drivers/net/wireless/ath/wcn36xx/dxe.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c
-index 87dfdaf9044c..d5c810a8cc52 100644
---- a/drivers/net/wireless/ath/wcn36xx/dxe.c
-+++ b/drivers/net/wireless/ath/wcn36xx/dxe.c
-@@ -289,6 +289,11 @@ static int wcn36xx_dxe_fill_skb(struct device *dev, struct wcn36xx_dxe_ctl *ctl)
- skb_tail_pointer(skb),
- WCN36XX_PKT_SIZE,
- DMA_FROM_DEVICE);
-+ if (dma_mapping_error(dev, dxe->dst_addr_l)) {
-+ dev_err(dev, "unable to map skb\n");
-+ kfree_skb(skb);
-+ return -ENOMEM;
-+ }
- ctl->skb = skb;
-
- return 0;
---
-2.13.0
-
diff --git a/freed-ora/current/f26/qxl-fix-primary-surface-handling.patch b/freed-ora/current/f26/qxl-fix-primary-surface-handling.patch
deleted file mode 100644
index 457634d21..000000000
--- a/freed-ora/current/f26/qxl-fix-primary-surface-handling.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From b16a0bb7a9d54d9dd256059b35adf6f96fddc22e Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 6 Sep 2017 11:31:51 +0200
-Subject: qxl: fix primary surface handling
-
-The atomic conversion of the qxl driver didn't got the primary surface
-handling completely right. It works in the common simple cases, but
-fails for example when changing the display resolution using xrandr or
-in multihead setups.
-
-The rules are simple: There is one primary surface. Before defining a
-new one you have to destroy the old one.
-
-This patch makes qxl_primary_atomic_update() destroy the primary surface
-before defining a new one. It fixes is_primary flag updates. It adds
-is_primary checks so we don't try to update the primary surface in case
-it already has the state we want it being in.
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
----
- drivers/gpu/drm/qxl/qxl_display.c | 34 +++++++++++++++++++---------------
- 1 file changed, 19 insertions(+), 15 deletions(-)
-
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index 14c5613..e1dd054 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -509,23 +509,25 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
- .y2 = qfb->base.height
- };
-
-- if (!old_state->fb) {
-- qxl_io_log(qdev,
-- "create primary fb: %dx%d,%d,%d\n",
-- bo->surf.width, bo->surf.height,
-- bo->surf.stride, bo->surf.format);
-+ if (old_state->fb) {
-+ qfb_old = to_qxl_framebuffer(old_state->fb);
-+ bo_old = gem_to_qxl_bo(qfb_old->obj);
-+ } else {
-+ bo_old = NULL;
-+ }
-
-- qxl_io_create_primary(qdev, 0, bo);
-- bo->is_primary = true;
-+ if (bo == bo_old)
- return;
-
-- } else {
-- qfb_old = to_qxl_framebuffer(old_state->fb);
-- bo_old = gem_to_qxl_bo(qfb_old->obj);
-+ if (bo_old && bo_old->is_primary) {
-+ qxl_io_destroy_primary(qdev);
- bo_old->is_primary = false;
- }
-
-- bo->is_primary = true;
-+ if (!bo->is_primary) {
-+ qxl_io_create_primary(qdev, 0, bo);
-+ bo->is_primary = true;
-+ }
- qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1);
- }
-
-@@ -534,13 +536,15 @@ static void qxl_primary_atomic_disable(struct drm_plane *plane,
- {
- struct qxl_device *qdev = plane->dev->dev_private;
-
-- if (old_state->fb)
-- { struct qxl_framebuffer *qfb =
-+ if (old_state->fb) {
-+ struct qxl_framebuffer *qfb =
- to_qxl_framebuffer(old_state->fb);
- struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj);
-
-- qxl_io_destroy_primary(qdev);
-- bo->is_primary = false;
-+ if (bo->is_primary) {
-+ qxl_io_destroy_primary(qdev);
-+ bo->is_primary = false;
-+ }
- }
- }
-
---
-cgit v0.12
-
diff --git a/freed-ora/current/f26/qxl-fixes.patch b/freed-ora/current/f26/qxl-fixes.patch
index 558204ac5..933f27c4a 100644
--- a/freed-ora/current/f26/qxl-fixes.patch
+++ b/freed-ora/current/f26/qxl-fixes.patch
@@ -1,133 +1,201 @@
-From c463b4ad6b2ac5a40c959e6c636eafc7edb1a63b Mon Sep 17 00:00:00 2001
+From 56cbcb6c41932b19ef0d838f1ff25a662a2e403d Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 6 Sep 2017 11:31:51 +0200
-Subject: qxl: fix primary surface handling
+Date: Thu, 19 Oct 2017 08:21:49 +0200
+Subject: [PATCH] drm/qxl: replace QXL_INFO with DRM_DEBUG_DRIVER
-The atomic conversion of the qxl driver didn't got the primary surface
-handling completely right. It works in the common simple cases, but
-fails for example when changing the display resolution using xrandr or
-in multihead setups.
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Reviewed-by: Dave Airlie <airlied@redhat.com>
+Link: http://patchwork.freedesktop.org/patch/msgid/20171019062150.28090-2-kraxel@redhat.com
+---
+ drivers/gpu/drm/qxl/qxl_cmd.c | 16 +++++++---------
+ drivers/gpu/drm/qxl/qxl_drv.h | 26 +-------------------------
+ drivers/gpu/drm/qxl/qxl_fb.c | 13 +++++--------
+ drivers/gpu/drm/qxl/qxl_release.c | 5 ++---
+ drivers/gpu/drm/qxl/qxl_ttm.c | 4 ++--
+ 5 files changed, 17 insertions(+), 47 deletions(-)
-The rules are simple: There is one primary surface. Before defining a
-new one you have to destroy the old one.
+diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c
+index 74fc9362ecf9..8ec53d5abd62 100644
+--- a/drivers/gpu/drm/qxl/qxl_cmd.c
++++ b/drivers/gpu/drm/qxl/qxl_cmd.c
+@@ -219,7 +219,7 @@ int qxl_garbage_collect(struct qxl_device *qdev)
+ union qxl_release_info *info;
-This patch makes qxl_primary_atomic_update() destroy the primary surface
-before defining a new one. It fixes is_primary flag updates. It adds
-is_primary checks so we don't try to update the primary surface in case
-it already has the state we want it being in.
+ while (qxl_ring_pop(qdev->release_ring, &id)) {
+- QXL_INFO(qdev, "popped %lld\n", id);
++ DRM_DEBUG_DRIVER("popped %lld\n", id);
+ while (id) {
+ release = qxl_release_from_id_locked(qdev, id);
+ if (release == NULL)
+@@ -229,8 +229,8 @@ int qxl_garbage_collect(struct qxl_device *qdev)
+ next_id = info->next;
+ qxl_release_unmap(qdev, release, info);
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
----
- drivers/gpu/drm/qxl/qxl_display.c | 34 +++++++++++++++++++---------------
- 1 file changed, 19 insertions(+), 15 deletions(-)
+- QXL_INFO(qdev, "popped %lld, next %lld\n", id,
+- next_id);
++ DRM_DEBUG_DRIVER("popped %lld, next %lld\n", id,
++ next_id);
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index 03fe182..7babdd8f 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -512,23 +512,25 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
- .y2 = qfb->base.height
- };
-
-- if (!old_state->fb) {
-- qxl_io_log(qdev,
-- "create primary fb: %dx%d,%d,%d\n",
-- bo->surf.width, bo->surf.height,
-- bo->surf.stride, bo->surf.format);
-+ if (old_state->fb) {
-+ qfb_old = to_qxl_framebuffer(old_state->fb);
-+ bo_old = gem_to_qxl_bo(qfb_old->obj);
-+ } else {
-+ bo_old = NULL;
-+ }
-
-- qxl_io_create_primary(qdev, 0, bo);
-- bo->is_primary = true;
-+ if (bo == bo_old)
- return;
-
-- } else {
-- qfb_old = to_qxl_framebuffer(old_state->fb);
-- bo_old = gem_to_qxl_bo(qfb_old->obj);
-+ if (bo_old && bo_old->is_primary) {
-+ qxl_io_destroy_primary(qdev);
- bo_old->is_primary = false;
+ switch (release->type) {
+ case QXL_RELEASE_DRAWABLE:
+@@ -248,7 +248,7 @@ int qxl_garbage_collect(struct qxl_device *qdev)
+ }
}
-
-- bo->is_primary = true;
-+ if (!bo->is_primary) {
-+ qxl_io_create_primary(qdev, 0, bo);
-+ bo->is_primary = true;
-+ }
- qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1);
+
+- QXL_INFO(qdev, "%s: %d\n", __func__, i);
++ DRM_DEBUG_DRIVER("%d\n", i);
+
+ return i;
}
-
-@@ -537,13 +539,15 @@ static void qxl_primary_atomic_disable(struct drm_plane *plane,
+@@ -381,8 +381,7 @@ void qxl_io_create_primary(struct qxl_device *qdev,
{
- struct qxl_device *qdev = plane->dev->dev_private;
-
-- if (old_state->fb)
-- { struct qxl_framebuffer *qfb =
-+ if (old_state->fb) {
-+ struct qxl_framebuffer *qfb =
- to_qxl_framebuffer(old_state->fb);
- struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj);
-
-- qxl_io_destroy_primary(qdev);
-- bo->is_primary = false;
-+ if (bo->is_primary) {
-+ qxl_io_destroy_primary(qdev);
-+ bo->is_primary = false;
-+ }
- }
+ struct qxl_surface_create *create;
+
+- QXL_INFO(qdev, "%s: qdev %p, ram_header %p\n", __func__, qdev,
+- qdev->ram_header);
++ DRM_DEBUG_DRIVER("qdev %p, ram_header %p\n", qdev, qdev->ram_header);
+ create = &qdev->ram_header->create_surface;
+ create->format = bo->surf.format;
+ create->width = bo->surf.width;
+@@ -390,8 +389,7 @@ void qxl_io_create_primary(struct qxl_device *qdev,
+ create->stride = bo->surf.stride;
+ create->mem = qxl_bo_physical_address(qdev, bo, offset);
+
+- QXL_INFO(qdev, "%s: mem = %llx, from %p\n", __func__, create->mem,
+- bo->kptr);
++ DRM_DEBUG_DRIVER("mem = %llx, from %p\n", create->mem, bo->kptr);
+
+ create->flags = QXL_SURF_FLAG_KEEP_DATA;
+ create->type = QXL_SURF_TYPE_PRIMARY;
+@@ -401,7 +399,7 @@ void qxl_io_create_primary(struct qxl_device *qdev,
+
+ void qxl_io_memslot_add(struct qxl_device *qdev, uint8_t id)
+ {
+- QXL_INFO(qdev, "qxl_memslot_add %d\n", id);
++ DRM_DEBUG_DRIVER("qxl_memslot_add %d\n", id);
+ wait_for_io_cmd(qdev, id, QXL_IO_MEMSLOT_ADD_ASYNC);
}
-
---
-cgit v0.12
-From 05026e6e19b29104ddba4e8979e6c7af17944695 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Fri, 15 Sep 2017 12:46:15 +0200
-Subject: [testing] qxl: fix pinning
+diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
+index 3397a1907336..d707b351875c 100644
+--- a/drivers/gpu/drm/qxl/qxl_drv.h
++++ b/drivers/gpu/drm/qxl/qxl_drv.h
+@@ -62,33 +62,9 @@
-cleanup_fb() unpins the just activated framebuffer instead of the
-old one. Oops.
+ #define QXL_DEBUGFS_MAX_COMPONENTS 32
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
----
- drivers/gpu/drm/qxl/qxl_display.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
+-extern int qxl_log_level;
+ extern int qxl_num_crtc;
+ extern int qxl_max_ioctls;
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index 7babdd8f..afc2272 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -705,14 +705,15 @@ static void qxl_plane_cleanup_fb(struct drm_plane *plane,
- struct drm_gem_object *obj;
- struct qxl_bo *user_bo;
-
-- if (!plane->state->fb) {
-- /* we never executed prepare_fb, so there's nothing to
-+ if (!old_state->fb) {
-+ /*
-+ * we never executed prepare_fb, so there's nothing to
- * unpin.
- */
- return;
+-enum {
+- QXL_INFO_LEVEL = 1,
+- QXL_DEBUG_LEVEL = 2,
+-};
+-
+-#define QXL_INFO(qdev, fmt, ...) do { \
+- if (qxl_log_level >= QXL_INFO_LEVEL) { \
+- qxl_io_log(qdev, fmt, __VA_ARGS__); \
+- } \
+- } while (0)
+-#define QXL_DEBUG(qdev, fmt, ...) do { \
+- if (qxl_log_level >= QXL_DEBUG_LEVEL) { \
+- qxl_io_log(qdev, fmt, __VA_ARGS__); \
+- } \
+- } while (0)
+-#define QXL_INFO_ONCE(qdev, fmt, ...) do { \
+- static int done; \
+- if (!done) { \
+- done = 1; \
+- QXL_INFO(qdev, fmt, __VA_ARGS__); \
+- } \
+- } while (0)
+-
+ #define DRM_FILE_OFFSET 0x100000000ULL
+ #define DRM_FILE_PAGE_OFFSET (DRM_FILE_OFFSET >> PAGE_SHIFT)
+
+@@ -351,7 +327,7 @@ int qxl_check_idle(struct qxl_ring *ring);
+ static inline void *
+ qxl_fb_virtual_address(struct qxl_device *qdev, unsigned long physical)
+ {
+- QXL_INFO(qdev, "not implemented (%lu)\n", physical);
++ DRM_DEBUG_DRIVER("not implemented (%lu)\n", physical);
+ return 0;
+ }
+
+diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c
+index 844c4a31ca13..23af3e352673 100644
+--- a/drivers/gpu/drm/qxl/qxl_fb.c
++++ b/drivers/gpu/drm/qxl/qxl_fb.c
+@@ -240,18 +240,15 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev,
+ return ret;
+
+ qbo = gem_to_qxl_bo(gobj);
+- QXL_INFO(qdev, "%s: %dx%d %d\n", __func__, mode_cmd.width,
+- mode_cmd.height, mode_cmd.pitches[0]);
++ DRM_DEBUG_DRIVER("%dx%d %d\n", mode_cmd.width,
++ mode_cmd.height, mode_cmd.pitches[0]);
+
+ shadow = vmalloc(mode_cmd.pitches[0] * mode_cmd.height);
+ /* TODO: what's the usual response to memory allocation errors? */
+ BUG_ON(!shadow);
+- QXL_INFO(qdev,
+- "surface0 at gpu offset %lld, mmap_offset %lld (virt %p, shadow %p)\n",
+- qxl_bo_gpu_offset(qbo),
+- qxl_bo_mmap_offset(qbo),
+- qbo->kptr,
+- shadow);
++ DRM_DEBUG_DRIVER("surface0 at gpu offset %lld, mmap_offset %lld (virt %p, shadow %p)\n",
++ qxl_bo_gpu_offset(qbo), qxl_bo_mmap_offset(qbo),
++ qbo->kptr, shadow);
+ size = mode_cmd.pitches[0] * mode_cmd.height;
+
+ info = drm_fb_helper_alloc_fbi(&qfbdev->helper);
+diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c
+index e6ec845b5be0..a6da6fa6ad58 100644
+--- a/drivers/gpu/drm/qxl/qxl_release.c
++++ b/drivers/gpu/drm/qxl/qxl_release.c
+@@ -154,7 +154,7 @@ qxl_release_alloc(struct qxl_device *qdev, int type,
+ return handle;
}
-
-- obj = to_qxl_framebuffer(plane->state->fb)->obj;
-+ obj = to_qxl_framebuffer(old_state->fb)->obj;
- user_bo = gem_to_qxl_bo(obj);
- qxl_bo_unpin(user_bo);
+ *ret = release;
+- QXL_INFO(qdev, "allocated release %d\n", handle);
++ DRM_DEBUG_DRIVER("allocated release %d\n", handle);
+ release->id = handle;
+ return handle;
}
+@@ -179,8 +179,7 @@ void
+ qxl_release_free(struct qxl_device *qdev,
+ struct qxl_release *release)
+ {
+- QXL_INFO(qdev, "release %d, type %d\n", release->id,
+- release->type);
++ DRM_DEBUG_DRIVER("release %d, type %d\n", release->id, release->type);
+
+ if (release->surface_release_id)
+ qxl_surface_id_dealloc(qdev, release->surface_release_id);
+diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
+index 7ecf8a4b9fe6..ab4823875311 100644
+--- a/drivers/gpu/drm/qxl/qxl_ttm.c
++++ b/drivers/gpu/drm/qxl/qxl_ttm.c
+@@ -136,8 +136,8 @@ int qxl_mmap(struct file *filp, struct vm_area_struct *vma)
+ "filp->private_data->minor->dev->dev_private == NULL\n");
+ return -EINVAL;
+ }
+- QXL_INFO(qdev, "%s: filp->private_data = 0x%p, vma->vm_pgoff = %lx\n",
+- __func__, filp->private_data, vma->vm_pgoff);
++ DRM_DEBUG_DRIVER("filp->private_data = 0x%p, vma->vm_pgoff = %lx\n",
++ filp->private_data, vma->vm_pgoff);
+
+ r = ttm_bo_mmap(filp, vma, &qdev->mman.bdev);
+ if (unlikely(r != 0))
--
-cgit v0.12
+2.14.3
-From 7a39a01887acc66d9b318d5e5898cf00d323eb8f Mon Sep 17 00:00:00 2001
+From 62676d10b483a2ff6e8b08c5e7c7d63a831343f5 Mon Sep 17 00:00:00 2001
From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 18 Oct 2017 13:18:40 +0200
-Subject: qxl: alloc & use shadow for dumb buffers
+Date: Thu, 19 Oct 2017 08:21:50 +0200
+Subject: [PATCH] qxl: alloc & use shadow for dumb buffers
This patch changes the way the primary surface is used for dumb
framebuffers. Instead of configuring the bo itself as primary surface
@@ -148,6 +216,8 @@ case qemu is asked to write out a dump of the guest display (screendump
monitor command).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Reviewed-by: Dave Airlie <airlied@redhat.com>
+Link: http://patchwork.freedesktop.org/patch/msgid/20171019062150.28090-3-kraxel@redhat.com
---
drivers/gpu/drm/qxl/qxl_cmd.c | 6 ++++-
drivers/gpu/drm/qxl/qxl_display.c | 49 ++++++++++++++++++++++++++++++++++++---
@@ -156,10 +226,10 @@ Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
4 files changed, 54 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c
-index 74fc936..3eb9208 100644
+index 8ec53d5abd62..c0fb52c6d4ca 100644
--- a/drivers/gpu/drm/qxl/qxl_cmd.c
+++ b/drivers/gpu/drm/qxl/qxl_cmd.c
-@@ -388,7 +388,11 @@ void qxl_io_create_primary(struct qxl_device *qdev,
+@@ -387,7 +387,11 @@ void qxl_io_create_primary(struct qxl_device *qdev,
create->width = bo->surf.width;
create->height = bo->surf.height;
create->stride = bo->surf.stride;
@@ -170,10 +240,10 @@ index 74fc936..3eb9208 100644
+ create->mem = qxl_bo_physical_address(qdev, bo, offset);
+ }
- QXL_INFO(qdev, "%s: mem = %llx, from %p\n", __func__, create->mem,
- bo->kptr);
+ DRM_DEBUG_DRIVER("mem = %llx, from %p\n", create->mem, bo->kptr);
+
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index afc2272..da6648e 100644
+index afbf50d0c08f..4756b3c9bf2c 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -305,7 +305,9 @@ static const struct drm_crtc_funcs qxl_crtc_funcs = {
@@ -186,7 +256,7 @@ index afc2272..da6648e 100644
drm_gem_object_unreference_unlocked(qxl_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(qxl_fb);
-@@ -511,6 +513,7 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
+@@ -508,6 +510,7 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
.x2 = qfb->base.width,
.y2 = qfb->base.height
};
@@ -194,7 +264,7 @@ index afc2272..da6648e 100644
if (old_state->fb) {
qfb_old = to_qxl_framebuffer(old_state->fb);
-@@ -522,15 +525,23 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
+@@ -519,15 +522,23 @@ static void qxl_primary_atomic_update(struct drm_plane *plane,
if (bo == bo_old)
return;
@@ -220,9 +290,9 @@ index afc2272..da6648e 100644
qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1);
}
-@@ -682,8 +693,9 @@ void qxl_cursor_atomic_disable(struct drm_plane *plane,
- int qxl_plane_prepare_fb(struct drm_plane *plane,
- struct drm_plane_state *new_state)
+@@ -679,8 +690,9 @@ static void qxl_cursor_atomic_disable(struct drm_plane *plane,
+ static int qxl_plane_prepare_fb(struct drm_plane *plane,
+ struct drm_plane_state *new_state)
{
+ struct qxl_device *qdev = plane->dev->dev_private;
struct drm_gem_object *obj;
@@ -231,7 +301,7 @@ index afc2272..da6648e 100644
int ret;
if (!new_state->fb)
-@@ -692,6 +704,32 @@ int qxl_plane_prepare_fb(struct drm_plane *plane,
+@@ -689,6 +701,32 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane,
obj = to_qxl_framebuffer(new_state->fb)->obj;
user_bo = gem_to_qxl_bo(obj);
@@ -264,7 +334,7 @@ index afc2272..da6648e 100644
ret = qxl_bo_pin(user_bo, QXL_GEM_DOMAIN_CPU, NULL);
if (ret)
return ret;
-@@ -716,6 +754,11 @@ static void qxl_plane_cleanup_fb(struct drm_plane *plane,
+@@ -713,6 +751,11 @@ static void qxl_plane_cleanup_fb(struct drm_plane *plane,
obj = to_qxl_framebuffer(old_state->fb)->obj;
user_bo = gem_to_qxl_bo(obj);
qxl_bo_unpin(user_bo);
@@ -277,10 +347,10 @@ index afc2272..da6648e 100644
static const uint32_t qxl_cursor_plane_formats[] = {
diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
-index 3591d23..b5e9dc6 100644
+index d707b351875c..08752c0ffb35 100644
--- a/drivers/gpu/drm/qxl/qxl_drv.h
+++ b/drivers/gpu/drm/qxl/qxl_drv.h
-@@ -112,6 +112,8 @@ struct qxl_bo {
+@@ -89,6 +89,8 @@ struct qxl_bo {
/* Constant after initialization */
struct drm_gem_object gem_base;
bool is_primary; /* is this now a primary surface */
@@ -290,7 +360,7 @@ index 3591d23..b5e9dc6 100644
struct qxl_surface surf;
uint32_t surface_id;
diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c
-index 5e65d5d..11085ab 100644
+index 5e65d5d2d937..11085ab01374 100644
--- a/drivers/gpu/drm/qxl/qxl_dumb.c
+++ b/drivers/gpu/drm/qxl/qxl_dumb.c
@@ -63,6 +63,7 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
@@ -302,5 +372,5 @@ index 5e65d5d..11085ab 100644
args->handle = handle;
return 0;
--
-2.13.5
+2.14.3
diff --git a/freed-ora/current/f26/qxl_cursor_fix.patch b/freed-ora/current/f26/qxl_cursor_fix.patch
deleted file mode 100644
index 8d59cb48b..000000000
--- a/freed-ora/current/f26/qxl_cursor_fix.patch
+++ /dev/null
@@ -1,565 +0,0 @@
-From fda212272d75dd46a53bdeba9466c6f7db7ee3fa Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Fri, 17 Nov 2017 15:08:05 -0500
-Subject: [PATCH 1/2] drm/qxl: unref cursor bo when finished with it
-
-qxl_cursor_atomic_update allocs a bo for the cursor that
-it never frees up at the end of the function.
-
-This commit fixes that.
-
-Signed-off-by: Ray Strode <rstrode@redhat.com>
----
- drivers/gpu/drm/qxl/qxl_display.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index da6648e75374..dab9f860626f 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -551,61 +551,61 @@ static void qxl_primary_atomic_disable(struct drm_plane *plane,
- struct qxl_device *qdev = plane->dev->dev_private;
-
- if (old_state->fb) {
- struct qxl_framebuffer *qfb =
- to_qxl_framebuffer(old_state->fb);
- struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj);
-
- if (bo->is_primary) {
- qxl_io_destroy_primary(qdev);
- bo->is_primary = false;
- }
- }
- }
-
- int qxl_plane_atomic_check(struct drm_plane *plane,
- struct drm_plane_state *state)
- {
- return 0;
- }
-
- static void qxl_cursor_atomic_update(struct drm_plane *plane,
- struct drm_plane_state *old_state)
- {
- struct drm_device *dev = plane->dev;
- struct qxl_device *qdev = dev->dev_private;
- struct drm_framebuffer *fb = plane->state->fb;
- struct qxl_release *release;
- struct qxl_cursor_cmd *cmd;
- struct qxl_cursor *cursor;
- struct drm_gem_object *obj;
-- struct qxl_bo *cursor_bo, *user_bo = NULL;
-+ struct qxl_bo *cursor_bo = NULL, *user_bo = NULL;
- int ret;
- void *user_ptr;
- int size = 64*64*4;
-
- ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd),
- QXL_RELEASE_CURSOR_CMD,
- &release, NULL);
- if (ret)
- return;
-
- if (fb != old_state->fb) {
- obj = to_qxl_framebuffer(fb)->obj;
- user_bo = gem_to_qxl_bo(obj);
-
- /* pinning is done in the prepare/cleanup framevbuffer */
- ret = qxl_bo_kmap(user_bo, &user_ptr);
- if (ret)
- goto out_free_release;
-
- ret = qxl_alloc_bo_reserved(qdev, release,
- sizeof(struct qxl_cursor) + size,
- &cursor_bo);
- if (ret)
- goto out_kunmap;
-
- ret = qxl_release_reserve_list(release, true);
- if (ret)
- goto out_free_bo;
-
- ret = qxl_bo_kmap(cursor_bo, (void **)&cursor);
-@@ -621,60 +621,62 @@ static void qxl_cursor_atomic_update(struct drm_plane *plane,
- cursor->data_size = size;
- cursor->chunk.next_chunk = 0;
- cursor->chunk.prev_chunk = 0;
- cursor->chunk.data_size = size;
- memcpy(cursor->chunk.data, user_ptr, size);
- qxl_bo_kunmap(cursor_bo);
- qxl_bo_kunmap(user_bo);
-
- cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
- cmd->u.set.visible = 1;
- cmd->u.set.shape = qxl_bo_physical_address(qdev,
- cursor_bo, 0);
- cmd->type = QXL_CURSOR_SET;
- } else {
-
- ret = qxl_release_reserve_list(release, true);
- if (ret)
- goto out_free_release;
-
- cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
- cmd->type = QXL_CURSOR_MOVE;
- }
-
- cmd->u.position.x = plane->state->crtc_x + fb->hot_x;
- cmd->u.position.y = plane->state->crtc_y + fb->hot_y;
-
- qxl_release_unmap(qdev, release, &cmd->release_info);
- qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false);
- qxl_release_fence_buffer_objects(release);
-
-+ qxl_bo_unref (&cursor_bo);
-+
- return;
-
- out_backoff:
- qxl_release_backoff_reserve_list(release);
- out_free_bo:
- qxl_bo_unref(&cursor_bo);
- out_kunmap:
- qxl_bo_kunmap(user_bo);
- out_free_release:
- qxl_release_free(qdev, release);
- return;
-
- }
-
- void qxl_cursor_atomic_disable(struct drm_plane *plane,
- struct drm_plane_state *old_state)
- {
- struct qxl_device *qdev = plane->dev->dev_private;
- struct qxl_release *release;
- struct qxl_cursor_cmd *cmd;
- int ret;
-
- ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd),
- QXL_RELEASE_CURSOR_CMD,
- &release, NULL);
- if (ret)
- return;
-
- ret = qxl_release_reserve_list(release, true);
- if (ret) {
---
-2.14.3
-
-
-From c779c917be6cd38a0c39ebb10f75f223efc5ffef Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Fri, 17 Nov 2017 14:49:46 -0500
-Subject: [PATCH 2/2] drm/qxl: reapply cursor after resetting primary
-
-QXL associates mouse state with its primary plane.
-
-Destroying a primary plane and putting a new one
-in place has the side effect of destroying the cursor
-as well.
-
-This commit changes the driver to reapply the cursor
-any time a new primary is created. It achieves this
-by keeping a reference to the cursor bo on the qxl_crtc
-struct.
-
-This fix is very similar to commit 4532b241a4b which
-got implicitly reverted as part of implementing the
-atomic modeset feature.
-
-Signed-off-by: Ray Strode <rstrode@redhat.com>
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1512097
----
- drivers/gpu/drm/qxl/qxl_display.c | 59 +++++++++++++++++++++++++++++++++++++++
- drivers/gpu/drm/qxl/qxl_drv.h | 2 ++
- 2 files changed, 61 insertions(+)
-
-diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
-index dab9f860626f..ef5c3a83130f 100644
---- a/drivers/gpu/drm/qxl/qxl_display.c
-+++ b/drivers/gpu/drm/qxl/qxl_display.c
-@@ -262,60 +262,61 @@ static int qxl_add_common_modes(struct drm_connector *connector,
- mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h,
- 60, false, false, false);
- if (common_modes[i].w == pwidth && common_modes[i].h == pheight)
- mode->type |= DRM_MODE_TYPE_PREFERRED;
- drm_mode_probed_add(connector, mode);
- }
- return i - 1;
- }
-
- static void qxl_crtc_atomic_flush(struct drm_crtc *crtc,
- struct drm_crtc_state *old_crtc_state)
- {
- struct drm_device *dev = crtc->dev;
- struct drm_pending_vblank_event *event;
- unsigned long flags;
-
- if (crtc->state && crtc->state->event) {
- event = crtc->state->event;
- crtc->state->event = NULL;
-
- spin_lock_irqsave(&dev->event_lock, flags);
- drm_crtc_send_vblank_event(crtc, event);
- spin_unlock_irqrestore(&dev->event_lock, flags);
- }
- }
-
- static void qxl_crtc_destroy(struct drm_crtc *crtc)
- {
- struct qxl_crtc *qxl_crtc = to_qxl_crtc(crtc);
-
-+ qxl_bo_unref(&qxl_crtc->cursor_bo);
- drm_crtc_cleanup(crtc);
- kfree(qxl_crtc);
- }
-
- static const struct drm_crtc_funcs qxl_crtc_funcs = {
- .set_config = drm_atomic_helper_set_config,
- .destroy = qxl_crtc_destroy,
- .page_flip = drm_atomic_helper_page_flip,
- .reset = drm_atomic_helper_crtc_reset,
- .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state,
- .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state,
- };
-
- void qxl_user_framebuffer_destroy(struct drm_framebuffer *fb)
- {
- struct qxl_framebuffer *qxl_fb = to_qxl_framebuffer(fb);
- struct qxl_bo *bo = gem_to_qxl_bo(qxl_fb->obj);
-
- WARN_ON(bo->shadow);
- drm_gem_object_unreference_unlocked(qxl_fb->obj);
- drm_framebuffer_cleanup(fb);
- kfree(qxl_fb);
- }
-
- static int qxl_framebuffer_surface_dirty(struct drm_framebuffer *fb,
- struct drm_file *file_priv,
- unsigned flags, unsigned color,
- struct drm_clip_rect *clips,
- unsigned num_clips)
- {
-@@ -471,193 +472,251 @@ static void qxl_crtc_disable(struct drm_crtc *crtc)
- static const struct drm_crtc_helper_funcs qxl_crtc_helper_funcs = {
- .dpms = qxl_crtc_dpms,
- .disable = qxl_crtc_disable,
- .mode_fixup = qxl_crtc_mode_fixup,
- .mode_set_nofb = qxl_mode_set_nofb,
- .commit = qxl_crtc_commit,
- .atomic_flush = qxl_crtc_atomic_flush,
- };
-
- int qxl_primary_atomic_check(struct drm_plane *plane,
- struct drm_plane_state *state)
- {
- struct qxl_device *qdev = plane->dev->dev_private;
- struct qxl_framebuffer *qfb;
- struct qxl_bo *bo;
-
- if (!state->crtc || !state->fb)
- return 0;
-
- qfb = to_qxl_framebuffer(state->fb);
- bo = gem_to_qxl_bo(qfb->obj);
-
- if (bo->surf.stride * bo->surf.height > qdev->vram_size) {
- DRM_ERROR("Mode doesn't fit in vram size (vgamem)");
- return -EINVAL;
- }
-
- return 0;
- }
-
-+static int qxl_primary_apply_cursor(struct drm_plane *plane)
-+{
-+ struct drm_device *dev = plane->dev;
-+ struct qxl_device *qdev = dev->dev_private;
-+ struct drm_framebuffer *fb = plane->state->fb;
-+ struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
-+ struct qxl_cursor_cmd *cmd;
-+ struct qxl_release *release;
-+ int ret = 0;
-+
-+ if (!qcrtc->cursor_bo)
-+ return 0;
-+
-+ ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd),
-+ QXL_RELEASE_CURSOR_CMD,
-+ &release, NULL);
-+ if (ret)
-+ return ret;
-+
-+ ret = qxl_release_list_add(release, qcrtc->cursor_bo);
-+ if (ret)
-+ goto out_free_release;
-+
-+ ret = qxl_release_reserve_list(release, false);
-+ if (ret)
-+ goto out_free_release;
-+
-+ cmd = (struct qxl_cursor_cmd *)qxl_release_map(qdev, release);
-+ cmd->type = QXL_CURSOR_SET;
-+ cmd->u.set.position.x = plane->state->crtc_x + fb->hot_x;
-+ cmd->u.set.position.y = plane->state->crtc_y + fb->hot_y;
-+
-+ cmd->u.set.shape = qxl_bo_physical_address(qdev, qcrtc->cursor_bo, 0);
-+
-+ cmd->u.set.visible = 1;
-+ qxl_release_unmap(qdev, release, &cmd->release_info);
-+
-+ qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false);
-+ qxl_release_fence_buffer_objects(release);
-+
-+ return ret;
-+
-+out_free_release:
-+ qxl_release_free(qdev, release);
-+ return ret;
-+}
-+
- static void qxl_primary_atomic_update(struct drm_plane *plane,
- struct drm_plane_state *old_state)
- {
- struct qxl_device *qdev = plane->dev->dev_private;
- struct qxl_framebuffer *qfb =
- to_qxl_framebuffer(plane->state->fb);
- struct qxl_framebuffer *qfb_old;
- struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj);
- struct qxl_bo *bo_old;
- struct drm_clip_rect norect = {
- .x1 = 0,
- .y1 = 0,
- .x2 = qfb->base.width,
- .y2 = qfb->base.height
- };
-+ int ret;
- bool same_shadow = false;
-
- if (old_state->fb) {
- qfb_old = to_qxl_framebuffer(old_state->fb);
- bo_old = gem_to_qxl_bo(qfb_old->obj);
- } else {
- bo_old = NULL;
- }
-
- if (bo == bo_old)
- return;
-
- if (bo_old && bo_old->shadow && bo->shadow &&
- bo_old->shadow == bo->shadow) {
- same_shadow = true;
- }
-
- if (bo_old && bo_old->is_primary) {
- if (!same_shadow)
- qxl_io_destroy_primary(qdev);
- bo_old->is_primary = false;
-+
-+ ret = qxl_primary_apply_cursor(plane);
-+ if (ret) {
-+ DRM_ERROR("could not set cursor after creating primary");
-+ }
- }
-
- if (!bo->is_primary) {
- if (!same_shadow)
- qxl_io_create_primary(qdev, 0, bo);
- bo->is_primary = true;
- }
-
- qxl_draw_dirty_fb(qdev, qfb, bo, 0, 0, &norect, 1, 1);
- }
-
- static void qxl_primary_atomic_disable(struct drm_plane *plane,
- struct drm_plane_state *old_state)
- {
- struct qxl_device *qdev = plane->dev->dev_private;
-
- if (old_state->fb) {
- struct qxl_framebuffer *qfb =
- to_qxl_framebuffer(old_state->fb);
- struct qxl_bo *bo = gem_to_qxl_bo(qfb->obj);
-
- if (bo->is_primary) {
- qxl_io_destroy_primary(qdev);
- bo->is_primary = false;
- }
- }
- }
-
- int qxl_plane_atomic_check(struct drm_plane *plane,
- struct drm_plane_state *state)
- {
- return 0;
- }
-
- static void qxl_cursor_atomic_update(struct drm_plane *plane,
- struct drm_plane_state *old_state)
- {
- struct drm_device *dev = plane->dev;
- struct qxl_device *qdev = dev->dev_private;
- struct drm_framebuffer *fb = plane->state->fb;
-+ struct qxl_crtc *qcrtc = to_qxl_crtc(plane->state->crtc);
- struct qxl_release *release;
- struct qxl_cursor_cmd *cmd;
- struct qxl_cursor *cursor;
- struct drm_gem_object *obj;
- struct qxl_bo *cursor_bo = NULL, *user_bo = NULL;
- int ret;
- void *user_ptr;
- int size = 64*64*4;
-
- ret = qxl_alloc_release_reserved(qdev, sizeof(*cmd),
- QXL_RELEASE_CURSOR_CMD,
- &release, NULL);
- if (ret)
- return;
-
- if (fb != old_state->fb) {
- obj = to_qxl_framebuffer(fb)->obj;
- user_bo = gem_to_qxl_bo(obj);
-
- /* pinning is done in the prepare/cleanup framevbuffer */
- ret = qxl_bo_kmap(user_bo, &user_ptr);
- if (ret)
- goto out_free_release;
-
- ret = qxl_alloc_bo_reserved(qdev, release,
- sizeof(struct qxl_cursor) + size,
- &cursor_bo);
- if (ret)
- goto out_kunmap;
-
- ret = qxl_release_reserve_list(release, true);
- if (ret)
- goto out_free_bo;
-
- ret = qxl_bo_kmap(cursor_bo, (void **)&cursor);
- if (ret)
- goto out_backoff;
-
- cursor->header.unique = 0;
- cursor->header.type = SPICE_CURSOR_TYPE_ALPHA;
- cursor->header.width = 64;
- cursor->header.height = 64;
- cursor->header.hot_spot_x = fb->hot_x;
- cursor->header.hot_spot_y = fb->hot_y;
- cursor->data_size = size;
- cursor->chunk.next_chunk = 0;
- cursor->chunk.prev_chunk = 0;
- cursor->chunk.data_size = size;
- memcpy(cursor->chunk.data, user_ptr, size);
- qxl_bo_kunmap(cursor_bo);
- qxl_bo_kunmap(user_bo);
-
- cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
- cmd->u.set.visible = 1;
- cmd->u.set.shape = qxl_bo_physical_address(qdev,
- cursor_bo, 0);
- cmd->type = QXL_CURSOR_SET;
-+
-+ qxl_bo_unref (&qcrtc->cursor_bo);
-+ qcrtc->cursor_bo = cursor_bo;
-+ cursor_bo = NULL;
- } else {
-
- ret = qxl_release_reserve_list(release, true);
- if (ret)
- goto out_free_release;
-
- cmd = (struct qxl_cursor_cmd *) qxl_release_map(qdev, release);
- cmd->type = QXL_CURSOR_MOVE;
- }
-
- cmd->u.position.x = plane->state->crtc_x + fb->hot_x;
- cmd->u.position.y = plane->state->crtc_y + fb->hot_y;
-
- qxl_release_unmap(qdev, release, &cmd->release_info);
- qxl_push_cursor_ring_release(qdev, release, QXL_CMD_CURSOR, false);
- qxl_release_fence_buffer_objects(release);
-
- qxl_bo_unref (&cursor_bo);
-
- return;
-
- out_backoff:
- qxl_release_backoff_reserve_list(release);
- out_free_bo:
- qxl_bo_unref(&cursor_bo);
- out_kunmap:
- qxl_bo_kunmap(user_bo);
- out_free_release:
- qxl_release_free(qdev, release);
- return;
-diff --git a/drivers/gpu/drm/qxl/qxl_drv.h b/drivers/gpu/drm/qxl/qxl_drv.h
-index b5e9dc6eebac..d3e2373ef821 100644
---- a/drivers/gpu/drm/qxl/qxl_drv.h
-+++ b/drivers/gpu/drm/qxl/qxl_drv.h
-@@ -107,60 +107,62 @@ struct qxl_bo {
- struct ttm_bo_kmap_obj kmap;
- unsigned pin_count;
- void *kptr;
- int type;
-
- /* Constant after initialization */
- struct drm_gem_object gem_base;
- bool is_primary; /* is this now a primary surface */
- bool is_dumb;
- struct qxl_bo *shadow;
- bool hw_surf_alloc;
- struct qxl_surface surf;
- uint32_t surface_id;
- struct qxl_release *surf_create;
- };
- #define gem_to_qxl_bo(gobj) container_of((gobj), struct qxl_bo, gem_base)
- #define to_qxl_bo(tobj) container_of((tobj), struct qxl_bo, tbo)
-
- struct qxl_gem {
- struct mutex mutex;
- struct list_head objects;
- };
-
- struct qxl_bo_list {
- struct ttm_validate_buffer tv;
- };
-
- struct qxl_crtc {
- struct drm_crtc base;
- int index;
-+
-+ struct qxl_bo *cursor_bo;
- };
-
- struct qxl_output {
- int index;
- struct drm_connector base;
- struct drm_encoder enc;
- };
-
- struct qxl_framebuffer {
- struct drm_framebuffer base;
- struct drm_gem_object *obj;
- };
-
- #define to_qxl_crtc(x) container_of(x, struct qxl_crtc, base)
- #define drm_connector_to_qxl_output(x) container_of(x, struct qxl_output, base)
- #define drm_encoder_to_qxl_output(x) container_of(x, struct qxl_output, enc)
- #define to_qxl_framebuffer(x) container_of(x, struct qxl_framebuffer, base)
-
- struct qxl_mman {
- struct ttm_bo_global_ref bo_global_ref;
- struct drm_global_reference mem_global_ref;
- bool mem_global_referenced;
- struct ttm_bo_device bdev;
- };
-
- struct qxl_mode_info {
- bool mode_config_initialized;
-
- /* pointer to fbdev info structure */
- struct qxl_fbdev *qfbdev;
---
-2.14.3
-
diff --git a/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch b/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch
deleted file mode 100644
index 797566c8d..000000000
--- a/freed-ora/current/f26/selinux-Generalize-support-for-NNP-nosuid-SELinux-do.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-From af63f4193f9fbbbac50fc766417d74735afd87ef Mon Sep 17 00:00:00 2001
-From: Stephen Smalley <sds@tycho.nsa.gov>
-Date: Mon, 31 Jul 2017 10:12:46 -0400
-Subject: [PATCH] selinux: Generalize support for NNP/nosuid SELinux domain
- transitions
-
-As systemd ramps up enabling NNP (NoNewPrivileges) for system services,
-it is increasingly breaking SELinux domain transitions for those services
-and their descendants. systemd enables NNP not only for services whose
-unit files explicitly specify NoNewPrivileges=yes but also for services
-whose unit files specify any of the following options in combination with
-running without CAP_SYS_ADMIN (e.g. specifying User= or a
-CapabilityBoundingSet= without CAP_SYS_ADMIN): SystemCallFilter=,
-SystemCallArchitectures=, RestrictAddressFamilies=, RestrictNamespaces=,
-PrivateDevices=, ProtectKernelTunables=, ProtectKernelModules=,
-MemoryDenyWriteExecute=, or RestrictRealtime= as per the systemd.exec(5)
-man page.
-
-The end result is bad for the security of both SELinux-disabled and
-SELinux-enabled systems. Packagers have to turn off these
-options in the unit files to preserve SELinux domain transitions. For
-users who choose to disable SELinux, this means that they miss out on
-at least having the systemd-supported protections. For users who keep
-SELinux enabled, they may still be missing out on some protections
-because it isn't necessarily guaranteed that the SELinux policy for
-that service provides the same protections in all cases.
-
-commit 7b0d0b40cd78 ("selinux: Permit bounded transitions under
-NO_NEW_PRIVS or NOSUID.") allowed bounded transitions under NNP in
-order to support limited usage for sandboxing programs. However,
-defining typebounds for all of the affected service domains
-is impractical to implement in policy, since typebounds requires us
-to ensure that each domain is allowed everything all of its descendant
-domains are allowed, and this has to be repeated for the entire chain
-of domain transitions. There is no way to clone all allow rules from
-descendants to their ancestors in policy currently, and doing so would
-be undesirable even if it were practical, as it requires leaking
-permissions to objects and operations into ancestor domains that could
-weaken their own security in order to allow them to the descendants
-(e.g. if a descendant requires execmem permission, then so do all of
-its ancestors; if a descendant requires execute permission to a file,
-then so do all of its ancestors; if a descendant requires read to a
-symbolic link or temporary file, then so do all of its ancestors...).
-SELinux domains are intentionally not hierarchical / bounded in this
-manner normally, and making them so would undermine their protections
-and least privilege.
-
-We have long had a similar tension with SELinux transitions and nosuid
-mounts, albeit not as severe. Users often have had to choose between
-retaining nosuid on a mount and allowing SELinux domain transitions on
-files within those mounts. This likewise leads to unfortunate tradeoffs
-in security.
-
-Decouple NNP/nosuid from SELinux transitions, so that we don't have to
-make a choice between them. Introduce a nnp_nosuid_transition policy
-capability that enables transitions under NNP/nosuid to be based on
-a permission (nnp_transition for NNP; nosuid_transition for nosuid)
-between the old and new contexts in addition to the current support
-for bounded transitions. Domain transitions can then be allowed in
-policy without requiring the parent to be a strict superset of all of
-its children.
-
-With this change, systemd unit files can be left unmodified from upstream.
-SELinux-disabled and SELinux-enabled users will benefit from retaining any
-of the systemd-provided protections. SELinux policy will only need to
-be adapted to enable the new policy capability and to allow the
-new permissions between domain pairs as appropriate.
-
-NB: Allowing nnp_transition between two contexts opens up the potential
-for the old context to subvert the new context by installing seccomp
-filters before the execve. Allowing nosuid_transition between two contexts
-opens up the potential for a context transition to occur on a file from
-an untrusted filesystem (e.g. removable media or remote filesystem). Use
-with care.
-
-Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
-Signed-off-by: Paul Moore <paul@paul-moore.com>
----
- security/selinux/hooks.c | 47 +++++++++++++++++++++++++------------
- security/selinux/include/classmap.h | 2 ++
- security/selinux/include/security.h | 2 ++
- security/selinux/ss/services.c | 7 +++++-
- 4 files changed, 42 insertions(+), 16 deletions(-)
-
-diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
-index 00ad46e166f6..04b8e1082c9a 100644
---- a/security/selinux/hooks.c
-+++ b/security/selinux/hooks.c
-@@ -2318,6 +2318,7 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm,
- int nnp = (bprm->unsafe & LSM_UNSAFE_NO_NEW_PRIVS);
- int nosuid = !mnt_may_suid(bprm->file->f_path.mnt);
- int rc;
-+ u32 av;
-
- if (!nnp && !nosuid)
- return 0; /* neither NNP nor nosuid */
-@@ -2326,24 +2327,40 @@ static int check_nnp_nosuid(const struct linux_binprm *bprm,
- return 0; /* No change in credentials */
-
- /*
-- * The only transitions we permit under NNP or nosuid
-- * are transitions to bounded SIDs, i.e. SIDs that are
-- * guaranteed to only be allowed a subset of the permissions
-- * of the current SID.
-+ * If the policy enables the nnp_nosuid_transition policy capability,
-+ * then we permit transitions under NNP or nosuid if the
-+ * policy allows the corresponding permission between
-+ * the old and new contexts.
- */
-- rc = security_bounded_transition(old_tsec->sid, new_tsec->sid);
-- if (rc) {
-- /*
-- * On failure, preserve the errno values for NNP vs nosuid.
-- * NNP: Operation not permitted for caller.
-- * nosuid: Permission denied to file.
-- */
-+ if (selinux_policycap_nnp_nosuid_transition) {
-+ av = 0;
- if (nnp)
-- return -EPERM;
-- else
-- return -EACCES;
-+ av |= PROCESS2__NNP_TRANSITION;
-+ if (nosuid)
-+ av |= PROCESS2__NOSUID_TRANSITION;
-+ rc = avc_has_perm(old_tsec->sid, new_tsec->sid,
-+ SECCLASS_PROCESS2, av, NULL);
-+ if (!rc)
-+ return 0;
- }
-- return 0;
-+
-+ /*
-+ * We also permit NNP or nosuid transitions to bounded SIDs,
-+ * i.e. SIDs that are guaranteed to only be allowed a subset
-+ * of the permissions of the current SID.
-+ */
-+ rc = security_bounded_transition(old_tsec->sid, new_tsec->sid);
-+ if (!rc)
-+ return 0;
-+
-+ /*
-+ * On failure, preserve the errno values for NNP vs nosuid.
-+ * NNP: Operation not permitted for caller.
-+ * nosuid: Permission denied to file.
-+ */
-+ if (nnp)
-+ return -EPERM;
-+ return -EACCES;
- }
-
- static int selinux_bprm_set_creds(struct linux_binprm *bprm)
-diff --git a/security/selinux/include/classmap.h b/security/selinux/include/classmap.h
-index b9fe3434b036..35ffb29a69cb 100644
---- a/security/selinux/include/classmap.h
-+++ b/security/selinux/include/classmap.h
-@@ -48,6 +48,8 @@ struct security_class_mapping secclass_map[] = {
- "setrlimit", "rlimitinh", "dyntransition", "setcurrent",
- "execmem", "execstack", "execheap", "setkeycreate",
- "setsockcreate", "getrlimit", NULL } },
-+ { "process2",
-+ { "nnp_transition", "nosuid_transition", NULL } },
- { "system",
- { "ipc_info", "syslog_read", "syslog_mod",
- "syslog_console", "module_request", "module_load", NULL } },
-diff --git a/security/selinux/include/security.h b/security/selinux/include/security.h
-index e91f08c16c0b..3e323179159a 100644
---- a/security/selinux/include/security.h
-+++ b/security/selinux/include/security.h
-@@ -73,6 +73,7 @@ enum {
- POLICYDB_CAPABILITY_EXTSOCKCLASS,
- POLICYDB_CAPABILITY_ALWAYSNETWORK,
- POLICYDB_CAPABILITY_CGROUPSECLABEL,
-+ POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION,
- __POLICYDB_CAPABILITY_MAX
- };
- #define POLICYDB_CAPABILITY_MAX (__POLICYDB_CAPABILITY_MAX - 1)
-@@ -84,6 +85,7 @@ extern int selinux_policycap_openperm;
- extern int selinux_policycap_extsockclass;
- extern int selinux_policycap_alwaysnetwork;
- extern int selinux_policycap_cgroupseclabel;
-+extern int selinux_policycap_nnp_nosuid_transition;
-
- /*
- * type_datum properties
-diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
-index 2f02fa67ec2e..16c55de21b9f 100644
---- a/security/selinux/ss/services.c
-+++ b/security/selinux/ss/services.c
-@@ -76,7 +76,8 @@ char *selinux_policycap_names[__POLICYDB_CAPABILITY_MAX] = {
- "open_perms",
- "extended_socket_class",
- "always_check_network",
-- "cgroup_seclabel"
-+ "cgroup_seclabel",
-+ "nnp_nosuid_transition"
- };
-
- int selinux_policycap_netpeer;
-@@ -84,6 +85,7 @@ int selinux_policycap_openperm;
- int selinux_policycap_extsockclass;
- int selinux_policycap_alwaysnetwork;
- int selinux_policycap_cgroupseclabel;
-+int selinux_policycap_nnp_nosuid_transition;
-
- static DEFINE_RWLOCK(policy_rwlock);
-
-@@ -2009,6 +2011,9 @@ static void security_load_policycaps(void)
- selinux_policycap_cgroupseclabel =
- ebitmap_get_bit(&policydb.policycaps,
- POLICYDB_CAPABILITY_CGROUPSECLABEL);
-+ selinux_policycap_nnp_nosuid_transition =
-+ ebitmap_get_bit(&policydb.policycaps,
-+ POLICYDB_CAPABILITY_NNP_NOSUID_TRANSITION);
-
- for (i = 0; i < ARRAY_SIZE(selinux_policycap_names); i++)
- pr_info("SELinux: policy capability %s=%d\n",
---
-2.14.3
-
diff --git a/freed-ora/current/f26/silence-fbcon-logo.patch b/freed-ora/current/f26/silence-fbcon-logo.patch
index b8f099679..2054b3c6b 100644
--- a/freed-ora/current/f26/silence-fbcon-logo.patch
+++ b/freed-ora/current/f26/silence-fbcon-logo.patch
@@ -6,13 +6,13 @@ Subject: [PATCH] silence fbcon logo
Bugzilla: N/A
Upstream-status: Fedora mustard
---
- drivers/video/console/fbcon.c | 26 +++++++++++++++++++-------
+ drivers/video/fbdev/core/fbcon.c | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
-diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
+diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index afd3301ac40c..2e08ba0ade3e 100644
---- a/drivers/video/console/fbcon.c
-+++ b/drivers/video/console/fbcon.c
+--- a/drivers/video/fbdev/core/fbcon.c
++++ b/drivers/video/fbdev/core/fbcon.c
@@ -634,13 +634,15 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
kfree(save);
}
@@ -36,10 +36,11 @@ index afd3301ac40c..2e08ba0ade3e 100644
}
}
#endif /* MODULE */
-@@ -3654,6 +3656,16 @@ static void __exit fb_console_exit(void)
-
- module_exit(fb_console_exit);
-
+@@ -3671,4 +3671,15 @@ void __exit fb_console_exit(void)
+ do_unregister_con_driver(&fb_con);
+ console_unlock();
+ }
++
+#else
+
+static int __init quiet_logo(char *str)
@@ -51,8 +52,6 @@ index afd3301ac40c..2e08ba0ade3e 100644
+early_param("quiet", quiet_logo);
+
#endif
-
- MODULE_LICENSE("GPL");
--
2.7.4
diff --git a/freed-ora/current/f26/sources b/freed-ora/current/f26/sources
index bc8cdd7ac..d7f582b6f 100644
--- a/freed-ora/current/f26/sources
+++ b/freed-ora/current/f26/sources
@@ -1,3 +1,3 @@
-SHA512 (linux-libre-4.13-gnu.tar.xz) = 9ad6866c68f29f7e4f8b53d0b857f9b3c7f6abd0054460675c76f3100db34a77c2777d7f4191831008b532cb2ab6f686d8c4f457a4d005226c73f90937963518
-SHA512 (perf-man-4.13.tar.gz) = 9bcc2cd8e56ec583ed2d8e0b0c88e7a94035a1915e40b3177bb02d6c0f10ddd4df9b097b1f5af59efc624226b613e240ddba8ddc2156f3682f992d5455fc5c03
-SHA512 (patch-4.13-gnu-4.13.16-gnu.xz) = 751c29a56114586cdbda0a6faafff97dfefa3e5a8f9d3e93bd1a37b7d9e5d9db5c9a574e601e252ea3d61ad9d4ce4544ff1d6a31ce12aaba7c4333296979f40a
+SHA512 (linux-libre-4.14-gnu.tar.xz) = 0d4b0b8ec1ffc39c59295adf56f6a2cccf77cad56d8a8bf8072624bbb52ba3e684147ebed91d1528d2685423dd784c5fca0f3650f874f2b93cfc6b7689b9a87f
+SHA512 (perf-man-4.14.tar.gz) = 76a9d8adc284cdffd4b3fbb060e7f9a14109267707ce1d03f4c3239cd70d8d164f697da3a0f90a363fbcac42a61d3c378afbcc2a86f112c501b9cb5ce74ef9f8
+SHA512 (patch-4.14-gnu-4.14.4-gnu.xz) = 36e1d7b03568436dab3a0fcbd37f57902f726bfb518fbe00faccb9cea6ecd1a56a063f35d88f2e9fb0f5aa750f787f9df3ce553a047c45329aa37a1e0060624a
diff --git a/freed-ora/current/f26/v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch b/freed-ora/current/f26/v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch
deleted file mode 100644
index 5a8825793..000000000
--- a/freed-ora/current/f26/v3-1-2-Input-synaptics-rmi4---RMI4-can-also-use-SMBUS-version-3.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From patchwork Sun Nov 5 17:09:50 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v3,1/2] Input: synaptics-rmi4 - RMI4 can also use SMBUS version 3
-From: Yiannis Marangos <yiannis.marangos@gmail.com>
-X-Patchwork-Id: 10042385
-Message-Id: <20171105170951.20261-2-yiannis.marangos@gmail.com>
-To: linux-input@vger.kernel.org, dmitry.torokhov@gmail.com
-Cc: Yiannis Marangos <yiannis.marangos@gmail.com>
-Date: Sun, 5 Nov 2017 19:09:50 +0200
-
-Some synaptics devices such as LEN0073 use SMBUS version 3.
-
-Signed-off-by: Yiannis Marangos <yiannis.marangos@gmail.com>
-Acked-by: Benjamin Tissoires <benjamion.tissoires@redhat.com>
----
- drivers/input/rmi4/rmi_smbus.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c
-index 225025a0940c..b6ccf39c6a7b 100644
---- a/drivers/input/rmi4/rmi_smbus.c
-+++ b/drivers/input/rmi4/rmi_smbus.c
-@@ -312,7 +312,7 @@ static int rmi_smb_probe(struct i2c_client *client,
- rmi_smb->xport.dev = &client->dev;
- rmi_smb->xport.pdata = *pdata;
- rmi_smb->xport.pdata.irq = client->irq;
-- rmi_smb->xport.proto_name = "smb2";
-+ rmi_smb->xport.proto_name = "smb";
- rmi_smb->xport.ops = &rmi_smb_ops;
-
- smbus_version = rmi_smb_get_version(rmi_smb);
-@@ -322,7 +322,7 @@ static int rmi_smb_probe(struct i2c_client *client,
- rmi_dbg(RMI_DEBUG_XPORT, &client->dev, "Smbus version is %d",
- smbus_version);
-
-- if (smbus_version != 2) {
-+ if (smbus_version != 2 && smbus_version != 3) {
- dev_err(&client->dev, "Unrecognized SMB version %d\n",
- smbus_version);
- return -ENODEV;
OpenPOWER on IntegriCloud