From: ohad@wizery.com (Ohad Ben-Cohen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 11/15] wireless: wl1271: introduce platform device support
Date: Wed, 11 Aug 2010 00:21:30 +0300 [thread overview]
Message-ID: <AANLkTincjpb4_c13AAx-HoZ5xsdunRGkVeO1P5EJegX1@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1007061316010.6020@xanadu.home>
On Tue, Jul 6, 2010 at 8:42 PM, Nicolas Pitre <nico@fluxnic.net> wrote:
> Another function pair would be needed instead, which would do almost
> like the suspend/resume code is already doing. ?Something like:
>
> /*
> ?* Indicate to the core SDIO layer that we're not requiring that the
> ?* function remain powered. ?If all functions for the card are in the
> ?* same "no power" state, then the host controller can remove power from
> ?* the card. ?Note: the function driver must preserve hardware states if
> ?* necessary.
> ?*/
> int sdio_release_power(struct sdio_func *func);
>
> /*
> ?* Indicate to the core SDIO layer that we want power back for this
> ?* SDIO function. ?The power may or may not actually have been removed
> ?* since last call to sdio_release_power(), so the function driver must
> ?* not assume any preserved state at the hardware level and re-perform
> ?* all the necessary hardware config. ?This function returns 0 when
> ?* power is actually restored, or some error code if this cannot be
> ?* achieved. ?One error reason might be that the card is no longer
> ?* available on the bus (was removed while powered down and card
> ?* detection didn't trigger yet).
> ?*/
> int sdio_claim_power(struct sdio_func *func);
>
> That's it. ?When the network interface is down and the hardware is not
> needed, you call sdio_release_power(). ?When the request to activate the
> network interface is received, you call sdio_claim_power() and configure
> the hardware appropriately. ?If sdio_claim_power() returns an error,
> then you just return an error to the network request, and eventually the
> driver's remove method will be called if this is indeed because the card
> was removed.
>
After playing with this a little, I am getting convinced that the way
to go here is to add runtime pm support to MMC/SDIO.
It just fits perfectly into this model:
Runtime PM already takes care of usage count per device (so it would
tell if an SDIO function is idle), takes into account parent-child
relationships (so if all SDIO functions are idle, it would
automatically send an idle request to the card device), doesn't break
existing drivers (drivers needs to explicitly enable it), play along
nicely with the system suspend/resume, etc..
I'm going to split the patches to two:
- first half would be basic wl1271 support for omap/zoom. it's pretty
straight forward and can probably already go thru.
- second half would be adding runtime PM to SDIO/MMC. I'll post some
initial patches to set off a discussion.
Thanks,
Ohad.
next prev parent reply other threads:[~2010-08-10 21:21 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-06 0:37 [PATCH 00/15] wlan+omap+mmc: out-of-the-box WLAN support for ZOOM2/3 Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 01/15] sdio: add TI + wl1271 ids Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 02/15] wireless: wl1271: remove SDIO IDs from driver Ohad Ben-Cohen
2010-07-06 7:04 ` Luciano Coelho
2010-07-06 0:37 ` [PATCH 03/15] omap: mmc: prepare for software card detect support Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 04/15] mmc: support embedded data field in mmc_host Ohad Ben-Cohen
2010-07-06 15:49 ` Grazvydas Ignotas
2010-07-06 15:54 ` Ohad Ben-Cohen
2010-07-08 3:39 ` Ghorai, Sukumar
2010-07-06 0:37 ` [PATCH 05/15] omap: hsmmc: add virtual card detect support Ohad Ben-Cohen
2010-07-06 1:45 ` Nicolas Pitre
2010-07-06 10:22 ` Ohad Ben-Cohen
2010-07-06 11:02 ` Roger Quadros
2010-07-06 12:02 ` Ohad Ben-Cohen
2010-07-06 11:48 ` Ohad Ben-Cohen
2010-07-06 12:39 ` Roger Quadros
2010-07-06 13:44 ` Ohad Ben-Cohen
2010-07-06 15:34 ` Madhusudhan
2010-07-06 17:00 ` Nicolas Pitre
2010-07-06 0:37 ` [PATCH 06/15] omap zoom2: wlan board muxing Ohad Ben-Cohen
2010-07-06 11:43 ` Tony Lindgren
2010-07-08 3:39 ` Ghorai, Sukumar
2010-07-08 9:45 ` Tony Lindgren
2010-07-08 20:12 ` Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 07/15] omap zoom3: " Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 08/15] wireless: wl1271: make wl12xx.h common to both spi and sdio Ohad Ben-Cohen
2010-07-06 7:08 ` Luciano Coelho
2010-07-06 0:37 ` [PATCH 09/15] wireless: wl12xx: support pdata SDIO handlers Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 10/15] wireless: wl1271: support return value for the set power func Ohad Ben-Cohen
2010-07-06 7:11 ` Luciano Coelho
2010-07-06 0:37 ` [PATCH 11/15] wireless: wl1271: introduce platform device support Ohad Ben-Cohen
2010-07-06 8:53 ` Roger Quadros
2010-07-06 9:30 ` Ohad Ben-Cohen
2010-07-06 10:35 ` Roger Quadros
2010-07-06 12:53 ` Ohad Ben-Cohen
2010-07-06 14:30 ` Roger Quadros
2010-07-06 17:42 ` Nicolas Pitre
2010-07-06 19:51 ` Adrian Hunter
2010-07-07 8:02 ` Roger Quadros
2010-07-07 14:02 ` Nicolas Pitre
2010-07-07 14:54 ` Madhusudhan
2010-07-07 15:46 ` Nicolas Pitre
2010-07-07 19:59 ` Adrian Hunter
2010-07-08 4:34 ` Nicolas Pitre
2010-07-07 7:48 ` Roger Quadros
2010-07-07 13:52 ` Nicolas Pitre
2010-07-08 8:54 ` Roger Quadros
2010-07-08 20:10 ` Ohad Ben-Cohen
2010-07-09 8:12 ` Roger Quadros
2010-07-09 8:32 ` Ohad Ben-Cohen
2010-07-09 9:24 ` Grazvydas Ignotas
2010-08-10 21:21 ` Ohad Ben-Cohen [this message]
2010-07-06 0:37 ` [PATCH 12/15] wireless: wl1271: take irq info from platform data Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 13/15] wireless: wl1271: make ref_clock configurable by board Ohad Ben-Cohen
2010-07-06 0:37 ` [PATCH 14/15] omap: zoom: add WLAN device Ohad Ben-Cohen
2010-07-06 12:33 ` Roger Quadros
2010-07-06 13:47 ` Ohad Ben-Cohen
2010-07-08 3:39 ` Ghorai, Sukumar
2010-07-06 0:37 ` [PATCH 15/15] omap: zoom: enable " Ohad Ben-Cohen
2010-07-08 3:39 ` Ghorai, Sukumar
2010-07-08 20:13 ` Ohad Ben-Cohen
2010-07-08 3:39 ` [PATCH 00/15] wlan+omap+mmc: out-of-the-box WLAN support for ZOOM2/3 Ghorai, Sukumar
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=AANLkTincjpb4_c13AAx-HoZ5xsdunRGkVeO1P5EJegX1@mail.gmail.com \
--to=ohad@wizery.com \
--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;
as well as URLs for NNTP newsgroup(s).