You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(47) |
Sep
(524) |
Oct
(365) |
Nov
(277) |
Dec
(178) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(431) |
Feb
(340) |
Mar
(249) |
Apr
(678) |
May
(407) |
Jun
(449) |
Jul
(712) |
Aug
(391) |
Sep
(205) |
Oct
(692) |
Nov
(45) |
Dec
(61) |
| 2002 |
Jan
(237) |
Feb
(28) |
Mar
(138) |
Apr
(59) |
May
(75) |
Jun
(65) |
Jul
|
Aug
(26) |
Sep
(3) |
Oct
(294) |
Nov
(193) |
Dec
(121) |
| 2003 |
Jan
(160) |
Feb
(2) |
Mar
(277) |
Apr
(71) |
May
(252) |
Jun
(82) |
Jul
(211) |
Aug
(184) |
Sep
(105) |
Oct
(129) |
Nov
(46) |
Dec
(13) |
| 2004 |
Jan
(37) |
Feb
(113) |
Mar
(115) |
Apr
(115) |
May
(45) |
Jun
(141) |
Jul
(13) |
Aug
(82) |
Sep
(12) |
Oct
(69) |
Nov
|
Dec
(37) |
| 2005 |
Jan
(18) |
Feb
(5) |
Mar
(79) |
Apr
(9) |
May
(47) |
Jun
(60) |
Jul
(10) |
Aug
(89) |
Sep
(28) |
Oct
(65) |
Nov
(54) |
Dec
(23) |
| 2006 |
Jan
(198) |
Feb
(51) |
Mar
(23) |
Apr
|
May
|
Jun
(6) |
Jul
(103) |
Aug
(217) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Paul M. <le...@us...> - 2006-08-07 01:48:32
|
Update of /cvsroot/linuxsh/linux/include/asm-sh/sh2000 In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv22616/include/asm-sh/sh2000 Removed Files: sh2000.h Log Message: Kill unmaintained sh2000 board. --- sh2000.h DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:44:29
|
Update of /cvsroot/linuxsh/linux/arch/sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21067/arch/sh Modified Files: Kconfig Makefile Log Message: Kill unmaintained cat68701 board. Index: Kconfig =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Kconfig,v retrieving revision 1.106 retrieving revision 1.107 diff -u -d -r1.106 -r1.107 --- Kconfig 7 Aug 2006 01:40:32 -0000 1.106 +++ Kconfig 7 Aug 2006 01:44:25 -0000 1.107 @@ -117,9 +117,6 @@ <http://www.m17n.org/linux-sh/dreamcast/>. There is a Dreamcast project is at <http://linuxdc.sourceforge.net/>. -config SH_CAT68701 - bool "CAT68701" - config SH_BIGSUR bool "BigSur" @@ -227,7 +224,7 @@ config CF_ENABLER bool "Compact Flash Enabler support" - depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701 || SH_SH03 + depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03 ---help--- Compact Flash is a small, removable mass storage device introduced in 1994 originally as a PCMCIA device. If you say `Y' here, you @@ -399,7 +396,7 @@ config HEARTBEAT bool "Heartbeat LED" - depends on SH_MPC1211 || SH_SH03 || SH_CAT68701 || \ + depends on SH_MPC1211 || SH_SH03 || \ SH_BIGSUR || \ SH_7751_SOLUTION_ENGINE || SH_7300_SOLUTION_ENGINE || \ SH_73180_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || \ Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Makefile,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- Makefile 7 Aug 2006 01:40:32 -0000 1.69 +++ Makefile 7 Aug 2006 01:44:25 -0000 1.70 @@ -90,7 +90,6 @@ machdir-$(CONFIG_SH_EC3104) := ec3104 machdir-$(CONFIG_SH_SATURN) := saturn machdir-$(CONFIG_SH_DREAMCAST) := dreamcast -machdir-$(CONFIG_SH_CAT68701) := cat68701 machdir-$(CONFIG_SH_BIGSUR) := bigsur machdir-$(CONFIG_SH_SH2000) := sh2000 machdir-$(CONFIG_SH_ADX) := adx |
|
From: Paul M. <le...@us...> - 2006-08-07 01:44:29
|
Update of /cvsroot/linuxsh/linux/include/asm-sh/cat68701 In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21067/include/asm-sh/cat68701 Removed Files: io.h Log Message: Kill unmaintained cat68701 board. --- io.h DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:44:29
|
Update of /cvsroot/linuxsh/linux/arch/sh/boards/cat68701 In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv21067/arch/sh/boards/cat68701 Removed Files: Makefile irq.c setup.c Log Message: Kill unmaintained cat68701 board. --- Makefile DELETED --- --- irq.c DELETED --- --- setup.c DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:40:39
|
Update of /cvsroot/linuxsh/linux/include/asm-sh/cqreek In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv19022/include/asm-sh/cqreek Removed Files: cqreek.h Log Message: Kill unmaintained cqreek board. --- cqreek.h DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:40:37
|
Update of /cvsroot/linuxsh/linux/arch/sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv19022/arch/sh Modified Files: Kconfig Makefile Log Message: Kill unmaintained cqreek board. Index: Kconfig =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Kconfig,v retrieving revision 1.105 retrieving revision 1.106 diff -u -d -r1.105 -r1.106 --- Kconfig 7 Aug 2006 01:36:25 -0000 1.105 +++ Kconfig 7 Aug 2006 01:40:32 -0000 1.106 @@ -96,13 +96,6 @@ More information (hardware only) at <http://www.hp.com/jornada/>. -config SH_CQREEK - bool "CqREEK" - help - Select CqREEK if configuring for a CqREEK SH7708 or SH7750. - More information at - <http://sources.redhat.com/ecos/hardware.html#SuperH>. - config SH_EC3104 bool "EC3104" help Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Makefile,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- Makefile 7 Aug 2006 01:36:25 -0000 1.68 +++ Makefile 7 Aug 2006 01:40:32 -0000 1.69 @@ -87,7 +87,6 @@ machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 machdir-$(CONFIG_SH_HP6XX) := hp6xx -machdir-$(CONFIG_SH_CQREEK) := cqreek machdir-$(CONFIG_SH_EC3104) := ec3104 machdir-$(CONFIG_SH_SATURN) := saturn machdir-$(CONFIG_SH_DREAMCAST) := dreamcast |
|
From: Paul M. <le...@us...> - 2006-08-07 01:40:36
|
Update of /cvsroot/linuxsh/linux/arch/sh/boards/cqreek In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv19022/arch/sh/boards/cqreek Removed Files: Makefile irq.c setup.c Log Message: Kill unmaintained cqreek board. --- Makefile DELETED --- --- irq.c DELETED --- --- setup.c DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:40:36
|
Update of /cvsroot/linuxsh/linux/arch/sh/configs In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv19022/arch/sh/configs Removed Files: cqreek_defconfig Log Message: Kill unmaintained cqreek board. --- cqreek_defconfig DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:36:28
|
Update of /cvsroot/linuxsh/linux/include/asm-sh/dmida In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv17870/include/asm-sh/dmida Removed Files: io.h Log Message: Kill unmaintained dmida board. --- io.h DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:36:28
|
Update of /cvsroot/linuxsh/linux/arch/sh/boards/dmida In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv17870/arch/sh/boards/dmida Removed Files: Makefile mach.c Log Message: Kill unmaintained dmida board. --- Makefile DELETED --- --- mach.c DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:36:28
|
Update of /cvsroot/linuxsh/linux/arch/sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv17870/arch/sh Modified Files: Kconfig Makefile Log Message: Kill unmaintained dmida board. Index: Kconfig =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Kconfig,v retrieving revision 1.104 retrieving revision 1.105 diff -u -d -r1.104 -r1.105 --- Kconfig 7 Aug 2006 01:28:25 -0000 1.104 +++ Kconfig 7 Aug 2006 01:36:25 -0000 1.105 @@ -103,12 +103,6 @@ More information at <http://sources.redhat.com/ecos/hardware.html#SuperH>. -config SH_DMIDA - bool "DMIDA" - help - Select DMIDA if configuring for a DataMyte 4000 Industrial - Digital Assistant. More information at <http://www.dmida.com/>. - config SH_EC3104 bool "EC3104" help Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Makefile,v retrieving revision 1.67 retrieving revision 1.68 diff -u -d -r1.67 -r1.68 --- Makefile 7 Aug 2006 01:28:25 -0000 1.67 +++ Makefile 7 Aug 2006 01:36:25 -0000 1.68 @@ -88,7 +88,6 @@ machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 machdir-$(CONFIG_SH_HP6XX) := hp6xx machdir-$(CONFIG_SH_CQREEK) := cqreek -machdir-$(CONFIG_SH_DMIDA) := dmida machdir-$(CONFIG_SH_EC3104) := ec3104 machdir-$(CONFIG_SH_SATURN) := saturn machdir-$(CONFIG_SH_DREAMCAST) := dreamcast |
|
From: Paul M. <le...@us...> - 2006-08-07 01:33:13
|
Update of /cvsroot/linuxsh/linux/include/asm-sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv16340/include/asm-sh Modified Files: dma.h Log Message: Fixup whitespace damage. Index: dma.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/dma.h,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- dma.h 4 Aug 2006 20:04:22 -0000 1.19 +++ dma.h 7 Aug 2006 01:33:04 -0000 1.20 @@ -90,7 +90,7 @@ wait_queue_head_t wait_queue; struct sys_device dev; - char *name; + char *name; }; struct dma_info { |
|
From: Paul M. <le...@us...> - 2006-08-07 01:28:30
|
Update of /cvsroot/linuxsh/linux/arch/sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14275/arch/sh Modified Files: Kconfig Makefile Log Message: Kill unmaintained harp and overdrive boards. Index: Kconfig =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Kconfig,v retrieving revision 1.103 retrieving revision 1.104 diff -u -d -r1.103 -r1.104 --- Kconfig 3 Aug 2006 06:55:14 -0000 1.103 +++ Kconfig 7 Aug 2006 01:28:25 -0000 1.104 @@ -89,12 +89,6 @@ Select SystemH if you are configuring for a Renesas SystemH 7751R evaluation board. -config SH_STB1_HARP - bool "STB1_Harp" - -config SH_STB1_OVERDRIVE - bool "STB1_Overdrive" - config SH_HP6XX bool "HP6XX" help @@ -419,7 +413,7 @@ config HEARTBEAT bool "Heartbeat LED" depends on SH_MPC1211 || SH_SH03 || SH_CAT68701 || \ - SH_STB1_HARP || SH_STB1_OVERDRIVE || SH_BIGSUR || \ + SH_BIGSUR || \ SH_7751_SOLUTION_ENGINE || SH_7300_SOLUTION_ENGINE || \ SH_73180_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || \ SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK Index: Makefile =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/Makefile,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- Makefile 2 Aug 2006 15:02:20 -0000 1.66 +++ Makefile 7 Aug 2006 01:28:25 -0000 1.67 @@ -86,8 +86,6 @@ machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751 machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 -machdir-$(CONFIG_SH_STB1_HARP) := harp -machdir-$(CONFIG_SH_STB1_OVERDRIVE) := overdrive machdir-$(CONFIG_SH_HP6XX) := hp6xx machdir-$(CONFIG_SH_CQREEK) := cqreek machdir-$(CONFIG_SH_DMIDA) := dmida |
|
From: Paul M. <le...@us...> - 2006-08-07 01:28:30
|
Update of /cvsroot/linuxsh/linux/include/asm-sh/harp In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14275/include/asm-sh/harp Removed Files: harp.h io.h Log Message: Kill unmaintained harp and overdrive boards. --- harp.h DELETED --- --- io.h DELETED --- |
Update of /cvsroot/linuxsh/linux/arch/sh/boards/overdrive In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14275/arch/sh/boards/overdrive Removed Files: Makefile fpga.c galileo.c io.c irq.c led.c mach.c overdrive.ttf pcidma.c setup.c Log Message: Kill unmaintained harp and overdrive boards. --- Makefile DELETED --- --- fpga.c DELETED --- --- galileo.c DELETED --- --- io.c DELETED --- --- irq.c DELETED --- --- led.c DELETED --- --- mach.c DELETED --- --- overdrive.ttf DELETED --- --- pcidma.c DELETED --- --- setup.c DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:28:29
|
Update of /cvsroot/linuxsh/linux/include/asm-sh/overdrive In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14275/include/asm-sh/overdrive Removed Files: fpga.h gt64111.h io.h overdrive.h Log Message: Kill unmaintained harp and overdrive boards. --- fpga.h DELETED --- --- gt64111.h DELETED --- --- io.h DELETED --- --- overdrive.h DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:28:29
|
Update of /cvsroot/linuxsh/linux/arch/sh/boards/harp In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14275/arch/sh/boards/harp Removed Files: Makefile irq.c led.c mach.c pcidma.c setup.c Log Message: Kill unmaintained harp and overdrive boards. --- Makefile DELETED --- --- irq.c DELETED --- --- led.c DELETED --- --- mach.c DELETED --- --- pcidma.c DELETED --- --- setup.c DELETED --- |
|
From: Paul M. <le...@us...> - 2006-08-07 01:08:31
|
Update of /cvsroot/linuxsh/linux/drivers/char/watchdog In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv8255/drivers/char/watchdog Modified Files: Kconfig shwdt.c Log Message: mmap() support for shwdt. Index: Kconfig =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/watchdog/Kconfig,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Kconfig 7 Aug 2006 00:50:05 -0000 1.1 +++ Kconfig 7 Aug 2006 01:08:26 -0000 1.2 @@ -510,6 +510,14 @@ To compile this driver as a module, choose M here: the module will be called shwdt. +config SH_WDT_MMAP + bool "Allow mmap of SH WDT" + default n + depends on SH_WDT + help + If you say Y here, user applications will be able to mmap the + WDT/CPG registers. +# # SPARC64 Architecture config WATCHDOG_CP1XXX Index: shwdt.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/watchdog/shwdt.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- shwdt.c 7 Aug 2006 00:50:05 -0000 1.13 +++ shwdt.c 7 Aug 2006 01:08:26 -0000 1.14 @@ -28,7 +28,7 @@ #include <linux/notifier.h> #include <linux/ioport.h> #include <linux/fs.h> - +#include <linux/mm.h> #include <asm/io.h> #include <asm/uaccess.h> #include <asm/watchdog.h> @@ -259,6 +259,55 @@ } /** + * sh_wdt_mmap - map WDT/CPG registers into userspace + * @file: file structure for the device + * @vma: VMA to map the registers into + * + * A simple mmap() implementation for the corner cases where the counter + * needs to be mapped in userspace directly. Due to the relatively small + * size of the area, neighbouring registers not necessarily tied to the + * CPG will also be accessible through the register page, so this remains + * configurable for users that really know what they're doing. + * + * Additionaly, the register page maps in the CPG register base relative + * to the nearest page-aligned boundary, which requires that userspace do + * the appropriate CPU subtype math for calculating the page offset for + * the counter value. + */ +static int sh_wdt_mmap(struct file *file, struct vm_area_struct *vma) +{ + int ret = -ENOSYS; + +#ifdef CONFIG_SH_WDT_MMAP + unsigned long addr; + + /* Only support the simple cases where we map in a register page. */ + if (((vma->vm_end - vma->vm_start) != PAGE_SIZE) || vma->vm_pgoff) + return -EINVAL; + + /* + * Pick WTCNT as the start, it's usually the first register after the + * FRQCR, and neither one are generally page-aligned out of the box. + */ + addr = WTCNT & ~(PAGE_SIZE - 1); + + vma->vm_flags |= VM_IO; + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); + + if (io_remap_pfn_range(vma, vma->vm_start, addr >> PAGE_SHIFT, + PAGE_SIZE, vma->vm_page_prot)) { + printk(KERN_ERR PFX "%s: io_remap_pfn_range failed\n", + __FUNCTION__); + return -EAGAIN; + } + + ret = 0; +#endif + + return ret; +} + +/** * sh_wdt_ioctl - Query Device * @inode: inode of device * @file: file handle of device @@ -343,6 +392,7 @@ .ioctl = sh_wdt_ioctl, .open = sh_wdt_open, .release = sh_wdt_close, + .mmap = sh_wdt_mmap, }; static struct watchdog_info sh_wdt_info = { |
|
From: Paul M. <le...@us...> - 2006-08-07 00:50:18
|
Update of /cvsroot/linuxsh/linux/drivers/char/watchdog In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv421/drivers/char/watchdog Modified Files: shwdt.c Added Files: Kconfig Log Message: shwdt tidy and docbook fixups. --- NEW FILE: Kconfig --- # # Watchdog device configuration # menu "Watchdog Cards" config WATCHDOG bool "Watchdog Timer Support" ---help--- If you say Y here (and to one of the following options) and create a character special file /dev/watchdog with major number 10 and minor number 130 using mknod ("man mknod"), you will get a watchdog, i.e.: subsequently opening the file and then failing to write to it for longer than 1 minute will result in rebooting the machine. This could be useful for a networked machine that needs to come back online as fast as possible after a lock-up. There's both a watchdog implementation entirely in software (which can sometimes fail to reboot the machine) and a driver for hardware watchdog boards, which are more robust and can also keep track of the temperature inside your computer. For details, read <file:Documentation/watchdog/watchdog.txt> in the kernel source. The watchdog is usually used together with the watchdog daemon which is available from <ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can also monitor NFS connections and can reboot the machine when the process table is full. If unsure, say N. config WATCHDOG_NOWAYOUT bool "Disable watchdog shutdown on close" depends on WATCHDOG help The default watchdog behaviour (which you get if you say N here) is to stop the timer if the process managing it closes the file /dev/watchdog. It's always remotely possible that this process might get killed. If you say Y here, the watchdog cannot be stopped once it has been started. # # General Watchdog drivers # comment "Watchdog Device Drivers" depends on WATCHDOG # Architecture Independant config SOFT_WATCHDOG tristate "Software watchdog" depends on WATCHDOG help A software monitoring watchdog. This will fail to reboot your system from some situations that the hardware watchdog will recover from. Equally it's a lot cheaper to install. To compile this driver as a module, choose M here: the module will be called softdog. # ARM Architecture config AT91_WATCHDOG tristate "AT91RM9200 watchdog" depends on WATCHDOG && ARCH_AT91RM9200 help Watchdog timer embedded into AT91RM9200 chips. This will reboot your system when the timeout is reached. config 21285_WATCHDOG tristate "DC21285 watchdog" depends on WATCHDOG && FOOTBRIDGE help The Intel Footbridge chip contains a builtin watchdog circuit. Say Y here if you wish to use this. Alternatively say M to compile the driver as a module, which will be called wdt285. This driver does not work on all machines. In particular, early CATS boards have hardware problems that will cause the machine to simply lock up if the watchdog fires. "If in doubt, leave it out" - say N. config 977_WATCHDOG tristate "NetWinder WB83C977 watchdog" depends on WATCHDOG && FOOTBRIDGE && ARCH_NETWINDER help Say Y here to include support for the WB977 watchdog included in NetWinder machines. Alternatively say M to compile the driver as a module, which will be called wdt977. Not sure? It's safe to say N. config IXP2000_WATCHDOG tristate "IXP2000 Watchdog" depends on WATCHDOG && ARCH_IXP2000 help Say Y here if to include support for the watchdog timer in the Intel IXP2000(2400, 2800, 2850) network processors. This driver can be built as a module by choosing M. The module will be called ixp2000_wdt. Say N if you are unsure. config IXP4XX_WATCHDOG tristate "IXP4xx Watchdog" depends on WATCHDOG && ARCH_IXP4XX help Say Y here if to include support for the watchdog timer in the Intel IXP4xx network processors. This driver can be built as a module by choosing M. The module will be called ixp4xx_wdt. Note: The internal IXP4xx watchdog does a soft CPU reset which doesn't reset any peripherals. There are circumstances where the watchdog will fail to reset the board correctly (e.g., if the boot ROM is in an unreadable state). Say N if you are unsure. config S3C2410_WATCHDOG tristate "S3C2410 Watchdog" depends on WATCHDOG && ARCH_S3C2410 help Watchdog timer block in the Samsung S3C2410 chips. This will reboot the system when the timer expires with the watchdog enabled. The driver is limited by the speed of the system's PCLK signal, so with reasonbaly fast systems (PCLK around 50-66MHz) then watchdog intervals of over approximately 20seconds are unavailable. The driver can be built as a module by choosing M, and will be called s3c2410_wdt config SA1100_WATCHDOG tristate "SA1100/PXA2xx watchdog" depends on WATCHDOG && ( ARCH_SA1100 || ARCH_PXA ) help Watchdog timer embedded into SA11x0 and PXA2xx chips. This will reboot your system when timeout is reached. NOTE: once enabled, this timer cannot be disabled. To compile this driver as a module, choose M here: the module will be called sa1100_wdt. config MPCORE_WATCHDOG tristate "MPcore watchdog" depends on WATCHDOG && ARM_MPCORE_PLATFORM && LOCAL_TIMERS help Watchdog timer embedded into the MPcore system. To compile this driver as a module, choose M here: the module will be called mpcore_wdt. config EP93XX_WATCHDOG tristate "EP93xx Watchdog" depends on WATCHDOG && ARCH_EP93XX help Say Y here if to include support for the watchdog timer embedded in the Cirrus Logic EP93xx family of devices. To compile this driver as a module, choose M here: the module will be called ep93xx_wdt. # X86 (i386 + ia64 + x86_64) Architecture config ACQUIRE_WDT tristate "Acquire SBC Watchdog Timer" depends on WATCHDOG && X86 ---help--- This is the driver for the hardware watchdog on Single Board Computers produced by Acquire Inc (and others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called acquirewdt. Most people will say N. config ADVANTECH_WDT tristate "Advantech SBC Watchdog Timer" depends on WATCHDOG && X86 help If you are configuring a Linux kernel for the Advantech single-board computer, say `Y' here to support its built-in watchdog timer feature. More information can be found at <http://www.advantech.com.tw/products/> config ALIM1535_WDT tristate "ALi M1535 PMU Watchdog Timer" depends on WATCHDOG && X86 && PCI ---help--- This is the driver for the hardware watchdog on the ALi M1535 PMU. To compile this driver as a module, choose M here: the module will be called alim1535_wdt. Most people will say N. config ALIM7101_WDT tristate "ALi M7101 PMU Computer Watchdog" depends on WATCHDOG && X86 && PCI help This is the driver for the hardware watchdog on the ALi M7101 PMU as used in the x86 Cobalt servers. To compile this driver as a module, choose M here: the module will be called alim7101_wdt. Most people will say N. config SC520_WDT tristate "AMD Elan SC520 processor Watchdog" depends on WATCHDOG && X86 help This is the driver for the hardware watchdog built in to the AMD "Elan" SC520 microcomputer commonly used in embedded systems. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. You can compile this driver directly into the kernel, or use it as a module. The module will be called sc520_wdt. config EUROTECH_WDT tristate "Eurotech CPU-1220/1410 Watchdog Timer" depends on WATCHDOG && X86 help Enable support for the watchdog timer on the Eurotech CPU-1220 and CPU-1410 cards. These are PC/104 SBCs. Spec sheets and product information are at <http://www.eurotech.it/>. config IB700_WDT tristate "IB700 SBC Watchdog Timer" depends on WATCHDOG && X86 ---help--- This is the driver for the hardware watchdog on the IB700 Single Board Computer produced by TMC Technology (www.tmc-uk.com). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. This driver is like the WDT501 driver but for slightly different hardware. To compile this driver as a module, choose M here: the module will be called ib700wdt. Most people will say N. config IBMASR tristate "IBM Automatic Server Restart" depends on WATCHDOG && X86 help This is the driver for the IBM Automatic Server Restart watchdog timer builtin into some eServer xSeries machines. To compile this driver as a module, choose M here: the module will be called ibmasr. config WAFER_WDT tristate "ICP Wafer 5823 Single Board Computer Watchdog" depends on WATCHDOG && X86 help This is a driver for the hardware watchdog on the ICP Wafer 5823 Single Board Computer (and probably other similar models). To compile this driver as a module, choose M here: the module will be called wafer5823wdt. config I6300ESB_WDT tristate "Intel 6300ESB Timer/Watchdog" depends on WATCHDOG && X86 && PCI ---help--- Hardware driver for the watchdog timer built into the Intel 6300ESB controller hub. To compile this driver as a module, choose M here: the module will be called i6300esb. config I8XX_TCO tristate "Intel i8xx TCO Timer/Watchdog" depends on WATCHDOG && (X86 || IA64) && PCI ---help--- Hardware driver for the TCO timer built into the Intel 82801 I/O Controller Hub family. The TCO (Total Cost of Ownership) timer is a watchdog timer that will reboot the machine after its second expiration. The expiration time can be configured with the "heartbeat" parameter. On some motherboards the driver may fail to reset the chipset's NO_REBOOT flag which prevents the watchdog from rebooting the machine. If this is the case you will get a kernel message like "failed to reset NO_REBOOT flag, reboot disabled by hardware". To compile this driver as a module, choose M here: the module will be called i8xx_tco. config SC1200_WDT tristate "National Semiconductor PC87307/PC97307 (ala SC1200) Watchdog" depends on WATCHDOG && X86 help This is a driver for National Semiconductor PC87307/PC97307 hardware watchdog cards as found on the SC1200. This watchdog is mainly used for power management purposes and can be used to power down the device during inactivity periods (includes interrupt activity monitoring). To compile this driver as a module, choose M here: the module will be called sc1200wdt. Most people will say N. config SCx200_WDT tristate "National Semiconductor SCx200 Watchdog" depends on WATCHDOG && SCx200 && PCI help Enable the built-in watchdog timer support on the National Semiconductor SCx200 processors. If compiled as a module, it will be called scx200_wdt. config 60XX_WDT tristate "SBC-60XX Watchdog Timer" depends on WATCHDOG && X86 help This driver can be used with the watchdog timer found on some single board computers, namely the 6010 PII based computer. It may well work with other cards. It reads port 0x443 to enable and re-set the watchdog timer, and reads port 0x45 to disable the watchdog. If you have a card that behave in similar ways, you can probably make this driver work with your card as well. You can compile this driver directly into the kernel, or use it as a module. The module will be called sbc60xxwdt. config SBC8360_WDT tristate "SBC8360 Watchdog Timer" depends on WATCHDOG && X86 ---help--- This is the driver for the hardware watchdog on the SBC8360 Single Board Computer produced by Axiomtek Co., Ltd. (www.axiomtek.com). To compile this driver as a module, choose M here: the module will be called sbc8360.ko. Most people will say N. config CPU5_WDT tristate "SMA CPU5 Watchdog" depends on WATCHDOG && X86 ---help--- TBD. To compile this driver as a module, choose M here: the module will be called cpu5wdt. config W83627HF_WDT tristate "W83627HF Watchdog Timer" depends on WATCHDOG && X86 ---help--- This is the driver for the hardware watchdog on the W83627HF chipset as used in Advantech PC-9578 and Tyan S2721-533 motherboards (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83627hf_wdt. Most people will say N. config W83877F_WDT tristate "W83877F (EMACS) Watchdog Timer" depends on WATCHDOG && X86 ---help--- This is the driver for the hardware watchdog on the W83877F chipset as used in EMACS PC-104 motherboards (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83877f_wdt. Most people will say N. config W83977F_WDT tristate "W83977F (PCM-5335) Watchdog Timer" depends on WATCHDOG && X86 ---help--- This is the driver for the hardware watchdog on the W83977F I/O chip as used in AAEON's PCM-5335 SBC (and likely others). This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called w83977f_wdt. config MACHZ_WDT tristate "ZF MachZ Watchdog" depends on WATCHDOG && X86 ---help--- If you are using a ZF Micro MachZ processor, say Y here, otherwise N. This is the driver for the watchdog timer builtin on that processor using ZF-Logic interface. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called machzwd. config SBC_EPX_C3_WATCHDOG tristate "Winsystems SBC EPX-C3 watchdog" depends on WATCHDOG && X86 ---help--- This is the driver for the built-in watchdog timer on the EPX-C3 Single-board computer made by Winsystems, Inc. *Note*: This hardware watchdog is not probeable and thus there is no way to know if writing to its IO address will corrupt your system or have any real effect. The only way to be sure that this driver does what you want is to make sure you are runnning it on an EPX-C3 from Winsystems with the watchdog timer at IO address 0x1ee and 0x1ef. It will write to both those IO ports. Basically, the assumption is made that if you compile this driver into your kernel and/or load it as a module, that you know what you are doing and that you are in fact running on an EPX-C3 board! To compile this driver as a module, choose M here: the module will be called sbc_epx_c3. # PowerPC Architecture config 8xx_WDT tristate "MPC8xx Watchdog Timer" depends on WATCHDOG && 8xx config 83xx_WDT tristate "MPC83xx Watchdog Timer" depends on WATCHDOG && PPC_83xx config MV64X60_WDT tristate "MV64X60 (Marvell Discovery) Watchdog Timer" depends on WATCHDOG && MV64X60 config BOOKE_WDT tristate "PowerPC Book-E Watchdog Timer" depends on WATCHDOG && (BOOKE || 4xx) ---help--- Please see Documentation/watchdog/watchdog-api.txt for more information. # PPC64 Architecture config WATCHDOG_RTAS tristate "RTAS watchdog" depends on WATCHDOG && PPC_RTAS help This driver adds watchdog support for the RTAS watchdog. To compile this driver as a module, choose M here. The module will be called wdrtas. # MIPS Architecture config INDYDOG tristate "Indy/I2 Hardware Watchdog" depends on WATCHDOG && SGI_IP22 help Hardwaredriver for the Indy's/I2's watchdog. This is a watchdog timer that will reboot the machine after a 60 second timer expired and no process has written to /dev/watchdog during that time. # S390 Architecture config ZVM_WATCHDOG tristate "z/VM Watchdog Timer" depends on WATCHDOG && S390 help IBM s/390 and zSeries machines running under z/VM 5.1 or later provide a virtual watchdog timer to their guest that cause a user define Control Program command to be executed after a timeout. To compile this driver as a module, choose M here. The module will be called vmwatchdog. # SUPERH Architecture config SH_WDT tristate "SuperH Watchdog" depends on WATCHDOG && SUPERH help This driver adds watchdog support for the integrated watchdog in the SuperH processors. If you have one of these processors and wish to have watchdog support enabled, say Y, otherwise say N. As a side note, saying Y here will automatically boost HZ to 1000 so that the timer has a chance to clear the overflow counter. On slower systems (such as the SH-2 and SH-3) this will likely yield some performance issues. As such, the WDT should be avoided here unless it is absolutely necessary. To compile this driver as a module, choose M here: the module will be called shwdt. # SPARC64 Architecture config WATCHDOG_CP1XXX tristate "CP1XXX Hardware Watchdog support" depends on WATCHDOG && SPARC64 && PCI ---help--- This is the driver for the hardware watchdog timers present on Sun Microsystems CompactPCI models CP1400 and CP1500. To compile this driver as a module, choose M here: the module will be called cpwatchdog. If you do not have a CompactPCI model CP1400 or CP1500, or another UltraSPARC-IIi-cEngine boardset with hardware watchdog, you should say N to this option. config WATCHDOG_RIO tristate "RIO Hardware Watchdog support" depends on WATCHDOG && SPARC64 && PCI help Say Y here to support the hardware watchdog capability on Sun RIO machines. The watchdog timeout period is normally one minute but can be changed with a boot-time parameter. # # ISA-based Watchdog Cards # comment "ISA-based Watchdog Cards" depends on WATCHDOG && ISA config PCWATCHDOG tristate "Berkshire Products ISA-PC Watchdog" depends on WATCHDOG && ISA ---help--- This is the driver for the Berkshire Products ISA-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. This driver is like the WDT501 driver but for different hardware. Please read <file:Documentation/watchdog/pcwd-watchdog.txt>. The PC watchdog cards can be ordered from <http://www.berkprod.com/>. To compile this driver as a module, choose M here: the module will be called pcwd. Most people will say N. config MIXCOMWD tristate "Mixcom Watchdog" depends on WATCHDOG && ISA ---help--- This is a driver for the Mixcom hardware watchdog cards. This watchdog simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. To compile this driver as a module, choose M here: the module will be called mixcomwd. Most people will say N. config WDT tristate "WDT Watchdog timer" depends on WATCHDOG && ISA ---help--- If you have a WDT500P or WDT501P watchdog board, say Y here, otherwise N. It is not possible to probe for this board, which means that you have to inform the kernel about the IO port and IRQ that is needed (you can do this via the io and irq parameters) To compile this driver as a module, choose M here: the module will be called wdt. config WDT_501 bool "WDT501 features" depends on WDT help Saying Y here and creating a character special file /dev/temperature with major number 10 and minor number 131 ("man mknod") will give you a thermometer inside your computer: reading from /dev/temperature yields one byte, the temperature in degrees Fahrenheit. This works only if you have a WDT501P watchdog board installed. If you want to enable the Fan Tachometer on the WDT501P, then you can do this via the tachometer parameter. Only do this if you have a fan tachometer actually set up. # # PCI-based Watchdog Cards # comment "PCI-based Watchdog Cards" depends on WATCHDOG && PCI config PCIPCWATCHDOG tristate "Berkshire Products PCI-PC Watchdog" depends on WATCHDOG && PCI ---help--- This is the driver for the Berkshire Products PCI-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. The card can also monitor the internal temperature of the PC. More info is available at <http://www.berkprod.com/pci_pc_watchdog.htm>. To compile this driver as a module, choose M here: the module will be called pcwd_pci. Most people will say N. config WDTPCI tristate "PCI-WDT500/501 Watchdog timer" depends on WATCHDOG && PCI ---help--- If you have a PCI-WDT500/501 watchdog board, say Y here, otherwise N. To compile this driver as a module, choose M here: the module will be called wdt_pci. config WDT_501_PCI bool "PCI-WDT501 features" depends on WDTPCI help Saying Y here and creating a character special file /dev/temperature with major number 10 and minor number 131 ("man mknod") will give you a thermometer inside your computer: reading from /dev/temperature yields one byte, the temperature in degrees Fahrenheit. This works only if you have a PCI-WDT501 watchdog board installed. If you want to enable the Fan Tachometer on the PCI-WDT501, then you can do this via the tachometer parameter. Only do this if you have a fan tachometer actually set up. # # USB-based Watchdog Cards # comment "USB-based Watchdog Cards" depends on WATCHDOG && USB config USBPCWATCHDOG tristate "Berkshire Products USB-PC Watchdog" depends on WATCHDOG && USB ---help--- This is the driver for the Berkshire Products USB-PC Watchdog card. This card simply watches your kernel to make sure it doesn't freeze, and if it does, it reboots your computer after a certain amount of time. The card can also monitor the internal temperature of the PC. More info is available at <http://www.berkprod.com/usb_pc_watchdog.htm>. To compile this driver as a module, choose M here: the module will be called pcwd_usb. Most people will say N. endmenu Index: shwdt.c =================================================================== RCS file: /cvsroot/linuxsh/linux/drivers/char/watchdog/shwdt.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- shwdt.c 29 Aug 2005 21:01:18 -0000 1.12 +++ shwdt.c 7 Aug 2006 00:50:05 -0000 1.13 @@ -126,7 +126,6 @@ /** * sh_wdt_stop - Stop the Watchdog - * * Stops the watchdog. */ static void sh_wdt_stop(void) @@ -142,22 +141,20 @@ /** * sh_wdt_keepalive - Keep the Userspace Watchdog Alive - * * The Userspace watchdog got a KeepAlive: schedule the next heartbeat. */ -static void sh_wdt_keepalive(void) +static inline void sh_wdt_keepalive(void) { next_heartbeat = jiffies + (heartbeat * HZ); } /** * sh_wdt_set_heartbeat - Set the Userspace Watchdog heartbeat - * * Set the Userspace Watchdog heartbeat */ static int sh_wdt_set_heartbeat(int t) { - if ((t < 1) || (t > 3600)) /* arbitrary upper limit */ + if (unlikely((t < 1) || (t > 3600))) /* arbitrary upper limit */ return -EINVAL; heartbeat = t; @@ -166,7 +163,6 @@ /** * sh_wdt_ping - Ping the Watchdog - * * @data: Unused * * Clears overflow bit, resets timer counter. @@ -183,14 +179,13 @@ sh_wdt_write_cnt(0); mod_timer(&timer, next_ping_period(clock_division_ratio)); - } else { - printk(KERN_WARNING PFX "Heartbeat lost! Will not ping the watchdog\n"); - } + } else + printk(KERN_WARNING PFX "Heartbeat lost! Will not ping " + "the watchdog\n"); } /** * sh_wdt_open - Open the Device - * * @inode: inode of device * @file: file handle of device * @@ -210,7 +205,6 @@ /** * sh_wdt_close - Close the Device - * * @inode: inode of device * @file: file handle of device * @@ -221,7 +215,8 @@ if (shwdt_expect_close == 42) { sh_wdt_stop(); } else { - printk(KERN_CRIT PFX "Unexpected close, not stopping watchdog!\n"); + printk(KERN_CRIT PFX "Unexpected close, not " + "stopping watchdog!\n"); sh_wdt_keepalive(); } @@ -233,7 +228,6 @@ /** * sh_wdt_write - Write to Device - * * @file: file handle of device * @buf: buffer to write * @count: length of buffer @@ -266,7 +260,6 @@ /** * sh_wdt_ioctl - Query Device - * * @inode: inode of device * @file: file handle of device * @cmd: watchdog command @@ -327,7 +320,6 @@ /** * sh_wdt_notify_sys - Notifier Handler - * * @this: notifier block * @code: notifier event * @unused: unused @@ -338,9 +330,8 @@ static int sh_wdt_notify_sys(struct notifier_block *this, unsigned long code, void *unused) { - if (code == SYS_DOWN || code == SYS_HALT) { + if (code == SYS_DOWN || code == SYS_HALT) sh_wdt_stop(); - } return NOTIFY_DONE; } @@ -355,7 +346,8 @@ }; static struct watchdog_info sh_wdt_info = { - .options = WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT | WDIOF_MAGICCLOSE, + .options = WDIOF_KEEPALIVEPING | WDIOF_SETTIMEOUT | + WDIOF_MAGICCLOSE, .firmware_version = 1, .identity = "SH WDT", }; @@ -372,7 +364,6 @@ /** * sh_wdt_init - Initialize module - * * Registers the device and notifier handler. Actual device * initialization is handled by sh_wdt_open(). */ @@ -382,15 +373,15 @@ if ((clock_division_ratio < 0x5) || (clock_division_ratio > 0x7)) { clock_division_ratio = WTCSR_CKS_4096; - printk(KERN_INFO PFX "clock_division_ratio value must be 0x5<=x<=0x7, using %d\n", - clock_division_ratio); + printk(KERN_INFO PFX "clock_division_ratio value must " + "be 0x5<=x<=0x7, using %d\n", clock_division_ratio); } - if (sh_wdt_set_heartbeat(heartbeat)) - { + rc = sh_wdt_set_heartbeat(heartbeat); + if (unlikely(rc)) { heartbeat = WATCHDOG_HEARTBEAT; - printk(KERN_INFO PFX "heartbeat value must be 1<=x<=3600, using %d\n", - heartbeat); + printk(KERN_INFO PFX "heartbeat value must " + "be 1<=x<=3600, using %d\n", heartbeat); } init_timer(&timer); @@ -398,15 +389,16 @@ timer.data = 0; rc = register_reboot_notifier(&sh_wdt_notifier); - if (rc) { - printk(KERN_ERR PFX "Can't register reboot notifier (err=%d)\n", rc); + if (unlikely(rc)) { + printk(KERN_ERR PFX "Can't register reboot notifier (err=%d)\n", + rc); return rc; } rc = misc_register(&sh_wdt_miscdev); - if (rc) { - printk(KERN_ERR PFX "Can't register miscdev on minor=%d (err=%d)\n", - sh_wdt_miscdev.minor, rc); + if (unlikely(rc)) { + printk(KERN_ERR PFX "Can't register miscdev on " + "minor=%d (err=%d)\n", sh_wdt_miscdev.minor, rc); unregister_reboot_notifier(&sh_wdt_notifier); return rc; } @@ -419,7 +411,6 @@ /** * sh_wdt_exit - Deinitialize module - * * Unregisters the device and notifier handler. Actual device * deinitialization is handled by sh_wdt_close(). */ @@ -435,14 +426,13 @@ MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR); module_param(clock_division_ratio, int, 0); -MODULE_PARM_DESC(clock_division_ratio, "Clock division ratio. Valid ranges are from 0x5 (1.31ms) to 0x7 (5.25ms). Defaults to 0x7."); +MODULE_PARM_DESC(clock_division_ratio, "Clock division ratio. Valid ranges are from 0x5 (1.31ms) to 0x7 (5.25ms). (default=" __MODULE_STRING(clock_division_ratio) ")"); module_param(heartbeat, int, 0); MODULE_PARM_DESC(heartbeat, "Watchdog heartbeat in seconds. (1<=heartbeat<=3600, default=" __MODULE_STRING(WATCHDOG_HEARTBEAT) ")"); module_param(nowayout, int, 0); -MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=CONFIG_WATCHDOG_NOWAYOUT)"); +MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); module_init(sh_wdt_init); module_exit(sh_wdt_exit); - |
|
From: Paul M. <le...@us...> - 2006-08-07 00:50:15
|
Update of /cvsroot/linuxsh/linux/include/asm-sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv421/include/asm-sh Modified Files: watchdog.h Log Message: shwdt tidy and docbook fixups. Index: watchdog.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/watchdog.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- watchdog.h 24 Sep 2004 14:58:00 -0000 1.4 +++ watchdog.h 7 Aug 2006 00:50:05 -0000 1.5 @@ -63,7 +63,6 @@ /** * sh_wdt_read_cnt - Read from Counter - * * Reads back the WTCNT value. */ static inline __u8 sh_wdt_read_cnt(void) @@ -73,7 +72,6 @@ /** * sh_wdt_write_cnt - Write to Counter - * * @val: Value to write * * Writes the given value @val to the lower byte of the timer counter. @@ -96,7 +94,6 @@ /** * sh_wdt_write_csr - Write to Control/Status Register - * * @val: Value to write * * Writes the given value @val to the lower byte of the control/status |
|
From: Manuel L. <ml...@us...> - 2006-08-04 20:04:28
|
Update of /cvsroot/linuxsh/linux/arch/sh/drivers/dma In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv3314/arch/sh/drivers/dma Modified Files: dma-sh.c Log Message: Fix /proc/interrupts displaying random kernel memory for SH DMAC channels Index: dma-sh.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/drivers/dma/dma-sh.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- dma-sh.c 5 Feb 2006 15:25:52 -0000 1.15 +++ dma-sh.c 4 Aug 2006 20:04:22 -0000 1.16 @@ -81,12 +81,13 @@ static int sh_dmac_request_dma(struct dma_channel *chan) { - char name[32]; - if (unlikely(!chan->flags & DMA_TEI_CAPABLE)) return 0; - snprintf(name, sizeof(name), "DMAC Transfer End (Channel %d)", + chan->name = kzalloc(32, GFP_KERNEL); + if (unlikely(chan->name == NULL)) + return -ENOMEM; + snprintf(chan->name, 32, "DMAC Transfer End (Channel %d)", chan->chan); return request_irq(get_dmte_irq(chan->chan), dma_tei, @@ -96,6 +97,7 @@ static void sh_dmac_free_dma(struct dma_channel *chan) { free_irq(get_dmte_irq(chan->chan), chan); + kfree(chan->name); } static void |
|
From: Manuel L. <ml...@us...> - 2006-08-04 20:04:28
|
Update of /cvsroot/linuxsh/linux/include/asm-sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv3314/include/asm-sh Modified Files: dma.h Log Message: Fix /proc/interrupts displaying random kernel memory for SH DMAC channels Index: dma.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/dma.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- dma.h 16 Oct 2005 18:27:54 -0000 1.18 +++ dma.h 4 Aug 2006 20:04:22 -0000 1.19 @@ -90,6 +90,7 @@ wait_queue_head_t wait_queue; struct sys_device dev; + char *name; }; struct dma_info { |
|
From: Paul M. <le...@us...> - 2006-08-04 10:51:45
|
Update of /cvsroot/linuxsh/linux/include/asm-sh In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv2677/include/asm-sh Modified Files: atomic.h Log Message: Implement a new set of atomic operations for SH-4A movli.l/movco.l. Index: atomic.h =================================================================== RCS file: /cvsroot/linuxsh/linux/include/asm-sh/atomic.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- atomic.h 27 Mar 2006 21:06:15 -0000 1.6 +++ atomic.h 4 Aug 2006 10:51:42 -0000 1.7 @@ -22,49 +22,114 @@ * forward to code at the end of this object's .text section, then * branch back to restart the operation. */ - -static __inline__ void atomic_add(int i, atomic_t * v) +static inline void atomic_add(int i, atomic_t *v) { +#ifdef CONFIG_CPU_SH4A + unsigned long tmp; + + __asm__ __volatile__ ( +"1: movli.l @%3, %0 ! atomic_add \n" +" add %2, %0 \n" +" movco.l %0, @%3 \n" +" bf 1b \n" +" nop \n" + : "=&z" (tmp), "=r" (&v->counter) + : "r" (i), "r" (&v->counter) + : "t"); +#else unsigned long flags; local_irq_save(flags); *(long *)v += i; local_irq_restore(flags); +#endif } -static __inline__ void atomic_sub(int i, atomic_t *v) +static inline void atomic_sub(int i, atomic_t *v) { +#ifdef CONFIG_CPU_SH4A + unsigned long tmp; + + __asm__ __volatile__ ( +"1: movli.l @%3, %0 ! atomic_sub \n" +" sub %2, %0 \n" +" movco.l %0, @%3 \n" +" bf 1b \n" +" nop \n" + : "=&z" (tmp), "=r" (&v->counter) + : "r" (i), "r" (&v->counter) + : "t"); +#else unsigned long flags; local_irq_save(flags); *(long *)v -= i; local_irq_restore(flags); +#endif } -static __inline__ int atomic_add_return(int i, atomic_t * v) +/* + * SH-4A note: + * + * We basically get atomic_xxx_return() for free compared with + * atomic_xxx(). movli.l/movco.l require r0 due to the instruction + * encoding, so the retval is automatically set without having to + * do any special work. + */ +static inline int atomic_add_return(int i, atomic_t *v) { - unsigned long temp, flags; + unsigned long temp; + +#ifdef CONFIG_CPU_SH4A + __asm__ __volatile__ ( +"1: movli.l @%3, %0 ! atomic_add_return \n" +" add %2, %0 \n" +" movco.l %0, @%3 \n" +" bf 1b \n" +" nop \n" +" synco \n" + : "=&z" (temp), "=r" (&v->counter) + : "r" (i), "r" (&v->counter) + : "t"); +#else + unsigned long flags; local_irq_save(flags); temp = *(long *)v; temp += i; *(long *)v = temp; local_irq_restore(flags); +#endif return temp; } #define atomic_add_negative(a, v) (atomic_add_return((a), (v)) < 0) -static __inline__ int atomic_sub_return(int i, atomic_t * v) +static inline int atomic_sub_return(int i, atomic_t *v) { - unsigned long temp, flags; + unsigned long temp; + +#ifdef CONFIG_CPU_SH4A + __asm__ __volatile__ ( +"1: movli.l @%3, %0 ! atomic_sub_return \n" +" sub %2, %0 \n" +" movco.l %0, @%3 \n" +" bf 1b \n" +" nop \n" +" synco \n" + : "=&z" (temp), "=r" (&v->counter) + : "r" (i), "r" (&v->counter) + : "t"); +#else + unsigned long flags; local_irq_save(flags); temp = *(long *)v; temp -= i; *(long *)v = temp; local_irq_restore(flags); +#endif return temp; } @@ -119,22 +184,50 @@ } #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) -static __inline__ void atomic_clear_mask(unsigned int mask, atomic_t *v) +static inline void atomic_clear_mask(unsigned int mask, atomic_t *v) { +#ifdef CONFIG_CPU_SH4A + unsigned long tmp; + + __asm__ __volatile__ ( +"1: movli.l @%3, %0 ! atomic_clear_mask \n" +" and %2, %0 \n" +" movco.l %0, @%3 \n" +" bf 1b \n" +" nop \n" + : "=&z" (tmp), "=r" (&v->counter) + : "r" (~mask), "r" (&v->counter) + : "t"); +#else unsigned long flags; local_irq_save(flags); *(long *)v &= ~mask; local_irq_restore(flags); +#endif } -static __inline__ void atomic_set_mask(unsigned int mask, atomic_t *v) +static inline void atomic_set_mask(unsigned int mask, atomic_t *v) { +#ifdef CONFIG_CPU_SH4A + unsigned long tmp; + + __asm__ __volatile__ ( +"1: movli.l @%3, %0 ! atomic_set_mask \n" +" or %2, %0 \n" +" movco.l %0, @%3 \n" +" bf 1b \n" +" nop \n" + : "=&z" (tmp), "=r" (&v->counter) + : "r" (mask), "r" (&v->counter) + : "t"); +#else unsigned long flags; local_irq_save(flags); *(long *)v |= mask; local_irq_restore(flags); +#endif } /* Atomic operations are already serializing on SH */ |
|
From: Paul M. <le...@us...> - 2006-08-04 07:44:13
|
Update of /cvsroot/linuxsh/linux/arch/sh/kernel/cpu/sh4 In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv23404/arch/sh/kernel/cpu/sh4 Modified Files: sq.c Log Message: Build fixes for nommu. Index: sq.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/cpu/sh4/sq.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- sq.c 7 Jan 2006 17:33:56 -0000 1.15 +++ sq.c 4 Aug 2006 07:44:08 -0000 1.16 @@ -222,12 +222,14 @@ page = (map->sq_addr - P4SEG_STORE_QUE) >> PAGE_SHIFT; bitmap_release_region(sq_bitmap, page, get_order(map->size)); +#ifdef CONFIG_MMU vma = remove_vm_area((void *)(map->sq_addr & PAGE_MASK)); if (!vma) { printk(KERN_ERR "%s: bad address 0x%08lx\n", __FUNCTION__, map->sq_addr); return; } +#endif sq_mapping_list_del(map); |
|
From: Paul M. <le...@us...> - 2006-08-04 07:44:13
|
Update of /cvsroot/linuxsh/linux/arch/sh/kernel In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv23404/arch/sh/kernel Modified Files: process.c sh_ksyms.c sys_sh.c Log Message: Build fixes for nommu. Index: process.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/process.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- process.c 7 Jul 2006 03:42:08 -0000 1.42 +++ process.c 4 Aug 2006 07:44:08 -0000 1.43 @@ -301,9 +301,11 @@ { ctrl_outl(pc, UBC_BARA); +#ifdef CONFIG_MMU /* We don't have any ASID settings for the SH-2! */ if (cpu_data->type != CPU_SH7604) ctrl_outb(asid, UBC_BASRA); +#endif ctrl_outl(0, UBC_BAMRA); @@ -346,6 +348,7 @@ } #endif +#ifdef CONFIG_MMU /* * Restore the kernel mode register * k7 (r7_bank1) @@ -353,19 +356,21 @@ asm volatile("ldc %0, r7_bank" : /* no output */ : "r" (task_thread_info(next))); +#endif -#ifdef CONFIG_MMU /* If no tasks are using the UBC, we're done */ if (ubc_usercnt == 0) /* If no tasks are using the UBC, we're done */; else if (next->thread.ubc_pc && next->mm) { - ubc_set_tracing(next->mm->context & MMU_CONTEXT_ASID_MASK, - next->thread.ubc_pc); + int asid = 0; +#ifdef CONFIG_MMU + asid |= next->mm->context & MMU_CONTEXT_ASID_MASK; +#endif + ubc_set_tracing(asid, next->thread.ubc_pc); } else { ctrl_outw(0, UBC_BBRA); ctrl_outw(0, UBC_BBRB); } -#endif return prev; } Index: sh_ksyms.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/sh_ksyms.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- sh_ksyms.c 11 Jul 2006 08:11:18 -0000 1.26 +++ sh_ksyms.c 4 Aug 2006 07:44:08 -0000 1.27 @@ -80,20 +80,18 @@ DECLARE_EXPORT(__movstr_i4_even); DECLARE_EXPORT(__movstr_i4_odd); DECLARE_EXPORT(__movstrSI12_i4); +#endif +#if defined(CONFIG_CPU_SH4) || defined(CONFIG_SH7705_CACHE_32KB) /* needed by some modules */ EXPORT_SYMBOL(flush_cache_all); EXPORT_SYMBOL(flush_cache_range); EXPORT_SYMBOL(flush_dcache_page); EXPORT_SYMBOL(__flush_purge_region); -EXPORT_SYMBOL(clear_user_page); #endif -#if defined(CONFIG_SH7705_CACHE_32KB) -EXPORT_SYMBOL(flush_cache_all); -EXPORT_SYMBOL(flush_cache_range); -EXPORT_SYMBOL(flush_dcache_page); -EXPORT_SYMBOL(__flush_purge_region); +#ifdef CONFIG_MMU +EXPORT_SYMBOL(clear_user_page); #endif EXPORT_SYMBOL(flush_tlb_page); Index: sys_sh.c =================================================================== RCS file: /cvsroot/linuxsh/linux/arch/sh/kernel/sys_sh.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- sys_sh.c 31 Dec 2005 11:30:47 -0000 1.11 +++ sys_sh.c 4 Aug 2006 07:44:08 -0000 1.12 @@ -44,7 +44,7 @@ return error; } -#if defined(HAVE_ARCH_UNMAPPED_AREA) +#if defined(HAVE_ARCH_UNMAPPED_AREA) && defined(CONFIG_MMU) /* * To avoid cache alias, we map the shard page with same color. */ |