Пример #1
0
static void eurwdt_activate_timer(void)
{
   eurwdt_disable_timer();
   eurwdt_write_reg(WDT_CTRL_REG, 0x01);      /* activate the WDT */
   eurwdt_write_reg(WDT_OUTPIN_CFG, !strcmp("int", ev) ?
                                    WDT_EVENT_INT : WDT_EVENT_REBOOT);
   /* Setting interrupt line */
   if (irq == 2 || irq > 15 || irq < 0) {
      printk(KERN_ERR ": invalid irq number\n");
      irq = 0;   /* if invalid we disable interrupt */
   }
   if (irq == 0)
      printk(KERN_INFO ": interrupt disabled\n");
   eurwdt_write_reg(WDT_TIMER_CFG, irq<<4);

   eurwdt_write_reg(WDT_UNIT_SEL, WDT_UNIT_SECS);   /* we use seconds */
   eurwdt_set_timeout(0);                           /* the default timeout */ 
}
Пример #2
0
static inline void eurwdt_set_timeout(int timeout)
{
	eurwdt_write_reg(WDT_TIMEOUT_VAL, (u8) timeout);
}
Пример #3
0
static inline void eurwdt_unlock_chip(void)
{
	outb(0x55, io);
	eurwdt_write_reg(0x07, 0x08);	/* set the logical device */
}