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