mbox series

[0/4] usb: phy: generic: Support enabling/disabling VBUS

Message ID 20220114170941.800068-1-sean.anderson@seco.com
Headers show
Series usb: phy: generic: Support enabling/disabling VBUS | expand

Message

Sean Anderson Jan. 14, 2022, 5:09 p.m. UTC
The generic USB phy has had VBUS-related code for a long time, but it
has always been broken, since the regulator was never gotten from the
device tree. However, the support itself seems not very useful, since
e.g.  usb_phy_vbus_on/off has no users and usb_phy_set_power is only
used by gadgets to make sure they don't draw too much current. Instead,
use the VBUS regulator to implement otg_set_vbus, which is called from
several drivers. This results in a change in semantics of VBUS, but
since support was always broken I don't think this will have any affect.


Sean Anderson (4):
  dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator
  usb: phy: generic: Get the vbus supply
  usb: phy: generic: Implement otg->set_vbus
  usb: phy: generic: Disable vbus on removal

 .../bindings/usb/usb-nop-xceiv.yaml           |  8 +--
 drivers/usb/phy/phy-generic.c                 | 55 +++++++++----------
 2 files changed, 31 insertions(+), 32 deletions(-)

Comments

Rob Herring (Arm) Jan. 15, 2022, 5:22 p.m. UTC | #1
On Fri, 14 Jan 2022 12:09:38 -0500, Sean Anderson wrote:
> The vbus-regulator property was never actually read from the device tree.
> Introduce a new property vbus-supply to represent the regulator powering
> the VBUS when acting as an A-Device. This supply will be enabled and
> disabled as necessary. Note that this is different from vbus-regulator,
> which represented the available current available to draw from VBUS in
> B-Device mode. Because no one was using vbus-regulator, remove it.
> 
> Signed-off-by: Sean Anderson <sean.anderson@seco.com>
> ---
> 
>  Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:
./Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml:37:15: [error] empty value in block mapping (empty-values)
./Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml:40:9: [error] syntax error: mapping values are not allowed here (syntax)

dtschema/dtc warnings/errors:
make[1]: *** Deleting file 'Documentation/devicetree/bindings/usb/usb-nop-xceiv.example.dts'
Traceback (most recent call last):
  File "/usr/local/bin/dt-extract-example", line 46, in <module>
    binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 434, in load
    return constructor.get_single_data()
  File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 119, in get_single_data
    node = self.composer.get_single_node()
  File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node
  File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
  File "_ruamel_yaml.pyx", line 891, in _ruamel_yaml.CParser._compose_mapping_node
  File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event
ruamel.yaml.scanner.ScannerError: mapping values are not allowed in this context
  in "<unicode string>", line 40, column 9
make[1]: *** [Documentation/devicetree/bindings/Makefile:25: Documentation/devicetree/bindings/usb/usb-nop-xceiv.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs....
./Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml:  mapping values are not allowed in this context
  in "<unicode string>", line 40, column 9
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml: ignoring, error parsing file
make: *** [Makefile:1413: dt_binding_check] Error 2

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1580217

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Greg Kroah-Hartman April 5, 2022, 3:02 p.m. UTC | #2
On Tue, Apr 05, 2022 at 10:51:34AM -0400, Sean Anderson wrote:
> 
> 
> On 1/14/22 12:09 PM, Sean Anderson wrote:
> > The generic USB phy has had VBUS-related code for a long time, but it
> > has always been broken, since the regulator was never gotten from the
> > device tree. However, the support itself seems not very useful, since
> > e.g.  usb_phy_vbus_on/off has no users and usb_phy_set_power is only
> > used by gadgets to make sure they don't draw too much current. Instead,
> > use the VBUS regulator to implement otg_set_vbus, which is called from
> > several drivers. This results in a change in semantics of VBUS, but
> > since support was always broken I don't think this will have any affect.
> > 
> > 
> > Sean Anderson (4):
> >   dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator
> >   usb: phy: generic: Get the vbus supply
> >   usb: phy: generic: Implement otg->set_vbus
> >   usb: phy: generic: Disable vbus on removal
> > 
> >  .../bindings/usb/usb-nop-xceiv.yaml           |  8 +--
> >  drivers/usb/phy/phy-generic.c                 | 55 +++++++++----------
> >  2 files changed, 31 insertions(+), 32 deletions(-)
> > 
> 
> ping?
> 
> When this was submitted I got an email saying that the merge window was
> closed... but I think it has opened and closed again during the
> intervening time.

It opened yesterday.  Please give us a chance to catch up.

While that happens, please take the time to review other changes on the
mailing lists, we can always use the help.

thanks,

greg k-h
Sean Anderson April 5, 2022, 3:06 p.m. UTC | #3
On 4/5/22 11:02 AM, Greg Kroah-Hartman wrote:
> On Tue, Apr 05, 2022 at 10:51:34AM -0400, Sean Anderson wrote:
>> 
>> 
>> On 1/14/22 12:09 PM, Sean Anderson wrote:
>> > The generic USB phy has had VBUS-related code for a long time, but it
>> > has always been broken, since the regulator was never gotten from the
>> > device tree. However, the support itself seems not very useful, since
>> > e.g.  usb_phy_vbus_on/off has no users and usb_phy_set_power is only
>> > used by gadgets to make sure they don't draw too much current. Instead,
>> > use the VBUS regulator to implement otg_set_vbus, which is called from
>> > several drivers. This results in a change in semantics of VBUS, but
>> > since support was always broken I don't think this will have any affect.
>> > 
>> > 
>> > Sean Anderson (4):
>> >   dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator
>> >   usb: phy: generic: Get the vbus supply
>> >   usb: phy: generic: Implement otg->set_vbus
>> >   usb: phy: generic: Disable vbus on removal
>> > 
>> >  .../bindings/usb/usb-nop-xceiv.yaml           |  8 +--
>> >  drivers/usb/phy/phy-generic.c                 | 55 +++++++++----------
>> >  2 files changed, 31 insertions(+), 32 deletions(-)
>> > 
>> 
>> ping?
>> 
>> When this was submitted I got an email saying that the merge window was
>> closed... but I think it has opened and closed again during the
>> intervening time.
> 
> It opened yesterday.  Please give us a chance to catch up.

Ah, sorry. I thought this series had just gotten lost.

> While that happens, please take the time to review other changes on the
> mailing lists, we can always use the help.

Noted.

--Sean