All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Holland <samuel@sholland.org>
To: u-boot@lists.denx.de, Jagan Teki <jagan@amarulasolutions.com>,
	Andre Przywara <andre.przywara@arm.com>,
	Lukasz Majewski <lukma@denx.de>,
	Sean Anderson <seanga2@gmail.com>
Cc: Samuel Holland <samuel@sholland.org>,
	Bin Meng <bmeng.cn@gmail.com>,
	Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Maxime Ripard <maxime.ripard@bootlin.com>
Subject: [PATCH 6/7] reset: sunxi: Convert driver private data to platform data
Date: Mon,  9 May 2022 00:29:36 -0500	[thread overview]
Message-ID: <20220509052937.42283-7-samuel@sholland.org> (raw)
In-Reply-To: <20220509052937.42283-1-samuel@sholland.org>

The reason here is the same as the reason for changing the clock driver:
platform data can be provided when binding the driver.

Signed-off-by: Samuel Holland <samuel@sholland.org>
---

 drivers/reset/reset-sunxi.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c
index 4d02d02834..b060d7f5ed 100644
--- a/drivers/reset/reset-sunxi.c
+++ b/drivers/reset/reset-sunxi.c
@@ -17,24 +17,24 @@
 #include <linux/bitops.h>
 #include <linux/log2.h>
 
-struct sunxi_reset_priv {
+struct sunxi_reset_plat {
 	void *base;
 	const struct ccu_desc *desc;
 };
 
-static const struct ccu_reset *priv_to_reset(struct sunxi_reset_priv *priv,
+static const struct ccu_reset *plat_to_reset(struct sunxi_reset_plat *plat,
 					     unsigned long id)
 {
-	return	&priv->desc->resets[id];
+	return	&plat->desc->resets[id];
 }
 
 static int sunxi_reset_request(struct reset_ctl *reset_ctl)
 {
-	struct sunxi_reset_priv *priv = dev_get_priv(reset_ctl->dev);
+	struct sunxi_reset_plat *plat = dev_get_plat(reset_ctl->dev);
 
 	debug("%s: (RST#%ld)\n", __func__, reset_ctl->id);
 
-	if (reset_ctl->id >= priv->desc->num_resets)
+	if (reset_ctl->id >= plat->desc->num_resets)
 		return -EINVAL;
 
 	return 0;
@@ -49,8 +49,8 @@ static int sunxi_reset_free(struct reset_ctl *reset_ctl)
 
 static int sunxi_set_reset(struct reset_ctl *reset_ctl, bool on)
 {
-	struct sunxi_reset_priv *priv = dev_get_priv(reset_ctl->dev);
-	const struct ccu_reset *reset = priv_to_reset(priv, reset_ctl->id);
+	struct sunxi_reset_plat *plat = dev_get_plat(reset_ctl->dev);
+	const struct ccu_reset *reset = plat_to_reset(plat, reset_ctl->id);
 	u32 reg;
 
 	if (!(reset->flags & CCU_RST_F_IS_VALID)) {
@@ -61,13 +61,13 @@ static int sunxi_set_reset(struct reset_ctl *reset_ctl, bool on)
 	debug("%s: (RST#%ld) off#0x%x, BIT(%d)\n", __func__,
 	      reset_ctl->id, reset->off, ilog2(reset->bit));
 
-	reg = readl(priv->base + reset->off);
+	reg = readl(plat->base + reset->off);
 	if (on)
 		reg |= reset->bit;
 	else
 		reg &= ~reset->bit;
 
-	writel(reg, priv->base + reset->off);
+	writel(reg, plat->base + reset->off);
 
 	return 0;
 }
@@ -89,11 +89,11 @@ struct reset_ops sunxi_reset_ops = {
 	.rst_deassert = sunxi_reset_deassert,
 };
 
-static int sunxi_reset_probe(struct udevice *dev)
+static int sunxi_reset_of_to_plat(struct udevice *dev)
 {
-	struct sunxi_reset_priv *priv = dev_get_priv(dev);
+	struct sunxi_reset_plat *plat = dev_get_plat(dev);
 
-	priv->base = dev_read_addr_ptr(dev);
+	plat->base = dev_read_addr_ptr(dev);
 
 	return 0;
 }
@@ -101,7 +101,7 @@ static int sunxi_reset_probe(struct udevice *dev)
 int sunxi_reset_bind(struct udevice *dev)
 {
 	struct udevice *rst_dev;
-	struct sunxi_reset_priv *priv;
+	struct sunxi_reset_plat *plat;
 	int ret;
 
 	ret = device_bind_driver_to_node(dev, "sunxi_reset", "reset",
@@ -110,9 +110,9 @@ int sunxi_reset_bind(struct udevice *dev)
 		debug("failed to bind sunxi_reset driver (ret=%d)\n", ret);
 		return ret;
 	}
-	priv = malloc(sizeof(struct sunxi_reset_priv));
-	priv->desc = (const struct ccu_desc *)dev_get_driver_data(dev);
-	dev_set_priv(rst_dev, priv);
+	plat = malloc(sizeof(struct sunxi_reset_plat));
+	plat->desc = (const struct ccu_desc *)dev_get_driver_data(dev);
+	dev_set_plat(rst_dev, plat);
 
 	return 0;
 }
@@ -121,6 +121,6 @@ U_BOOT_DRIVER(sunxi_reset) = {
 	.name		= "sunxi_reset",
 	.id		= UCLASS_RESET,
 	.ops		= &sunxi_reset_ops,
-	.probe		= sunxi_reset_probe,
-	.priv_auto	= sizeof(struct sunxi_reset_priv),
+	.of_to_plat	= sunxi_reset_of_to_plat,
+	.plat_auto	= sizeof(struct sunxi_reset_plat),
 };
-- 
2.35.1


  parent reply	other threads:[~2022-05-09  5:30 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-09  5:29 [PATCH 0/7] clk: sunxi: Out-of-bounds access fix and driver cleanup Samuel Holland
2022-05-09  5:29 ` [PATCH 1/7] clk: sunxi: Store the array sizes in the CCU descriptor Samuel Holland
2022-06-25 17:10   ` Andre Przywara
2022-05-09  5:29 ` [PATCH 2/7] clk: sunxi: Prevent out-of-bounds gate array access Samuel Holland
2022-06-26 10:43   ` Andre Przywara
2022-05-09  5:29 ` [PATCH 3/7] reset: sunxi: Get the reset count from the CCU descriptor Samuel Holland
2022-06-26 10:51   ` Andre Przywara
2022-05-09  5:29 ` [PATCH 4/7] clk: sunxi: Use a single driver for all variants Samuel Holland
2022-06-27  0:43   ` Andre Przywara
2022-05-09  5:29 ` [PATCH 5/7] clk: sunxi: Convert driver private data to platform data Samuel Holland
2022-06-27 19:34   ` Andre Przywara
2022-05-09  5:29 ` Samuel Holland [this message]
2022-06-27 19:41   ` [PATCH 6/7] reset: " Andre Przywara
2022-05-09  5:29 ` [PATCH 7/7] reset: sunxi: Reuse the platform data from the clock driver Samuel Holland
2022-06-27 23:45   ` Andre Przywara
2022-05-10 23:24 ` [PATCH 0/7] clk: sunxi: Out-of-bounds access fix and driver cleanup Andre Przywara
2022-05-11 15:48 ` Sean Anderson
2022-06-28  0:40 ` Andre Przywara
2022-06-28  2:45   ` Samuel Holland

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=20220509052937.42283-7-samuel@sholland.org \
    --to=samuel@sholland.org \
    --cc=andre.przywara@arm.com \
    --cc=bmeng.cn@gmail.com \
    --cc=jagan@amarulasolutions.com \
    --cc=lukma@denx.de \
    --cc=maxime.ripard@bootlin.com \
    --cc=seanga2@gmail.com \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.de \
    /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.