Re: [PATCH 10/12] gpio: eic-sprd: use devm_atomic_notifier_chain_register()

Baolin Wang <[email protected]> Mon, 27 Jul 2026 11:01:28 +0800
Newsgroups org.kernel.vger.linux-pwm,org.kernel.vger.linux-acpi,org.kernel.vger.linux-gpio,org.kernel.vger.linux-iio,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel,org.kernel.vger.platform-driver-x86
Message-ID <[email protected]>

On 7/24/26 1:56 AM, Eliav Farber wrote:
> 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 <[email protected]>
> ---

LGTM. Thanks.
Reviewed-by: Baolin Wang <[email protected]>

>   drivers/gpio/gpio-eic-sprd.c | 17 ++---------------
>   1 file changed, 2 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
> index 3b7ebcf12fe7..86eb9624d38a 100644
> --- a/drivers/gpio/gpio-eic-sprd.c
> +++ b/drivers/gpio/gpio-eic-sprd.c
> @@ -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[] = {