[media] STV090x: Query DVB frontend delivery capabilities
authorManu Abraham <abraham.manu@gmail.com>
Thu, 17 Nov 2011 04:37:06 +0000 (01:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 12 Dec 2011 17:04:22 +0000 (15:04 -0200)
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>
drivers/media/dvb/frontends/stv090x.c

index ebda41936b9094b3cc3259231337c507dd474360..8a2637c20d7c74011481cabc05b81bb0e36025fc 100644 (file)
@@ -4711,6 +4711,21 @@ int stv090x_set_gpio(struct dvb_frontend *fe, u8 gpio, u8 dir, u8 value,
 }
 EXPORT_SYMBOL(stv090x_set_gpio);
 
+static int stv090x_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 stv090x_ops = {
 
        .info = {
@@ -4743,7 +4758,9 @@ static struct dvb_frontend_ops stv090x_ops = {
        .read_status                    = stv090x_read_status,
        .read_ber                       = stv090x_read_per,
        .read_signal_strength           = stv090x_read_signal_strength,
-       .read_snr                       = stv090x_read_cnr
+       .read_snr                       = stv090x_read_cnr,
+
+       .get_property                   = stv090x_get_property,
 };