From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Pierre Ossman <drzeus-mmc@drzeus.cx>
Cc: David Brownell <dbrownell@users.sourceforge.net>,
Gary Jennejohn <garyj@denx.de>,
linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Subject: Re: [RFC PATCH 1/2] mmc_spi: export probe and remove functions
Date: Mon, 2 Jun 2008 16:53:37 +0400 [thread overview]
Message-ID: <20080602125337.GA2872@polina.dev.rtsoft.ru> (raw)
In-Reply-To: <20080601121841.0392b01c@mjolnir.drzeus.cx>
On Sun, Jun 01, 2008 at 12:18:41PM +0200, Pierre Ossman wrote:
> On Mon, 26 May 2008 17:10:09 +0400
> Anton Vorontsov <avorontsov@ru.mvista.com> wrote:
>
> >
> > Btw, this isn't actually drivers encapsulating. This is about making
> > mmc_spi export some "library" function which could be used by other
> > bindings.
> >
> > Think of usb_add_hcd() used by various drivers' bindings for e.g.
> > drivers/usb/host/ehci-*.c. Though usb_add_hcd() is more generic
> > than just "EHCI" bindings, but only because there is nothing to
> > share between them. (for MMC over SPI bindings all we want to do is fill
> > the platform data).
> >
>
> There's a big difference.
This depends on the perception. :-)
> usb_add_hcd() is designed specifically to be called by other, real probe
> functions.
Yes, by convention (or better, by design).
> mmc_spi_probe() _is_ a probe function.
Yes, so far.
> Also exporting it as a library function is very confusing.
No, if designed/documented properly.
Just imagine this (100% similarity to USB code):
mmc_spi_create_hcd(&mmc_spi_driver, dev, dev->bus_id);
mmc_spi_add_hcd(dev, irq, irqflags);
> > Maybe something like this? I don't like it so much, but given that
> > you don't like to export functions from mmc_spi, we'll have to place
> > some calls into the driver itself. :-/ And there is no easy way to do
> > generic callbacks, since that way we'll have implement "mmc_spi
> > callbacks subsystem". :-)
>
> That's not a callback, but an explicit call to another module.
>
>
> All of this work looks a bit like trying to wedge a square piece into a
> round hole. It looks to me that the kernel needs a bit of restructuring
> to handle it. You can't really export every probe function of every
> platform device so that you can add OF hooks to it.
>
> From what I can tell, the OF stuff behaves very much like the PNP
> system on PCs. The information relayed is a bit more versatile though.
> Perhaps what is needed is a more advanced "platform" bus that is
> modeled after the PNP bus, but with the extra ability of handling the
> stuff currently crammed into the platform structures. mmc_spi would
> then be extended to be driver for the "platform" bus and we could have
> generic calls like platform_get_pin(dev, "ro");.
platform_get_pin()? Um, maybe platform_get_gpio(), as _irq()? Yes,
this is doable (and someday this should be done). But this way we can
pass only GPIOs and then teach mmc_spi to work with them directly
(in addition to callbacks).
But this is not enough, there is still no way to pass real platform data,
such as: caps and ocr_mask. Any idea how to deliver these?
Thanks,
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
WARNING: multiple messages have this Message-ID (diff)
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Pierre Ossman <drzeus-mmc@drzeus.cx>
Cc: David Brownell <dbrownell@users.sourceforge.net>,
Grant Likely <grant.likely@secretlab.ca>,
Gary Jennejohn <garyj@denx.de>,
Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 1/2] mmc_spi: export probe and remove functions
Date: Mon, 2 Jun 2008 16:53:37 +0400 [thread overview]
Message-ID: <20080602125337.GA2872@polina.dev.rtsoft.ru> (raw)
In-Reply-To: <20080601121841.0392b01c@mjolnir.drzeus.cx>
On Sun, Jun 01, 2008 at 12:18:41PM +0200, Pierre Ossman wrote:
> On Mon, 26 May 2008 17:10:09 +0400
> Anton Vorontsov <avorontsov@ru.mvista.com> wrote:
>
> >
> > Btw, this isn't actually drivers encapsulating. This is about making
> > mmc_spi export some "library" function which could be used by other
> > bindings.
> >
> > Think of usb_add_hcd() used by various drivers' bindings for e.g.
> > drivers/usb/host/ehci-*.c. Though usb_add_hcd() is more generic
> > than just "EHCI" bindings, but only because there is nothing to
> > share between them. (for MMC over SPI bindings all we want to do is fill
> > the platform data).
> >
>
> There's a big difference.
This depends on the perception. :-)
> usb_add_hcd() is designed specifically to be called by other, real probe
> functions.
Yes, by convention (or better, by design).
> mmc_spi_probe() _is_ a probe function.
Yes, so far.
> Also exporting it as a library function is very confusing.
No, if designed/documented properly.
Just imagine this (100% similarity to USB code):
mmc_spi_create_hcd(&mmc_spi_driver, dev, dev->bus_id);
mmc_spi_add_hcd(dev, irq, irqflags);
> > Maybe something like this? I don't like it so much, but given that
> > you don't like to export functions from mmc_spi, we'll have to place
> > some calls into the driver itself. :-/ And there is no easy way to do
> > generic callbacks, since that way we'll have implement "mmc_spi
> > callbacks subsystem". :-)
>
> That's not a callback, but an explicit call to another module.
>
>
> All of this work looks a bit like trying to wedge a square piece into a
> round hole. It looks to me that the kernel needs a bit of restructuring
> to handle it. You can't really export every probe function of every
> platform device so that you can add OF hooks to it.
>
> From what I can tell, the OF stuff behaves very much like the PNP
> system on PCs. The information relayed is a bit more versatile though.
> Perhaps what is needed is a more advanced "platform" bus that is
> modeled after the PNP bus, but with the extra ability of handling the
> stuff currently crammed into the platform structures. mmc_spi would
> then be extended to be driver for the "platform" bus and we could have
> generic calls like platform_get_pin(dev, "ro");.
platform_get_pin()? Um, maybe platform_get_gpio(), as _irq()? Yes,
this is doable (and someday this should be done). But this way we can
pass only GPIOs and then teach mmc_spi to work with them directly
(in addition to callbacks).
But this is not enough, there is still no way to pass real platform data,
such as: caps and ocr_mask. Any idea how to deliver these?
Thanks,
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
next prev parent reply other threads:[~2008-06-02 12:53 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-23 18:27 [RFC] OpenFirmware bindings for the MMC-over-SPI driver Anton Vorontsov
2008-05-23 18:27 ` Anton Vorontsov
2008-05-23 18:28 ` [RFC PATCH 1/2] mmc_spi: export probe and remove functions Anton Vorontsov
2008-05-23 18:28 ` Anton Vorontsov
2008-05-26 12:18 ` Pierre Ossman
2008-05-26 12:25 ` Anton Vorontsov
2008-05-26 12:25 ` Anton Vorontsov
2008-05-26 13:10 ` Anton Vorontsov
2008-05-26 13:10 ` Anton Vorontsov
2008-06-01 10:18 ` Pierre Ossman
2008-06-02 12:53 ` Anton Vorontsov [this message]
2008-06-02 12:53 ` Anton Vorontsov
2008-06-05 21:16 ` Pierre Ossman
2008-05-23 18:28 ` [RFC PATCH 2/2] mmc: add OpenFirmware bindings for the mmc_spi driver Anton Vorontsov
2008-05-23 18:28 ` Anton Vorontsov
2008-05-24 2:35 ` Stephen Rothwell
2008-05-24 2:35 ` Stephen Rothwell
2008-05-26 11:58 ` Anton Vorontsov
2008-05-26 11:58 ` Anton Vorontsov
2008-05-24 5:19 ` Grant Likely
2008-05-24 5:19 ` Grant Likely
2008-05-24 14:32 ` Jochen Friedrich
2008-05-24 14:32 ` Jochen Friedrich
2008-05-24 23:14 ` Segher Boessenkool
2008-05-24 23:14 ` Segher Boessenkool
2008-05-24 23:06 ` Segher Boessenkool
2008-05-24 23:06 ` Segher Boessenkool
2008-05-26 11:49 ` Anton Vorontsov
2008-05-26 11:49 ` Anton Vorontsov
2008-05-26 22:19 ` David Brownell
2008-05-26 22:19 ` David Brownell
2008-05-26 23:15 ` Anton Vorontsov
2008-05-26 23:15 ` Anton Vorontsov
2008-05-24 19:56 ` [RFC] OpenFirmware bindings for the MMC-over-SPI driver David Brownell
2008-05-24 19:56 ` David Brownell
2008-05-25 4:47 ` Grant Likely
2008-05-25 4:47 ` 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=20080602125337.GA2872@polina.dev.rtsoft.ru \
--to=avorontsov@ru.mvista.com \
--cc=dbrownell@users.sourceforge.net \
--cc=drzeus-mmc@drzeus.cx \
--cc=g.liakhovetski@gmx.de \
--cc=garyj@denx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.