summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@kanga.twiddle.home>2004-03-07 22:58:28 -0800
committerRichard Henderson <rth@kanga.twiddle.home>2004-03-07 22:58:28 -0800
commit370d7089b57d855e8a7a2a2eb902bcb5aef683b4 (patch)
tree579c99b522ba56e5e8361702e034bd7f9e447f84
parent47f766a2c0228a4d98b11b515ba58f417de2de54 (diff)
[ALPHA] Fix gcc 3.4 build problems.
-rw-r--r--arch/alpha/kernel/osf_sys.c2
-rw-r--r--arch/alpha/kernel/pci_iommu.c2
-rw-r--r--arch/alpha/kernel/proto.h6
-rw-r--r--arch/alpha/lib/io.c94
-rw-r--r--include/asm-alpha/unistd.h4
-rw-r--r--init/initramfs.c2
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);
}