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@xxxxxxxxxxxxxxxxxxx> 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);