> + on such processors; this driver supports only the first one, > + because currently Linux only supports exporting one watchdog > + to userspace. Yep. Perhaps that should change. > + * wdog is the iomem address of the cfg register > + */ > + void > +sbwdog_set(char __iomem *wdog, unsigned long t) > +{ > + __raw_writeb(0, wdog - 0x10); > + __raw_writeq(t & 0x7fffffUL, wdog); > +} What guarantees you don't get a pair of these calls at once or interleaving ? > + * return the bits from the config register > + */ > + ret = put_user(__raw_readb(user_dog), p); Should return the translated status bits ? Alan