Re: [PATCH v1 1/1] extcon: ptn5150: Add usb-typec support for Intel LGM SoC

From: Ramuthevar, Vadivel MuruganX
Date: Tue Aug 25 2020 - 23:32:32 EST



Hi,

Thank you very much for the review comments...

On 25/8/2020 6:46 pm, Chanwoo Choi wrote:
Hi,

On 8/25/20 5:31 PM, Ramuthevar,Vadivel MuruganX wrote:
From: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@xxxxxxxxxxxxxxx>

Add usb-typec detection support for Intel LGM SoC based
boards.

Signed-off-by: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@xxxxxxxxxxxxxxx>
---
drivers/extcon/extcon-ptn5150.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/extcon/extcon-ptn5150.c b/drivers/extcon/extcon-ptn5150.c
index 8ba706fad887..60355a1b5cb2 100644
--- a/drivers/extcon/extcon-ptn5150.c
+++ b/drivers/extcon/extcon-ptn5150.c
@@ -300,6 +300,8 @@ static int ptn5150_i2c_probe(struct i2c_client *i2c)
return ret;
}
+ extcon_set_property_capability(info->edev, EXTCON_USB_HOST,
+ EXTCON_PROP_USB_TYPEC_POLARITY);

extcon_set_property_capability() just sets the capability
of EXTCON_PROP_USB_TYPEC_POLARITY property.

If you want to set the value (0 or 1) of EXTCON_PROP_USB_TYPEC_POLARITY,
we have to call extcon_set_property() function. But, this patch doesn't
set the any value of EXTCON_PROP_USB_TYPEC_POLARITY property.

Why do you only use extcon_set_property_capability()
without the proper extcon_set_property()?

In extcon-ptn5150.c driver, we are not setting the capability of the EXTCON_PROP_USB_TYPEC_POLARITY
and EXTCON_PROP_USB_VBUS, so USB-PHY driver try to get the value of POLARITY capability by
calling extcon_get_property(), it returns error'ed value because we didn't set it.

In drivers/extcon/extcon.c, below code snippet returns errored value.
/* Check whether the property is supported or not */
if (!is_extcon_property_supported(id, prop))
return -EINVAL;

To avoid the above condition, refered and followed the same from drivers/extcon/extcon-usbc-cros-ec.c
extcon_set_property_capability(info->edev, EXTCON_USB,
EXTCON_PROP_USB_VBUS);
extcon_set_property_capability(info->edev, EXTCON_USB_HOST,
EXTCON_PROP_USB_VBUS);
extcon_set_property_capability(info->edev, EXTCON_USB,
EXTCON_PROP_USB_TYPEC_POLARITY);
.....................


after that, we follow the same to set the property capability then no error'ed value,
it's working properly.

Yes, you're right we can use extcon_set_property() API as well.

I can update the code like below...
extcon_set_property(info->edev,EXTCON_USB_HOST,EXTCON_PROP_USB_TYPEC_POLARITY, flipped);

Regards
Vadivel


/* Initialize PTN5150 device and print vendor id and version id */
ret = ptn5150_init_dev_type(info);
if (ret)