• Matti Vaittinen's avatar
    regmap: regmap-irq: Add main status register support · a2d21848
    Matti Vaittinen authored and Mark Brown's avatar Mark Brown committed
    There is bunch of devices with multiple logical blocks which
    can generate interrupts. It's not a rare case that the interrupt
    reason registers are arranged so that there is own status/ack/mask
    register for each logical block. In some devices there is also a
    'main interrupt register(s)' which can indicate what sub blocks
    have interrupts pending.
    When such a device is connected via slow bus like i2c the main
    part of interrupt handling latency can be caused by bus accesses.
    On systems where it is expected that only one (or few) sub blocks
    have active interrupts we can reduce the latency by only reading
    the main register and those sub registers which have active
    interrupts. Support this with regmap-irq for simple cases where
    main register does not require acking or masking.
    Signed-off-by: default avatarMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>