[PATCH 4.19 42/48] usb: typec: add missing uevent when partner support PD

From: Greg Kroah-Hartman
Date: Tue Jul 19 2022 - 08:06:44 EST


From: Linyu Yuan <quic_linyyuan@xxxxxxxxxxx>

commit 6fb9e1d94789e8ee5a258a23bc588693f743fd6c upstream.

System like Android allow user control power role from UI, it is possible
to implement application base on typec uevent to refresh UI, but found
there is chance that UI show different state from typec attribute file.

In typec_set_pwr_opmode(), when partner support PD, there is no uevent
send to user space which cause the problem.

Fix it by sending uevent notification when change power mode to PD.

Fixes: bdecb33af34f ("usb: typec: API for controlling USB Type-C Multiplexers")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Linyu Yuan <quic_linyyuan@xxxxxxxxxxx>
Link: https://lore.kernel.org/r/1656662934-10226-1-git-send-email-quic_linyyuan@xxxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/usb/typec/class.c | 1 +
1 file changed, 1 insertion(+)

--- a/drivers/usb/typec/class.c
+++ b/drivers/usb/typec/class.c
@@ -1377,6 +1377,7 @@ void typec_set_pwr_opmode(struct typec_p
partner->usb_pd = 1;
sysfs_notify(&partner_dev->kobj, NULL,
"supports_usb_power_delivery");
+ kobject_uevent(&partner_dev->kobj, KOBJ_CHANGE);
}
put_device(partner_dev);
}