Hi Alan, > +static ssize_t intel_scu_read(struct file *file, > + char __user *user_data, > + size_t len, > + loff_t *user_ppos) > +{ > + int result; > + u8 buf = 0; > + > + /* we wait for the next interrupt; if more than one */ > + /* interrupt has occurred since the last read, we */ > + /* dont care. The data is not critical. We will do */ > + /* a copy to user each time we get and interrupt */ > + /* It is up to the Watchdog daemon to be ready to */ > + /* do the read (which signifies that the driver is */ > + /* awaiting a keep alive and that a limited time */ > + /* is available for the keep alive before the system */ > + /* is rebooted by the timer */ > + if (wait_event_interruptible(read_wq, warning_flag != 0)) > + return -ERESTARTSYS; > + > + warning_flag = 0; > + > + /* Please note that the content of the data is irrelevent */ > + /* All that matters is that the read is available to the user */ > + result = copy_to_user(user_data, (void *)&buf, 1); > + > + if (result != 0) > + return -EFAULT; > + else > + return 1; > + > +} Since we don't use the read operation for /dev/watchdog up till now: could you explain what the read function is supposed to do? Thanks in advance, Wim. -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html