From: Andres Salomon <dilinger@queued.net>
To: Samuel Ortiz <sameo@linux.intel.com>
Cc: linux-kernel@vger.kernel.org,
Mark Brown <broonie@opensource.wolfsonmicro.com>
Subject: [PATCH 01/19] mfd-core: unconditionally add mfd_cell to every platform_device
Date: Wed, 2 Feb 2011 19:55:56 -0800 [thread overview]
Message-ID: <20110202195556.3e947297@queued.net> (raw)
In-Reply-To: <20110202195417.228e2656@queued.net>
Previously, one would set the mfd_cell's platform_data/data_size to point
to the current mfd_cell in order to pass that information along to drivers.
This causes the current mfd_cell to always be available to drivers. It
also adds a wrapper function for fetching the mfd cell from a platform
device.
Signed-off-by: Andres Salomon <dilinger@queued.net>
---
drivers/mfd/mfd-core.c | 9 +++------
include/linux/mfd/core.h | 12 ++++++++++--
2 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
index d83ad0f..d8b9e35 100644
--- a/drivers/mfd/mfd-core.c
+++ b/drivers/mfd/mfd-core.c
@@ -39,12 +39,9 @@ static int mfd_add_device(struct device *parent, int id,
pdev->dev.parent = parent;
platform_set_drvdata(pdev, cell->driver_data);
- if (cell->data_size) {
- ret = platform_device_add_data(pdev,
- cell->platform_data, cell->data_size);
- if (ret)
- goto fail_res;
- }
+ ret = platform_device_add_data(pdev, cell, sizeof(struct mfd_cell));
+ if (ret)
+ goto fail_res;
for (r = 0; r < cell->num_resources; r++) {
res[r].name = cell->resources[r].name;
diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h
index 835996e..82b2a5c 100644
--- a/include/linux/mfd/core.h
+++ b/include/linux/mfd/core.h
@@ -33,8 +33,7 @@ struct mfd_cell {
/* driver-specific data for MFD-aware "cell" drivers */
void *driver_data;
- /* platform_data can be used to either pass data to "generic"
- driver or as a hook to mfd_cell for the "cell" drivers */
+ /* These two are unused */
void *platform_data;
size_t data_size;
@@ -55,6 +54,15 @@ struct mfd_cell {
bool pm_runtime_no_callbacks;
};
+/*
+ * Given a platform device that's been created by mfd_add_devices(), fetch
+ * the mfd_cell that created it.
+ */
+static inline const struct mfd_cell *mfd_get_cell(struct platform_device *pdev)
+{
+ return pdev->dev.platform_data;
+}
+
extern int mfd_add_devices(struct device *parent, int id,
const struct mfd_cell *cells, int n_devs,
struct resource *mem_base,
--
1.7.2.3
next prev parent reply other threads:[~2011-02-03 3:56 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-03 3:54 [RFC] [PATCH 0/19] mfd sharing support Andres Salomon
2011-02-03 3:55 ` Andres Salomon [this message]
2011-02-03 3:58 ` [lm-sensors] [PATCH 02/19] jz4740: mfd_cell is now implicitly Andres Salomon
2011-02-03 3:58 ` [PATCH 02/19] jz4740: mfd_cell is now implicitly available to drivers Andres Salomon
2011-02-03 8:09 ` [lm-sensors] [PATCH 02/19] jz4740: mfd_cell is now implicitly Jean Delvare
2011-02-03 8:09 ` [PATCH 02/19] jz4740: mfd_cell is now implicitly available to drivers Jean Delvare
2011-02-03 4:01 ` [PATCH 03/19] ab3550: " Andres Salomon
2011-02-03 4:01 ` Andres Salomon
2011-02-04 8:20 ` Mattias Wallin
2011-02-04 8:20 ` Mattias Wallin
2011-02-03 4:03 ` [PATCH 04/19] ab3100: " Andres Salomon
2011-02-03 4:03 ` Andres Salomon
2011-02-03 12:52 ` Linus Walleij
2011-02-03 12:52 ` Linus Walleij
2011-02-03 4:04 ` [PATCH 05/19] asic3: " Andres Salomon
2011-02-03 4:05 ` [PATCH 06/19] htc-pasic3: " Andres Salomon
[not found] ` <20110202195417.228e2656-pFFUokh25LWsTnJN9+BGXg@public.gmane.org>
2011-02-03 4:08 ` [PATCH 07/19] timberdale: " Andres Salomon
2011-02-03 4:08 ` Andres Salomon
2011-03-31 23:05 ` Grant Likely
[not found] ` <20110331230522.GI437-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-04-01 11:20 ` Samuel Ortiz
2011-04-01 11:20 ` Samuel Ortiz
2011-04-01 17:47 ` Andres Salomon
2011-04-01 17:47 ` Andres Salomon
2011-04-01 17:56 ` Grant Likely
2011-04-01 17:56 ` Grant Likely
2011-04-01 18:00 ` Grant Likely
[not found] ` <BANLkTi=bCd_+f=EG-O=U5VH_ZNjFhxkziQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-04-01 23:52 ` Samuel Ortiz
2011-04-01 23:52 ` Samuel Ortiz
2011-04-01 23:58 ` Grant Likely
2011-04-01 23:58 ` Grant Likely
[not found] ` <BANLkTi=bq=OGzXFp7qiBr7x_BnGOWf=DRQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-04-02 0:10 ` Andres Salomon
2011-04-02 0:10 ` Andres Salomon
2011-04-04 10:03 ` Samuel Ortiz
2011-04-04 10:03 ` Samuel Ortiz
2011-04-05 3:04 ` Grant Likely
2011-04-06 15:23 ` Samuel Ortiz
2011-04-06 15:58 ` Greg KH
2011-04-06 15:58 ` Greg KH
2011-04-06 17:05 ` Samuel Ortiz
2011-04-06 17:16 ` Ben Hutchings
2011-04-06 17:51 ` Samuel Ortiz
2011-04-06 17:51 ` Samuel Ortiz
2011-04-06 18:07 ` Ben Hutchings
2011-04-06 18:07 ` Ben Hutchings
2011-04-06 17:56 ` Greg KH
2011-04-06 18:25 ` Andres Salomon
2011-04-06 18:38 ` Greg KH
2011-04-06 18:38 ` Greg KH
[not found] ` <20110406183854.GA10058-l3A5Bk7waGM@public.gmane.org>
2011-04-07 8:04 ` Grant Likely
2011-04-07 8:04 ` Grant Likely
2011-04-06 18:47 ` Samuel Ortiz
2011-04-06 18:59 ` Felipe Balbi
2011-04-06 18:59 ` Felipe Balbi
[not found] ` <20110406185902.GN25654-UiBtZHVXSwEVvW8u9ZQWYwjfymiNCTlR@public.gmane.org>
2011-04-06 22:09 ` Greg KH
2011-04-06 22:09 ` Greg KH
2011-04-07 8:09 ` Felipe Balbi
2011-04-07 13:40 ` Samuel Ortiz
2011-04-07 13:40 ` Samuel Ortiz
2011-04-07 14:35 ` Grant Likely
[not found] ` <20110407143515.GC26452-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2011-04-07 15:03 ` Samuel Ortiz
2011-04-07 15:03 ` Samuel Ortiz
2011-04-07 18:06 ` Grant Likely
2011-04-07 18:06 ` Grant Likely
2011-04-07 16:24 ` Grant Likely
2011-04-01 18:26 ` Samuel Ortiz
2011-02-03 4:09 ` [PATCH 08/19] t7166xb: " Andres Salomon
2011-02-03 4:11 ` [PATCH 09/19] wl1273: " Andres Salomon
2011-02-03 4:12 ` [PATCH 10/19] sh_mobile_sdhi: " Andres Salomon
2011-02-03 4:13 ` [PATCH 11/19] tc6393xb: " Andres Salomon
2011-02-03 4:15 ` [PATCH 12/19] twl4030: " Andres Salomon
2011-02-03 6:05 ` Dmitry Torokhov
2011-02-03 6:39 ` Andres Salomon
2011-02-03 6:53 ` Dmitry Torokhov
2011-02-03 7:03 ` Andres Salomon
2011-02-03 7:03 ` Andres Salomon
2011-02-03 9:31 ` Mark Brown
2011-02-03 9:31 ` Mark Brown
2011-02-05 2:39 ` Andres Salomon
2011-02-05 3:25 ` Andres Salomon
2011-02-03 12:23 ` Peter Ujfalusi
2011-02-03 12:23 ` Peter Ujfalusi
2011-02-04 10:41 ` Uwe Kleine-König
2011-02-03 4:16 ` [PATCH 13/19] tc6387xb: " Andres Salomon
2011-02-03 4:17 ` [PATCH 14/19] janz: " Andres Salomon
2011-02-03 4:20 ` [PATCH 15/19] mc13xxx: " Andres Salomon
2011-02-03 4:20 ` Andres Salomon
2011-02-04 9:34 ` Uwe Kleine-König
2011-02-04 9:34 ` Uwe Kleine-König
2011-02-04 10:13 ` Uwe Kleine-König
2011-02-04 10:13 ` Uwe Kleine-König
2011-02-04 10:16 ` Andres Salomon
2011-02-04 10:16 ` Andres Salomon
2011-02-03 4:21 ` [PATCH 16/19] mfd-core: drop platform_data/data_size from core mfd_cell struct Andres Salomon
2011-02-03 4:22 ` [PATCH 17/19] mfd-core: add refcounting support to mfd_cells Andres Salomon
2011-02-03 4:23 ` [PATCH 18/19] mfd-core: add platform_device sharing support for mfd Andres Salomon
2011-02-03 4:26 ` [PATCH 19/19] cs5535-mfd: add sharing for acpi/pms cells Andres Salomon
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=20110202195556.3e947297@queued.net \
--to=dilinger@queued.net \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sameo@linux.intel.com \
/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.