On Wed, Jan 06, 2021 at 07:49:04PM -0800, Prashant Malani wrote: > Generate a change uevent when the "number_of_alternate_modes" sysfs file > for partners and plugs is updated by a port driver. > > Cc: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > Cc: Benson Leung <bleung@xxxxxxxxxxxx> > Signed-off-by: Prashant Malani <pmalani@xxxxxxxxxxxx> > --- > drivers/usb/typec/class.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c > index ebfd3113a9a8..8f77669f9cf4 100644 > --- a/drivers/usb/typec/class.c > +++ b/drivers/usb/typec/class.c > @@ -766,6 +766,7 @@ int typec_partner_set_num_altmodes(struct typec_partner *partner, int num_altmod > return ret; > > sysfs_notify(&partner->dev.kobj, NULL, "number_of_alternate_modes"); > + kobject_uevent(&partner->dev.kobj, KOBJ_CHANGE); Shouldn't the sysfs_notify() handle the "something has changed" logic good enough for userspace, as obviously someone is polling on the thing (otherwise we wouldn't be calling sysfs_notify...) The kobject itself hasn't "changed", but rather an individual attribute has changed. We don't want to create uevents for every individual sysfs attribute changing values, do we? What is preventing a normal "monitor the sysfs file" logic from working here for anyone who wants to know that the alternate modes have changed? thanks, greg k-h