Hi Herve, On Mon, 2024-08-05 at 12:17 +0200, Herve Codina wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you > know the content is safe > > From: Clément Léger <clement.leger@xxxxxxxxxxx> > > The sparx5 reset controller does not release syscon when it is not > used > anymore. > > This reset controller is used by the LAN966x PCI device driver. > It can be removed from the system at runtime and needs to release its > consumed syscon on removal. > > Use the newly introduced devm_syscon_regmap_lookup_by_phandle() in > order > to get the syscon and automatically release it on removal. > > Signed-off-by: Clément Léger <clement.leger@xxxxxxxxxxx> > Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx> > --- > drivers/reset/reset-microchip-sparx5.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/reset/reset-microchip-sparx5.c > b/drivers/reset/reset-microchip-sparx5.c > index 69915c7b4941..c4fe65291a43 100644 > --- a/drivers/reset/reset-microchip-sparx5.c > +++ b/drivers/reset/reset-microchip-sparx5.c > @@ -65,15 +65,11 @@ static const struct reset_control_ops > sparx5_reset_ops = { > static int mchp_sparx5_map_syscon(struct platform_device *pdev, char > *name, > struct regmap **target) > { > - struct device_node *syscon_np; > + struct device *dev = &pdev->dev; > struct regmap *regmap; > int err; > > - syscon_np = of_parse_phandle(pdev->dev.of_node, name, 0); > - if (!syscon_np) > - return -ENODEV; > - regmap = syscon_node_to_regmap(syscon_np); > - of_node_put(syscon_np); > + regmap = devm_syscon_regmap_lookup_by_phandle(dev, dev- > >of_node, name); > if (IS_ERR(regmap)) { > err = PTR_ERR(regmap); > dev_err(&pdev->dev, "No '%s' map: %d\n", name, err); > -- > 2.45.0 > Looks good to me. Reviewed-by: Steen Hegelund <Steen.Hegelund@xxxxxxxxxxxxx> BR Steen