• Linus Walleij's avatar
    ARM/mfd/gpio: Fixup TPS65010 regression on OMAP1 OSK1 · c32c81f3
    Linus Walleij authored
    Aaro reports problems on the OSK1 board after we altered
    the dynamic base for GPIO allocations.
    
    It appears this happens because the OMAP driver now
    allocates GPIO numbers dynamically, so all that is
    references by number is a bit up in the air.
    
    Let's bite the bullet and try to just move the gpio_chip
    in the tps65010 MFD driver over to using dynamic allocations.
    Alter everything in the OSK1 board file to use a GPIO
    descriptor table and lookups.
    
    Utilize the NULL device to define some board-specific
    GPIO lookups and use these to immediately look up the
    same GPIOs, convert to IRQ numbers and pass as resources
    to the devices. This is ugly but should work.
    
    The .setup() callback for tps65010 was used for some GPIO
    hogging, but since the OSK1 is the only user in the entire
    kernel we can alter the signatures to something that
    is helpful and make a clean transition.
    
    Fixes: 92bf78b3 ("gpio: omap: use dynamic allocation of base")
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: andy.shevchenko@gmail.com
    Cc: Andreas Kemnade <andreas@kemnade.info>
    Acked-by: default avatarLee Jones <lee@kernel.org>
    Reviewed-by: default avatarLee Jones <lee@kernel.org>
    Reported-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
    Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    c32c81f3
board-osk.c 12.2 KB