bk://bk.arm.linux.org.uk/linux-2.6-rmk rmk@flint.arm.linux.org.uk|ChangeSet|20040808181621|47574 rmk # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/08/08 19:16:21+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix wdt977 sparse warnings # # drivers/char/watchdog/wdt977.c:291:9: warning: incorrect type in initializer (different address spaces) # drivers/char/watchdog/wdt977.c:291:9: expected char const [noderef] *register __p # drivers/char/watchdog/wdt977.c:291:9: got char const *buf # ... # # drivers/char/watchdog/wdt977.c # 2004/08/08 19:13:34+01:00 rmk@flint.arm.linux.org.uk +14 -7 # Clean up sparse warnings # # ChangeSet # 2004/08/08 18:05:49+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix nwflash sparse warnings # # drivers/char/nwflash.c # 2004/08/08 18:03:16+01:00 rmk@flint.arm.linux.org.uk +11 -12 # Fix multitude of sparse warnings # # ChangeSet # 2004/08/08 17:56:07+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix nwbutton sparse warnings # # drivers/char/nwbutton.c:177:24: warning: incorrect type in argument 1 (different address spaces)/home/rmk/bk/linux-2.6-rmk/drivers/char/nwbutton.c:177:24: expected void [noderef] *to # drivers/char/nwbutton.c:177:24: got char *buffer # drivers/char/nwbutton.c:177:24: warning: incorrect type in initializer (different address spaces) # drivers/char/nwbutton.c:177:24: expected void [noderef] *to # drivers/char/nwbutton.c:177:24: got char *buffer # drivers/char/nwbutton.c:189:11: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) # drivers/char/nwbutton.c:189:11: expected int [usertype] ( *read )( ... ) # drivers/char/nwbutton.c:189:11: got int ( static [addressable] [toplevel] * )( ... ) # # drivers/char/nwbutton.h # 2004/08/08 17:53:24+01:00 rmk@flint.arm.linux.org.uk +0 -2 # Remove unnecessary function prototype # # drivers/char/nwbutton.c # 2004/08/08 17:53:24+01:00 rmk@flint.arm.linux.org.uk +1 -1 # Fix sparse build warnings. # # ChangeSet # 2004/08/08 17:24:24+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix sparse warnings in ds1620.c # # drivers/char/ds1620.c:230:19: warning: incorrect type in argument 1 (different address spaces) # drivers/char/ds1620.c:230:19: expected void [noderef] *to # drivers/char/ds1620.c:230:19: got char *buf # drivers/char/ds1620.c:230:19: warning: incorrect type in initializer (different address spaces) # drivers/char/ds1620.c:230:19: expected void [noderef] *to # drivers/char/ds1620.c:230:19: got char *buf # ... # drivers/char/ds1620.c:383:52: warning: Using plain integer as NULL pointer # # drivers/char/ds1620.c # 2004/08/08 17:22:09+01:00 rmk@flint.arm.linux.org.uk +16 -10 # Fix sparse warnings in ds1620.c # # ChangeSet # 2004/08/08 16:50:31+01:00 rmk@flint.arm.linux.org.uk # [ARM] Eliminate io.c sparse warnings/ gcc 3.4 errors. # # arch/arm/kernel/io.c:15:5: warning: generating address of non-lvalue # arch/arm/kernel/io.c:15:5: warning: loading unknown expression # arch/arm/kernel/io.c:29:5: warning: generating address of non-lvalue # arch/arm/kernel/io.c:29:5: warning: loading unknown expression # # arch/arm/kernel/io.c # 2004/08/08 16:48:04+01:00 rmk@flint.arm.linux.org.uk +8 -6 # Eliminate sparse (and later gcc 3.4) warnings/errors. # # ChangeSet # 2004/08/08 16:04:49+01:00 rmk@flint.arm.linux.org.uk # [ARM] Fix sparse warnings in nwfpe. # # This fixes sparse warnings in fpa11_cpdt (coprocessor data transfer) # instruction emulation. Note that pointers need to be cast to unsigned # long not unsigned int, so convert user registers to be unsigned long # type. # # arch/arm/nwfpe/fpmodule.inl # 2004/08/08 16:02:28+01:00 rmk@flint.arm.linux.org.uk +11 -22 # Register values are unsigned long # # arch/arm/nwfpe/fpmodule.c # 2004/08/08 16:02:28+01:00 rmk@flint.arm.linux.org.uk +1 -1 # userregs are unsigned long # # arch/arm/nwfpe/fpa11_cpdt.c # 2004/08/08 16:02:27+01:00 rmk@flint.arm.linux.org.uk +24 -24 # CPDT instructions access userspace, mark them with __user # annotations. (User) addresses must be cast to unsigned long. # # arch/arm/nwfpe/fpa11.h # 2004/08/08 16:02:27+01:00 rmk@flint.arm.linux.org.uk +1 -1 # Make user registers unsigned long. # # ChangeSet # 2004/08/05 14:24:22-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/08/05 14:24:18-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/asm-arm/cacheflush.h # 2004/08/05 14:24:18-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/Kconfig # 2004/08/05 14:24:18-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/07/16 18:18:46-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/07/16 18:18:43-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/07/08 14:16:46-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/07/08 14:16:42-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/07/02 15:10:35-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/07/02 15:10:31-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/07/01 01:28:50-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/07/01 01:28:46-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/24 17:59:20-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/06/24 17:59:17-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/24 12:36:23-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/06/24 12:36:19-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/23 01:45:03-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/06/23 01:45:00-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/18 15:32:04-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/06/18 15:32:00-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/18 11:42:46-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/06/18 11:42:42-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/Kconfig # 2004/06/18 11:42:42-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/17 20:06:30-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/dead-bk-arm # # arch/arm/Kconfig # 2004/06/17 20:06:27-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/15 21:03:06-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/06/15 21:03:02-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/Kconfig # 2004/06/15 21:03:02-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/06 22:44:22-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/asm-arm/cacheflush.h # 2004/06/06 22:44:19-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/mm/fault-armv.c # 2004/06/06 22:44:19-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/03 10:19:08-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/06/03 10:19:05-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/06/02 13:16:03-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/06/02 13:16:00-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/28 16:59:44-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/28 16:59:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/28 13:17:09-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/28 13:17:06-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/24 11:23:36-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/05/24 11:23:32-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/24 11:21:47-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/24 11:21:43-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/22 23:26:13-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/22 23:26:09-07:00 akpm@bix.(none) +0 -0 # Auto merged # # include/asm-arm/cacheflush.h # 2004/05/22 23:26:09-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/mm/fault-armv.c # 2004/05/22 23:26:09-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/21 18:48:26-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/05/21 18:48:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/19 13:23:38-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/05/19 13:23:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/18 23:42:05-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/18 23:42:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/18 14:28:02-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/18 14:27:59-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/16 01:23:53-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/16 01:23:50-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/14 21:19:47-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/linux/pci_ids.h # 2004/05/14 21:19:44-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/14 01:37:50-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/05/14 01:37:45-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/05/09 21:06:39-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/05/09 21:06:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/29 15:40:20-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # arch/arm/mm/fault-armv.c # 2004/04/29 15:40:17-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/24 23:41:39-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/04/24 23:41:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/21 21:45:04-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/04/21 21:45:01-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/19 19:21:35-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/asm-arm/cacheflush.h # 2004/04/19 19:21:32-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/mm/fault-armv.c # 2004/04/19 19:21:32-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/12 20:39:35-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/asm-arm/cacheflush.h # 2004/04/12 20:39:33-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/mm/fault-armv.c # 2004/04/12 20:39:33-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/12 17:00:01-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # include/asm-arm/cacheflush.h # 2004/04/12 16:59:58-07:00 akpm@bix.(none) +0 -0 # Auto merged # # arch/arm/mm/fault-armv.c # 2004/04/12 16:59:58-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/08 14:53:48-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/04/08 14:53:46-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/05 15:36:29-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/04/05 15:36:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/04/04 16:01:39-07:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/04/04 16:01:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/03/27 02:24:52-08:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/dead-bk-arm # # arch/arm/Kconfig # 2004/03/27 02:24:49-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/03/25 10:54:20-08:00 akpm@bix.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/03/25 10:54:18-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/03/19 10:00:02-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/03/19 09:59:59-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/03/15 22:29:04-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/03/15 22:28:51-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/26 11:28:15-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/02/26 11:28:09-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/23 20:16:50-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/02/23 20:16:44-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/20 18:41:24-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/02/20 18:41:17-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/20 13:48:13-08:00 akpm@mnm.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into mnm.(none):/usr/src/bk-arm # # include/asm-arm/pci.h # 2004/02/20 13:48:07-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/20 13:45:54-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-arm # # arch/arm/Kconfig # 2004/02/20 13:45:48-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/10 12:08:32-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-arm # # include/asm-arm/pci.h # 2004/02/10 12:08:26-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/06 13:18:37-08:00 akpm@mnm.(none) # Merge mnm.(none):/usr/src/bk25 into mnm.(none):/usr/src/bk-arm # # include/asm-arm/pci.h # 2004/02/06 13:18:30-08:00 akpm@mnm.(none) +0 -0 # Auto merged # # ChangeSet # 2004/02/06 10:43:46-08:00 akpm@mnm.(none) # Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk # into mnm.(none):/usr/src/bk-arm # # include/asm-arm/pci.h # 2004/02/06 10:43:40-08:00 akpm@mnm.(none) +0 -0 # Auto merged # diff -Nru a/arch/arm/kernel/io.c b/arch/arm/kernel/io.c --- a/arch/arm/kernel/io.c 2004-08-08 12:42:32 -07:00 +++ b/arch/arm/kernel/io.c 2004-08-08 12:42:32 -07:00 @@ -7,12 +7,13 @@ * Copy data from IO memory space to "real" memory space. * This needs to be optimized. */ -void _memcpy_fromio(void * to, unsigned long from, size_t count) +void _memcpy_fromio(void *to, unsigned long from, size_t count) { + unsigned char *t = to; while (count) { count--; - *(char *) to = readb(from); - ((char *) to)++; + *t = readb(from); + t++; from++; } } @@ -21,12 +22,13 @@ * Copy data from "real" memory space to IO memory space. * This needs to be optimized. */ -void _memcpy_toio(unsigned long to, const void * from, size_t count) +void _memcpy_toio(unsigned long to, const void *from, size_t count) { + const unsigned char *f = from; while (count) { count--; - writeb(*(char *) from, to); - ((char *) from)++; + writeb(*f, to); + f++; to++; } } diff -Nru a/arch/arm/nwfpe/fpa11.h b/arch/arm/nwfpe/fpa11.h --- a/arch/arm/nwfpe/fpa11.h 2004-08-08 12:42:32 -07:00 +++ b/arch/arm/nwfpe/fpa11.h 2004-08-08 12:42:32 -07:00 @@ -29,7 +29,7 @@ * stack+task struct. Use the same method as 'current' uses to * reach them. */ -register unsigned int *user_registers asm("sl"); +register unsigned long *user_registers asm("sl"); #define GET_USERREG() (user_registers) diff -Nru a/arch/arm/nwfpe/fpa11_cpdt.c b/arch/arm/nwfpe/fpa11_cpdt.c --- a/arch/arm/nwfpe/fpa11_cpdt.c 2004-08-08 12:42:32 -07:00 +++ b/arch/arm/nwfpe/fpa11_cpdt.c 2004-08-08 12:42:32 -07:00 @@ -29,14 +29,14 @@ #include -static inline void loadSingle(const unsigned int Fn, const unsigned int *pMem) +static inline void loadSingle(const unsigned int Fn, const unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); fpa11->fType[Fn] = typeSingle; get_user(fpa11->fpreg[Fn].fSingle, pMem); } -static inline void loadDouble(const unsigned int Fn, const unsigned int *pMem) +static inline void loadDouble(const unsigned int Fn, const unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); unsigned int *p; @@ -47,7 +47,7 @@ } #ifdef CONFIG_FPE_NWFPE_XP -static inline void loadExtended(const unsigned int Fn, const unsigned int *pMem) +static inline void loadExtended(const unsigned int Fn, const unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); unsigned int *p; @@ -59,7 +59,7 @@ } #endif -static inline void loadMultiple(const unsigned int Fn, const unsigned int *pMem) +static inline void loadMultiple(const unsigned int Fn, const unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); register unsigned int *p; @@ -91,7 +91,7 @@ } } -static inline void storeSingle(const unsigned int Fn, unsigned int *pMem) +static inline void storeSingle(const unsigned int Fn, unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); union { @@ -117,7 +117,7 @@ put_user(val.i[0], pMem); } -static inline void storeDouble(const unsigned int Fn, unsigned int *pMem) +static inline void storeDouble(const unsigned int Fn, unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); union { @@ -145,7 +145,7 @@ } #ifdef CONFIG_FPE_NWFPE_XP -static inline void storeExtended(const unsigned int Fn, unsigned int *pMem) +static inline void storeExtended(const unsigned int Fn, unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); union { @@ -172,7 +172,7 @@ } #endif -static inline void storeMultiple(const unsigned int Fn, unsigned int *pMem) +static inline void storeMultiple(const unsigned int Fn, unsigned int __user *pMem) { FPA11 *fpa11 = GET_FPA11(); register unsigned int nType, *p; @@ -204,10 +204,10 @@ unsigned int PerformLDF(const unsigned int opcode) { - unsigned int *pBase, *pAddress, *pFinal, nRc = 1, - write_back = WRITE_BACK(opcode); + unsigned int __user *pBase, *pAddress, *pFinal; + unsigned int nRc = 1, write_back = WRITE_BACK(opcode); - pBase = (unsigned int *) readRegister(getRn(opcode)); + pBase = (unsigned int __user *) readRegister(getRn(opcode)); if (REG_PC == getRn(opcode)) { pBase += 2; write_back = 0; @@ -241,18 +241,18 @@ } if (write_back) - writeRegister(getRn(opcode), (unsigned int) pFinal); + writeRegister(getRn(opcode), (unsigned long) pFinal); return nRc; } unsigned int PerformSTF(const unsigned int opcode) { - unsigned int *pBase, *pAddress, *pFinal, nRc = 1, - write_back = WRITE_BACK(opcode); + unsigned int __user *pBase, *pAddress, *pFinal; + unsigned int nRc = 1, write_back = WRITE_BACK(opcode); SetRoundingMode(ROUND_TO_NEAREST); - pBase = (unsigned int *) readRegister(getRn(opcode)); + pBase = (unsigned int __user *) readRegister(getRn(opcode)); if (REG_PC == getRn(opcode)) { pBase += 2; write_back = 0; @@ -286,16 +286,16 @@ } if (write_back) - writeRegister(getRn(opcode), (unsigned int) pFinal); + writeRegister(getRn(opcode), (unsigned long) pFinal); return nRc; } unsigned int PerformLFM(const unsigned int opcode) { - unsigned int i, Fd, *pBase, *pAddress, *pFinal, - write_back = WRITE_BACK(opcode); + unsigned int __user *pBase, *pAddress, *pFinal; + unsigned int i, Fd, write_back = WRITE_BACK(opcode); - pBase = (unsigned int *) readRegister(getRn(opcode)); + pBase = (unsigned int __user *) readRegister(getRn(opcode)); if (REG_PC == getRn(opcode)) { pBase += 2; write_back = 0; @@ -322,16 +322,16 @@ } if (write_back) - writeRegister(getRn(opcode), (unsigned int) pFinal); + writeRegister(getRn(opcode), (unsigned long) pFinal); return 1; } unsigned int PerformSFM(const unsigned int opcode) { - unsigned int i, Fd, *pBase, *pAddress, *pFinal, - write_back = WRITE_BACK(opcode); + unsigned int __user *pBase, *pAddress, *pFinal; + unsigned int i, Fd, write_back = WRITE_BACK(opcode); - pBase = (unsigned int *) readRegister(getRn(opcode)); + pBase = (unsigned int __user *) readRegister(getRn(opcode)); if (REG_PC == getRn(opcode)) { pBase += 2; write_back = 0; @@ -358,7 +358,7 @@ } if (write_back) - writeRegister(getRn(opcode), (unsigned int) pFinal); + writeRegister(getRn(opcode), (unsigned long) pFinal); return 1; } diff -Nru a/arch/arm/nwfpe/fpmodule.c b/arch/arm/nwfpe/fpmodule.c --- a/arch/arm/nwfpe/fpmodule.c 2004-08-08 12:42:32 -07:00 +++ b/arch/arm/nwfpe/fpmodule.c 2004-08-08 12:42:32 -07:00 @@ -131,7 +131,7 @@ #ifdef CONFIG_DEBUG_USER printk(KERN_DEBUG - "NWFPE: %s[%d] takes exception %08x at %p from %08x\n", + "NWFPE: %s[%d] takes exception %08x at %p from %08lx\n", current->comm, current->pid, flags, __builtin_return_address(0), GET_USERREG()[15]); #endif diff -Nru a/arch/arm/nwfpe/fpmodule.inl b/arch/arm/nwfpe/fpmodule.inl --- a/arch/arm/nwfpe/fpmodule.inl 2004-08-08 12:42:32 -07:00 +++ b/arch/arm/nwfpe/fpmodule.inl 2004-08-08 12:42:32 -07:00 @@ -19,8 +19,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -extern __inline__ -unsigned int readRegister(const unsigned int nReg) +static inline unsigned long readRegister(const unsigned int nReg) { /* Note: The CPU thinks it has dealt with the current instruction. As a result the program counter has been advanced to the next @@ -29,34 +28,31 @@ for this in this routine. LDF/STF instructions with Rn = PC depend on the PC being correct, as they use PC+8 in their address calculations. */ - unsigned int *userRegisters = GET_USERREG(); + unsigned long *userRegisters = GET_USERREG(); unsigned int val = userRegisters[nReg]; if (REG_PC == nReg) val -= 4; return val; } -extern __inline__ -void writeRegister(const unsigned int nReg, const unsigned int val) +static inline void +writeRegister(const unsigned int nReg, const unsigned long val) { - unsigned int *userRegisters = GET_USERREG(); + unsigned long *userRegisters = GET_USERREG(); userRegisters[nReg] = val; } -extern __inline__ -unsigned int readCPSR(void) +static inline unsigned long readCPSR(void) { return (readRegister(REG_CPSR)); } -extern __inline__ -void writeCPSR(const unsigned int val) +static inline void writeCPSR(const unsigned long val) { writeRegister(REG_CPSR, val); } -extern __inline__ -unsigned int readConditionCodes(void) +static inline unsigned long readConditionCodes(void) { #ifdef __FPEM_TEST__ return (0); @@ -65,21 +61,14 @@ #endif } -extern __inline__ -void writeConditionCodes(const unsigned int val) +static inline void writeConditionCodes(const unsigned long val) { - unsigned int *userRegisters = GET_USERREG(); - unsigned int rval; + unsigned long *userRegisters = GET_USERREG(); + unsigned long rval; /* * Operate directly on userRegisters since * the CPSR may be the PC register itself. */ rval = userRegisters[REG_CPSR] & ~CC_MASK; userRegisters[REG_CPSR] = rval | (val & CC_MASK); -} - -extern __inline__ -unsigned int readMemoryInt(unsigned int *pMem) -{ - return *pMem; } diff -Nru a/drivers/char/ds1620.c b/drivers/char/ds1620.c --- a/drivers/char/ds1620.c 2004-08-08 12:42:32 -07:00 +++ b/drivers/char/ds1620.c 2004-08-08 12:42:32 -07:00 @@ -213,7 +213,7 @@ } static ssize_t -ds1620_read(struct file *file, char *buf, size_t count, loff_t *ptr) +ds1620_read(struct file *file, char __user *buf, size_t count, loff_t *ptr) { signed int cur_temp; signed char cur_temp_degF; @@ -233,8 +233,14 @@ ds1620_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { struct therm therm; + union { + struct therm __user *therm; + int __user *i; + } uarg; int i; + uarg.i = (int __user *)arg; + switch(cmd) { case CMD_SET_THERMOSTATE: case CMD_SET_THERMOSTATE2: @@ -242,11 +248,11 @@ return -EPERM; if (cmd == CMD_SET_THERMOSTATE) { - if (get_user(therm.hi, (int *)arg)) + if (get_user(therm.hi, uarg.i)) return -EFAULT; therm.lo = therm.hi - 3; } else { - if (copy_from_user(&therm, (void *)arg, sizeof(therm))) + if (copy_from_user(&therm, uarg.therm, sizeof(therm))) return -EFAULT; } @@ -264,10 +270,10 @@ therm.hi >>= 1; if (cmd == CMD_GET_THERMOSTATE) { - if (put_user(therm.hi, (int *)arg)) + if (put_user(therm.hi, uarg.i)) return -EFAULT; } else { - if (copy_to_user((void *)arg, &therm, sizeof(therm))) + if (copy_to_user(uarg.therm, &therm, sizeof(therm))) return -EFAULT; } break; @@ -279,23 +285,23 @@ if (cmd == CMD_GET_TEMPERATURE) i >>= 1; - return put_user(i, (int *)arg) ? -EFAULT : 0; + return put_user(i, uarg.i) ? -EFAULT : 0; case CMD_GET_STATUS: i = ds1620_in(THERM_READ_CONFIG, 8) & 0xe3; - return put_user(i, (int *)arg) ? -EFAULT : 0; + return put_user(i, uarg.i) ? -EFAULT : 0; case CMD_GET_FAN: i = netwinder_get_fan(); - return put_user(i, (int *)arg) ? -EFAULT : 0; + return put_user(i, uarg.i) ? -EFAULT : 0; case CMD_SET_FAN: if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (get_user(i, (int *)arg)) + if (get_user(i, uarg.i)) return -EFAULT; netwinder_set_fan(i); @@ -377,7 +383,7 @@ return ret; #ifdef THERM_USE_PROC - proc_therm_ds1620 = create_proc_entry("therm", 0, 0); + proc_therm_ds1620 = create_proc_entry("therm", 0, NULL); if (proc_therm_ds1620) proc_therm_ds1620->read_proc = proc_therm_ds1620_read; else diff -Nru a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c --- a/drivers/char/nwbutton.c 2004-08-08 12:42:32 -07:00 +++ b/drivers/char/nwbutton.c 2004-08-08 12:42:32 -07:00 @@ -170,7 +170,7 @@ * device at any one time. */ -static int button_read (struct file *filp, char *buffer, +static int button_read (struct file *filp, char __user *buffer, size_t count, loff_t *ppos) { interruptible_sleep_on (&button_wait_queue); diff -Nru a/drivers/char/nwbutton.h b/drivers/char/nwbutton.h --- a/drivers/char/nwbutton.h 2004-08-08 12:42:32 -07:00 +++ b/drivers/char/nwbutton.h 2004-08-08 12:42:32 -07:00 @@ -26,8 +26,6 @@ static void button_sequence_finished (unsigned long parameters); static irqreturn_t button_handler (int irq, void *dev_id, struct pt_regs *regs); -static int button_read (struct file *filp, char *buffer, - size_t count, loff_t *ppos); int button_init (void); int button_add_callback (void (*callback) (void), int count); int button_del_callback (void (*callback) (void)); diff -Nru a/drivers/char/nwflash.c b/drivers/char/nwflash.c --- a/drivers/char/nwflash.c 2004-08-08 12:42:32 -07:00 +++ b/drivers/char/nwflash.c 2004-08-08 12:42:32 -07:00 @@ -43,11 +43,7 @@ static void kick_open(void); static int get_flash_id(void); static int erase_block(int nBlock); -static int write_block(unsigned long p, const char *buf, int count); -static int flash_ioctl(struct inode *inodep, struct file *filep, unsigned int cmd, unsigned long arg); -static ssize_t flash_read(struct file *file, char *buf, size_t count, loff_t * ppos); -static ssize_t flash_write(struct file *file, const char *buf, size_t count, loff_t * ppos); -static loff_t flash_llseek(struct file *file, loff_t offset, int orig); +static int write_block(unsigned long p, const char __user *buf, int count); #define KFLASH_SIZE 1024*1024 //1 Meg #define KFLASH_SIZE4 4*1024*1024 //4 Meg @@ -132,15 +128,16 @@ return 0; } -static ssize_t flash_read(struct file *file, char *buf, size_t size, loff_t * ppos) +static ssize_t flash_read(struct file *file, char __user *buf, size_t size, + loff_t *ppos) { unsigned long p = *ppos; unsigned int count = size; int ret = 0; if (flashdebug) - printk(KERN_DEBUG "flash_read: flash_read: offset=0x%lX, buffer=%p, count=0x%X.\n", - p, buf, count); + printk(KERN_DEBUG "flash_read: flash_read: offset=0x%lX, " + "buffer=%p, count=0x%X.\n", p, buf, count); if (count) ret = -ENXIO; @@ -166,7 +163,8 @@ return ret; } -static ssize_t flash_write(struct file *file, const char *buf, size_t size, loff_t * ppos) +static ssize_t flash_write(struct file *file, const char __user *buf, + size_t size, loff_t * ppos) { unsigned long p = *ppos; unsigned int count = size; @@ -244,8 +242,9 @@ break; } if (flashdebug) - printk(KERN_DEBUG "flash_write: writing offset %lX, from buf " - "%p, bytes left %X.\n", p, buf, count - written); + printk(KERN_DEBUG "flash_write: writing offset %lX, " + "from buf %p, bytes left %X.\n", p, buf, + count - written); /* * write_block will limit write to space left in this block @@ -460,7 +459,7 @@ /* * write_block will limit number of bytes written to the space in this block */ -static int write_block(unsigned long p, const char *buf, int count) +static int write_block(unsigned long p, const char __user *buf, int count) { volatile unsigned int c1; volatile unsigned int c2; diff -Nru a/drivers/char/watchdog/wdt977.c b/drivers/char/watchdog/wdt977.c --- a/drivers/char/watchdog/wdt977.c 2004-08-08 12:42:32 -07:00 +++ b/drivers/char/watchdog/wdt977.c 2004-08-08 12:42:32 -07:00 @@ -273,7 +273,8 @@ * write of data will do, as we we don't define content meaning. */ -static ssize_t wdt977_write(struct file *file, const char *buf, size_t count, loff_t *ppos) +static ssize_t wdt977_write(struct file *file, const char __user *buf, + size_t count, loff_t *ppos) { /* Can't seek (pwrite) on this device */ if (ppos != &file->f_pos) @@ -325,6 +326,12 @@ int status; int new_options, retval = -EINVAL; int new_timeout; + union { + struct watchdog_info __user *ident; + int __user *i; + } uarg; + + uarg.i = (int __user *)arg; switch(cmd) { @@ -332,22 +339,22 @@ return -ENOIOCTLCMD; case WDIOC_GETSUPPORT: - return copy_to_user((struct watchdog_info *)arg, &ident, + return copy_to_user(uarg.ident, &ident, sizeof(ident)) ? -EFAULT : 0; case WDIOC_GETSTATUS: wdt977_get_status(&status); - return put_user(status, (int *) arg); + return put_user(status, uarg.i); case WDIOC_GETBOOTSTATUS: - return put_user(0, (int *) arg); + return put_user(0, uarg.i); case WDIOC_KEEPALIVE: wdt977_keepalive(); return 0; case WDIOC_SETOPTIONS: - if (get_user (new_options, (int *) arg)) + if (get_user (new_options, uarg.i)) return -EFAULT; if (new_options & WDIOS_DISABLECARD) { @@ -363,7 +370,7 @@ return retval; case WDIOC_SETTIMEOUT: - if (get_user(new_timeout, (int *) arg)) + if (get_user(new_timeout, uarg.i)) return -EFAULT; if (wdt977_set_timeout(new_timeout)) @@ -373,7 +380,7 @@ /* Fall */ case WDIOC_GETTIMEOUT: - return put_user(timeout, (int *)arg); + return put_user(timeout, uarg.i); } }