summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-core/dvb_frontend.h
diff options
context:
space:
mode:
authorShuah Khan2014-07-12 18:44:12 +0200
committerMauro Carvalho Chehab2014-07-26 16:17:15 +0200
commit18ed2860cb1345c1c99f62b089a15ac858f7bd48 (patch)
treeacd5e8a832eb78a183ac5ef07c66be2f383b9639 /drivers/media/dvb-core/dvb_frontend.h
parent[media] media: em28xx - fix i2c_xfer to return -ENODEV when dev is removed (diff)
downloadkernel-qcow2-linux-18ed2860cb1345c1c99f62b089a15ac858f7bd48.tar.gz
kernel-qcow2-linux-18ed2860cb1345c1c99f62b089a15ac858f7bd48.tar.xz
kernel-qcow2-linux-18ed2860cb1345c1c99f62b089a15ac858f7bd48.zip
[media] media: dvb-core move fe exit flag from fepriv to fe for driver access
Some fe drivers attempt to access the device for power control from their release routines. When release routines are called after device is disconnected, the attempts fail. fe drivers should avoid accessing the device, from their release interfaces when called from disconnect path. dvb-frontend maintains exit flag to keep track when fe device is disconnected in its private data structures. Export the flag in fe to enable drivers to check the device status from their release interfaces. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/dvb-core/dvb_frontend.h')
-rw-r--r--drivers/media/dvb-core/dvb_frontend.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/dvb-core/dvb_frontend.h b/drivers/media/dvb-core/dvb_frontend.h
index 371b6caf486c..625a3401cd41 100644
--- a/drivers/media/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb-core/dvb_frontend.h
@@ -405,6 +405,10 @@ struct dtv_frontend_properties {
struct dtv_fe_stats block_count;
};
+#define DVB_FE_NO_EXIT 0
+#define DVB_FE_NORMAL_EXIT 1
+#define DVB_FE_DEVICE_REMOVED 2
+
struct dvb_frontend {
struct dvb_frontend_ops ops;
struct dvb_adapter *dvb;
@@ -418,6 +422,7 @@ struct dvb_frontend {
#define DVB_FRONTEND_COMPONENT_DEMOD 1
int (*callback)(void *adapter_priv, int component, int cmd, int arg);
int id;
+ unsigned int exit;
};
extern int dvb_register_frontend(struct dvb_adapter *dvb,