async_suspend
static void async_suspend(void *data, async_cookie_t cookie);
dpm_async_suspend_superior(dev, async_suspend);
dpm_async_with_cleanup(dev, async_suspend);
if (dpm_async_fn(dev, async_suspend))
dpm_wait(dev, subordinate->power.async_suspend);
if (async || (pm_async_enabled && dev->power.async_suspend))
return dev->power.async_suspend && pm_async_enabled
dev->power.async_suspend = true;
dev->power.async_suspend = false;
return !!dev->power.async_suspend;
bool async_suspend:1;