static void msm_watchdog_stop(void)
{
	writel(1, WDT0_RST);
	writel(0, WDT0_EN);
	set_WDT_EN_footprint(0);
	printk(KERN_INFO "msm_watchdog_stop");
}
예제 #2
0
static void msm_watchdog_stop(void)
{
	if (msm_tmr0_base) {
		__raw_writel(1, msm_tmr0_base + WDT0_RST);
		__raw_writel(0, msm_tmr0_base + WDT0_EN);
		set_WDT_EN_footprint(0);
		printk(KERN_INFO "msm_watchdog_stop");
	}
}
/* Remove static to allow call from suspend/resume function */
int msm_watchdog_resume(void)
{
	if (enable && msm_tmr0_base) {
		__raw_writel(1, msm_tmr0_base + WDT0_EN);
		__raw_writel(1, msm_tmr0_base + WDT0_RST);
		mb();
		set_WDT_EN_footprint(1);
		printk(KERN_DEBUG "msm_watchdog_resume\n");
	}
	return 0;
}
/* Remove static to allow call from suspend/resume function */
int msm_watchdog_suspend(struct device *dev)
{
    if (enable && msm_tmr0_base) {
        __raw_writel(1, msm_tmr0_base + WDT0_RST);
        __raw_writel(0, msm_tmr0_base + WDT0_EN);
        mb();
        set_WDT_EN_footprint(0);
        printk(KERN_DEBUG "msm_watchdog_suspend\n");
    }
    return 0;
}
/* Remove static to allow call from suspend/resume function */
int msm_watchdog_resume(void)
{
	if (enable) {
		writel(1, WDT0_EN);
		writel(1, WDT0_RST);
		set_WDT_EN_footprint(1);
		last_pet = sched_clock();
		printk(KERN_DEBUG "msm_watchdog_resume");
	}
	return NOTIFY_DONE;
}
/* Remove static to allow call from suspend/resume function */
int msm_watchdog_suspend(void)
{
	if (enable) {
		writel(1, WDT0_RST);
		writel(0, WDT0_EN);
		dsb();
		set_WDT_EN_footprint(0);
		printk(KERN_DEBUG "msm_watchdog_suspend");
	}
	return NOTIFY_DONE;
}
예제 #7
0
int msm_watchdog_resume(struct device *dev)
{
	if (!enable || !msm_tmr0_base)
		return 0;

	__raw_writel(1, msm_tmr0_base + WDT0_EN);
	__raw_writel(1, msm_tmr0_base + WDT0_RST);
	last_pet = sched_clock();
	mb();
	set_WDT_EN_footprint(1);
	printk(KERN_DEBUG "msm_watchdog_resume\n");
	mb();
	return 0;
}