i2c: xiic: Make bus names unique
authorRobert Hancock <robert.hancock@calian.com>
Thu, 27 Jan 2022 17:50:13 +0000 (11:50 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:08:18 +0000 (09:08 +0200)
[ Upstream commit 1d366c2f9df8279df2adbb60471f86fc40a1c39e ]

This driver is for an FPGA logic core, so there can be arbitrarily many
instances of the bus on a given system. Previously all of the I2C bus
names were "xiic-i2c" which caused issues with lm_sensors when trying to
map human-readable names to sensor inputs because it could not properly
distinguish the busses, for example. Append the platform device name to
the I2C bus name so it is unique between different instances.

Fixes: e1d5b6598cdc ("i2c: Add support for Xilinx XPS IIC Bus Interface")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i2c/busses/i2c-xiic.c

index 5a94f732049e865c90659416b81522bed256850f..da526cc471cc0766281d65c18277cf0c4f1f4194 100644 (file)
@@ -731,7 +731,6 @@ static const struct i2c_adapter_quirks xiic_quirks = {
 
 static const struct i2c_adapter xiic_adapter = {
        .owner = THIS_MODULE,
-       .name = DRIVER_NAME,
        .class = I2C_CLASS_DEPRECATED,
        .algo = &xiic_algorithm,
        .quirks = &xiic_quirks,
@@ -768,6 +767,8 @@ static int xiic_i2c_probe(struct platform_device *pdev)
        i2c_set_adapdata(&i2c->adap, i2c);
        i2c->adap.dev.parent = &pdev->dev;
        i2c->adap.dev.of_node = pdev->dev.of_node;
+       snprintf(i2c->adap.name, sizeof(i2c->adap.name),
+                DRIVER_NAME " %s", pdev->name);
 
        mutex_init(&i2c->lock);
        init_waitqueue_head(&i2c->wait);