Thread (8 messages) 8 messages, 3 authors, 2021-06-15

Re: [PATCH] USB: DWC2: Add VBUS overcurrent detection control.

From: Paul Cercueil <hidden>
Date: 2021-06-15 10:15:48
Also in: linux-usb, lkml

Hi Greg,

Le mar., juin 15 2021 at 11:48:30 +0200, Greg KH 
[off-list ref] a écrit :
On Tue, Jun 15, 2021 at 09:52:20AM +0100, Paul Cercueil wrote:
quoted
 Hi Zhou,

 Le mar., juin 15 2021 at 16:16:39 +0800, 周琰杰 
[off-list ref]
 a écrit :
 > Hi Greg,
 >
 > Sorry for taking so long to reply.
 >
 > 于 Tue, 23 Mar 2021 16:31:29 +0100
 > Greg KH [off-list ref] 写道:
 >
 > >  On Tue, Mar 23, 2021 at 11:24:26PM +0800, 周琰杰 (Zhou 
Yanjie)
 > > wrote:
 > >  > Introduce configurable option for enabling GOTGCTL register
 > >  > bits VbvalidOvEn and VbvalidOvVal. Once selected it disables
 > >  > VBUS overcurrent detection.
 > >  >
 > >  > This patch is derived from Dragan Čečavac (in the kernel 
3.18
 > >  > tree of CI20). It is very useful for the MIPS Creator 
CI20(r1).
 > >  > Without this patch, CI20's OTG port has a great probability 
to
 > >  > face overcurrent warning, which breaks the OTG functionality.
 > >  >
 > >  > Signed-off-by: 周琰杰 (Zhou Yanjie) 
[off-list ref]
 > >  > Signed-off-by: Dragan Čečavac [off-list ref]
 > >  > ---
 > >  >  drivers/usb/dwc2/Kconfig | 6 ++++++
 > >  >  drivers/usb/dwc2/core.c  | 9 +++++++++
 > >  >  2 files changed, 15 insertions(+)
 > >  >
 > >  > diff --git a/drivers/usb/dwc2/Kconfig 
b/drivers/usb/dwc2/Kconfig
 > >  > index c131719..e40d187 100644
 > >  > --- a/drivers/usb/dwc2/Kconfig
 > >  > +++ b/drivers/usb/dwc2/Kconfig
 > >  > @@ -94,4 +94,10 @@ config USB_DWC2_DEBUG_PERIODIC
 > >  >  	  non-periodic transfers, but of course the debug logs
 > >  > will be incomplete. Note that this also disables some debug
 > > messages
 > >  >  	  for which the transfer type cannot be deduced.
 > >  > +
 > >  > +config USB_DWC2_DISABLE_VOD
 > >  > +	bool "Disable VBUS overcurrent detection"
 > >  > +	help
 > >  > +	  Say Y here to switch off VBUS overcurrent detection. It
 > >  > enables USB
 > >  > +	  functionality blocked by overcurrent detection.
 > >
 > >  Why would this be a configuration option?  Shouldn't this be 
dynamic
 > >  and just work properly automatically?
 > >
 > >  You should not have to do this on a build-time basis, it 
should be
 > >  able to be detected and handled properly at run-time for all
 > > devices.
 > >
 >
 > I consulted the original author Dragan Čečavac, he think since 
this is
 > a feature which disables overcurrent detection, so we are not 
sure if
 > it could be harmful for some devices. Therefore he advise against
 > enabling it in runtime, and in favor that user explicitely has to
 > enable it.

 This could still be enabled at runtime, though, via a module 
parameter.
 Leave it enabled by default, and those who want to disable it can 
do it.
This is not the 1990's, please NEVER add new module parameters,
First time I hear this.
especially ones that are somehow supposed to be device-specific.

Remember, module options are code-wide, not device-specific.
Right. I thought "just make the option available on devices that 
support it" but that's not how it works.

-Paul
Just do this based on the device type, or something else dynamic, do 
NOT
make this be forced to be selected by a kernel configuration option 
or a
random module option at runtime.

thanks,

greg k-h
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help