[media] add LNA support for DVB API
authorAntti Palosaari <crope@iki.fi>
Thu, 12 Jul 2012 00:54:50 +0000 (21:54 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 27 Sep 2012 17:28:09 +0000 (14:28 -0300)
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb-core/dvb_frontend.c
drivers/media/dvb-core/dvb_frontend.h
include/linux/dvb/frontend.h

index 1f3b16db203659e42d736eeba12600e0c85ab9dd..8f58f241c10dfa7047f92423cb917c67d908f4b1 100644 (file)
@@ -1022,6 +1022,7 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {
 
        _DTV_CMD(DTV_STREAM_ID, 1, 0),
        _DTV_CMD(DTV_DVBT2_PLP_ID_LEGACY, 1, 0),
+       _DTV_CMD(DTV_LNA, 1, 0),
 
        /* Get */
        _DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
@@ -1730,6 +1731,10 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
        case DTV_INTERLEAVING:
                c->interleaving = tvp->u.data;
                break;
+       case DTV_LNA:
+               if (fe->ops.set_lna)
+                       r = fe->ops.set_lna(fe, tvp->u.data);
+               break;
 
        /* ISDB-T Support here */
        case DTV_ISDBT_PARTIAL_RECEPTION:
index 33996a01cd6384fb0ec2c3d8d5c4de1950d83c50..44a445cee74f53b2fe5aa010323bd09308f293b1 100644 (file)
@@ -303,6 +303,7 @@ struct dvb_frontend_ops {
        int (*dishnetwork_send_legacy_command)(struct dvb_frontend* fe, unsigned long cmd);
        int (*i2c_gate_ctrl)(struct dvb_frontend* fe, int enable);
        int (*ts_bus_ctrl)(struct dvb_frontend* fe, int acquire);
+       int (*set_lna)(struct dvb_frontend *, int);
 
        /* These callbacks are for devices that implement their own
         * tuning algorithms, rather than a simple swzigzag
index 57e2b1763109bfeca2dc9e6ead33e2ae6eb487d7..c12d452cb40df13b256db3d040fa4e898f7b9355 100644 (file)
@@ -363,8 +363,9 @@ struct dvb_frontend_event {
 #define DTV_ATSCMH_SCCC_CODE_MODE_D    59
 
 #define DTV_INTERLEAVING                       60
+#define DTV_LNA                                        61
 
-#define DTV_MAX_COMMAND                                DTV_INTERLEAVING
+#define DTV_MAX_COMMAND                                DTV_LNA
 
 typedef enum fe_pilot {
        PILOT_ON,
@@ -438,6 +439,7 @@ enum atscmh_rs_code_mode {
 };
 
 #define NO_STREAM_ID_FILTER    (~0U)
+#define LNA_AUTO                (~0U)
 
 struct dtv_cmds_h {
        char    *name;          /* A display name for debugging purposes */