|
|
dev->driver->remove(dev); | dev->driver->remove(dev); |
dev->driver = NULL; | dev->driver = NULL; |
#else | #else |
struct device *reldev = get_device(&dev->dev); |
AMRMO_DBG("device %04x:%04x is grabbed by another driver, ignoring", |
AMRMO_DBG("device %04x:%04x is grabbed by driver %s: try to release\n", |
dev->vendor,dev->device); |
dev->vendor,dev->device, |
|
(reldev&&reldev->driver)? |
|
reldev->driver->name:"unknown"); |
|
if (reldev) { |
|
device_release_driver(reldev); |
|
put_device(reldev); |
|
} |
|
#endif | #endif |
} | } |
} | } |