• Brian Masney's avatar
    spmi: pmic-arb: convert to v2 irq interfaces to support hierarchical IRQ chips · 12a9eeae
    Brian Masney authored
    Convert the spmi-pmic-arb IRQ code to use the version 2 IRQ interface
    in order to support hierarchical IRQ chips. This is necessary so that
    spmi-gpio can be setup as a hierarchical IRQ chip with pmic-arb as the
    parent. IRQ chips in device tree should be usable from the start without
    the consumer having to make an additional call to gpio[d]_to_irq() to
    get the proper IRQ on the parent.
    
    The old qpnpint_irq_domain_map function would hardcode the handler as
    handle_level_irq, however qpnpint_irq_set_type would later override the
    handler. Properly set the handler when the IRQ is mapped. This new code
    doesn't return an error for IRQ_TYPE_NONE and preserves the existing
    behavior of using handle_level_irq since there are some broken device
    tree bindings that need to be corrected first.
    
    Driver was tested on a LG Nexus 5 (hammerhead) phone.
    Signed-off-by: default avatarBrian Masney <masneyb@onstation.org>
    Reviewed-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    12a9eeae
spmi-pmic-arb.c 36.9 KB