RE: [Intel-wired-lan] [PATCH net-next v5 3/9] dpll: Add notifier chain for dpll events
From: Loktionov, Aleksandr
Date: Thu Feb 05 2026 - 05:17:57 EST
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf
> Of Ivan Vecera
> Sent: Tuesday, February 3, 2026 6:40 PM
> To: netdev@xxxxxxxxxxxxxxx
> Cc: Eric Dumazet <edumazet@xxxxxxxxxx>; Nguyen, Anthony L
> <anthony.l.nguyen@xxxxxxxxx>; Leon Romanovsky <leon@xxxxxxxxxx>;
> Lobakin, Aleksander <aleksander.lobakin@xxxxxxxxx>; linux-
> rdma@xxxxxxxxxxxxxxx; Kitszel, Przemyslaw
> <przemyslaw.kitszel@xxxxxxxxx>; Kubalewski, Arkadiusz
> <arkadiusz.kubalewski@xxxxxxxxx>; intel-wired-lan@xxxxxxxxxxxxxxxx;
> Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>;
> Jiri Pirko <jiri@xxxxxxxxxxx>; Richard Cochran
> <richardcochran@xxxxxxxxx>; Prathosh Satish
> <Prathosh.Satish@xxxxxxxxxxxxx>; Vadim Fedorenko
> <vadim.fedorenko@xxxxxxxxx>; Mark Bloch <mbloch@xxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; Tariq Toukan <tariqt@xxxxxxxxxx>; Andrew Lunn
> <andrew+netdev@xxxxxxx>; Jonathan Lemon <jonathan.lemon@xxxxxxxxx>;
> Saeed Mahameed <saeedm@xxxxxxxxxx>; David S. Miller
> <davem@xxxxxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH net-next v5 3/9] dpll: Add notifier
> chain for dpll events
>
> From: Petr Oros <poros@xxxxxxxxxx>
>
> Currently, the DPLL subsystem reports events (creation, deletion,
> changes) to userspace via Netlink. However, there is no mechanism for
> other kernel components to be notified of these events directly.
>
> Add a raw notifier chain to the DPLL core protected by dpll_lock. This
> allows other kernel subsystems or drivers to register callbacks and
> receive notifications when DPLL devices or pins are created, deleted,
> or modified.
>
> Define the following:
> - Registration helpers: {,un}register_dpll_notifier()
> - Event types: DPLL_DEVICE_CREATED, DPLL_PIN_CREATED, etc.
> - Context structures: dpll_{device,pin}_notifier_info to pass
> relevant
> data to the listeners.
>
> The notification chain is invoked alongside the existing Netlink event
> generation to ensure in-kernel listeners are kept in sync with the
> subsystem state.
>
> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@xxxxxxxxx>
> Co-developed-by: Ivan Vecera <ivecera@xxxxxxxxxx>
> Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx>
> Signed-off-by: Petr Oros <poros@xxxxxxxxxx>
> ---
> drivers/dpll/dpll_core.c | 57
> +++++++++++++++++++++++++++++++++++++
> drivers/dpll/dpll_core.h | 4 +++
> drivers/dpll/dpll_netlink.c | 6 ++++
> include/linux/dpll.h | 29 +++++++++++++++++++
> 4 files changed, 96 insertions(+)
>
> diff --git a/drivers/dpll/dpll_core.c b/drivers/dpll/dpll_core.c index
> f04ed7195cadd..b05fe2ba46d91 100644
> --- a/drivers/dpll/dpll_core.c
> +++ b/drivers/dpll/dpll_core.c
> @@ -23,6 +23,8 @@ DEFINE_MUTEX(dpll_lock);
> DEFINE_XARRAY_FLAGS(dpll_device_xa, XA_FLAGS_ALLOC);
> DEFINE_XARRAY_FLAGS(dpll_pin_xa, XA_FLAGS_ALLOC);
>
> +static RAW_NOTIFIER_HEAD(dpll_notifier_chain);
> +
...
> --
> 2.52.0
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>