Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1bacb2df authored by Ondrej Zary's avatar Ondrej Zary Committed by Mauro Carvalho Chehab
Browse files

[media] tda8290: change magic LNA config values to enum



Use enum instead of magic values for LNA config in tda8290.
Update tda827x, tda18271 and saa7134 to use the enum too.

Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 34fe2784
Loading
Loading
Loading
Loading
+21 −20
Original line number Original line Diff line number Diff line
@@ -2765,7 +2765,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 0 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x0200000,
		.gpiomask       = 0x0200000,
		.inputs = {{
		.inputs = {{
@@ -3296,7 +3296,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 1 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x000200000,
		.gpiomask       = 0x000200000,
		.inputs         = {{
		.inputs         = {{
@@ -3400,7 +3400,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 1 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x0200100,
		.gpiomask       = 0x0200100,
		.inputs         = {{
		.inputs         = {{
@@ -3431,7 +3431,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 3 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.ts_type	= SAA7134_MPEG_TS_SERIAL,
		.ts_type	= SAA7134_MPEG_TS_SERIAL,
		.ts_force_val   = 1,
		.ts_force_val   = 1,
@@ -3464,7 +3464,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 3 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.ts_type	= SAA7134_MPEG_TS_SERIAL,
		.ts_type	= SAA7134_MPEG_TS_SERIAL,
		.gpiomask       = 0x0800100, /* GPIO 21 is an INPUT */
		.gpiomask       = 0x0800100, /* GPIO 21 is an INPUT */
@@ -3688,7 +3688,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x0200000,
		.gpiomask       = 0x0200000,
		.inputs = {{
		.inputs = {{
@@ -3741,7 +3741,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x0200000,
		.gpiomask       = 0x0200000,
		.inputs = {{
		.inputs = {{
@@ -3759,7 +3759,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.gpiomask	= 1 << 21,
		.gpiomask	= 1 << 21,
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.inputs         = {{
		.inputs         = {{
@@ -3892,7 +3892,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 0 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.inputs = {{
		.inputs = {{
			.name   = name_tv, /* FIXME: analog tv untested */
			.name   = name_tv, /* FIXME: analog tv untested */
@@ -3908,7 +3908,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.gpiomask       = 0x020200000,
		.gpiomask       = 0x020200000,
		.inputs         = {{
		.inputs         = {{
			.name = name_tv,
			.name = name_tv,
@@ -3942,7 +3942,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type	= UNSET,
		.radio_type	= UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf	= { .lna_cfg = 0 },
		.tda829x_conf	= { .lna_cfg = TDA8290_LNA_OFF },
		.gpiomask	= 0x020200000,
		.gpiomask	= 0x020200000,
		.inputs		= {{
		.inputs		= {{
			.name = name_tv,
			.name = name_tv,
@@ -4742,7 +4742,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x0200000,
		.gpiomask       = 0x0200000,
		.inputs = {{
		.inputs = {{
@@ -4828,7 +4828,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type   = UNSET,
		.radio_type   = UNSET,
		.tuner_addr   = ADDR_UNSET,
		.tuner_addr   = ADDR_UNSET,
		.radio_addr   = ADDR_UNSET,
		.radio_addr   = ADDR_UNSET,
		.tda829x_conf = { .lna_cfg = 0 },
		.tda829x_conf = { .lna_cfg = TDA8290_LNA_OFF },
		.mpeg         = SAA7134_MPEG_DVB,
		.mpeg         = SAA7134_MPEG_DVB,
		.inputs       = {{
		.inputs       = {{
			.name = name_tv,
			.name = name_tv,
@@ -4852,7 +4852,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x0200000,
		.gpiomask       = 0x0200000,
		.inputs = { {
		.inputs = { {
@@ -5062,7 +5062,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.gpiomask       = 1 << 21,
		.gpiomask       = 1 << 21,
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.inputs         = {{
		.inputs         = {{
@@ -5092,7 +5092,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 2 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
		.gpiomask       = 1 << 21,
		.gpiomask       = 1 << 21,
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.inputs         = {{
		.inputs         = {{
@@ -5181,7 +5181,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 0 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.gpiomask       = 0x0200000,
		.gpiomask       = 0x0200000,
		.inputs = { {
		.inputs = { {
@@ -5411,7 +5411,7 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 0 },
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
		.ts_type	= SAA7134_MPEG_TS_PARALLEL,
		.ts_type	= SAA7134_MPEG_TS_PARALLEL,
		.inputs         = {{
		.inputs         = {{
@@ -5634,7 +5634,7 @@ struct saa7134_board saa7134_boards[] = {
		.audio_clock	= 0x00187de7,
		.audio_clock	= 0x00187de7,
		.tuner_type	= TUNER_PHILIPS_TDA8290,
		.tuner_type	= TUNER_PHILIPS_TDA8290,
		.radio_type	= UNSET,
		.radio_type	= UNSET,
		.tda829x_conf	= { .lna_cfg = 3 },
		.tda829x_conf	= { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
		.tuner_addr	= ADDR_UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
		.gpiomask	= 0x02050000,
		.gpiomask	= 0x02050000,
@@ -5802,7 +5802,8 @@ struct saa7134_board saa7134_boards[] = {
		.radio_type     = UNSET,
		.radio_type     = UNSET,
		.tuner_addr     = ADDR_UNSET,
		.tuner_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.radio_addr     = ADDR_UNSET,
		.tda829x_conf   = { .lna_cfg = 0, .no_i2c_gate = 1,
		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF,
				    .no_i2c_gate = 1,
				    .tda18271_std_map = &aver_a706_std_map },
				    .tda18271_std_map = &aver_a706_std_map },
		.gpiomask       = 1 << 11,
		.gpiomask       = 1 << 11,
		.mpeg           = SAA7134_MPEG_DVB,
		.mpeg           = SAA7134_MPEG_DVB,
+5 −4
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@
#include <linux/delay.h>
#include <linux/delay.h>
#include <linux/videodev2.h>
#include <linux/videodev2.h>
#include "tda18271-priv.h"
#include "tda18271-priv.h"
#include "tda8290.h"


int tda18271_debug;
int tda18271_debug;
module_param_named(debug, tda18271_debug, int, 0644);
module_param_named(debug, tda18271_debug, int, 0644);
@@ -867,12 +868,12 @@ static int tda18271_agc(struct dvb_frontend *fe)
	int ret = 0;
	int ret = 0;


	switch (priv->config) {
	switch (priv->config) {
	case 0:
	case TDA8290_LNA_OFF:
		/* no external agc configuration required */
		/* no external agc configuration required */
		if (tda18271_debug & DBG_ADV)
		if (tda18271_debug & DBG_ADV)
			tda_dbg("no agc configuration provided\n");
			tda_dbg("no agc configuration provided\n");
		break;
		break;
	case 3:
	case TDA8290_LNA_ON_BRIDGE:
		/* switch with GPIO of saa713x */
		/* switch with GPIO of saa713x */
		tda_dbg("invoking callback\n");
		tda_dbg("invoking callback\n");
		if (fe->callback)
		if (fe->callback)
@@ -881,8 +882,8 @@ static int tda18271_agc(struct dvb_frontend *fe)
					   TDA18271_CALLBACK_CMD_AGC_ENABLE,
					   TDA18271_CALLBACK_CMD_AGC_ENABLE,
					   priv->mode);
					   priv->mode);
		break;
		break;
	case 1:
	case TDA8290_LNA_GP0_HIGH_ON:
	case 2:
	case TDA8290_LNA_GP0_HIGH_OFF:
	default:
	default:
		/* n/a - currently not supported */
		/* n/a - currently not supported */
		tda_err("unsupported configuration: %d\n", priv->config);
		tda_err("unsupported configuration: %d\n", priv->config);
+5 −5
Original line number Original line Diff line number Diff line
@@ -479,10 +479,10 @@ static void tda827xa_lna_gain(struct dvb_frontend *fe, int high,
			dprintk("setting LNA to low gain\n");
			dprintk("setting LNA to low gain\n");
	}
	}
	switch (priv->cfg->config) {
	switch (priv->cfg->config) {
	case 0: /* no LNA */
	case TDA8290_LNA_OFF: /* no LNA */
		break;
		break;
	case 1: /* switch is GPIO 0 of tda8290 */
	case TDA8290_LNA_GP0_HIGH_ON: /* switch is GPIO 0 of tda8290 */
	case 2:
	case TDA8290_LNA_GP0_HIGH_OFF:
		if (params == NULL) {
		if (params == NULL) {
			gp_func = 0;
			gp_func = 0;
			arg  = 0;
			arg  = 0;
@@ -499,11 +499,11 @@ static void tda827xa_lna_gain(struct dvb_frontend *fe, int high,
				     DVB_FRONTEND_COMPONENT_TUNER,
				     DVB_FRONTEND_COMPONENT_TUNER,
				     gp_func, arg);
				     gp_func, arg);
		buf[1] = high ? 0 : 1;
		buf[1] = high ? 0 : 1;
		if (priv->cfg->config == 2)
		if (priv->cfg->config == TDA8290_LNA_GP0_HIGH_OFF)
			buf[1] = high ? 1 : 0;
			buf[1] = high ? 1 : 0;
		tuner_transfer(fe, &msg, 1);
		tuner_transfer(fe, &msg, 1);
		break;
		break;
	case 3: /* switch with GPIO of saa713x */
	case TDA8290_LNA_ON_BRIDGE: /* switch with GPIO of saa713x */
		if (fe->callback)
		if (fe->callback)
			fe->callback(priv->i2c_adap->algo_data,
			fe->callback(priv->i2c_adap->algo_data,
				     DVB_FRONTEND_COMPONENT_TUNER, 0, high);
				     DVB_FRONTEND_COMPONENT_TUNER, 0, high);
+2 −1
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@


#include <linux/i2c.h>
#include <linux/i2c.h>
#include "dvb_frontend.h"
#include "dvb_frontend.h"
#include "tda8290.h"


struct tda827x_config
struct tda827x_config
{
{
@@ -34,7 +35,7 @@ struct tda827x_config
	int (*sleep) (struct dvb_frontend *fe);
	int (*sleep) (struct dvb_frontend *fe);


	/* interface to tda829x driver */
	/* interface to tda829x driver */
	unsigned int config;
	enum tda8290_lna config;
	int 	     switch_addr;
	int 	     switch_addr;


	void (*agcf)(struct dvb_frontend *fe);
	void (*agcf)(struct dvb_frontend *fe);
+2 −1
Original line number Original line Diff line number Diff line
@@ -496,7 +496,8 @@ static void tda8290_init_if(struct dvb_frontend *fe)
	unsigned char set_GP00_CF[] = { 0x20, 0x01 };
	unsigned char set_GP00_CF[] = { 0x20, 0x01 };
	unsigned char set_GP01_CF[] = { 0x20, 0x0B };
	unsigned char set_GP01_CF[] = { 0x20, 0x0B };


	if ((priv->cfg.config == 1) || (priv->cfg.config == 2))
	if ((priv->cfg.config == TDA8290_LNA_GP0_HIGH_ON) ||
	    (priv->cfg.config == TDA8290_LNA_GP0_HIGH_OFF))
		tuner_i2c_xfer_send(&priv->i2c_props, set_GP00_CF, 2);
		tuner_i2c_xfer_send(&priv->i2c_props, set_GP00_CF, 2);
	else
	else
		tuner_i2c_xfer_send(&priv->i2c_props, set_GP01_CF, 2);
		tuner_i2c_xfer_send(&priv->i2c_props, set_GP01_CF, 2);
Loading