Re: [PATCH v7 10/14] usb: otg: add hcd companion support
From: Rob Herring
Date: Wed May 11 2016 - 09:55:03 EST
On Wed, May 04, 2016 at 04:47:18PM +0300, Roger Quadros wrote:
> On 04/05/16 16:17, Rob Herring wrote:
> > On Mon, May 02, 2016 at 03:18:53PM +0300, Roger Quadros wrote:
> >> From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> >>
> >> Since some host controller (e.g. EHCI) needs a companion host controller
> >> (e.g. OHCI), this patch adds such a configuration to use it in the OTG
> >> core.
> >>
> >> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
> >> Signed-off-by: Roger Quadros <rogerq@xxxxxx>
> >> ---
> >> Documentation/devicetree/bindings/usb/generic.txt | 3 +++
> >> drivers/usb/common/usb-otg.c | 32 ++++++++++++++++-------
> >> include/linux/usb/otg.h | 7 ++++-
> >> 3 files changed, 32 insertions(+), 10 deletions(-)
> >>
> >> diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
> >> index f6866c1..1db1c33 100644
> >> --- a/Documentation/devicetree/bindings/usb/generic.txt
> >> +++ b/Documentation/devicetree/bindings/usb/generic.txt
> >> @@ -27,6 +27,9 @@ Optional properties:
> >> - otg-controller: phandle to otg controller. Host or gadget controllers can
> >> contain this property to link it to a particular OTG
> >> controller.
> >> + - hcd-needs-companion: must be present if otg controller is dealing with
> >> + EHCI host controller that needs a companion OHCI host
> >> + controller.
> >
> > Don't you need to have a link to the companion controller node?
>
> primary and companion controllers are totally independent of each other
> e.g. EHCI and OHCI. They are enabled by separate Kconfig options and
> the system can operate with either or both of them enabled.
>
> At the OTG layer we don't have information as to whether we should be waiting
> for both of them to register or not and hence need this "hcd-needs-companion" flag.
What I mean is if you have 2 EHCI controllers with 2 companion
controllers, don't you need to know which companion goes with which EHCI
controller? Just like you do for the otg-controller property.
Rob