From 66e751c894c563af6bfd1816ab592b5b243c1962 Mon Sep 17 00:00:00 2001 From: Antti Palosaari Date: Wed, 11 Jul 2012 21:54:50 -0300 Subject: [PATCH] --- yaml --- r: 331165 b: refs/heads/master c: 8a2697abc1f0388d44b78ac109d9f03ec75c2683 h: refs/heads/master i: 331163: b1f589e42048907a48c5db8b74ddd3187549c620 v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb-core/dvb_frontend.c | 5 +++++ trunk/drivers/media/dvb-core/dvb_frontend.h | 1 + trunk/include/linux/dvb/frontend.h | 4 +++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ad219856e676..5de097e7af93 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 48caa6f12902dfc08acfc54e417f845dc0477664 +refs/heads/master: 8a2697abc1f0388d44b78ac109d9f03ec75c2683 diff --git a/trunk/drivers/media/dvb-core/dvb_frontend.c b/trunk/drivers/media/dvb-core/dvb_frontend.c index 1f3b16db2036..8f58f241c10d 100644 --- a/trunk/drivers/media/dvb-core/dvb_frontend.c +++ b/trunk/drivers/media/dvb-core/dvb_frontend.c @@ -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: diff --git a/trunk/drivers/media/dvb-core/dvb_frontend.h b/trunk/drivers/media/dvb-core/dvb_frontend.h index 33996a01cd63..44a445cee74f 100644 --- a/trunk/drivers/media/dvb-core/dvb_frontend.h +++ b/trunk/drivers/media/dvb-core/dvb_frontend.h @@ -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 diff --git a/trunk/include/linux/dvb/frontend.h b/trunk/include/linux/dvb/frontend.h index 57e2b1763109..c12d452cb40d 100644 --- a/trunk/include/linux/dvb/frontend.h +++ b/trunk/include/linux/dvb/frontend.h @@ -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 */