Re: [PATCH v2 2/2] pinctrl: ocelot: add optional shared reset

From: Horatiu Vultur
Date: Wed Apr 20 2022 - 02:18:27 EST


The 04/20/2022 01:03, Michael Walle wrote:

Hi Michael,

>
> On the LAN9668 there is a shared reset line which affects GPIO, SGPIO
> and the switch core. Add support for this shared reset line.

I have just a small comment below. Otherwise:
Tested-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>

>
> Signed-off-by: Michael Walle <michael@xxxxxxxx>
> ---
> drivers/pinctrl/pinctrl-ocelot.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/pinctrl/pinctrl-ocelot.c b/drivers/pinctrl/pinctrl-ocelot.c
> index 1bdced67464b..b25eb04e4e1d 100644
> --- a/drivers/pinctrl/pinctrl-ocelot.c
> +++ b/drivers/pinctrl/pinctrl-ocelot.c
> @@ -19,6 +19,7 @@
> #include <linux/pinctrl/pinconf-generic.h>
> #include <linux/platform_device.h>
> #include <linux/regmap.h>
> +#include <linux/reset.h>
> #include <linux/slab.h>
>
> #include "core.h"
> @@ -1912,6 +1913,7 @@ static int ocelot_pinctrl_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> struct ocelot_pinctrl *info;
> + struct reset_control *reset;
> struct regmap *pincfg;
> void __iomem *base;
> int ret;
> @@ -1927,6 +1929,13 @@ static int ocelot_pinctrl_probe(struct platform_device *pdev)
>
> info->desc = (struct pinctrl_desc *)device_get_match_data(dev);
>
> + reset = devm_reset_control_get_optional_shared(dev, "switch");
> + if (IS_ERR(reset)) {
> + dev_err(dev, "Failed to get reset\n");
> + return PTR_ERR(reset);

Can you use dev_err_probe here?

> + }
> + reset_control_reset(reset);
> +
> base = devm_ioremap_resource(dev,
> platform_get_resource(pdev, IORESOURCE_MEM, 0));
> if (IS_ERR(base))
> --
> 2.30.2
>

--
/Horatiu