gpio: eic-sprd: use devm_atomic_notifier_chain_register()

Replace the atomic_notifier_chain_register() +
devm_add_action_or_reset() pattern with a single call to
devm_atomic_notifier_chain_register(), removing the
sprd_eic_unregister_notifier() callback.

Signed-off-by: Eliav Farber <farbere@amazon.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20260816060648.4030-12-farbere@amazon.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
This commit is contained in:
Eliav Farber 2026-08-16 06:06:10 +00:00 committed by Bartosz Golaszewski
parent 870f46a42a
commit 3239069061

View File

@ -601,13 +601,6 @@ static const struct irq_chip sprd_eic_irq = {
GPIOCHIP_IRQ_RESOURCE_HELPERS,
};
static void sprd_eic_unregister_notifier(void *data)
{
struct notifier_block *nb = data;
atomic_notifier_chain_unregister(&sprd_eic_irq_notifier, nb);
}
static int sprd_eic_probe(struct platform_device *pdev)
{
const struct sprd_eic_variant_data *pdata;
@ -690,14 +683,8 @@ static int sprd_eic_probe(struct platform_device *pdev)
}
sprd_eic->irq_nb.notifier_call = sprd_eic_irq_notify;
ret = atomic_notifier_chain_register(&sprd_eic_irq_notifier,
&sprd_eic->irq_nb);
if (ret)
return dev_err_probe(dev, ret,
"Failed to register with the interrupt notifier");
return devm_add_action_or_reset(dev, sprd_eic_unregister_notifier,
&sprd_eic->irq_nb);
return devm_atomic_notifier_chain_register(dev, &sprd_eic_irq_notifier,
&sprd_eic->irq_nb);
}
static const struct of_device_id sprd_eic_of_match[] = {