From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: "Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Jonathan Cameron" <jic23@kernel.org>,
linux-iio@vger.kernel.org,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Len Brown" <lenb@kernel.org>,
linux-acpi@vger.kernel.org,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Daniel Scally" <djrscally@gmail.com>,
"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
"Julia Lawall" <Julia.Lawall@inria.fr>,
"Nuno Sá" <nuno.sa@analog.com>,
"Cosmin Tanislav" <cosmin.tanislav@analog.com>,
"Mihail Chindris" <mihail.chindris@analog.com>,
"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
"Tomislav Denis" <tomislav.denis@avl.com>,
"Marek Vasut" <marex@denx.de>,
"Olivier Moysan" <olivier.moysan@foss.st.com>,
"Fabrice Gasnier" <fabrice.gasnier@foss.st.com>,
"Lad Prabhakar" <prabhakar.mahadev-lad.rj@bp.renesas.com>,
"Dmitry Baryshkov" <dmitry.baryshkov@linaro.org>,
"Marijn Suijten" <marijn.suijten@somainline.org>,
"Marius Cristea" <marius.cristea@microchip.com>,
"Ibrahim Tilki" <Ibrahim.Tilki@analog.com>,
"Peter Zijlstra" <peterz@infradead.org>
Subject: Re: [PATCH v2 01/14] device property: Add cleanup.h based fwnode_handle_put() scope based cleanup.
Date: Tue, 13 Feb 2024 10:22:45 +0000 [thread overview]
Message-ID: <20240213102245.00005c35@Huawei.com> (raw)
In-Reply-To: <ZcoV2xfcCOYKZicY@kekkonen.localdomain>
On Mon, 12 Feb 2024 12:58:03 +0000
Sakari Ailus <sakari.ailus@linux.intel.com> wrote:
> On Mon, Feb 12, 2024 at 02:46:49PM +0200, Andy Shevchenko wrote:
> > On Mon, Feb 12, 2024 at 12:36:46PM +0000, Sakari Ailus wrote:
> > > On Mon, Feb 12, 2024 at 11:42:06AM +0000, Jonathan Cameron wrote:
> >
> > ...
> >
> > > Hmm. In that case I'd rather make fwnode_handle_put() and similar trivial
> > > functions macros.
> >
> > This will kill the type-checking opportunity, so I'm against this move.
>
> Then it could be made static inline and moved to the header. I suppose for
> modern compilers there should be no difference in between the two
> optimisation-wise.
>
Sure - will be a bit fiddly as this is only worth doing if we drop
the internal check that buried several macros deep.
1. rename existing fwnode_handle_put() to __fwnode_handle_put()
2. Make __fwnode_handle_put() call a new set of macros
#define fwnode_has_op_nocheck(fwnode, op) \
(fwnode)->ops && (fwnode)->ops->op
#define fwnode_call_void_op_nocheck(fwnode, op, .... \
do {
if (fwnode_had_op_nocheck(fwnode, op)) \
(fwnode)->ops->op(fwnode, ## __VA_ARGS__);
} while (false);
3. Add new
static inline fwnode_handle_put(struct fwnode_handle *fwnode)
{
if (!IS_ERR_OR_NULL(fwnode))
__fwnode_handle_put(fwnode);
}
Or something like that.
I'm fine with doing that if conclusion is the complexity of the change
is worth it.
Jonathan
next prev parent reply other threads:[~2024-02-13 10:22 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-11 19:25 [PATCH v2 00/14] device property / IIO: Use cleanup.h magic for fwnode_handle_put() handling Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 01/14] device property: Add cleanup.h based fwnode_handle_put() scope based cleanup Jonathan Cameron
2024-02-12 8:49 ` Sakari Ailus
2024-02-12 11:42 ` Jonathan Cameron
2024-02-12 12:36 ` Sakari Ailus
2024-02-12 12:46 ` Andy Shevchenko
2024-02-12 12:58 ` Sakari Ailus
2024-02-13 10:22 ` Jonathan Cameron [this message]
2024-02-14 14:09 ` Jonathan Cameron
2024-02-14 17:10 ` Sakari Ailus
2024-02-12 12:05 ` Andy Shevchenko
2024-02-12 12:06 ` Andy Shevchenko
2024-02-11 19:25 ` [PATCH v2 02/14] iio: temp: ltc2983: Use __free(fwnode_handle) to replace fwnode_handle_put() calls Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 03/14] device property: Introduce device_for_each_child_node_scoped() Jonathan Cameron
2024-02-12 12:10 ` Andy Shevchenko
2024-02-13 10:25 ` Jonathan Cameron
2024-02-13 17:12 ` Andy Shevchenko
2024-02-16 17:38 ` Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 04/14] iio: adc: max11410: Use device_for_each_child_node_scoped() Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 05/14] iio: adc: mcp3564: Use device_for_each_child_node_scopd() Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 06/14] iio: adc: qcom-spmi-adc5: " Jonathan Cameron
2024-02-12 7:51 ` Dmitry Baryshkov
2024-02-11 19:25 ` [PATCH v2 07/14] iio: adc: rzg2l_adc: " Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 08/14] iio: adc: stm32: Use device_for_each_child_node_scoped() Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 09/14] iio: adc: ti-ads1015: " Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 10/14] iio: adc: ti-ads131e08: " Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 11/14] iio: addac: ad74413r: " Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 12/14] iio: dac: ad3552r: " Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 13/14] iio: dac: ad5770r: " Jonathan Cameron
2024-02-11 19:25 ` [PATCH v2 14/14] iio: dac: ltc2688: " Jonathan Cameron
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=20240213102245.00005c35@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=Ibrahim.Tilki@analog.com \
--cc=Julia.Lawall@inria.fr \
--cc=andriy.shevchenko@linux.intel.com \
--cc=cosmin.tanislav@analog.com \
--cc=djrscally@gmail.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=fabrice.gasnier@foss.st.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=jic23@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=marex@denx.de \
--cc=marijn.suijten@somainline.org \
--cc=marius.cristea@microchip.com \
--cc=mihail.chindris@analog.com \
--cc=nuno.sa@analog.com \
--cc=olivier.moysan@foss.st.com \
--cc=peterz@infradead.org \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--cc=rafael@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tomislav.denis@avl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.