summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>2026-03-06 20:22:45 +0300
committerPhilipp Zabel <p.zabel@pengutronix.de>2026-03-09 12:17:50 +0300
commitfe3da77f2f946e84d13e5183ae0fa223b968766b (patch)
tree975c7a2a68b34b6656ff7daeab52ec749b1f428d
parent9d93e13bf5c4d7800a6168a145984adda9bf3c0e (diff)
downloadlinux-fe3da77f2f946e84d13e5183ae0fa223b968766b.tar.xz
reset: gpio: remove unneeded OF-node put
priv->rc.of_node is never set in reset core. Even if it were: tasking the reset-gpio driver with controlling the reference count of an OF node set up in reset core is a weird inversion of responsability. But it's also wrong in that the underlying device never actually gets removed so the node should not be put at all and especially not at driver detach. Remove the devres action. Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r--drivers/reset/reset-gpio.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/drivers/reset/reset-gpio.c b/drivers/reset/reset-gpio.c
index 0a1610d9e78a..ad5bfe27aaef 100644
--- a/drivers/reset/reset-gpio.c
+++ b/drivers/reset/reset-gpio.c
@@ -52,18 +52,12 @@ static int reset_gpio_of_xlate(struct reset_controller_dev *rcdev,
return reset_spec->args[0];
}
-static void reset_gpio_of_node_put(void *data)
-{
- of_node_put(data);
-}
-
static int reset_gpio_probe(struct auxiliary_device *adev,
const struct auxiliary_device_id *id)
{
struct device *dev = &adev->dev;
struct of_phandle_args *platdata = dev_get_platdata(dev);
struct reset_gpio_priv *priv;
- int ret;
if (!platdata)
return -EINVAL;
@@ -83,10 +77,6 @@ static int reset_gpio_probe(struct auxiliary_device *adev,
priv->rc.owner = THIS_MODULE;
priv->rc.dev = dev;
priv->rc.of_args = platdata;
- ret = devm_add_action_or_reset(dev, reset_gpio_of_node_put,
- priv->rc.of_node);
- if (ret)
- return ret;
/* Cells to match GPIO specifier, but it's not really used */
priv->rc.of_reset_n_cells = 2;