From: Hans de Goede hdegoede@redhat.com
configs: rhel: Fix designware I2C controllers related config settings
Before 6.12 CONFIG_I2C_DESIGNWARE_CORE was not user selectable, instead it was automatically selected by CONFIG_I2C_DESIGNWARE_PLATFORM / CONFIG_I2C_DESIGNWARE_PCI.
Commit 9d1fbf22cff7 ("[redhat] New configs in drivers/i2c") created redhat/configs/rhel/generic/CONFIG_I2C_DESIGNWARE_CORE with "# CONFIG_I2C_DESIGNWARE_CORE is not set" to deal with it now being user selectable.
This is causing all the other CONFIG_I2C_DESIGNWARE_* options to be disabled breaking anything connected to any designware I2C controllers, such as touchpads, accelerometers, fuel-gauges, USB Type-C controllers, camera sensors, etc.
This commit changes 3 designware I2C controllers configs to fix things:
1. Change the generic CONFIG_I2C_DESIGNWARE_CORE to 'm' to re-enable CONFIG_I2C_DESIGNWARE_PLATFORM which is 'm' in RHEL.
2. Many x86 laptops require CONFIG_I2C_DESIGNWARE_PCI for I2C connected touchscreens and touchpads, set CONFIG_I2C_DESIGNWARE_PCI=m on x86.
3. The designware I2C drivers should not be build on s390x, change the existing unsetting of CONFIG_I2C_DESIGNWARE_PLATFORM on s390x to unset CONFIG_I2C_DESIGNWARE_CORE to disable all designware I2C drivers.
Signed-off-by: Hans de Goede hdegoede@redhat.com
diff --git a/redhat/configs/rhel/generic/CONFIG_I2C_DESIGNWARE_CORE b/redhat/configs/rhel/generic/CONFIG_I2C_DESIGNWARE_CORE index blahblah..blahblah 100644 --- a/redhat/configs/rhel/generic/CONFIG_I2C_DESIGNWARE_CORE +++ b/redhat/configs/rhel/generic/CONFIG_I2C_DESIGNWARE_CORE @@ -1 +1 @@ -# CONFIG_I2C_DESIGNWARE_CORE is not set +CONFIG_I2C_DESIGNWARE_CORE=m diff --git a/redhat/configs/rhel/generic/s390x/CONFIG_I2C_DESIGNWARE_CORE b/redhat/configs/rhel/generic/s390x/CONFIG_I2C_DESIGNWARE_CORE new file mode 100644 index blahblah..blahblah 100644 --- /dev/null +++ b/redhat/configs/rhel/generic/s390x/CONFIG_I2C_DESIGNWARE_CORE @@ -0,0 +1 @@ +# CONFIG_I2C_DESIGNWARE_CORE is not set diff --git a/redhat/configs/rhel/generic/s390x/CONFIG_I2C_DESIGNWARE_PLATFORM b/redhat/configs/rhel/generic/s390x/CONFIG_I2C_DESIGNWARE_PLATFORM deleted file mode 100644 index blahblah..blahblah 0 --- a/redhat/configs/rhel/generic/s390x/CONFIG_I2C_DESIGNWARE_PLATFORM +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_I2C_DESIGNWARE_PLATFORM is not set diff --git a/redhat/configs/rhel/generic/x86/CONFIG_I2C_DESIGNWARE_PCI b/redhat/configs/rhel/generic/x86/CONFIG_I2C_DESIGNWARE_PCI new file mode 100644 index blahblah..blahblah 100644 --- /dev/null +++ b/redhat/configs/rhel/generic/x86/CONFIG_I2C_DESIGNWARE_PCI @@ -0,0 +1 @@ +CONFIG_I2C_DESIGNWARE_PCI=m
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3431
From: Daniel Horak on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3431#note_2146007...
LGTM for the s390x change
From: Hans de Goede on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3431#note_2146020...
Correction / self nack. Even though the designware I2C controllers in e.g. Raptor Lake are PCI devices they do not use the i2c-desigware-pcidrv module. Instead they use the intel-lpss PCI driver which creates a platform_device child which then uses the i2c-desigware-platdrv.
This explains why the lack of CONFIG_I2C_DESIGNWARE_PCI=m was not an issue on RHEL10 before. Fedora needs CONFIG_I2C_DESIGNWARE_PCI for some older hw.
It seems that all x86_64-v3 hw uses the intel-lpss PCI driver which then instantiates a platform-device, which was confusing me.
I'll push an updated, fixed version dropping the CONFIG_I2C_DESIGNWARE_PCI change.
Note CONFIG_I2C_DESIGNWARE_PCI is necessary for Intel Elkhartlake Atom x6000E IOT processors. It is unclear to me if those can handle x86_64-v3, if they can we may need to revisit enabling CONFIG_I2C_DESIGNWARE_PCI=m on x86.
And CONFIG_I2C_DESIGNWARE_PCI is also necessary for the I2C controller used to talk to the Type-C controller for the Type-C port found on some NAVI cards.
Regardless, lets drop this part of the change and then maybe revisit with a better commit message explaining why this is necessary.
kernel@lists.fedoraproject.org