All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Carl Huang <quic_cjhuang@quicinc.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	GNU/Weeb Mailing List <gwml@vger.gnuweeb.org>,
	linux-kernel@vger.kernel.org, Kalle Valo <quic_kvalo@quicinc.com>,
	Baochen Qiang <quic_bqiang@quicinc.com>,
	Wen Gong <quic_wgong@quicinc.com>
Subject: [ammarfaizi2-block:kvalo/ath/pending-deferred 57/62] drivers/net/wireless/ath/ath11k/wow.c:481:17: error: no member named 'wowlan' in 'struct wiphy'
Date: Sat, 12 Feb 2022 01:59:17 +0800	[thread overview]
Message-ID: <202202120027.x2o1HiR8-lkp@intel.com> (raw)

tree:   https://github.com/ammarfaizi2/linux-block kvalo/ath/pending-deferred
head:   9a4dbe8c276e1d26533f2e4191c2b5dbef2d7b1e
commit: 24a2528121749a929923132e26ef5b0180e18544 [57/62] ath11k: Add basic WoW functionalities
config: hexagon-randconfig-r005-20220211 (https://download.01.org/0day-ci/archive/20220212/202202120027.x2o1HiR8-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project f6685f774697c85d6a352dcea013f46a99f9fe31)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/ammarfaizi2/linux-block/commit/24a2528121749a929923132e26ef5b0180e18544
        git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block kvalo/ath/pending-deferred
        git checkout 24a2528121749a929923132e26ef5b0180e18544
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/net/wireless/ath/ath11k/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> drivers/net/wireless/ath/ath11k/wow.c:356:5: warning: no previous prototype for function 'ath11k_wow_op_suspend' [-Wmissing-prototypes]
   int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
       ^
   drivers/net/wireless/ath/ath11k/wow.c:356:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
   ^
   static 
>> drivers/net/wireless/ath/ath11k/wow.c:415:6: warning: no previous prototype for function 'ath11k_wow_op_set_wakeup' [-Wmissing-prototypes]
   void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled)
        ^
   drivers/net/wireless/ath/ath11k/wow.c:415:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled)
   ^
   static 
>> drivers/net/wireless/ath/ath11k/wow.c:424:5: warning: no previous prototype for function 'ath11k_wow_op_resume' [-Wmissing-prototypes]
   int ath11k_wow_op_resume(struct ieee80211_hw *hw)
       ^
   drivers/net/wireless/ath/ath11k/wow.c:424:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int ath11k_wow_op_resume(struct ieee80211_hw *hw)
   ^
   static 
   drivers/net/wireless/ath/ath11k/wow.c:466:5: error: redefinition of 'ath11k_wow_init'
   int ath11k_wow_init(struct ath11k *ar)
       ^
   drivers/net/wireless/ath/ath11k/wow.h:40:19: note: previous definition is here
   static inline int ath11k_wow_init(struct ath11k *ar)
                     ^
>> drivers/net/wireless/ath/ath11k/wow.c:481:17: error: no member named 'wowlan' in 'struct wiphy'
           ar->hw->wiphy->wowlan = &ar->wow.wowlan_support;
           ~~~~~~~~~~~~~  ^
   3 warnings and 2 errors generated.


vim +481 drivers/net/wireless/ath/ath11k/wow.c

   355	
 > 356	int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
   357				  struct cfg80211_wowlan *wowlan)
   358	{
   359		struct ath11k *ar = hw->priv;
   360		int ret;
   361	
   362		mutex_lock(&ar->conf_mutex);
   363	
   364		ret =  ath11k_wow_cleanup(ar);
   365		if (ret) {
   366			ath11k_warn(ar->ab, "failed to clear wow wakeup events: %d\n",
   367				    ret);
   368			goto exit;
   369		}
   370	
   371		ret = ath11k_wow_set_wakeups(ar, wowlan);
   372		if (ret) {
   373			ath11k_warn(ar->ab, "failed to set wow wakeup events: %d\n",
   374				    ret);
   375			goto cleanup;
   376		}
   377	
   378		ret = ath11k_mac_wait_tx_complete(ar);
   379		if (ret) {
   380			ath11k_warn(ar->ab, "failed to wait tx complete: %d\n", ret);
   381			goto cleanup;
   382		}
   383	
   384		ret = ath11k_wow_enable(ar->ab);
   385		if (ret) {
   386			ath11k_warn(ar->ab, "failed to start wow: %d\n", ret);
   387			goto cleanup;
   388		}
   389	
   390		ath11k_ce_stop_shadow_timers(ar->ab);
   391		ath11k_dp_stop_shadow_timers(ar->ab);
   392	
   393		ath11k_hif_irq_disable(ar->ab);
   394		ath11k_hif_ce_irq_disable(ar->ab);
   395	
   396		ret = ath11k_hif_suspend(ar->ab);
   397		if (ret) {
   398			ath11k_warn(ar->ab, "failed to suspend hif: %d\n", ret);
   399			goto wakeup;
   400		}
   401	
   402		goto exit;
   403	
   404	wakeup:
   405		ath11k_wow_wakeup(ar->ab);
   406	
   407	cleanup:
   408		ath11k_wow_cleanup(ar);
   409	
   410	exit:
   411		mutex_unlock(&ar->conf_mutex);
   412		return ret ? 1 : 0;
   413	}
   414	
 > 415	void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled)
   416	{
   417		struct ath11k *ar = hw->priv;
   418	
   419		mutex_lock(&ar->conf_mutex);
   420		device_set_wakeup_enable(ar->ab->dev, enabled);
   421		mutex_unlock(&ar->conf_mutex);
   422	}
   423	
 > 424	int ath11k_wow_op_resume(struct ieee80211_hw *hw)
   425	{
   426		struct ath11k *ar = hw->priv;
   427		int ret;
   428	
   429		mutex_lock(&ar->conf_mutex);
   430	
   431		ret = ath11k_hif_resume(ar->ab);
   432		if (ret) {
   433			ath11k_warn(ar->ab, "failed to resume hif: %d\n", ret);
   434			goto exit;
   435		}
   436	
   437		ath11k_hif_ce_irq_enable(ar->ab);
   438		ath11k_hif_irq_enable(ar->ab);
   439	
   440		ret = ath11k_wow_wakeup(ar->ab);
   441		if (ret)
   442			ath11k_warn(ar->ab, "failed to wakeup from wow: %d\n", ret);
   443	
   444	exit:
   445		if (ret) {
   446			switch (ar->state) {
   447			case ATH11K_STATE_ON:
   448				ar->state = ATH11K_STATE_RESTARTING;
   449				ret = 1;
   450				break;
   451			case ATH11K_STATE_OFF:
   452			case ATH11K_STATE_RESTARTING:
   453			case ATH11K_STATE_RESTARTED:
   454			case ATH11K_STATE_WEDGED:
   455				ath11k_warn(ar->ab, "encountered unexpected device state %d on resume, cannot recover\n",
   456					    ar->state);
   457				ret = -EIO;
   458				break;
   459			}
   460		}
   461	
   462		mutex_unlock(&ar->conf_mutex);
   463		return ret;
   464	}
   465	
 > 466	int ath11k_wow_init(struct ath11k *ar)
   467	{
   468		if (WARN_ON(!test_bit(WMI_TLV_SERVICE_WOW, ar->wmi->wmi_ab->svc_map)))
   469			return -EINVAL;
   470	
   471		ar->wow.wowlan_support = ath11k_wowlan_support;
   472	
   473		if (ar->wmi->wmi_ab->wlan_resource_config.rx_decap_mode ==
   474		    ATH11K_HW_TXRX_NATIVE_WIFI) {
   475			ar->wow.wowlan_support.pattern_max_len -= WOW_MAX_REDUCE;
   476			ar->wow.wowlan_support.max_pkt_offset -= WOW_MAX_REDUCE;
   477		}
   478	
   479		ar->wow.max_num_patterns = ATH11K_WOW_PATTERNS;
   480		ar->wow.wowlan_support.n_patterns = ar->wow.max_num_patterns;
 > 481		ar->hw->wiphy->wowlan = &ar->wow.wowlan_support;

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [ammarfaizi2-block:kvalo/ath/pending-deferred 57/62] drivers/net/wireless/ath/ath11k/wow.c:481:17: error: no member named 'wowlan' in 'struct wiphy'
Date: Sat, 12 Feb 2022 01:59:17 +0800	[thread overview]
Message-ID: <202202120027.x2o1HiR8-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 7173 bytes --]

tree:   https://github.com/ammarfaizi2/linux-block kvalo/ath/pending-deferred
head:   9a4dbe8c276e1d26533f2e4191c2b5dbef2d7b1e
commit: 24a2528121749a929923132e26ef5b0180e18544 [57/62] ath11k: Add basic WoW functionalities
config: hexagon-randconfig-r005-20220211 (https://download.01.org/0day-ci/archive/20220212/202202120027.x2o1HiR8-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project f6685f774697c85d6a352dcea013f46a99f9fe31)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/ammarfaizi2/linux-block/commit/24a2528121749a929923132e26ef5b0180e18544
        git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block kvalo/ath/pending-deferred
        git checkout 24a2528121749a929923132e26ef5b0180e18544
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/net/wireless/ath/ath11k/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> drivers/net/wireless/ath/ath11k/wow.c:356:5: warning: no previous prototype for function 'ath11k_wow_op_suspend' [-Wmissing-prototypes]
   int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
       ^
   drivers/net/wireless/ath/ath11k/wow.c:356:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
   ^
   static 
>> drivers/net/wireless/ath/ath11k/wow.c:415:6: warning: no previous prototype for function 'ath11k_wow_op_set_wakeup' [-Wmissing-prototypes]
   void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled)
        ^
   drivers/net/wireless/ath/ath11k/wow.c:415:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled)
   ^
   static 
>> drivers/net/wireless/ath/ath11k/wow.c:424:5: warning: no previous prototype for function 'ath11k_wow_op_resume' [-Wmissing-prototypes]
   int ath11k_wow_op_resume(struct ieee80211_hw *hw)
       ^
   drivers/net/wireless/ath/ath11k/wow.c:424:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int ath11k_wow_op_resume(struct ieee80211_hw *hw)
   ^
   static 
   drivers/net/wireless/ath/ath11k/wow.c:466:5: error: redefinition of 'ath11k_wow_init'
   int ath11k_wow_init(struct ath11k *ar)
       ^
   drivers/net/wireless/ath/ath11k/wow.h:40:19: note: previous definition is here
   static inline int ath11k_wow_init(struct ath11k *ar)
                     ^
>> drivers/net/wireless/ath/ath11k/wow.c:481:17: error: no member named 'wowlan' in 'struct wiphy'
           ar->hw->wiphy->wowlan = &ar->wow.wowlan_support;
           ~~~~~~~~~~~~~  ^
   3 warnings and 2 errors generated.


vim +481 drivers/net/wireless/ath/ath11k/wow.c

   355	
 > 356	int ath11k_wow_op_suspend(struct ieee80211_hw *hw,
   357				  struct cfg80211_wowlan *wowlan)
   358	{
   359		struct ath11k *ar = hw->priv;
   360		int ret;
   361	
   362		mutex_lock(&ar->conf_mutex);
   363	
   364		ret =  ath11k_wow_cleanup(ar);
   365		if (ret) {
   366			ath11k_warn(ar->ab, "failed to clear wow wakeup events: %d\n",
   367				    ret);
   368			goto exit;
   369		}
   370	
   371		ret = ath11k_wow_set_wakeups(ar, wowlan);
   372		if (ret) {
   373			ath11k_warn(ar->ab, "failed to set wow wakeup events: %d\n",
   374				    ret);
   375			goto cleanup;
   376		}
   377	
   378		ret = ath11k_mac_wait_tx_complete(ar);
   379		if (ret) {
   380			ath11k_warn(ar->ab, "failed to wait tx complete: %d\n", ret);
   381			goto cleanup;
   382		}
   383	
   384		ret = ath11k_wow_enable(ar->ab);
   385		if (ret) {
   386			ath11k_warn(ar->ab, "failed to start wow: %d\n", ret);
   387			goto cleanup;
   388		}
   389	
   390		ath11k_ce_stop_shadow_timers(ar->ab);
   391		ath11k_dp_stop_shadow_timers(ar->ab);
   392	
   393		ath11k_hif_irq_disable(ar->ab);
   394		ath11k_hif_ce_irq_disable(ar->ab);
   395	
   396		ret = ath11k_hif_suspend(ar->ab);
   397		if (ret) {
   398			ath11k_warn(ar->ab, "failed to suspend hif: %d\n", ret);
   399			goto wakeup;
   400		}
   401	
   402		goto exit;
   403	
   404	wakeup:
   405		ath11k_wow_wakeup(ar->ab);
   406	
   407	cleanup:
   408		ath11k_wow_cleanup(ar);
   409	
   410	exit:
   411		mutex_unlock(&ar->conf_mutex);
   412		return ret ? 1 : 0;
   413	}
   414	
 > 415	void ath11k_wow_op_set_wakeup(struct ieee80211_hw *hw, bool enabled)
   416	{
   417		struct ath11k *ar = hw->priv;
   418	
   419		mutex_lock(&ar->conf_mutex);
   420		device_set_wakeup_enable(ar->ab->dev, enabled);
   421		mutex_unlock(&ar->conf_mutex);
   422	}
   423	
 > 424	int ath11k_wow_op_resume(struct ieee80211_hw *hw)
   425	{
   426		struct ath11k *ar = hw->priv;
   427		int ret;
   428	
   429		mutex_lock(&ar->conf_mutex);
   430	
   431		ret = ath11k_hif_resume(ar->ab);
   432		if (ret) {
   433			ath11k_warn(ar->ab, "failed to resume hif: %d\n", ret);
   434			goto exit;
   435		}
   436	
   437		ath11k_hif_ce_irq_enable(ar->ab);
   438		ath11k_hif_irq_enable(ar->ab);
   439	
   440		ret = ath11k_wow_wakeup(ar->ab);
   441		if (ret)
   442			ath11k_warn(ar->ab, "failed to wakeup from wow: %d\n", ret);
   443	
   444	exit:
   445		if (ret) {
   446			switch (ar->state) {
   447			case ATH11K_STATE_ON:
   448				ar->state = ATH11K_STATE_RESTARTING;
   449				ret = 1;
   450				break;
   451			case ATH11K_STATE_OFF:
   452			case ATH11K_STATE_RESTARTING:
   453			case ATH11K_STATE_RESTARTED:
   454			case ATH11K_STATE_WEDGED:
   455				ath11k_warn(ar->ab, "encountered unexpected device state %d on resume, cannot recover\n",
   456					    ar->state);
   457				ret = -EIO;
   458				break;
   459			}
   460		}
   461	
   462		mutex_unlock(&ar->conf_mutex);
   463		return ret;
   464	}
   465	
 > 466	int ath11k_wow_init(struct ath11k *ar)
   467	{
   468		if (WARN_ON(!test_bit(WMI_TLV_SERVICE_WOW, ar->wmi->wmi_ab->svc_map)))
   469			return -EINVAL;
   470	
   471		ar->wow.wowlan_support = ath11k_wowlan_support;
   472	
   473		if (ar->wmi->wmi_ab->wlan_resource_config.rx_decap_mode ==
   474		    ATH11K_HW_TXRX_NATIVE_WIFI) {
   475			ar->wow.wowlan_support.pattern_max_len -= WOW_MAX_REDUCE;
   476			ar->wow.wowlan_support.max_pkt_offset -= WOW_MAX_REDUCE;
   477		}
   478	
   479		ar->wow.max_num_patterns = ATH11K_WOW_PATTERNS;
   480		ar->wow.wowlan_support.n_patterns = ar->wow.max_num_patterns;
 > 481		ar->hw->wiphy->wowlan = &ar->wow.wowlan_support;

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2022-02-11 18:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-11 17:59 kernel test robot [this message]
2022-02-11 17:59 ` [ammarfaizi2-block:kvalo/ath/pending-deferred 57/62] drivers/net/wireless/ath/ath11k/wow.c:481:17: error: no member named 'wowlan' in 'struct wiphy' kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202202120027.x2o1HiR8-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=gwml@vger.gnuweeb.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=quic_bqiang@quicinc.com \
    --cc=quic_cjhuang@quicinc.com \
    --cc=quic_kvalo@quicinc.com \
    --cc=quic_wgong@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.