
On Tue, 14 Dec 2021 10:36:00 +0100 Pali Rohár pali@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