Message ID | 20240704125643.22946-3-hdegoede@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | i2c-i801 / dell-lis3lv02d: Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d | expand |
Hi Hans, On Thu, Jul 04, 2024 at 02:56:39PM 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> I believe Wolfram will take patch 1. Once he takes it, I will pick this up. Thanks, Andi
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index d2d2a6dbe29f..94265ee300c0 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c @@ -1760,8 +1760,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); + err = i2c_add_adapter(&priv->adapter); if (err) { platform_device_unregister(priv->tco_pdev);