]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (pmbus/adm1266) include adapter number in GPIO line label
authorAbdurrahman Hussain <abdurrahman@nexthop.ai>
Tue, 12 May 2026 18:56:28 +0000 (11:56 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Thu, 21 May 2026 13:58:01 +0000 (06:58 -0700)
Platforms that fit more than one ADM1266 on different I2C buses at
the same 7-bit slave address (a common shelf-management pattern,
e.g. one device per power domain) end up with duplicate GPIO line
labels because the existing format only includes the slave address.
Including the adapter number disambiguates them.

The adapter number is formatted as decimal to match the i2c-N
convention used elsewhere in Linux (sysfs paths, dev nodes); the
slave address keeps its conventional hexadecimal form.

The label is purely informational (visible via gpioinfo and the
gpiochip /sys/class/gpio name); no DT or ABI consumer parses it.

Fixes: d98dfad35c38c ("hwmon: (pmbus/adm1266) Add support for GPIOs")
Signed-off-by: Abdurrahman Hussain <abdurrahman@nexthop.ai>
Link: https://lore.kernel.org/r/20260512-adm1266-v3-5-a81a479b0bb0@nexthop.ai
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/adm1266.c

index 5c68e3177f64e514330a0ace745e298fab88c0e7..9820dc9e1f2eba8a5a610a0b3bb8fafc8df7194f 100644 (file)
@@ -291,8 +291,9 @@ static int adm1266_config_gpio(struct adm1266_data *data)
        int i;
 
        for (i = 0; i < ARRAY_SIZE(data->gpio_names); i++) {
-               gpio_name = devm_kasprintf(&data->client->dev, GFP_KERNEL, "adm1266-%x-%s",
-                                          data->client->addr, adm1266_names[i]);
+               gpio_name = devm_kasprintf(&data->client->dev, GFP_KERNEL, "adm1266-%d-%x-%s",
+                                          data->client->adapter->nr, data->client->addr,
+                                          adm1266_names[i]);
                if (!gpio_name)
                        return -ENOMEM;