• Keerthy's avatar
    gpio: davinci: Redesign driver to accommodate ngpios in one gpio chip · b5cf3fd8
    Keerthy authored
    The Davinci GPIO driver is implemented to work with one monolithic
    Davinci GPIO platform device which may have up to Y(144) gpios.
    The Davinci GPIO driver instantiates number of GPIO chips with
    max 32 gpio pins per each during initialization and one IRQ domain.
    So, the current GPIO's  opjects structure is:
    
    <platform device> Davinci GPIO controller
     |- <gpio0_chip0> ------|
     ...                    |--- irq_domain (hwirq [0..143])
     |- <gpio0_chipN> ------|
    
    Current driver creates one chip for every 32 GPIOs in a controller.
    This was a limitation earlier now there is no need for that. Hence
    redesigning the driver to create one gpio chip for all the ngpio
    in the controller.
    
    |- <gpio0_chip0> ------|--- irq_domain (hwirq [0..143]).
    
    The previous discussion on this can be found here:
    https://www.spinics.net/lists/linux-omap/msg132869.htmlSigned-off-by: default avatarKeerthy <j-keerthy@ti.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    b5cf3fd8
gpio-davinci.c 16.5 KB