Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mfd: axp20x: Set explicit ID for AXP313 regulator

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>
Link: https://lore.kernel.org/r/20250619173207.3367126-1-wens@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Chen-Yu Tsai and committed by
Lee Jones
88828c7e ec9cdb91

+2 -1
+2 -1
drivers/mfd/axp20x.c
··· 1053 1053 }; 1054 1054 1055 1055 static struct mfd_cell axp313a_cells[] = { 1056 - MFD_CELL_NAME("axp20x-regulator"), 1056 + /* AXP323 is sometimes paired with AXP717 as sub-PMIC */ 1057 + MFD_CELL_BASIC("axp20x-regulator", NULL, NULL, 0, 1), 1057 1058 MFD_CELL_RES("axp313a-pek", axp313a_pek_resources), 1058 1059 }; 1059 1060