diff mbox series

i2c: xiic: Make bus names unique

Message ID 20220127175013.3689724-1-robert.hancock@calian.com (mailing list archive)
State New, archived
Headers show
Series i2c: xiic: Make bus names unique | expand

Commit Message

Robert Hancock Jan. 27, 2022, 5:50 p.m. UTC
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>
---
 drivers/i2c/busses/i2c-xiic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Wolfram Sang March 1, 2022, 9:43 p.m. UTC | #1
On Thu, Jan 27, 2022 at 11:50:13AM -0600, Robert Hancock wrote:
> 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>

Michal, is this okay with you?
Michal Simek March 2, 2022, 3:29 p.m. UTC | #2
On 3/1/22 22:43, Wolfram Sang wrote:
> On Thu, Jan 27, 2022 at 11:50:13AM -0600, Robert Hancock wrote:
>> 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>
> 
> Michal, is this okay with you?
> 

Origin state

~# cat /sys/class/i2c-adapter/i2c-0/name
xiic-i2c

new state.

~# cat /sys/class/i2c-adapter/i2c-0/name
xiic-i2c 40800000.i2c

I am fine with it.

Tested-by: Michal Simek <michal.simek@xilinx.com>

Thanks,
Michal
Wolfram Sang March 2, 2022, 9:26 p.m. UTC | #3
On Thu, Jan 27, 2022 at 11:50:13AM -0600, Robert Hancock wrote:
> 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>

Applied to for-next, thanks!
diff mbox series

Patch

diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
index eb789cfb9973..ffefe3c482e9 100644
--- a/drivers/i2c/busses/i2c-xiic.c
+++ b/drivers/i2c/busses/i2c-xiic.c
@@ -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);