mirror of
https://github.com/torvalds/linux.git
synced 2024-11-04 11:04:38 +00:00
[MTD] MAPS: esb2rom: use hotplug safe interfaces
Fairly self explanatory. Keep a reference initially, drop it when we free up the driver resources. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This commit is contained in:
parent
f33686b5a7
commit
c7438d02b3
@ -140,8 +140,8 @@ static void esb2rom_cleanup(struct esb2rom_window *window)
|
||||
window->virt = NULL;
|
||||
window->phys = 0;
|
||||
window->size = 0;
|
||||
window->pdev = NULL;
|
||||
}
|
||||
pci_dev_put(window->pdev);
|
||||
}
|
||||
|
||||
static int __devinit esb2rom_init_one(struct pci_dev *pdev,
|
||||
@ -164,7 +164,7 @@ static int __devinit esb2rom_init_one(struct pci_dev *pdev,
|
||||
* Also you can page firmware hubs if an 8MiB window isn't enough
|
||||
* but don't currently handle that case either.
|
||||
*/
|
||||
window->pdev = pdev;
|
||||
window->pdev = pci_dev_get(pdev);
|
||||
|
||||
/* RLG: experiment 2. Force the window registers to the widest values */
|
||||
|
||||
@ -418,7 +418,7 @@ static int __init init_esb2rom(void)
|
||||
pdev = NULL;
|
||||
for (id = esb2rom_pci_tbl; id->vendor; id++) {
|
||||
printk(KERN_DEBUG "device id = %x\n", id->device);
|
||||
pdev = pci_find_device(id->vendor, id->device, NULL);
|
||||
pdev = pci_get_device(id->vendor, id->device, NULL);
|
||||
if (pdev) {
|
||||
printk(KERN_DEBUG "matched device = %x\n", id->device);
|
||||
break;
|
||||
@ -427,6 +427,7 @@ static int __init init_esb2rom(void)
|
||||
if (pdev) {
|
||||
printk(KERN_DEBUG "matched device id %x\n", id->device);
|
||||
retVal = esb2rom_init_one(pdev, &esb2rom_pci_tbl[0]);
|
||||
pci_dev_put(pdev);
|
||||
printk(KERN_DEBUG "retVal = %d\n", retVal);
|
||||
return retVal;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user