linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linuxppc-dev@ozlabs.org
Cc: Paul Mackerras <paulus@samba.org>
Subject: Re: [PATCH 9/13] powerpc: Add arch/powerpc mv64x60 I2C platform data setup
Date: Sat, 28 Apr 2007 03:05:25 +0200	[thread overview]
Message-ID: <200704280305.26312.arnd@arndb.de> (raw)
In-Reply-To: <20070427235040.GA29498@xyzzy.farnsworth.org>

On Saturday 28 April 2007, Dale Farnsworth wrote:
> On Thu, Apr 26, 2007 at 05:04:06PM +0200, Arnd Bergmann wrote:
> > With the of device tree, you automatically get an of_device for everything
> > that is connected to an internal (soc, plb, ssb, ...) bus on the chip
> > or on the board. According to the driver model, they should be driven
> > by an of_platform_driver.
> 
> Well, since our platform hasn't called of_platform_bus_probe() with
> a device id for the mv64x60 device node, we don't create an of_device
> for each of its sub-devices.  Instead, we scan separately and create
> platform_devices that the existing drivers require, and for the
> benefit of those who join this discussion late, which we must
> maintain for use by MIPS platforms.

We've had discussions about of_platform_bus_probe() on the mailing
lists and on IRC before. My idea of the long-term goal is that we
should not call it from the platform specific code, but instead
globally and add all the devices we find, with exceptions for
stuff that works differently, like PCI.

I think it would be bad to have to add another exception for
mv64x60 just because the drivers work different from the others.

> > 2. remove the dependencies on platform_device data structures from
> > the current driver code, and add them to a separate file, so you
> > can link the module either with the platform_driver or with the
> > of_platform_driver, as I suggested in a previous mail.
> > I think this would be the best solution.
> 
> This is a very OF-centric proposal.  IMHO it's a mistake for drivers
> to call of_get_property().  There should be a firmware-independent
> way of passing parameters to drivers.  I'm not a big fan of the
> details of platform_device, but at least it's firmware independent.
> I think it's a layering violation even when ppc-only drivers
> query for parameters via of_get_property().

Calling of_* functions is the natural thing to do for an 
of_platform_driver, just like a PCI driver calls pci_* functions.

Note that what I'm suggestiong here is that you have one file
that encapsulates all the calls to OF functions (of_iomap,
irq_of_parse_and_map, ...) and passes the raw information down
to the main low-level driver.

I think the main difference between your view and mine is that
you see the OF model as an _architecture_ property, while in my
view it is a _bus_type_ that devices are attached to.

It's like the OHCI driver, which has low-level driver for the
a common register interface, but comes with a number of bus
interfaces that it can attach to (PCI, PS3, OF, ...).
[ don't look at the OHCI implementation, the way they did
  the code is not a good example, but it can be done properly. ]

> Since you now recognize our need for platform_devices, I'd like to
> understand your primary objection to our not creating of_devices.
> Is it because it violates the assumption that of_devices be created
> for all devices on the platform?

That, and the missing ability to do module autoloading.

> Is that a hard requirement? 

Not yet, but I'd like to get there, as I mention above.

	Arnd <><

  reply	other threads:[~2007-04-28  1:05 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-25 23:46 [PATCH 0/13] powerpc: Add support for Marvell/mv64x60 and prpmc2800 Mark A. Greer
2007-04-25 23:55 ` [PATCH 1/13] powerpc: Add Makefile rule to wrap dts file in zImage Mark A. Greer
2007-04-30  6:06   ` David Gibson
2007-04-25 23:55 ` [PATCH 2/13] powerpc: Add dt_xlate_addr() to bootwrapper Mark A. Greer
2007-04-26 16:44   ` Scott Wood
2007-04-27  5:55   ` Paul Mackerras
2007-04-27 20:48     ` Mark A. Greer
2007-04-25 23:56 ` [PATCH 3/13] powerpc: Add bootwrapper support for Marvell/mv64x60 hostbridge Mark A. Greer
2007-04-27  6:01   ` Paul Mackerras
2007-04-27 22:02     ` Mark A. Greer
2007-05-03  5:25       ` Paul Mackerras
2007-05-03 18:44         ` Mark A. Greer
2007-05-03 19:00           ` Mark A. Greer
2007-05-05 23:27           ` Paul Mackerras
2007-05-07 18:15             ` Mark A. Greer
2007-04-25 23:57 ` [PATCH 4/13] powerpc: Add bootwrapper support for Marvell MPSC Mark A. Greer
2007-04-25 23:57 ` [PATCH 5/13] powerpc: Add bootwrapper support for Marvell/mv64x60 I2C Mark A. Greer
2007-04-25 23:58 ` [PATCH 6/13] powerpc: Add arch/powerpc support for Marvell/mv64x60 hostbridge Mark A. Greer
2007-04-26  0:42   ` Arnd Bergmann
2007-04-26  5:49     ` Dale Farnsworth
2007-05-02 21:38   ` [PATCH 6/13] powerpc: Add arch/powerpc interrupt handler for mv64x60 Dale Farnsworth
2007-05-03  1:47     ` Stephen Rothwell
2007-05-03  2:55       ` Dale Farnsworth
2007-04-25 23:59 ` [PATCH 7/13] powerpc: Add arch/powerpc mv64x60 MPSC platform data setup Mark A. Greer
2007-04-26  0:14   ` Arnd Bergmann
2007-04-26  5:57     ` Dale Farnsworth
2007-04-26 11:24       ` Arnd Bergmann
2007-04-26 14:30         ` Dale Farnsworth
2007-04-26 15:14           ` Arnd Bergmann
2007-05-02 21:41   ` Dale Farnsworth
2007-05-03  6:40     ` Arnd Bergmann
2007-05-04 21:03     ` [PATCH 7/13] powerpc: Create Marvell mv64x60 MPSC (serial) platform_data Dale Farnsworth
2007-05-05 12:26       ` Arnd Bergmann
2007-04-26  0:00 ` [PATCH 8/13] powerpc: Add arch/powerpc mv64x60_eth platform data setup Mark A. Greer
2007-04-26  0:18   ` Arnd Bergmann
2007-04-26  6:00     ` Dale Farnsworth
2007-05-02 21:43   ` Dale Farnsworth
2007-05-03  2:03     ` Stephen Rothwell
2007-05-03  6:43     ` Arnd Bergmann
2007-05-04 21:06     ` [PATCH 8/13] powerpc: Create Marvell mv64x60 ethernet platform_data Dale Farnsworth
2007-05-05 12:28       ` Arnd Bergmann
2007-04-26  0:00 ` [PATCH 9/13] powerpc: Add arch/powerpc mv64x60 I2C platform data setup Mark A. Greer
2007-04-26  0:21   ` Arnd Bergmann
2007-04-26  0:43     ` Mark A. Greer
2007-04-26  0:55       ` Arnd Bergmann
2007-04-26  1:13         ` Mark A. Greer
2007-04-26  2:02           ` Arnd Bergmann
2007-04-26  6:08             ` Dale Farnsworth
2007-04-26  9:00               ` Arnd Bergmann
2007-04-26 14:19                 ` Dale Farnsworth
2007-04-26 15:04                   ` Arnd Bergmann
2007-04-27 23:50                     ` Dale Farnsworth
2007-04-28  1:05                       ` Arnd Bergmann [this message]
2007-04-28  2:40                         ` Dale Farnsworth
2007-05-01  4:58                         ` Paul Mackerras
2007-05-01  4:45                     ` Paul Mackerras
2007-04-26  6:48             ` Mark A. Greer
2007-05-02 21:44   ` Dale Farnsworth
2007-05-03  6:53     ` Arnd Bergmann
2007-05-03 13:06       ` 
2007-05-04 21:08     ` [PATCH 9/13] powerpc: Create Marvell mv64x60 I2C platform_data Dale Farnsworth
2007-05-05 12:29       ` Arnd Bergmann
2007-04-26  0:01 ` [PATCH 10/13] powerpc: Add arch/powerpc mv64x60 PCI setup Mark A. Greer
2007-04-26  0:25   ` Arnd Bergmann
2007-04-26  6:33     ` Dale Farnsworth
2007-04-26 11:39       ` Arnd Bergmann
2007-04-26 14:42         ` Dale Farnsworth
2007-05-02 21:46   ` Dale Farnsworth
2007-05-03  2:13     ` Stephen Rothwell
2007-05-03  2:57       ` Dale Farnsworth
2007-05-03  7:17     ` Arnd Bergmann
2007-05-03 13:45       ` Dale Farnsworth
2007-05-04 21:10     ` [PATCH 10/13] powerpc: Add Marvell mv64x60 PCI bridge support Dale Farnsworth
2007-05-05 12:30       ` Arnd Bergmann
2007-04-26  0:01 ` [PATCH 11/13] powerpc: Add DTS file for the Motorola PrPMC2800 platform Mark A. Greer
2007-04-26 16:42   ` Scott Wood
2007-04-26 23:34     ` Mark A. Greer
2007-04-26 23:37     ` David Gibson
2007-04-27 20:41   ` Mark A. Greer
2007-04-30 16:45     ` Jon Loeliger
2007-04-30 18:08       ` Mark A. Greer
2007-04-30 22:29       ` Mark A. Greer
2007-04-26  0:02 ` [PATCH 12/13] powerpc: Add bootwrapper support for " Mark A. Greer
2007-04-26  0:02 ` [PATCH 13/13] powerpc: Add arch/powerpc support for the " Mark A. Greer
2007-04-26  0:45 ` [PATCH 0/13] powerpc: Add support for Marvell/mv64x60 and prpmc2800 David Gibson
2007-04-26  0:58   ` Mark A. Greer
2007-04-26  1:15     ` Mark A. Greer

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=200704280305.26312.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=paulus@samba.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;
as well as URLs for NNTP newsgroup(s).