struct wait_queue_Head_t to struct swait_head warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I'm using the RT patch on an IMX6 using the Freescale kernel
(3.14.52). I'm using a Broadcom wireless chip using the BCMDHD driver.
I get the following warning when compiling:

drivers/net/wireless/bcmdhd/dhd_pno.c: In function '_dhd_pno_get_for_batch':
drivers/net/wireless/bcmdhd/dhd_pno.c:1377:23: warning: passing
argument 1 of 'waitqueue_active' from incompatible pointer type
  if (waitqueue_active(&_pno_state->get_batch_done.wait))
                       ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from drivers/net/wireless/bcmdhd/include/linuxver.h:42,
                 from drivers/net/wireless/bcmdhd/include/linux_osl.h:212,
                 from drivers/net/wireless/bcmdhd/include/osl.h:44,
                 from drivers/net/wireless/bcmdhd/dhd_pno.c:29:
include/linux/wait.h:102:19: note: expected 'struct wait_queue_head_t
*' but argument is of type 'struct swait_head *'
 static inline int waitqueue_active(wait_queue_head_t *q)
                   ^
drivers/net/wireless/bcmdhd/dhd_pno.c: In function 'dhd_pno_event_handler':
drivers/net/wireless/bcmdhd/dhd_pno.c:1827:25: warning: passing
argument 1 of 'waitqueue_active' from incompatible pointer type
   if (!waitqueue_active(&_pno_state->get_batch_done.wait)) {
                         ^
In file included from include/linux/mmzone.h:9:0,
                 from include/linux/gfp.h:5,
                 from include/linux/kmod.h:22,
                 from include/linux/module.h:13,
                 from drivers/net/wireless/bcmdhd/include/linuxver.h:42,
                 from drivers/net/wireless/bcmdhd/include/linux_osl.h:212,
                 from drivers/net/wireless/bcmdhd/include/osl.h:44,
                 from drivers/net/wireless/bcmdhd/dhd_pno.c:29:
include/linux/wait.h:102:19: note: expected 'struct wait_queue_head_t
*' but argument is of type 'struct swait_head *'
 static inline int waitqueue_active(wait_queue_head_t *q)
                   ^

It looks like this is due 'struct completion' changing to using the
simple waitqueue in the RT patch. When looking at the rest of the RT
patch it looks like cases like this are handled by changing the API to
use the simple wait calls for these (for example usb/gadget/f_fs.c). I
was able to get rid of the warning by switching from
'waitqueue_active' to 'swaitqueue_active'. I'm not fully knowledge
about the possible effects, so I was hoping someone could let me know
if this is or isn't a good solution. I know this isn't mainline, but I
would appreciate any help to point me in the right direction.

Thanks,
~Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux