On Tue, 2008-03-04 at 17:49 +0800, nickcheng wrote: > Subject: [PATCH] scsi: modify the element type of MessageUnit_B in > arcmsr-1.20.00.15-80227 > From: Nick Cheng <nick.cheng@xxxxxxxxxxxx> > Description: > *** modify the element type of MessageUnit_B in arcmsr-1.20.00.15-80227 to > keep off the error while doing iounmap in arcmsr_free_ccb_pool() What's the actual error this causes? Looking at the code, all of these registers are genuinely 32 bits long, so having them defined as uint32_t __iomem * is fine; so is having them defined as void __iomem *, because void * can be transparently cast to any pointer. Because the readX/writeX routines are prototyped in terms of void __iomem *, they do the casting transparently (and without warning), so there's no useful typechecking with the uint32_t __iomem * definition, thus I only have a tiny marginal preference for labelling the registers with their correct width. But I would like to understand what the error is you're seeing. Thanks, James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html