On Wed, Jul 1, 2020 at 5:15 PM Lee Jones <[email protected]> wrote: > > 'i / pdata->num_irqs' always equates to 0 and 'BIT(i % pdata->num_irqs)' > always ends up being BIT(i) here, so make that clearer in the code. If > the code base needs to support more than 32 IRQs in the future, this will > have to be reworked, but lets just keep it simple for as long as we can. > > This fixes the following W=1 warning: > > drivers/mfd/sprd-sc27xx-spi.c:255 sprd_pmic_probe() debug: > sval_binop_unsigned: divide by zero > > Cc: Orson Zhai <[email protected]> > Cc: Chunyan Zhang <[email protected]> > Cc: Johan Hovold <[email protected]> > Suggested-by: Baolin Wang <[email protected]> > Signed-off-by: Lee Jones <[email protected]>
Thanks. Reviewed-by: Baolin Wang <[email protected]> > > diff --git a/drivers/mfd/sprd-sc27xx-spi.c b/drivers/mfd/sprd-sc27xx-spi.c > index c305e941e435c..4a1a61e1a86ea 100644 > --- a/drivers/mfd/sprd-sc27xx-spi.c > +++ b/drivers/mfd/sprd-sc27xx-spi.c > @@ -251,10 +251,8 @@ static int sprd_pmic_probe(struct spi_device *spi) > return -ENOMEM; > > ddata->irq_chip.irqs = ddata->irqs; > - for (i = 0; i < pdata->num_irqs; i++) { > - ddata->irqs[i].reg_offset = i / pdata->num_irqs; > - ddata->irqs[i].mask = BIT(i % pdata->num_irqs); > - } > + for (i = 0; i < pdata->num_irqs; i++) > + ddata->irqs[i].mask = BIT(i); > > ret = devm_regmap_add_irq_chip(&spi->dev, ddata->regmap, ddata->irq, > IRQF_ONESHOT | IRQF_NO_SUSPEND, 0, -- Baolin Wang

