mirror of
https://github.com/torvalds/linux
synced 2024-10-05 10:52:54 +00:00
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/YxatO5OaI2RpxQ2M@google.com
Fixes: 1e33888fbe
("PCI: apple: Add initial hardware bring-up")
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Reviewed-by: Hector Martin <marcan@marcan.st>
Acked-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
parent
568035b01c
commit
a6b9ede1f3
|
@ -516,7 +516,7 @@ static int apple_pcie_setup_port(struct apple_pcie *pcie,
|
||||||
u32 stat, idx;
|
u32 stat, idx;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
reset = gpiod_get_from_of_node(np, "reset-gpios", 0,
|
reset = devm_fwnode_gpiod_get(pcie->dev, of_fwnode_handle(np), "reset",
|
||||||
GPIOD_OUT_LOW, "PERST#");
|
GPIOD_OUT_LOW, "PERST#");
|
||||||
if (IS_ERR(reset))
|
if (IS_ERR(reset))
|
||||||
return PTR_ERR(reset);
|
return PTR_ERR(reset);
|
||||||
|
|
Loading…
Reference in a new issue