From: Eliav Farber <farbere@amazon.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>,
"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Armin Wolf" <W_Armin@gmx.de>,
"Sebastian Reichel" <sre@kernel.org>,
"Andrew Morton" <akpm@linux-foundation.org>
Cc: "Eliav Farber" <farbere@amazon.com>,
linux-acpi@vger.kernel.org, acpica-devel@lists.linux.dev,
linux-input@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-pwm@vger.kernel.org, platform-driver-x86@vger.kernel.org,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
"Jonathan Cameron" <jonathan.cameron@oss.qualcomm.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Uwe Kleine-König" <ukleinek@kernel.org>
Subject: [PATCH v6 0/7] notifier: convert remaining drivers to device-managed registration
Date: Fri, 13 Nov 2026 10:42:02 +0000 [thread overview]
Message-ID: <20261113104218.32566-1-farbere@amazon.com> (raw)
The devm_atomic_notifier_chain_register() and
devm_blocking_notifier_chain_register() helpers this series added in v5
are now in mainline, together with 6 of the 11 driver conversions. This
revision carries the 6 conversions that were never picked up, plus one
new conversion for a driver that grew the old pattern after v5 was
posted.
Background, unchanged from v5. Many drivers repeat the same boilerplate
when registering notifiers with device lifetime:
1. Register the notifier with *_notifier_chain_register()
2. Check for error
3. Register a devm action to unregister on teardown
4. Implement a per-driver static unregister callback
The devm_*_notifier_chain_register() helpers reduce that to a single
call with one error path, eliminating the per-driver unregister
callback. Each conversion drops ~15 lines; this revision removes 117
lines and adds 18.
Already in mainline, so dropped from this revision:
v5 commit subject
1/13 e38b9eda475f notifier: add device-managed registration APIs
2/13 6b0c6ff76795 pwm: iqs620a
3/13 8c77589a7274 iio: light: iqs621-als
4/13 c9f54ead5793 iio: position: iqs624
5/13 870f46a42afd gpio: adp5585
11/13 323906906101 gpio: eic-sprd
12/13 df6501bf6fc4 gpio: gpiolib-kunit
What is left, with the v5 numbering for anyone who reviewed it then:
v6 v5 subject
1/7 6/13 platform/x86: bitland-mifs-wmi
2/7 7/13 Input: adp5585
3/7 8/13 ACPI: APEI: GHES: remove unused ghes_{,un}register_...
4/7 9/13 ACPI: APEI: GHES: use devm_...
5/7 10/13 platform/x86: uniwill-wmi
6/7 13/13 reboot
7/7 - power: supply: cros_pchg (new in v6)
The patches are independent and can go through their own trees. The only
ordering constraint is that patch 3 must precede patch 4: patch 3 removes
the unused exports, patch 4 converts what is left. The devm helpers are
already upstream, so unlike v5 this revision needs no base commit or
pull request to build.
Suggested routing, since the series now spans five trees:
1/7, 5/7 platform-drivers-x86
2/7 input
3/7, 4/7 acpi, in this order
6/7 kernel/reboot.c has no MAINTAINERS entry, so it falls to
THE REST
7/7 power-supply
Each patch is Cc'd to its own subsystem lists only, so no list receives
patches it does not own. linux-kernel receives all of them.
v5: https://lore.kernel.org/all/20260816060648.4030-1-farbere@amazon.com/
Changes in v6:
- Dropped the 7 patches now in mainline, listed above.
- Rebased onto v7.4-rc1. No conflicts; the 6 carried patches are
functionally unchanged from v5.
- Patch 3: replaced an em dash in the commit message with an ASCII
hyphen. No change to the code.
- Patch 6: the commit message now records that the removed callback's
WARN_ON() on a failed unregister goes away, because
devm_blocking_notifier_chain_register() ignores the unregister return
value. No in-tree caller can trigger it. No change to the code.
- Patch 7: new. cros_pchg grew the
blocking_notifier_chain_register() + devm_add_action_or_reset()
pattern in 631adfa03595 ("power: supply: cros_pchg: unregister EC
notifier"), which reached mainline in v7.3-rc1, five days after v5
was posted.
- Carried forward the Acked-by and Reviewed-by tags given on v1 and v4.
Each was checked against the patch it was given for: all four are
byte-identical to the version here.
Changes in v5:
- Patch 1: rename notifier_block parameter from 'n' to 'nb' to match
the devres struct field name (Uwe Kleine-König)
- Patch 2: remove extra blank line left after deleting the unregister
callback (Uwe Kleine-König)
Changes in v4:
- Patch 8: split the removal of unused
ghes_register_vendor_record_notifier() and
ghes_unregister_vendor_record_notifier() into a separate preceding
patch (Andy Shevchenko)
Changes in v3:
- Patch 1: drop devm_raw_notifier_chain_register() since raw notifiers
require caller-provided locking which is incompatible with the devres
teardown callback (Sashiko)
- Patch 12: fix commit message to accurately describe the old code as
using devres_alloc() + register_reboot_notifier() (Sashiko)
Changes in v2:
- Patch 1: drop 'extern' from new function prototypes (Bart Van Assche)
- Patch 1: fix kerneldoc to use 'Return:' format (Bart Van Assche)
- Patch 1: use <linux/device/devres.h> instead of <linux/device.h>
(Andy Shevchenko)
- Patch 8: also remove unused ghes_register_vendor_record_notifier() and
ghes_unregister_vendor_record_notifier() along with their exports and
ghes.h declarations (Jonathan Cameron)
Eliav Farber (7):
platform/x86: bitland-mifs-wmi: use
devm_blocking_notifier_chain_register()
Input: adp5585: use devm_blocking_notifier_chain_register()
ACPI: APEI: GHES: remove unused
ghes_{,un}register_vendor_record_notifier()
ACPI: APEI: GHES: use devm_blocking_notifier_chain_register()
platform/x86: uniwill-wmi: use devm_blocking_notifier_chain_register()
reboot: use devm_blocking_notifier_chain_register()
power: supply: cros_pchg: use devm_blocking_notifier_chain_register()
drivers/acpi/apei/ghes.c | 27 +++----------------
drivers/input/keyboard/adp5585-keys.c | 18 +++----------
drivers/platform/x86/bitland-mifs-wmi.c | 17 +++---------
drivers/platform/x86/uniwill/uniwill-wmi.c | 17 +++---------
.../power/supply/cros_peripheral_charger.c | 16 +++--------
include/acpi/ghes.h | 16 -----------
kernel/reboot.c | 24 ++---------------
7 files changed, 18 insertions(+), 117 deletions(-)
base-commit: 067c5c24cef23d913b67eaaf71ae67e7169a6620
--
2.47.3
next reply other threads:[~2026-11-13 10:42 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-13 10:42 Eliav Farber [this message]
2026-11-13 10:42 ` [PATCH v6 1/7] platform/x86: bitland-mifs-wmi: use devm_blocking_notifier_chain_register() Eliav Farber
2026-11-13 10:42 ` [PATCH v6 2/7] Input: adp5585: " Eliav Farber
2026-11-13 15:48 ` Dmitry Torokhov
2026-11-13 10:42 ` [PATCH v6 3/7] ACPI: APEI: GHES: remove unused ghes_{,un}register_vendor_record_notifier() Eliav Farber
2026-11-13 11:28 ` Andy Shevchenko
2026-11-13 10:42 ` [PATCH v6 4/7] ACPI: APEI: GHES: use devm_blocking_notifier_chain_register() Eliav Farber
2026-11-13 11:03 ` [PATCH v6 0/7] notifier: convert remaining drivers to device-managed registration Eliav Farber
2026-11-13 11:46 ` Ilpo Järvinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261113104218.32566-1-farbere@amazon.com \
--to=farbere@amazon.com \
--cc=W_Armin@gmx.de \
--cc=acpica-devel@lists.linux.dev \
--cc=akpm@linux-foundation.org \
--cc=andy@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jonathan.cameron@oss.qualcomm.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=sre@kernel.org \
--cc=ukleinek@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.