RE: [PATCH 08/12] ACPI: APEI: GHES: use devm_blocking_notifier_chain_register()
"Farber, Eliav" <[email protected]> Sun, 26 Jul 2026 04:13:06 +0000
| 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 | <CH0PR18MB54330BBA46834A7087AFB198C6CD2@CH0PR18MB5433.namprd18.prod.outlook.com> |
> On Thu, 23 Jul 2026 17:55:09 +0000 > Eliav Farber <[email protected]> wrote: > > > Replace the blocking_notifier_chain_register() + > > devm_add_action_or_reset() pattern with a single call to > > devm_blocking_notifier_chain_register(), removing the > > ghes_vendor_record_notifier_destroy() callback. > > > > Signed-off-by: Eliav Farber <[email protected]> > > --- > > drivers/acpi/apei/ghes.c | 15 +++------------ > > 1 file changed, 3 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > > index 3236a3ce79d6..3aa29dcd70da 100644 > > --- a/drivers/acpi/apei/ghes.c > > +++ b/drivers/acpi/apei/ghes.c > > @@ -689,21 +689,12 @@ void ghes_unregister_vendor_record_noti fier(struct notifier_block *nb) > > } > > EXPORT_SYMBOL_GPL(ghes_unregister_vendor_record_notifier); > > > > -static void ghes_vendor_record_notifier_destroy(void *nb) > > -{ > > - ghes_unregister_vendor_record_notifier(nb); > > -} > > - > > int devm_ghes_register_vendor_record_notifier(struct device *dev, > > struct notifier_block *nb) > > { > > - int ret; > > - > > - ret = ghes_register_vendor_record_notifier(nb); > > - if (ret) > > - return ret; > > - > > - return devm_add_action_or_reset(dev, ghes_vendor_record_notifier_destroy, nb); > > + return devm_blocking_notifier_chain_register(dev, > > + &vendor_record_notify_list, > > + nb); > > Whilst correct, I'm less keen on this one because it looses the obvious connection > to the non devm form. I suppose with the code being so near > to the non devm we can go with this. > > For that matter why do we have the non devm variants? There are no users in tree. > Can we just rip that and the unregister given this is removing the only users? You're right - there are no in-tree users of the non-devm ghes_register_vendor_record_notifier() and ghes_unregister_vendor_record_notifier(). The only callers (pcie-hisi-error.c and ghes-nvidia.c) both use the devm variant. I'll update this patch in v2 to also remove the non-devm functions and their EXPORT_SYMBOL_GPL()s, along with the declarations and kerneldoc in include/acpi/ghes.h.