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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Greg,

Le mar., juin 15 2021 at 11:48:30 +0200, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> a écrit :
On Tue, Jun 15, 2021 at 09:52:20AM +0100, Paul Cercueil wrote:
 Hi Zhou,

Le mar., juin 15 2021 at 16:16:39 +0800, 周琰杰 <zhouyanjie@xxxxxxxxxxxxxx>
 a écrit :
 > Hi Greg,
 >
 > Sorry for taking so long to reply.
 >
 > 于 Tue, 23 Mar 2021 16:31:29 +0100
 > Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> 写道:
 >
> > 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) <zhouyanjie@xxxxxxxxxxxxxx>
 > >  > Signed-off-by: Dragan Čečavac <dragancecavac@xxxxxxxxx>
 > >  > ---
 > >  >  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






[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux