From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Date: Thu, 19 Mar 2015 04:02:02 +0000 Subject: Re: [lm-sensors] [PATCH 4/5] hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype Message-Id: <550A4A3A.3090406@roeck-us.net> List-Id: References: <1423117857-32759-1-git-send-email-clg@fr.ibm.com> <1426693665-10797-5-git-send-email-clg@fr.ibm.com> In-Reply-To: <1426693665-10797-5-git-send-email-clg@fr.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: =?UTF-8?B?Q8OpZHJpYyBMZSBHb2F0ZXI=?= , lm-sensors@lm-sensors.org Cc: Stewart Smith , Neelesh Gupta , skiboot@lists.ozlabs.org, linuxppc-dev@lists.ozlabs.org, Jean Delvare T24gMDMvMTgvMjAxNSAwODo0NyBBTSwgQ8OpZHJpYyBMZSBHb2F0ZXIgd3JvdGU6Cj4gSXQgc2lt cGxpZmllcyB0aGUgY3JlYXRpb24gb2YgdGhlIGh3bW9uIGF0dHJpYnV0ZXMgYW5kIHdpbGwgaGVs cCB3aGVuCj4gc3VwcG9ydCBmb3IgYSBuZXcgZGV2aWNlIHRyZWUgbGF5b3V0IGlzIGFkZGVkLiBU aGUgcGF0Y2ggYWxzbyBjaGFuZ2VzCj4gdGhlIG5hbWUgb2YgdGhlIHJvdXRpbmUgdG8gcGFyc2Vf b3BhbF9ub2RlX25hbWUoKS4KPgo+IFNpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxj bGdAZnIuaWJtLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvaHdtb24vaWJtcG93ZXJudi5jIHwgICAz MiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDE4 IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv aHdtb24vaWJtcG93ZXJudi5jIGIvZHJpdmVycy9od21vbi9pYm1wb3dlcm52LmMKPiBpbmRleCBl ZGNjNGZmYTVhZDAuLjU3MGQyMzYwYjY5OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2h3bW9uL2li bXBvd2VybnYuYwo+ICsrKyBiL2RyaXZlcnMvaHdtb24vaWJtcG93ZXJudi5jCj4gQEAgLTE1NSwy OCArMTU1LDIyIEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb252ZXJ0X29wYWxfYXR0cl9uYW1lKGVu dW0gc2Vuc29ycyB0eXBlLAo+ICAgICogd2hpY2ggbmVlZCB0byBiZSBtYXBwZWQgYXMgZmFuMl9p bnB1dCwgdGVtcDFfbWF4IHJlc3BlY3RpdmVseSBiZWZvcmUKPiAgICAqIHBvcHVsYXRpbmcgdGhl bSBpbnNpZGUgaHdtb24gZGV2aWNlIGNsYXNzLgo+ICAgICovCj4gLXN0YXRpYyBpbnQgY3JlYXRl X2h3bW9uX2F0dHJfbmFtZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGVudW0gc2Vuc29ycyB0eXBlLAo+ IC0JCQkJCSBjb25zdCBjaGFyICpub2RlX25hbWUsCj4gLQkJCQkJIGNoYXIgKmh3bW9uX2F0dHJf bmFtZSkKPiArc3RhdGljIGludCBwYXJzZV9vcGFsX25vZGVfbmFtZShjb25zdCBjaGFyICpub2Rl X25hbWUsIGVudW0gc2Vuc29ycyB0eXBlLAo+ICsJdTMyICppbmRleCwgY29uc3QgY2hhciAqKmh3 bW9uX2F0dHJfbmFtZSkKPiAgIHsKClBsZWFzZSBoYXZlIHRoZSBmdW5jdGlvbiByZXR1cm4gY29u c3QgY2hhciAqIGFuZCBtZXJnZSB0aGUgZXJyb3IgY29kZSB3aXRoIEVSUl9QVFIuCgo+ICAgCWNo YXIgYXR0cl9zdWZmaXhbTUFYX0FUVFJfTEVOXTsKPiAgIAljb25zdCBjaGFyICphdHRyX25hbWU7 Cj4gLQl1MzIgaW5kZXg7Cj4gICAJaW50IGVycjsKPgo+IC0JZXJyID0gZ2V0X3NlbnNvcl9pbmRl eF9hdHRyKG5vZGVfbmFtZSwgJmluZGV4LCBhdHRyX3N1ZmZpeCk7Cj4gLQlpZiAoZXJyKSB7Cj4g LQkJZGV2X2VycihkZXYsICJTZW5zb3IgZGV2aWNlIG5vZGUgbmFtZSAnJXMnIGlzIGludmFsaWRc biIsCj4gLQkJCW5vZGVfbmFtZSk7Cj4gKwllcnIgPSBnZXRfc2Vuc29yX2luZGV4X2F0dHIobm9k ZV9uYW1lLCBpbmRleCwgYXR0cl9zdWZmaXgpOwo+ICsJaWYgKGVycikKPiAgIAkJcmV0dXJuIGVy cjsKPiAtCX0KPgo+ICAgCWF0dHJfbmFtZSA9IGNvbnZlcnRfb3BhbF9hdHRyX25hbWUodHlwZSwg YXR0cl9zdWZmaXgpOwo+ICAgCWlmICghYXR0cl9uYW1lKQo+ICAgCQlyZXR1cm4gLUVOT0VOVDsK Pgo+IC0Jc25wcmludGYoaHdtb25fYXR0cl9uYW1lLCBNQVhfQVRUUl9MRU4sICIlcyVkXyVzIiwK PiAtCQkgc2Vuc29yX2dyb3Vwc1t0eXBlXS5uYW1lLCBpbmRleCwgYXR0cl9uYW1lKTsKPiArCSpo d21vbl9hdHRyX25hbWUgPSBhdHRyX25hbWU7Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4KPiBAQCAt MjUyLDYgKzI0Niw5IEBAIHN0YXRpYyBpbnQgY3JlYXRlX2RldmljZV9hdHRycyhzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgCX0KPgo+ICAgCWZvcl9lYWNoX2NoaWxkX29mX25vZGUo b3BhbCwgbnApIHsKPiArCQljb25zdCBjaGFyICphdHRyX25hbWU7Cj4gKwkJdTMyIG9wYWxfaW5k ZXg7Cj4gKwo+ICAgCQlpZiAobnAtPm5hbWUgPT0gTlVMTCkKPiAgIAkJCWNvbnRpbnVlOwo+Cj4g QEAgLTI2OCwxMCArMjY1LDE3IEBAIHN0YXRpYyBpbnQgY3JlYXRlX2RldmljZV9hdHRycyhzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+Cj4gICAJCXNkYXRhW2NvdW50XS5pZCA9IHNlbnNv cl9pZDsKPiAgIAkJc2RhdGFbY291bnRdLnR5cGUgPSB0eXBlOwo+IC0JCWVyciA9IGNyZWF0ZV9o d21vbl9hdHRyX25hbWUoJnBkZXYtPmRldiwgdHlwZSwgbnAtPm5hbWUsCj4gLQkJCQkJICAgICBz ZGF0YVtjb3VudF0ubmFtZSk7Cj4gLQkJaWYgKGVycikKPiArCj4gKwkJZXJyID0gcGFyc2Vfb3Bh bF9ub2RlX25hbWUobnAtPm5hbWUsIHR5cGUsICZvcGFsX2luZGV4LAo+ICsJCQkJCSAgICZhdHRy X25hbWUpOwo+ICsJCWlmIChlcnIpIHsKPiArCQkJZGV2X2VycigmcGRldi0+ZGV2LCAiU2Vuc29y IGRldmljZSBub2RlIG5hbWUgJyVzJyBpcyBpbnZhbGlkXG4iLAo+ICsJCQkJbnAtPm5hbWUpOwo+ ICAgCQkJZ290byBleGl0X3B1dF9ub2RlOwo+ICsJCX0KPiArCj4gKwkJc25wcmludGYoc2RhdGFb Y291bnRdLm5hbWUsIE1BWF9BVFRSX0xFTiwgIiVzJWRfJXMiLAo+ICsJCQkgc2Vuc29yX2dyb3Vw c1t0eXBlXS5uYW1lLCBvcGFsX2luZGV4LCBhdHRyX25hbWUpOwo+Cj4gICAJCXN5c2ZzX2F0dHJf aW5pdCgmc2RhdGFbY291bnRdLmRldl9hdHRyLmF0dHIpOwo+ICAgCQlzZGF0YVtjb3VudF0uZGV2 X2F0dHIuYXR0ci5uYW1lID0gc2RhdGFbY291bnRdLm5hbWU7Cj4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsbS1zZW5zb3JzIG1haWxpbmcgbGlzdAps bS1zZW5zb3JzQGxtLXNlbnNvcnMub3JnCmh0dHA6Ly9saXN0cy5sbS1zZW5zb3JzLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xtLXNlbnNvcnM From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bh-25.webhostbox.net (bh-25.webhostbox.net [208.91.199.152]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id CA1051A09E1 for ; Thu, 19 Mar 2015 15:02:18 +1100 (AEDT) Received: from mailnull by bh-25.webhostbox.net with sa-checked (Exim 4.82) (envelope-from ) id 1YYRey-002ww1-9Y for linuxppc-dev@lists.ozlabs.org; Thu, 19 Mar 2015 04:02:16 +0000 Message-ID: <550A4A3A.3090406@roeck-us.net> Date: Wed, 18 Mar 2015 21:02:02 -0700 From: Guenter Roeck MIME-Version: 1.0 To: =?UTF-8?B?Q8OpZHJpYyBMZSBHb2F0ZXI=?= , lm-sensors@lm-sensors.org Subject: Re: [PATCH 4/5] hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype References: <1423117857-32759-1-git-send-email-clg@fr.ibm.com> <1426693665-10797-5-git-send-email-clg@fr.ibm.com> In-Reply-To: <1426693665-10797-5-git-send-email-clg@fr.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Cc: Stewart Smith , Neelesh Gupta , skiboot@lists.ozlabs.org, linuxppc-dev@lists.ozlabs.org, Jean Delvare List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On 03/18/2015 08:47 AM, Cédric Le Goater wrote: > It simplifies the creation of the hwmon attributes and will help when > support for a new device tree layout is added. The patch also changes > the name of the routine to parse_opal_node_name(). > > Signed-off-by: Cédric Le Goater > --- > drivers/hwmon/ibmpowernv.c | 32 ++++++++++++++++++-------------- > 1 file changed, 18 insertions(+), 14 deletions(-) > > diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c > index edcc4ffa5ad0..570d2360b698 100644 > --- a/drivers/hwmon/ibmpowernv.c > +++ b/drivers/hwmon/ibmpowernv.c > @@ -155,28 +155,22 @@ static const char *convert_opal_attr_name(enum sensors type, > * which need to be mapped as fan2_input, temp1_max respectively before > * populating them inside hwmon device class. > */ > -static int create_hwmon_attr_name(struct device *dev, enum sensors type, > - const char *node_name, > - char *hwmon_attr_name) > +static int parse_opal_node_name(const char *node_name, enum sensors type, > + u32 *index, const char **hwmon_attr_name) > { Please have the function return const char * and merge the error code with ERR_PTR. > char attr_suffix[MAX_ATTR_LEN]; > const char *attr_name; > - u32 index; > int err; > > - err = get_sensor_index_attr(node_name, &index, attr_suffix); > - if (err) { > - dev_err(dev, "Sensor device node name '%s' is invalid\n", > - node_name); > + err = get_sensor_index_attr(node_name, index, attr_suffix); > + if (err) > return err; > - } > > attr_name = convert_opal_attr_name(type, attr_suffix); > if (!attr_name) > return -ENOENT; > > - snprintf(hwmon_attr_name, MAX_ATTR_LEN, "%s%d_%s", > - sensor_groups[type].name, index, attr_name); > + *hwmon_attr_name = attr_name; > return 0; > } > > @@ -252,6 +246,9 @@ static int create_device_attrs(struct platform_device *pdev) > } > > for_each_child_of_node(opal, np) { > + const char *attr_name; > + u32 opal_index; > + > if (np->name == NULL) > continue; > > @@ -268,10 +265,17 @@ static int create_device_attrs(struct platform_device *pdev) > > sdata[count].id = sensor_id; > sdata[count].type = type; > - err = create_hwmon_attr_name(&pdev->dev, type, np->name, > - sdata[count].name); > - if (err) > + > + err = parse_opal_node_name(np->name, type, &opal_index, > + &attr_name); > + if (err) { > + dev_err(&pdev->dev, "Sensor device node name '%s' is invalid\n", > + np->name); > goto exit_put_node; > + } > + > + snprintf(sdata[count].name, MAX_ATTR_LEN, "%s%d_%s", > + sensor_groups[type].name, opal_index, attr_name); > > sysfs_attr_init(&sdata[count].dev_attr.attr); > sdata[count].dev_attr.attr.name = sdata[count].name; >