From: Matti Vaittinen <mazziesaccount@gmail.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>,
Lars-Peter Clausen <lars@metafoo.de>,
Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Samuel Holland <samuel@sholland.org>,
Nuno Sa <nuno.sa@analog.com>,
David Lechner <dlechner@baylibre.com>,
Javier Carrasco <javier.carrasco.cruz@gmail.com>,
Olivier Moysan <olivier.moysan@foss.st.com>,
Guillaume Stols <gstols@baylibre.com>,
Dumitru Ceclan <mitrutzceclan@gmail.com>,
Trevor Gamblin <tgamblin@baylibre.com>,
Matteo Martelli <matteomartelli3@gmail.com>,
Alisa-Dariana Roman <alisadariana@gmail.com>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-sunxi@lists.linux.dev
Subject: Re: [PATCH v7 05/10] iio: adc: sun20i-gpadc: Use adc-helpers
Date: Mon, 17 Mar 2025 10:42:07 +0200 [thread overview]
Message-ID: <0db2a42f-d393-4e75-afbf-cf30c0e06cce@gmail.com> (raw)
In-Reply-To: <Z9fUmo5wp3EcNWzm@smile.fi.intel.com>
On 17/03/2025 09:51, Andy Shevchenko wrote:
> On Mon, Mar 17, 2025 at 09:11:08AM +0200, Matti Vaittinen wrote:
>> On 16/03/2025 11:41, Jonathan Cameron wrote:
>>> On Thu, 13 Mar 2025 14:34:24 +0200
>>> Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>>>> On Thu, Mar 13, 2025 at 09:18:49AM +0200, Matti Vaittinen wrote:
>
> ...
>
>>>>> + num_channels = devm_iio_adc_device_alloc_chaninfo_se(dev,
>>>>> + &sun20i_gpadc_chan_template, -1, &channels);
>>>>> + if (num_channels < 0)
>>>>> + return num_channels;
>>>>> +
>>>>> if (num_channels == 0)
>>>>> return dev_err_probe(dev, -ENODEV, "no channel children\n");
>>>>
>>>> Note, this what I would expected in your helper to see, i.e. separated cases
>>>> for < 0 (error code) and == 0, no channels.
>>>>
>>>> Also, are all users going to have this check? Usually in other similar APIs
>>>> we return -ENOENT. And user won't need to have an additional check in case of
>>>> 0 being considered as an error case too.
>>> In a few cases we'll need to do the dance the other way in the caller.
>>> So specifically check for -ENOENT and not treat it as an error.
>>>
>>> That stems from channel nodes being optionally added to drivers after
>>> they have been around a while (usually to add more specific configuration)
>>> and needing to maintain old behaviour of presenting all channels with default
>>> settings.
>>>
>>> I agree that returning -ENOENT is a reasonable way to handle this.
>>
>> I agree - but I'm going to use -ENODEV instead of -ENOENT because that's
>> what the current callers return if they find no channels. That way the
>> drivers can return the value directly without converting -ENOENT to -ENODEV.
>
> ENODEV can be easily clashed with other irrelevant cases,
Can you please explain what cases?
> ENOENT is the correct
> error code.
I kind of agree if we look this from the fwnode perspective. But, when
we look this from the intended user's perspective, I can very well
understand the -ENODEV. Returning -ENODEV from ADC driver's probe which
can't find any of the channels feels correct to me.
> If drivers return this instead of another error code, nothing bad
> happen, it's not an ABI path, correct?
I don't know if failure returned from a probe is an ABI. I still feel
-ENODEV is correct value, and I don't want to change it for existing
users - and I think also new ADC drivers should use -ENODEV if they find
no channels at all.
Besides that I think -ENODEV to be right, changing it to -ENOENT for
existing callers requires a buy-in from Jonathan (and/or) the driver
maintainers.
Yours,
-- Matti
next prev parent reply other threads:[~2025-03-17 8:42 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-13 7:16 [PATCH v7 00/10] Support ROHM BD79124 ADC Matti Vaittinen
2025-03-13 7:17 ` [PATCH v7 01/10] dt-bindings: ROHM BD79124 ADC/GPO Matti Vaittinen
2025-03-13 7:18 ` [PATCH v7 02/10] property: Add functions to iterate named child Matti Vaittinen
2025-03-13 12:15 ` Andy Shevchenko
2025-03-16 21:45 ` Marcelo Schmitt
2025-03-13 7:18 ` [PATCH v7 03/10] iio: adc: add helpers for parsing ADC nodes Matti Vaittinen
2025-03-13 12:31 ` Andy Shevchenko
2025-03-13 13:17 ` Matti Vaittinen
2025-03-13 13:29 ` Andy Shevchenko
2025-03-16 9:38 ` Jonathan Cameron
2025-03-17 8:22 ` Matti Vaittinen
2025-03-13 7:18 ` [PATCH v7 04/10] iio: adc: rzg2l_adc: Use adc-helpers Matti Vaittinen
2025-03-13 7:18 ` [PATCH v7 05/10] iio: adc: sun20i-gpadc: " Matti Vaittinen
2025-03-13 12:34 ` Andy Shevchenko
2025-03-16 9:41 ` Jonathan Cameron
2025-03-17 7:11 ` Matti Vaittinen
2025-03-17 7:51 ` Andy Shevchenko
2025-03-17 8:42 ` Matti Vaittinen [this message]
2025-03-17 9:27 ` Andy Shevchenko
2025-03-17 10:45 ` Jonathan Cameron
2025-03-13 7:19 ` [PATCH v7 06/10] iio: adc: Support ROHM BD79124 ADC Matti Vaittinen
2025-03-13 13:19 ` Andy Shevchenko
2025-03-14 7:31 ` Matti Vaittinen
2025-03-14 8:52 ` Matti Vaittinen
2025-03-14 14:33 ` Andy Shevchenko
2025-03-16 9:52 ` Jonathan Cameron
2025-03-16 10:01 ` Jonathan Cameron
2025-03-17 6:52 ` Matti Vaittinen
2025-03-17 10:52 ` Jonathan Cameron
2025-03-14 9:22 ` Matti Vaittinen
2025-03-14 14:37 ` Andy Shevchenko
2025-03-17 7:07 ` Matti Vaittinen
2025-03-17 7:57 ` Andy Shevchenko
2025-03-17 8:33 ` Matti Vaittinen
2025-03-16 11:02 ` Jonathan Cameron
2025-03-17 7:34 ` Matti Vaittinen
2025-03-17 11:24 ` Matti Vaittinen
2025-03-30 16:04 ` Jonathan Cameron
2025-03-31 7:37 ` Andy Shevchenko
2025-03-31 7:51 ` Matti Vaittinen
2025-03-13 7:19 ` [PATCH v7 07/10] MAINTAINERS: Add IIO ADC helpers Matti Vaittinen
2025-03-13 7:19 ` [PATCH v7 08/10] MAINTAINERS: Add ROHM BD79124 ADC/GPO Matti Vaittinen
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=0db2a42f-d393-4e75-afbf-cf30c0e06cce@gmail.com \
--to=mazziesaccount@gmail.com \
--cc=alisadariana@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dlechner@baylibre.com \
--cc=gstols@baylibre.com \
--cc=javier.carrasco.cruz@gmail.com \
--cc=jernej.skrabec@gmail.com \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=matteomartelli3@gmail.com \
--cc=matti.vaittinen@fi.rohmeurope.com \
--cc=mitrutzceclan@gmail.com \
--cc=nuno.sa@analog.com \
--cc=olivier.moysan@foss.st.com \
--cc=samuel@sholland.org \
--cc=tgamblin@baylibre.com \
--cc=wens@csie.org \
/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;
as well as URLs for NNTP newsgroup(s).