diff --git a/src/drivers/intel/wifi/Kconfig b/src/drivers/intel/wifi/Kconfig new file mode 100644 index 0000000000..40a85286a6 --- /dev/null +++ b/src/drivers/intel/wifi/Kconfig @@ -0,0 +1,6 @@ +config DRIVERS_INTEL_WIFI + bool "Support Intel PCI-e WiFi adapters" + default y if PCIEXP_PLUGIN_SUPPORT + help + When enabled, add identifiers in ACPI and SMBIOS tables to + make OS drivers work with certain Intel PCI-e WiFi chipsets. diff --git a/src/drivers/intel/wifi/Makefile.inc b/src/drivers/intel/wifi/Makefile.inc index 1435f8b7f7..aab811c1c4 100644 --- a/src/drivers/intel/wifi/Makefile.inc +++ b/src/drivers/intel/wifi/Makefile.inc @@ -11,9 +11,4 @@ # GNU General Public License for more details. # -# really? -ifeq ($(CONFIG_GENERATE_SMBIOS_TABLES),y) - -ramstage-$(CONFIG_PCIEXP_PLUGIN_SUPPORT) += wifi.c - -endif +ramstage-$(CONFIG_DRIVERS_INTEL_WIFI) += wifi.c diff --git a/src/drivers/intel/wifi/wifi.c b/src/drivers/intel/wifi/wifi.c index 5661bf46dc..789d0d5431 100644 --- a/src/drivers/intel/wifi/wifi.c +++ b/src/drivers/intel/wifi/wifi.c @@ -25,6 +25,7 @@ #include #include "chip.h" +#if IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLES) static int smbios_write_wifi(struct device *dev, int *handle, unsigned long *current) { @@ -55,6 +56,7 @@ static int smbios_write_wifi(struct device *dev, int *handle, *handle += 1; return len; } +#endif #if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES) static void intel_wifi_fill_ssdt(struct device *dev) @@ -125,7 +127,9 @@ struct device_operations device_ops = { .set_resources = pci_dev_set_resources, .enable_resources = pci_dev_enable_resources, .init = pci_dev_init, +#if IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLES) .get_smbios_data = smbios_write_wifi, +#endif .ops_pci = &pci_ops, #if IS_ENABLED(CONFIG_HAVE_ACPI_TABLES) .acpi_name = &intel_wifi_acpi_name, diff --git a/src/mainboard/google/chell/Kconfig b/src/mainboard/google/chell/Kconfig index 5ed211abb2..6fcdad43e6 100644 --- a/src/mainboard/google/chell/Kconfig +++ b/src/mainboard/google/chell/Kconfig @@ -28,9 +28,6 @@ config DRIVERS_I2C_GENERIC config DRIVERS_I2C_NAU8825 def_bool y -config DRIVERS_INTEL_WIFI - def_bool y - config IRQ_SLOT_COUNT int default 18 diff --git a/src/mainboard/google/glados/Kconfig b/src/mainboard/google/glados/Kconfig index 3acb8e982e..83049b7b63 100644 --- a/src/mainboard/google/glados/Kconfig +++ b/src/mainboard/google/glados/Kconfig @@ -28,9 +28,6 @@ config DRIVERS_I2C_GENERIC config DRIVERS_I2C_NAU8825 def_bool y -config DRIVERS_INTEL_WIFI - def_bool y - config IRQ_SLOT_COUNT int default 18 diff --git a/src/mainboard/google/lars/Kconfig b/src/mainboard/google/lars/Kconfig index c6025230a2..44c101836c 100644 --- a/src/mainboard/google/lars/Kconfig +++ b/src/mainboard/google/lars/Kconfig @@ -32,9 +32,6 @@ config DRIVERS_I2C_GENERIC config DRIVERS_I2C_NAU8825 default y -config DRIVERS_INTEL_WIFI - default y - config IRQ_SLOT_COUNT int default 18 diff --git a/src/mainboard/intel/kunimitsu/Kconfig b/src/mainboard/intel/kunimitsu/Kconfig index d2e6951897..c203df01c3 100644 --- a/src/mainboard/intel/kunimitsu/Kconfig +++ b/src/mainboard/intel/kunimitsu/Kconfig @@ -31,9 +31,6 @@ config DRIVERS_I2C_GENERIC config DRIVERS_I2C_NAU8825 default y -config DRIVERS_INTEL_WIFI - default y - config IRQ_SLOT_COUNT int default 18