03 Jun, 2020

1 commit

  • There are quite a lot simple GPIO controller which are using regmap to
    access the hardware. This driver tries to be a base to unify existing
    code into one place. This won't cover everything but it should be a good
    starting point.

    It does not implement its own irq_chip because there is already a
    generic one for regmap based devices. Instead, the irq_chip will be
    instantiated in the parent driver and its irq domain will be associate
    to this driver.

    For now it consists of the usual registers, like set (and an optional
    clear) data register, an input register and direction registers.
    Out-of-the-box, it supports consecutive register mappings and mappings
    where the registers have gaps between them with a linear mapping between
    GPIO offset and bit position. For weirder mappings the user can register
    its own .xlate().

    Signed-off-by: Michael Walle
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20200528145845.31436-3-michael@walle.cc
    Signed-off-by: Linus Walleij

    Michael Walle