i2c: xiic: Make bus names unique
authorRobert Hancock <robert.hancock@calian.com>
Thu, 27 Jan 2022 17:50:13 +0000 (11:50 -0600)
committerWolfram Sang <wsa@kernel.org>
Wed, 2 Mar 2022 21:26:41 +0000 (22:26 +0100)
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>
drivers/i2c/busses/i2c-xiic.c

index eb789cfb99739367cd174c3a45d053638caa6174..ffefe3c482e9c9a67a37dbdb3b4130ecec9f446b 100644 (file)
@@ -734,7 +734,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,
@@ -771,6 +770,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);