From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751046AbcFREN5 (ORCPT ); Sat, 18 Jun 2016 00:13:57 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:49663 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750738AbcFRENy (ORCPT ); Sat, 18 Jun 2016 00:13:54 -0400 Subject: Re: [v3,1/4] mfd: cros_ec: Add cros_ec_cmd_xfer_status helper To: Brian Norris References: <1466193495-95801-2-git-send-email-briannorris@chromium.org> <20160617214151.GA1400@roeck-us.net> <20160618010855.GA67034@google.com> Cc: Lee Jones , Thierry Reding , Olof Johansson , linux-kernel@vger.kernel.org, Doug Anderson , Brian Norris , linux-pwm@vger.kernel.org, devicetree@vger.kernel.org, Boris Brezillon , Stephen Barber , Javier Martinez Canillas , Benson Leung , Enric Balletbo , Randall Spangler , Shawn Nematbakhsh , Dmitry Torokhov , Todd Broch , Gwendal Grignou , Tomeu Vizoso From: Guenter Roeck Message-ID: <5764CA24.1080803@roeck-us.net> Date: Fri, 17 Jun 2016 21:12:20 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <20160618010855.GA67034@google.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated_sender: linux@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: linux@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: linux@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/17/2016 06:08 PM, Brian Norris wrote: > On Fri, Jun 17, 2016 at 02:41:51PM -0700, Guenter Roeck wrote: >> On Fri, Jun 17, 2016 at 12:58:12PM -0700, Brian Norris wrote: >>> +int cros_ec_cmd_xfer_status(struct cros_ec_device *ec_dev, >>> + struct cros_ec_command *msg) >>> +{ >>> + int ret; >>> + >>> + ret = cros_ec_cmd_xfer(ec_dev, msg); >>> + if (ret < 0) >>> + dev_err(ec_dev->dev, "Command xfer error (err:%d)\n", ret); >>> + else if (msg->result != EC_RES_SUCCESS) >>> + return -EECRESULT - msg->result; >> >> I have been wondering about the error return codes here, and if they should be >> converted to standard Linux error codes. For example, I just hit error -1003 >> with a driver I am working on. This translates to EC_RES_INVALID_PARAM, or, >> in Linux terms, -EINVAL. I think it would be better to use standard error >> codes, especially since some of the errors are logged. > > How do you propose we do that? Do all of the following become EINVAL? > > EC_RES_INVALID_COMMAND > EC_RES_INVALID_PARAM > EC_RES_INVALID_VERSION > EC_RES_INVALID_HEADER > Personal preference, but yes. > We lose a lot of information that way. And particularly, cros_ec_num_pwms() > won't be able to count as accurately. But I can just go back to not using this You lost me there, sorry. > API if that's what you'd like... > That isn't what I suggested. Guenter