Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2eb6e5a authored by Hans de Goede's avatar Hans de Goede Committed by Greg Kroah-Hartman
Browse files

i2c: i801: Use a different adapter-name for IDF adapters



[ Upstream commit 43457ada98c824f310adb7bd96bd5f2fcd9a3279 ]

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: default avatarPali Rohár <pali@kernel.org>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Acked-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: default avatarAndi Shyti <andi.shyti@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 8ac316ae
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1674,8 +1674,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);