[parisc-linux-cvs] linux varenet

Thibaut VARENE varenet@esiee.fr
Sat, 2 Aug 2003 20:41:35 +0200


--=.Lr7e:t7'64Ak:(
Content-Type: multipart/mixed;
 boundary="Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8"


--Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Sat,  2 Aug 2003 12:36:34 -0600 (MDT)
varenet@parisc-linux.org (Thibaut Varene) wrote:

> CVSROOT:	/var/cvs
> Module name:	linux
> Changes by:	varenet	03/08/02 12:36:34
> 
> Modified files:
> 	arch/parisc/kernel: inventory.c ioctl32.c iosapic.c processor.c 
> 	                    signal32.c 
> 	drivers/char   : hp_psaux.c 
> 	drivers/net    : lasi_82596.c 
> 	include/asm-parisc: io.h 
> 
> Log message:
> Bunch of warning fixes
> some are left untouched atm, not too sure what has to be done (in
> particular with fb stuff, stifb.c, fbcon-sti.c; and with binfmt_elf32.c)
> Builds and links fine 32 and 64 bit kernels using defconfig.
> 

Here comes the corresponding patch.

I've sent a patch to Helge to fix the hil_kbd.c warnings as well.

HTH,


Thibaut VARENE
The PA/Linux ESIEE Team
http://pateam.esiee.fr/

--Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8
Content-Type: text/plain;
 name="linux-clean.diff"
Content-Disposition: attachment;
 filename="linux-clean.diff"
Content-Transfer-Encoding: 7bit

Index: arch/parisc/kernel/inventory.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/inventory.c,v
retrieving revision 1.46
diff -u -p -r1.46 inventory.c
--- arch/parisc/kernel/inventory.c	22 Feb 2002 22:43:29 -0000	1.46
+++ arch/parisc/kernel/inventory.c	2 Aug 2003 18:30:15 -0000
@@ -168,7 +168,6 @@ static int __init 
 pat_query_module(ulong pcell_loc, ulong mod_index)
 {
 	pdc_pat_cell_mod_maddr_block_t pa_pdc_cell;
-	pdc_pat_cell_mod_maddr_block_t io_pdc_cell;
 	unsigned long bytecnt;
 	unsigned long temp;	/* 64-bit scratch value */
 	long status;		/* PDC return value status */
@@ -207,6 +206,7 @@ pat_query_module(ulong pcell_loc, ulong 
 	register_parisc_device(dev);	/* advertise device */
 
 #ifdef DEBUG_PAT
+	pdc_pat_cell_mod_maddr_block_t io_pdc_cell;
 	/* dump what we see so far... */
 	switch (PAT_GET_ENTITY(dev->mod_info)) {
 		unsigned long i;
Index: arch/parisc/kernel/ioctl32.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/ioctl32.c,v
retrieving revision 1.14
diff -u -p -r1.14 ioctl32.c
--- arch/parisc/kernel/ioctl32.c	9 Dec 2002 06:45:35 -0000	1.14
+++ arch/parisc/kernel/ioctl32.c	2 Aug 2003 18:30:17 -0000
@@ -1645,7 +1645,7 @@ static int do_atm_iobuf(unsigned int fd,
 			goto out;
 		}
 
-		err = copy_from_user(iobuf.buffer, A(iobuf32.buffer), iobuf.length);
+		err = copy_from_user(iobuf.buffer, (void *)A(iobuf32.buffer), iobuf.length);
 		if (err) {
 			err = -EFAULT;
 			goto out;
@@ -1659,7 +1659,7 @@ static int do_atm_iobuf(unsigned int fd,
 		goto out;
 
         if(iobuf.buffer && iobuf.length > 0) {
-		err = copy_to_user(A(iobuf32.buffer), iobuf.buffer, iobuf.length);
+		err = copy_to_user((void *)A(iobuf32.buffer), iobuf.buffer, iobuf.length);
 		if (err) {
 			err = -EFAULT;
 			goto out;
@@ -1691,7 +1691,7 @@ static int do_atmif_sioc(unsigned int fd
         sioc.length = sioc32.length;
         
 	if (sioc32.arg == (__kernel_caddr_t32) NULL || sioc32.length == 0) {
-		sioc.arg = (void*)(unsigned long)sioc32.arg;
+		sioc.arg = (void*)A(sioc32.arg);
         } else {
                 sioc.arg = kmalloc(sioc.length, GFP_KERNEL);
                 if (sioc.arg == NULL) {
@@ -1699,7 +1699,7 @@ static int do_atmif_sioc(unsigned int fd
 			goto out;
 		}
                 
-                err = copy_from_user(sioc.arg, A(sioc32.arg), sioc32.length);
+                err = copy_from_user(sioc.arg, (void *)A(sioc32.arg), sioc32.length);
                 if (err) {
                         err = -EFAULT;
                         goto out;
@@ -1714,7 +1714,7 @@ static int do_atmif_sioc(unsigned int fd
 	}
         
         if(sioc.arg && sioc.length > 0) {
-                err = copy_to_user(A(sioc32.arg), sioc.arg, sioc.length);
+                err = copy_to_user((void *)A(sioc32.arg), sioc.arg, sioc.length);
                 if (err) {
                         err = -EFAULT;
                         goto out;
Index: arch/parisc/kernel/iosapic.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/iosapic.c,v
retrieving revision 1.35
diff -u -p -r1.35 iosapic.c
--- arch/parisc/kernel/iosapic.c	5 Nov 2001 07:42:15 -0000	1.35
+++ arch/parisc/kernel/iosapic.c	2 Aug 2003 18:30:18 -0000
@@ -195,7 +195,7 @@ static int
 assert_failed (char *a, char *f, int l)
 {
         sprintf(assert_buf,
-			"ASSERT(%s) failed!\nline %d in %s\n",
+			"IOSAPIC_ASSERT(%s) failed!\nline %d in %s\n",
 			a,      /* assertion text */
 			l,      /* line number */
 			f);     /* file name */
@@ -203,15 +203,14 @@ assert_failed (char *a, char *f, int l)
 	return 0;
 }
 
-#undef ASSERT
-#define ASSERT(EX) { if (!(EX)) assert_failed(# EX, __FILE__, __LINE__); }
+#define IOSAPIC_ASSERT(EX) { if (!(EX)) assert_failed(# EX, __FILE__, __LINE__); }
 
 #define DBG(x...) printk(x)
 
 #else /* DEBUG_IOSAPIC */
 
 #define DBG(x...)
-#define ASSERT(EX)
+#define IOSAPIC_ASSERT(EX)
 
 #endif /* DEBUG_IOSAPIC */
 
@@ -333,7 +332,7 @@ iosapic_load_irt(unsigned long cell_num,
 	struct irt_entry *table;  /* start of interrupt routing tbl */
 	unsigned long num_entries = 0UL;
 
-	ASSERT(NULL != irt);
+	IOSAPIC_ASSERT(NULL != irt);
 
 	if (is_pdc_pat()) {
 
@@ -342,10 +341,10 @@ iosapic_load_irt(unsigned long cell_num,
 		status = pdc_pat_get_irt_size(&num_entries, cell_num);
 		DBG("get_irt_size: %ld\n", status);
 
-		ASSERT(status == PDC_OK);
+		IOSAPIC_ASSERT(status == PDC_OK);
 
 		/* save the number of entries in the table */
-		ASSERT(0UL != num_entries);
+		IOSAPIC_ASSERT(0UL != num_entries);
 
 		/*
 		** allocate memory for interrupt routing table
@@ -362,7 +361,7 @@ iosapic_load_irt(unsigned long cell_num,
 		/* get PCI INT routing table */
 		status = pdc_pat_get_irt(table, cell_num);
 		DBG("pdc_pat_get_irt: %ld\n", status);
-		ASSERT(status == PDC_OK);
+		IOSAPIC_ASSERT(status == PDC_OK);
 	} else {
 		/*
 		** C3000/J5000 (and similar) platforms with Sprockets PDC
@@ -381,7 +380,7 @@ iosapic_load_irt(unsigned long cell_num,
 			return 0;
 		}
 
-		ASSERT(0UL != num_entries);
+		IOSAPIC_ASSERT(0UL != num_entries);
 
 		table = IOSAPIC_KALLOC(struct irt_entry, num_entries);
 		if (table == NULL) {
@@ -391,7 +390,7 @@ iosapic_load_irt(unsigned long cell_num,
 
 		/* HPA ignored by this call too. */
 		status = pdc_pci_irt(num_entries, 0, table);
-		ASSERT(PDC_OK == status);
+		IOSAPIC_ASSERT(PDC_OK == status);
 	}
 
 	/* return interrupt table address */
@@ -684,7 +683,7 @@ iosapic_fixup_irq(void *isi_obj, struct 
 	isi_line = irte->dest_iosapic_intin;
 
 	/* get vector info for this input line */
-	ASSERT(NULL != isi->isi_vector);
+	IOSAPIC_ASSERT(NULL != isi->isi_vector);
 	vi = &(isi->isi_vector[isi_line]);
 	DBG_IRT("iosapic_fixup_irq:  line %d vi 0x%p\n", isi_line, vi);
 	vi->vi_irte = irte;
@@ -704,16 +703,16 @@ iosapic_fixup_irq(void *isi_obj, struct 
 	/* enable_irq() will use txn_* to program IRdT */
 	vi->vi_txn_addr = txn_alloc_addr(vi->vi_txn_irq);
 	vi->vi_txn_data = txn_alloc_data(vi->vi_txn_irq, 8);
-        ASSERT(vi->vi_txn_data < 256);  /* matches 8 above */
+        IOSAPIC_ASSERT(vi->vi_txn_data < 256);  /* matches 8 above */
 
 	tmp = request_irq(vi->vi_txn_irq, iosapic_interrupt, 0,
 						vi->vi_name, vi);
-	ASSERT(tmp == 0);
+	IOSAPIC_ASSERT(tmp == 0);
 
 	vi->vi_eoi_addr = (u32 *) (isi->isi_hpa + IOSAPIC_REG_EOI);
 	vi->vi_eoi_data = cpu_to_le32(vi->vi_irqline);
 
-	ASSERT(NULL != isi->isi_region);
+	IOSAPIC_ASSERT(NULL != isi->isi_region);
 	/* pcidev->irq still needs to be virtualized.  */
 
 	return_irq = isi->isi_region->data.irqbase + isi_line;
@@ -755,8 +754,8 @@ iosapic_wr_irt_entry(struct vector_info 
 {
 	struct iosapic_info *isp = vi->vi_ios;
 
-	ASSERT(NULL != isp);
-	ASSERT(0 != isp->isi_hpa);
+	IOSAPIC_ASSERT(NULL != isp);
+	IOSAPIC_ASSERT(0 != isp->isi_hpa);
 	DBG_IRT("iosapic_wr_irt_entry(): irq %d hpa %p WINDOW %p  0x%x 0x%x\n",
 		vi->vi_irqline,
 		isp->isi_hpa, isp->isi_hpa+IOSAPIC_REG_WINDOW,
@@ -788,7 +787,7 @@ iosapic_set_irt_data( struct vector_info
 {
 	u32 mode = 0;
 	struct irt_entry *p = vi->vi_irte;
-	ASSERT(NULL != vi->vi_irte);
+	IOSAPIC_ASSERT(NULL != vi->vi_irte);
 
 	if ((p->polarity_trigger & IRT_PO_MASK) == IRT_ACTIVE_LO)
 		mode |= IOSAPIC_IRDT_PO_LOW;
@@ -801,7 +800,7 @@ iosapic_set_irt_data( struct vector_info
 	** PA doesn't support EXTINT or LPRIO bits.
 	*/
 
-	ASSERT(vi->vi_txn_data);
+	IOSAPIC_ASSERT(vi->vi_txn_data);
 	*dp0 = mode | (u32) vi->vi_txn_data;
 
 	/*
@@ -836,7 +835,7 @@ iosapic_disable_irq(void *irq_dev, int i
 	struct vector_info *vi = &(((struct vector_info *) irq_dev)[irq]);
 	u32 d0, d1;
 
-	ASSERT(NULL != vi);
+	IOSAPIC_ASSERT(NULL != vi);
 
 	IOSAPIC_LOCK(&iosapic_lock);
 
@@ -879,12 +878,12 @@ iosapic_enable_irq(void *dev, int irq)
 	struct vector_info *vi = &(((struct vector_info *) dev)[irq]);
 	u32 d0, d1;
 
-	ASSERT(NULL != vi);
-	ASSERT(NULL != vi->vi_irte);
+	IOSAPIC_ASSERT(NULL != vi);
+	IOSAPIC_ASSERT(NULL != vi->vi_irte);
 
 	/* data is initialized by fixup_irq */
-	ASSERT(0 < vi->vi_txn_irq);
-	ASSERT(0UL != vi->vi_txn_data);
+	IOSAPIC_ASSERT(0 < vi->vi_txn_irq);
+	IOSAPIC_ASSERT(0UL != vi->vi_txn_data);
 
 	iosapic_set_irt_data(vi, &d0, &d1);
 	iosapic_wr_irt_entry(vi, d0, d1);
@@ -953,8 +952,8 @@ static struct irq_region_ops iosapic_irq
 static unsigned int
 iosapic_rd_version(struct iosapic_info *isi)
 {
-	ASSERT(isi);
-	ASSERT(isi->isi_hpa);
+	IOSAPIC_ASSERT(isi);
+	IOSAPIC_ASSERT(isi->isi_hpa);
 
 	/* point window to the version register */
 	WRITE_U32(IOSAPIC_REG_VERSION, isi->isi_hpa+IOSAPIC_REG_SELECT);
@@ -990,9 +989,9 @@ iosapic_register(unsigned long hpa)
 	** Search the IRT and ignore iosapic's which aren't
 	** in the IRT.
 	*/
-	ASSERT(NULL != irte);	/* always have built-in devices */
+	IOSAPIC_ASSERT(NULL != irte);	/* always have built-in devices */
 	for (cnt=0; cnt < irt_num_entry; cnt++, irte++) {
-		ASSERT(IRT_IOSAPIC_TYPE == irte->entry_type);
+		IOSAPIC_ASSERT(IRT_IOSAPIC_TYPE == irte->entry_type);
 		/*
 		** We need sign extension of the hpa on 32-bit kernels.
 		** The address in the IRT is *always* 64 bit and really
@@ -1040,7 +1039,7 @@ iosapic_register(unsigned long hpa)
 				&iosapic_irq_ops, isi->isi_name,
 				(void *) isi->isi_vector);
 
-	ASSERT(NULL != isi->isi_region);
+	IOSAPIC_ASSERT(NULL != isi->isi_region);
 	return ((void *) isi);
 }
 
@@ -1052,7 +1051,7 @@ iosapic_prt_irt(void *irt, long num_entr
 {
 	unsigned int i, *irp = (unsigned int *) irt;
 
-	ASSERT(NULL != irt);
+	IOSAPIC_ASSERT(NULL != irt);
 
 	printk(KERN_DEBUG MODULE_NAME ": Interrupt Routing Table (%lx entries)\n", num_entry);
 
@@ -1066,7 +1065,7 @@ iosapic_prt_irt(void *irt, long num_entr
 static void
 iosapic_prt_vi(struct vector_info *vi)
 {
-	ASSERT(NULL != vi);
+	IOSAPIC_ASSERT(NULL != vi);
 
 	printk(KERN_DEBUG MODULE_NAME ": vector_info[%d] is at %p\n", vi->vi_irqline, vi);
 	printk(KERN_DEBUG "\t\tvi_status:	 %.4x\n", vi->vi_status);
@@ -1081,7 +1080,7 @@ iosapic_prt_vi(struct vector_info *vi)
 static void
 iosapic_prt_isi(struct iosapic_info *isi)
 {
-	ASSERT(NULL != isi);
+	IOSAPIC_ASSERT(NULL != isi);
 	printk(KERN_DEBUG MODULE_NAME ": io_sapic_info at %p\n", isi);
 	printk(KERN_DEBUG "\t\tisi_hpa:       %lx\n", isi->isi_hpa);
 	printk(KERN_DEBUG "\t\tisi_status:     %x\n", isi->isi_status);
Index: arch/parisc/kernel/processor.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/processor.c,v
retrieving revision 1.18
diff -u -p -r1.18 processor.c
--- arch/parisc/kernel/processor.c	26 Jun 2003 15:06:55 -0000	1.18
+++ arch/parisc/kernel/processor.c	2 Aug 2003 18:30:19 -0000
@@ -77,8 +77,6 @@ static int __init processor_probe(struct
 	unsigned long txn_addr;
 	unsigned long cpuid;
 	struct cpuinfo_parisc *p;
-	extern struct irq_region_ops cpu_irq_ops; /* arch/parisc...irq.c */
-	extern struct irqaction cpu_irq_actions[]; /* arch/parisc...irq.c */
 
 #ifndef CONFIG_SMP
 	if (boot_cpu_data.cpu_count > 0) {
Index: arch/parisc/kernel/signal32.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/signal32.c,v
retrieving revision 1.1
diff -u -p -r1.1 signal32.c
--- arch/parisc/kernel/signal32.c	2 Mar 2001 00:48:47 -0000	1.1
+++ arch/parisc/kernel/signal32.c	2 Aug 2003 18:30:19 -0000
@@ -189,7 +189,7 @@ do_sigaltstack32 (const stack_t32 *uss32
 		if (copy_from_user(&ss32, uss32, sizeof ss32))
 			return -EFAULT;
 
-		ss.ss_sp = (void *)ss32.ss_sp;
+		ss.ss_sp = (void *)(unsigned long)ss32.ss_sp;
 		ss.ss_flags = ss32.ss_flags;
 		ss.ss_size = ss32.ss_size;
 
Index: drivers/char/hp_psaux.c
===================================================================
RCS file: /var/cvs/linux/drivers/char/hp_psaux.c,v
retrieving revision 1.21
diff -u -p -r1.21 hp_psaux.c
--- drivers/char/hp_psaux.c	13 Nov 2002 15:14:41 -0000	1.21
+++ drivers/char/hp_psaux.c	2 Aug 2003 18:30:21 -0000
@@ -514,7 +514,7 @@ static struct kbd_ops gsc_ps2_kbd_ops = 
 /* XXX: HACK !!!
  * remove this function and the call in hil_kbd.c 
  * if hp_psaux.c/hp_keyb.c is converted to the input layer... */
-int register_ps2_keybfuncs(void)
+void register_ps2_keybfuncs(void)
 {
 	gsc_ps2_kbd_ops.leds = NULL;
 	register_kbd_ops(&gsc_ps2_kbd_ops);
Index: drivers/net/lasi_82596.c
===================================================================
RCS file: /var/cvs/linux/drivers/net/lasi_82596.c,v
retrieving revision 1.31
diff -u -p -r1.31 lasi_82596.c
--- drivers/net/lasi_82596.c	26 Jun 2003 15:07:29 -0000	1.31
+++ drivers/net/lasi_82596.c	2 Aug 2003 18:30:23 -0000
@@ -1166,29 +1166,29 @@ static int __devinit i82596_probe(struct
 
 	/* This lot is ensure things have been cache line aligned. */
 	if (sizeof(struct i596_rfd) != 32) {
-	    printk("82596: sizeof(struct i596_rfd) = %d\n",
-			    sizeof(struct i596_rfd));
+	    printk("82596: sizeof(struct i596_rfd) = %lu\n",
+			    (unsigned long)sizeof(struct i596_rfd));
 	    return -ENODEV;
 	}
 	if ((sizeof(struct i596_rbd) % 32) != 0) {
-	    printk("82596: sizeof(struct i596_rbd) = %d\n",
-			    sizeof(struct i596_rbd));
+	    printk("82596: sizeof(struct i596_rbd) = %lu\n",
+			    (unsigned long)sizeof(struct i596_rbd));
 	    return -ENODEV;
 	}
 	if ((sizeof(struct tx_cmd) % 32) != 0) {
-	    printk("82596: sizeof(struct tx_cmd) = %d\n",
-			    sizeof(struct tx_cmd));
+	    printk("82596: sizeof(struct tx_cmd) = %lu\n",
+			    (unsigned long)sizeof(struct tx_cmd));
 	    return -ENODEV;
 	}
 	if (sizeof(struct i596_tbd) != 32) {
-	    printk("82596: sizeof(struct i596_tbd) = %d\n",
-			    sizeof(struct i596_tbd));
+	    printk("82596: sizeof(struct i596_tbd) = %lu\n",
+			    (unsigned long)sizeof(struct i596_tbd));
 	    return -ENODEV;
 	}
 #ifndef __LP64__
 	if (sizeof(struct i596_private) > 4096) {
-	    printk("82596: sizeof(struct i596_private) = %d\n",
-			    sizeof(struct i596_private));
+	    printk("82596: sizeof(struct i596_private) = %lu\n",
+			    (unsigned long)sizeof(struct i596_private));
 	    return -ENODEV;
 	}
 #endif
@@ -1238,9 +1238,9 @@ static int __devinit i82596_probe(struct
 	dev->priv = (void *)(dev->mem_start);
 
 	lp = (struct i596_private *) dev->priv;
-	DEB(DEB_INIT,printk ("%s: lp at 0x%08lx (%d bytes), lp->scb at 0x%08lx\n",
+	DEB(DEB_INIT,printk ("%s: lp at 0x%08lx (%lu bytes), lp->scb at 0x%08lx\n",
 		dev->name, (unsigned long)lp,
-		sizeof(struct i596_private), (unsigned long)&lp->scb));
+		(unsigned long)sizeof(struct i596_private), (unsigned long)&lp->scb));
 	memset(lp, 0, sizeof(struct i596_private));
 
 	lp->scb.command = 0;
Index: include/asm-parisc/io.h
===================================================================
RCS file: /var/cvs/linux/include/asm-parisc/io.h,v
retrieving revision 1.30
diff -u -p -r1.30 io.h
--- include/asm-parisc/io.h	10 Feb 2003 06:51:56 -0000	1.30
+++ include/asm-parisc/io.h	2 Aug 2003 18:30:35 -0000
@@ -44,7 +44,8 @@ extern void iounmap(void *addr);
  * too lazy to ioremap first'.  kind of like isa_, except that there's
  * no additional base address to add on.
  */
-extern __inline__ unsigned char __raw_readb(unsigned long addr)
+#define __raw_readb(a) ___raw_readb((unsigned long)(a))
+extern __inline__ unsigned char ___raw_readb(unsigned long addr)
 {
 	long flags;
 	unsigned char ret;
@@ -58,7 +59,8 @@ extern __inline__ unsigned char __raw_re
 	return ret;
 }
 
-extern __inline__ unsigned short __raw_readw(unsigned long addr)
+#define __raw_readw(a) ___raw_readw((unsigned long)(a))
+extern __inline__ unsigned short ___raw_readw(unsigned long addr)
 {
 	long flags;
 	unsigned short ret;
@@ -72,7 +74,8 @@ extern __inline__ unsigned short __raw_r
 	return ret;
 }
 
-extern __inline__ unsigned int __raw_readl(unsigned long addr)
+#define __raw_readl(a) ___raw_readl((unsigned long)(a))
+extern __inline__ unsigned int ___raw_readl(unsigned long addr)
 {
 	u32 ret;
 
@@ -83,7 +86,8 @@ extern __inline__ unsigned int __raw_rea
 	return ret;
 }
 
-extern __inline__ unsigned long long __raw_readq(unsigned long addr)
+#define __raw_readq(a) ___raw_readq((unsigned long)(a))
+extern __inline__ unsigned long long ___raw_readq(unsigned long addr)
 {
 	unsigned long long ret;
 #ifdef __LP64__
@@ -98,7 +102,8 @@ extern __inline__ unsigned long long __r
 	return ret;
 }
 
-extern __inline__ void __raw_writeb(unsigned char val, unsigned long addr)
+#define __raw_writeb(a,b) ___raw_writeb(a, (unsigned long)(b))
+extern __inline__ void ___raw_writeb(unsigned char val, unsigned long addr)
 {
 	long flags;
 	__asm__ __volatile__(
@@ -108,7 +113,8 @@ extern __inline__ void __raw_writeb(unsi
 	: "=&r" (flags) :  "r" (val), "r" (addr) );
 }
 
-extern __inline__ void __raw_writew(unsigned short val, unsigned long addr)
+#define __raw_writew(a,b) ___raw_writew(a, (unsigned long)(b))
+extern __inline__ void ___raw_writew(unsigned short val, unsigned long addr)
 {
 	long flags;
 	__asm__ __volatile__(
@@ -118,14 +124,16 @@ extern __inline__ void __raw_writew(unsi
 	: "=&r" (flags) :  "r" (val), "r" (addr) );
 }
 
-extern __inline__ void __raw_writel(unsigned int val, unsigned long addr)
+#define __raw_writel(a,b) ___raw_writel(a, (unsigned long)(b))
+extern __inline__ void ___raw_writel(unsigned int val, unsigned long addr)
 {
 	__asm__ __volatile__(
 	"	stwa,ma	%0,0(%1)\n"
 	: :  "r" (val), "r" (addr) );
 }
 
-extern __inline__ void __raw_writeq(unsigned long long val, unsigned long addr)
+#define __raw_writeq(a,b) ___raw_writeq(a, (unsigned long)(b))
+extern __inline__ void ___raw_writeq(unsigned long long val, unsigned long addr)
 {
 #ifdef __LP64__
 	__asm__ __volatile__(

--Multipart_Sat__2_Aug_2003_20:41:35_+0200_10324ff8--

--=.Lr7e:t7'64Ak:(
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE/LAXoHjLD2rfS8GMRAvBvAJ4uN7csgEf8Ye0IQdfbXHy6bgRdGgCfZsEP
vW87nLvEqgRanV0GZZ1LFZU=
=GaXt
-----END PGP SIGNATURE-----

--=.Lr7e:t7'64Ak:(--