Hi, On 1/19/22 18:44, Rafael J. Wysocki wrote: > On Wed, Jan 19, 2022 at 6:33 PM Lucas tanure > <tanureal@xxxxxxxxxxxxxxxxxxxxx> wrote: >> >> On 1/19/22 16:53, Rafael J. Wysocki wrote: >>> On Tue, Jan 18, 2022 at 3:53 PM Stefan Binding >>> <sbinding@xxxxxxxxxxxxxxxxxxxxx> wrote: >>>> >>>> From: Lucas Tanure <tanureal@xxxxxxxxxxxxxxxxxxxxx> >>>> >>>> Moving I2C multi instantiate driver to drivers/acpi folder for >>>> upcoming conversion into a generic bus multi instantiate >>>> driver for SPI and I2C >>>> >>>> Signed-off-by: Lucas Tanure <tanureal@xxxxxxxxxxxxxxxxxxxxx> >>>> Signed-off-by: Stefan Binding <sbinding@xxxxxxxxxxxxxxxxxxxxx> >>> >>> Why are you moving it away from platform/x86? >>> >>> Adding SPI to the mix doesn't seem to be a sufficient reason. >>> >>> If this were going to be needed on non-x86, that would be a good >>> reason for moving it, but is that actually the case? If so, why isn't >>> that mentioned in the changelog above? >>> >> >> It was a request made by Andy Shevchenko: >> https://lkml.org/lkml/2021/12/3/347 > > But he hasn't given any reasons why that'd be better. > >> There is no plan to use our CS35L41 HDA with non-x86 platforms and we >> can't comment about i2c-multi-instantiate use. >> For us it can stay in x86 folder until an actual request. > > I'd prefer that if Hans agrees. Ack, keeping this in drivers/platform/x86 is fine with me. I'll try to make some time to review this new version next week. Looking at the subjects of the patches I see that this now refactors the SPI code to re-use the existing SPI ACPI resource parsing there, thank you for doing that! Regards, Hans > >>>> --- >>>> MAINTAINERS | 2 +- >>>> drivers/acpi/Kconfig | 11 +++++++++++ >>>> drivers/acpi/Makefile | 1 + >>>> .../{platform/x86 => acpi}/i2c-multi-instantiate.c | 0 >>>> drivers/acpi/scan.c | 2 +- >>>> drivers/platform/x86/Kconfig | 11 ----------- >>>> drivers/platform/x86/Makefile | 1 - >>>> 7 files changed, 14 insertions(+), 14 deletions(-) >>>> rename drivers/{platform/x86 => acpi}/i2c-multi-instantiate.c (100%) >>>> >>>> diff --git a/MAINTAINERS b/MAINTAINERS >>>> index 4e828542b089..546f9e149d28 100644 >>>> --- a/MAINTAINERS >>>> +++ b/MAINTAINERS >>>> @@ -392,7 +392,7 @@ ACPI I2C MULTI INSTANTIATE DRIVER >>>> M: Hans de Goede <hdegoede@xxxxxxxxxx> >>>> L: platform-driver-x86@xxxxxxxxxxxxxxx >>>> S: Maintained >>>> -F: drivers/platform/x86/i2c-multi-instantiate.c >>>> +F: drivers/acpi/i2c-multi-instantiate.c >>>> >>>> ACPI PCC(Platform Communication Channel) MAILBOX DRIVER >>>> M: Sudeep Holla <sudeep.holla@xxxxxxx> >>>> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig >>>> index ba45541b1f1f..2fd78366af6f 100644 >>>> --- a/drivers/acpi/Kconfig >>>> +++ b/drivers/acpi/Kconfig >>>> @@ -295,6 +295,17 @@ config ACPI_PROCESSOR >>>> To compile this driver as a module, choose M here: >>>> the module will be called processor. >>>> >>>> +config ACPI_I2C_MULTI_INST >>>> + tristate "I2C multi instantiate pseudo device driver" >>>> + depends on I2C >>>> + help >>>> + Some ACPI-based systems list multiple i2c-devices in a single ACPI >>>> + firmware-node. This driver will instantiate separate i2c-clients >>>> + for each device in the firmware-node. >>>> + >>>> + To compile this driver as a module, choose M here: the module >>>> + will be called i2c-multi-instantiate. >>>> + >>>> config ACPI_IPMI >>>> tristate "IPMI" >>>> depends on IPMI_HANDLER >>>> diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile >>>> index bb757148e7ba..d4db7fb0baf0 100644 >>>> --- a/drivers/acpi/Makefile >>>> +++ b/drivers/acpi/Makefile >>>> @@ -104,6 +104,7 @@ obj-$(CONFIG_ACPI_SPCR_TABLE) += spcr.o >>>> obj-$(CONFIG_ACPI_DEBUGGER_USER) += acpi_dbg.o >>>> obj-$(CONFIG_ACPI_PPTT) += pptt.o >>>> obj-$(CONFIG_ACPI_PFRUT) += pfr_update.o pfr_telemetry.o >>>> +obj-$(CONFIG_ACPI_I2C_MULTI_INST) += i2c-multi-instantiate.o >>>> >>>> # processor has its own "processor." module_param namespace >>>> processor-y := processor_driver.o >>>> diff --git a/drivers/platform/x86/i2c-multi-instantiate.c b/drivers/acpi/i2c-multi-instantiate.c >>>> similarity index 100% >>>> rename from drivers/platform/x86/i2c-multi-instantiate.c >>>> rename to drivers/acpi/i2c-multi-instantiate.c >>>> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c >>>> index 1331756d4cfc..3e85a02f6ba2 100644 >>>> --- a/drivers/acpi/scan.c >>>> +++ b/drivers/acpi/scan.c >>>> @@ -1738,7 +1738,7 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) >>>> * must be instantiated for each, each with its own i2c_device_id. >>>> * Normally we only instantiate an i2c-client for the first resource, >>>> * using the ACPI HID as id. These special cases are handled by the >>>> - * drivers/platform/x86/i2c-multi-instantiate.c driver, which knows >>>> + * drivers/acpi/i2c-multi-instantiate.c driver, which knows >>>> * which i2c_device_id to use for each resource. >>>> */ >>>> {"BSG1160", }, >>>> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig >>>> index 24deeeb29af2..37c1c150508d 100644 >>>> --- a/drivers/platform/x86/Kconfig >>>> +++ b/drivers/platform/x86/Kconfig >>>> @@ -990,17 +990,6 @@ config TOPSTAR_LAPTOP >>>> >>>> If you have a Topstar laptop, say Y or M here. >>>> >>>> -config I2C_MULTI_INSTANTIATE >>>> - tristate "I2C multi instantiate pseudo device driver" >>>> - depends on I2C && ACPI >>>> - help >>>> - Some ACPI-based systems list multiple i2c-devices in a single ACPI >>>> - firmware-node. This driver will instantiate separate i2c-clients >>>> - for each device in the firmware-node. >>>> - >>>> - To compile this driver as a module, choose M here: the module >>>> - will be called i2c-multi-instantiate. >>>> - >>>> config MLX_PLATFORM >>>> tristate "Mellanox Technologies platform support" >>>> depends on I2C && REGMAP >>>> diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile >>>> index c12a9b044fd8..6c7870190564 100644 >>>> --- a/drivers/platform/x86/Makefile >>>> +++ b/drivers/platform/x86/Makefile >>>> @@ -110,7 +110,6 @@ obj-$(CONFIG_TOPSTAR_LAPTOP) += topstar-laptop.o >>>> >>>> # Platform drivers >>>> obj-$(CONFIG_FW_ATTR_CLASS) += firmware_attributes_class.o >>>> -obj-$(CONFIG_I2C_MULTI_INSTANTIATE) += i2c-multi-instantiate.o >>>> obj-$(CONFIG_MLX_PLATFORM) += mlx-platform.o >>>> obj-$(CONFIG_TOUCHSCREEN_DMI) += touchscreen_dmi.o >>>> obj-$(CONFIG_WIRELESS_HOTKEY) += wireless-hotkey.o >>>> -- >>>> 2.25.1 >>>> >> >