[SCSI] megaraid: fix MMIO casts
authorJeff Garzik <jeff@garzik.org>
Mon, 4 Dec 2006 01:49:23 +0000 (20:49 -0500)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Tue, 5 Dec 2006 16:25:35 +0000 (10:25 -0600)
commit00769ec40074b753c9b218c2ccaba2bfbfffe056
treeb8a05cbdb85f7c4ca8e4368b74a66dfccc3a7b8d
parente42ebefee15894522f3a84045887573ebc9b764e
[SCSI] megaraid: fix MMIO casts

megaraid's MMIO RD*/WR* macros directly call readl() and writel() with
an 'unsigned long' argument.  This throws a warning, but is otherwise OK
because the 'unsigned long' is really the result of ioremap().  This
setup is also OK because the variable can hold an ioremap cookie /or/ a
PCI I/O port (PIO).

However, to fix the warning thrown when readl() and writel() are passed
an unsigned long cookie, I introduce 'void __iomem *mmio_base', holding
the same value as 'base'.  This will silence the warnings, and also
cause an oops whenever these MMIO-only functions are ever accidentally
passed an I/O address.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/megaraid.c
drivers/scsi/megaraid.h