[PATCH v3 87/95] kconfig: Drop CONFIG_IF_ENABLED_INT()

Simon Glass sjg at chromium.org
Mon Feb 13 00:16:30 CET 2023


We can use IF_ENABLED_INT() instead, so drop the other macro. Also clean
up a few things left behind and fix the comment.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

(no changes since v1)

 include/linux/kconfig.h       | 32 ++++++--------------------------
 test/lib/kconfig.c            | 15 ---------------
 test/lib/kconfig_spl.c        | 10 ----------
 test/py/tests/test_kconfig.py |  6 ++----
 4 files changed, 8 insertions(+), 55 deletions(-)

diff --git a/include/linux/kconfig.h b/include/linux/kconfig.h
index 57d5afc7a1a..77d8e6b6129 100644
--- a/include/linux/kconfig.h
+++ b/include/linux/kconfig.h
@@ -47,19 +47,6 @@
 	___config_opt_enabled(arg1_or_junk arg2, def_val)
 #define ___config_opt_enabled(__ignored, val, ...) val
 
-#ifndef __ASSEMBLY__
-/*
- * Detect usage of a the value when the conditional is not enabled. When used
- * in assembly context, this likely produces a assembly error, or hopefully at
- * least something recognisable.
- */
-long invalid_use_of_IF_ENABLED_INT(void);
-#endif
-
-/* Evaluates to int_option if option is defined, otherwise a build error */
-#define IF_ENABLED_INT(option, int_option) \
-	config_opt_enabled(option, int_option, invalid_use_of_IF_ENABLED_INT())
-
 /*
  * Count number of arguments to a variadic macro. Currently only need
  * it for 1, 2 or 3 arguments.
@@ -103,22 +90,15 @@ long invalid_use_of_IF_ENABLED_INT(void);
 
 #ifndef __ASSEMBLY__
 /*
- * Detect usage of a the value when the conditional is not enabled. When used
- * in assembly context, this likely produces a assembly error, or hopefully at
+ * Detect usage of the value when the conditional is not enabled. When used
+ * in assembly context, this likely produces an assembly error, or hopefully at
  * least something recognisable.
  */
-long invalid_use_of_CONFIG_IF_ENABLED_INT(void);
+long invalid_use_of_IF_ENABLED_INT(void);
 #endif
 
-/*
- * Evaluates to SPL_/TPL_int_option if SPL_/TPL_/option is not defined,
- * otherwise build error
- */
-#define CONFIG_IF_ENABLED_INT(option, int_option) \
-	CONFIG_IS_ENABLED(option, (int_option), \
-		(invalid_use_of_CONFIG_IF_ENABLED_INT()))
-
-#define CONFIG_IF_INT(option, int_option) \
-	CONFIG_IF_ENABLED_INT(option, int_option)
+/* Evaluates to int_option if option is defined, otherwise build error */
+#define IF_ENABLED_INT(option, int_option) \
+	IS_ENABLED(option, (int_option), (invalid_use_of_IF_ENABLED_INT()))
 
 #endif /* __LINUX_KCONFIG_H */
diff --git a/test/lib/kconfig.c b/test/lib/kconfig.c
index 029a2be8cd9..0c4345b6b3f 100644
--- a/test/lib/kconfig.c
+++ b/test/lib/kconfig.c
@@ -24,8 +24,6 @@ static int lib_test_is_enabled(struct unit_test_state *uts)
 
 	ut_asserteq(0xc000,
 		    IF_ENABLED_INT(CONFIG_BLOBLIST_FIXED, CONFIG_BLOBLIST_ADDR));
-	ut_asserteq(0xc000,
-		    CONFIG_IF_ENABLED_INT(CONFIG_BLOBLIST_FIXED, CONFIG_BLOBLIST_ADDR));
 
 	/*
 	 * This fails if CONFIG_TEST_KCONFIG_ENABLE is not enabled, since the
@@ -40,19 +38,6 @@ static int lib_test_is_enabled(struct unit_test_state *uts)
 		printf("value %ld\n", val);
 	}
 
-	/*
-	 * This fails if CONFIG_TEST_KCONFIG_ENABLE is not enabled, since the
-	 * value is used. Disable for SPL so that the errors in kconfig_spl.c
-	 * are detected, since otherwise a build error when building U-Boot may
-	 * cause SPL to not be built.
-	 */
-	if (!IS_ENABLED(CONFIG_SANDBOX_SPL) &&
-	    IS_ENABLED(CONFIG_TEST_KCONFIG)) {
-		val = CONFIG_IF_ENABLED_INT(CONFIG_TEST_KCONFIG_ENABLE,
-					    CONFIG_TEST_KCONFIG_VALUE);
-		printf("value2 %ld\n", val);
-	}
-
 	return 0;
 }
 LIB_TEST(lib_test_is_enabled, 0);
diff --git a/test/lib/kconfig_spl.c b/test/lib/kconfig_spl.c
index 2894a03f1e8..69c107fd524 100644
--- a/test/lib/kconfig_spl.c
+++ b/test/lib/kconfig_spl.c
@@ -29,16 +29,6 @@ static int lib_test_spl_is_enabled(struct unit_test_state *uts)
 		printf("value %ld\n", val);
 	}
 
-	/*
-	 * This fails if CONFIG_TEST_KCONFIG_ENABLE is not enabled, since the
-	 * value is used.
-	 */
-	if (IS_ENABLED(CONFIG_TEST_KCONFIG)) {
-		val = CONFIG_IF_ENABLED_INT(CONFIG_TEST_KCONFIG_ENABLE,
-					    CONFIG_TEST_KCONFIG_VALUE);
-		printf("value2 %ld\n", val);
-	}
-
 	return 0;
 }
 LIB_TEST(lib_test_spl_is_enabled, 0);
diff --git a/test/py/tests/test_kconfig.py b/test/py/tests/test_kconfig.py
index 0b9e6bc3bd1..c4287e1144c 100644
--- a/test/py/tests/test_kconfig.py
+++ b/test/py/tests/test_kconfig.py
@@ -20,7 +20,6 @@ def test_kconfig(u_boot_console):
         cons, ['./tools/buildman/buildman', '-m', '--board', 'sandbox',
                '-a', 'TEST_KCONFIG', '-o', TMPDIR], ignore_errors=True)
     assert 'invalid_use_of_IF_ENABLED_INT' in out
-    assert 'invalid_use_of_CONFIG_IF_ENABLED_INT' in out
 
 @pytest.mark.slow
 @pytest.mark.boardspec('sandbox_spl')
@@ -32,8 +31,7 @@ def test_kconfig_spl(u_boot_console):
     out = util.run_and_log(
         cons, ['./tools/buildman/buildman', '-m', '--board', 'sandbox_spl',
                '-a', 'TEST_KCONFIG', '-o', TMPDIR], ignore_errors=True)
-    assert 'invalid_use_of_IF_ENABLED_INT' in out
 
-    # There is no CONFIG_SPL_TEST_KCONFIG, so the CONFIG_IF_ENABLED_INT()
+    # There is no CONFIG_SPL_TEST_KCONFIG, so the IF_ENABLED_INT()
     # line should not generate an error
-    assert 'invalid_use_of_CONFIG_IF_ENABLED_INT' not in out
+    assert 'invalid_use_of_IF_ENABLED_INT' not in out
-- 
2.39.1.581.gbfd45094c4-goog



More information about the U-Boot mailing list