On 06/09/2022 11.15, Dmitry Torokhov wrote: > The driver allocates reset GPIO in apple_pcie_setup_port() but neither > releases the resource, nor uses devm API to have it released > automatically. > > Let's fix this by switching to devm API. While at it let's use generic > devm_fwnode_gpiod_get() instead of OF-specific gpiod_get_from_of_node() > - this will allow us top stop exporting the latter down the road. > > Fixes: 1e33888fbe44 ("PCI: apple: Add initial hardware bring-up") > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > > This patch has been pulled out of the series > https://lore.kernel.org/all/20220903-gpiod_get_from_of_node-remove-v1-0-b29adfb27a6c@xxxxxxxxx/ > with updated justification (leak fix vs pure API deprecation). > > drivers/pci/controller/pcie-apple.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/pcie-apple.c > index a2c3c207a04b..66f37e403a09 100644 > --- a/drivers/pci/controller/pcie-apple.c > +++ b/drivers/pci/controller/pcie-apple.c > @@ -516,8 +516,8 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie, > u32 stat, idx; > int ret, i; > > - reset = gpiod_get_from_of_node(np, "reset-gpios", 0, > - GPIOD_OUT_LOW, "PERST#"); > + reset = devm_fwnode_gpiod_get(pcie->dev, of_fwnode_handle(np), "reset", > + GPIOD_OUT_LOW, "PERST#"); > if (IS_ERR(reset)) > return PTR_ERR(reset); > Reviewed-by: Hector Martin <marcan@xxxxxxxxx> I actually caught this one a while back, just didn't get around to submitting it yet since it's part of my WIP PCIe power management branch (that I'm getting back to next week or so!) :) https://github.com/AsahiLinux/linux/commit/04f5628fc73ea0369f66c83ba473cb6f8187d2b3 - Hector