[PATCH v9 01/10] usb: typec: Add notifier functions

Chaoyi Chen chaoyi.chen at rock-chips.com
Mon Nov 17 00:41:07 PST 2025


On 11/17/2025 4:33 PM, Heikki Krogerus wrote:

> Tue, Nov 11, 2025 at 06:50:31PM +0800, Chaoyi Chen kirjoitti:
>> From: Chaoyi Chen <chaoyi.chen at rock-chips.com>
>>
>> Some other part of kernel may want to know the event of typec bus.
>>
>> This patch add common notifier function to notify these event.
>>
>> Signed-off-by: Chaoyi Chen <chaoyi.chen at rock-chips.com>
>> ---
>>
>> Changes in v9:
>> - Remove redundant header files.
>>
>> Changes in v8:
>> - Fix coding style.
>>
>>   drivers/usb/typec/Makefile        |  2 +-
>>   drivers/usb/typec/bus.h           |  2 ++
>>   drivers/usb/typec/class.c         |  2 ++
>>   drivers/usb/typec/notify.c        | 23 +++++++++++++++++++++++
>>   include/linux/usb/typec_altmode.h |  9 +++++++++
>>   5 files changed, 37 insertions(+), 1 deletion(-)
>>   create mode 100644 drivers/usb/typec/notify.c
>>
>> diff --git a/drivers/usb/typec/Makefile b/drivers/usb/typec/Makefile
>> index 7a368fea61bc..20d09c5314d7 100644
>> --- a/drivers/usb/typec/Makefile
>> +++ b/drivers/usb/typec/Makefile
>> @@ -1,6 +1,6 @@
>>   # SPDX-License-Identifier: GPL-2.0
>>   obj-$(CONFIG_TYPEC)		+= typec.o
>> -typec-y				:= class.o mux.o bus.o pd.o retimer.o
>> +typec-y				:= class.o mux.o notify.o bus.o pd.o retimer.o
>>   typec-$(CONFIG_ACPI)		+= port-mapper.o
>>   obj-$(CONFIG_TYPEC)		+= altmodes/
>>   obj-$(CONFIG_TYPEC_TCPM)	+= tcpm/
>> diff --git a/drivers/usb/typec/bus.h b/drivers/usb/typec/bus.h
>> index 643b8c81786d..820b59b6d434 100644
>> --- a/drivers/usb/typec/bus.h
>> +++ b/drivers/usb/typec/bus.h
>> @@ -26,6 +26,8 @@ struct altmode {
>>   	struct altmode			*plug[2];
>>   };
>>   
>> +void typec_notify_event(unsigned long event, void *data);
>> +
>>   #define to_altmode(d) container_of(d, struct altmode, adev)
>>   
>>   extern const struct bus_type typec_bus;
>> diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
>> index 9b2647cb199b..9d2aa3dd3f56 100644
>> --- a/drivers/usb/typec/class.c
>> +++ b/drivers/usb/typec/class.c
>> @@ -600,6 +600,8 @@ typec_register_altmode(struct device *parent,
>>   		return ERR_PTR(ret);
>>   	}
>>   
>> +	typec_notify_event(TYPEC_ALTMODE_REGISTERED, &alt->adev);
>> +
>>   	return &alt->adev;
>>   }
> You need to also send TYPEC_ALTMODE_UNREGISTERED notification in
> typec_unregister_altmode().
>
Sorry, I left that out. I will fix this in v10. Thank you.

-- 
Best,
Chaoyi




More information about the linux-arm-kernel mailing list