From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752513AbcBLMWt (ORCPT ); Fri, 12 Feb 2016 07:22:49 -0500 Received: from mail-bn1on0058.outbound.protection.outlook.com ([157.56.110.58]:36352 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752447AbcBLMWq (ORCPT ); Fri, 12 Feb 2016 07:22:46 -0500 X-Greylist: delayed 1963 seconds by postgrey-1.27 at vger.kernel.org; Fri, 12 Feb 2016 07:22:46 EST Authentication-Results: spf=pass (sender IP is 137.71.25.55) smtp.mailfrom=analog.com; kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=bestguesspass action=none header.from=analog.com; Reply-To: Subject: Re: [PATCH] regulator: ad5398: Fix return value of ad5398_write_reg References: <1455185823.6323.1.camel@ingics.com> To: Axel Lin , Mark Brown CC: Liam Girdwood , Sonic Zhang , From: Michael Hennerich Organization: Analog Devices Inc. Message-ID: <56BDC53B.9030506@analog.com> Date: Fri, 12 Feb 2016 12:42:51 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1455185823.6323.1.camel@ingics.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD023;1:6HBGnsDsMsl443Qfl7DrX3Z08AiHuuFomuREOxjU+tc3YF0PR21x+pfjYq1cnQbnP/kjhpwXOjsd/936ZqCKavLIl+BU0PYk0q2/KC5VMaldFOQ7D4JLOboCP26+mtgD4Mpvvzx4JSWpl9k/+saIwrQMoIevNgxb1xB9utOHq32DcTPf07q4T12C6XWx31LUWT0WYcTs33YEbEyxHEYCGgu6/JTxmgWNof0OqCis7REzSInv00ChmsrY7FB1SosplqtiBzqReAKzkm0pS4pFIn5rF0w2qoFo5gRopNIPs1pAEQTAZFu7c7BLSDHnwobRUQaw3IsI7Gk6n835pmKChea8sJxeidKQW0pLC4jJ3UPDTLtylQKCqK3j/g76ADa/TCyo7RYb4L9D/zo3FctJ7+HwrKFLGNuxsG11ExqPbj7QiFAMSN1mQU7MXYcKZhxZ1ela3mJ1RD+s72Cw84wduQ== X-Forefront-Antispam-Report: CIP:137.71.25.55;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(377454003)(189002)(479174004)(199003)(24454002)(189998001)(23746002)(19580405001)(76176999)(5001770100001)(87936001)(5001970100001)(83506001)(2906002)(86362001)(33656002)(230700001)(575784001)(65816999)(36756003)(77096005)(106466001)(4001350100001)(1096002)(50986999)(586003)(59896002)(65806001)(5008740100001)(6806005)(47776003)(43066003)(65956001)(4326007)(19580395003)(50466002)(53806999)(3450700001)(11100500001)(54356999)(2950100001)(1220700001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0301MB0768;H:nwd2mta1.analog.com;FPR:;SPF:Pass;MLV:sfv;MX:1;A:1;LANG:en; X-MS-Office365-Filtering-Correlation-Id: af48eab8-f9e3-4d9f-d10f-08d333a2a290 X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0768;2:4zcI/rplBuKTn1rmt8CeUrHn2bPr8QvmGlxO8z0sX7e2l00l0hd1bywghKADjhsu+N4yRw1UiB9O4Mpgd9IAYhJmC3JchxAEOHDIF9vd47sO7ufNg5fRR2oP7VJ2E4WMwFoYJp4SBc4gnMeGjd7msHT9JPSjla5pUAtfbLl/jF1PyQpF2Lz8G1K5UJxq8pyU;3:tEc6drztSdhMiQKSQtBpToqRuH8yLEcUlg95q7lZ8oNlkJ6M+giqb0SrGAsGfE5H+XTYNTmRB7Dzbq++RTC4am/n1qPdxBbdUBTzOL3VARVT6VIkAdMo5vjwxyxJdTaE8d2+jiyKbS/b/WepJ9lgZsrurv4+mhobiXLsxYizQcKDOI7I8O6UItvyUkzoH++8xn0tdUjJ4Jrdnfzk+NdUvrdumrHxnbRixiJ1fy/bb7QZA5ixKiB7gqe53UWvB85z+s+JzTpQpoF9MgFUdPkqYw==;25:J3XIWySe0VWNkm0RdX29te6Kt1lQ1q7a9uveFH068Pv4WfG8bGIlYu9fB6rDVLvQ160bYYBlW5ulEEsdyQYB97F2ynrrgcO02IGqDvqW5TsfyuM6LGgytRk2bWVgugXx/WZUWt5hLcwqSBxjCm92hCz3eZ+ItWpuTCCAACcWThxNqrX8pgg8QkO9uDu2HP+jKnOHBqYlXHqkV8fG15m0Iv5G50lw5+IOw3mMeCJbIQ4ByZ9gEjayFlExSVmlSGgo7hEUjBhPbXZeQcUb3Do4/3eSQxUw+R7GyLOpv5vhKp6Hvfp6EkADZh+XsFnxY11W X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:DM2PR0301MB0768; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0768;20:gvN41WV6ZPdspMGso26ykdOxB/bgaZtQ+z8zQWxp/tajjwlQcA3t4MkhZpFWziJDJWkGGBNf+bUwMP41J608luIsw2x39E+nniFX48xQu3JOx8D5DxunYcog1+GhtHz7M4i2IXgMziSyS7WSn/xoQQoC4sCnS+q5MAEs1WH+oj1O7cZeMXHwfRCPnfv+E6veqMlgxHXg/m/5kzMW82qD+N1DFCNpYCDo5a4vcju5XHDxcVIdIuxQnzgglsw6XgWcJojI8TRDTUL283y0gKTo58zYeHyFBycRS3iy+HzFfOsllCyxtjWTusgy3IsLJ0TFicmwRZFm5A6cVrQsXIhKLREsB6/MZccQyGPVBO6n/3ew/qkirPm9EQlw6rxHrfK9iGPYmQ1ore1pPXAafgXSOKw2dqdqMS8OK5l4SYRyvoTIGQDunmT+Me8uyLnUiBJUYJjqibVdpH7DCOHBF74aB27r3kQtmCAjBieNbxPC5F3S/aBbChVdPaNNe58dr7AB X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(232431446821674); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13015025)(13018025)(13024025)(13017025)(8121501046)(13023025)(5005006)(10201501046)(3002001);SRVR:DM2PR0301MB0768;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0768; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0768;4:1tChehIC0yyf8UJC3TS03SrCSNm7qpdt8Ztrd5sk33K8xm9vCCri6Rjdh3tnTiHGD+npqkswAy1VaiN9hxsNFuTHQsOx7lT9o+wTSDcNSRuoOqfHHzuSGnwbUochGB79oy2FiibXSdJTyv/VXUxLRUwfHXCo/4irH3GVZyw300ydihOtKqaMjIXIbbatm5tq8WEopNm+QPr1gwS/GJx70oLqsDLKloOBfIdbkY8cxAzCeli/SeoLHQPxGjzE2WkkJtCCBjuO+/pDJyD34YRMESICZkmM/MheQsiQyzXwGN4IrmkfcGoSTAUsZS+e29oaIRXTuO+Y9ow/X3IazlOx+ut/3ckXYp/3wchH5UL1e4at8FyKv0wF6JZSrIecwmSCeoZ7DYjteaS3uFBrz2U4RjhAiLYqewEmWAhnyLsTNr3srSt5QRXs5rhNHx6bj/kGHWicfEvIfdyQ6ufrdK7hb2I5TP9d994Wqg5bJ0WJHfCs4uZNwcE+BHI4fuqgqikk X-Forefront-PRVS: 0850800A29 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DM2PR0301MB0768;23:qucz1pPUhFrBDMYifeBlMnQY5gbHLkB9D6r?= =?Windows-1252?Q?u2olSuEKG+FvgSm5ddbO/PbuyFOWx0dcQJKbO8YU3WHLvIfyHr+qY+YE?= =?Windows-1252?Q?7WThUzgKvSfhg21BNE4c2g/XaEn4fQ3EARj79QyOxAGi3l2ZfAvZHItt?= =?Windows-1252?Q?q4L2ft4d5Kmgi/AAZp7qyXzQaB8Jj+eCyjrdm6IzVj9meBxk5qnoUNRk?= =?Windows-1252?Q?USCi1PJvjB9V76DE0dQCWu4sg59g+7g3LAtabugN8ukOfFRHoAn1IV0/?= =?Windows-1252?Q?jd9G+v9pRf4nh+L20eYIDcDPF6d5xNu/B9PcemUHwWpCF2NjnAkDxJnk?= =?Windows-1252?Q?Xh8UN/zYuqw5YT8TmOrnfM+G+USZ4yqJPWFKsxJBJ3vSgO93aIvLflK4?= =?Windows-1252?Q?IXNj+s5rZqTmYexLLT4sCM8K56z7ukYJMlSvB3MspVTbqwQPR97gFGj+?= =?Windows-1252?Q?lAoutFpkuqV42S3Sr4ntj0sSOcGK22WzfkK0w1RQ80Fc/5AYgyZC/KXT?= =?Windows-1252?Q?D2JelonhMzFCYig6LQ3k2281ASOwig0hwkxx4Mrx14vqkUEsZCY8nait?= =?Windows-1252?Q?DKUjVwylJaW0RIIzRuOwy4nrJCPyS7AvgiwuyKYW3KEc2ltFp8B0RWVk?= =?Windows-1252?Q?x0DB23ztAiZ6biAZPt4gCHscszR+4SVF0UyVZHqqjrCHb3P3SriPA1o3?= =?Windows-1252?Q?ZX0QKzavRrLuEhvj3NElr+oQYgnXmiNvYQeWQNfL7jJx6jSMdeuerzn9?= =?Windows-1252?Q?sDLd1Brf+QYQhEzdjy19oaDb6qgS6rpKiVjhvjx4WEjIsZS4XdvdZNHX?= =?Windows-1252?Q?qPVqEP1JN3FBCqM68jwq2iMQRPW0/HQ/ROnJs2J+hgFGwA3SoeM+GyDS?= =?Windows-1252?Q?jnsmijJKDgU8+IblwK/sI0y4V715Repgfhc+uyFWrlO6eBvk+YTQPiUk?= =?Windows-1252?Q?bXwlOciRElTXzigf7n6xsjY1cEOMwHRmauq6GY91qgML8ncLCA848aa9?= =?Windows-1252?Q?y+u+FEz85/sLGsYH4VNZkBcqZZPqz4oqqqYZtP84yURATBbxhImbLZzZ?= =?Windows-1252?Q?SSMU/petgEDmBSRzrZKTr8Fc9O6U7Zm2VyjMY6vkjwtDnb0eCc7TAZWK?= =?Windows-1252?Q?kbJ0K0ujPd43qEOsmU9Q+lZednhBKrj82PUbEZv9j+Jhz5BEoV5jp708?= =?Windows-1252?Q?j5ezyM26xKCBc8SY7bk4BcFUmOFYIfCfvSjEQ18RNIDRHjMhqrlC9u8R?= =?Windows-1252?Q?4vy8+1qrxcrdpgNBXQWgw0hyQfCtcd/mllMZhWiM=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0768;5:dvVc1cGOGA5GHBxOa7s9pN3sf6EC4QdJRVQvOrK/kpnIqJQLxDq0egfFGfp99dYJ0XbOqTg9NeQlbyjb02mY/KFr97fs/Im/V1pZ6i9vp9vRwrN36+rdP1P+IGpJQCmPgtHVG7J9BQlEsl3rNhcbLg==;24:B1YFzk/T/LuafEuRPhfyo1MKA9xUGrX6CXVg52q0E1EZ23XoLaIvMtXD9d2PX78qH1xS/4Irp6izdvAJnoDM4opxQcOccrXLg2vPyuYPQms= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2016 11:49:59.3554 (UTC) X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=eaa689b4-8f87-40e0-9c6f-7228de4d754a;Ip=[137.71.25.55];Helo=[nwd2mta1.analog.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0768 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/11/2016 11:17 AM, Axel Lin wrote: > i2c_master_send() returns the number of bytes written on success. > So current code returns 2 if ad5398_write_reg() success. > This return value is propagated to .set_current_limit, .enable and .disable > callbacks of regulator_ops. This can be a problem, for example, if the > users test if the return value of regulator_set_current_limit() is 0. > Fix it by making ad5398_write_reg() return 0 on success. > > Signed-off-by: Axel Lin Acked-by: Michael Hennerich > --- > drivers/regulator/ad5398.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/regulator/ad5398.c b/drivers/regulator/ad5398.c > index ea50a88..8b0f788 100644 > --- a/drivers/regulator/ad5398.c > +++ b/drivers/regulator/ad5398.c > @@ -58,10 +58,12 @@ static int ad5398_write_reg(struct i2c_client *client, const unsigned short data > > val = cpu_to_be16(data); > ret = i2c_master_send(client, (char *)&val, 2); > - if (ret < 0) > + if (ret != 2) { > dev_err(&client->dev, "I2C write error\n"); > + return ret < 0 ? ret : -EIO; > + } > > - return ret; > + return 0; > } > > static int ad5398_get_current_limit(struct regulator_dev *rdev) > -- Greetings, Michael -- Analog Devices GmbH Wilhelm-Wagenfeld-Str. 6 80807 Muenchen Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368; Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin, Margaret Seif