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<asn:1>
#   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<asn:1>
#   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<asn:1>
#   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] *<noident> )( ... )
# 
# 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<asn:1>
#   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<asn:1>
#   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 <asm/uaccess.h>
 
-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);
 
 	}
 }