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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Feb 28 2001 - 21:00:17 EST