[PATCH] Fix up compiler warnings in megaraid driver

From: Martin Bligh
Date: Mon Dec 04 2006 - 21:28:50 EST


Fix up compiler warnings in megaraid driver

Signed-off-by: Martin J. Bligh <mbligh@xxxxxxxxxx>

diff -aurpN -X /home/mbligh/.diff.exclude linux-2.6.19/drivers/scsi/megaraid.c 2.6.19-megaraid/drivers/scsi/megaraid.c
--- linux-2.6.19/drivers/scsi/megaraid.c 2006-12-04 17:52:00.000000000 -0800
+++ 2.6.19-megaraid/drivers/scsi/megaraid.c 2006-12-04 18:24:03.000000000 -0800
@@ -73,10 +73,14 @@ static unsigned short int max_mbox_busy_
module_param(max_mbox_busy_wait, ushort, 0);
MODULE_PARM_DESC(max_mbox_busy_wait, "Maximum wait for mailbox in microseconds if busy (default=MBOX_BUSY_WAIT=10)");

-#define RDINDOOR(adapter) readl((adapter)->base + 0x20)
-#define RDOUTDOOR(adapter) readl((adapter)->base + 0x2C)
-#define WRINDOOR(adapter,value) writel(value, (adapter)->base + 0x20)
-#define WROUTDOOR(adapter,value) writel(value, (adapter)->base + 0x2C)
+#define RDINDOOR(adapter) readl((volatile void __iomem *) \
+ (adapter)->base + 0x20)
+#define RDOUTDOOR(adapter) readl((volatile void __iomem *) \
+ (adapter)->base + 0x2C)
+#define WRINDOOR(adapter,value) writel(value, (volatile void __iomem *)\
+ (adapter)->base + 0x20)
+#define WROUTDOOR(adapter,value) writel(value, (volatile void __iomem *)\
+ (adapter)->base + 0x2C)

/*
* Global variables
@@ -3566,7 +3570,7 @@ megadev_ioctl(struct inode *inode, struc
/*
* The user passthru structure
*/
- upthru = (mega_passthru __user *)MBOX(uioc)->xferaddr;
+ upthru = (mega_passthru __user *)(unsigned long)MBOX(uioc)->xferaddr;

/*
* Copy in the user passthru here.
@@ -3618,7 +3622,7 @@ megadev_ioctl(struct inode *inode, struc
/*
* Get the user data
*/
- if( copy_from_user(data, (char __user *)uxferaddr,
+ if( copy_from_user(data, (char __user *)(unsigned long) uxferaddr,
pthru->dataxferlen) ) {
rval = (-EFAULT);
goto freemem_and_return;
@@ -3644,7 +3648,7 @@ megadev_ioctl(struct inode *inode, struc
* Is data going up-stream
*/
if( pthru->dataxferlen && (uioc.flags & UIOC_RD) ) {
- if( copy_to_user((char __user *)uxferaddr, data,
+ if( copy_to_user((char __user *)(unsigned long) uxferaddr, data,
pthru->dataxferlen) ) {
rval = (-EFAULT);
}
@@ -3697,7 +3701,7 @@ freemem_and_return:
/*
* Get the user data
*/
- if( copy_from_user(data, (char __user *)uxferaddr,
+ if( copy_from_user(data, (char __user *)(unsigned long) uxferaddr,
uioc.xferlen) ) {

pci_free_consistent(pdev,
@@ -3737,7 +3741,7 @@ freemem_and_return:
* Is data going up-stream
*/
if( uioc.xferlen && (uioc.flags & UIOC_RD) ) {
- if( copy_to_user((char __user *)uxferaddr, data,
+ if( copy_to_user((char __user *)(unsigned long) uxferaddr, data,
uioc.xferlen) ) {

rval = (-EFAULT);