Hi All,
For the last couple of months I've been working on improving Linux support for Intel Bay and Cherry Trail devices as a spare-time project.
A lot of my changes for this have landed in the 4.12 kernel, see: http://hansdegoede.livejournal.com/
The proposed config changes enable various drivers to make these improvements available for Fedora users.
Most of these changes just enable modules, but there is one change which also impacts non Bay and Cherry Trail x86_64 users, the proposed changes also change the I2C_DESIGNWARE controller options from module to built-in. This is necessary because Bay and Cherry Trail devices use an i2c attached PMIC which provides an ACPI OpRegion and this OpRegion must be available before any devices with _PS0 or _PS3 methods which use this OpRegion get their drivers bound to them.
I'm not expecting any side-effects from this change, but I wanted to point this out just in case.
Unless there are objections against these changes I plan to push them to the master branch around the end of next week.
I also plan to add some small isolated code-fixes which missed 4.12, and have been queued up for 4.13.
Regards,
Hans
--- baseconfig/x86/x86_64/CONFIG_AK8975 | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_POWER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE | 1 + baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 | 1 + baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI | 1 + .../x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C | 1 + baseconfig/x86/x86_64/CONFIG_SILEAD_DMI | 1 + baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION | 1 + kernel-x86_64-debug.config | 39 ++++++++++++++-------- kernel-x86_64.config | 39 ++++++++++++++-------- kernel.spec | 5 +++ 31 files changed, 85 insertions(+), 26 deletions(-) create mode 100644 baseconfig/x86/x86_64/CONFIG_AK8975 create mode 100644 baseconfig/x86/x86_64/CONFIG_AXP20X_ADC create mode 100644 baseconfig/x86/x86_64/CONFIG_AXP20X_POWER create mode 100644 baseconfig/x86/x86_64/CONFIG_AXP288_ADC create mode 100644 baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER create mode 100644 baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE create mode 100644 baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 create mode 100644 baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 create mode 100644 baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO create mode 100644 baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 create mode 100644 baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE create mode 100644 baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI create mode 100644 baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM create mode 100644 baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK create mode 100644 baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C create mode 100644 baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO create mode 100644 baseconfig/x86/x86_64/CONFIG_MFD_AXP20X create mode 100644 baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C create mode 100644 baseconfig/x86/x86_64/CONFIG_SILEAD_DMI create mode 100644 baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM create mode 100644 baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION
diff --git a/baseconfig/x86/x86_64/CONFIG_AK8975 b/baseconfig/x86/x86_64/CONFIG_AK8975 new file mode 100644 index 00000000..547c21a9 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AK8975 @@ -0,0 +1 @@ +CONFIG_AK8975=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC b/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC new file mode 100644 index 00000000..0960ee66 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP20X_ADC @@ -0,0 +1 @@ +# CONFIG_AXP20X_ADC is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER b/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER new file mode 100644 index 00000000..e02cee70 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP20X_POWER @@ -0,0 +1 @@ +# CONFIG_AXP20X_POWER is not set diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_ADC b/baseconfig/x86/x86_64/CONFIG_AXP288_ADC new file mode 100644 index 00000000..e138f36a --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_ADC @@ -0,0 +1 @@ +CONFIG_AXP288_ADC=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER b/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER new file mode 100644 index 00000000..0418f962 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER @@ -0,0 +1 @@ +CONFIG_AXP288_CHARGER=m diff --git a/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE b/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE new file mode 100644 index 00000000..e171b954 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE @@ -0,0 +1 @@ +CONFIG_AXP288_FUEL_GAUGE=m diff --git a/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 b/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 new file mode 100644 index 00000000..669e6ac2 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 @@ -0,0 +1 @@ +CONFIG_BATTERY_MAX17042=m diff --git a/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 b/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 new file mode 100644 index 00000000..3128bb67 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 @@ -0,0 +1 @@ +CONFIG_CHARGER_BQ24190=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON b/baseconfig/x86/x86_64/CONFIG_EXTCON new file mode 100644 index 00000000..0a7190c0 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON @@ -0,0 +1 @@ +CONFIG_EXTCON=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 b/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 new file mode 100644 index 00000000..7fadeb58 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 @@ -0,0 +1 @@ +CONFIG_EXTCON_AXP288=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO b/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO new file mode 100644 index 00000000..87ca2bd0 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_GPIO is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 b/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 new file mode 100644 index 00000000..3f6c5d6f --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 @@ -0,0 +1 @@ +CONFIG_EXTCON_INTEL_INT3496=m diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 b/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 new file mode 100644 index 00000000..680b5a77 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 @@ -0,0 +1 @@ +# CONFIG_EXTCON_MAX3355 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A b/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A new file mode 100644 index 00000000..e5f7236c --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A @@ -0,0 +1 @@ +# CONFIG_EXTCON_RT8973A is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 b/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 new file mode 100644 index 00000000..916994aa --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 @@ -0,0 +1 @@ +# CONFIG_EXTCON_SM5502 is not set diff --git a/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO b/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO new file mode 100644 index 00000000..7a0c9af3 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO @@ -0,0 +1 @@ +# CONFIG_EXTCON_USB_GPIO is not set diff --git a/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 new file mode 100644 index 00000000..2365ae70 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 @@ -0,0 +1 @@ +CONFIG_GPIO_AXP209=m diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE new file mode 100644 index 00000000..f9cdc633 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_CORE=y diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI new file mode 100644 index 00000000..6103f947 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_PCI=y diff --git a/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM new file mode 100644 index 00000000..3d50a3e8 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_PLATFORM=y diff --git a/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK b/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK new file mode 100644 index 00000000..e2fbdf90 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK @@ -0,0 +1 @@ +CONFIG_INPUT_AXP20X_PEK=m diff --git a/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C new file mode 100644 index 00000000..8ec049b0 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C @@ -0,0 +1 @@ +CONFIG_INV_MPU6050_I2C=m diff --git a/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO new file mode 100644 index 00000000..ae4889d9 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO @@ -0,0 +1 @@ +CONFIG_INV_MPU6050_IIO=m diff --git a/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X new file mode 100644 index 00000000..ada79c0d --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X @@ -0,0 +1 @@ +CONFIG_MFD_AXP20X=y diff --git a/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C new file mode 100644 index 00000000..22c60295 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C @@ -0,0 +1 @@ +CONFIG_MFD_AXP20X_I2C=y diff --git a/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI b/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI new file mode 100644 index 00000000..25b01735 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_SILEAD_DMI @@ -0,0 +1 @@ +CONFIG_SILEAD_DMI=y diff --git a/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM b/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM new file mode 100644 index 00000000..060ebfc9 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM @@ -0,0 +1 @@ +CONFIG_USB_XHCI_PLATFORM=m diff --git a/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION b/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION new file mode 100644 index 00000000..8c98df14 --- /dev/null +++ b/baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION @@ -0,0 +1 @@ +CONFIG_XPOWER_PMIC_OPREGION=y diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config index 08b52a89..d8d38c8e 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug.config @@ -192,7 +192,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALIENWARE_WMI=m CONFIG_ALI_FIR=m @@ -326,6 +326,11 @@ CONFIG_AUXDISPLAY=y # CONFIG_AVERAGE is not set CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m +# CONFIG_AXP20X_ADC is not set +# CONFIG_AXP20X_POWER is not set +CONFIG_AXP288_ADC=m +CONFIG_AXP288_CHARGER=m +CONFIG_AXP288_FUEL_GAUGE=m CONFIG_B43_BCMA_PIO=y CONFIG_B43_BCMA=y CONFIG_B43_DEBUG=y @@ -385,7 +390,7 @@ CONFIG_BATMAN_ADV_NC=y # 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_MAX17042=m # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -699,7 +704,7 @@ CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_SCHED=y CONFIG_CGROUPS=y # CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set +CONFIG_CHARGER_BQ24190=m # CONFIG_CHARGER_BQ24257 is not set # CONFIG_CHARGER_BQ24735 is not set # CONFIG_CHARGER_BQ25890 is not set @@ -1397,10 +1402,16 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_AXP288=m +# CONFIG_EXTCON_GPIO is not set CONFIG_EXTCON_INTEL_CHT_WC=y CONFIG_EXTCON_INTEL_INT3496=m -# CONFIG_EXTCON is not set +CONFIG_EXTCON=m +# 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_EXTRA_FIRMWARE="" # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1617,6 +1628,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_AXP209=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set @@ -1903,10 +1915,10 @@ CONFIG_I2C_COMPAT=y # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set CONFIG_I2C_DESIGNWARE_BAYTRAIL=y -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_PCI=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set @@ -2086,6 +2098,7 @@ CONFIG_INPUT_APANEL=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_ATLAS_BTNS=m # CONFIG_INPUT_ATMEL_CAPTOUCH is not set +CONFIG_INPUT_AXP20X_PEK=m # CONFIG_INPUT_BMA150 is not set CONFIG_INPUT_CM109=m CONFIG_INPUT_CMA3000_I2C=m @@ -2184,8 +2197,8 @@ CONFIG_INTEL_TXT=y CONFIG_INTEL_VBTN=m 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_I2C=m +CONFIG_INV_MPU6050_IIO=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_DEBUG is not set # CONFIG_IOMMU_STRESS is not set @@ -2864,8 +2877,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # 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_AXP20X_I2C=y +CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set @@ -4695,7 +4708,7 @@ CONFIG_SH_ETH=m # CONFIG_SIGMA is not set CONFIG_SIGMATEL_FIR=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y -# CONFIG_SILEAD_DMI is not set +CONFIG_SILEAD_DMI=y CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5731,7 +5744,7 @@ CONFIG_USB_WDM=m CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_PLATFORM is not set +CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_XUSBATM=m CONFIG_USB=y CONFIG_USB_YUREX=m diff --git a/kernel-x86_64.config b/kernel-x86_64.config index 9fedd204..abcc8bb4 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -192,7 +192,7 @@ CONFIG_AIC7XXX_RESET_DELAY_MS=15000 CONFIG_AIX_PARTITION=y # CONFIG_AK09911 is not set # CONFIG_AK8974 is not set -# CONFIG_AK8975 is not set +CONFIG_AK8975=m # CONFIG_AL3320A is not set CONFIG_ALIENWARE_WMI=m CONFIG_ALI_FIR=m @@ -325,6 +325,11 @@ CONFIG_AUXDISPLAY=y # CONFIG_AVERAGE is not set CONFIG_AX25_DAMA_SLAVE=y CONFIG_AX25=m +# CONFIG_AXP20X_ADC is not set +# CONFIG_AXP20X_POWER is not set +CONFIG_AXP288_ADC=m +CONFIG_AXP288_CHARGER=m +CONFIG_AXP288_FUEL_GAUGE=m CONFIG_B43_BCMA_PIO=y CONFIG_B43_BCMA=y CONFIG_B43_DEBUG=y @@ -384,7 +389,7 @@ CONFIG_BATMAN_ADV_NC=y # 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_MAX17042=m # CONFIG_BATTERY_SBS is not set CONFIG_BAYCOM_EPP=m CONFIG_BAYCOM_PAR=m @@ -698,7 +703,7 @@ CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_SCHED=y CONFIG_CGROUPS=y # CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set +CONFIG_CHARGER_BQ24190=m # CONFIG_CHARGER_BQ24257 is not set # CONFIG_CHARGER_BQ24735 is not set # CONFIG_CHARGER_BQ25890 is not set @@ -1386,10 +1391,16 @@ CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y # CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_AXP288=m +# CONFIG_EXTCON_GPIO is not set CONFIG_EXTCON_INTEL_CHT_WC=y CONFIG_EXTCON_INTEL_INT3496=m -# CONFIG_EXTCON is not set +CONFIG_EXTCON=m +# 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_EXTRA_FIRMWARE="" # CONFIG_EZNPS_GIC is not set # CONFIG_EZX_PCAP is not set @@ -1599,6 +1610,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_AXP209=m # CONFIG_GPIO_BT8XX is not set CONFIG_GPIO_CRYSTAL_COVE=y # CONFIG_GPIO_CS5535 is not set @@ -1885,10 +1897,10 @@ CONFIG_I2C_COMPAT=y # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEMUX_PINCTRL is not set CONFIG_I2C_DESIGNWARE_BAYTRAIL=y -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_PCI=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_DIOLAN_U2C=m # CONFIG_I2C_EG20T is not set # CONFIG_I2C_EMEV2 is not set @@ -2068,6 +2080,7 @@ CONFIG_INPUT_APANEL=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_ATLAS_BTNS=m # CONFIG_INPUT_ATMEL_CAPTOUCH is not set +CONFIG_INPUT_AXP20X_PEK=m # CONFIG_INPUT_BMA150 is not set CONFIG_INPUT_CM109=m CONFIG_INPUT_CMA3000_I2C=m @@ -2166,8 +2179,8 @@ CONFIG_INTEL_TXT=y CONFIG_INTEL_VBTN=m 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_I2C=m +CONFIG_INV_MPU6050_IIO=m # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IOMMU_DEBUG is not set # CONFIG_IOMMU_STRESS is not set @@ -2844,8 +2857,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # 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_AXP20X_I2C=y +CONFIG_MFD_AXP20X=y # CONFIG_MFD_BCM590XX is not set CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set @@ -4674,7 +4687,7 @@ CONFIG_SH_ETH=m # CONFIG_SIGMA is not set CONFIG_SIGMATEL_FIR=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y -# CONFIG_SILEAD_DMI is not set +CONFIG_SILEAD_DMI=y CONFIG_SIS190=m CONFIG_SIS900=m # CONFIG_SKFP is not set @@ -5709,7 +5722,7 @@ CONFIG_USB_WDM=m CONFIG_USB_WUSB_CBAF=m CONFIG_USB_WUSB=m CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_PLATFORM is not set +CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_XUSBATM=m CONFIG_USB=y CONFIG_USB_YUREX=m diff --git a/kernel.spec b/kernel.spec index 3cb67fd1..6d93d2a7 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2165,6 +2165,11 @@ fi # # %changelog +* Wed Jun 14 2017 Hans de Goede jwrdegoede@fedoraproject.org +- Enable AXP288 PMIC support on x86_64 for battery charging and monitoring + support on Bay and Cherry Trail tablets and laptops +- Enable various drivers for peripherals found on Bay and Cherry Trail tablets + * Mon Jun 12 2017 Justin M. Forbes jforbes@fedoraproject.org - 4.12.0-0.rc5.git0.1 - Linux v4.12-rc5 - Disable debugging options.
On 2017-06-16 18:13, Hans de Goede wrote:
baseconfig/x86/x86_64/CONFIG_AK8975 | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_POWER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE | 1 + baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 | 1 + baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI | 1 + .../x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C | 1 + baseconfig/x86/x86_64/CONFIG_SILEAD_DMI | 1 + baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION | 1 + kernel-x86_64-debug.config | 39 ++++++++++++++-------- kernel-x86_64.config | 39 ++++++++++++++-------- kernel.spec | 5 +++
Hi Hans,
thanks for making this change. I've been hoping for this for quite a while now. I see you've only enabled the AXP288 on x86_64 which means all baytrail devices, which are 32bit are left out. Could you apply those changes to i686 as well?
Thanks!
Stefan
Hi,
On 28-06-17 16:48, Stefan Assmann wrote:
On 2017-06-16 18:13, Hans de Goede wrote:
baseconfig/x86/x86_64/CONFIG_AK8975 | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_POWER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE | 1 + baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 | 1 + baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI | 1 + .../x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C | 1 + baseconfig/x86/x86_64/CONFIG_SILEAD_DMI | 1 + baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION | 1 + kernel-x86_64-debug.config | 39 ++++++++++++++-------- kernel-x86_64.config | 39 ++++++++++++++-------- kernel.spec | 5 +++
Hi Hans,
thanks for making this change. I've been hoping for this for quite a while now. I see you've only enabled the AXP288 on x86_64 which means all baytrail devices, which are 32bit are left out. Could you apply those changes to i686 as well?
Bay Trail devices are 64 bit devices with a 32 bit UEFI BIOS, Fedora does not support 32 bit UEFI booting (AFAIK), but work is under way for F27 to support booting 64 bits Fedora on a 32 bit UEFI BIOS using a 32 bit grub2-efi which loads a 64 bits kernel.
I'm already using this setup, what I do is I boot from an USB SSD with a 64 bit install on which I've copied a manually build 32 bit EFI capable grub, and then manually format the Bay Trail device and just copy the entire filesystem over manually. For F27 the plan is to have the 32 bit grub build included on the 64 bit media, as well as have anaconda automatically deal with all this.
Regards,
Hans
On 2017-06-28 17:09, Hans de Goede wrote:
Hi,
On 28-06-17 16:48, Stefan Assmann wrote:
On 2017-06-16 18:13, Hans de Goede wrote:
baseconfig/x86/x86_64/CONFIG_AK8975 | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_POWER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE | 1 + baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 | 1 + baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI | 1 + .../x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C | 1 + baseconfig/x86/x86_64/CONFIG_SILEAD_DMI | 1 + baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION | 1 + kernel-x86_64-debug.config | 39 ++++++++++++++-------- kernel-x86_64.config | 39 ++++++++++++++-------- kernel.spec | 5 +++
Hi Hans,
thanks for making this change. I've been hoping for this for quite a while now. I see you've only enabled the AXP288 on x86_64 which means all baytrail devices, which are 32bit are left out. Could you apply those changes to i686 as well?
Bay Trail devices are 64 bit devices with a 32 bit UEFI BIOS, Fedora does not support 32 bit UEFI booting (AFAIK), but work is under way for F27 to support booting 64 bits Fedora on a 32 bit UEFI BIOS using a 32 bit grub2-efi which loads a 64 bits kernel.
Any pointers on how to rebuild grub in the correct way?
I'm already using this setup, what I do is I boot from an USB SSD with a 64 bit install on which I've copied a manually build 32 bit EFI capable grub, and then manually format the Bay Trail device and just copy the entire filesystem over manually. For F27 the plan is to have the 32 bit grub build included on the 64 bit media, as well as have anaconda automatically deal with all this.
Nice, thanks for letting me know. I'm currently running on 32bit.
Stefan
HI,
On 28-06-17 17:18, Stefan Assmann wrote:
On 2017-06-28 17:09, Hans de Goede wrote:
Hi,
On 28-06-17 16:48, Stefan Assmann wrote:
On 2017-06-16 18:13, Hans de Goede wrote:
baseconfig/x86/x86_64/CONFIG_AK8975 | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP20X_POWER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_ADC | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_CHARGER | 1 + baseconfig/x86/x86_64/CONFIG_AXP288_FUEL_GAUGE | 1 + baseconfig/x86/x86_64/CONFIG_BATTERY_MAX17042 | 1 + baseconfig/x86/x86_64/CONFIG_CHARGER_BQ24190 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_AXP288 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_INTEL_INT3496 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_MAX3355 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_RT8973A | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_SM5502 | 1 + baseconfig/x86/x86_64/CONFIG_EXTCON_USB_GPIO | 1 + baseconfig/x86/x86_64/CONFIG_GPIO_AXP209 | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_CORE | 1 + baseconfig/x86/x86_64/CONFIG_I2C_DESIGNWARE_PCI | 1 + .../x86/x86_64/CONFIG_I2C_DESIGNWARE_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_INPUT_AXP20X_PEK | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_I2C | 1 + baseconfig/x86/x86_64/CONFIG_INV_MPU6050_IIO | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X | 1 + baseconfig/x86/x86_64/CONFIG_MFD_AXP20X_I2C | 1 + baseconfig/x86/x86_64/CONFIG_SILEAD_DMI | 1 + baseconfig/x86/x86_64/CONFIG_USB_XHCI_PLATFORM | 1 + baseconfig/x86/x86_64/CONFIG_XPOWER_PMIC_OPREGION | 1 + kernel-x86_64-debug.config | 39 ++++++++++++++-------- kernel-x86_64.config | 39 ++++++++++++++-------- kernel.spec | 5 +++
Hi Hans,
thanks for making this change. I've been hoping for this for quite a while now. I see you've only enabled the AXP288 on x86_64 which means all baytrail devices, which are 32bit are left out. Could you apply those changes to i686 as well?
Bay Trail devices are 64 bit devices with a 32 bit UEFI BIOS, Fedora does not support 32 bit UEFI booting (AFAIK), but work is under way for F27 to support booting 64 bits Fedora on a 32 bit UEFI BIOS using a 32 bit grub2-efi which loads a 64 bits kernel.
Any pointers on how to rebuild grub in the correct way?
I'm currently using the grub binaries from RHEL-7.4, which adds support for this (yes RHEL got support for this first), but I started with local build binaries following one of the many tutorials on the net (don't remember which one, sorry).
I'm already using this setup, what I do is I boot from an USB SSD with a 64 bit install on which I've copied a manually build 32 bit EFI capable grub, and then manually format the Bay Trail device and just copy the entire filesystem over manually. For F27 the plan is to have the 32 bit grub build included on the 64 bit media, as well as have anaconda automatically deal with all this.
Nice, thanks for letting me know. I'm currently running on 32bit.
So you're running a 32 bit Fedora? Interesting I did not know we support 32 bit UEFI systems in Fedora.
Regards,
Hans
On Thu, Jun 29, 2017 at 3:46 PM, Hans de Goede hdegoede@redhat.com wrote:
So you're running a 32 bit Fedora? Interesting I did not know we
support 32 bit UEFI systems in Fedora.
Adam Williamson's Fedlet installer was 32-bit. When Adam got busy doing other things, I built a few of my own 32-bit kernels from the Fedora source package for my ASUS T100TA. When I ran into some issues I couldn't resolve, I installed 64-bit Debian 8-something using the Multiarch installer, and I update the kernel once in a while from the ASUS T100TA Google Group (an unofficial Ubuntu effort). Looking forward to 4.12.
Mike
On 2017-06-29 21:46, Hans de Goede wrote:
HI,
On 28-06-17 17:18, Stefan Assmann wrote:
On 2017-06-28 17:09, Hans de Goede wrote:
On 28-06-17 16:48, Stefan Assmann wrote:
On 2017-06-16 18:13, Hans de Goede wrote:
[...]
I'm already using this setup, what I do is I boot from an USB SSD with a 64 bit install on which I've copied a manually build 32 bit EFI capable grub, and then manually format the Bay Trail device and just copy the entire filesystem over manually. For F27 the plan is to have the 32 bit grub build included on the 64 bit media, as well as have anaconda automatically deal with all this.
Nice, thanks for letting me know. I'm currently running on 32bit.
So you're running a 32 bit Fedora? Interesting I did not know we support 32 bit UEFI systems in Fedora.
We do not. I started with fedlet from adamw. https://www.happyassassin.net/fedlet-a-fedora-remix-for-bay-trail-tablets/ and by now I turned that install into a working 32bit f25.
Stefan
On 06/16/2017 09:13 AM, Hans de Goede wrote:
Hi All,
For the last couple of months I've been working on improving Linux support for Intel Bay and Cherry Trail devices as a spare-time project.
A lot of my changes for this have landed in the 4.12 kernel, see: http://hansdegoede.livejournal.com/
The proposed config changes enable various drivers to make these improvements available for Fedora users.
Most of these changes just enable modules, but there is one change which also impacts non Bay and Cherry Trail x86_64 users, the proposed changes also change the I2C_DESIGNWARE controller options from module to built-in. This is necessary because Bay and Cherry Trail devices use an i2c attached PMIC which provides an ACPI OpRegion and this OpRegion must be available before any devices with _PS0 or _PS3 methods which use this OpRegion get their drivers bound to them.
I'm not expecting any side-effects from this change, but I wanted to point this out just in case.
I thought there had previously been discussion about why we can't have it built in but I have been unable to produce any evidence that such a conversation ever existed. I might be confusing it with another subsystem (GPIO?).
Unless there are objections against these changes I plan to push them to the master branch around the end of next week.
I have no objection.
I also plan to add some small isolated code-fixes which missed 4.12, and have been queued up for 4.13.
That sounds great, Thanks!
Regards,
Hans _______________________________________________ kernel mailing list -- kernel@lists.fedoraproject.org To unsubscribe send an email to kernel-leave@lists.fedoraproject.org
----- Original Message -----
On 06/16/2017 09:13 AM, Hans de Goede wrote:
Hi All,
For the last couple of months I've been working on improving Linux support for Intel Bay and Cherry Trail devices as a spare-time project.
A lot of my changes for this have landed in the 4.12 kernel, see: http://hansdegoede.livejournal.com/
The proposed config changes enable various drivers to make these improvements available for Fedora users.
Most of these changes just enable modules, but there is one change which also impacts non Bay and Cherry Trail x86_64 users, the proposed changes also change the I2C_DESIGNWARE controller options from module to built-in. This is necessary because Bay and Cherry Trail devices use an i2c attached PMIC which provides an ACPI OpRegion and this OpRegion must be available before any devices with _PS0 or _PS3 methods which use this OpRegion get their drivers bound to them.
I'm not expecting any side-effects from this change, but I wanted to point this out just in case.
I thought there had previously been discussion about why we can't have it built in but I have been unable to produce any evidence that such a conversation ever existed. I might be confusing it with another subsystem (GPIO?).
That's probably a discussion with me. I think it was for the Surface 3 battery support which needed: CONFIG_I2C_DESIGNWARE_CORE=y CONFIG_I2C_DESIGNWARE_PLATFORM=y
From: https://bugzilla.kernel.org/show_bug.cgi?id=106231#c39
Benjamin would know more.
And possibly also: +CONFIG_PWM_CRC=y
from commit fcb14e5f56b3d8daea308233b799d419cc02fd95 (and d775331d9cc6659c6e91a6991c640e6abb049243) which is needed to get the backlight working on the Surface 3 (and possibly other BayTrail/CherryTrail devices)
Hi,
On 20-06-17 12:12, Bastien Nocera wrote:
----- Original Message -----
On 06/16/2017 09:13 AM, Hans de Goede wrote:
Hi All,
For the last couple of months I've been working on improving Linux support for Intel Bay and Cherry Trail devices as a spare-time project.
A lot of my changes for this have landed in the 4.12 kernel, see: http://hansdegoede.livejournal.com/
The proposed config changes enable various drivers to make these improvements available for Fedora users.
Most of these changes just enable modules, but there is one change which also impacts non Bay and Cherry Trail x86_64 users, the proposed changes also change the I2C_DESIGNWARE controller options from module to built-in. This is necessary because Bay and Cherry Trail devices use an i2c attached PMIC which provides an ACPI OpRegion and this OpRegion must be available before any devices with _PS0 or _PS3 methods which use this OpRegion get their drivers bound to them.
I'm not expecting any side-effects from this change, but I wanted to point this out just in case.
I thought there had previously been discussion about why we can't have it built in but I have been unable to produce any evidence that such a conversation ever existed. I might be confusing it with another subsystem (GPIO?).
That's probably a discussion with me. I think it was for the Surface 3 battery support which needed: CONFIG_I2C_DESIGNWARE_CORE=y CONFIG_I2C_DESIGNWARE_PLATFORM=y
From: https://bugzilla.kernel.org/show_bug.cgi?id=106231#c39
Benjamin would know more.
And possibly also: +CONFIG_PWM_CRC=y
Right, having CONFIG_I2C_DESIGNWARE_PLATFORM=y will also fix the backlight on many Bay Trail based devices, note that CONFIG_PWM_CRC is already Y, it has been changed to a boolean in Kconfig for this reason.
Regards,
Hans
Hi,
On 19-06-17 20:13, Laura Abbott wrote:
On 06/16/2017 09:13 AM, Hans de Goede wrote:
Hi All,
For the last couple of months I've been working on improving Linux support for Intel Bay and Cherry Trail devices as a spare-time project.
A lot of my changes for this have landed in the 4.12 kernel, see: http://hansdegoede.livejournal.com/
The proposed config changes enable various drivers to make these improvements available for Fedora users.
Most of these changes just enable modules, but there is one change which also impacts non Bay and Cherry Trail x86_64 users, the proposed changes also change the I2C_DESIGNWARE controller options from module to built-in. This is necessary because Bay and Cherry Trail devices use an i2c attached PMIC which provides an ACPI OpRegion and this OpRegion must be available before any devices with _PS0 or _PS3 methods which use this OpRegion get their drivers bound to them.
I'm not expecting any side-effects from this change, but I wanted to point this out just in case.
I thought there had previously been discussion about why we can't have it built in but I have been unable to produce any evidence that such a conversation ever existed. I might be confusing it with another subsystem (GPIO?).
AFAIK having this builtin is fine, for 4.13 some patches of mine will land which will make the Crystal Cove PMIC MFD driver Kconfig option (which is a boolean) do a select CONFIG_I2C_DESIGNWARE_PLATFORM, forcing it to be builtin too, so by landing this config change for 4.12 we are doing something which will happen for 4.13 anyways.
Regards,
Hans
On Wed, Jun 21, 2017 at 3:45 AM, Hans de Goede hdegoede@redhat.com wrote:
Hi,
On 19-06-17 20:13, Laura Abbott wrote:
On 06/16/2017 09:13 AM, Hans de Goede wrote:
Hi All,
For the last couple of months I've been working on improving Linux support for Intel Bay and Cherry Trail devices as a spare-time project.
A lot of my changes for this have landed in the 4.12 kernel, see: http://hansdegoede.livejournal.com/
The proposed config changes enable various drivers to make these improvements available for Fedora users.
Most of these changes just enable modules, but there is one change which also impacts non Bay and Cherry Trail x86_64 users, the proposed changes also change the I2C_DESIGNWARE controller options from module to built-in. This is necessary because Bay and Cherry Trail devices use an i2c attached PMIC which provides an ACPI OpRegion and this OpRegion must be available before any devices with _PS0 or _PS3 methods which use this OpRegion get their drivers bound to them.
I'm not expecting any side-effects from this change, but I wanted to point this out just in case.
I thought there had previously been discussion about why we can't have it built in but I have been unable to produce any evidence that such a conversation ever existed. I might be confusing it with another subsystem (GPIO?).
AFAIK having this builtin is fine, for 4.13 some patches of mine will land which will make the Crystal Cove PMIC MFD driver Kconfig option (which is a boolean) do a select CONFIG_I2C_DESIGNWARE_PLATFORM, forcing it to be builtin too, so by landing this config change for 4.12 we are doing something which will happen for 4.13 anyways.
Rawhide seems a good place to get it tested anyway. You are welcome to
commit this, or I can do it if you like.
Thanks, Justin
Hi,
On 21-06-17 17:26, Justin Forbes wrote:
On Wed, Jun 21, 2017 at 3:45 AM, Hans de Goede <hdegoede@redhat.com mailto:hdegoede@redhat.com> wrote:
Hi, On 19-06-17 20:13, Laura Abbott wrote: On 06/16/2017 09:13 AM, Hans de Goede wrote: Hi All, For the last couple of months I've been working on improving Linux support for Intel Bay and Cherry Trail devices as a spare-time project. A lot of my changes for this have landed in the 4.12 kernel, see: http://hansdegoede.livejournal.com/ <http://hansdegoede.livejournal.com/> The proposed config changes enable various drivers to make these improvements available for Fedora users. Most of these changes just enable modules, but there is one change which also impacts non Bay and Cherry Trail x86_64 users, the proposed changes also change the I2C_DESIGNWARE controller options from module to built-in. This is necessary because Bay and Cherry Trail devices use an i2c attached PMIC which provides an ACPI OpRegion and this OpRegion must be available before any devices with _PS0 or _PS3 methods which use this OpRegion get their drivers bound to them. I'm not expecting any side-effects from this change, but I wanted to point this out just in case. I thought there had previously been discussion about why we can't have it built in but I have been unable to produce any evidence that such a conversation ever existed. I might be confusing it with another subsystem (GPIO?). AFAIK having this builtin is fine, for 4.13 some patches of mine will land which will make the Crystal Cove PMIC MFD driver Kconfig option (which is a boolean) do a select CONFIG_I2C_DESIGNWARE_PLATFORM, forcing it to be builtin too, so by landing this config change for 4.12 we are doing something which will happen for 4.13 anyways.
Rawhide seems a good place to get it tested anyway. You are welcome to commit this, or I can do it if you like.
Ok, I've gone ahead and just pushed this change + as already mentioned some small Bay and Cherry Trail related fixes (which should not impact other hardware).
In total I've added 16 patches to improve the user experience for Bay and Cherry Trail devices, of those 10 are in -next and can be dropped when moving to 4.13-rc#, I've good hope to get most of the 6 others upstream too, some might miss 4.13 though
I've done a local x86_64 build to check I didn't break things from building, my changes should not impact other archs, but I've started a scratch-build on koji to double check all archs still build, if I somehow broke things I'll make sure to fix that soon.
Regards,
Hans
kernel@lists.fedoraproject.org