From: Prashanth K <quic_prashk@quicinc.com>
To: "Chunfeng Yun (云春峰)" <Chunfeng.Yun@mediatek.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"angelogioacchino.delregno@collabora.com"
<angelogioacchino.delregno@collabora.com>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: Re: [PATCH v2] usb: common: usb-conn-gpio: Set last role to unknown before initial detection
Date: Thu, 25 May 2023 13:56:49 +0530 [thread overview]
Message-ID: <a93575a0-e941-6fe2-635f-ac3c4d7acfef@quicinc.com> (raw)
In-Reply-To: <87bee7defd2578dba9502c14b53b7e5a91b5a5a8.camel@mediatek.com>
On 25-05-23 12:27 pm, Chunfeng Yun (云春峰) wrote:
> On Wed, 2023-05-24 at 19:20 +0530, Prashanth K wrote:
>> External email : Please do not click links or open attachments until
>> you have verified the sender or the content.
>>
>>
>> Currently if we bootup a device without cable connected, then
>> usb-conn-gpio won't call set_role() since last_role is same as
>> current role. This happens because during probe last_role gets
>> initialized to zero.
>>
>> To avoid this, added a new constant in enum usb_role, last_role
>> is set to USB_ROLE_UNKNOWN before performing initial detection.
>>
>> Fixes: 4602f3bff266 ("usb: common: add USB GPIO based connection
>> detection driver")
>> Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
>> ---
>> v2: Added USB_ROLE_UNKNWON to enum usb_role
>>
>> drivers/usb/common/usb-conn-gpio.c | 3 +++
>> include/linux/usb/role.h | 1 +
>> 2 files changed, 4 insertions(+)
>>
>> diff --git a/drivers/usb/common/usb-conn-gpio.c
>> b/drivers/usb/common/usb-conn-gpio.c
>> index e20874c..30bdb81 100644
>> --- a/drivers/usb/common/usb-conn-gpio.c
>> +++ b/drivers/usb/common/usb-conn-gpio.c
>> @@ -257,6 +257,9 @@ static int usb_conn_probe(struct platform_device
>> *pdev)
>> platform_set_drvdata(pdev, info);
>> device_set_wakeup_capable(&pdev->dev, true);
>>
>> + /* Set last role to unknown before performing the initial
>> detection */
>> + info->last_role = USB_ROLE_UNKNOWN;
>
> Do you only use vbus-pin?
This driver has support for both Vbus and ID GPIOs.
>
> This driver assumes that the gadget driver's default role is none.
No, after probe it calls set role based on the state of Vbus and ID pin.
If Vbus is low, then it should issue none role to the gadget. But
currently it doesnt call set_role if initial role is none.
Regards
next prev parent reply other threads:[~2023-05-25 8:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-24 13:50 Prashanth K
2023-05-24 20:07 ` kernel test robot
2023-05-25 6:57 ` Chunfeng Yun (云春峰)
2023-05-25 8:26 ` Prashanth K [this message]
2023-05-25 8:07 ` AngeloGioacchino Del Regno
2023-05-25 8:27 ` Prashanth K
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a93575a0-e941-6fe2-635f-ac3c4d7acfef@quicinc.com \
--to=quic_prashk@quicinc.com \
--cc=Chunfeng.Yun@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®