mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 08:33:45 +07:00
mfd: sprd-sc27xx-spi: Fix-up bogus IRQ register offset and mask setting
'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 <orsonzhai@gmail.com> Cc: Chunyan Zhang <zhang.lyra@gmail.com> Suggested-by: Baolin Wang <baolin.wang7@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Reviewed-by: Baolin Wang <baolin.wang7@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
768c1e38dc
commit
ec46855df3
@ -185,10 +185,8 @@ static int sprd_pmic_probe(struct spi_device *spi)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
ddata->irq_chip.irqs = ddata->irqs;
|
ddata->irq_chip.irqs = ddata->irqs;
|
||||||
for (i = 0; i < pdata->num_irqs; i++) {
|
for (i = 0; i < pdata->num_irqs; i++)
|
||||||
ddata->irqs[i].reg_offset = i / pdata->num_irqs;
|
ddata->irqs[i].mask = BIT(i);
|
||||||
ddata->irqs[i].mask = BIT(i % pdata->num_irqs);
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = devm_regmap_add_irq_chip(&spi->dev, ddata->regmap, ddata->irq,
|
ret = devm_regmap_add_irq_chip(&spi->dev, ddata->regmap, ddata->irq,
|
||||||
IRQF_ONESHOT | IRQF_NO_SUSPEND, 0,
|
IRQF_ONESHOT | IRQF_NO_SUSPEND, 0,
|
||||||
|
Loading…
Reference in New Issue
Block a user