drivers/mfd/axp20x.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
From: Chen-Yu Tsai <wens@csie.org>
On newer boards featuring the A523 SoC, the AXP323 (related to the
AXP313) is paired with the AXP717 and serves as a secondary PMIC
providing additional regulator outputs. However the mfd cells are all
registered with PLATFORM_DEVID_NONE, which causes the regulator cells
to conflict with each other.
Commit e37ec3218870 ("mfd: axp20x: Allow multiple regulators") attempted
to fix this by switching to PLATFORM_DEVID_AUTO so that the device names
would all be different, however that broke IIO channel mapping, which is
also tied to the device names. As a result the change was later reverted.
Instead, here we attempt to make sure the AXP313/AXP323 regulator cell
does not conflict by explicitly giving it an ID number. This was
previously done for the AXP809+AXP806 pair used with the A80 SoC.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
---
drivers/mfd/axp20x.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
index e9914e8a29a3..25c639b348cd 100644
--- a/drivers/mfd/axp20x.c
+++ b/drivers/mfd/axp20x.c
@@ -1053,7 +1053,8 @@ static const struct mfd_cell axp152_cells[] = {
};
static struct mfd_cell axp313a_cells[] = {
- MFD_CELL_NAME("axp20x-regulator"),
+ /* AXP323 is sometimes paired with AXP717 as sub-PMIC */
+ MFD_CELL_BASIC("axp20x-regulator", NULL, NULL, 0, 1),
MFD_CELL_RES("axp313a-pek", axp313a_pek_resources),
};
--
2.39.5
On Fri, 20 Jun 2025 01:32:07 +0800, Chen-Yu Tsai wrote: > On newer boards featuring the A523 SoC, the AXP323 (related to the > AXP313) is paired with the AXP717 and serves as a secondary PMIC > providing additional regulator outputs. However the mfd cells are all > registered with PLATFORM_DEVID_NONE, which causes the regulator cells > to conflict with each other. > > Commit e37ec3218870 ("mfd: axp20x: Allow multiple regulators") attempted > to fix this by switching to PLATFORM_DEVID_AUTO so that the device names > would all be different, however that broke IIO channel mapping, which is > also tied to the device names. As a result the change was later reverted. > > [...] Applied, thanks! [1/1] mfd: axp20x: Set explicit ID for AXP313 regulator commit: 77f6b46f199b8a483e0cfa176b7a629f75a2c4c4 -- Lee Jones [李琼斯]
© 2016 - 2025 Red Hat, Inc.