RE: [PATCH 08/12] ACPI: APEI: GHES: use devm_blocking_notifier_chain_register()

"Farber, Eliav" <[email protected]>
Newsgroups org.kernel.vger.linux-gpio,org.kernel.vger.linux-acpi,org.kernel.vger.linux-iio,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pwm,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.
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.