[opensuse-kernel] compilation breakage on the 13.2 kernel
Hi, I am seeing trouble with compilation: CC [M] drivers/staging/rtl8821ae/base.o drivers/staging/rtl8821ae/base.c: In function ‘rtl_send_smps_action’: drivers/staging/rtl8821ae/base.c:1455:3: warning: passing argument 2 of ‘rtlpriv->intf_ops->adapter_tx’ from incompatible pointer type [enabled by default] rtlpriv->intf_ops->adapter_tx(hw, sta, skb, &tcb_desc); ^ drivers/staging/rtl8821ae/base.c:1455:3: note: expected ‘struct sk_buff *’ but argument is of type ‘struct ieee80211_sta *’ drivers/staging/rtl8821ae/base.c:1455:3: warning: passing argument 3 of ‘rtlpriv->intf_ops->adapter_tx’ from incompatible pointer type [enabled by default] drivers/staging/rtl8821ae/base.c:1455:3: note: expected ‘struct rtl_tcb_desc *’ but argument is of type ‘struct sk_buff *’ drivers/staging/rtl8821ae/base.c:1455:3: error: too many arguments to function ‘rtlpriv->intf_ops->adapter_tx’ make[3]: *** [drivers/staging/rtl8821ae/base.o] Error 1 make[2]: *** [drivers/staging/rtl8821ae] Error 2 make[1]: *** [drivers/staging] Error 2 make: *** [drivers] Error 2 Regards Oliver -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
At Fri, 14 Nov 2014 17:37:26 +0100, Oliver Neukum wrote:
Hi,
I am seeing trouble with compilation:
CC [M] drivers/staging/rtl8821ae/base.o drivers/staging/rtl8821ae/base.c: In function ‘rtl_send_smps_action’: drivers/staging/rtl8821ae/base.c:1455:3: warning: passing argument 2 of ‘rtlpriv->intf_ops->adapter_tx’ from incompatible pointer type [enabled by default] rtlpriv->intf_ops->adapter_tx(hw, sta, skb, &tcb_desc); ^ drivers/staging/rtl8821ae/base.c:1455:3: note: expected ‘struct sk_buff *’ but argument is of type ‘struct ieee80211_sta *’ drivers/staging/rtl8821ae/base.c:1455:3: warning: passing argument 3 of ‘rtlpriv->intf_ops->adapter_tx’ from incompatible pointer type [enabled by default] drivers/staging/rtl8821ae/base.c:1455:3: note: expected ‘struct rtl_tcb_desc *’ but argument is of type ‘struct sk_buff *’ drivers/staging/rtl8821ae/base.c:1455:3: error: too many arguments to function ‘rtlpriv->intf_ops->adapter_tx’ make[3]: *** [drivers/staging/rtl8821ae/base.o] Error 1 make[2]: *** [drivers/staging/rtl8821ae] Error 2 make[1]: *** [drivers/staging] Error 2 make: *** [drivers] Error 2
Maybe you're building in a wrong way. It has a ifdef: struct rtl_intf_ops { .... /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) int (*adapter_tx)(struct ieee80211_hw *hw, struct sk_buff *skb, struct rtl_tcb_desc *ptcb_desc); #else /*<delete in kernel end>*/ int (*adapter_tx)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct sk_buff *skb, struct rtl_tcb_desc *ptcb_desc); /*<delete in kernel start>*/ #endif And your compilation go to the former one wrongly. Takashi -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On 11/14/2014 10:44 AM, Takashi Iwai wrote:
At Fri, 14 Nov 2014 17:37:26 +0100, Oliver Neukum wrote:
Hi,
I am seeing trouble with compilation:
CC [M] drivers/staging/rtl8821ae/base.o drivers/staging/rtl8821ae/base.c: In function ‘rtl_send_smps_action’: drivers/staging/rtl8821ae/base.c:1455:3: warning: passing argument 2 of ‘rtlpriv->intf_ops->adapter_tx’ from incompatible pointer type [enabled by default] rtlpriv->intf_ops->adapter_tx(hw, sta, skb, &tcb_desc); ^ drivers/staging/rtl8821ae/base.c:1455:3: note: expected ‘struct sk_buff *’ but argument is of type ‘struct ieee80211_sta *’ drivers/staging/rtl8821ae/base.c:1455:3: warning: passing argument 3 of ‘rtlpriv->intf_ops->adapter_tx’ from incompatible pointer type [enabled by default] drivers/staging/rtl8821ae/base.c:1455:3: note: expected ‘struct rtl_tcb_desc *’ but argument is of type ‘struct sk_buff *’ drivers/staging/rtl8821ae/base.c:1455:3: error: too many arguments to function ‘rtlpriv->intf_ops->adapter_tx’ make[3]: *** [drivers/staging/rtl8821ae/base.o] Error 1 make[2]: *** [drivers/staging/rtl8821ae] Error 2 make[1]: *** [drivers/staging] Error 2 make: *** [drivers] Error 2
Maybe you're building in a wrong way. It has a ifdef:
struct rtl_intf_ops { .... /*<delete in kernel start>*/ #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) int (*adapter_tx)(struct ieee80211_hw *hw, struct sk_buff *skb, struct rtl_tcb_desc *ptcb_desc); #else /*<delete in kernel end>*/ int (*adapter_tx)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct sk_buff *skb, struct rtl_tcb_desc *ptcb_desc); /*<delete in kernel start>*/ #endif
And your compilation go to the former one wrongly.
Check for a stale file include/linux/version.h. It should be deleted. Larry -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (3)
-
Larry Finger
-
Oliver Neukum
-
Takashi Iwai