C 无效netif_napi_添加

C 无效netif_napi_添加,c,linux-kernel,linux-device-driver,C,Linux Kernel,Linux Device Driver,netif_napi_add的语法为 netif_napi_add(struct net_device *dev, struct napi_struct *napi,int (*poll)(struct napi_struct *, int), int weight) 它用于初始化napi结构。问题是当我将函数用作 netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16); 它给了我一个关于编译时间的警告 warning: passing argumen

netif_napi_add的语法为

netif_napi_add(struct net_device *dev, struct napi_struct *napi,int (*poll)(struct napi_struct *, int), int weight)
它用于初始化napi结构。问题是当我将函数用作

 netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
它给了我一个关于编译时间的警告

warning: passing argument 3 of ‘netif_napi_add’ makes pointer from integer without a cast
/usr/src/linux-2.6.34.10-0.6/include/linux/netdevice.h:1089:6: note: expected ‘int (*)(struct napi_struct *, int)’ but argument is of type ‘int’
如何正确书写

问候

karan在通话中

netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
您正在呼叫
rrpoll
。应将其作为指针传递:

netif_napi_add(wdev,rnapi,&rrpoll,16);
然后系统将为您调用
rrpoll

在调用中

netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
您正在呼叫
rrpoll
。应将其作为指针传递:

netif_napi_add(wdev,rnapi,&rrpoll,16);
然后系统将为您调用
rrpoll

在调用中

netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
您可以使用rrpoll而不是传递整个函数。 i、 e

在通话中

netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
netif_napi_add(wdev,rnapi,rrpoll(rnapi,20),16);
您可以使用rrpoll而不是传递整个函数。 i、 e