DEVICE_RELEASE_DRIVE(9) Device drivers infrastructure DEVICE_RELEASE_DRIVE(9)NAME
device_release_driver - manually detach device from driver.
SYNOPSIS
void device_release_driver(struct device * dev);
ARGUMENTS
dev
device.
DESCRIPTION
Manually detach device from driver. When called for a USB interface, dev->parent lock must be held.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 DEVICE_RELEASE_DRIVE(9)
Check Out this Related Man Page
DEVICE_SCHEDULE_CALL(9) Device drivers infrastructure DEVICE_SCHEDULE_CALL(9)NAME
device_schedule_callback_owner - helper to schedule a callback for a device
SYNOPSIS
int device_schedule_callback_owner(struct device * dev, void (*func) (struct device *), struct module * owner);
ARGUMENTS
dev
device.
func
callback function to invoke later.
owner
module owning the callback routine
DESCRIPTION
Attribute methods must not unregister themselves or their parent device (which would amount to the same thing). Attempts to do so will
deadlock, since unregistration is mutually exclusive with driver callbacks.
Instead methods can call this routine, which will attempt to allocate and schedule a workqueue request to call back func with dev as its
argument in the workqueue's process context. dev will be pinned until func returns.
This routine is usually called via the inline device_schedule_callback, which automatically sets owner to THIS_MODULE.
Returns 0 if the request was submitted, -ENOMEM if storage could not be allocated, -ENODEV if a reference to owner isn't available.
NOTE
This routine won't work if CONFIG_SYSFS isn't set! It uses an underlying sysfs routine (since it is intended for use by attribute methods),
and if sysfs isn't available you'll get nothing but -ENOSYS.
COPYRIGHT Kernel Hackers Manual 3.10 June 2014 DEVICE_SCHEDULE_CALL(9)