On Tue, 14 Dec 2021 10:36:00 +0100 Pali Rohár <p...@kernel.org> wrote:
> On Friday 26 November 2021 15:37:37 Marek Behún wrote: > > @@ -340,17 +333,17 @@ void board_init_f(ulong dummy) > > timer_init(); > > > > /* Armada 375 does not support SerDes and DDR3 init yet */ > > -#if !defined(CONFIG_ARMADA_375) > > - /* First init the serdes PHY's */ > > - serdes_phy_config(); > > - > > - /* Setup DDR */ > > - ret = ddr3_init(); > > - if (ret) { > > - debug("ddr3_init() failed: %d\n", ret); > > - hang(); > > + if (!IS_ENABLED(CONFIG_ARMADA_375)) { > > + /* First init the serdes PHY's */ > > + serdes_phy_config(); > > + > > + /* Setup DDR */ > > + ret = ddr3_init(); > > + if (ret) { > > + debug("ddr3_init() failed: %d\n", ret); > > + hang(); > > + } > > } > > -#endif > > As written in comment above there is no SerDes and DDR3 support for > Armada 375 and therefore there is no serdes_phy_config() or ddr3_init() > function. So this code needs not to be compiled at all and usage of > #ifdef is correct here. #ifdefs are almost never correct in C-files, for the parts of the code they guard isn't put through syntactic analysis, and can therefore contain bugs which we are not warned about. Using if (IS_ENABLED()) almost never producess a different binary, because the code is optimized away. Marek