Commit 6d746f91 authored by Shuah Khan's avatar Shuah Khan Committed by Mauro Carvalho Chehab

[media] em28xx-audio: implement em28xx_ops: suspend/resume hooks

Implement em28xx_ops: suspend/resume hooks. em28xx usb driver will
invoke em28xx_ops: suspend and resume hooks for all its extensions
from its suspend() and resume() interfaces.
Signed-off-by: default avatarShuah Khan <shuah.kh@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 9c669b73
......@@ -989,11 +989,41 @@ static int em28xx_audio_fini(struct em28xx *dev)
return 0;
}
static int em28xx_audio_suspend(struct em28xx *dev)
{
if (dev == NULL)
return 0;
if (!dev->has_alsa_audio)
return 0;
em28xx_info("Suspending audio extension");
em28xx_deinit_isoc_audio(dev);
atomic_set(&dev->stream_started, 0);
return 0;
}
static int em28xx_audio_resume(struct em28xx *dev)
{
if (dev == NULL)
return 0;
if (!dev->has_alsa_audio)
return 0;
em28xx_info("Resuming audio extension");
/* Nothing to do other than schedule_work() ?? */
schedule_work(&dev->wq_trigger);
return 0;
}
static struct em28xx_ops audio_ops = {
.id = EM28XX_AUDIO,
.name = "Em28xx Audio Extension",
.init = em28xx_audio_init,
.fini = em28xx_audio_fini,
.suspend = em28xx_audio_suspend,
.resume = em28xx_audio_resume,
};
static int __init em28xx_alsa_register(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment