Re: [PATCH v4 01/13] notifier: add device-managed registration APIs

Andy Shevchenko <[email protected]>
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
Organization Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo
Message-ID <[email protected]>
On Mon, Aug 10, 2026 at 06:37:25AM +0200, Uwe Kleine-König wrote:
> On Sun, Jul 26, 2026 at 10:17:27AM +0000, Eliav Farber wrote:

...

> > +{
> > +	struct atomic_notifier_chain_devres *dr;
> > +	int ret;
> > +
> > +	dr = devres_alloc(devm_atomic_notifier_chain_unregister,
> > +			  sizeof(*dr), GFP_KERNEL);
> > +	if (!dr)
> > +		return -ENOMEM;
> > +
> > +	ret = atomic_notifier_chain_register(nh, n);
> > +	if (ret) {
> > +		devres_free(dr);
> > +		return ret;
> > +	}
> > +
> > +	dr->nh = nh;
> > +	dr->nb = n;
> > +	devres_add(dev, dr);
> > +
> > +	return 0;
> > +}
> > +EXPORT_SYMBOL_GPL(devm_atomic_notifier_chain_register);
> 
> IMHO devm_atomic_notifier_chain_register() should look as follows:
> 
> 	ret = atomic_notifier_chain_register(nh, n);
> 	if (ret)
> 		return ret;
> 
> 	return devm_add_action_or_reset(dev, devm_atomic_notifier_chain_unregister, dr)
> 
> which is much easier and includes less details from the inner workings
> of devm. Same for the blocking variant.

Won't work. We need more than one parameter and hence the whole devres_alloc().
Please, look closer to the code.

-- 
With Best Regards,
Andy Shevchenko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.