On Tue, 3 Apr 2018, Christoph Hellwig wrote:

> 
> > +
> > +   if (zep->zorro3) {
> > +           /* Only Fastlane Z3 for now - add switch for correct struct
> > +            * dma_registers size if adding any more
> > +            */
> > +           esp->dma_regs = ioremap_nocache(dmaaddr,
> > +                           sizeof(struct fastlane_dma_registers));
> > +   } else
> > +           esp->dma_regs = (void __iomem *)ZTWO_VADDR(dmaaddr);
> 
> doesn't this need a __force (and a comment on why it is safe) to make
> sparse happy?
> 

Sparse is happy with that cast. These are the warnings I get:

  CHECK   /home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:976:33: warning: 
incorrect type in assignment (different address spaces)
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:976:33:    expected 
unsigned long *board_base
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:976:33:    got void 
[noderef] <asn:2>*
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:1068:28: warning: 
incorrect type in argument 1 (different address spaces)
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:1068:28:    expected 
void [noderef] <asn:2>*addr
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:1068:28:    got 
unsigned long *board_base
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:1096:28: warning: 
incorrect type in argument 1 (different address spaces)
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:1096:28:    expected 
void [noderef] <asn:2>*addr
/home/fthain/src/kernel.org/linux/drivers/scsi/zorro_esp.c:1096:28:    got 
unsigned long *board_base

which seems to indicate that board_base should have type void __iomem *.

-- 

Reply via email to