summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordnojiri <dnojiri@chromium.org>2019-12-04 14:52:18 -0800
committerCommit Bot <commit-bot@chromium.org>2019-12-10 02:14:55 +0000
commit3973af40f9ca5dd7ba06629b6968b39e912d1c40 (patch)
tree7ce8b99d8c1b4264709287c6e12bd580495aa4ff
parent2cb4d29ad22831110d1b5adec820794b6d76fae9 (diff)
downloadchrome-ec-3973af40f9ca5dd7ba06629b6968b39e912d1c40.tar.gz
Define board_override_features_flags APIs as overridable
Currently board_override_features_flags0/1 are enabled by CONFIG_EC_FEATURE_BOARD_OVERRIDE. This patch defines the callbacks as overridable. It will allow us to remove CONFIG_EC_FEATURE_BOARD_OVERRIDE and the redundancy it incurs. Signed-off-by: dnojiri <dnojiri@chromium.org> BUG=none BRANCH=none TEST=buildall Change-Id: I0c2870b746879b272ada35b9615b611627a9f426 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1951810 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Auto-Submit: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--baseboard/grunt/baseboard.c7
-rw-r--r--baseboard/grunt/baseboard.h1
-rw-r--r--baseboard/zork/baseboard.c10
-rw-r--r--baseboard/zork/baseboard.h1
-rw-r--r--board/bloog/board.c7
-rw-r--r--board/bloog/board.h2
-rw-r--r--board/bobba/board.c7
-rw-r--r--board/bobba/board.h2
-rw-r--r--board/coral/board.c7
-rw-r--r--board/coral/board.h1
-rw-r--r--board/dratini/board.c7
-rw-r--r--board/dratini/board.h1
-rw-r--r--board/garg/board.c7
-rw-r--r--board/garg/board.h2
-rw-r--r--board/jinlon/board.c7
-rw-r--r--board/jinlon/board.h1
-rw-r--r--board/kindred/board.c7
-rw-r--r--board/kindred/board.h2
-rw-r--r--board/meep/board.c7
-rw-r--r--board/meep/board.h2
-rw-r--r--common/ec_features.c20
-rw-r--r--include/board_config.h11
-rw-r--r--include/config.h6
23 files changed, 27 insertions, 98 deletions
diff --git a/baseboard/grunt/baseboard.c b/baseboard/grunt/baseboard.c
index 977b4fc6ed..0726312706 100644
--- a/baseboard/grunt/baseboard.c
+++ b/baseboard/grunt/baseboard.c
@@ -774,7 +774,7 @@ int board_is_lid_angle_tablet_mode(void)
return board_is_convertible();
}
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
/*
* Remove keyboard backlight feature for devices that don't support it.
@@ -790,11 +790,6 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
return flags0;
}
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
-
void board_hibernate(void)
{
/*
diff --git a/baseboard/grunt/baseboard.h b/baseboard/grunt/baseboard.h
index 7a2504dcfe..ebbb9534b8 100644
--- a/baseboard/grunt/baseboard.h
+++ b/baseboard/grunt/baseboard.h
@@ -36,7 +36,6 @@
#define CONFIG_BACKLIGHT_LID_ACTIVE_LOW
#define CONFIG_BOARD_VERSION_CUSTOM
#define CONFIG_CMD_AP_RESET_LOG
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
#define CONFIG_HIBERNATE_PSL
#define CONFIG_HOSTCMD_LPC
#define CONFIG_HOSTCMD_SKUID
diff --git a/baseboard/zork/baseboard.c b/baseboard/zork/baseboard.c
index abac4e7daf..027d436ec3 100644
--- a/baseboard/zork/baseboard.c
+++ b/baseboard/zork/baseboard.c
@@ -825,16 +825,6 @@ int board_is_lid_angle_tablet_mode(void)
return board_is_convertible();
}
-uint32_t board_override_feature_flags0(uint32_t flags0)
-{
- return flags0;
-}
-
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
-
void board_overcurrent_event(int port, int is_overcurrented)
{
switch (port) {
diff --git a/baseboard/zork/baseboard.h b/baseboard/zork/baseboard.h
index 0af6b72f43..ba6bb5adc4 100644
--- a/baseboard/zork/baseboard.h
+++ b/baseboard/zork/baseboard.h
@@ -30,7 +30,6 @@
#define CONFIG_BACKLIGHT_LID_ACTIVE_LOW
#define CONFIG_CMD_AP_RESET_LOG
#define CONFIG_CPU_PROCHOT_ACTIVE_LOW
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
#define CONFIG_HIBERNATE_PSL
#define CONFIG_HOSTCMD_ESPI
#define CONFIG_HOSTCMD_SKUID
diff --git a/board/bloog/board.c b/board/bloog/board.c
index e15bcda472..d68f3b54d5 100644
--- a/board/bloog/board.c
+++ b/board/bloog/board.c
@@ -314,7 +314,7 @@ void board_overcurrent_event(int port, int is_overcurrented)
gpio_set_level(GPIO_USB_C_OC, !is_overcurrented);
}
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
/*
* Remove keyboard backlight feature for devices that don't support it.
@@ -325,8 +325,3 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
else
return flags0;
}
-
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
diff --git a/board/bloog/board.h b/board/bloog/board.h
index 55f5f4fff8..c472543589 100644
--- a/board/bloog/board.h
+++ b/board/bloog/board.h
@@ -24,8 +24,6 @@
#undef CONFIG_LED_ONOFF_STATES
#define CONFIG_LED_COMMON
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
-
/* Sensors */
#define CONFIG_ACCEL_KX022 /* Lid accel */
#define CONFIG_ACCELGYRO_LSM6DSM /* Base accel */
diff --git a/board/bobba/board.c b/board/bobba/board.c
index 9bbedbcb07..d437e167d3 100644
--- a/board/bobba/board.c
+++ b/board/bobba/board.c
@@ -352,7 +352,7 @@ static void cbi_init(void)
}
DECLARE_HOOK(HOOK_INIT, cbi_init, HOOK_PRIO_INIT_I2C + 1);
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
/*
* Remove keyboard backlight feature for devices that don't support it.
@@ -363,11 +363,6 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
return (flags0 & ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB));
}
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
-
void board_hibernate_late(void) {
int i;
diff --git a/board/bobba/board.h b/board/bobba/board.h
index 403242587f..9e3bd94e88 100644
--- a/board/bobba/board.h
+++ b/board/bobba/board.h
@@ -22,8 +22,6 @@
#define CONFIG_LED_COMMON
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
-
/* Sensors */
#define CONFIG_ACCEL_KX022 /* Lid accel */
#define CONFIG_ACCELGYRO_BMI160 /* Base accel */
diff --git a/board/coral/board.c b/board/coral/board.c
index 5e359c4051..1263ada209 100644
--- a/board/coral/board.c
+++ b/board/coral/board.c
@@ -1001,7 +1001,7 @@ struct keyboard_scan_config keyscan_config = {
},
};
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
uint32_t sku = system_get_sku_id();
@@ -1019,8 +1019,3 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
return flags0;
}
-
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
diff --git a/board/coral/board.h b/board/coral/board.h
index a4d4f393b4..df380f22b9 100644
--- a/board/coral/board.h
+++ b/board/coral/board.h
@@ -150,7 +150,6 @@
#define CONFIG_WLAN_POWER_ACTIVE_LOW
#define WIRELESS_GPIO_WLAN_POWER GPIO_WIRELESS_GPIO_WLAN_POWER
#define CONFIG_PWR_STATE_DISCHARGE_FULL
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
/*
* During shutdown sequence TPS65094x PMIC turns off the sensor rails
diff --git a/board/dratini/board.c b/board/dratini/board.c
index 4a1ff9a6e1..d8c673e2e8 100644
--- a/board/dratini/board.c
+++ b/board/dratini/board.c
@@ -428,7 +428,7 @@ bool board_has_kb_backlight(void)
return sku_id == 2 || sku_id == 3 || sku_id == 22 || sku_id == 255;
}
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
if (board_has_kb_backlight())
return flags0;
@@ -436,11 +436,6 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
return (flags0 & ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB));
}
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
-
#ifdef CONFIG_KEYBOARD_FACTORY_TEST
/*
* Map keyboard connector pins to EC GPIO pins for factory test.
diff --git a/board/dratini/board.h b/board/dratini/board.h
index bdf50e7a2c..a16165f6d9 100644
--- a/board/dratini/board.h
+++ b/board/dratini/board.h
@@ -11,7 +11,6 @@
/* Baseboard features */
#include "baseboard.h"
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
#define CONFIG_POWER_BUTTON
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_PROTOCOL_8042
diff --git a/board/garg/board.c b/board/garg/board.c
index 6d740e6650..180b20daac 100644
--- a/board/garg/board.c
+++ b/board/garg/board.c
@@ -248,7 +248,7 @@ static void cbi_init(void)
}
DECLARE_HOOK(HOOK_INIT, cbi_init, HOOK_PRIO_INIT_I2C + 1);
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
/*
* Remove keyboard backlight feature for devices that don't support it.
@@ -259,11 +259,6 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
return (flags0 & ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB));
}
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
-
void board_hibernate_late(void)
{
int i;
diff --git a/board/garg/board.h b/board/garg/board.h
index 218f794b0d..79871f0af6 100644
--- a/board/garg/board.h
+++ b/board/garg/board.h
@@ -22,8 +22,6 @@
#define CONFIG_LED_COMMON
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
-
/* Sensors */
#define CONFIG_ACCEL_KX022 /* Lid accel */
#define CONFIG_ACCELGYRO_BMI160 /* Base accel */
diff --git a/board/jinlon/board.c b/board/jinlon/board.c
index b735dfd554..797900ab1e 100644
--- a/board/jinlon/board.c
+++ b/board/jinlon/board.c
@@ -443,7 +443,7 @@ bool board_has_kb_backlight(void)
return sku_id == 2 || sku_id == 3 || sku_id == 22 || sku_id == 255;
}
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
if (board_has_kb_backlight())
return flags0;
@@ -451,11 +451,6 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
return (flags0 & ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB));
}
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
-
#ifdef CONFIG_KEYBOARD_FACTORY_TEST
/*
* Map keyboard connector pins to EC GPIO pins for factory test.
diff --git a/board/jinlon/board.h b/board/jinlon/board.h
index 9f831006ad..db87e9e952 100644
--- a/board/jinlon/board.h
+++ b/board/jinlon/board.h
@@ -11,7 +11,6 @@
/* Baseboard features */
#include "baseboard.h"
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
#define CONFIG_POWER_BUTTON
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_PROTOCOL_8042
diff --git a/board/kindred/board.c b/board/kindred/board.c
index 14244d9400..d0e52ae070 100644
--- a/board/kindred/board.c
+++ b/board/kindred/board.c
@@ -470,15 +470,10 @@ bool board_has_kb_backlight(void)
return (sku_id >= 1) && (sku_id <= 4);
}
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
if (board_has_kb_backlight())
return flags0;
else
return (flags0 & ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB));
}
-
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
diff --git a/board/kindred/board.h b/board/kindred/board.h
index 2c4875a8de..93406c245f 100644
--- a/board/kindred/board.h
+++ b/board/kindred/board.h
@@ -22,8 +22,6 @@
#undef CONFIG_UART_TX_BUF_SIZE
#define CONFIG_UART_TX_BUF_SIZE 4096
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
-
/* Keyboard features */
#define CONFIG_PWM
#define CONFIG_PWM_KBLIGHT
diff --git a/board/meep/board.c b/board/meep/board.c
index d9b80d36d9..75dfb069c3 100644
--- a/board/meep/board.c
+++ b/board/meep/board.c
@@ -312,7 +312,7 @@ void board_overcurrent_event(int port, int is_overcurrented)
gpio_set_level(GPIO_USB_C_OC, !is_overcurrented);
}
-uint32_t board_override_feature_flags0(uint32_t flags0)
+__override uint32_t board_override_feature_flags0(uint32_t flags0)
{
/*
* We always compile in backlight support for Meep/Dorp, but only some
@@ -326,8 +326,3 @@ uint32_t board_override_feature_flags0(uint32_t flags0)
/* Report that there is no keyboard backlight */
return (flags0 &= ~EC_FEATURE_MASK_0(EC_FEATURE_PWM_KEYB));
}
-
-uint32_t board_override_feature_flags1(uint32_t flags1)
-{
- return flags1;
-}
diff --git a/board/meep/board.h b/board/meep/board.h
index 9cf6b2845f..4ea92674c7 100644
--- a/board/meep/board.h
+++ b/board/meep/board.h
@@ -24,8 +24,6 @@
#define CONFIG_LED_COMMON
#define CONFIG_LED_POWER_LED
-#define CONFIG_EC_FEATURE_BOARD_OVERRIDE
-
/* Sensors */
#define CONFIG_ACCEL_KX022 /* Lid accel */
#define CONFIG_ACCELGYRO_LSM6DSM /* Base accel */
diff --git a/common/ec_features.c b/common/ec_features.c
index 2a04a7c71e..568f3e8bef 100644
--- a/common/ec_features.c
+++ b/common/ec_features.c
@@ -107,10 +107,7 @@ uint32_t get_feature_flags0(void)
| EC_FEATURE_MASK_0(EC_FEATURE_DEVICE_EVENT)
#endif
;
-#ifdef CONFIG_EC_FEATURE_BOARD_OVERRIDE
- result = board_override_feature_flags0(result);
-#endif
- return result;
+ return board_override_feature_flags0(result);
}
uint32_t get_feature_flags1(void)
@@ -138,8 +135,15 @@ uint32_t get_feature_flags1(void)
| EC_FEATURE_MASK_1(EC_FEATURE_ISH)
#endif
;
-#ifdef CONFIG_EC_FEATURE_BOARD_OVERRIDE
- result = board_override_feature_flags1(result);
-#endif
- return result;
+ return board_override_feature_flags1(result);
+}
+
+__overridable uint32_t board_override_feature_flags0(uint32_t flags0)
+{
+ return flags0;
+}
+
+__overridable uint32_t board_override_feature_flags1(uint32_t flags1)
+{
+ return flags1;
}
diff --git a/include/board_config.h b/include/board_config.h
index 76b92ac50b..18f7d93fb6 100644
--- a/include/board_config.h
+++ b/include/board_config.h
@@ -61,10 +61,11 @@ void board_before_rsmrst(int rsmrst);
*/
void chip_pre_init(void);
-#ifdef CONFIG_EC_FEATURE_BOARD_OVERRIDE
-/* function for board specific overrides to default feature flags */
-uint32_t board_override_feature_flags0(uint32_t flags0);
-uint32_t board_override_feature_flags1(uint32_t flags1);
-#endif
+/*
+ * Allow board to override the feature bitmap provided through host command
+ * and ACPI.
+ */
+__override_proto uint32_t board_override_feature_flags0(uint32_t flags0);
+__override_proto uint32_t board_override_feature_flags1(uint32_t flags1);
#endif /* __CROS_EC_BOARD_CONFIG_H */
diff --git a/include/config.h b/include/config.h
index 664a2aa8be..edead6ef89 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1613,12 +1613,6 @@
/* Maximal EC sampling rate */
#undef CONFIG_EC_MAX_SENSOR_FREQ_MILLIHZ
-/*
- * Allow board to override the feature bitmap provided through host command
- * and ACPI.
- */
-#undef CONFIG_EC_FEATURE_BOARD_OVERRIDE
-
/* Support EC chip internal data EEPROM */
#undef CONFIG_EEPROM