[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5910992.DvuYhMxLoT@jernej-laptop>
Date: Wed, 13 Aug 2025 17:25:05 +0200
From: Jernej Škrabec <jernej.skrabec@...il.com>
To: Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Chen-Yu Tsai <wens@...e.org>,
Jernej Skrabec <jernej@...nel.org>, Samuel Holland <samuel@...lland.org>,
Chen-Yu Tsai <wens@...nel.org>
Cc: netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev,
linux-kernel@...r.kernel.org, Andre Przywara <andre.przywara@....com>
Subject:
Re: [PATCH net-next v2 04/10] soc: sunxi: sram: register regmap as syscon
Dne sreda, 13. avgust 2025 ob 16:55:34 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> From: Chen-Yu Tsai <wens@...e.org>
>
> 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, for the ethernet driver to acquire this regmap, it had to
> do a of_parse_phandle() + find device + dev_get_regmap() sequence.
> Since the syscon framework allows a provider to register a custom
> regmap for its device node, and the ethernet driver already uses
> syscon for one platform, this provides a much more easier way to
> pass the regmap.
>
> Use of_syscon_register_regmap() to register our regmap with the
> syscon framework so that consumers can retrieve it that way.
>
> Signed-off-by: Chen-Yu Tsai <wens@...e.org>
Acked-by: Jernej Skrabec <jernej.skrabec@...il.com>
Best regards,
Jernej
>
> ---
> Changes since v1:
> - Fix check on return value
> - Expand commit message
> ---
> 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..1837e1b5dce8 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 (ret)
> + return ret;
> }
>
> of_platform_populate(dev->of_node, NULL, NULL, dev);
>
Powered by blists - more mailing lists