Re: [PATCH v8 2/6] i2c: i801: Use a different adapter-name for IDF adapters

Andi Shyti
2024-08-13T22:55:18Z

Hi Wolfram,

On Mon, Aug 12, 2024 at 10:39:48PM GMT, Hans de Goede wrote:
> On chipsets with a second 'Integrated Device Function' SMBus controller use
> a different adapter-name for the second IDF adapter.
>
> This allows platform glue code which is looking for the primary i801
> adapter to manually instantiate i2c_clients on to differentiate
> between the 2.
>
> This allows such code to find the primary i801 adapter by name, without
> needing to duplicate the PCI-ids to feature-flags mapping from i2c-i801.c.
>
> Reviewed-by: Pali Rohár <pali@kernel.org>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> Changes in v4:
> - Use a single snprintf() with a conditional argument for the 2 names
> - Add a comment that the adapter-name is used by platform code
>
> Changes in v3:
> - This is a new patch in v3 of this patch-set
> ---
> drivers/i2c/busses/i2c-i801.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
> index 328c0dab6b14..299fe9d3afab 100644
> --- a/drivers/i2c/busses/i2c-i801.c
> +++ b/drivers/i2c/busses/i2c-i801.c
> @@ -1763,8 +1763,15 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
>
> i801_add_tco(priv);
>
> + /*
> + * adapter.name is used by platform code to find the main I801 adapter
> + * to instantiante i2c_clients, do not change.
> + */
> snprintf(priv->adapter.name, sizeof(priv->adapter.name),
> - "SMBus I801 adapter at %04lx", priv->smba);
> + "SMBus %s adapter at %04lx",
> + (priv->features & FEATURE_IDF) ? "I801 IDF" : "I801",
> + priv->smba);
> +

do you have any comment here?

Thanks,
Andi

> err = i2c_add_adapter(&priv->adapter);
> if (err) {
> platform_device_unregister(priv->tco_pdev);
> --
> 2.46.0
>