public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS
@ 2022-01-14 17:09 Sean Anderson
  2022-01-14 17:09 ` [PATCH 1/4] dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator Sean Anderson
  2022-04-05 14:51 ` [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS Sean Anderson
  0 siblings, 2 replies; 6+ messages in thread
From: Sean Anderson @ 2022-01-14 17:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-usb
  Cc: Robert Jarzmik, Felipe Balbi, linux-kernel, Sean Anderson,
	Rob Herring, devicetree

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(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator
  2022-01-14 17:09 [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS Sean Anderson
@ 2022-01-14 17:09 ` Sean Anderson
  2022-01-15 17:22   ` Rob Herring
  2022-04-05 14:51 ` [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS Sean Anderson
  1 sibling, 1 reply; 6+ messages in thread
From: Sean Anderson @ 2022-01-14 17:09 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-usb
  Cc: Robert Jarzmik, Felipe Balbi, linux-kernel, Sean Anderson,
	Rob Herring, devicetree

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(-)

diff --git a/Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml b/Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml
index 2824c17285ee..a79459bb5a4c 100644
--- a/Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-nop-xceiv.yaml
@@ -34,9 +34,9 @@ properties:
     description: Should specify the GPIO detecting a VBus insertion
     maxItems: 1
 
-  vbus-regulator:
-    description: Should specifiy the regulator supplying current drawn from
-      the VBus line.
+  vbus-supply:
+  description: regulator supplying VBUS. It will be enabled and disabled
+               dynamically in OTG mode.
     $ref: /schemas/types.yaml#/definitions/phandle
 
 required:
@@ -57,7 +57,7 @@ examples:
         vcc-supply = <&hsusb1_vcc_regulator>;
         reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
         vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
-        vbus-regulator = <&vbus_regulator>;
+        vbus-supply = <&vbus_regulator>;
         #phy-cells = <0>;
     };
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/4] dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator
  2022-01-14 17:09 ` [PATCH 1/4] dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator Sean Anderson
@ 2022-01-15 17:22   ` Rob Herring
  0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2022-01-15 17:22 UTC (permalink / raw)
  To: Sean Anderson
  Cc: devicetree, Greg Kroah-Hartman, Rob Herring, linux-kernel,
	Robert Jarzmik, Felipe Balbi, linux-usb

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.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS
  2022-01-14 17:09 [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS Sean Anderson
  2022-01-14 17:09 ` [PATCH 1/4] dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator Sean Anderson
@ 2022-04-05 14:51 ` Sean Anderson
  2022-04-05 15:02   ` Greg Kroah-Hartman
  1 sibling, 1 reply; 6+ messages in thread
From: Sean Anderson @ 2022-04-05 14:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-usb
  Cc: Robert Jarzmik, Felipe Balbi, linux-kernel, Rob Herring,
	devicetree



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.

--Sean

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS
  2022-04-05 14:51 ` [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS Sean Anderson
@ 2022-04-05 15:02   ` Greg Kroah-Hartman
  2022-04-05 15:06     ` Sean Anderson
  0 siblings, 1 reply; 6+ messages in thread
From: Greg Kroah-Hartman @ 2022-04-05 15:02 UTC (permalink / raw)
  To: Sean Anderson
  Cc: linux-usb, Robert Jarzmik, Felipe Balbi, linux-kernel,
	Rob Herring, devicetree

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS
  2022-04-05 15:02   ` Greg Kroah-Hartman
@ 2022-04-05 15:06     ` Sean Anderson
  0 siblings, 0 replies; 6+ messages in thread
From: Sean Anderson @ 2022-04-05 15:06 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-usb, Robert Jarzmik, Felipe Balbi, linux-kernel,
	Rob Herring, devicetree



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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-04-05 23:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-14 17:09 [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS Sean Anderson
2022-01-14 17:09 ` [PATCH 1/4] dt-bindings: usb: usb-nop-xceiv: Repurpose vbus-regulator Sean Anderson
2022-01-15 17:22   ` Rob Herring
2022-04-05 14:51 ` [PATCH 0/4] usb: phy: generic: Support enabling/disabling VBUS Sean Anderson
2022-04-05 15:02   ` Greg Kroah-Hartman
2022-04-05 15:06     ` Sean Anderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox