Skip to content

Commit 68f8604

Browse files
Andre-ARMlag-linaro
authored andcommitted
mfd: axp20x: AXP717: Fix missing IRQ status registers range
While we list the "IRQ status *and acknowledge*" registers as volatile in the MFD description, they are missing from the writable range array, so acknowledging any interrupts was met with an -EIO error. This error propagates up, leading to the whole AXP717 driver failing to probe, which is fatal to most systems using this PMIC, since most peripherals refer one of the PMIC voltage rails. This wasn't noticed on the initial submission, since the interrupt was completely missing at this point, but the DTs now merged describe the interrupt, creating the problem. Add the five registers that hold those bits to the writable array. This fixes the boot on the Anbernic systems using the AXP717 PMIC. Fixes: b5bfc8a ("mfd: axp20x: Add support for AXP717 PMIC") Reported-by: Chris Morgan <[email protected]> Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: John Watts <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
1 parent 1613e60 commit 68f8604

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/mfd/axp20x.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ static const struct regmap_access_table axp313a_volatile_table = {
210210

211211
static const struct regmap_range axp717_writeable_ranges[] = {
212212
regmap_reg_range(AXP717_IRQ0_EN, AXP717_IRQ4_EN),
213+
regmap_reg_range(AXP717_IRQ0_STATE, AXP717_IRQ4_STATE),
213214
regmap_reg_range(AXP717_DCDC_OUTPUT_CONTROL, AXP717_CPUSLDO_CONTROL),
214215
};
215216

0 commit comments

Comments
 (0)