device_schedule_callback_owner — helper to schedule a callback for a device
int device_schedule_callback_owner ( | struct device * dev, |
void (*func)
( struct device *) , | |
struct module * owner) ; |
dev
device.
func
callback function to invoke later.
owner
module owning the callback routine
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.