diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2007-04-23 22:57:28 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 20:45:54 +0200 |
commit | 74ea1c7a7e7b5dfe961f3ed08365f9deb899b163 (patch) | |
tree | e11426598ef876352eb96d7131e4d27996b5b103 | |
parent | V4L/DVB (5551): Plan-b: header change (diff) | |
download | linux-74ea1c7a7e7b5dfe961f3ed08365f9deb899b163.tar.xz linux-74ea1c7a7e7b5dfe961f3ed08365f9deb899b163.zip |
V4L/DVB (5552): Plan-b: Switch to refcounting PCI API
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/planb.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/video/planb.c b/drivers/media/video/planb.c index 86d2884e16c6..fe184f93c016 100644 --- a/drivers/media/video/planb.c +++ b/drivers/media/video/planb.c @@ -2207,7 +2207,7 @@ static int find_planb(void) "membase 0x%x (base reg. 0x%x)\n", bus, PCI_SLOT(dev_fn), PCI_FUNC(dev_fn), old_base, confreg); - pdev = pci_find_slot (bus, dev_fn); + pdev = pci_get_bus_and_slot(bus, dev_fn); if (!pdev) { printk(KERN_ERR "planb: cannot find slot\n"); goto err_out; @@ -2237,6 +2237,7 @@ static int find_planb(void) pb->planb_base = planb_regs; pb->planb_base_phys = (struct planb_registers *)new_base; pb->irq = irq; + pb->dev = pdev; return planb_num; @@ -2244,6 +2245,7 @@ err_out_disable: pci_disable_device(pdev); err_out: /* FIXME handle error */ /* comment moved from pci_find_slot, above */ + pci_dev_put(pdev); return 0; } @@ -2271,6 +2273,8 @@ static void release_planb(void) printk(KERN_INFO "PlanB: unregistering with v4l\n"); video_unregister_device(&pb->video_dev); + pci_dev_put(pb->dev); + /* note that iounmap() does nothing on the PPC right now */ iounmap ((void *)pb->planb_base); } |