• Tushar Dave's avatar
    qlogicpti: Fix compiler warnings · e58566b1
    Tushar Dave authored
    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: default avatarTushar Dave <tushar.n.dave@oracle.com>
    Reviewed-by: default avatarthomas tai <thomas.tai@oracle.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e58566b1
qlogicpti.h 18.8 KB