linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Anton Vorontsov <cbouatmailru@gmail.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: fabrizio.garetto@gmail.com, linuxppc-dev@ozlabs.org,
	dbrownell@users.sourceforge.net, linux-kernel@vger.kernel.org,
	spi-devel-general@lists.sourceforge.net
Subject: Re: [PATCH 3/4] spi: Add OF binding support for SPI busses
Date: Sat, 17 May 2008 02:49:16 +0400	[thread overview]
Message-ID: <20080516224916.GA16702@zarina> (raw)
In-Reply-To: <fa686aa40805161514r513d0eebt380a76f64abe8434@mail.gmail.com>

On Fri, May 16, 2008 at 04:14:23PM -0600, Grant Likely wrote:
> On Fri, May 16, 2008 at 4:03 PM, Anton Vorontsov <cbouatmailru@gmail.com> wrote:
> > On Fri, May 16, 2008 at 01:36:13PM -0600, Grant Likely wrote:
> >> +             /* Store a pointer to the node in the device structure */
> >> +             of_node_get(nc);
> >> +             spi->dev.archdata.of_node = nc;
> >> +
> >> +             /* Register the new device */
> >> +             rc = spi_register_device(spi);
> >> +             if (rc) {
> >> +                     dev_err(&master->dev, "spi_device register error %s\n",
> >> +                             np->full_name);
> >> +                     spi_device_release(spi);
> >> +             }
> >
> > No way to pass platform data... can you suggest any idea to use
> > this for things like
> > "[POWERPC] 86xx: mpc8610_hpcd: add support for SPI and MMC-over-SPI"
> > I've sent just recently...?
> 
> That's right.  platform_data being a very driver specific thing there
> is no way to generically extract a pdata structure from the device
> tree.  Instead, I'm storing the device node in archdata.of_node (line
> immediately above spi_register_device) so that drivers can read the
> device node themselves to populate a platform_device structure.
> (Protected by CONFIG_OF of course).
> 
> > Maybe this code could do something like
> > spi->dev.platform_data = nc->data;
> > and board code would fill nc->data at early stages? This needs to be a
> > convention, not just random use though.. Maybe we can expand the struct
> > device_node to explicitly include .platform_data for such cases?
> 
> Hmmm, as you say, this could end up being rather messy.  However, by
> passing the device node pointer, the driver could extract that data on
> a per case basis.  (ie. it would be decided on a per driver basis
> where to get the platform data).  I'm not sure; this bears more
> thought...

Sometimes it's not worth powder and shot adding OF functionality to
the drivers, I2C and SPI are major examples. Another [not mmc_spi]
example is drivers/input/touchscreen/ads7846.c, which is SPI driver
and needs platform data. There is a board that needs this (touchscreen
controller on a MPC8360E-RDK).

Also there is no way to pass functions via device tree, we're
always end up doing board-specific hooks in the generic drivers...

Finally, let's call this platform_data and be done with it. Then we
can use this for things like drivers/video/fsl-diu-fb.c (see diu_ops,
which is global struct, filled by
arch/powerpc/platforms/86xx/mpc8610_hpcd.c).

-- 
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2

  reply	other threads:[~2008-05-16 22:49 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-16 19:35 [RFC PATCH 0/4] Describe SPI devices in the OF device tree and add mpc5200-spi driver Grant Likely
2008-05-16 19:36 ` [PATCH 1/4] spi: Change modalias from a pointer to a character array Grant Likely
2008-05-16 19:36 ` [PATCH 2/4] spi: split up spi_new_device() to allow two stage registration Grant Likely
2008-05-22  0:17   ` David Brownell
2008-05-24  6:43     ` Grant Likely
2008-05-24  6:54       ` Grant Likely
2008-06-30  4:08         ` David Brownell
2008-06-17  7:28       ` Grant Likely
2008-06-30  4:10         ` David Brownell
2008-05-16 19:36 ` [PATCH 3/4] spi: Add OF binding support for SPI busses Grant Likely
2008-05-16 20:47   ` Randy Dunlap
2008-05-16 20:51     ` Grant Likely
2008-05-16 22:03   ` Anton Vorontsov
2008-05-16 22:14     ` Grant Likely
2008-05-16 22:49       ` Anton Vorontsov [this message]
2008-05-17  5:02         ` Grant Likely
2008-05-22  1:16           ` David Brownell
2008-05-24  6:24             ` Grant Likely
2008-05-19 13:17   ` Guennadi Liakhovetski
2008-05-19 15:57     ` Grant Likely
2008-05-19 16:30       ` Guennadi Liakhovetski
2008-05-20  5:13         ` Grant Likely
2008-05-20 15:26           ` Guennadi Liakhovetski
2008-05-20 15:48             ` Grant Likely
2008-05-21 19:11             ` Segher Boessenkool
2008-05-21 19:33               ` Grant Likely
2008-05-23  2:26                 ` [spi-devel-general] " David Brownell
2008-05-24  6:25                   ` Grant Likely
2008-05-24  7:13                     ` David Brownell
2008-05-19 17:09       ` Gary Jennejohn
2008-05-19 17:19         ` Anton Vorontsov
2008-05-20 12:26           ` Gary Jennejohn
2008-05-21 15:19   ` Anton Vorontsov
2008-05-23  2:05     ` David Brownell
2008-05-24  6:26       ` Grant Likely
2008-05-24 16:50         ` Grant Likely
2008-05-24 17:14           ` Jochen Friedrich
2008-05-24 17:33             ` Grant Likely
2008-05-24 17:45               ` David Brownell
2008-05-25  4:56                 ` Grant Likely
2008-05-24 17:43           ` David Brownell
2008-05-16 19:36 ` [PATCH 4/4] [CSB] Add new mpc5200-spi (non-psc) device driver Grant Likely
2008-05-16 19:42   ` Grant Likely
2008-05-16 20:27 ` [RFC PATCH 0/4] Describe SPI devices in the OF device tree and add mpc5200-spi driver Jon Smirl
2008-05-16 20:48   ` Grant Likely
2008-05-16 21:25     ` Jon Smirl
2008-05-16 21:32       ` Grant Likely
2008-05-16 21:42         ` Jon Smirl
2008-05-16 21:58           ` Grant Likely

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=20080516224916.GA16702@zarina \
    --to=cbouatmailru@gmail.com \
    --cc=dbrownell@users.sourceforge.net \
    --cc=fabrizio.garetto@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=spi-devel-general@lists.sourceforge.net \
    /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).