summaryrefslogtreecommitdiff
path: root/drivers/media/dvb/frontends/stb0899_drv.c
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2011-11-16 22:14:53 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-12-12 15:04:05 -0200
commit61d4f9c918c591e4f7970ef29bafb302664be466 (patch)
treec2bb8614e75d13542f2554fcde952c31a1aced6b /drivers/media/dvb/frontends/stb0899_drv.c
parent6c7ef54774a28aec6268ca325abf95c7d6956ee3 (diff)
[media] STB0899: Query DVB frontend delivery capabilities
Override default delivery system information provided by FE_GET_INFO, so that applications can enumerate delivery systems provided by the frontend. Signed-off-by: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/stb0899_drv.c')
-rw-r--r--drivers/media/dvb/frontends/stb0899_drv.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/stb0899_drv.c b/drivers/media/dvb/frontends/stb0899_drv.c
index 8408ef877b4b..9c93d9f1ae6a 100644
--- a/drivers/media/dvb/frontends/stb0899_drv.c
+++ b/drivers/media/dvb/frontends/stb0899_drv.c
@@ -1605,6 +1605,21 @@ static enum dvbfe_algo stb0899_frontend_algo(struct dvb_frontend *fe)
return DVBFE_ALGO_CUSTOM;
}
+static int stb0899_get_property(struct dvb_frontend *fe, struct dtv_property *p)
+{
+ switch (p->cmd) {
+ case DTV_ENUM_DELSYS:
+ p->u.buffer.data[0] = SYS_DSS;
+ p->u.buffer.data[1] = SYS_DVBS;
+ p->u.buffer.data[2] = SYS_DVBS2;
+ p->u.buffer.len = 3;
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
static struct dvb_frontend_ops stb0899_ops = {
.info = {
@@ -1647,6 +1662,8 @@ static struct dvb_frontend_ops stb0899_ops = {
.diseqc_send_master_cmd = stb0899_send_diseqc_msg,
.diseqc_recv_slave_reply = stb0899_recv_slave_reply,
.diseqc_send_burst = stb0899_send_diseqc_burst,
+
+ .get_property = stb0899_get_property,
};
struct dvb_frontend *stb0899_attach(struct stb0899_config *config, struct i2c_adapter *i2c)