• Lee Jones's avatar
    mfd: Make MFD core code Device Tree and IRQ domain aware · c94bb233
    Lee Jones authored
    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: default avatarLee Jones <lee.jones@linaro.org>
    Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
    c94bb233
mfd-core.c 6.13 KB