writew(0x10, ESB_RELOAD_REG); 
writew(ESB_WDT_RELOAD, ESB_RELOAD_REG); 
static int esb_timer_set_heartbeat(int time){	u32 val;	if (time < 0x1 || time > (2 * 0x03ff))		return -EINVAL;	spin_lock(&esb_lock);	/* We shift by 9, so if we are passed a value of 1 sec,	 * val will be 1 << 9 = 512, then write that to two	 * timers => 2 * 512 = 1024 (which is decremented at 1KHz)	 */	val = time << 9;	/* Write timer 1 */	esb_unlock_registers();	writel(val, ESB_TIMER1_REG);	/* Write timer 2 */	esb_unlock_registers();        writel(val, ESB_TIMER2_REG);        /* Reload */	esb_unlock_registers();	writew(0x10, ESB_RELOAD_REG);	/* FIXME: Do we need to flush everything out? */	/* Done */	heartbeat = time;	spin_unlock(&esb_lock);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ce2f50b4ae71f700c7b4b0bf0ff11c328611dae8/i6300esb.c/clean/drivers/char/watchdog/i6300esb.c