Marek Michalkiewicz wrote:
> +static int
> +advwdt_close(struct inode *inode, struct file *file)
> +{
> + lock_kernel();
> + if (MINOR(inode->i_rdev) == WATCHDOG_MINOR) {
> + spin_lock(&advwdt_lock);
> +#ifndef CONFIG_WATCHDOG_NOWAYOUT
> + inb_p(WDT_STOP);
> +#endif
> + advwdt_is_open = 0;
> + spin_unlock(&advwdt_lock);
> + }
> + unlock_kernel();
> + return 0;
> +}
Why is lock_kernel necessary?
> +static int __init
> +advwdt_init(void)
> +{
> + printk("WDT driver for Advantech single board computer initialising.\n");
> +
> + spin_lock_init(&advwdt_lock);
> + misc_register(&advwdt_miscdev);
check return code for error
> +#if WDT_START != WDT_STOP
> + request_region(WDT_STOP, 1, "Advantech WDT");
> +#endif
> + request_region(WDT_START, 1, "Advantech WDT");
check return..
> + register_reboot_notifier(&advwdt_notifier);
ditto
--
Jeff Garzik | "You see, in this world there's two kinds of
Building 1024 | people, my friend: Those with loaded guns
MandrakeSoft | and those who dig. You dig." --Blondie
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/