diff options
author | Dmitry Torokhov <[email protected]> | 2022-09-05 19:15:23 -0700 |
---|---|---|
committer | Lorenzo Pieralisi <[email protected]> | 2022-09-14 17:45:47 +0200 |
commit | a6b9ede1f3dfa5477791ad92d11f60f50998b689 (patch) | |
tree | 2a2c7a35cd441f1ac1a80095a91b8b47028fd9ce | |
parent | 568035b01cfb107af8d2e4bd2fb9aea22cf5b868 (diff) |
PCI: apple: Do not leak reset GPIO on unbind/unload/error
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.
Link: https://lore.kernel.org/r/[email protected]
Fixes: 1e33888fbe44 ("PCI: apple: Add initial hardware bring-up")
Signed-off-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Lorenzo Pieralisi <[email protected]>
Reviewed-by: Hector Martin <[email protected]>
Acked-by: Marc Zyngier <[email protected]>
-rw-r--r-- | drivers/pci/controller/pcie-apple.c | 4 |
1 files 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); |