From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Norris Subject: Re: [v3,1/4] mfd: cros_ec: Add cros_ec_cmd_xfer_status helper Date: Fri, 17 Jun 2016 18:08:55 -0700 Message-ID: <20160618010855.GA67034@google.com> References: <1466193495-95801-2-git-send-email-briannorris@chromium.org> <20160617214151.GA1400@roeck-us.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20160617214151.GA1400@roeck-us.net> Sender: linux-kernel-owner@vger.kernel.org To: Guenter Roeck 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 List-Id: devicetree@vger.kernel.org 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 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 API if that's what you'd like... Brian