Hi Kiran, On Fri, Jul 28, 2017 at 12:40:46PM +0530, Kiran Gunda wrote: > From: David Collins <collinsd@xxxxxxxxxxxxxx> > > Add support for version 5 of the SPMI PMIC arbiter. It utilizes > different offsets for registers than those found on version 3. > Also, the procedure to determine if writing and IRQ access is > allowed for a given PPID changes for version 5. > > Signed-off-by: David Collins <collinsd@xxxxxxxxxxxxxx> > Signed-off-by: Kiran Gunda <kgunda@xxxxxxxxxxxxxx> > Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> > --- > drivers/spmi/spmi-pmic-arb.c | 236 +++++++++++++++++++++++++++++++++++++++---- > 1 file changed, 214 insertions(+), 22 deletions(-) > > diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c > index bc68e08..3f46445 100644 > --- a/drivers/spmi/spmi-pmic-arb.c > +++ b/drivers/spmi/spmi-pmic-arb.c <snip> > @@ -680,12 +701,19 @@ static int qpnpint_irq_domain_dt_translate(struct irq_domain *d, > ppid = intspec[0] << 8 | intspec[1]; > rc = pmic_arb->ver_ops->ppid_to_apid(pmic_arb, ppid); > if (rc < 0) { > - dev_err(&pmic_arb->spmic->dev, "failed to xlate sid = 0x%x, periph = 0x%x, irq = %x rc = %d\n", > + dev_err(&pmic_arb->spmic->dev, "failed to xlate sid = %#x, periph = %#x, irq = %u rc = %d\n", > intspec[0], intspec[1], intspec[2], rc); > return rc; > } > > apid = rc; > + if (pmic_arb->apid_data[apid].irq_ee != pmic_arb->ee) { > + dev_err(&pmic_arb->spmic->dev, "failed to xlate sid = %#x, periph = %#x, irq = %u: ee=%u but owner=%u\n", > + intspec[0], intspec[1], intspec[2], pmic_arb->ee, > + pmic_arb->apid_data[apid].irq_ee); > + return -ENODEV; > + } > + It seems to me that this check breaks pm8916_gpios on db410c. It causes the failure of pinctrl-spmi-gpio driver probing, because npins returned from platform_irq_count() call is 0. Shawn > /* Keep track of {max,min}_apid for bounding search during interrupt */ > if (apid > pmic_arb->max_apid) > pmic_arb->max_apid = apid; -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html