public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx
Date: Wed, 24 Sep 2014 09:44:19 +0200	[thread overview]
Message-ID: <2990737.4KzKXPZhaB@wuerfel> (raw)
In-Reply-To: <20140924022736.GA5307@peterchendt>

On Wednesday 24 September 2014 10:27:52 Peter Chen wrote:
> 
> Antoine is adding a generic chipdea glue layer driver, which like ehci generic
> platform driver: drivers/usb/host/ehci-platform.c, since other architectures
> like MIPS (Someone submitted mips chipidea driver before) may not have device
> tree support, I think non-dt support is also needed.

Right.

> It is a good suggestion for adding DT support for core driver, Since we did
> not do it at the first, it is a little embarrass at current situation.
> 
> - For the new chipidea glue drivers, it is ok we can have a child node
> for core device at glue device node, and some common entries can be there
> like: phy, vbus, dr_mode, etc. We need to add support for getting
> these common things for both through device tree and platform data
> (parent is DT support and parent is non-DT support) at core driver.

I don't really want to see the child devices show up in DT, as this is
really an implementation detail of the way that the driver currently works,
and IMHO we should change that.

I know that Felipe disagrees with me on this, but almost every other
driver that has soc-specific specializations does not use parent/child
nodes, neither in DT nor in Linux. Instead you have a single device
node that gets distinguished by "compatible" string.

> - For the existing glue drivers, since we can't change existed dts, we can
> only do it from future SoC support. Then, in this kinds of glue drivers,
> we need to support for both create core driver by node and by current
> calling platform_device_add way.

We should be able to easily change the ci_hdrc_add_device call into
a different exported function that calls a version of the probe()
code directly, as we do in all sorts of other drivers (ehci, ohci,
dwc2, ..., but not dwc3 and musb as they are maintained by Felipe).

We can also gradually move in some of the other glue drivers into
the main driver if the differences are small enough.

Moving the PCI driver over to this model requires a little more
work but is absolutely doable (again, see ehci, ahci, sdhci examples)
by moving the platform_device handling out of core.c and changing
it just operate on the plain 'struct device', with an exported
probe function that gets called on either the platform device
or the pci device.

	Arnd

  reply	other threads:[~2014-09-24  7:44 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-23 10:27 [PATCH v6 00/12] ARM: berlin: USB support Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 01/12] reset: add the Berlin reset controller driver Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 02/12] Documentation: bindings: add reset bindings docs for Marvell Berlin SoCs Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 03/12] ARM: Berlin: select the reset controller Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 04/12] ARM: dts: berlin: add a required reset property in the chip controller node Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 05/12] phy: add the Berlin USB PHY driver Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 06/12] Documentation: bindings: add doc for the Berlin USB PHY Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx Antoine Tenart
2014-09-23 10:39   ` Arnd Bergmann
2014-09-23 13:36     ` Antoine Tenart
2014-09-23 16:44       ` Arnd Bergmann
2014-09-23 16:55         ` Felipe Balbi
2014-09-23 17:37           ` Arnd Bergmann
2014-09-23 17:43             ` Felipe Balbi
2014-09-24  2:27             ` Peter Chen
2014-09-24  7:44               ` Arnd Bergmann [this message]
2014-09-24  8:30                 ` Arnd Bergmann
2014-09-24 11:29                   ` Peter Chen
2014-09-24 12:23                     ` Arnd Bergmann
2014-09-25  0:56                       ` Peter Chen
2014-09-25 14:15                       ` Felipe Balbi
2014-09-25 23:39                         ` Peter Chen
2014-09-26  0:37                           ` Felipe Balbi
2014-09-26  0:39                             ` Felipe Balbi
2014-09-26  7:20                               ` Arnd Bergmann
2014-09-26 15:43                                 ` Felipe Balbi
2014-09-28  0:40                             ` Peter Chen
2014-10-13  8:47                             ` Peter Chen
2014-09-25 14:09                 ` Felipe Balbi
2014-09-24 23:58   ` Sören Brinkmann
2014-09-29 14:57     ` Antoine Tenart
2014-09-25  1:16   ` Peter Chen
2014-09-25  7:11     ` Arnd Bergmann
2014-09-26  0:23       ` Peter Chen
2014-09-26  7:01         ` Arnd Bergmann
2014-09-25 19:12   ` Arnd Bergmann
2014-09-25 19:54     ` Antoine Tenart
2014-09-29 15:08   ` Antoine Tenart
2014-10-01 12:39     ` Antoine Tenart
2014-09-30  0:12   ` Peter Chen
2014-09-30 10:03     ` Arnd Bergmann
2014-09-30 12:39       ` Peter Chen
2014-09-30 13:43         ` Arnd Bergmann
2014-10-01  6:35           ` Peter Chen
2014-10-01  8:41             ` Arnd Bergmann
2014-10-01 12:25               ` Peter Chen
2014-10-01 23:40     ` Peter Chen
2014-09-23 10:28 ` [PATCH v6 08/12] Documentation: bindings: add doc for the USB2 ChipIdea USB driver Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 09/12] ARM: dts: berlin: add BG2Q nodes for USB support Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 10/12] ARM: dts: Berlin: enable USB on the BG2Q DMP Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 11/12] ARM: dts: berlin: add BG2CD nodes for USB support Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 12/12] ARM: dts: berlin: enable USB on the Google Chromecast Antoine Tenart

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=2990737.4KzKXPZhaB@wuerfel \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.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