Messages in this thread | | | Subject | Re: [PATCH] Revert "usb: cdns3: core: quit if it uses role switch class" | From | Roger Quadros <> | Date | Tue, 24 Nov 2020 11:39:19 +0200 |
| |
Peter,
On 24/11/2020 08:43, Peter Chen wrote: > On 20-11-23 13:50:51, Roger Quadros wrote: >> This reverts commit 50642709f6590fe40afa6d22c32f23f5b842aed5. >> >> This commit breaks hardware based role switching on TI platforms. >> cdns->role_sw is always going to be non-zero as it is a pointer >> to the usb_role_switch instance. Some other means needs to be used >> if hardware based role switching is not required by the platform. >> >> Signed-off-by: Roger Quadros <rogerq@ti.com> >> --- >> drivers/usb/cdns3/core.c | 4 ---- >> 1 file changed, 4 deletions(-) >> >> diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c >> index a0f73d4711ae..4c1445cf2ad0 100644 >> --- a/drivers/usb/cdns3/core.c >> +++ b/drivers/usb/cdns3/core.c >> @@ -280,10 +280,6 @@ int cdns3_hw_role_switch(struct cdns3 *cdns) >> enum usb_role real_role, current_role; >> int ret = 0; >> >> - /* Depends on role switch class */ >> - if (cdns->role_sw) >> - return 0; >> - >> pm_runtime_get_sync(cdns->dev); >> >> current_role = cdns->role; >> -- > > Hi Roger, > > I am sorry about that. Do you use role switch /sys entry, if you have > used, I prefer using "usb-role-switch" property at dts to judge if > SoC OTG signals or external signals for role switch. If you have not > used it, I prefer only setting cdns->role_sw for role switch use cases. >
We use both hardware role switch and /sys entries for manually forcing a certain role.
We do not set any "usb-role-switch" property at DTS.
Currently cdns->role_sw is being always set by driver irrespective of any DT property, so this patch is clearly wrong and needs to be reverted.
What do you think?
cheers, -roger -- Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
| |