git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
KVM: Use kvm_arch_interrupt_allowed() instead of checking interrupt_window_open directly
[safe/jmp/linux-2.6]
/
drivers
/
watchdog
/
booke_wdt.c
diff --git
a/drivers/watchdog/booke_wdt.c
b/drivers/watchdog/booke_wdt.c
index
c3b78a7
..
225398f
100644
(file)
--- a/
drivers/watchdog/booke_wdt.c
+++ b/
drivers/watchdog/booke_wdt.c
@@
-42,8
+42,10
@@
u32 booke_wdt_period = WDT_PERIOD_DEFAULT;
#ifdef CONFIG_FSL_BOOKE
#define WDTP(x) ((((63-x)&0x3)<<30)|(((63-x)&0x3c)<<15))
#ifdef CONFIG_FSL_BOOKE
#define WDTP(x) ((((63-x)&0x3)<<30)|(((63-x)&0x3c)<<15))
+#define WDTP_MASK (WDTP(0))
#else
#define WDTP(x) (TCR_WP(x))
#else
#define WDTP(x) (TCR_WP(x))
+#define WDTP_MASK (TCR_WP_MASK)
#endif
static DEFINE_SPINLOCK(booke_wdt_lock);
#endif
static DEFINE_SPINLOCK(booke_wdt_lock);
@@
-65,6
+67,7
@@
static void __booke_wdt_enable(void *data)
/* clear status before enabling watchdog */
__booke_wdt_ping(NULL);
val = mfspr(SPRN_TCR);
/* clear status before enabling watchdog */
__booke_wdt_ping(NULL);
val = mfspr(SPRN_TCR);
+ val &= ~WDTP_MASK;
val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period));
mtspr(SPRN_TCR, val);
val |= (TCR_WIE|TCR_WRC(WRC_CHIP)|WDTP(booke_wdt_period));
mtspr(SPRN_TCR, val);
@@
-114,7
+117,7
@@
static long booke_wdt_ioctl(struct file *file,
case WDIOC_SETTIMEOUT:
if (get_user(booke_wdt_period, p))
return -EFAULT;
case WDIOC_SETTIMEOUT:
if (get_user(booke_wdt_period, p))
return -EFAULT;
- mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WDTP
(0)
) |
+ mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WDTP
_MASK
) |
WDTP(booke_wdt_period));
return 0;
case WDIOC_GETTIMEOUT:
WDTP(booke_wdt_period));
return 0;
case WDIOC_GETTIMEOUT: