[PATCH 8/10] drivers/char: pci_find_device remove (drivers/char/watchdog/alim1535_wdt.c)

From: Jiri Slaby
Date: Sat Sep 10 2005 - 07:23:14 EST


Signed-off-by: Jiri Slaby <xslaby@xxxxxxxxxx>

alim1535_wdt.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/char/watchdog/alim1535_wdt.c b/drivers/char/watchdog/alim1535_wdt.c
--- a/drivers/char/watchdog/alim1535_wdt.c
+++ b/drivers/char/watchdog/alim1535_wdt.c
@@ -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;

@@ -392,6 +395,8 @@ static int __init watchdog_init(void)
{
int ret;

+ ali_pci = NULL;
+
spin_lock_init(&ali_lock);

/* Check whether or not the hardware watchdog is there */
@@ -445,6 +450,7 @@ static void __exit watchdog_exit(void)
ali_stop();

/* Deregister */
+ pci_dev_put(ali_pci);
unregister_reboot_notifier(&ali_notifier);
misc_deregister(&ali_miscdev);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/