Message ID | 20210317040231.21490-2-chris.packham@alliedtelesis.co.nz (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v3,1/3] dt-bindings: Add vendor prefix and trivial device for BluTek BPA-RS600 | expand |
On Wed, Mar 17, 2021 at 05:02:30PM +1300, Chris Packham wrote: > The hwmon sysfs ABI requires that the `name` property doesn't include > any dashes. But when the pmbus code picks the name up from the device > tree it quite often does. Replace '-' with '_' before registering the > device. > > Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Applied. Thanks, Guenter > --- > > Notes: > Changes in v3: > - None > Changes in v2: > - New > > drivers/hwmon/pmbus/pmbus_core.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c > index aadea85fe630..7d2f8f032314 100644 > --- a/drivers/hwmon/pmbus/pmbus_core.c > +++ b/drivers/hwmon/pmbus/pmbus_core.c > @@ -2557,6 +2557,7 @@ int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info) > struct pmbus_data *data; > size_t groups_num = 0; > int ret; > + char *name; > > if (!info) > return -ENODEV; > @@ -2606,10 +2607,15 @@ int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info) > return -ENODEV; > } > > + name = devm_kstrdup(dev, client->name, GFP_KERNEL); > + if (!name) > + return -ENOMEM; > + strreplace(name, '-', '_'); > + > data->groups[0] = &data->group; > memcpy(data->groups + 1, info->groups, sizeof(void *) * groups_num); > data->hwmon_dev = devm_hwmon_device_register_with_groups(dev, > - client->name, data, data->groups); > + name, data, data->groups); > if (IS_ERR(data->hwmon_dev)) { > dev_err(dev, "Failed to register hwmon device\n"); > return PTR_ERR(data->hwmon_dev);
diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c index aadea85fe630..7d2f8f032314 100644 --- a/drivers/hwmon/pmbus/pmbus_core.c +++ b/drivers/hwmon/pmbus/pmbus_core.c @@ -2557,6 +2557,7 @@ int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info) struct pmbus_data *data; size_t groups_num = 0; int ret; + char *name; if (!info) return -ENODEV; @@ -2606,10 +2607,15 @@ int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info) return -ENODEV; } + name = devm_kstrdup(dev, client->name, GFP_KERNEL); + if (!name) + return -ENOMEM; + strreplace(name, '-', '_'); + data->groups[0] = &data->group; memcpy(data->groups + 1, info->groups, sizeof(void *) * groups_num); data->hwmon_dev = devm_hwmon_device_register_with_groups(dev, - client->name, data, data->groups); + name, data, data->groups); if (IS_ERR(data->hwmon_dev)) { dev_err(dev, "Failed to register hwmon device\n"); return PTR_ERR(data->hwmon_dev);
The hwmon sysfs ABI requires that the `name` property doesn't include any dashes. But when the pmbus code picks the name up from the device tree it quite often does. Replace '-' with '_' before registering the device. Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> --- Notes: Changes in v3: - None Changes in v2: - New drivers/hwmon/pmbus/pmbus_core.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)