public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Matti Vaittinen <mazziesaccount@gmail.com>
Cc: Subhajit Ghosh <subhajit.ghosh@tweaklogic.com>,
	Jonathan Cameron <jic23@kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>, Marek Vasut <marex@denx.de>,
	Anshul Dalal <anshulusr@gmail.com>,
	Javier Carrasco <javier.carrasco.cruz@gmail.com>,
	Matt Ranostay <matt@ranostay.sg>,
	Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@axis.com>,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v8 5/5] iio: light: Add support for APDS9306 Light Sensor
Date: Thu, 29 Feb 2024 15:42:53 +0200	[thread overview]
Message-ID: <ZeCJ3T8HVaQZC1Ps@smile.fi.intel.com> (raw)
In-Reply-To: <21ecfb62-30b7-4073-bad6-46a9e08e08b0@gmail.com>

On Thu, Feb 29, 2024 at 02:58:52PM +0200, Matti Vaittinen wrote:
> On 2/29/24 14:34, Subhajit Ghosh wrote:
> > On 29/2/24 03:57, Andy Shevchenko wrote:
> > > On Wed, Feb 28, 2024 at 03:08:56PM +0200, Matti Vaittinen wrote:
> > > > On 2/28/24 14:24, Subhajit Ghosh wrote:

...

> > > > > +    if (gain_new < 0) {
> > > > > +        dev_err_ratelimited(dev, "Unsupported gain with time\n");
> > > > > +        return gain_new;
> > > > > +    }
> > > 
> > > What is the difference between negative response from the function
> > > itself and
> > > similar in gain_new?
> > > 
> > -ve response form the function is an error condition.
> > -ve value in gain_new means - no valid gains could be computed.
> > In case of error conditions from the function, the gain_new is also set
> > to -1.
> > My use case is valid hardware gain so I went for checking only gain_new.
> > Matti will be the best person to answer on this.
> 
> I now rely on the kerneldoc for the
> iio_gts_find_new_gain_by_old_gain_time() as it seems reasonable to me:
> 
> * Return: 0 if an exactly matching supported new gain was found. When a
> * non-zero value is returned, the @new_gain will be set to a negative or
> * positive value. The negative value means that no gain could be computed.
> * Positive value will be the "best possible new gain there could be". There
> * can be two reasons why finding the "best possible" new gain is not deemed
> * successful. 1) This new value cannot be supported by the hardware. 2) The
> new
> * gain required to maintain the scale would not be an integer. In this case,
> * the "best possible" new gain will be a floored optimal gain, which may or
> * may not be supported by the hardware.

> Eg, if ret is zero, there is no need to check validity of the gain_new but
> it is guaranteed to be one of the supported gains.

Right, but this kernel doc despite being so verbose does not fully answer my
question. What is the semantic of that "negative value"? I would expect to have
the error code there (maybe different to what the function returns), but at
least be able to return it to the upper layers if needed.

Hence 2 ARs I see:
1) clarify the kernel documentation there;
2) update the semantic of the gain_new to simplify caller's code.

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2024-02-29 13:43 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-28 12:24 [PATCH v8 0/5] Support for Avago APDS9306 Ambient Light Sensor Subhajit Ghosh
2024-02-28 12:24 ` [PATCH v8 1/5] dt-bindings: iio: light: Merge APDS9300 and APDS9960 schemas Subhajit Ghosh
2024-02-28 12:24 ` [PATCH v8 2/5] dt-bindings: iio: light: adps9300: Add missing vdd-supply Subhajit Ghosh
2024-02-28 12:24 ` [PATCH v8 3/5] dt-bindings: iio: light: adps9300: Update interrupt definitions Subhajit Ghosh
2024-02-28 12:24 ` [PATCH v8 4/5] dt-bindings: iio: light: Avago APDS9306 Subhajit Ghosh
2024-02-28 12:24 ` [PATCH v8 5/5] iio: light: Add support for APDS9306 Light Sensor Subhajit Ghosh
2024-02-28 13:08   ` Matti Vaittinen
2024-02-28 17:27     ` Andy Shevchenko
2024-02-29 12:34       ` Subhajit Ghosh
2024-02-29 12:58         ` Matti Vaittinen
2024-02-29 13:42           ` Andy Shevchenko [this message]
2024-02-29 15:35             ` Matti Vaittinen
2024-03-03 14:55               ` Jonathan Cameron
2024-02-29 11:51     ` Subhajit Ghosh
2024-03-03 15:14   ` Jonathan Cameron
2024-03-04 12:48     ` Subhajit Ghosh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZeCJ3T8HVaQZC1Ps@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=anshulusr@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=javier.carrasco.cruz@gmail.com \
    --cc=jic23@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=matt@ranostay.sg \
    --cc=mazziesaccount@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=stefan.windfeldt-prytz@axis.com \
    --cc=subhajit.ghosh@tweaklogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox