1 diff -rupN linux-2.4.32/drivers/atm/fore200e.c linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/fore200e.c
2 --- linux-2.4.32/drivers/atm/fore200e.c 2004-11-17 18:36:41.000000000 +0100
3 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/fore200e.c 2005-11-17 13:31:16.000000000 +0100
8 -extern const struct atmdev_ops fore200e_ops;
9 -extern const struct fore200e_bus fore200e_bus[];
10 +static const struct atmdev_ops fore200e_ops;
11 +static const struct fore200e_bus fore200e_bus[];
13 static struct fore200e* fore200e_boards = NULL;
15 diff -rupN linux-2.4.32/drivers/atm/horizon.c linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/horizon.c
16 --- linux-2.4.32/drivers/atm/horizon.c 2004-02-18 15:16:22.000000000 +0100
17 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/horizon.c 2005-11-17 13:31:16.000000000 +0100
18 @@ -481,6 +481,7 @@ static inline void dump_skb (char * pref
22 +#if 0 /* unused and in conflict with <asm-ppc/system.h> */
23 static inline void dump_regs (hrz_dev * dev) {
25 PRINTD (DBG_REGS, "CONTROL 0: %#x", rd_regl (dev, CONTROL_0_REG));
26 @@ -494,6 +495,7 @@ static inline void dump_regs (hrz_dev *
32 static inline void dump_framer (hrz_dev * dev) {
34 diff -rupN linux-2.4.32/drivers/atm/iphase.c linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.c
35 --- linux-2.4.32/drivers/atm/iphase.c 2004-11-17 18:36:41.000000000 +0100
36 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.c 2005-11-17 13:31:16.000000000 +0100
37 @@ -82,6 +82,7 @@ static IADEV *ia_dev[8];
38 static struct atm_dev *_ia_dev[8];
39 static int iadev_count;
40 static void ia_led_timer(unsigned long arg);
41 +static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb);
42 static struct timer_list ia_timer = { function: ia_led_timer };
43 struct atm_vcc *vcc_close_que[100];
44 static int IA_TX_BUF = DFL_TX_BUFFERS, IA_TX_BUF_SZ = DFL_TX_BUF_SZ;
45 @@ -627,7 +628,6 @@ static int ia_que_tx (IADEV *iadev) {
49 - static int ia_pkt_tx (struct atm_vcc *vcc, struct sk_buff *skb);
50 num_desc = ia_avail_descs(iadev);
51 while (num_desc && (skb = skb_dequeue(&iadev->tx_backlog))) {
52 if (!(vcc = ATM_SKB(skb)->vcc)) {
53 diff -rupN linux-2.4.32/drivers/atm/iphase.h linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.h
54 --- linux-2.4.32/drivers/atm/iphase.h 2003-06-14 13:30:20.000000000 +0200
55 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/atm/iphase.h 2005-11-17 13:31:16.000000000 +0100
57 #define IF_IADBG_SUNI_STAT 0x02000000 // suni statistics
58 #define IF_IADBG_RESET 0x04000000
60 -extern unsigned int IADebugFlag;
62 #define IF_IADBG(f) if (IADebugFlag & (f))
64 #ifdef CONFIG_ATM_IA_DEBUG /* Debug build */
65 diff -rupN linux-2.4.32/drivers/block/nbd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/block/nbd.c
66 --- linux-2.4.32/drivers/block/nbd.c 2005-04-04 19:56:04.000000000 +0200
67 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/block/nbd.c 2005-11-17 13:31:16.000000000 +0100
68 @@ -74,6 +74,29 @@ static int requests_in;
69 static int requests_out;
73 +nbd_end_request(struct request *req)
75 + struct buffer_head *bh;
77 + unsigned long flags;
78 + int uptodate = (req->errors == 0) ? 1 : 0;
83 + spin_lock_irqsave(&io_request_lock, flags);
84 + while((bh = req->bh) != NULL) {
85 + nsect = bh->b_size >> 9;
86 + blk_finished_io(nsect);
87 + req->bh = bh->b_reqnext;
88 + bh->b_reqnext = NULL;
89 + bh->b_end_io(bh, uptodate);
91 + blkdev_release_request(req);
92 + spin_unlock_irqrestore(&io_request_lock, flags);
95 static int nbd_open(struct inode *inode, struct file *file)
98 diff -rupN linux-2.4.32/drivers/block/paride/pd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/block/paride/pd.c
99 --- linux-2.4.32/drivers/block/paride/pd.c 2002-11-30 17:12:24.000000000 +0100
100 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/block/paride/pd.c 2005-11-17 13:31:16.000000000 +0100
101 @@ -343,7 +343,14 @@ static char *pd_errs[17] = { "ERR","INDE
103 /* kernel glue structures */
105 -extern struct block_device_operations pd_fops;
106 +static struct block_device_operations pd_fops = {
107 + owner: THIS_MODULE,
109 + release: pd_release,
111 + check_media_change: pd_check_media,
112 + revalidate: pd_revalidate
115 static struct gendisk pd_gendisk = {
117 @@ -355,15 +362,6 @@ static struct gendisk pd_gendisk = {
121 -static struct block_device_operations pd_fops = {
122 - owner: THIS_MODULE,
124 - release: pd_release,
126 - check_media_change: pd_check_media,
127 - revalidate: pd_revalidate
130 void pd_init_units( void )
133 diff -rupN linux-2.4.32/drivers/block/xd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/block/xd.c
134 --- linux-2.4.32/drivers/block/xd.c 2002-11-30 17:12:24.000000000 +0100
135 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/block/xd.c 2005-11-17 13:31:16.000000000 +0100
136 @@ -125,7 +125,12 @@ static int xd_sizes[XD_MAXDRIVES << 6],
137 static int xd_blocksizes[XD_MAXDRIVES << 6];
138 static int xd_maxsect[XD_MAXDRIVES << 6];
140 -extern struct block_device_operations xd_fops;
141 +static struct block_device_operations xd_fops = {
142 + owner: THIS_MODULE,
144 + release: xd_release,
148 static struct gendisk xd_gendisk = {
150 @@ -138,13 +143,6 @@ static struct gendisk xd_gendisk = {
154 -static struct block_device_operations xd_fops = {
155 - owner: THIS_MODULE,
157 - release: xd_release,
161 static DECLARE_WAIT_QUEUE_HEAD(xd_wait_int);
162 static DECLARE_WAIT_QUEUE_HEAD(xd_wait_open);
163 static u8 xd_valid[XD_MAXDRIVES] = { 0,0 };
164 diff -rupN linux-2.4.32/drivers/cdrom/sbpcd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/cdrom/sbpcd.c
165 --- linux-2.4.32/drivers/cdrom/sbpcd.c 2001-11-06 12:12:06.000000000 +0100
166 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/cdrom/sbpcd.c 2005-11-17 13:31:16.000000000 +0100
167 @@ -525,6 +525,8 @@ static int sbp_data(struct request *req)
168 static int cmd_out(void);
169 static int DiskInfo(void);
170 static int sbpcd_chk_disk_change(kdev_t);
171 +static int cmd_out_T(void);
172 +static int cc_DriveReset(void);
174 /*==========================================================================*/
176 @@ -1213,8 +1215,6 @@ static int get_state_T(void)
180 - static int cmd_out_T(void);
184 drvcmd[0]=CMDT_STATUS;
185 @@ -1362,7 +1362,6 @@ static int cmd_out_T(void)
186 #define CMDT_TRIES 1000
187 #define TEST_FALSE_FF 1
189 - static int cc_DriveReset(void);
190 int i, j, l=0, m, ntries;
193 diff -rupN linux-2.4.32/drivers/char/ip2/i2lib.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/ip2/i2lib.c
194 --- linux-2.4.32/drivers/char/ip2/i2lib.c 2005-01-19 18:00:53.000000000 +0100
195 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/ip2/i2lib.c 2005-11-17 13:31:16.000000000 +0100
196 @@ -1262,7 +1262,7 @@ i2RetryFlushOutput(i2ChanStrPtr pCh)
199 if ( old_flags & STOPFL_FLAG ) {
200 - if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL) > 0 ) {
201 + if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL)) {
202 old_flags = 0; // Success - clear flags
205 diff -rupN linux-2.4.32/drivers/char/rio/rio_linux.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/rio/rio_linux.c
206 --- linux-2.4.32/drivers/char/rio/rio_linux.c 2002-02-26 13:26:56.000000000 +0100
207 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/rio/rio_linux.c 2005-11-17 13:31:16.000000000 +0100
208 @@ -1205,8 +1205,8 @@ static int __init rio_init(void)
209 hp->Ivec = get_irq (pdev);
210 if (((1 << hp->Ivec) & rio_irqmask) == 0)
212 - hp->CardP = (struct DpRam *)
213 hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);
214 + hp->CardP = (struct DpRam *) hp->Caddr;
216 hp->Copy = rio_pcicopy;
217 hp->Mode = RIO_PCI_BOOT_FROM_RAM;
218 @@ -1277,8 +1277,8 @@ static int __init rio_init(void)
219 if (((1 << hp->Ivec) & rio_irqmask) == 0)
221 hp->Ivec |= 0x8000; /* Mark as non-sharable */
222 - hp->CardP = (struct DpRam *)
223 hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);
224 + hp->CardP = (struct DpRam *) hp->Caddr;
226 hp->Copy = rio_pcicopy;
227 hp->Mode = RIO_PCI_BOOT_FROM_RAM;
228 @@ -1329,8 +1329,8 @@ static int __init rio_init(void)
229 hp->PaddrP = rio_probe_addrs[i];
230 /* There was something about the IRQs of these cards. 'Forget what.--REW */
232 - hp->CardP = (struct DpRam *)
233 hp->Caddr = ioremap(p->RIOHosts[p->RIONumHosts].PaddrP, RIO_WINDOW_LEN);
234 + hp->CardP = (struct DpRam *) hp->Caddr;
236 hp->Copy = rio_pcicopy; /* AT card PCI???? - PVDL
237 * -- YES! this is now a normal copy. Only the
238 diff -rupN linux-2.4.32/drivers/char/sonypi.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.c
239 --- linux-2.4.32/drivers/char/sonypi.c 2004-04-14 20:22:20.000000000 +0200
240 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.c 2005-11-17 13:31:16.000000000 +0100
241 @@ -60,6 +60,35 @@ static int compat; /* = 0 */
242 static int useinput = 1;
243 static unsigned long mask = 0xffffffff;
245 +static inline int sonypi_ec_write(u8 addr, u8 value) {
246 +#ifdef CONFIG_ACPI_EC
247 + if (SONYPI_ACPI_ACTIVE)
248 + return ec_write(addr, value);
250 + wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
251 + outb_p(0x81, SONYPI_CST_IOPORT);
252 + wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
253 + outb_p(addr, SONYPI_DATA_IOPORT);
254 + wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
255 + outb_p(value, SONYPI_DATA_IOPORT);
256 + wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
260 +static inline int sonypi_ec_read(u8 addr, u8 *value) {
261 +#ifdef CONFIG_ACPI_EC
262 + if (SONYPI_ACPI_ACTIVE)
263 + return ec_read(addr, value);
265 + wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
266 + outb_p(0x80, SONYPI_CST_IOPORT);
267 + wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
268 + outb_p(addr, SONYPI_DATA_IOPORT);
269 + wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
270 + *value = inb_p(SONYPI_DATA_IOPORT);
274 /* Inits the queue */
275 static inline void sonypi_initq(void) {
276 sonypi_device.queue.head = sonypi_device.queue.tail = 0;
277 diff -rupN linux-2.4.32/drivers/char/sonypi.h linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.h
278 --- linux-2.4.32/drivers/char/sonypi.h 2004-04-14 20:22:20.000000000 +0200
279 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sonypi.h 2005-11-17 13:31:16.000000000 +0100
280 @@ -401,37 +401,6 @@ struct sonypi_device {
281 #define SONYPI_ACPI_ACTIVE 0
282 #endif /* CONFIG_ACPI */
286 -static inline int sonypi_ec_write(u8 addr, u8 value) {
287 -#ifdef CONFIG_ACPI_EC
288 - if (SONYPI_ACPI_ACTIVE)
289 - return ec_write(addr, value);
291 - wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
292 - outb_p(0x81, SONYPI_CST_IOPORT);
293 - wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
294 - outb_p(addr, SONYPI_DATA_IOPORT);
295 - wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
296 - outb_p(value, SONYPI_DATA_IOPORT);
297 - wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
301 -static inline int sonypi_ec_read(u8 addr, u8 *value) {
302 -#ifdef CONFIG_ACPI_EC
303 - if (SONYPI_ACPI_ACTIVE)
304 - return ec_read(addr, value);
306 - wait_on_command(1, inb_p(SONYPI_CST_IOPORT) & 3, ITERATIONS_LONG);
307 - outb_p(0x80, SONYPI_CST_IOPORT);
308 - wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
309 - outb_p(addr, SONYPI_DATA_IOPORT);
310 - wait_on_command(0, inb_p(SONYPI_CST_IOPORT) & 2, ITERATIONS_LONG);
311 - *value = inb_p(SONYPI_DATA_IOPORT);
315 #endif /* __KERNEL__ */
317 #endif /* _SONYPI_PRIV_H_ */
318 diff -rupN linux-2.4.32/drivers/char/sx.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sx.c
319 --- linux-2.4.32/drivers/char/sx.c 2005-01-19 18:00:53.000000000 +0100
320 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/sx.c 2005-11-17 13:31:16.000000000 +0100
321 @@ -522,13 +522,13 @@ static int sx_busy_wait_eq (struct sx_bo
325 - for (i=0; i < TIMEOUT_1 > 0;i++)
326 + for (i=0; i < TIMEOUT_1 ;i++)
327 if ((read_sx_byte (board, offset) & mask) == correctval) {
332 - for (i=0; i < TIMEOUT_2 > 0;i++) {
333 + for (i=0; i < TIMEOUT_2 ;i++) {
334 if ((read_sx_byte (board, offset) & mask) == correctval) {
337 @@ -548,13 +548,13 @@ static int sx_busy_wait_neq (struct sx_b
341 - for (i=0; i < TIMEOUT_1 > 0;i++)
342 + for (i=0; i < TIMEOUT_1 ;i++)
343 if ((read_sx_byte (board, offset) & mask) != badval) {
348 - for (i=0; i < TIMEOUT_2 > 0;i++) {
349 + for (i=0; i < TIMEOUT_2 ;i++) {
350 if ((read_sx_byte (board, offset) & mask) != badval) {
353 diff -rupN linux-2.4.32/drivers/char/tpqic02.c linux-2.4.32.more-gcc4-fixes-v1/drivers/char/tpqic02.c
354 --- linux-2.4.32/drivers/char/tpqic02.c 2004-08-08 10:56:31.000000000 +0200
355 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/char/tpqic02.c 2005-11-17 13:31:16.000000000 +0100
356 @@ -202,6 +202,7 @@ static int mode_access; /* access mode:
358 static int qic02_get_resources(void);
359 static void qic02_release_resources(void);
360 +static void finish_rw(int cmd);
362 /* This is a pointer to the actual kernel buffer where the interrupt routines
363 * read from/write to. It is needed because the DMA channels 1 and 3 cannot
364 @@ -820,7 +821,6 @@ static int get_ext_status3(void)
365 static int tp_sense(int ignore)
367 unsigned err = 0, exnr = 0, gs = 0;
368 - static void finish_rw(int cmd);
370 if (TPQDBG(SENSE_TEXT))
371 printk(TPQIC02_NAME ": tp_sense(ignore=0x%x) enter\n",
372 @@ -2173,16 +2173,6 @@ static ssize_t qic02_tape_write(struct f
373 * Don't rewind if the minor bits specify density 0.
376 -static int qic02_tape_open(struct inode *inode, struct file *filp)
378 - static int qic02_tape_open_no_use_count(struct inode *,
382 - open_error = qic02_tape_open_no_use_count(inode, filp);
386 static int qic02_tape_open_no_use_count(struct inode *inode,
389 @@ -2385,6 +2375,14 @@ static int qic02_tape_open_no_use_count(
390 } /* qic02_tape_open */
393 +static int qic02_tape_open(struct inode *inode, struct file *filp)
397 + open_error = qic02_tape_open_no_use_count(inode, filp);
401 static int qic02_tape_release(struct inode *inode, struct file *filp)
403 kdev_t dev = inode->i_rdev;
404 diff -rupN linux-2.4.32/drivers/i2c/i2c-core.c linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-core.c
405 --- linux-2.4.32/drivers/i2c/i2c-core.c 2005-06-01 18:02:21.000000000 +0200
406 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-core.c 2005-11-17 13:31:16.000000000 +0100
407 @@ -720,7 +720,7 @@ int i2cproc_cleanup(void)
408 * ----------------------------------------------------
411 -int i2c_transfer(struct i2c_adapter * adap, struct i2c_msg msgs[],int num)
412 +int i2c_transfer(struct i2c_adapter * adap, struct i2c_msg *msgs,int num)
416 @@ -750,7 +750,7 @@ int i2c_master_send(struct i2c_client *c
417 msg.addr = client->addr;
418 msg.flags = client->flags & I2C_M_TEN;
420 - (const char *)msg.buf = buf;
421 + msg.buf = (char *)buf;
423 DEB2(printk(KERN_DEBUG "i2c-core.o: master_send: writing %d bytes on %s.\n",
424 count,client->adapter->name));
425 diff -rupN linux-2.4.32/drivers/i2c/i2c-proc.c linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-proc.c
426 --- linux-2.4.32/drivers/i2c/i2c-proc.c 2005-01-19 18:00:53.000000000 +0100
427 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/i2c/i2c-proc.c 2005-11-17 13:31:16.000000000 +0100
428 @@ -205,7 +205,7 @@ void i2c_deregister_entry(int id)
429 table = i2c_entries[id]->ctl_table;
430 unregister_sysctl_table(i2c_entries[id]);
431 /* 2-step kfree needed to keep gcc happy about const points */
432 - (const char *) temp = table[4].procname;
433 + temp = (char *) table[4].procname;
436 i2c_entries[id] = NULL;
437 @@ -287,7 +287,7 @@ int i2c_proc_chips(ctl_table * ctl, int
438 if(copy_to_user(buffer, BUF, buflen))
440 curbufsize += buflen;
441 - (char *) buffer += buflen;
442 + buffer = (char *) buffer + buflen;
445 filp->f_pos += curbufsize;
446 @@ -318,7 +318,7 @@ int i2c_sysctl_chips(ctl_table * table,
451 + oldval = (char *) oldval +
452 sizeof(struct i2c_chips_data);
455 @@ -473,7 +473,7 @@ int i2c_parse_reals(int *nrels, void *bu
456 !((ret=get_user(nextchar, (char *) buffer))) &&
457 isspace((int) nextchar)) {
459 - ((char *) buffer)++;
460 + buffer = (char *) buffer + 1;
464 @@ -492,7 +492,7 @@ int i2c_parse_reals(int *nrels, void *bu
465 && (nextchar == '-')) {
468 - ((char *) buffer)++;
469 + buffer = (char *) buffer + 1;
473 @@ -503,7 +503,7 @@ int i2c_parse_reals(int *nrels, void *bu
474 isdigit((int) nextchar)) {
475 res = res * 10 + nextchar - '0';
477 - ((char *) buffer)++;
478 + buffer = (char *) buffer + 1;
482 @@ -517,7 +517,7 @@ int i2c_parse_reals(int *nrels, void *bu
483 if (bufsize && (nextchar == '.')) {
486 - ((char *) buffer)++;
487 + buffer = (char *) buffer + 1;
489 /* Read digits while they are significant */
490 while (bufsize && (mag > 0) &&
491 @@ -526,7 +526,7 @@ int i2c_parse_reals(int *nrels, void *bu
492 res = res * 10 + nextchar - '0';
495 - ((char *) buffer)++;
496 + buffer = (char *) buffer + 1;
500 @@ -542,7 +542,7 @@ int i2c_parse_reals(int *nrels, void *bu
501 !((ret=get_user(nextchar, (char *) buffer))) &&
502 !isspace((int) nextchar)) {
504 - ((char *) buffer)++;
505 + buffer = (char *) buffer + 1;
509 @@ -574,7 +574,7 @@ int i2c_write_reals(int nrels, void *buf
510 if(put_user(' ', (char *) buffer))
513 - ((char *) buffer)++;
514 + buffer = (char *) buffer + 1;
517 /* Fill BUF with the representation of the next string */
518 @@ -615,7 +615,7 @@ int i2c_write_reals(int nrels, void *buf
519 if(copy_to_user(buffer, BUF, buflen))
521 curbufsize += buflen;
522 - (char *) buffer += buflen;
523 + buffer = (char *) buffer + buflen;
527 diff -rupN linux-2.4.32/drivers/ide/legacy/hd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/ide/legacy/hd.c
528 --- linux-2.4.32/drivers/ide/legacy/hd.c 2003-06-14 13:30:22.000000000 +0200
529 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/ide/legacy/hd.c 2005-11-17 13:31:16.000000000 +0100
530 @@ -694,7 +694,11 @@ static int hd_release(struct inode * ino
534 -extern struct block_device_operations hd_fops;
535 +static struct block_device_operations hd_fops = {
537 + release: hd_release,
541 static struct gendisk hd_gendisk = {
543 @@ -718,12 +722,6 @@ static void hd_interrupt(int irq, void *
547 -static struct block_device_operations hd_fops = {
549 - release: hd_release,
554 * This is the hard disk IRQ description. The SA_INTERRUPT in sa_flags
555 * means we run the IRQ-handler with interrupts disabled: this is bad for
556 diff -rupN linux-2.4.32/drivers/ieee1394/highlevel.c linux-2.4.32.more-gcc4-fixes-v1/drivers/ieee1394/highlevel.c
557 --- linux-2.4.32/drivers/ieee1394/highlevel.c 2003-11-29 00:28:11.000000000 +0100
558 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/ieee1394/highlevel.c 2005-11-17 13:31:16.000000000 +0100
559 @@ -500,7 +500,7 @@ int highlevel_read(struct hpsb_host *hos
560 rcode = RCODE_TYPE_ERROR;
563 - (u8 *)data += partlength;
564 + data += partlength;
565 length -= partlength;
568 @@ -546,7 +546,7 @@ int highlevel_write(struct hpsb_host *ho
569 rcode = RCODE_TYPE_ERROR;
572 - (u8 *)data += partlength;
573 + data += partlength;
574 length -= partlength;
577 diff -rupN linux-2.4.32/drivers/isdn/eicon/eicon.h linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/eicon/eicon.h
578 --- linux-2.4.32/drivers/isdn/eicon/eicon.h 2002-08-07 00:52:20.000000000 +0200
579 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/eicon/eicon.h 2005-11-17 13:31:16.000000000 +0100
580 @@ -344,7 +344,6 @@ typedef struct eicon_card {
582 #include "eicon_idi.h"
584 -extern eicon_card *cards;
585 extern char *eicon_ctype_name[];
588 diff -rupN linux-2.4.32/drivers/isdn/hisax/hfc_pci.c linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/hisax/hfc_pci.c
589 --- linux-2.4.32/drivers/isdn/hisax/hfc_pci.c 2004-11-17 18:36:42.000000000 +0100
590 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/isdn/hisax/hfc_pci.c 2005-11-17 13:31:16.000000000 +0100
591 @@ -1742,7 +1742,7 @@ setup_hfcpci(struct IsdnCard *card)
592 /* Allocate memory for FIFOS */
593 /* Because the HFC-PCI needs a 32K physical alignment, we */
594 /* need to allocate the double mem and align the address */
595 - if (!((void *) cs->hw.hfcpci.share_start = kmalloc(65536, GFP_KERNEL))) {
596 + if (!(cs->hw.hfcpci.share_start = kmalloc(65536, GFP_KERNEL))) {
597 printk(KERN_WARNING "HFC-PCI: Error allocating memory for FIFO!\n");
600 diff -rupN linux-2.4.32/drivers/md/lvm-internal.h linux-2.4.32.more-gcc4-fixes-v1/drivers/md/lvm-internal.h
601 --- linux-2.4.32/drivers/md/lvm-internal.h 2003-11-29 00:28:12.000000000 +0100
602 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/md/lvm-internal.h 2005-11-17 13:31:16.000000000 +0100
603 @@ -45,7 +45,6 @@ extern int loadtime;
604 extern const char *const lvm_name;
607 -extern uint vg_count;
609 extern struct file_operations lvm_chr_fops;
611 diff -rupN linux-2.4.32/drivers/media/video/bttvp.h linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/bttvp.h
612 --- linux-2.4.32/drivers/media/video/bttvp.h 2003-11-29 00:28:12.000000000 +0100
613 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/bttvp.h 2005-11-17 13:31:16.000000000 +0100
614 @@ -58,7 +58,6 @@ extern int pvr_boot(struct bttv *btv);
617 extern unsigned int bttv_num; /* number of Bt848s in use */
618 -extern struct bttv bttvs[BTTV_MAX];
622 @@ -203,6 +202,8 @@ struct bttv {
624 void (*audio_hook)(struct bttv *btv, struct video_audio *v, int set);
627 +extern struct bttv bttvs[BTTV_MAX];
630 #define btwrite(dat,adr) writel((dat), (char *) (btv->bt848_mem+(adr)))
631 diff -rupN linux-2.4.32/drivers/media/video/videodev.c linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/videodev.c
632 --- linux-2.4.32/drivers/media/video/videodev.c 2004-08-08 10:56:31.000000000 +0200
633 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/media/video/videodev.c 2005-11-17 13:31:16.000000000 +0100
634 @@ -489,7 +489,18 @@ static void videodev_proc_destroy_dev (s
636 #endif /* CONFIG_VIDEO_PROC_FS */
638 -extern struct file_operations video_fops;
639 +static struct file_operations video_fops=
641 + owner: THIS_MODULE,
644 + write: video_write,
645 + ioctl: video_ioctl,
648 + release: video_release,
653 * video_register_device - register video4linux devices
654 @@ -633,19 +644,6 @@ void video_unregister_device(struct vide
658 -static struct file_operations video_fops=
660 - owner: THIS_MODULE,
663 - write: video_write,
664 - ioctl: video_ioctl,
667 - release: video_release,
672 * Initialise video for linux
674 diff -rupN linux-2.4.32/drivers/net/3c507.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/3c507.c
675 --- linux-2.4.32/drivers/net/3c507.c 2003-11-29 00:28:12.000000000 +0100
676 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/3c507.c 2005-11-17 13:31:16.000000000 +0100
677 @@ -306,6 +306,7 @@ static void el16_tx_timeout (struct net_
678 static void hardware_send_packet(struct net_device *dev, void *buf, short length, short pad);
679 static void init_82586_mem(struct net_device *dev);
680 static struct ethtool_ops netdev_ethtool_ops;
681 +static void init_rx_bufs(struct net_device *);
684 /* Check for a network adaptor of this type, and return '0' iff one exists.
685 @@ -602,7 +603,6 @@ static void el16_interrupt(int irq, void
688 if ((status & 0x0070) != 0x0040 && netif_running(dev)) {
689 - static void init_rx_bufs(struct net_device *);
690 /* The Rx unit is not ready, it must be hung. Restart the receiver by
691 initializing the rx buffers, and issuing an Rx start command. */
693 diff -rupN linux-2.4.32/drivers/net/acenic.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/acenic.c
694 --- linux-2.4.32/drivers/net/acenic.c 2003-08-25 20:07:43.000000000 +0200
695 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/acenic.c 2005-11-17 13:31:16.000000000 +0100
696 @@ -594,6 +594,7 @@ static struct net_device *root_dev;
698 static int probed __initdata = 0;
700 +static void ace_watchdog(struct net_device *dev);
702 int __devinit acenic_probe (ACE_PROBE_ARG)
704 @@ -665,7 +666,6 @@ int __devinit acenic_probe (ACE_PROBE_AR
705 dev->vlan_rx_kill_vid = ace_vlan_rx_kill_vid;
708 - static void ace_watchdog(struct net_device *dev);
709 dev->tx_timeout = &ace_watchdog;
710 dev->watchdog_timeo = 5*HZ;
712 diff -rupN linux-2.4.32/drivers/net/arcnet/arcnet.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arcnet/arcnet.c
713 --- linux-2.4.32/drivers/net/arcnet/arcnet.c 2003-08-25 20:07:43.000000000 +0200
714 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arcnet/arcnet.c 2005-11-17 13:31:16.000000000 +0100
715 @@ -277,7 +277,7 @@ static void release_arcbuf(struct net_de
717 BUGMSG(D_DURING, "release_arcbuf: freed #%d; buffer queue is now: ",
719 - for (i = lp->next_buf; i != lp->first_free_buf; i = ++i % 5)
720 + for (i = lp->next_buf; i != lp->first_free_buf; i = (i+1) % 5)
721 BUGMSG2(D_DURING, "#%d ", lp->buf_queue[i]);
722 BUGMSG2(D_DURING, "\n");
724 @@ -310,7 +310,7 @@ static int get_arcbuf(struct net_device
727 BUGMSG(D_DURING, "get_arcbuf: got #%d; buffer queue is now: ", buf);
728 - for (i = lp->next_buf; i != lp->first_free_buf; i = ++i % 5)
729 + for (i = lp->next_buf; i != lp->first_free_buf; i = (i+1) % 5)
730 BUGMSG2(D_DURING, "#%d ", lp->buf_queue[i]);
731 BUGMSG2(D_DURING, "\n");
733 diff -rupN linux-2.4.32/drivers/net/arlan.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.c
734 --- linux-2.4.32/drivers/net/arlan.c 2002-08-07 00:52:20.000000000 +0200
735 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.c 2005-11-17 13:31:16.000000000 +0100
737 # error FIXME: this driver requires a 32-bit platform
740 -static const char *arlan_version = "C.Jennigs 97 & Elmer.Joandi@ut.ee Oct'98, http://www.ylenurme.ee/~elmer/655/";
741 +const char *arlan_version = "C.Jennigs 97 & Elmer.Joandi@ut.ee Oct'98, http://www.ylenurme.ee/~elmer/655/";
743 struct net_device *arlan_device[MAX_ARLANS];
745 diff -rupN linux-2.4.32/drivers/net/arlan.h linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.h
746 --- linux-2.4.32/drivers/net/arlan.h 2001-03-30 19:05:06.000000000 +0200
747 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/arlan.h 2005-11-17 13:31:16.000000000 +0100
748 @@ -47,7 +47,6 @@ extern int init_arlan_proc(void);
750 extern struct net_device *arlan_device[MAX_ARLANS];
751 extern int arlan_debug;
752 -extern char * siteName;
753 extern int arlan_entry_debug;
754 extern int arlan_exit_debug;
755 extern int testMemory;
756 diff -rupN linux-2.4.32/drivers/net/bonding/bond_alb.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/bonding/bond_alb.c
757 --- linux-2.4.32/drivers/net/bonding/bond_alb.c 2004-04-14 20:22:20.000000000 +0200
758 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/bonding/bond_alb.c 2005-11-17 13:31:16.000000000 +0100
759 @@ -1275,7 +1275,7 @@ void bond_alb_deinitialize(struct bondin
760 int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev)
762 struct bonding *bond = bond_dev->priv;
763 - struct ethhdr *eth_data = (struct ethhdr *)skb->mac.raw = skb->data;
764 + struct ethhdr *eth_data;
765 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
766 struct slave *tx_slave = NULL;
767 static u32 ip_bcast = 0xffffffff;
768 @@ -1285,6 +1285,9 @@ int bond_alb_xmit(struct sk_buff *skb, s
769 u8 *hash_start = NULL;
772 + skb->mac.raw = (unsigned char *)skb->data;
773 + eth_data = (struct ethhdr *)skb->mac.raw;
775 /* make sure that the curr_active_slave and the slaves list do
776 * not change during tx
778 diff -rupN linux-2.4.32/drivers/net/de4x5.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/de4x5.c
779 --- linux-2.4.32/drivers/net/de4x5.c 2004-02-18 15:16:23.000000000 +0100
780 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/de4x5.c 2005-11-17 13:31:16.000000000 +0100
781 @@ -5109,7 +5109,7 @@ mii_get_phy(struct net_device *dev)
784 /* Search the MII address space for possible PHY devices */
785 - for (n=0, lp->mii_cnt=0, i=1; !((i==1) && (n==1)); i=(++i)%DE4X5_MAX_MII) {
786 + for (n=0, lp->mii_cnt=0, i=1; !((i==1) && (n==1)); i=(i+1)%DE4X5_MAX_MII) {
787 lp->phy[lp->active].addr = i;
788 if (i==0) n++; /* Count cycles */
789 while (de4x5_reset_phy(dev)<0) udelay(100);/* Wait for reset */
790 diff -rupN linux-2.4.32/drivers/net/depca.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/depca.c
791 --- linux-2.4.32/drivers/net/depca.c 2003-06-14 13:30:23.000000000 +0200
792 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/depca.c 2005-11-17 13:31:16.000000000 +0100
793 @@ -1746,7 +1746,7 @@ static int load_packet(struct net_device
795 /* set up the buffer descriptors */
796 len = (skb->len < ETH_ZLEN) ? ETH_ZLEN : skb->len;
797 - for (i = entry; i != end; i = (++i) & lp->txRingMask) {
798 + for (i = entry; i != end; i = (i+1) & lp->txRingMask) {
799 /* clean out flags */
800 writel(readl(&lp->tx_ring[i].base) & ~T_FLAGS, &lp->tx_ring[i].base);
801 writew(0x0000, &lp->tx_ring[i].misc); /* clears other error flags */
802 diff -rupN linux-2.4.32/drivers/net/hamradio/baycom_epp.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/baycom_epp.c
803 --- linux-2.4.32/drivers/net/hamradio/baycom_epp.c 2002-11-30 17:12:25.000000000 +0100
804 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/baycom_epp.c 2005-11-17 13:31:16.000000000 +0100
806 #include <net/ax25.h>
807 #endif /* CONFIG_AX25 || CONFIG_AX25_MODULE */
809 +static int my_errno;
810 +#define errno my_errno
811 #define __KERNEL_SYSCALLS__
812 -#include <linux/unistd.h>
813 +#include <asm/unistd.h>
815 /* --------------------------------------------------------------------- */
817 @@ -370,8 +372,6 @@ static char eppconfig_path[256] = "/usr/
819 static char *envp[] = { "HOME=/", "TERM=linux", "PATH=/usr/bin:/bin", NULL };
823 static int exec_eppfpga(void *b)
825 struct baycom_state *bc = (struct baycom_state *)b;
826 diff -rupN linux-2.4.32/drivers/net/hamradio/soundmodem/sm.h linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/soundmodem/sm.h
827 --- linux-2.4.32/drivers/net/hamradio/soundmodem/sm.h 2002-08-07 00:52:20.000000000 +0200
828 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/hamradio/soundmodem/sm.h 2005-11-17 13:31:16.000000000 +0100
829 @@ -151,7 +151,6 @@ struct hardware_info {
830 /* --------------------------------------------------------------------- */
832 extern const char sm_drvname[];
833 -extern const char sm_drvinfo[];
835 /* --------------------------------------------------------------------- */
837 @@ -353,7 +352,6 @@ extern const struct hardware_info sm_hw_
839 extern const struct modem_tx_info *sm_modem_tx_table[];
840 extern const struct modem_rx_info *sm_modem_rx_table[];
841 -extern const struct hardware_info *sm_hardware_table[];
843 /* --------------------------------------------------------------------- */
845 diff -rupN linux-2.4.32/drivers/net/irda/donauboe.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/irda/donauboe.c
846 --- linux-2.4.32/drivers/net/irda/donauboe.c 2003-06-14 13:30:23.000000000 +0200
847 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/irda/donauboe.c 2005-11-17 13:31:16.000000000 +0100
848 @@ -209,7 +209,11 @@ static int do_probe = DO_PROBE;
850 extern __u16 const irda_crc16_table[];
852 -static __u16 const irda_crc16_table[256] = {
853 +/* Our local version of irda_crc16_table must have a unique
854 + name to prevent extern-redefined-as-static compile errors.
855 + This #define redirects the irda_fcs() macro to our version. */
856 +#define irda_crc16_table donauboe_irda_crc16_table
857 +static __u16 const donauboe_irda_crc16_table[256] = {
858 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
859 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
860 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
861 diff -rupN linux-2.4.32/drivers/net/rrunner.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/rrunner.c
862 --- linux-2.4.32/drivers/net/rrunner.c 2003-06-14 13:30:23.000000000 +0200
863 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/rrunner.c 2005-11-17 13:31:16.000000000 +0100
864 @@ -234,7 +234,7 @@ int __init rr_hippi_probe (struct net_de
865 * Don't access any registes before this point!
868 - writel(readl(®s->HostCtrl) | NO_SWAP, ®s->HostCtrl);
869 + writel(readl(&rrpriv->regs->HostCtrl) | NO_SWAP, &rrpriv->regs->HostCtrl);
872 * Need to add a case for little-endian 64-bit hosts here.
873 diff -rupN linux-2.4.32/drivers/net/sk98lin/skvpd.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/sk98lin/skvpd.c
874 --- linux-2.4.32/drivers/net/sk98lin/skvpd.c 2005-04-04 19:56:04.000000000 +0200
875 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/sk98lin/skvpd.c 2005-11-17 13:31:16.000000000 +0100
876 @@ -472,7 +472,7 @@ SK_IOC IoC) /* IO Context */
877 ((unsigned char)pAC->vpd.vpd_buf[0x40] == 0x3c) &&
878 ((unsigned char)pAC->vpd.vpd_buf[0x41] == 0x45) ) {
879 printk(KERN_INFO "sk98lin : humm... Asus mainboard with buggy VPD ? correcting data.\n");
880 - (unsigned char)pAC->vpd.vpd_buf[0x40] = 0x38;
881 + pAC->vpd.vpd_buf[0x40] = 0x38;
884 /* find the end tag of the RO area */
885 diff -rupN linux-2.4.32/drivers/net/wan/comx-hw-comx.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx-hw-comx.c
886 --- linux-2.4.32/drivers/net/wan/comx-hw-comx.c 2002-11-30 17:12:26.000000000 +0100
887 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx-hw-comx.c 2005-11-17 13:31:16.000000000 +0100
888 @@ -92,9 +92,9 @@ struct comx_privdata {
891 static struct net_device *memory_used[(COMX_MEM_MAX - COMX_MEM_MIN) / 0x10000];
892 -extern struct comx_hardware hicomx_hw;
893 -extern struct comx_hardware comx_hw;
894 -extern struct comx_hardware cmx_hw;
895 +static struct comx_hardware hicomx_hw;
896 +static struct comx_hardware comx_hw;
897 +static struct comx_hardware cmx_hw;
899 static void COMX_interrupt(int irq, void *dev_id, struct pt_regs *regs);
901 diff -rupN linux-2.4.32/drivers/net/wan/comx.h linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx.h
902 --- linux-2.4.32/drivers/net/wan/comx.h 2001-08-16 23:47:01.000000000 +0200
903 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/comx.h 2005-11-17 13:31:16.000000000 +0100
904 @@ -212,8 +212,6 @@ typedef u16 word;
908 -extern struct proc_dir_entry * comx_root_dir;
910 extern int comx_register_hardware(struct comx_hardware *comx_hw);
911 extern int comx_unregister_hardware(char *name);
912 extern int comx_register_protocol(struct comx_protocol *comx_line);
913 diff -rupN linux-2.4.32/drivers/net/wan/sdla_fr.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdla_fr.c
914 --- linux-2.4.32/drivers/net/wan/sdla_fr.c 2003-11-29 00:28:12.000000000 +0100
915 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdla_fr.c 2005-11-17 13:31:16.000000000 +0100
916 @@ -3929,7 +3929,7 @@ static int process_udp_mgmt_pkt(sdla_t*
920 - (void *)ptr_trc_el = card->u.f.curr_trc_el;
921 + ptr_trc_el = (void *)card->u.f.curr_trc_el;
924 fr_udp_pkt->data[0x00] = 0x00;
925 @@ -3980,7 +3980,7 @@ static int process_udp_mgmt_pkt(sdla_t*
928 if((void *)ptr_trc_el > card->u.f.trc_el_last)
929 - (void*)ptr_trc_el = card->u.f.trc_el_base;
930 + ptr_trc_el = (void*)card->u.f.trc_el_base;
932 buffer_length += sizeof(fpipemon_trc_hdr_t);
933 if(fpipemon_trc->fpipemon_trc_hdr.data_passed) {
934 diff -rupN linux-2.4.32/drivers/net/wan/sdladrv.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdladrv.c
935 --- linux-2.4.32/drivers/net/wan/sdladrv.c 2001-09-23 21:06:34.000000000 +0200
936 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdladrv.c 2005-11-17 13:31:16.000000000 +0100
937 @@ -1002,7 +1002,7 @@ int sdla_peek (sdlahw_t* hw, unsigned lo
938 peek_by_4 ((unsigned long)hw->dpmbase + curpos, buf,
941 - (char*)buf += curlen;
942 + buf = (char*)buf + curlen;
946 @@ -1086,7 +1086,7 @@ int sdla_poke (sdlahw_t* hw, unsigned lo
947 poke_by_4 ((unsigned long)hw->dpmbase + curpos, buf,
950 - (char*)buf += curlen;
951 + buf = (char*)buf + curlen;
955 @@ -2127,10 +2127,10 @@ static int detect_s514 (sdlahw_t* hw)
958 /* map the physical PCI memory to virtual memory */
959 - (void *)hw->dpmbase = ioremap((unsigned long)S514_mem_base_addr,
960 + hw->dpmbase = (void *)ioremap((unsigned long)S514_mem_base_addr,
961 (unsigned long)MAX_SIZEOF_S514_MEMORY);
962 /* map the physical control register memory to virtual memory */
963 - (void *)hw->vector = ioremap(
964 + hw->vector = (unsigned long)ioremap(
965 (unsigned long)(S514_mem_base_addr + S514_CTRL_REG_BYTE),
968 diff -rupN linux-2.4.32/drivers/net/wan/sdlamain.c linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdlamain.c
969 --- linux-2.4.32/drivers/net/wan/sdlamain.c 2003-11-29 00:28:12.000000000 +0100
970 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/net/wan/sdlamain.c 2005-11-17 13:31:16.000000000 +0100
971 @@ -1027,7 +1027,7 @@ static int ioctl_dump (sdla_t* card, sdl
975 - (char*)dump.ptr += len;
976 + dump.ptr = (char*)dump.ptr + len;
979 sdla_mapmem(&card->hw, oldvec);/* restore DPM window position */
980 diff -rupN linux-2.4.32/drivers/scsi/advansys.c linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/advansys.c
981 --- linux-2.4.32/drivers/scsi/advansys.c 2005-01-19 18:00:53.000000000 +0100
982 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/advansys.c 2005-11-17 13:31:16.000000000 +0100
983 @@ -3456,9 +3456,9 @@ do { \
985 * Default EEPROM Configuration structure defined in a_init.c.
987 -extern ADVEEP_3550_CONFIG Default_3550_EEPROM_Config;
988 -extern ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config;
989 -extern ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config;
990 +static ADVEEP_3550_CONFIG Default_3550_EEPROM_Config;
991 +static ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config;
992 +static ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config;
995 * DvcGetPhyAddr() flag arguments
996 @@ -7171,7 +7171,7 @@ asc_isr_callback(ASC_DVC_VAR *asc_dvc_va
997 * then return the number of underrun bytes.
999 if (scp->request_bufflen != 0 && qdonep->remain_bytes != 0 &&
1000 - qdonep->remain_bytes <= scp->request_bufflen != 0) {
1001 + qdonep->remain_bytes <= scp->request_bufflen) {
1002 ASC_DBG1(1, "asc_isr_callback: underrun condition %u bytes\n",
1003 (unsigned) qdonep->remain_bytes);
1004 scp->resid = qdonep->remain_bytes;
1005 diff -rupN linux-2.4.32/drivers/scsi/atp870u.c linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/atp870u.c
1006 --- linux-2.4.32/drivers/scsi/atp870u.c 2002-08-07 00:52:21.000000000 +0200
1007 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/atp870u.c 2005-11-17 13:31:16.000000000 +0100
1008 @@ -807,19 +807,19 @@ oktosend:
1009 bttl = virt_to_bus(sgpnt[j].address);
1010 l = sgpnt[j].length;
1011 while (l > 0x10000) {
1012 - (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x0000;
1013 - (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = 0x0000;
1014 - (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
1015 + (((unsigned short int *) (prd))[i + 3]) = 0x0000;
1016 + (((unsigned short int *) (prd))[i + 2]) = 0x0000;
1017 + (((unsigned long *) (prd))[i >> 1]) = bttl;
1022 - (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
1023 - (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = l;
1024 - (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0;
1025 + (((unsigned long *) (prd))[i >> 1]) = bttl;
1026 + (((unsigned short int *) (prd))[i + 2]) = l;
1027 + (((unsigned short int *) (prd))[i + 3]) = 0;
1030 - (unsigned short int) (((unsigned short int *) (prd))[i - 1]) = 0x8000;
1031 + (((unsigned short int *) (prd))[i - 1]) = 0x8000;
1034 * For a linear request write a chain of blocks
1035 @@ -828,16 +828,16 @@ oktosend:
1036 l = workrequ->request_bufflen;
1038 while (l > 0x10000) {
1039 - (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x0000;
1040 - (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = 0x0000;
1041 - (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
1042 + (((unsigned short int *) (prd))[i + 3]) = 0x0000;
1043 + (((unsigned short int *) (prd))[i + 2]) = 0x0000;
1044 + (((unsigned long *) (prd))[i >> 1]) = bttl;
1049 - (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x8000;
1050 - (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = l;
1051 - (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
1052 + (((unsigned short int *) (prd))[i + 3]) = 0x8000;
1053 + (((unsigned short int *) (prd))[i + 2]) = l;
1054 + (((unsigned long *) (prd))[i >> 1]) = bttl;
1056 tmpcip = tmpcip + 4;
1057 dev->id[target_id].prdaddru = virt_to_bus(dev->id[target_id].prd_tableu);
1058 diff -rupN linux-2.4.32/drivers/scsi/cpqfcTSstructs.h linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSstructs.h
1059 --- linux-2.4.32/drivers/scsi/cpqfcTSstructs.h 2004-02-18 15:16:23.000000000 +0100
1060 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSstructs.h 2005-11-17 13:31:16.000000000 +0100
1061 @@ -965,7 +965,6 @@ void fcSestReset(CPQFCHBA *);
1063 void cpqfc_pci_unmap(struct pci_dev *pcidev, Scsi_Cmnd * cmd, PTACHYON fcChip, __u32 x_ID);
1065 -extern const __u8 valid_al_pa[];
1066 extern const int number_of_al_pa;
1068 #define FCP_RESID_UNDER 0x80000
1069 diff -rupN linux-2.4.32/drivers/scsi/cpqfcTSworker.c linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSworker.c
1070 --- linux-2.4.32/drivers/scsi/cpqfcTSworker.c 2003-06-14 13:30:24.000000000 +0200
1071 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/scsi/cpqfcTSworker.c 2005-11-17 13:31:16.000000000 +0100
1073 #include "cpqfcTSchip.h"
1074 #include "cpqfcTSstructs.h"
1075 #include "cpqfcTStrigger.h"
1076 +static const __u8 valid_al_pa[];
1078 //#define LOGIN_DBG 1
1080 diff -rupN linux-2.4.32/drivers/sound/wavfront.c linux-2.4.32.more-gcc4-fixes-v1/drivers/sound/wavfront.c
1081 --- linux-2.4.32/drivers/sound/wavfront.c 2001-10-11 13:34:42.000000000 +0200
1082 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/sound/wavfront.c 2005-11-17 13:31:16.000000000 +0100
1083 @@ -2484,11 +2484,11 @@ static int __init detect_wavefront (int
1084 #include <linux/fs.h>
1085 #include <linux/mm.h>
1086 #include <linux/slab.h>
1087 -#include <linux/unistd.h>
1088 +static int my_errno;
1089 +#define errno my_errno
1090 +#include <asm/unistd.h>
1091 #include <asm/uaccess.h>
1096 wavefront_download_firmware (char *path)
1098 diff -rupN linux-2.4.32/drivers/usb/audio.c linux-2.4.32.more-gcc4-fixes-v1/drivers/usb/audio.c
1099 --- linux-2.4.32/drivers/usb/audio.c 2004-11-17 18:36:42.000000000 +0100
1100 +++ linux-2.4.32.more-gcc4-fixes-v1/drivers/usb/audio.c 2005-11-17 13:31:16.000000000 +0100
1101 @@ -462,6 +462,7 @@ struct usb_audio_state {
1103 /* prevent picking up a bogus abs macro */
1106 static inline int abs(int x)
1109 diff -rupN linux-2.4.32/fs/intermezzo/presto.c linux-2.4.32.more-gcc4-fixes-v1/fs/intermezzo/presto.c
1110 --- linux-2.4.32/fs/intermezzo/presto.c 2002-11-30 17:12:28.000000000 +0100
1111 +++ linux-2.4.32.more-gcc4-fixes-v1/fs/intermezzo/presto.c 2005-11-17 13:31:16.000000000 +0100
1112 @@ -344,8 +344,8 @@ int izo_mark_cache(struct dentry *dentry
1116 - ((int)cache->cache_flags) &= and_flag;
1117 - ((int)cache->cache_flags) |= or_flag;
1118 + cache->cache_flags &= and_flag;
1119 + cache->cache_flags |= or_flag;
1121 *res = (int)cache->cache_flags;
1123 @@ -383,8 +383,8 @@ int izo_mark_fset(struct dentry *dentry,
1124 make_bad_inode(dentry->d_inode);
1127 - ((int)fset->fset_flags) &= and_flag;
1128 - ((int)fset->fset_flags) |= or_flag;
1129 + fset->fset_flags &= and_flag;
1130 + fset->fset_flags |= or_flag;
1132 *res = (int)fset->fset_flags;
1134 diff -rupN linux-2.4.32/include/asm-ppc/spinlock.h linux-2.4.32.more-gcc4-fixes-v1/include/asm-ppc/spinlock.h
1135 --- linux-2.4.32/include/asm-ppc/spinlock.h 2003-06-14 13:30:28.000000000 +0200
1136 +++ linux-2.4.32.more-gcc4-fixes-v1/include/asm-ppc/spinlock.h 2005-11-17 13:31:16.000000000 +0100
1137 @@ -40,7 +40,6 @@ typedef struct {
1138 extern void _spin_lock(spinlock_t *lock);
1139 extern void _spin_unlock(spinlock_t *lock);
1140 extern int spin_trylock(spinlock_t *lock);
1141 -extern unsigned long __spin_trylock(volatile unsigned long *lock);
1143 #define spin_lock(lp) _spin_lock(lp)
1144 #define spin_unlock(lp) _spin_unlock(lp)
1145 diff -rupN linux-2.4.32/include/linux/fsfilter.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/fsfilter.h
1146 --- linux-2.4.32/include/linux/fsfilter.h 2004-11-17 18:36:42.000000000 +0100
1147 +++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/fsfilter.h 2005-11-17 13:31:16.000000000 +0100
1148 @@ -70,7 +70,6 @@ struct filter_fs {
1149 #define FILTER_FS_XFS 3
1150 #define FILTER_FS_OBDFS 4
1151 #define FILTER_FS_TMPFS 5
1152 -extern struct filter_fs filter_oppar[FILTER_FS_TYPES];
1154 struct filter_fs *filter_get_filter_fs(const char *cache_type);
1155 void filter_setup_journal_ops(struct filter_fs *ops, char *cache_type);
1156 diff -rupN linux-2.4.32/include/linux/generic_serial.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/generic_serial.h
1157 --- linux-2.4.32/include/linux/generic_serial.h 2002-02-26 13:26:58.000000000 +0100
1158 +++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/generic_serial.h 2005-11-17 13:31:16.000000000 +0100
1159 @@ -98,6 +98,4 @@ int gs_setserial(struct gs_port *port,
1160 int gs_getserial(struct gs_port *port, struct serial_struct *sp);
1161 void gs_got_break(struct gs_port *port);
1163 -extern int gs_debug;
1166 diff -rupN linux-2.4.32/include/linux/i2c.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/i2c.h
1167 --- linux-2.4.32/include/linux/i2c.h 2005-06-01 18:02:21.000000000 +0200
1168 +++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/i2c.h 2005-11-17 13:31:16.000000000 +0100
1169 @@ -70,7 +70,7 @@ extern int i2c_master_recv(struct i2c_cl
1171 /* Transfer num messages.
1173 -extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[],int num);
1174 +extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msg,int num);
1177 * Some adapter types (i.e. PCF 8584 based ones) may support slave behaviuor.
1178 @@ -197,7 +197,7 @@ struct i2c_algorithm {
1179 to NULL. If an adapter algorithm can do SMBus access, set
1180 smbus_xfer. If set to NULL, the SMBus protocol is simulated
1181 using common I2C messages */
1182 - int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg msgs[],
1183 + int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg *msgs,
1185 int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr,
1186 unsigned short flags, char read_write,
1187 diff -rupN linux-2.4.32/include/linux/intermezzo_fs.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/intermezzo_fs.h
1188 --- linux-2.4.32/include/linux/intermezzo_fs.h 2005-01-19 18:00:53.000000000 +0100
1189 +++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/intermezzo_fs.h 2005-11-17 13:31:16.000000000 +0100
1190 @@ -321,7 +321,6 @@ int presto_fwrite(struct file *file, con
1191 int presto_ispresto(struct inode *);
1194 -extern struct file_system_type presto_fs_type;
1195 extern int init_intermezzo_fs(void);
1198 diff -rupN linux-2.4.32/include/linux/nbd.h linux-2.4.32.more-gcc4-fixes-v1/include/linux/nbd.h
1199 --- linux-2.4.32/include/linux/nbd.h 2002-08-07 00:52:26.000000000 +0200
1200 +++ linux-2.4.32.more-gcc4-fixes-v1/include/linux/nbd.h 2005-11-17 13:31:16.000000000 +0100
1203 #include <linux/blk.h>
1206 -extern int requests_in;
1207 -extern int requests_out;
1211 -nbd_end_request(struct request *req)
1213 - struct buffer_head *bh;
1215 - unsigned long flags;
1216 - int uptodate = (req->errors == 0) ? 1 : 0;
1221 - spin_lock_irqsave(&io_request_lock, flags);
1222 - while((bh = req->bh) != NULL) {
1223 - nsect = bh->b_size >> 9;
1224 - blk_finished_io(nsect);
1225 - req->bh = bh->b_reqnext;
1226 - bh->b_reqnext = NULL;
1227 - bh->b_end_io(bh, uptodate);
1229 - blkdev_release_request(req);
1230 - spin_unlock_irqrestore(&io_request_lock, flags);
1236 diff -rupN linux-2.4.32/include/net/irda/irlan_event.h linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irlan_event.h
1237 --- linux-2.4.32/include/net/irda/irlan_event.h 1999-03-09 11:36:02.000000000 +0100
1238 +++ linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irlan_event.h 2005-11-17 13:31:16.000000000 +0100
1239 @@ -67,8 +67,6 @@ typedef enum {
1240 IRLAN_WATCHDOG_TIMEOUT,
1243 -extern char *irlan_state[];
1245 void irlan_do_client_event(struct irlan_cb *self, IRLAN_EVENT event,
1246 struct sk_buff *skb);
1248 diff -rupN linux-2.4.32/include/net/irda/irttp.h linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irttp.h
1249 --- linux-2.4.32/include/net/irda/irttp.h 2003-06-14 13:30:29.000000000 +0200
1250 +++ linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/irttp.h 2005-11-17 13:31:16.000000000 +0100
1251 @@ -209,6 +209,4 @@ static inline int irttp_is_primary(struc
1252 return(irlap_is_primary(self->lsap->lap->irlap));
1255 -extern struct irttp_cb *irttp;
1257 #endif /* IRTTP_H */
1258 diff -rupN linux-2.4.32/include/net/irda/qos.h linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/qos.h
1259 --- linux-2.4.32/include/net/irda/qos.h 2001-07-21 11:47:34.000000000 +0200
1260 +++ linux-2.4.32.more-gcc4-fixes-v1/include/net/irda/qos.h 2005-11-17 13:31:16.000000000 +0100
1261 @@ -83,7 +83,6 @@ struct qos_info {
1262 extern int sysctl_max_baud_rate;
1263 extern int sysctl_max_inactive_time;
1265 -extern __u32 baud_rates[];
1266 extern __u32 data_sizes[];
1267 extern __u32 min_turn_times[];
1268 extern __u32 add_bofs[];
1269 diff -rupN linux-2.4.32/include/net/udp.h linux-2.4.32.more-gcc4-fixes-v1/include/net/udp.h
1270 --- linux-2.4.32/include/net/udp.h 2005-01-19 18:00:53.000000000 +0100
1271 +++ linux-2.4.32.more-gcc4-fixes-v1/include/net/udp.h 2005-11-17 13:31:16.000000000 +0100
1273 #include <linux/udp.h>
1274 #include <linux/poll.h>
1275 #include <net/sock.h>
1276 +#include <net/snmp.h>
1278 #define UDP_HTABLE_SIZE 128
1280 diff -rupN linux-2.4.32/net/ipv6/ip6_fib.c linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/ip6_fib.c
1281 --- linux-2.4.32/net/ipv6/ip6_fib.c 2005-11-17 13:27:30.000000000 +0100
1282 +++ linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/ip6_fib.c 2005-11-17 13:31:16.000000000 +0100
1283 @@ -95,7 +95,7 @@ static __u32 rt_sernum = 0;
1285 static struct timer_list ip6_fib_timer = { function: fib6_run_gc };
1287 -static struct fib6_walker_t fib6_walker_list = {
1288 +struct fib6_walker_t fib6_walker_list = {
1289 &fib6_walker_list, &fib6_walker_list,
1292 diff -rupN linux-2.4.32/net/ipv6/sysctl_net_ipv6.c linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/sysctl_net_ipv6.c
1293 --- linux-2.4.32/net/ipv6/sysctl_net_ipv6.c 2004-04-14 20:22:21.000000000 +0200
1294 +++ linux-2.4.32.more-gcc4-fixes-v1/net/ipv6/sysctl_net_ipv6.c 2005-11-17 13:31:16.000000000 +0100
1295 @@ -31,17 +31,14 @@ ctl_table ipv6_table[] = {
1298 static struct ctl_table_header *ipv6_sysctl_header;
1299 -static struct ctl_table ipv6_root_table[];
1300 -static struct ctl_table ipv6_net_table[];
1303 -ctl_table ipv6_root_table[] = {
1304 - {CTL_NET, "net", NULL, 0, 0555, ipv6_net_table},
1305 +static ctl_table ipv6_net_table[] = {
1306 + {NET_IPV6, "ipv6", NULL, 0, 0555, ipv6_table},
1310 -ctl_table ipv6_net_table[] = {
1311 - {NET_IPV6, "ipv6", NULL, 0, 0555, ipv6_table},
1312 +static ctl_table ipv6_root_table[] = {
1313 + {CTL_NET, "net", NULL, 0, 0555, ipv6_net_table},
1317 diff -rupN linux-2.4.32/net/irda/qos.c linux-2.4.32.more-gcc4-fixes-v1/net/irda/qos.c
1318 --- linux-2.4.32/net/irda/qos.c 2003-11-29 00:28:15.000000000 +0100
1319 +++ linux-2.4.32.more-gcc4-fixes-v1/net/irda/qos.c 2005-11-17 13:31:16.000000000 +0100
1320 @@ -97,7 +97,7 @@ static int irlap_param_min_turn_time(voi
1323 __u32 min_turn_times[] = { 10000, 5000, 1000, 500, 100, 50, 10, 0 }; /* us */
1324 -__u32 baud_rates[] = { 2400, 9600, 19200, 38400, 57600, 115200, 576000,
1325 +static __u32 baud_rates[] = { 2400, 9600, 19200, 38400, 57600, 115200, 576000,
1326 1152000, 4000000, 16000000 }; /* bps */
1327 __u32 data_sizes[] = { 64, 128, 256, 512, 1024, 2048 }; /* bytes */
1328 __u32 add_bofs[] = { 48, 24, 12, 5, 3, 2, 1, 0 }; /* bytes */
1329 diff -rupN linux-2.4.32/net/khttpd/prototypes.h linux-2.4.32.more-gcc4-fixes-v1/net/khttpd/prototypes.h
1330 --- linux-2.4.32/net/khttpd/prototypes.h 2001-08-16 23:47:03.000000000 +0200
1331 +++ linux-2.4.32.more-gcc4-fixes-v1/net/khttpd/prototypes.h 2005-11-17 13:31:16.000000000 +0100
1332 @@ -49,7 +49,6 @@ extern int sysctl_khttpd_stop;
1333 extern struct khttpd_threadinfo threadinfo[CONFIG_KHTTPD_NUMCPU];
1334 extern char CurrentTime[];
1335 extern atomic_t ConnectCount;
1336 -extern struct wait_queue main_wait[CONFIG_KHTTPD_NUMCPU];