Skip to content

Commit

Permalink
qlogicpti: Fix compiler warnings
Browse files Browse the repository at this point in the history
qlogicpti uses '__u32' for dma handle while invoking kernel DMA APIs,
instead of using dma_addr_t. This hasn't caused any 'incompatible
pointer type' warning on SPARC because until now dma_addr_t is of
type u32. However, recent changes in SPARC ATU (iommu) enabled 64bit
DMA and therefore dma_addr_t became of type u64. This makes
'incompatible pointer type' warnings inevitable.

e.g.
drivers/scsi/qlogicpti.c: In function ‘qpti_map_queues’:
drivers/scsi/qlogicpti.c:813: warning: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type
./include/linux/dma-mapping.h:445: note: expected ‘dma_addr_t *’ but argument is of type ‘__u32 *’
drivers/scsi/qlogicpti.c:822: warning: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type
./include/linux/dma-mapping.h:445: note: expected ‘dma_addr_t *’ but argument is of type ‘__u32 *’

For the record, qlogicpti never executes on sun4v. Therefore even
though 64bit DMA is enabled on SPARC, qlogicpti continues to use
legacy iommu that guarantees DMA address is always in 32bit range.

This patch resolves aforementioned compiler warnings.

Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com>
Reviewed-by: thomas tai <thomas.tai@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Tushar Dave authored and David S. Miller committed Nov 28, 2016
1 parent 9dd35d6 commit e58566b
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/scsi/qlogicpti.h
Original file line number Diff line number Diff line change
Expand Up @@ -356,8 +356,8 @@ struct qlogicpti {

/* The rest of the elements are unimportant for performance. */
struct qlogicpti *next;
__u32 res_dvma; /* Ptr to RESPONSE bufs (DVMA)*/
__u32 req_dvma; /* Ptr to REQUEST bufs (DVMA) */
dma_addr_t res_dvma; /* Ptr to RESPONSE bufs (DVMA)*/
dma_addr_t req_dvma; /* Ptr to REQUEST bufs (DVMA) */
u_char fware_majrev, fware_minrev, fware_micrev;
struct Scsi_Host *qhost;
int qpti_id;
Expand Down

0 comments on commit e58566b

Please sign in to comment.