ec/lenovo/h8: Add Kconfig option for Fn-Ctrl swap
Having to use a runtime configurable option backend like CMOS just to
specify the value of the "fn_ctrl_swap" option is annoying. Introduce
a new Kconfig option to allow specifying the fallback value, which is
only used when the option backend cannot provide a value.
Change-Id: I00bb3cd60c443fc0c8adb82e8e0c436dfc5de24b
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67836
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
diff --git a/src/ec/lenovo/h8/Kconfig b/src/ec/lenovo/h8/Kconfig
index 698816f..57d7da6 100644
--- a/src/ec/lenovo/h8/Kconfig
+++ b/src/ec/lenovo/h8/Kconfig
@@ -28,6 +28,14 @@
Disable BDC detection and assume bluetooth is installed. Required for
bluetooth on wifi cards, as it's not possible to detect it in coreboot.
+config H8_FN_CTRL_SWAP
+ bool "Swap Fn and Ctrl keys"
+ help
+ Specifies the fallback value of the "fn_ctrl_swap" option, which is
+ only used when the value cannot be obtained from the option backend.
+ The main use-case for this Kconfig option is to enable Fn-Ctrl swap
+ without using any runtime configurable option backends (e.g. CMOS).
+
config H8_HAS_BAT_THRESHOLDS_IMPL
bool
default n
diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c
index bbe6490..3df20c1 100644
--- a/src/ec/lenovo/h8/h8.c
+++ b/src/ec/lenovo/h8/h8.c
@@ -311,7 +311,7 @@
if (conf->has_uwb)
h8_uwb_enable(get_uint_option("uwb", 1));
- h8_fn_ctrl_swap(get_uint_option("fn_ctrl_swap", 0));
+ h8_fn_ctrl_swap(get_uint_option("fn_ctrl_swap", CONFIG(H8_FN_CTRL_SWAP)));
h8_sticky_fn(get_uint_option("sticky_fn", 0));