On Fri, 29 Mar 2019, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > Historically the power supply management in this driver has been handled > in two separate places in parallel. Device-tree users simply defined an > appropriate regulator, while two boards with no DT support (da830-evm and > omapl138-hawk) passed functions defined in their respective board files > over platform data. These functions simply used legacy GPIO calls to > watch the oc GPIO for interrupts and disable the vbus GPIO when the irq > fires. > > Commit d193abf1c913 ("usb: ohci-da8xx: add vbus and overcurrent gpios") > updated these GPIO calls to the modern API and moved them inside the > driver. > > This however is not the optimal solution for the vbus GPIO as it > duplicates code. Instead we should model the GPIO as a fixed regulator > that can be controlled with a GPIO. > > This series adds fixed regulators for all users of vbus GPIO, adds > overcurrent protection using the existing vbus regulator in the USB > driver and removes the vbus GPIO calls once they're no longer used. > > v1 -> v2: > - add patch 1/6 that fixes an existing problem with missing array > sentinels in GPIO lookups > - add patch 2/6 that removes an unnecessary use count variable from the > driver > - reorder the changes: add support for overcurrent protection using the > existing vbus regulator first, then setup fixed regulators in board > files and finally remove the vbus GPIO from the ohci driver > > Bartosz Golaszewski (6): > ARM: davinci: add missing sentinels to GPIO lookup tables > usb: ohci-da8xx: let the regulator framework keep track of use count > usb: ohci-da8xx: disable the regulator if the overcurrent irq fired > ARM: davinci: omapl138-hawk: add a fixed regulator for ohci-da8xx > ARM: davinci: da830-evm: add a fixed regulator for ohci-da8xx > usb: ohci-da8xx: drop the vbus GPIO > > arch/arm/mach-davinci/board-da830-evm.c | 51 ++++++++++++++++++-- > arch/arm/mach-davinci/board-da850-evm.c | 1 + > arch/arm/mach-davinci/board-dm355-evm.c | 1 + > arch/arm/mach-davinci/board-dm644x-evm.c | 1 + > arch/arm/mach-davinci/board-omapl138-hawk.c | 50 ++++++++++++++++++-- > drivers/usb/host/ohci-da8xx.c | 52 ++++++++++----------- > 6 files changed, 122 insertions(+), 34 deletions(-) For patches 2, 3, and 6: Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Alan Stern