Message ID | 20240211201919.3751551-1-max.kellermann@ionos.com |
---|---|
State | New |
Headers | show |
Series | iwlwifi/uefi: remove CONFIG_ACPI check | expand |
Max Kellermann <max.kellermann@ionos.com> writes: > This fixes a build failure on ARCH=arm when CONFIG_EFI is set but > CONFIG_ACPI is not, because uefi.h declares iwl_uefi_get_sgom_table() > and iwl_uefi_get_uats_table() as dummy inline function, but uefi.c > contains the real (non-inline) implementation: > > drivers/net/wireless/intel/iwlwifi/fw/uefi.c:359:6: error: redefinition of 'iwl_uefi_get_sgom_table' > 359 | void iwl_uefi_get_sgom_table(struct iwl_trans *trans, > | ^~~~~~~~~~~~~~~~~~~~~~~ > In file included from drivers/net/wireless/intel/iwlwifi/fw/uefi.c:11: > drivers/net/wireless/intel/iwlwifi/fw/uefi.h:294:6: note: previous > definition of 'iwl_uefi_get_sgom_table' with type 'void(struct > iwl_trans *, struct iwl_fw_runtime *)' > 294 | void iwl_uefi_get_sgom_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt) > | ^~~~~~~~~~~~~~~~~~~~~~~ > drivers/net/wireless/intel/iwlwifi/fw/uefi.c:392:5: error: redefinition of 'iwl_uefi_get_uats_table' > 392 | int iwl_uefi_get_uats_table(struct iwl_trans *trans, > | ^~~~~~~~~~~~~~~~~~~~~~~ > drivers/net/wireless/intel/iwlwifi/fw/uefi.h:299:5: note: previous > definition of 'iwl_uefi_get_uats_table' with type 'int(struct > iwl_trans *, struct iwl_fw_runtime *)' > 299 | int iwl_uefi_get_uats_table(struct iwl_trans *trans, > | ^~~~~~~~~~~~~~~~~~~~~~~ > > I don't know how the driver works, and I do not know why the > CONFIG_ACPI check was added in the first place by commit c593d2fae592a > ("iwlwifi: support SAR GEO Offset Mapping override via BIOS"), but > since it did not add the same #ifdef to uefi.c, my first guess is that > this piece of code shall be used even if ACPI is disabled. > > Signed-off-by: Max Kellermann <max.kellermann@ionos.com> > --- > drivers/net/wireless/intel/iwlwifi/fw/uefi.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) "wifi:" missing from title but I'm guessing Johannes can add that.
> > I don't know how the driver works, and I do not know why the CONFIG_ACPI > check was added in the first place by commit c593d2fae592a > ("iwlwifi: support SAR GEO Offset Mapping override via BIOS"), but since it did > not add the same #ifdef to uefi.c, my first guess is that this piece of code shall > be used even if ACPI is disabled. > > Signed-off-by: Max Kellermann <max.kellermann@ionos.com> > --- > drivers/net/wireless/intel/iwlwifi/fw/uefi.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/intel/iwlwifi/fw/uefi.h > b/drivers/net/wireless/intel/iwlwifi/fw/uefi.h > index 39053290bd59..8617fe8b65cd 100644 > --- a/drivers/net/wireless/intel/iwlwifi/fw/uefi.h > +++ b/drivers/net/wireless/intel/iwlwifi/fw/uefi.h > @@ -285,7 +285,7 @@ static inline int iwl_uefi_get_dsm(struct iwl_fw_runtime > *fwrt, } #endif /* CONFIG_EFI */ > > -#if defined(CONFIG_EFI) && defined(CONFIG_ACPI) > +#if defined(CONFIG_EFI) > void iwl_uefi_get_sgom_table(struct iwl_trans *trans, struct iwl_fw_runtime > *fwrt); int iwl_uefi_get_uats_table(struct iwl_trans *trans, > struct iwl_fw_runtime *fwrt); > -- Hi Max, Thanks for your fix! I think that I'd prefer Arnd Bergmans fix, looks cleaner to me. Thanks! > 2.39.2
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/uefi.h b/drivers/net/wireless/intel/iwlwifi/fw/uefi.h index 39053290bd59..8617fe8b65cd 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/uefi.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/uefi.h @@ -285,7 +285,7 @@ static inline int iwl_uefi_get_dsm(struct iwl_fw_runtime *fwrt, } #endif /* CONFIG_EFI */ -#if defined(CONFIG_EFI) && defined(CONFIG_ACPI) +#if defined(CONFIG_EFI) void iwl_uefi_get_sgom_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt); int iwl_uefi_get_uats_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt);
This fixes a build failure on ARCH=arm when CONFIG_EFI is set but CONFIG_ACPI is not, because uefi.h declares iwl_uefi_get_sgom_table() and iwl_uefi_get_uats_table() as dummy inline function, but uefi.c contains the real (non-inline) implementation: drivers/net/wireless/intel/iwlwifi/fw/uefi.c:359:6: error: redefinition of 'iwl_uefi_get_sgom_table' 359 | void iwl_uefi_get_sgom_table(struct iwl_trans *trans, | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/net/wireless/intel/iwlwifi/fw/uefi.c:11: drivers/net/wireless/intel/iwlwifi/fw/uefi.h:294:6: note: previous definition of 'iwl_uefi_get_sgom_table' with type 'void(struct iwl_trans *, struct iwl_fw_runtime *)' 294 | void iwl_uefi_get_sgom_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt) | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/fw/uefi.c:392:5: error: redefinition of 'iwl_uefi_get_uats_table' 392 | int iwl_uefi_get_uats_table(struct iwl_trans *trans, | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/intel/iwlwifi/fw/uefi.h:299:5: note: previous definition of 'iwl_uefi_get_uats_table' with type 'int(struct iwl_trans *, struct iwl_fw_runtime *)' 299 | int iwl_uefi_get_uats_table(struct iwl_trans *trans, | ^~~~~~~~~~~~~~~~~~~~~~~ I don't know how the driver works, and I do not know why the CONFIG_ACPI check was added in the first place by commit c593d2fae592a ("iwlwifi: support SAR GEO Offset Mapping override via BIOS"), but since it did not add the same #ifdef to uefi.c, my first guess is that this piece of code shall be used even if ACPI is disabled. Signed-off-by: Max Kellermann <max.kellermann@ionos.com> --- drivers/net/wireless/intel/iwlwifi/fw/uefi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)