fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / char / watchdog / alim1535_wdt.c
index 8338ca3..01b0d13 100644 (file)
@@ -236,7 +236,7 @@ static int ali_ioctl(struct inode *inode, struct file *file,
                        return put_user(timeout, p);
 
                default:
-                       return -ENOIOCTLCMD;
+                       return -ENOTTY;
        }
 }
 
@@ -330,17 +330,20 @@ static int __init ali_find_watchdog(void)
        u32 wdog;
 
        /* Check for a 1535 series bridge */
-       pdev = pci_find_device(PCI_VENDOR_ID_AL, 0x1535, NULL);
+       pdev = pci_get_device(PCI_VENDOR_ID_AL, 0x1535, NULL);
        if(pdev == NULL)
                return -ENODEV;
+       pci_dev_put(pdev);
 
        /* Check for the a 7101 PMU */
-       pdev = pci_find_device(PCI_VENDOR_ID_AL, 0x7101, NULL);
+       pdev = pci_get_device(PCI_VENDOR_ID_AL, 0x7101, NULL);
        if(pdev == NULL)
                return -ENODEV;
 
-       if(pci_enable_device(pdev))
+       if(pci_enable_device(pdev)) {
+               pci_dev_put(pdev);
                return -EIO;
+       }
 
        ali_pci = pdev;
 
@@ -362,7 +365,7 @@ static int __init ali_find_watchdog(void)
  *     Kernel Interfaces
  */
 
-static struct file_operations ali_fops = {
+static const struct file_operations ali_fops = {
        .owner =        THIS_MODULE,
        .llseek =       no_llseek,
        .write =        ali_write,
@@ -447,6 +450,7 @@ static void __exit watchdog_exit(void)
        /* Deregister */
        unregister_reboot_notifier(&ali_notifier);
        misc_deregister(&ali_miscdev);
+       pci_dev_put(ali_pci);
 }
 
 module_init(watchdog_init);