[media] media: dvb-core add new flag exit flag value for resume
authorShuah Khan <shuah.kh@samsung.com>
Thu, 24 Jul 2014 16:02:14 +0000 (13:02 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sat, 26 Jul 2014 14:20:10 +0000 (11:20 -0300)
Some fe drivers will have to do additional initialization
in their fe ops.init interfaces when called during resume.
Without the additional initialization, fe and tuner driver
resume fails. A new fe exit flag value DVB_FE_DEVICE_RESUME
is necessary to detect resume case. This patch adds a new
define and changes dvb_frontend_resume() to set it prior to
calling fe init and tuner init calls and resets it back to
DVB_FE_NO_EXIT once fe and tuner init is done.

Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-core/dvb_frontend.c
drivers/media/dvb-core/dvb_frontend.h

index af88aeba54537d096c6bd7ebdd332d6d5c455d55..c2a6a0a858130b4db284ca845134656afcffc2f0 100644 (file)
@@ -2568,12 +2568,14 @@ int dvb_frontend_resume(struct dvb_frontend *fe)
        dev_dbg(fe->dvb->device, "%s: adap=%d fe=%d\n", __func__, fe->dvb->num,
                        fe->id);
 
+       fe->exit = DVB_FE_DEVICE_RESUME;
        if (fe->ops.init)
                ret = fe->ops.init(fe);
 
        if (fe->ops.tuner_ops.init)
                ret = fe->ops.tuner_ops.init(fe);
 
+       fe->exit = DVB_FE_NO_EXIT;
        fepriv->state = FESTATE_RETUNE;
        dvb_frontend_wakeup(fe);
 
index 625a3401cd4117ea1fe976622518af49b4b88c69..d398de4b6ef468cb7639ed8ce649ea0c4869291c 100644 (file)
@@ -408,6 +408,7 @@ struct dtv_frontend_properties {
 #define DVB_FE_NO_EXIT  0
 #define DVB_FE_NORMAL_EXIT      1
 #define DVB_FE_DEVICE_REMOVED   2
+#define DVB_FE_DEVICE_RESUME    3
 
 struct dvb_frontend {
        struct dvb_frontend_ops ops;