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

From: Ramuthevar Vadivel Murugan <[email protected]>

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

Signed-off-by: Ramuthevar Vadivel Murugan <[email protected]>
---
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);
/* Initialize PTN5150 device and print vendor id and version id */
ret = ptn5150_init_dev_type(info);
if (ret)
--
2.11.0


2020-08-25 10:34:50

by Chanwoo Choi

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

Hi,

On 8/25/20 5:31 PM, Ramuthevar,Vadivel MuruganX wrote:
> From: Ramuthevar Vadivel Murugan <[email protected]>
>
> Add usb-typec detection support for Intel LGM SoC based
> boards.
>
> Signed-off-by: Ramuthevar Vadivel Murugan <[email protected]>
> ---
> 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()?

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


--
Best Regards,
Chanwoo Choi
Samsung Electronics

2020-08-25 12:07:07

by Krzysztof Kozlowski

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

On Tue, Aug 25, 2020 at 04:31:47PM +0800, Ramuthevar,Vadivel MuruganX wrote:
> From: Ramuthevar Vadivel Murugan <[email protected]>
>
> Add usb-typec detection support for Intel LGM SoC based
> boards.
>
> Signed-off-by: Ramuthevar Vadivel Murugan <[email protected]>
> ---
> 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);

Hi,

I think you need the same for EXTCON_USB.

Although extcon_set_property_capability() error should not be fatal, but
printing a warn message would be useful.

Best regards,
Krzysztof


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

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

Hi,

Thank you for the review comments...

On 25/8/2020 4:40 pm, Krzysztof Kozlowski wrote:
> On Tue, Aug 25, 2020 at 04:31:47PM +0800, Ramuthevar,Vadivel MuruganX wrote:
>> From: Ramuthevar Vadivel Murugan <[email protected]>
>>
>> Add usb-typec detection support for Intel LGM SoC based
>> boards.
>>
>> Signed-off-by: Ramuthevar Vadivel Murugan <[email protected]>
>> ---
>> 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);
>
> Hi,
>
> I think you need the same for EXTCON_USB.
>
> Although extcon_set_property_capability() error should not be fatal, but
> printing a warn message would be useful.
Yes , earlier we had like below settings in our patches,
+ 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_HOST,
+ EXTCON_PROP_USB_TYPEC_POLARITY);

sure, will add warn message as well.

Thanks!
Best Regards
Vadivel
>
> Best regards,
> Krzysztof
>
>
>> /* Initialize PTN5150 device and print vendor id and version id */
>> ret = ptn5150_init_dev_type(info);
>> if (ret)
>> --
>> 2.11.0
>>

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


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 <[email protected]>
>>
>> Add usb-typec detection support for Intel LGM SoC based
>> boards.
>>
>> Signed-off-by: Ramuthevar Vadivel Murugan <[email protected]>
>> ---
>> 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)
>>
>
>