Thread (22 messages) 22 messages, 7 authors, 2010-10-11
STALE5726d
Revisions (5)
  1. v3 [diff vs current]
  2. v3 [diff vs current]
  3. v3 current
  4. v3 [diff vs current]
  5. v3 [diff vs current]

[PATCH 4/6] mmc: sdhci_pltfm: pass more data on custom init-call

From: Anton Vorontsov <hidden>
Date: 2010-09-30 09:42:02
Also in: linux-mmc

On Thu, Sep 30, 2010 at 10:31:58AM +0200, Lothar Wa?mann wrote:
quoted
The custom init call may need more data to perform its job, so we pass
it a pointer to pdata, too. Also, always use the platform_id specific
data even if platform_data is present. Doing that, platform_data can
additionally be parsed by init() for board-specific information (via
sdhci->mmc->parent).
Why not a pointer to the platform_device itself? Then the callback
function would have even more information (e.g. platform_device ID)
and could easily get at the platform_data too.
dev->platform_data may not be there. There are two ways to pass
the "platform data" to the sdhci-pltfm driver:

a) via dev->platform_data
b) via platform_device_id->driver_data

Technically, we can do something like this in the probe():

if (!pdev->dev.platform_data)
	pdev->dev.platform_data = platform_device_id->driver_data;

pdata->init(dev);

Note, in this case we must also NULLify platform_data it at remove(),
as platform_device_release() will try to free statically allocated
memory.

Thanks,

-- 
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help