]> git.dujemihanovic.xyz Git - u-boot.git/commit
sunxi: board: simplify early PMIC setup conditions
authorAndre Przywara <andre.przywara@arm.com>
Sun, 27 Jun 2021 00:13:09 +0000 (01:13 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Sun, 12 Nov 2023 12:03:42 +0000 (12:03 +0000)
commitffb02942fab024d4a9b6a3346b9791457e272ff4
tree10c399636bb62f0e6d9466d64973adde6770bb17
parentda2e3196e4dc28298b58a018ace07f85eecd1652
sunxi: board: simplify early PMIC setup conditions

So far we have a convoluted #ifdef mesh that guards the early AXP PMIC
setup in board.c. That combination of &&, || and negations is very hard
to read, maintain and especially to extend.

Fortunately we have those same conditions already modelled in the
Kconfig file, so they are actually redundant. On top of that the real
reason we have those preprocessor guards in the first place is about the
symbols that are *conditionally* defined: without #ifdefs the build
would break because of them being undefined for many boards.

To simplify this, just change the guards to actually look at the symbols
needed, so CONFIG_AXP_xxx_VOLT instead of CONFIG_AXPyyy_POWER.
This drastically improves the readability of this code, and makes adding
PMIC support a pure Kconfig matter.

Doing this revealed one bug in Kconfig: there is no axp_set_dcdc4() for
the AXP818, even though CONFIG_AXP_DCDC4_VOLT includes that PMIC.
Since the AXP818 wasn't included when calling axp_set_dcdc4() in board.c,
this wasn't an issue, but becomes one now, so also remove the AXP818 from
the DCDC4 Kconfig symbol.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
board/sunxi/board.c
drivers/power/Kconfig