Linux-Aspeed Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: linux-aspeed@lists.ozlabs.org
Subject: [PATCH v5 7/7] dt-bindings: usb: add documentation for aspeed usb-vhub
Date: Mon, 02 Mar 2020 15:49:07 +1100	[thread overview]
Message-ID: <42daa66bedc1b06936bc9cbc6e9b31f6dd8ed3a1.camel@kernel.crashing.org> (raw)
In-Reply-To: <20200228081309.GA4531@taoren-ubuntuvm>

On Fri, 2020-02-28 at 00:13 -0800, Tao Ren wrote:
> On Fri, Feb 28, 2020 at 02:02:28PM +1100, Benjamin Herrenschmidt wrote:
> > On Thu, 2020-02-27 at 17:05 -0800, Tao Ren wrote:
> > > > Also long run I think best is going to have a child node per downstream
> > > > port, so we create a matching linux struct device. This will make it
> > > > easier to deal with the other device-controller in the ast2600 which is
> > > > basically one of these without a vhub above it.
> > > 
> > > Maybe a dumb question: what would be the proper place to parse the child
> > > node/properties when they are added? For example, in some usb_gadget_ops
> > > callback?
> > 
> > No. What the vhub would do is when it probes, it creates a platform
> > device for each "port" child node that's linked to the DT node.
> > 
> > The driver for the device then attaches to it via standard DT matching
> > and checks if it has a vhub parent or not, and based on that, operates
> > as a vhub child device or a standalone one.
> > 
> > (For example, it might have different functions for EP selection since
> > standalone devices have private EPs rather than a shared pool)
> > 
> > They can both be in the same module or they can be separate modules
> > with cross dependencies.
> > 
> > Cheers,
> > Ben.
> 
> I see. It's to describe these downstream devices (such as configurations
> and according functions) in device tree, which is similar to defining a
> composite device and linking functions/interfaces via configfs. Thanks for
> the clarify.

It's also to make it easier long run to support both the standalone
variant and the vhub variant from the same code base.

Cheers,
Ben.



      reply	other threads:[~2020-03-02  4:49 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-27 23:05 [PATCH v5 0/7] aspeed-g6: enable usb support rentao.bupt
2020-02-27 23:05 ` [PATCH v5 1/7] usb: gadget: aspeed: support per-vhub usb descriptors rentao.bupt
2020-02-27 23:05 ` [PATCH v5 2/7] usb: gadget: aspeed: read vhub properties from device tree rentao.bupt
2020-02-27 23:05 ` [PATCH v5 3/7] usb: gadget: aspeed: add ast2600 vhub support rentao.bupt
2020-02-27 23:05 ` [PATCH v5 4/7] ARM: dts: aspeed-g6: add usb functions rentao.bupt
2020-02-27 23:05 ` [PATCH v5 5/7] ARM: dts: aspeed-g5: add vhub port and endpoint properties rentao.bupt
2020-02-27 23:05 ` [PATCH v5 6/7] ARM: dts: aspeed-g4: " rentao.bupt
2020-02-27 23:05 ` [PATCH v5 7/7] dt-bindings: usb: add documentation for aspeed usb-vhub rentao.bupt
2020-02-27 23:30   ` Benjamin Herrenschmidt
2020-02-28  1:05     ` Tao Ren
2020-02-28  3:02       ` Benjamin Herrenschmidt
2020-02-28  8:13         ` Tao Ren
2020-03-02  4:49           ` Benjamin Herrenschmidt [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42daa66bedc1b06936bc9cbc6e9b31f6dd8ed3a1.camel@kernel.crashing.org \
    --to=benh@kernel.crashing.org \
    --cc=linux-aspeed@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox