[PATCH v2 01/22] usb: typec: Add alternate mode state notifiers
Joshua Peisach
jpeisach at ubuntu.com
Mon Sep 7 06:27:04 PDT 2026
On Sun Sep 6, 2026 at 2:36 PM EDT, Sven Peter wrote:
> The Apple Silicon USB4/Thunderbolt driver needs to be made aware of
> cable details and whenever USB4 or Thunderbolt is entered. The cable
> details are already available as part of the typec subsystem but there
> is no way to get a notification on typec_altmode_update_active() so
> far.
>
> Add a blocking notifier chain to each alternate mode and call it
> whenever the mode is activated or deactivated right next to the already
> existing sysfs and kobject_uevent notifications. Replay activations when a
> notifier is registered.
>
> Signed-off-by: Sven Peter <sven at kernel.org>
> ---
> drivers/usb/typec/bus.h | 6 +++++
> drivers/usb/typec/class.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++
> include/linux/usb/typec.h | 16 +++++++++++++
> 3 files changed, 81 insertions(+)
>
> diff --git a/drivers/usb/typec/bus.h b/drivers/usb/typec/bus.h
> index 7df5deb1dd3a..4dc60c48c91e 100644
> --- a/drivers/usb/typec/bus.h
> +++ b/drivers/usb/typec/bus.h
> @@ -3,6 +3,8 @@
> #ifndef __USB_TYPEC_ALTMODE_H__
> #define __USB_TYPEC_ALTMODE_H__
>
> +#include <linux/mutex.h>
> +#include <linux/notifier.h>
> #include <linux/usb/typec_altmode.h>
>
> struct typec_mux;
> @@ -23,6 +25,10 @@ struct altmode {
>
> struct altmode *partner;
> struct altmode *plug[2];
> +
> + /* Serializes active state changes and notifier registration. */
> + struct mutex state_lock;
> + struct blocking_notifier_head state_notifier;
> };
>
space/tab formatting
More information about the linux-arm-kernel
mailing list