Re: [PATCH v3] usb: typec: clear usb_pd flag if change to typec only mode

From: Heikki Krogerus
Date: Thu Dec 09 2021 - 05:11:24 EST


Hi,

On Wed, Dec 08, 2021 at 03:18:25PM +0800, Steven Syu wrote:
> From: Steven Syu <stevensyu7@xxxxxxxxx>
>
> Set usb_pd to 0 when power operation mode
> leaving power delivery. That can avoid user-sepace
> read "yes" form the supports_usb_power_delivery_show() attribute
> but power operation mode already change form power delivery to
> others mode.

I think you need to add a short explanation about the situation where
this can happen - where we loose the USB PD contract.

> Signed-off-by: Steven Syu <stevensyu7@xxxxxxxxx>
> ---
> changes for v3:
> resubmit and add the changes comment of v1->v2
>
> v1->v2:
> 1.remove sysfs_notify(&partner_dev->kobj, NULL, "supports_usb_power_delivery"); when operation mode is not PD.
> 2.resubmitted patch by private email for remove footbar in the mail.
>
> 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 aeef453..2043e07 100644
> --- a/drivers/usb/typec/class.c
> +++ b/drivers/usb/typec/class.c
> @@ -1718,6 +1718,8 @@ void typec_set_pwr_opmode(struct typec_port *port,
> partner->usb_pd = 1;
> sysfs_notify(&partner_dev->kobj, NULL,
> "supports_usb_power_delivery");
> + } else if (opmode != TYPEC_PWR_MODE_PD && partner->usb_pd) {
> + partner->usb_pd = 0;
> }
> put_device(partner_dev);
> }
> --
> 2.7.4

thanks,

--
heikki