git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
char
/
watchdog
/
mpc8xx_wdt.c
diff --git
a/drivers/char/watchdog/mpc8xx_wdt.c
b/drivers/char/watchdog/mpc8xx_wdt.c
index
56d62ba
..
8aaed10
100644
(file)
--- a/
drivers/char/watchdog/mpc8xx_wdt.c
+++ b/
drivers/char/watchdog/mpc8xx_wdt.c
@@
-9,7
+9,6
@@
* or implied.
*/
* or implied.
*/
-#include <linux/config.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/kernel.h>
@@
-18,6
+17,7
@@
#include <linux/watchdog.h>
#include <asm/8xx_immap.h>
#include <asm/uaccess.h>
#include <linux/watchdog.h>
#include <asm/8xx_immap.h>
#include <asm/uaccess.h>
+#include <asm/io.h>
#include <syslib/m8xx_wdt.h>
static unsigned long wdt_opened;
#include <syslib/m8xx_wdt.h>
static unsigned long wdt_opened;
@@
-25,18
+25,26
@@
static int wdt_status;
static void mpc8xx_wdt_handler_disable(void)
{
static void mpc8xx_wdt_handler_disable(void)
{
- volatile immap_t *imap = (volatile immap_t *)IMAP_ADDR;
+ volatile uint __iomem *piscr;
+ piscr = (uint *)&((immap_t*)IMAP_ADDR)->im_sit.sit_piscr;
- imap->im_sit.sit_piscr &= ~(PISCR_PIE | PISCR_PTE);
+ if (!m8xx_has_internal_rtc)
+ m8xx_wdt_stop_timer();
+ else
+ out_be32(piscr, in_be32(piscr) & ~(PISCR_PIE | PISCR_PTE));
printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler deactivated\n");
}
static void mpc8xx_wdt_handler_enable(void)
{
printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler deactivated\n");
}
static void mpc8xx_wdt_handler_enable(void)
{
- volatile immap_t *imap = (volatile immap_t *)IMAP_ADDR;
+ volatile uint __iomem *piscr;
+ piscr = (uint *)&((immap_t*)IMAP_ADDR)->im_sit.sit_piscr;
- imap->im_sit.sit_piscr |= PISCR_PIE | PISCR_PTE;
+ if (!m8xx_has_internal_rtc)
+ m8xx_wdt_install_timer();
+ else
+ out_be32(piscr, in_be32(piscr) | PISCR_PIE | PISCR_PTE);
printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler activated\n");
}
printk(KERN_NOTICE "mpc8xx_wdt: keep-alive handler activated\n");
}
@@
-68,9
+76,6
@@
static int mpc8xx_wdt_release(struct inode *inode, struct file *file)
static ssize_t mpc8xx_wdt_write(struct file *file, const char *data, size_t len,
loff_t * ppos)
{
static ssize_t mpc8xx_wdt_write(struct file *file, const char *data, size_t len,
loff_t * ppos)
{
- if (ppos != &file->f_pos)
- return -ESPIPE;
-
if (len)
m8xx_wdt_reset();
if (len)
m8xx_wdt_reset();
@@
-121,13
+126,13
@@
static int mpc8xx_wdt_ioctl(struct inode *inode, struct file *file,
break;
default:
break;
default:
- return -ENO
IOCTLCMD
;
+ return -ENO
TTY
;
}
return 0;
}
}
return 0;
}
-static struct file_operations mpc8xx_wdt_fops = {
+static
const
struct file_operations mpc8xx_wdt_fops = {
.owner = THIS_MODULE,
.llseek = no_llseek,
.write = mpc8xx_wdt_write,
.owner = THIS_MODULE,
.llseek = no_llseek,
.write = mpc8xx_wdt_write,