On Fri, Sep 19, 2025 at 08:15:28AM +0000, Maarten Brock wrote: > > From: Tom Rini <tr...@konsulko.com> > > On Mon, Sep 08, 2025 at 04:05:04PM +0000, Maarten Brock wrote: > > > > > When PMIC drivers are disabled their functions should not be called. > > > > > > Signed-off-by: Maarten Brock <maarten.br...@sttls.nl> > > > --- > > > > > > board/ti/am335x/board.c | 8 +++++++- > > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > > > diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c > > > index 2b7ab68e83c..284c31cc329 100644 > > > --- a/board/ti/am335x/board.c > > > +++ b/board/ti/am335x/board.c > > > @@ -283,7 +283,7 @@ const struct dpll_params *get_dpll_ddr_params(void) > > > > > > static u8 bone_not_connected_to_ac_power(void) > > > { > > > - if (board_is_bone()) { > > > + if (CONFIG_IS_ENABLED(PMIC_TPS65217) && board_is_bone()) { > > > uchar pmic_status_reg; > > > if (tps65217_reg_read(TPS65217_STATUS, > > > &pmic_status_reg)) > > > > The problem is that here and elsewhere we don't have SPL_xxx symbols and > > so we're turning off these calls in SPL now on the platforms which would > > be calling them. > > That would be really odd. The function tps65217_reg_read() is not defined > when CONFIG_PMIC_TPS65217 is not defined. So how could these calls work then? > For me it leads to a build failure. Or did I use an incorrect macro with > CONFIG_IS_ENABLED to solve this?
The symbol will be defined in both SPL and full U-Boot builds but CONFIG_IS_ENABLED(X) only checks for CONFIG_$(PHASE_)X being enabled. So the issue is that CONFIG_PMIC_TPS65217 is define but CONFIG_SPL_PMIC_TPS65217 doesn't exist and isn't defined. The IS_ENABLED(CONFIG_X) macro is what checks for CONFIG_X being defined, regardless of phase of the build. It's the CONFIG_FOO_MODULE problem the linux kernel has, except our modifier is in the middle, not the end of the name. -- Tom
signature.asc
Description: PGP signature