[{"id":1761151,"web_url":"http://patchwork.ozlabs.org/comment/1761151/","msgid":"<1ab25031-39d3-2968-e86b-a42051cb9fd8@linux.vnet.ibm.com>","list_archive_url":null,"date":"2017-08-31T16:11:22","subject":"Re: [PATCH linux dev-4.10 v6 1/3] hwmon: (ucd9000) Add interface to\n\tclear logged faults.","submitter":{"id":70582,"url":"http://patchwork.ozlabs.org/api/people/70582/","name":"Matt Spinler","email":"mspinler@linux.vnet.ibm.com"},"content":"Tested-by: Matt Spinler mspinler@linux.vnet.ibm.com\n\n\nOn 8/30/2017 4:49 PM, Christopher Bostic wrote:\n> Provide a means for user space to clear out any logged faults\n> on these types of devices.  Ability to do so allows user to\n> start with a clean slate at system poweron which can be done\n> multiple times after this driver loads.\n>\n> Signed-off-by: Christopher Bostic <cbostic@linux.vnet.ibm.com>\n> ---\n>   drivers/hwmon/pmbus/ucd9000.c | 49 ++++++++++++++++++++++++++++++++++++++++++-\n>   1 file changed, 48 insertions(+), 1 deletion(-)\n>\n> diff --git a/drivers/hwmon/pmbus/ucd9000.c b/drivers/hwmon/pmbus/ucd9000.c\n> index 3e3aa95..c401e5b 100644\n> --- a/drivers/hwmon/pmbus/ucd9000.c\n> +++ b/drivers/hwmon/pmbus/ucd9000.c\n> @@ -26,6 +26,8 @@\n>   #include <linux/slab.h>\n>   #include <linux/i2c.h>\n>   #include <linux/i2c/pmbus.h>\n> +#include <linux/sysfs.h>\n> +#include <linux/hwmon-sysfs.h>\n>   #include \"pmbus.h\"\n>\n>   enum chips { ucd9000, ucd90120, ucd90124, ucd90160, ucd9090, ucd90910 };\n> @@ -34,6 +36,7 @@\n>   #define UCD9000_NUM_PAGES\t\t0xd6\n>   #define UCD9000_FAN_CONFIG_INDEX\t0xe7\n>   #define UCD9000_FAN_CONFIG\t\t0xe8\n> +#define UCD9000_LOGGED_FAULTS\t\t0xea\n>   #define UCD9000_DEVICE_ID\t\t0xfd\n>\n>   #define UCD9000_MON_TYPE(x)\t(((x) >> 5) & 0x07)\n> @@ -119,6 +122,37 @@ static int ucd9000_read_byte_data(struct i2c_client *client, int page, int reg)\n>   };\n>   MODULE_DEVICE_TABLE(i2c, ucd9000_id);\n>\n> +static ssize_t ucd9000_clear_logged_faults(struct device *dev,\n> +\t\t\t\tstruct device_attribute *attr, const char *buf,\n> +\t\t\t\tsize_t count)\n> +{\n> +\tstruct i2c_client *client = to_i2c_client(dev);\n> +\tint ret;\n> +\n> +\t/* No page set required */\n> +\tret = i2c_smbus_write_byte_data(client, UCD9000_LOGGED_FAULTS, 0);\n> +\tif (ret) {\n> +\t\tdev_err(&client->dev, \"Failed to clear logged faults: %d\\n\",\n> +\t\t\tret);\n> +\n> +\t\treturn ret;\n> +\t}\n> +\n> +\treturn count;\n> +}\n> +\n> +static DEVICE_ATTR(clear_logged_faults, 0200, NULL,\n> +\t\tucd9000_clear_logged_faults);\n> +\n> +static struct attribute *ucd9000_attributes[] = {\n> +\t&dev_attr_clear_logged_faults.attr,\n> +\tNULL\n> +};\n> +\n> +static const struct attribute_group ucd9000_attr_group = {\n> +\t.attrs = ucd9000_attributes,\n> +};\n> +\n>   static int ucd9000_probe(struct i2c_client *client,\n>   \t\t\t const struct i2c_device_id *id)\n>   {\n> @@ -227,16 +261,29 @@ static int ucd9000_probe(struct i2c_client *client,\n>   \t\t  | PMBUS_HAVE_FAN34 | PMBUS_HAVE_STATUS_FAN34;\n>   \t}\n>\n> +\tret = sysfs_create_group(&client->dev.kobj, &ucd9000_attr_group);\n> +\tif (ret < 0) {\n> +\t\tdev_warn(&client->dev, \"Failed to add sysfs files: %d\\n\", ret);\n> +\n> +\t\treturn ret;\n> +\t}\n> +\n>   \treturn pmbus_do_probe(client, mid, info);\n>   }\n>\n> +static int ucd9000_remove(struct i2c_client *client)\n> +{\n> +\tsysfs_remove_group(&client->dev.kobj, &ucd9000_attr_group);\n> +\treturn pmbus_do_remove(client);\n> +}\n> +\n>   /* This is the driver that will be inserted */\n>   static struct i2c_driver ucd9000_driver = {\n>   \t.driver = {\n>   \t\t.name = \"ucd9000\",\n>   \t},\n>   \t.probe = ucd9000_probe,\n> -\t.remove = pmbus_do_remove,\n> +\t.remove = ucd9000_remove,\n>   \t.id_table = ucd9000_id,\n>   };\n>","headers":{"Return-Path":"<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","openbmc@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","openbmc@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjnS626NTz9sPm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 02:11:34 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xjnS60nthzDqXh\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 02:11:34 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n\t[148.163.158.5])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xjnRz3VjCzDqGX\n\tfor <openbmc@lists.ozlabs.org>; Fri,  1 Sep 2017 02:11:26 +1000 (AEST)","from pps.filterd (m0098416.ppops.net [127.0.0.1])\n\tby mx0b-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv7VGAZlJ043760\n\tfor <openbmc@lists.ozlabs.org>; Thu, 31 Aug 2017 12:11:24 -0400","from e11.ny.us.ibm.com (e11.ny.us.ibm.com [129.33.205.201])\n\tby mx0b-001b2d01.pphosted.com with ESMTP id 2cpmx9tkqm-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <openbmc@lists.ozlabs.org>; Thu, 31 Aug 2017 12:11:24 -0400","from localhost\n\tby e11.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <openbmc@lists.ozlabs.org> from <mspinler@linux.vnet.ibm.com>;\n\tThu, 31 Aug 2017 12:11:23 -0400","from b01cxnp22034.gho.pok.ibm.com (9.57.198.24)\n\tby e11.ny.us.ibm.com (146.89.104.198) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tThu, 31 Aug 2017 12:11:21 -0400","from b01ledav005.gho.pok.ibm.com (b01ledav005.gho.pok.ibm.com\n\t[9.57.199.110])\n\tby b01cxnp22034.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP\n\tid v7VGBLKM23330832; Thu, 31 Aug 2017 16:11:21 GMT","from b01ledav005.gho.pok.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id F34BAAE034;\n\tThu, 31 Aug 2017 12:11:45 -0400 (EDT)","from [9.10.99.183] (unknown [9.10.99.183])\n\tby b01ledav005.gho.pok.ibm.com (Postfix) with ESMTP id C5514AE03B;\n\tThu, 31 Aug 2017 12:11:45 -0400 (EDT)"],"Subject":"Re: [PATCH linux dev-4.10 v6 1/3] hwmon: (ucd9000) Add interface to\n\tclear logged faults.","To":"Christopher Bostic <cbostic@linux.vnet.ibm.com>","References":"<20170830214953.73327-1-cbostic@linux.vnet.ibm.com>\n\t<20170830214953.73327-2-cbostic@linux.vnet.ibm.com>","From":"Matt Spinler <mspinler@linux.vnet.ibm.com>","Date":"Thu, 31 Aug 2017 11:11:22 -0500","User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101\n\tThunderbird/45.8.0","MIME-Version":"1.0","In-Reply-To":"<20170830214953.73327-2-cbostic@linux.vnet.ibm.com>","Content-Type":"text/plain; charset=windows-1252; format=flowed","Content-Transfer-Encoding":"7bit","X-TM-AS-GCONF":"00","x-cbid":"17083116-2213-0000-0000-000002126EC0","X-IBM-SpamModules-Scores":"","X-IBM-SpamModules-Versions":"BY=3.00007642; HX=3.00000241; KW=3.00000007;\n\tPH=3.00000004; SC=3.00000226; SDB=6.00910273; UDB=6.00456616;\n\tIPR=6.00690553; \n\tBA=6.00005563; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009;\n\tZB=6.00000000; \n\tZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016945;\n\tXFM=3.00000015; UTC=2017-08-31 16:11:23","X-IBM-AV-DETECTION":"SAVI=unused REMOTE=unused XFE=unused","x-cbparentid":"17083116-2214-0000-0000-00005765504E","Message-Id":"<1ab25031-39d3-2968-e86b-a42051cb9fd8@linux.vnet.ibm.com>","X-Proofpoint-Virus-Version":"vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-08-31_06:, , signatures=0","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=0\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1708310239","X-BeenThere":"openbmc@lists.ozlabs.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"Development list for OpenBMC <openbmc.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/openbmc/>","List-Post":"<mailto:openbmc@lists.ozlabs.org>","List-Help":"<mailto:openbmc-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/openbmc>,\n\t<mailto:openbmc-request@lists.ozlabs.org?subject=subscribe>","Cc":"openbmc@lists.ozlabs.org","Errors-To":"openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"openbmc\"\n\t<openbmc-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"}}]