Message ID | 20160711205020.1587254-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Accepted |
Commit | 25f700ef0653d7644ed273f8770230e734cae726 |
Delegated to: | Kalle Valo |
Headers | show |
On Mon, 2016-07-11 at 22:49 +0200, Arnd Bergmann wrote: > The iwl-debug.h header relies in implicit inclusion of linux/device.h > and > we get a lot of warnings without that: > > drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:23: error: 'struct > device' declared inside parameter list will not be visible outside of > this definition or declaration [-Werror] > void __iwl_err(struct device *dev, bool rfkill_prefix, bool > only_trace, > ^~~~~~ > In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom- > read.h:66:0, > from drivers/net/wireless/intel/iwlwifi/iwl-eeprom- > read.c:68: > drivers/net/wireless/intel/iwlwifi/iwl-trans.h: In function > 'iwl_trans_tx': > drivers/net/wireless/intel/iwlwifi/iwl-trans.h:1030:348: error: > passing argument 1 of '__iwl_err' from incompatible pointer type [- > Werror=incompatible-pointer-types] > IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state); > > > > > > ^ > In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom- > read.c:67:0: > drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:6: note: expected > 'struct device *' but argument is of type 'struct device *' > void __iwl_err(struct device *dev, bool rfkill_prefix, bool > only_trace, > ^~~~~~~~~ > > The easiest workaround is to just declare 'struct device' before its > first use, > rather than including the entire header file. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Fixes: 21cb3222fe56 ("iwlwifi: decouple PCIe transport from > mac80211") > --- Acked-by: Luca Coelho <luciano.coelho@intel.com> Agree with Kalle that he will take this directly to wireless-drivers- next. -- Cheers, Luca. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Arnd Bergmann <arnd@arndb.de> wrote: > The iwl-debug.h header relies in implicit inclusion of linux/device.h and > we get a lot of warnings without that: > > drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:23: error: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] > void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace, > ^~~~~~ > In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.h:66:0, > from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:68: > drivers/net/wireless/intel/iwlwifi/iwl-trans.h: In function 'iwl_trans_tx': > drivers/net/wireless/intel/iwlwifi/iwl-trans.h:1030:348: error: passing argument 1 of '__iwl_err' from incompatible pointer type [-Werror=incompatible-pointer-types] > IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state); > ^ > In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:67:0: > drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:6: note: expected 'struct device *' but argument is of type 'struct device *' > void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace, > ^~~~~~~~~ > > The easiest workaround is to just declare 'struct device' before its first use, > rather than including the entire header file. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Fixes: 21cb3222fe56 ("iwlwifi: decouple PCIe transport from mac80211") > Acked-by: Luca Coelho <luciano.coelho@intel.com> Thanks, 1 patch applied to wireless-drivers-next.git: 25f700ef0653 iwlwifi: add missing type declaration
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-debug.h b/drivers/net/wireless/intel/iwlwifi/iwl-debug.h index 110333208450..cd77c6971753 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-debug.h +++ b/drivers/net/wireless/intel/iwlwifi/iwl-debug.h @@ -41,6 +41,7 @@ static inline bool iwl_have_debug_level(u32 level) #endif } +struct device; void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace, const char *fmt, ...) __printf(4, 5); void __iwl_warn(struct device *dev, const char *fmt, ...) __printf(2, 3);
The iwl-debug.h header relies in implicit inclusion of linux/device.h and we get a lot of warnings without that: drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:23: error: 'struct device' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace, ^~~~~~ In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.h:66:0, from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:68: drivers/net/wireless/intel/iwlwifi/iwl-trans.h: In function 'iwl_trans_tx': drivers/net/wireless/intel/iwlwifi/iwl-trans.h:1030:348: error: passing argument 1 of '__iwl_err' from incompatible pointer type [-Werror=incompatible-pointer-types] IWL_ERR(trans, "%s bad state = %d\n", __func__, trans->state); ^ In file included from drivers/net/wireless/intel/iwlwifi/iwl-eeprom-read.c:67:0: drivers/net/wireless/intel/iwlwifi/iwl-debug.h:44:6: note: expected 'struct device *' but argument is of type 'struct device *' void __iwl_err(struct device *dev, bool rfkill_prefix, bool only_trace, ^~~~~~~~~ The easiest workaround is to just declare 'struct device' before its first use, rather than including the entire header file. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 21cb3222fe56 ("iwlwifi: decouple PCIe transport from mac80211") --- drivers/net/wireless/intel/iwlwifi/iwl-debug.h | 1 + 1 file changed, 1 insertion(+)