devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] of: Automate handling of of_node_put()
@ 2024-01-14 16:53 Jonathan Cameron
  2024-01-14 16:53 ` [PATCH 1/4] of: Add cleanup.h based auto release via __free(device_node) markings Jonathan Cameron
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Jonathan Cameron @ 2024-01-14 16:53 UTC (permalink / raw)
  To: linux-iio, devicetree, Rob Herring, Frank Rowand
  Cc: Julia Lawall, Nicolas Palix, Sumera Priyadarsini,
	Jonathan Cameron

From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Changes since RFC: Thanks to Rob Herring for reviewing.
 - Patch description typo fixes
 - Add some info on the coccinelle script to patch 1. Primarily stating
   that we don't seem to cause false positives with this change and that
   any scripting to find cases to update like this can wait for now.
 - Note the if (_T) is left in place as general consensus from similar
   discussions on other cleanup.h use cases is that it can be helpful
   to let the compiler optimize out the call, even when the call would
   be safe with a NULL value.

Recent addition of scope based cleanup (linux/cleanup.h) allows us
to avoid a large number of places where error handlers and early
returns have to carefully deal with left over resources.
The need to call of_node_put() on breaking out of loops over child
nodes is one of these cases and this series is to address that.

A similar series has been posted for property.h equivalent case.
https://lore.kernel.org/linux-iio/20240101172611.694830-1-jic23@kernel.org/
(will be updates shortly).

If everyone is happy with this series, I'd propose an immutable branch
(either in iio.git or somewhere else) so that we can pull the first 2
patches into other trees without having to wait a whole cycle to start
making more use of this.

Jonathan Cameron (4):
  of: Add cleanup.h based auto release via __free(device_node) markings.
  of: unittest: Use __free(device_node)
  iio: adc: fsl-imx25-gcq: Use __free(device_node)
  iio: adc: rcar-gyroadc: use __free(device_node)

 drivers/iio/adc/fsl-imx25-gcq.c | 12 +++---------
 drivers/iio/adc/rcar-gyroadc.c  | 20 ++++++--------------
 drivers/of/unittest.c           | 10 +++-------
 include/linux/of.h              |  2 ++
 4 files changed, 14 insertions(+), 30 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-01-17 20:14 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-14 16:53 [PATCH 0/4] of: Automate handling of of_node_put() Jonathan Cameron
2024-01-14 16:53 ` [PATCH 1/4] of: Add cleanup.h based auto release via __free(device_node) markings Jonathan Cameron
2024-01-14 16:53 ` [PATCH 2/4] of: unittest: Use __free(device_node) Jonathan Cameron
2024-01-16 18:26   ` Rob Herring
2024-01-17 17:01     ` Jonathan Cameron
2024-01-17 17:09       ` Jonathan Cameron
2024-01-17 19:47       ` Rob Herring
2024-01-17 20:13         ` Jonathan Cameron
2024-01-14 16:53 ` [PATCH 3/4] iio: adc: fsl-imx25-gcq: " Jonathan Cameron
2024-01-14 16:53 ` [PATCH 4/4] iio: adc: rcar-gyroadc: use __free(device_node) Jonathan Cameron

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).