diff options
| author | Richard Henderson <rth@kanga.twiddle.home> | 2004-03-07 22:58:28 -0800 |
|---|---|---|
| committer | Richard Henderson <rth@kanga.twiddle.home> | 2004-03-07 22:58:28 -0800 |
| commit | 370d7089b57d855e8a7a2a2eb902bcb5aef683b4 (patch) | |
| tree | 579c99b522ba56e5e8361702e034bd7f9e447f84 | |
| parent | 47f766a2c0228a4d98b11b515ba58f417de2de54 (diff) | |
[ALPHA] Fix gcc 3.4 build problems.
| -rw-r--r-- | arch/alpha/kernel/osf_sys.c | 2 | ||||
| -rw-r--r-- | arch/alpha/kernel/pci_iommu.c | 2 | ||||
| -rw-r--r-- | arch/alpha/kernel/proto.h | 6 | ||||
| -rw-r--r-- | arch/alpha/lib/io.c | 94 | ||||
| -rw-r--r-- | include/asm-alpha/unistd.h | 4 | ||||
| -rw-r--r-- | init/initramfs.c | 2 |
6 files changed, 56 insertions, 54 deletions
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 1f87b0cc8ca5..34adfc76dd92 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -131,7 +131,7 @@ osf_filldir(void *__buf, const char *name, int namlen, loff_t offset, if (copy_to_user(dirent->d_name, name, namlen) || put_user(0, dirent->d_name + namlen)) return -EFAULT; - ((char *) dirent) += reclen; + dirent = (void *)dirent + reclen; buf->dirent = dirent; buf->count -= reclen; return 0; diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c index 9136ca1c50c8..b47c35679e87 100644 --- a/arch/alpha/kernel/pci_iommu.c +++ b/arch/alpha/kernel/pci_iommu.c @@ -500,7 +500,7 @@ sg_classify(struct scatterlist *sg, struct scatterlist *end, int virt_ok) /* Given a scatterlist leader, choose an allocation method and fill in the blanks. */ -static inline int +static int sg_fill(struct scatterlist *leader, struct scatterlist *end, struct scatterlist *out, struct pci_iommu_arena *arena, dma_addr_t max_dma, int dac_allowed) diff --git a/arch/alpha/kernel/proto.h b/arch/alpha/kernel/proto.h index 6368af8b9299..84a9f3cfbdc3 100644 --- a/arch/alpha/kernel/proto.h +++ b/arch/alpha/kernel/proto.h @@ -203,9 +203,9 @@ extern struct mcheck_info unsigned char extra; } __mcheck_info; -#define mcheck_expected(cpu) ((void)(cpu), __mcheck_info.expected) -#define mcheck_taken(cpu) ((void)(cpu), __mcheck_info.taken) -#define mcheck_extra(cpu) ((void)(cpu), __mcheck_info.extra) +#define mcheck_expected(cpu) (*((void)(cpu), &__mcheck_info.expected)) +#define mcheck_taken(cpu) (*((void)(cpu), &__mcheck_info.taken)) +#define mcheck_extra(cpu) (*((void)(cpu), &__mcheck_info.extra)) #endif extern void process_mcheck_info(unsigned long vector, unsigned long la_ptr, diff --git a/arch/alpha/lib/io.c b/arch/alpha/lib/io.c index 05b3ada7e34c..dedc5186916f 100644 --- a/arch/alpha/lib/io.c +++ b/arch/alpha/lib/io.c @@ -143,7 +143,7 @@ void insb (unsigned long port, void *dst, unsigned long count) return; count--; *(unsigned char *) dst = inb(port); - ((unsigned char *) dst)++; + dst += 1; } while (count >= 4) { @@ -154,13 +154,13 @@ void insb (unsigned long port, void *dst, unsigned long count) w |= inb(port) << 16; w |= inb(port) << 24; *(unsigned int *) dst = w; - ((unsigned int *) dst)++; + dst += 4; } while (count) { --count; *(unsigned char *) dst = inb(port); - ((unsigned char *) dst)++; + dst += 1; } } @@ -181,8 +181,8 @@ void insw (unsigned long port, void *dst, unsigned long count) if (!count) return; count--; - *(unsigned short* ) dst = inw(port); - ((unsigned short *) dst)++; + *(unsigned short *) dst = inw(port); + dst += 2; } while (count >= 2) { @@ -191,7 +191,7 @@ void insw (unsigned long port, void *dst, unsigned long count) w = inw(port); w |= inw(port) << 16; *(unsigned int *) dst = w; - ((unsigned int *) dst)++; + dst += 4; } if (count) { @@ -209,70 +209,72 @@ void insw (unsigned long port, void *dst, unsigned long count) void insl (unsigned long port, void *dst, unsigned long count) { unsigned int l = 0, l2; - + if (!count) return; - + switch (((unsigned long) dst) & 0x3) { case 0x00: /* Buffer 32-bit aligned */ while (count--) { *(unsigned int *) dst = inl(port); - ((unsigned int *) dst)++; + dst += 4; } break; - + /* Assuming little endian Alphas in cases 0x01 -- 0x03 ... */ - + case 0x02: /* Buffer 16-bit aligned */ --count; - + l = inl(port); *(unsigned short *) dst = l; - ((unsigned short *) dst)++; - + dst += 2; + while (count--) { l2 = inl(port); *(unsigned int *) dst = l >> 16 | l2 << 16; - ((unsigned int *) dst)++; + dst += 4; l = l2; } *(unsigned short *) dst = l >> 16; break; + case 0x01: /* Buffer 8-bit aligned */ --count; - + l = inl(port); *(unsigned char *) dst = l; - ((unsigned char *) dst)++; + dst += 1; *(unsigned short *) dst = l >> 8; - ((unsigned short *) dst)++; + dst += 2; while (count--) { l2 = inl(port); *(unsigned int *) dst = l >> 24 | l2 << 8; - ((unsigned int *) dst)++; + dst += 4; l = l2; } *(unsigned char *) dst = l >> 24; break; + case 0x03: /* Buffer 8-bit aligned */ --count; - + l = inl(port); *(unsigned char *) dst = l; - ((unsigned char *) dst)++; + dst += 1; while (count--) { l2 = inl(port); *(unsigned int *) dst = l << 24 | l2 >> 8; - ((unsigned int *) dst)++; + dst += 4; l = l2; } *(unsigned short *) dst = l >> 8; - ((unsigned short *) dst)++; + dst += 2; *(unsigned char *) dst = l >> 24; break; } @@ -290,7 +292,7 @@ void outsb(unsigned long port, const void * src, unsigned long count) while (count) { count--; outb(*(char *)src, port); - ((char *) src)++; + src += 1; } } @@ -307,7 +309,7 @@ void outsw (unsigned long port, const void *src, unsigned long count) panic("outsw: memory not short aligned"); } outw(*(unsigned short*)src, port); - ((unsigned short *) src)++; + src += 2; --count; } @@ -315,7 +317,7 @@ void outsw (unsigned long port, const void *src, unsigned long count) unsigned int w; count -= 2; w = *(unsigned int *) src; - ((unsigned int *) src)++; + src += 4; outw(w >> 0, port); outw(w >> 16, port); } @@ -335,69 +337,69 @@ void outsw (unsigned long port, const void *src, unsigned long count) void outsl (unsigned long port, const void *src, unsigned long count) { unsigned int l = 0, l2; - + if (!count) return; - + switch (((unsigned long) src) & 0x3) { case 0x00: /* Buffer 32-bit aligned */ while (count--) { outl(*(unsigned int *) src, port); - ((unsigned int *) src)++; + src += 4; } break; - - /* Assuming little endian Alphas in cases 0x01 -- 0x03 ... */ - + case 0x02: /* Buffer 16-bit aligned */ --count; - + l = *(unsigned short *) src << 16; - ((unsigned short *) src)++; - + src += 2; + while (count--) { l2 = *(unsigned int *) src; - ((unsigned int *) src)++; + src += 4; outl (l >> 16 | l2 << 16, port); l = l2; } l2 = *(unsigned short *) src; outl (l >> 16 | l2 << 16, port); break; + case 0x01: /* Buffer 8-bit aligned */ --count; - + l = *(unsigned char *) src << 8; - ((unsigned char *) src)++; + src += 1; l |= *(unsigned short *) src << 16; - ((unsigned short *) src)++; + src += 2; while (count--) { l2 = *(unsigned int *) src; - ((unsigned int *) src)++; + src += 4; outl (l >> 8 | l2 << 24, port); l = l2; } l2 = *(unsigned char *) src; outl (l >> 8 | l2 << 24, port); break; + case 0x03: /* Buffer 8-bit aligned */ --count; - + l = *(unsigned char *) src << 24; - ((unsigned char *) src)++; + src += 1; while (count--) { l2 = *(unsigned int *) src; - ((unsigned int *) src)++; + src += 4; outl (l >> 24 | l2 << 8, port); l = l2; } l2 = *(unsigned short *) src; - ((unsigned short *) src)++; + src += 2; l2 |= *(unsigned char *) src << 16; outl (l >> 24 | l2 << 8, port); break; @@ -435,7 +437,7 @@ void _memcpy_fromio(void * to, unsigned long from, long count) } while (count >= 0); count += 4; } - + if (count >= 2 && ((unsigned long)to & 1) == (from & 1)) { count -= 2; do { @@ -486,7 +488,7 @@ void _memcpy_toio(unsigned long to, const void * from, long count) } while (count >= 0); count += 4; } - + if (count >= 2 && (to & 1) == ((unsigned long)from & 1)) { count -= 2; do { diff --git a/include/asm-alpha/unistd.h b/include/asm-alpha/unistd.h index e341705048a4..ba2e828b263e 100644 --- a/include/asm-alpha/unistd.h +++ b/include/asm-alpha/unistd.h @@ -573,9 +573,9 @@ static inline off_t lseek(int fd, off_t off, int whence) return sys_lseek(fd, off, whence); } -static inline long _exit(int value) +static inline void _exit(int value) { - return sys_exit(value); + sys_exit(value); } #define exit(x) _exit(x) diff --git a/init/initramfs.c b/init/initramfs.c index 2ff568e438c1..7608b019137c 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -16,7 +16,7 @@ static void __init error(char *x) message = x; } -static void __init *malloc(int size) +static void __init *malloc(size_t size) { return kmalloc(size, GFP_KERNEL); } |
