Re: [PATCH v3 05/10] platform/x86: i2c-multi-instantiate: Move it to drivers/acpi folder

From: Rafael J. Wysocki
Date: Wed Jan 19 2022 - 11:53:19 EST


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?

> ---
> 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
>