• B
    mfd: pm8xxx: disassociate old virq if hwirq mapping already exists · ee08e24c
    Brian Masney 提交于
    Check to see if the hwirq is already associated with another virq on
    this IRQ domain. If so, then disassociate it before associating the
    hwirq with the new virq.
    
    This is a temporary hack that is needed in order to not break git
    bisect for existing boards. The next patch in this series converts
    ssbi-gpio to be a hierarchical IRQ chip, then there are several patches
    to update all of the device tree files, and finally this patch will be
    reverted within the same patch series.
    
    IRQs for ssbi-gpio are all initially setup without an IRQ hierarchy
    this driver is probed due to the interrupts property in device tree.
    Once ssbi-gpio is converted to be a hierarchical IRQ chip in the next
    patch, existing users of gpio[d]_to_irq() will call pmic_gpio_to_irq(),
    and that will use the new IRQ chip code in ssbi-gpio that sets up the
    IRQ in an IRQ hierarchy. The hwirq is now associated with two Linux
    virqs and interrupts will not work as expected. This patch corrects
    that issue.
    
    This change was tested on an APQ8060 DragonBoard.
    Signed-off-by: NBrian Masney <masneyb@onstation.org>
    Tested-by: NLinus Walleij <linus.walleij@linaro.org>
    Acked-by: NLee Jones <lee.jones@linaro.org>
    Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
    ee08e24c
qcom-pm8xxx.c 16.5 KB