[media] em28xx: implement em28xx_usb_driver suspend, resume, reset_resume hooks
authorShuah Khan <shuah.kh@samsung.com>
Sat, 22 Feb 2014 00:50:18 +0000 (21:50 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Mon, 3 Mar 2014 09:46:48 +0000 (06:46 -0300)
commitcd701c89751d5c63230f47da9a78cdbb39384fdc
treeafc38e280bb23b1f9d9667115e2b3484fad4ed75
parenta61f68119af399b2911e9881abd5bd123f886611
[media] em28xx: implement em28xx_usb_driver suspend, resume, reset_resume hooks

Implement em28xx_usb_driver suspend, resume, and reset_resume hooks.
These hooks will invoke em28xx core em28xx_suspend_extension() and
em28xx_resume_extension() to suspend and resume registered extensions.

Approach:
Add power management support to em28xx usb driver. This driver works in
conjunction with extensions for each of the functions on the USB device
for video/audio/dvb/remote functionality that is present on media USB
devices it supports. During suspend and resume each of these extensions
will have to do their part in suspending the components they control.

Adding suspend and resume hooks to the existing struct em28xx_ops will
enable the extensions the ability to implement suspend and resume hooks
to be called from em28xx driver. The overall approach is as follows:

-- add suspend and resume hooks to em28xx_ops
-- add suspend and resume routines to em28xx-core to invoke suspend
   and resume hooks for all registered extensions.
-- change em28xx dvb, audio, input, and video extensions to implement
   em28xx_ops: suspend and resume hooks. These hooks do what is necessary
   to suspend and resume the devices they control.

Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/usb/em28xx/em28xx-cards.c