linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luca Ceresoli <luca.ceresoli@bootlin.com>
To: "Miguel Ojeda" <ojeda@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Saravana Kannan" <saravanak@google.com>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Michael Turquette" <mturquette@baylibre.com>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Tony Lindgren" <tony@atomide.com>,
	"Bjorn Andersson" <andersson@kernel.org>,
	"Emilio López" <emilio@elopez.com.ar>,
	"Chen-Yu Tsai" <wens@csie.org>,
	"Jernej Skrabec" <jernej.skrabec@gmail.com>,
	"Samuel Holland" <samuel@sholland.org>,
	"Krzysztof Kozlowski" <krzk@kernel.org>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Florian Fainelli" <florian.fainelli@broadcom.com>,
	"Broadcom internal kernel review list"
	<bcm-kernel-feedback-list@broadcom.com>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Jonathan Cameron" <jic23@kernel.org>,
	"Lee Jones" <lee@kernel.org>, "Shawn Guo" <shawnguo@kernel.org>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Uwe Kleine-König" <ukleinek@kernel.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Richard Leitner" <richard.leitner@linux.dev>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Nicolas Ferre" <nicolas.ferre@microchip.com>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Nicholas Piggin" <npiggin@gmail.com>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Naveen N. Rao" <naveen.n.rao@linux.ibm.com>,
	"Damien Le Moal" <dlemoal@kernel.org>
Cc: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>,
	 Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	 linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	 llvm@lists.linux.dev, linux-clk@vger.kernel.org,
	linux-omap@vger.kernel.org,  linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	 linux-sunxi@lists.linux.dev, linux-samsung-soc@vger.kernel.org,
	 linux-gpio@vger.kernel.org, linux-iio@vger.kernel.org,
	 linux-pwm@vger.kernel.org, linux-serial@vger.kernel.org,
	 linux-usb@vger.kernel.org, patches@opensource.cirrus.com,
	 linux-sound@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	 linux-riscv@lists.infradead.org,
	Luca Ceresoli <luca.ceresoli@bootlin.com>
Subject: [PATCH 00/20] Simplify of_property_for_each_u32()
Date: Wed, 03 Jul 2024 12:36:44 +0200	[thread overview]
Message-ID: <20240703-of_property_for_each_u32-v1-0-42c1fc0b82aa@bootlin.com> (raw)

[Note: to reduce the noise I have trimmed the get_maintainers list
manually. Should you want to be removed, or someone else added, to future
versions, just tell me. Sorry for the noise.]

This series aims at simplifying of_property_for_each_u32() as well as
making it more difficult to misuse it in the future.

The long-term goal is changing this pattern:

  struct property *prop;
  const __be32 *p;
  u32 val;
 
  of_property_for_each_u32(np, "xyz", prop, p, val) { ... }

to this:

  u32 val;

  of_property_for_each_u32(np, "xyz", val) { ... }

So, removing the 3rd and 4th arguments which are typically meant to be
internal. Those two parameters used to be unavoidable until the kernel
moved to building with the C11 standard unconditionally. Since then, it is
now possible to get rid of them. However a few users of
of_property_for_each_u32() do actually use those arguments, which
complicates the transition. For this reason this series does the following:

 * Add of_property_for_each_u32_new(), which does not have those two
   arguments (patch 1)
 * Convert _almost_ every usage to of_property_for_each_u32_new()
 * Rename of_property_for_each_u32() to of_property_for_each_u32_old() and
   deprecate it, as a incentive to code not (yet) in mainline to upgrade
   to the *_new() version (last patch)

The plan for the next series is to additionally:

 * Convert the few remaining of_property_for_each_u32_old() instantes to
   of_property_for_each_u32_new()
 * Remove of_property_for_each_u32_old()
 * Rename of_property_for_each_u32_new() to of_property_for_each_u32()

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Luca Ceresoli (20):
      of: add of_property_for_each_u32_new()
      clk: convert to of_property_for_each_u32_new()
      clk: qcom: convert to of_property_for_each_u32_new()
      clk: sunxi: clk-simple-gates: convert to of_property_for_each_u32_new()
      clk: sunxi:  clk-sun8i-bus-gates: convert to of_property_for_each_u32_new()
      clocksource/drivers/samsung_pwm: convert to of_property_for_each_u32_new()
      bus: ti-sysc: convert to of_property_for_each_u32_new()
      lk: clk-conf: convert to of_property_for_each_u32_new()
      gpio: brcmstb: convert to of_property_for_each_u32_new()
      pinctrl: s32cc: convert to of_property_for_each_u32_new()
      irqchip/atmel-aic: convert to of_property_for_each_u32_new()
      iio: adc: ti_am335x_adc: convert to of_property_for_each_u32_new()
      pwm: samsung: convert to of_property_for_each_u32_new()
      tty: sysrq: convert to of_property_for_each_u32_new()
      usb: usb251xb: convert to of_property_for_each_u32_new()
      mfd: ti_am335x_tscadc: convert to of_property_for_each_u32_new()
      ASoC: arizona: convert to of_property_for_each_u32_new()
      powerpc/xive: convert to of_property_for_each_u32_new()
      powerpc/xive: convert to of_property_for_each_u32_new()
      of: deprecate and rename of_property_for_each_u32()

 .clang-format                           |  3 ++-
 arch/powerpc/sysdev/xive/native.c       |  4 +---
 arch/powerpc/sysdev/xive/spapr.c        |  3 +--
 drivers/bus/ti-sysc.c                   |  4 +---
 drivers/clk/clk-conf.c                  |  4 +---
 drivers/clk/clk-si5351.c                |  4 ++--
 drivers/clk/clk.c                       |  6 ++----
 drivers/clk/qcom/common.c               |  4 +---
 drivers/clk/sunxi/clk-simple-gates.c    |  4 +---
 drivers/clk/sunxi/clk-sun8i-bus-gates.c |  4 +---
 drivers/clocksource/samsung_pwm_timer.c |  4 +---
 drivers/gpio/gpio-brcmstb.c             |  5 +----
 drivers/iio/adc/ti_am335x_adc.c         |  4 +---
 drivers/irqchip/irq-atmel-aic-common.c  |  4 +---
 drivers/irqchip/irq-pic32-evic.c        |  2 +-
 drivers/mfd/ti_am335x_tscadc.c          |  4 +---
 drivers/pinctrl/nxp/pinctrl-s32cc.c     |  4 +---
 drivers/pinctrl/pinctrl-k210.c          |  2 +-
 drivers/pwm/pwm-samsung.c               |  4 +---
 drivers/tty/sysrq.c                     |  4 +---
 drivers/usb/misc/usb251xb.c             |  4 +---
 include/linux/of.h                      | 14 ++++++++++----
 sound/soc/codecs/arizona.c              | 12 +++++-------
 23 files changed, 39 insertions(+), 68 deletions(-)
---
base-commit: e937d48ed96381e9620d9c81fbc1ce666f5b7358
change-id: 20240701-of_property_for_each_u32-460fd02a5d0c

Best regards,
-- 
Luca Ceresoli <luca.ceresoli@bootlin.com>


             reply	other threads:[~2024-07-03 10:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-03 10:36 Luca Ceresoli [this message]
2024-07-03 10:36 ` [PATCH 01/20] of: add of_property_for_each_u32_new() Luca Ceresoli
2024-07-03 10:36 ` [PATCH 02/20] clk: convert to of_property_for_each_u32_new() Luca Ceresoli
2024-07-03 10:36 ` [PATCH 03/20] clk: qcom: " Luca Ceresoli
2024-07-03 10:36 ` [PATCH 04/20] clk: sunxi: clk-simple-gates: " Luca Ceresoli
2024-07-03 12:21   ` Andre Przywara
2024-07-03 10:36 ` [PATCH 05/20] clk: sunxi: clk-sun8i-bus-gates: " Luca Ceresoli
2024-07-03 12:19   ` Andre Przywara
2024-07-03 10:36 ` [PATCH 06/20] clocksource/drivers/samsung_pwm: " Luca Ceresoli
2024-07-03 10:36 ` [PATCH 07/20] bus: ti-sysc: " Luca Ceresoli
2024-07-03 10:36 ` [PATCH 08/20] lk: clk-conf: " Luca Ceresoli
2024-07-03 10:36 ` [PATCH 09/20] gpio: brcmstb: " Luca Ceresoli
2024-07-03 11:33   ` Bartosz Golaszewski
2024-07-03 10:36 ` [PATCH 10/20] pinctrl: s32cc: " Luca Ceresoli
2024-07-03 10:36 ` [PATCH 11/20] irqchip/atmel-aic: " Luca Ceresoli
2024-07-03 13:09   ` Nicolas Ferre
2024-07-03 10:36 ` [PATCH 12/20] iio: adc: ti_am335x_adc: " Luca Ceresoli
2024-07-03 15:34   ` Jonathan Cameron
2024-07-03 10:36 ` [PATCH 13/20] pwm: samsung: " Luca Ceresoli
2024-07-03 21:23   ` Uwe Kleine-König
2024-07-03 10:36 ` [PATCH 14/20] tty: sysrq: " Luca Ceresoli
2024-07-03 10:36 ` [PATCH 15/20] usb: usb251xb: " Luca Ceresoli
2024-07-08  7:45   ` Richard Leitner
2024-07-03 10:37 ` [PATCH 16/20] mfd: ti_am335x_tscadc: " Luca Ceresoli
2024-07-03 10:37 ` [PATCH 17/20] ASoC: arizona: " Luca Ceresoli
2024-07-03 11:31   ` Richard Fitzgerald
2024-07-03 12:18   ` Mark Brown
2024-07-03 10:37 ` [PATCH 18/20] powerpc/xive: " Luca Ceresoli
2024-07-03 10:37 ` [PATCH 19/20] " Luca Ceresoli
2024-07-03 10:37 ` [PATCH 20/20] of: deprecate and rename of_property_for_each_u32() Luca Ceresoli
2024-07-03 18:01   ` Rob Herring
2024-07-04 21:33     ` Luca Ceresoli
2024-07-03 18:07 ` [PATCH 00/20] Simplify of_property_for_each_u32() Rob Herring
2024-07-04 21:31   ` Luca Ceresoli

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=20240703-of_property_for_each_u32-v1-0-42c1fc0b82aa@bootlin.com \
    --to=luca.ceresoli@bootlin.com \
    --cc=andersson@kernel.org \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlemoal@kernel.org \
    --cc=emilio@elopez.com.ar \
    --cc=florian.fainelli@broadcom.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jernej.skrabec@gmail.com \
    --cc=jic23@kernel.org \
    --cc=jirislaby@kernel.org \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=lee@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=linux-usb@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=llvm@lists.linux.dev \
    --cc=mpe@ellerman.id.au \
    --cc=mturquette@baylibre.com \
    --cc=nathan@kernel.org \
    --cc=naveen.n.rao@linux.ibm.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=npiggin@gmail.com \
    --cc=ojeda@kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=peng.fan@oss.nxp.com \
    --cc=richard.leitner@linux.dev \
    --cc=robh@kernel.org \
    --cc=samuel@sholland.org \
    --cc=saravanak@google.com \
    --cc=sboyd@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=tony@atomide.com \
    --cc=ukleinek@kernel.org \
    --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).