[PATCH RFT net-next 04/10] soc: sunxi: sram: register regmap as syscon

Chen-Yu Tsai posted 10 patches 7 months, 1 week ago
There is a newer version of this series
[PATCH RFT net-next 04/10] soc: sunxi: sram: register regmap as syscon
Posted by Chen-Yu Tsai 7 months, 1 week ago
From: Chen-Yu Tsai <wens@csie.org>

Until now, if the system controller had a ethernet controller glue layer
control register, a limited access regmap would be registered and tied
to the system controller struct device for the ethernet driver to use.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
 drivers/soc/sunxi/sunxi_sram.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/soc/sunxi/sunxi_sram.c b/drivers/soc/sunxi/sunxi_sram.c
index 4f8d510b7e1e..63c23bdffa78 100644
--- a/drivers/soc/sunxi/sunxi_sram.c
+++ b/drivers/soc/sunxi/sunxi_sram.c
@@ -12,6 +12,7 @@
 
 #include <linux/debugfs.h>
 #include <linux/io.h>
+#include <linux/mfd/syscon.h>
 #include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
@@ -377,6 +378,7 @@ static int __init sunxi_sram_probe(struct platform_device *pdev)
 	const struct sunxi_sramc_variant *variant;
 	struct device *dev = &pdev->dev;
 	struct regmap *regmap;
+	int ret;
 
 	sram_dev = &pdev->dev;
 
@@ -394,6 +396,10 @@ static int __init sunxi_sram_probe(struct platform_device *pdev)
 		regmap = devm_regmap_init_mmio(dev, base, &sunxi_sram_regmap_config);
 		if (IS_ERR(regmap))
 			return PTR_ERR(regmap);
+
+		ret = of_syscon_register_regmap(dev->of_node, regmap);
+		if (IS_ERR(ret))
+			return ret;
 	}
 
 	of_platform_populate(dev->of_node, NULL, NULL, dev);
-- 
2.39.5
Re: [PATCH RFT net-next 04/10] soc: sunxi: sram: register regmap as syscon
Posted by Chen-Yu Tsai 7 months, 1 week ago
On Wed, Jul 2, 2025 at 12:58 AM Chen-Yu Tsai <wens@kernel.org> wrote:
>
> From: Chen-Yu Tsai <wens@csie.org>
>
> Until now, if the system controller had a ethernet controller glue layer
> control register, a limited access regmap would be registered and tied
> to the system controller struct device for the ethernet driver to use.
>
> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> ---
>  drivers/soc/sunxi/sunxi_sram.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/soc/sunxi/sunxi_sram.c b/drivers/soc/sunxi/sunxi_sram.c
> index 4f8d510b7e1e..63c23bdffa78 100644
> --- a/drivers/soc/sunxi/sunxi_sram.c
> +++ b/drivers/soc/sunxi/sunxi_sram.c
> @@ -12,6 +12,7 @@
>
>  #include <linux/debugfs.h>
>  #include <linux/io.h>
> +#include <linux/mfd/syscon.h>
>  #include <linux/module.h>
>  #include <linux/of.h>
>  #include <linux/of_address.h>
> @@ -377,6 +378,7 @@ static int __init sunxi_sram_probe(struct platform_device *pdev)
>         const struct sunxi_sramc_variant *variant;
>         struct device *dev = &pdev->dev;
>         struct regmap *regmap;
> +       int ret;
>
>         sram_dev = &pdev->dev;
>
> @@ -394,6 +396,10 @@ static int __init sunxi_sram_probe(struct platform_device *pdev)
>                 regmap = devm_regmap_init_mmio(dev, base, &sunxi_sram_regmap_config);
>                 if (IS_ERR(regmap))
>                         return PTR_ERR(regmap);
> +
> +               ret = of_syscon_register_regmap(dev->of_node, regmap);
> +               if (IS_ERR(ret))

BroderTuck on IRC pointed out that this gives a compiler warning.
Indeed it is incorrect. It should test `ret` directly.

ChenYu

> +                       return ret;
>         }
>
>         of_platform_populate(dev->of_node, NULL, NULL, dev);
> --
> 2.39.5
>
>
Re: [PATCH RFT net-next 04/10] soc: sunxi: sram: register regmap as syscon
Posted by Per Larsson 7 months, 1 week ago
On Wed, 2 Jul 2025 13:01:04 +0800
Chen-Yu Tsai <wens@csie.org> wrote:

> On Wed, Jul 2, 2025 at 12:58 AM Chen-Yu Tsai <wens@kernel.org> wrote:
> >
> > From: Chen-Yu Tsai <wens@csie.org>
> >
> > Until now, if the system controller had a ethernet controller glue
> > layer control register, a limited access regmap would be registered
> > and tied to the system controller struct device for the ethernet
> > driver to use.

"Until now"? 
Does that description (i.e. something that used to happen, but not
after the patch) really match the change?

- snip -

> > +               ret = of_syscon_register_regmap(dev->of_node,
> > regmap);
> > +               if (IS_ERR(ret))  
> 
> BroderTuck on IRC pointed out that this gives a compiler warning.
> Indeed it is incorrect. It should test `ret` directly.
> 
> ChenYu
> 

Regards
Per Larsson, known as BroderTuck on #linux-sunxi