summaryrefslogtreecommitdiffstats
path: root/include/linux/mfd
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2012-06-29 19:01:03 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-07-09 00:16:08 +0200
commitc94bb233a9fee3314dc5d9c7de9fa702e91283f2 (patch)
tree4a56392bad862f3871d516afba97eda68a8121e1 /include/linux/mfd
parent822672a7b496e724f879af703693f342e2215163 (diff)
downloadop-kernel-dev-c94bb233a9fee3314dc5d9c7de9fa702e91283f2.zip
op-kernel-dev-c94bb233a9fee3314dc5d9c7de9fa702e91283f2.tar.gz
mfd: Make MFD core code Device Tree and IRQ domain aware
During Device Tree enablement of the ab8500 and db8500-prcmu drivers, a decision was made to omit registration through the MFD API and use Device Tree directly. However, because MFD devices have a different address space and the ab8500 and db8500 both use I2C to communicate, this causes issues with address translation during execution of of_platform_populate(). So the solution is to make the MFD core aware of Device Tree and have it assign the correct node pointers instead. To make this work the MFD core also needs to be awere of IRQ domains, as Device Tree insists on IRQ domain compatibility. So, instead of providing an irq-base via platform code, in the DT case we simply look up the IRQ domain and map to the correct virtual IRQ. Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/core.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h
index 4e76163..99b7eb1 100644
--- a/include/linux/mfd/core.h
+++ b/include/linux/mfd/core.h
@@ -36,6 +36,7 @@ struct mfd_cell {
/* platform data passed to the sub devices drivers */
void *platform_data;
size_t pdata_size;
+ const char *of_compatible;
/*
* These resources can be specified relative to the parent device.
OpenPOWER on IntegriCloud