[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:
Родитель
f33686b5a7
Коммит
c7438d02b3
|
@ -140,8 +140,8 @@ static void esb2rom_cleanup(struct esb2rom_window *window)
|
||||||
window->virt = NULL;
|
window->virt = NULL;
|
||||||
window->phys = 0;
|
window->phys = 0;
|
||||||
window->size = 0;
|
window->size = 0;
|
||||||
window->pdev = NULL;
|
|
||||||
}
|
}
|
||||||
|
pci_dev_put(window->pdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit esb2rom_init_one(struct pci_dev *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
|
* Also you can page firmware hubs if an 8MiB window isn't enough
|
||||||
* but don't currently handle that case either.
|
* 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 */
|
/* RLG: experiment 2. Force the window registers to the widest values */
|
||||||
|
|
||||||
|
@ -418,7 +418,7 @@ static int __init init_esb2rom(void)
|
||||||
pdev = NULL;
|
pdev = NULL;
|
||||||
for (id = esb2rom_pci_tbl; id->vendor; id++) {
|
for (id = esb2rom_pci_tbl; id->vendor; id++) {
|
||||||
printk(KERN_DEBUG "device id = %x\n", id->device);
|
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) {
|
if (pdev) {
|
||||||
printk(KERN_DEBUG "matched device = %x\n", id->device);
|
printk(KERN_DEBUG "matched device = %x\n", id->device);
|
||||||
break;
|
break;
|
||||||
|
@ -427,6 +427,7 @@ static int __init init_esb2rom(void)
|
||||||
if (pdev) {
|
if (pdev) {
|
||||||
printk(KERN_DEBUG "matched device id %x\n", id->device);
|
printk(KERN_DEBUG "matched device id %x\n", id->device);
|
||||||
retVal = esb2rom_init_one(pdev, &esb2rom_pci_tbl[0]);
|
retVal = esb2rom_init_one(pdev, &esb2rom_pci_tbl[0]);
|
||||||
|
pci_dev_put(pdev);
|
||||||
printk(KERN_DEBUG "retVal = %d\n", retVal);
|
printk(KERN_DEBUG "retVal = %d\n", retVal);
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче