Changeset 9182


Ignore:
Timestamp:
2007-10-08T03:44:39+02:00 (9 years ago)
Author:
matteo
Message:

backport ar7_wdt from linux-2.6-watchdog-mm

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar7/files/drivers/char/watchdog/ar7_wdt.c

    r8772 r9182  
    11/* 
    2  * linux/drivers/char/ar7_wdt.c 
    3  * 
    4  * Copyright (C) 2007 OpenWrt.org 
     2 * drivers/watchdog/ar7_wdt.c 
     3 * 
     4 * Copyright (C) 2007 Nicolas Thill <nico@openwrt.org> 
    55 * Copyright (c) 2005 Enrik Berkhan <Enrik.Berkhan@akk.org> 
    66 * 
     
    185185        expect_close = 0; 
    186186 
    187         return 0; 
     187        return nonseekable_open(inode, file); 
    188188} 
    189189 
     
    219219                             size_t len, loff_t *ppos) 
    220220{ 
    221         if (*ppos != file->f_pos) 
    222                 return -ESPIPE; 
    223  
    224221        /* check for a magic close character */ 
    225222        if (len) { 
     
    318315        sema_init(&open_semaphore, 1); 
    319316 
    320         rc = misc_register(&ar7_wdt_miscdev); 
    321         if (rc) { 
    322                 printk(KERN_ERR DRVNAME ": unable to register misc device\n"); 
    323                 goto out_alloc; 
    324         } 
    325  
    326317        rc = register_reboot_notifier(&ar7_wdt_notifier); 
    327318        if (rc) { 
    328319                printk(KERN_ERR DRVNAME 
    329320                        ": unable to register reboot notifier\n"); 
     321                goto out_alloc; 
     322        } 
     323 
     324        rc = misc_register(&ar7_wdt_miscdev); 
     325        if (rc) { 
     326                printk(KERN_ERR DRVNAME ": unable to register misc device\n"); 
    330327                goto out_register; 
    331328        } 
     
    333330 
    334331out_register: 
    335         misc_deregister(&ar7_wdt_miscdev); 
     332        unregister_reboot_notifier(&ar7_wdt_notifier); 
    336333out_alloc: 
     334        iounmap(ar7_wdt); 
    337335        release_mem_region(ar7_regs_wdt, sizeof(struct ar7_wdt)); 
    338336out: 
     
    342340static void __exit ar7_wdt_cleanup(void) 
    343341{ 
     342        misc_deregister(&ar7_wdt_miscdev); 
    344343        unregister_reboot_notifier(&ar7_wdt_notifier); 
    345         misc_deregister(&ar7_wdt_miscdev); 
    346344        iounmap(ar7_wdt); 
    347345        release_mem_region(ar7_regs_wdt, sizeof(struct ar7_wdt)); 
Note: See TracChangeset for help on using the changeset viewer.