Re: [PATCH RFC] add LNA support for DVB API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/12/2012 04:04 AM, Antti Palosaari wrote:

Any comment about that?
Should I store value to cache?
Should I offer get too?
Should I offer way to query possible values?

I think that implementation is quite simply and safe to add. Lets extend later if really needed...


regards
Antti


Signed-off-by: Antti Palosaari <crope@xxxxxx>
---
  drivers/media/dvb/dvb-core/dvb_frontend.c |    5 +++++
  drivers/media/dvb/dvb-core/dvb_frontend.h |    1 +
  include/linux/dvb/frontend.h              |    4 +++-
  3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index b54c297..fe22aaa 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1020,6 +1020,7 @@ static struct dtv_cmds_h dtv_cmds[DTV_MAX_COMMAND + 1] = {

  	_DTV_CMD(DTV_ISDBS_TS_ID, 1, 0),
  	_DTV_CMD(DTV_DVBT2_PLP_ID, 1, 0),
+	_DTV_CMD(DTV_LNA, 1, 0),

  	/* Get */
  	_DTV_CMD(DTV_DISEQC_SLAVE_REPLY, 0, 1),
@@ -1723,6 +1724,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/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 31a3d1c..628a821 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -302,6 +302,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/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index 2dd5823..e28802a 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -350,8 +350,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,
@@ -424,6 +425,7 @@ enum atscmh_rs_code_mode {
  	ATSCMH_RSCODE_RES        = 3,
  };

+#define LNA_AUTO INT_MIN

  struct dtv_cmds_h {
  	char	*name;		/* A display name for debugging purposes */



--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux