From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 727C81A051A for ; Thu, 19 Mar 2015 02:47:59 +1100 (AEDT) Received: from /spool/local by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 18 Mar 2015 15:47:56 -0000 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= To: lm-sensors@lm-sensors.org Subject: [PATCH 4/5] hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype Date: Wed, 18 Mar 2015 16:47:44 +0100 Message-Id: <1426693665-10797-5-git-send-email-clg@fr.ibm.com> In-Reply-To: <1423117857-32759-1-git-send-email-clg@fr.ibm.com> References: <1423117857-32759-1-git-send-email-clg@fr.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Stewart Smith , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jean Delvare , Neelesh Gupta , skiboot@lists.ozlabs.org, linuxppc-dev@lists.ozlabs.org, Guenter Roeck List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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) { 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; -- 1.7.10.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Date: Wed, 18 Mar 2015 15:47:44 +0000 Subject: [lm-sensors] [PATCH 4/5] hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype Message-Id: <1426693665-10797-5-git-send-email-clg@fr.ibm.com> List-Id: References: <1423117857-32759-1-git-send-email-clg@fr.ibm.com> In-Reply-To: <1423117857-32759-1-git-send-email-clg@fr.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lm-sensors@lm-sensors.org Cc: Stewart Smith , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jean Delvare , Neelesh Gupta , skiboot@lists.ozlabs.org, linuxppc-dev@lists.ozlabs.org, Guenter Roeck SXQgc2ltcGxpZmllcyB0aGUgY3JlYXRpb24gb2YgdGhlIGh3bW9uIGF0dHJpYnV0ZXMgYW5kIHdp bGwgaGVscCB3aGVuCnN1cHBvcnQgZm9yIGEgbmV3IGRldmljZSB0cmVlIGxheW91dCBpcyBhZGRl ZC4gVGhlIHBhdGNoIGFsc28gY2hhbmdlcwp0aGUgbmFtZSBvZiB0aGUgcm91dGluZSB0byBwYXJz ZV9vcGFsX25vZGVfbmFtZSgpLgoKU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0Bmci5pYm0uY29tPgotLS0KIGRyaXZlcnMvaHdtb24vaWJtcG93ZXJudi5jIHwgICAzMiArKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlv bnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vaWJtcG93 ZXJudi5jIGIvZHJpdmVycy9od21vbi9pYm1wb3dlcm52LmMKaW5kZXggZWRjYzRmZmE1YWQwLi41 NzBkMjM2MGI2OTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaHdtb24vaWJtcG93ZXJudi5jCisrKyBi L2RyaXZlcnMvaHdtb24vaWJtcG93ZXJudi5jCkBAIC0xNTUsMjggKzE1NSwyMiBAQCBzdGF0aWMg Y29uc3QgY2hhciAqY29udmVydF9vcGFsX2F0dHJfbmFtZShlbnVtIHNlbnNvcnMgdHlwZSwKICAq IHdoaWNoIG5lZWQgdG8gYmUgbWFwcGVkIGFzIGZhbjJfaW5wdXQsIHRlbXAxX21heCByZXNwZWN0 aXZlbHkgYmVmb3JlCiAgKiBwb3B1bGF0aW5nIHRoZW0gaW5zaWRlIGh3bW9uIGRldmljZSBjbGFz cy4KICAqLwotc3RhdGljIGludCBjcmVhdGVfaHdtb25fYXR0cl9uYW1lKHN0cnVjdCBkZXZpY2Ug KmRldiwgZW51bSBzZW5zb3JzIHR5cGUsCi0JCQkJCSBjb25zdCBjaGFyICpub2RlX25hbWUsCi0J CQkJCSBjaGFyICpod21vbl9hdHRyX25hbWUpCitzdGF0aWMgaW50IHBhcnNlX29wYWxfbm9kZV9u YW1lKGNvbnN0IGNoYXIgKm5vZGVfbmFtZSwgZW51bSBzZW5zb3JzIHR5cGUsCisJdTMyICppbmRl eCwgY29uc3QgY2hhciAqKmh3bW9uX2F0dHJfbmFtZSkKIHsKIAljaGFyIGF0dHJfc3VmZml4W01B WF9BVFRSX0xFTl07CiAJY29uc3QgY2hhciAqYXR0cl9uYW1lOwotCXUzMiBpbmRleDsKIAlpbnQg ZXJyOwogCi0JZXJyID0gZ2V0X3NlbnNvcl9pbmRleF9hdHRyKG5vZGVfbmFtZSwgJmluZGV4LCBh dHRyX3N1ZmZpeCk7Ci0JaWYgKGVycikgewotCQlkZXZfZXJyKGRldiwgIlNlbnNvciBkZXZpY2Ug bm9kZSBuYW1lICclcycgaXMgaW52YWxpZFxuIiwKLQkJCW5vZGVfbmFtZSk7CisJZXJyID0gZ2V0 X3NlbnNvcl9pbmRleF9hdHRyKG5vZGVfbmFtZSwgaW5kZXgsIGF0dHJfc3VmZml4KTsKKwlpZiAo ZXJyKQogCQlyZXR1cm4gZXJyOwotCX0KIAogCWF0dHJfbmFtZSA9IGNvbnZlcnRfb3BhbF9hdHRy X25hbWUodHlwZSwgYXR0cl9zdWZmaXgpOwogCWlmICghYXR0cl9uYW1lKQogCQlyZXR1cm4gLUVO T0VOVDsKIAotCXNucHJpbnRmKGh3bW9uX2F0dHJfbmFtZSwgTUFYX0FUVFJfTEVOLCAiJXMlZF8l cyIsCi0JCSBzZW5zb3JfZ3JvdXBzW3R5cGVdLm5hbWUsIGluZGV4LCBhdHRyX25hbWUpOworCSpo d21vbl9hdHRyX25hbWUgPSBhdHRyX25hbWU7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI1Miw2ICsy NDYsOSBAQCBzdGF0aWMgaW50IGNyZWF0ZV9kZXZpY2VfYXR0cnMoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKIAl9CiAKIAlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKG9wYWwsIG5wKSB7CisJ CWNvbnN0IGNoYXIgKmF0dHJfbmFtZTsKKwkJdTMyIG9wYWxfaW5kZXg7CisKIAkJaWYgKG5wLT5u YW1lID09IE5VTEwpCiAJCQljb250aW51ZTsKIApAQCAtMjY4LDEwICsyNjUsMTcgQEAgc3RhdGlj IGludCBjcmVhdGVfZGV2aWNlX2F0dHJzKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAK IAkJc2RhdGFbY291bnRdLmlkID0gc2Vuc29yX2lkOwogCQlzZGF0YVtjb3VudF0udHlwZSA9IHR5 cGU7Ci0JCWVyciA9IGNyZWF0ZV9od21vbl9hdHRyX25hbWUoJnBkZXYtPmRldiwgdHlwZSwgbnAt Pm5hbWUsCi0JCQkJCSAgICAgc2RhdGFbY291bnRdLm5hbWUpOwotCQlpZiAoZXJyKQorCisJCWVy ciA9IHBhcnNlX29wYWxfbm9kZV9uYW1lKG5wLT5uYW1lLCB0eXBlLCAmb3BhbF9pbmRleCwKKwkJ CQkJICAgJmF0dHJfbmFtZSk7CisJCWlmIChlcnIpIHsKKwkJCWRldl9lcnIoJnBkZXYtPmRldiwg IlNlbnNvciBkZXZpY2Ugbm9kZSBuYW1lICclcycgaXMgaW52YWxpZFxuIiwKKwkJCQlucC0+bmFt ZSk7CiAJCQlnb3RvIGV4aXRfcHV0X25vZGU7CisJCX0KKworCQlzbnByaW50ZihzZGF0YVtjb3Vu dF0ubmFtZSwgTUFYX0FUVFJfTEVOLCAiJXMlZF8lcyIsCisJCQkgc2Vuc29yX2dyb3Vwc1t0eXBl XS5uYW1lLCBvcGFsX2luZGV4LCBhdHRyX25hbWUpOwogCiAJCXN5c2ZzX2F0dHJfaW5pdCgmc2Rh dGFbY291bnRdLmRldl9hdHRyLmF0dHIpOwogCQlzZGF0YVtjb3VudF0uZGV2X2F0dHIuYXR0ci5u YW1lID0gc2RhdGFbY291bnRdLm5hbWU7Ci0tIAoxLjcuMTAuNAoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxtLXNlbnNvcnMgbWFpbGluZyBsaXN0Cmxt LXNlbnNvcnNAbG0tc2Vuc29ycy5vcmcKaHR0cDovL2xpc3RzLmxtLXNlbnNvcnMub3JnL21haWxt YW4vbGlzdGluZm8vbG0tc2Vuc29ycw=