From: Jonathan Cameron <jic23@kernel.org>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Antoniu Miclaus <antoniu.miclaus@analog.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Gerald Loacker <gerald.loacker@wolfvision.net>,
Gwendal Grignou <gwendal@chromium.org>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-iio@vger.kernel.org, Daniel Scally <djrscally@gmail.com>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>
Subject: Re: [PATCH v1 2/6] device property: Add fwnode_property_match_property_string()
Date: Mon, 28 Aug 2023 19:01:01 +0100 [thread overview]
Message-ID: <20230828190101.50f70921@jic23-huawei> (raw)
In-Reply-To: <ZNTlniWf8Ou9hHOT@smile.fi.intel.com>
On Thu, 10 Aug 2023 16:26:54 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> On Wed, Aug 09, 2023 at 06:59:44PM +0100, Jonathan Cameron wrote:
> > On Tue, 8 Aug 2023 19:27:56 +0300
> > Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>
> ...
>
> > > +int fwnode_property_match_property_string(const struct fwnode_handle *fwnode,
> > > + const char *propname, const char * const *array, size_t n)
> >
> > Hi Andy,
> >
> > Whilst I'm not 100% sold on adding ever increasing complexity to what we
> > match, this one feels like a common enough thing to be worth providing.
>
> Yep, that's why I considered it's good to add (and because of new comers).
>
> > Looking at the usecases I wonder if it would be better to pass in
> > an unsigned int *ret which is only updated on a match?
>
> So the question is here are we going to match (pun intended) the prototype to
> the device_property_match*() family of functions or to device_property_read_*()
> one. If the latter, this has to be renamed, but then it probably will contradict
> the semantics as we are _matching_ against something and not just _reading_
> something.
>
> That said, do you agree that current implementation is (slightly) better from
> these aspects? Anyway, look at the below.
>
> > That way the common properties approach of not checking the return value
> > if we have an optional property would apply.
> >
> > e.g. patch 3
>
> Only?
I didn't look further :)
>
> > would end up with a block that looks like:
> >
> > st->input_mode = ADMV1014_IQ_MODE;
> > device_property_match_property_string(&spi->dev, "adi,input-mode",
> > input_mode_names,
> > ARRAY_SIZE(input_mode_names),
> > &st->input_mode);
> >
> > Only neat and tidy if the thing being optionally read into is an unsigned int
> > though (otherwise you still need a local variable)
>
> We also can have a hybrid variant, returning in both sides
>
> int device_property_match_property_string(..., size_t *index)
> {
> if (index)
> *index = ret;
> return ret;
> }
>
> (also note the correct return type as it has to match to @n).
>
> Would it be still okay or too over engineered?
>
Probably over engineered....
Lets stick to what you have. If various firmware folk are happy with
the new function that's fine by me. Rafael?
Jonathan
next prev parent reply other threads:[~2023-08-28 18:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-08 16:27 [PATCH v1 0/6] iio: Introduce and use device_property_match_property_string() Andy Shevchenko
2023-08-08 16:27 ` [PATCH v1 1/6] device property: Use fwnode_property_string_array_count() Andy Shevchenko
2023-10-17 19:14 ` Rafael J. Wysocki
2023-08-08 16:27 ` [PATCH v1 2/6] device property: Add fwnode_property_match_property_string() Andy Shevchenko
2023-08-09 17:59 ` Jonathan Cameron
2023-08-10 13:26 ` Andy Shevchenko
2023-08-28 18:01 ` Jonathan Cameron [this message]
2023-10-17 19:19 ` Rafael J. Wysocki
2023-10-17 19:43 ` Andy Shevchenko
2023-10-18 19:37 ` Jonathan Cameron
2023-10-19 12:05 ` Andy Shevchenko
2023-08-08 16:27 ` [PATCH v1 3/6] iio: frequency: adf4377: Switch to device_property_match_property_string() Andy Shevchenko
2023-08-08 16:27 ` [PATCH v1 4/6] iio: frequency: admv1014: " Andy Shevchenko
2023-08-08 16:27 ` [PATCH v1 5/6] iio: magnetometer: tmag5273: " Andy Shevchenko
2023-08-08 16:28 ` [PATCH v1 6/6] iio: proximity: sx9324: " Andy Shevchenko
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=20230828190101.50f70921@jic23-huawei \
--to=jic23@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=Michael.Hennerich@analog.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=antoniu.miclaus@analog.com \
--cc=djrscally@gmail.com \
--cc=gerald.loacker@wolfvision.net \
--cc=gregkh@linuxfoundation.org \
--cc=gwendal@chromium.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=lars@metafoo.de \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=sakari.ailus@linux.intel.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