]> git.baikalelectronics.ru Git - kernel.git/commit
mfd: Make MFD core code Device Tree and IRQ domain aware
authorLee Jones <lee.jones@linaro.org>
Fri, 29 Jun 2012 17:01:03 +0000 (19:01 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 8 Jul 2012 22:16:08 +0000 (00:16 +0200)
commit2a0ef61a3dc049eeac1a335814ca94baedf79055
tree4a56392bad862f3871d516afba97eda68a8121e1
parent989e0dd85e2bb9ac75e87f73e494d25d1da62532
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>
drivers/mfd/Kconfig
drivers/mfd/mfd-core.c
include/linux/mfd/core.h