drivers/net/r8168.c: Guard against generating power resource
Not all platforms need to generate power resources, but the code does
not get optimized out at build time because the devicetree gets
compiled into a linked list. As this code pulls in some heavy ACPI
dependencies that is even implemented with weak empty function it
makes sense to optimize out this code using a Kconfig constant.
This saves 1.5K in ramstage size on gigabyte/ga-945gcm-s2l.
Change-Id: I82289aa7e6e82318417f3b827b86182891dfc2a6
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58657
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/src/drivers/net/Kconfig b/src/drivers/net/Kconfig
index 7e111f6..875b709 100644
--- a/src/drivers/net/Kconfig
+++ b/src/drivers/net/Kconfig
@@ -38,6 +38,13 @@
Configuration for details. With this flag enabled, the
customized_leds variable will be read from devicetree setting.
+config RT8168_GEN_ACPI_POWER_RESOURCE
+ bool
+ default n
+ depends on REALTEK_8168_RESET
+ help
+ Select this if an ACPI power resource needs to be generated.
+
config ATHEROS_ATL1E_SETMAC
bool
help
diff --git a/src/drivers/net/r8168.c b/src/drivers/net/r8168.c
index 1fd6edd..18e2aff 100644
--- a/src/drivers/net/r8168.c
+++ b/src/drivers/net/r8168.c
@@ -317,7 +317,7 @@
acpigen_write_name_string("_DDN", dev->chip_ops->name);
/* Power Resource */
- if (config->has_power_resource) {
+ if (CONFIG(RT8168_GEN_ACPI_POWER_RESOURCE) && config->has_power_resource) {
const struct acpi_power_res_params power_res_params = {
.stop_gpio = &config->stop_gpio,
.stop_delay_ms = config->stop_delay_ms,
diff --git a/src/mainboard/google/hatch/Kconfig b/src/mainboard/google/hatch/Kconfig
index 6fe44e0..de68d85 100644
--- a/src/mainboard/google/hatch/Kconfig
+++ b/src/mainboard/google/hatch/Kconfig
@@ -9,6 +9,7 @@
select BOARD_GOOGLE_HATCH_COMMON
select RT8168_GET_MAC_FROM_VPD
select RT8168_SET_LED_MODE
+ select RT8168_GEN_ACPI_POWER_RESOURCE
select ROMSTAGE_SPD_SMBUS
select SPD_READ_BY_WORD
select SOC_INTEL_CSE_LITE_SKU