[PATCH 05/12] gpio: adp5585: use devm_blocking_notifier_chain_register()
From: Eliav Farber
Date: Thu Jul 23 2026 - 14:07:07 EST
Replace the blocking_notifier_chain_register() +
devm_add_action_or_reset() pattern with a single call to
devm_blocking_notifier_chain_register(), removing the
adp5585_gpio_unreg_notifier() callback.
Signed-off-by: Eliav Farber <farbere@xxxxxxxxxx>
---
drivers/gpio/gpio-adp5585.c | 20 +++-----------------
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/drivers/gpio/gpio-adp5585.c b/drivers/gpio/gpio-adp5585.c
index 6f10fc646008..7c04a7e86c8f 100644
--- a/drivers/gpio/gpio-adp5585.c
+++ b/drivers/gpio/gpio-adp5585.c
@@ -390,16 +390,6 @@ static const struct irq_chip adp5585_irq_chip = {
GPIOCHIP_IRQ_RESOURCE_HELPERS,
};
-static void adp5585_gpio_unreg_notifier(void *data)
-{
- struct adp5585_gpio_dev *adp5585_gpio = data;
- struct device *dev = adp5585_gpio->gpio_chip.parent;
- struct adp5585_dev *adp5585 = dev_get_drvdata(dev->parent);
-
- blocking_notifier_chain_unregister(&adp5585->event_notifier,
- &adp5585_gpio->nb);
-}
-
static int adp5585_gpio_probe(struct platform_device *pdev)
{
struct adp5585_dev *adp5585 = dev_get_drvdata(pdev->dev.parent);
@@ -450,13 +440,9 @@ static int adp5585_gpio_probe(struct platform_device *pdev)
girq->threaded = true;
adp5585_gpio->nb.notifier_call = adp5585_gpio_key_event;
- ret = blocking_notifier_chain_register(&adp5585->event_notifier,
- &adp5585_gpio->nb);
- if (ret)
- return ret;
-
- ret = devm_add_action_or_reset(dev, adp5585_gpio_unreg_notifier,
- adp5585_gpio);
+ ret = devm_blocking_notifier_chain_register(dev,
+ &adp5585->event_notifier,
+ &adp5585_gpio->nb);
if (ret)
return ret;
}
--
2.47.3