Messages in this thread | | | From | Roland Dreier <> | Subject | Re: linux-next: [PATCH] infiniband/hw/ipath/ipath_sdma.c , fix compiler warnings | Date | Fri, 23 May 2008 10:42:24 -0700 |
| |
> drivers/infiniband/hw/ipath/ipath_sdma.c: In function 'sdma_abort_task': > drivers/infiniband/hw/ipath/ipath_sdma.c:267: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type
Perhaps the best way to fix these is to change code like
if (/* ScoreBoardDrainInProg */ test_bit(63, &hwstatus) || /* AbortInProg */ test_bit(62, &hwstatus) || /* InternalSDmaEnable */ test_bit(61, &hwstatus) || /* ScbEmpty */ !test_bit(30, &hwstatus)) {
to something like
if ((hwstatus & (IPATH_SDMA_STATUS_SCORE_BOARD_DRAIN_IN_PROG | IPATH_SDMA_STATUS_ABORT_IN_PROG | IPATH_SDMA_STATUS_INTERNAL_SDMA_ENABLE)) || !(hwstatus & IPATH_SDMA_STATUS_SCB_EMPTY)) {
with appropriate defines for the constants 1ull << 63 etc.
(I think I got the logic correct but someone should check)
> drivers/infiniband/hw/ipath/ipath_sdma.c:348: warning: format '%016llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int' > drivers/infiniband/hw/ipath/ipath_sdma.c: In function 'ipath_restart_sdma': > drivers/infiniband/hw/ipath/ipath_sdma.c:618: warning: format '%016llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int'
I have a fix for this pending; will ask Linus to pull today.
| |