public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: mchehab@infradead.org
To: linux-kernel@vger.kernel.org
Cc: linux-dvb-maintainer@linuxtv.org,
	Oliver Endriss <o.endriss@gmx.de>,
	Mauro Carvalho Chehab <mchehab@infradead.org>
Subject: [PATCH 132/141] V4L/DVB (3404): Refactored LNBP21 and BSBE1 support
Date: Mon, 20 Mar 2006 12:08:59 -0300	[thread overview]
Message-ID: <20060320150859.PS034722000132@infradead.org> (raw)
In-Reply-To: <20060320150819.PS760228000000@infradead.org>

From: Oliver Endriss <o.endriss@gmx.de>
Date: 1141129876 -0300

Moved duplicated code to separate files.
LNBP21 stuff rewritten from scratch, BSBE1 copied from av7110.c.
Modified budget driver to use the new routines.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 70a6d14..d5aee5a 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -104,6 +104,7 @@ struct dvb_frontend {
 	struct dvb_adapter *dvb;
 	void* demodulator_priv;
 	void* frontend_priv;
+	void* misc_priv;
 };
 
 extern int dvb_register_frontend(struct dvb_adapter* dvb,
diff --git a/drivers/media/dvb/frontends/bsbe1.h b/drivers/media/dvb/frontends/bsbe1.h
diff --git a/drivers/media/dvb/frontends/bsbe1.h b/drivers/media/dvb/frontends/bsbe1.h
new file mode 100644
index 0000000..78573b2
--- /dev/null
+++ b/drivers/media/dvb/frontends/bsbe1.h
@@ -0,0 +1,123 @@
+/*
+ * bsbe1.h - ALPS BSBE1 tuner support (moved from av7110.c)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
+ *
+ *
+ * the project's page is at http://www.linuxtv.org
+ */
+
+#ifndef BSBE1_H
+#define BSBE1_H
+
+static u8 alps_bsbe1_inittab[] = {
+	0x01, 0x15,
+	0x02, 0x30,
+	0x03, 0x00,
+	0x04, 0x7d,   /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */
+	0x05, 0x35,   /* I2CT = 0, SCLT = 1, SDAT = 1 */
+	0x06, 0x40,   /* DAC not used, set to high impendance mode */
+	0x07, 0x00,   /* DAC LSB */
+	0x08, 0x40,   /* DiSEqC off, LNB power on OP2/LOCK pin on */
+	0x09, 0x00,   /* FIFO */
+	0x0c, 0x51,   /* OP1 ctl = Normal, OP1 val = 1 (LNB Power ON) */
+	0x0d, 0x82,   /* DC offset compensation = ON, beta_agc1 = 2 */
+	0x0e, 0x23,   /* alpha_tmg = 2, beta_tmg = 3 */
+	0x10, 0x3f,   // AGC2  0x3d
+	0x11, 0x84,
+	0x12, 0xb9,
+	0x15, 0xc9,   // lock detector threshold
+	0x16, 0x00,
+	0x17, 0x00,
+	0x18, 0x00,
+	0x19, 0x00,
+	0x1a, 0x00,
+	0x1f, 0x50,
+	0x20, 0x00,
+	0x21, 0x00,
+	0x22, 0x00,
+	0x23, 0x00,
+	0x28, 0x00,  // out imp: normal  out type: parallel FEC mode:0
+	0x29, 0x1e,  // 1/2 threshold
+	0x2a, 0x14,  // 2/3 threshold
+	0x2b, 0x0f,  // 3/4 threshold
+	0x2c, 0x09,  // 5/6 threshold
+	0x2d, 0x05,  // 7/8 threshold
+	0x2e, 0x01,
+	0x31, 0x1f,  // test all FECs
+	0x32, 0x19,  // viterbi and synchro search
+	0x33, 0xfc,  // rs control
+	0x34, 0x93,  // error control
+	0x0f, 0x92,
+	0xff, 0xff
+};
+
+
+static int alps_bsbe1_set_symbol_rate(struct dvb_frontend* fe, u32 srate, u32 ratio)
+{
+	u8 aclk = 0;
+	u8 bclk = 0;
+
+	if (srate < 1500000) { aclk = 0xb7; bclk = 0x47; }
+	else if (srate < 3000000) { aclk = 0xb7; bclk = 0x4b; }
+	else if (srate < 7000000) { aclk = 0xb7; bclk = 0x4f; }
+	else if (srate < 14000000) { aclk = 0xb7; bclk = 0x53; }
+	else if (srate < 30000000) { aclk = 0xb6; bclk = 0x53; }
+	else if (srate < 45000000) { aclk = 0xb4; bclk = 0x51; }
+
+	stv0299_writereg(fe, 0x13, aclk);
+	stv0299_writereg(fe, 0x14, bclk);
+	stv0299_writereg(fe, 0x1f, (ratio >> 16) & 0xff);
+	stv0299_writereg(fe, 0x20, (ratio >>  8) & 0xff);
+	stv0299_writereg(fe, 0x21, (ratio      ) & 0xf0);
+
+	return 0;
+}
+
+static int alps_bsbe1_pll_set(struct dvb_frontend* fe, struct i2c_adapter *i2c, struct dvb_frontend_parameters* params)
+{
+	int ret;
+	u8 data[4];
+	u32 div;
+	struct i2c_msg msg = { .addr = 0x61, .flags = 0, .buf = data, .len = sizeof(data) };
+
+	if ((params->frequency < 950000) || (params->frequency > 2150000))
+		return -EINVAL;
+
+	div = (params->frequency + (125 - 1)) / 125; // round correctly
+	data[0] = (div >> 8) & 0x7f;
+	data[1] = div & 0xff;
+	data[2] = 0x80 | ((div & 0x18000) >> 10) | 4;
+	data[3] = (params->frequency > 1530000) ? 0xE0 : 0xE4;
+
+	ret = i2c_transfer(i2c, &msg, 1);
+	return (ret != 1) ? -EIO : 0;
+}
+
+static struct stv0299_config alps_bsbe1_config = {
+	.demod_address = 0x68,
+	.inittab = alps_bsbe1_inittab,
+	.mclk = 88000000UL,
+	.invert = 1,
+	.skip_reinit = 0,
+	.min_delay_ms = 100,
+	.set_symbol_rate = alps_bsbe1_set_symbol_rate,
+	.pll_set = alps_bsbe1_pll_set,
+};
+
+#endif
diff --git a/drivers/media/dvb/frontends/lnbp21.h b/drivers/media/dvb/frontends/lnbp21.h
diff --git a/drivers/media/dvb/frontends/lnbp21.h b/drivers/media/dvb/frontends/lnbp21.h
new file mode 100644
index 0000000..0dcbe61
--- /dev/null
+++ b/drivers/media/dvb/frontends/lnbp21.h
@@ -0,0 +1,139 @@
+/*
+ * lnbp21.h - driver for lnb supply and control ic lnbp21
+ *
+ * Copyright (C) 2006 Oliver Endriss
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Or, point your browser to http://www.gnu.org/copyleft/gpl.html
+ *
+ *
+ * the project's page is at http://www.linuxtv.org
+ */
+
+#ifndef _LNBP21_H
+#define _LNBP21_H
+
+/* system register */
+#define LNBP21_OLF	0x01
+#define LNBP21_OTF	0x02
+#define LNBP21_EN	0x04
+#define LNBP21_VSEL	0x08
+#define LNBP21_LLC	0x10
+#define LNBP21_TEN	0x20
+#define LNBP21_ISEL	0x40
+#define LNBP21_PCL	0x80
+
+struct lnbp21 {
+	u8			config;
+	u8			override_or;
+	u8			override_and;
+	struct i2c_adapter	*i2c;
+	void			(*release_chain)(struct dvb_frontend* fe);
+};
+
+static int lnbp21_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage)
+{
+	struct lnbp21 *lnbp21 = (struct lnbp21 *) fe->misc_priv;
+	struct i2c_msg msg = {	.addr = 0x08, .flags = 0,
+				.buf = &lnbp21->config,
+				.len = sizeof(lnbp21->config) };
+
+	lnbp21->config &= ~(LNBP21_VSEL | LNBP21_EN);
+
+	switch(voltage) {
+	case SEC_VOLTAGE_OFF:
+		break;
+	case SEC_VOLTAGE_13:
+		lnbp21->config |= LNBP21_EN;
+		break;
+	case SEC_VOLTAGE_18:
+		lnbp21->config |= (LNBP21_EN | LNBP21_VSEL);
+		break;
+	default:
+		return -EINVAL;
+	};
+
+	lnbp21->config |= lnbp21->override_or;
+	lnbp21->config &= lnbp21->override_and;
+
+	return (i2c_transfer(lnbp21->i2c, &msg, 1) == 1) ? 0 : -EIO;
+}
+
+static int lnbp21_enable_high_lnb_voltage(struct dvb_frontend *fe, long arg)
+{
+	struct lnbp21 *lnbp21 = (struct lnbp21 *) fe->misc_priv;
+	struct i2c_msg msg = {	.addr = 0x08, .flags = 0,
+				.buf = &lnbp21->config,
+				.len = sizeof(lnbp21->config) };
+
+	if (arg)
+		lnbp21->config |= LNBP21_LLC;
+	else
+		lnbp21->config &= ~LNBP21_LLC;
+
+	lnbp21->config |= lnbp21->override_or;
+	lnbp21->config &= lnbp21->override_and;
+
+	return (i2c_transfer(lnbp21->i2c, &msg, 1) == 1) ? 0 : -EIO;
+}
+
+static void lnbp21_exit(struct dvb_frontend *fe)
+{
+	struct lnbp21 *lnbp21 = (struct lnbp21 *) fe->misc_priv;
+
+	/* LNBP power off */
+	lnbp21_set_voltage(fe, SEC_VOLTAGE_OFF);
+
+	/* free data & call next release routine */
+	fe->ops->release = lnbp21->release_chain;
+	kfree(fe->misc_priv);
+	fe->misc_priv = NULL;
+	if (fe->ops->release)
+		fe->ops->release(fe);
+}
+
+static int lnbp21_init(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 override_set, u8 override_clear)
+{
+	struct lnbp21 *lnbp21 = kmalloc(sizeof(struct lnbp21), GFP_KERNEL);
+
+	if (!lnbp21)
+		return -ENOMEM;
+
+	/* default configuration */
+	lnbp21->config = LNBP21_ISEL;
+
+	/* bits which should be forced to '1' */
+	lnbp21->override_or = override_set;
+
+	/* bits which should be forced to '0' */
+	lnbp21->override_and = ~override_clear;
+
+	/* install release callback */
+	lnbp21->release_chain = fe->ops->release;
+	fe->ops->release = lnbp21_exit;
+
+	/* override frontend ops */
+	fe->ops->set_voltage = lnbp21_set_voltage;
+	fe->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage;
+
+	lnbp21->i2c = i2c;
+	fe->misc_priv = lnbp21;
+
+	return lnbp21_set_voltage(fe, SEC_VOLTAGE_OFF);
+}
+
+#endif
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c
index 238c77b..2a0e3ef 100644
--- a/drivers/media/dvb/ttpci/budget.c
+++ b/drivers/media/dvb/ttpci/budget.c
@@ -41,6 +41,8 @@
 #include "l64781.h"
 #include "tda8083.h"
 #include "s5h1420.h"
+#include "lnbp21.h"
+#include "bsbe1.h"
 
 static void Set22K (struct budget *budget, int state)
 {
@@ -184,64 +186,6 @@ static int budget_diseqc_send_burst(stru
 	return 0;
 }
 
-static int lnbp21_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage)
-{
-	struct budget* budget = (struct budget*) fe->dvb->priv;
-	u8 buf;
-	struct i2c_msg msg = { .addr = 0x08, .flags = I2C_M_RD, .buf = &buf, .len = sizeof(buf) };
-
-	if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
-
-	switch(voltage) {
-	case SEC_VOLTAGE_13:
-		buf = (buf & 0xf7) | 0x04;
-		break;
-
-	case SEC_VOLTAGE_18:
-		buf = (buf & 0xf7) | 0x0c;
-		break;
-
-	case SEC_VOLTAGE_OFF:
-		buf = buf & 0xf0;
-		break;
-	}
-
-	msg.flags = 0;
-	if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
-
-	return 0;
-}
-
-static int lnbp21_enable_high_lnb_voltage(struct dvb_frontend* fe, long arg)
-{
-	struct budget* budget = (struct budget*) fe->dvb->priv;
-	u8 buf;
-	struct i2c_msg msg = { .addr = 0x08, .flags = I2C_M_RD, .buf = &buf, .len = sizeof(buf) };
-
-	if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
-
-	if (arg) {
-		buf = buf | 0x10;
-	} else {
-		buf = buf & 0xef;
-	}
-
-	msg.flags = 0;
-	if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
-
-	return 0;
-}
-
-static int lnbp21_init(struct budget* budget)
-{
-	u8 buf = 0x00;
-	struct i2c_msg msg = { .addr = 0x08, .flags = 0, .buf = &buf, .len = sizeof(buf) };
-
-	if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1)
-		return -EIO;
-	return 0;
-}
-
 static int alps_bsrv2_pll_set(struct dvb_frontend* fe, struct dvb_frontend_parameters* params)
 {
 	struct budget* budget = (struct budget*) fe->dvb->priv;
@@ -374,79 +318,6 @@ static struct stv0299_config alps_bsru6_
 	.pll_set = alps_bsru6_pll_set,
 };
 
-static u8 alps_bsbe1_inittab[] = {
-	0x01, 0x15,
-	0x02, 0x30,
-	0x03, 0x00,
-	0x04, 0x7d,  /* F22FR = 0x7d, F22 = f_VCO / 128 / 0x7d = 22 kHz */
-	0x05, 0x35,  /* I2CT = 0, SCLT = 1, SDAT = 1 */
-	0x06, 0x40,  /* DAC not used, set to high impendance mode */
-	0x07, 0x00,  /* DAC LSB */
-	0x08, 0x40,  /* DiSEqC off, LNB power on OP2/LOCK pin on */
-	0x09, 0x00,  /* FIFO */
-	0x0c, 0x51,  /* OP1 ctl = Normal, OP1 val = 1 (LNB Power ON) */
-	0x0d, 0x82,  /* DC offset compensation = ON, beta_agc1 = 2 */
-	0x0e, 0x23,  /* alpha_tmg = 2, beta_tmg = 3 */
-	0x10, 0x3f,  // AGC2 0x3d
-	0x11, 0x84,
-	0x12, 0xb9,
-	0x15, 0xc9,  // lock detector threshold
-	0x16, 0x00,
-	0x17, 0x00,
-	0x18, 0x00,
-	0x19, 0x00,
-	0x1a, 0x00,
-	0x1f, 0x50,
-	0x20, 0x00,
-	0x21, 0x00,
-	0x22, 0x00,
-	0x23, 0x00,
-	0x28, 0x00, // out imp: normal out type: parallel FEC mode:0
-	0x29, 0x1e, // 1/2 threshold
-	0x2a, 0x14, // 2/3 threshold
-	0x2b, 0x0f, // 3/4 threshold
-	0x2c, 0x09, // 5/6 threshold
-	0x2d, 0x05, // 7/8 threshold
-	0x2e, 0x01,
-	0x31, 0x1f, // test all FECs
-	0x32, 0x19, // viterbi and synchro search
-	0x33, 0xfc, // rs control
-	0x34, 0x93, // error control
-	0x0f, 0x92, // 0x80 = inverse AGC
-	0xff, 0xff
-};
-
-static int alps_bsbe1_pll_set(struct dvb_frontend* fe, struct i2c_adapter *i2c, struct dvb_frontend_parameters* params)
-{
-	int ret;
-	u8 data[4];
-	u32 div;
-	struct i2c_msg msg = { .addr = 0x61, .flags = 0, .buf = data, .len = sizeof(data) };
-
-	if ((params->frequency < 950000) || (params->frequency > 2150000))
-		return -EINVAL;
-
-	div = (params->frequency + (125 - 1)) / 125; // round correctly
-	data[0] = (div >> 8) & 0x7f;
-	data[1] = div & 0xff;
-	data[2] = 0x80 | ((div & 0x18000) >> 10) | 4;
-	data[3] = (params->frequency > 1530000) ? 0xE0 : 0xE4;
-
-	ret = i2c_transfer(i2c, &msg, 1);
-	return (ret != 1) ? -EIO : 0;
-}
-
-static struct stv0299_config alps_bsbe1_config = {
-	.demod_address = 0x68,
-	.inittab = alps_bsbe1_inittab,
-	.mclk = 88000000UL,
-	.invert = 1,
-	.skip_reinit = 0,
-	.min_delay_ms = 100,
-	.set_symbol_rate = alps_bsru6_set_symbol_rate,
-	.pll_set = alps_bsbe1_pll_set,
-};
-
 static int alps_tdbe2_pll_set(struct dvb_frontend* fe, struct dvb_frontend_parameters* params)
 {
 	struct budget* budget = (struct budget*) fe->dvb->priv;
@@ -584,10 +455,8 @@ static void frontend_init(struct budget 
 		// try the ALPS BSBE1 now
 		budget->dvb_frontend = stv0299_attach(&alps_bsbe1_config, &budget->i2c_adap);
 		if (budget->dvb_frontend) {
-			budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage;
-			budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage;
 			budget->dvb_frontend->ops->dishnetwork_send_legacy_command = NULL;
-			if (lnbp21_init(budget)) {
+			if (lnbp21_init(budget->dvb_frontend, &budget->i2c_adap, LNBP21_LLC, 0)) {
 				printk("%s: No LNBP21 found!\n", __FUNCTION__);
 				goto error_out;
 			}
@@ -646,9 +515,7 @@ static void frontend_init(struct budget 
 	case 0x1016: // Hauppauge/TT Nova-S SE (samsung s5h1420/????(tda8260))
 		budget->dvb_frontend = s5h1420_attach(&s5h1420_config, &budget->i2c_adap);
 		if (budget->dvb_frontend) {
-			budget->dvb_frontend->ops->set_voltage = lnbp21_set_voltage;
-			budget->dvb_frontend->ops->enable_high_lnb_voltage = lnbp21_enable_high_lnb_voltage;
-			if (lnbp21_init(budget)) {
+			if (lnbp21_init(budget->dvb_frontend, &budget->i2c_adap, 0, 0)) {
 				printk("%s: No LNBP21 found!\n", __FUNCTION__);
 				goto error_out;
 			}


  parent reply	other threads:[~2006-03-20 15:17 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-20 15:08 [PATCH 000/141] V4L/DVB updates part 1 mchehab
2006-03-20 15:08 ` [PATCH 003/141] V4L/DVB (3393): Move all IR keymaps to ir-common module mchehab
2006-03-20 15:08 ` [PATCH 001/141] V4L/DVB (3392): Add PCI ID for DigitalNow DVB-T Dual, rebranded DViCO FusionHDTV DVB-T Dual mchehab
2006-03-20 15:08 ` [PATCH 007/141] V4L/DVB: VIDEO_CX88_ALSA must select SND_PCM mchehab
2006-03-20 15:08 ` [PATCH 010/141] V4L/DVB (3407): added some code for VBI processing and cleanup debug dump mchehab
2006-03-20 15:08 ` [PATCH 011/141] V4L/DVB (3408): Included new sliced VBI types to videodev2.h and tvp5150 mchehab
2006-03-20 15:08 ` [PATCH 005/141] V4L/DVB (3402): Fix handling of VIDIOC_G_TUNER audmode in msp3400 mchehab
2006-03-20 15:08 ` [PATCH 008/141] V4L/DVB (3405): Fixes tvp5150a/am1 detection mchehab
2006-03-20 15:08 ` [PATCH 009/141] V4L/DVB (3406): Added credits for em28xx-video.c mchehab
2006-03-20 15:08 ` [PATCH 006/141] V4L/DVB (3403): Add probe check for the tda9840 mchehab
2006-03-20 15:08 ` [PATCH 014/141] V4L/DVB (3411): group dvb-bt8xx Subsystem ID's together, in order mchehab
2006-03-20 15:08 ` [PATCH 016/141] V4L/DVB (3414): rename dvb_pll_tbmv30111in to dvb_pll_samsung_tbmv mchehab
2006-03-20 15:08 ` [PATCH 015/141] V4L/DVB (3413): Kill nxt2002 in favor of the nxt200x module mchehab
2006-03-20 15:08 ` [PATCH 013/141] V4L/DVB (3410): Implemented sliced VBI set on VIDIOC_S_FMT mchehab
2006-03-20 15:08 ` [PATCH 017/141] V4L/DVB (3416): Recognise Hauppauge card #34519 mchehab
2006-03-20 15:08 ` [PATCH 023/141] V4L/DVB (3422): Implemented VIDIOC_G_FMT/S_FMT for sliced VBI mchehab
2006-03-20 15:08 ` [PATCH 018/141] V4L/DVB (3417): make VP-3054 Secondary I2C Bus Support a Kconfig option mchehab
2006-03-20 15:08 ` [PATCH 021/141] V4L/DVB (3420): Added iocls to configure VBI on tvp5150 mchehab
2006-03-20 15:08 ` [PATCH 022/141] V4L/DVB (3421): Several fixes to prepare for VBI mchehab
2006-03-20 15:08 ` [PATCH 019/141] V4L/DVB (3418): Cause tda9887 to use I2C_DRIVERID_TDA9887 mchehab
2006-03-20 15:08 ` [PATCH 020/141] V4L/DVB (3419): added some VBI macros and moved minor definitions to header file mchehab
2006-03-20 15:08 ` [PATCH 028/141] V4L/DVB (3430): Add new internal VIDIOC_INT commands mchehab
2006-03-20 15:08 ` [PATCH 024/141] V4L/DVB (3423): CodingStyle fixes mchehab
2006-03-20 15:08 ` [PATCH 027/141] V4L/DVB (3429): Missing break statement on tuner-core mchehab
2006-03-20 15:08 ` [PATCH 029/141] V4L/DVB (3431): fixed spelling error, exectuted --> executed mchehab
2006-03-20 15:08 ` [PATCH 025/141] V4L/DVB (3427): audmode and rxsubchans fixes (VIDIOC_G/S_TUNER) mchehab
2006-03-20 15:08 ` [PATCH 026/141] V4L/DVB (3428): drivers/media/dvb/ possible cleanups mchehab
2006-03-20 15:08 ` [PATCH 034/141] V4L/DVB (3436): move config byte from tuner_params to tuner_range struct mchehab
2006-03-20 15:08 ` [PATCH 033/141] V4L/DVB (3435): rename cb variable names in tuner structures for global consistency mchehab
2006-03-20 15:08 ` [PATCH 031/141] V4L/DVB (3433): Fix printk type warning mchehab
2006-03-20 15:08 ` [PATCH 032/141] V4L/DVB (3434): changed comment in tuner-core.c mchehab
2006-03-20 15:08 ` [PATCH 030/141] V4L/DVB (3432): Hauppauge HVR 900 Composite support mchehab
2006-03-20 15:08 ` [PATCH 035/141] V4L/DVB (3439): removed duplicated tuner_ranges mchehab
2006-03-20 15:08 ` [PATCH 039/141] V4L/DVB (3265): Add count to tunertype struct mchehab
2006-03-20 15:08 ` [PATCH 041/141] V4L/DVB (3267): Add support for the Avermedia 777 DVB-T card mchehab
2006-03-20 15:08 ` [PATCH 038/141] V4L/DVB (3453a): Alters MAINTAINERS file to point to newer v4l-dvb email mchehab
2006-03-20 15:08 ` [PATCH 037/141] V4L/DVB (3442): Allow tristate build for cx88-vp3054-i2c mchehab
2006-03-20 15:08 ` [PATCH 036/141] V4L/DVB (3439a): media video stradis memory fix mchehab
2006-03-20 15:08 ` [PATCH 040/141] V4L/DVB (3266): Fix NICAM buzz on analog sound mchehab
2006-03-20 15:08 ` [PATCH 044/141] V4L/DVB (3270): Tuner_dbg will show tuner param and range selected mchehab
2006-03-20 15:08 ` [PATCH 045/141] V4L/DVB (3271): Update tuner comments mchehab
2006-03-20 15:08 ` [PATCH 047/141] V4L/DVB (3276): Added terratec hybrid xs and kworld 2800rf support mchehab
2006-03-20 15:08 ` [PATCH 043/141] V4L/DVB (3269): Allow multiple tuner params in each tuner definition mchehab
2006-03-20 15:08 ` [PATCH 046/141] V4L/DVB (3275): Allow SAA7134 to fall back to AM sound when there is NICAM-L mchehab
2006-03-20 15:08 ` [PATCH 042/141] V4L/DVB (3268): Move video std detection to top of set_tv_freq function mchehab
2006-03-20 15:08 ` [PATCH 053/141] V4L/DVB (3297): Add IR support to KWorld DVB-T (cx22702-based) mchehab
2006-03-20 15:08 ` [PATCH 048/141] V4L/DVB (3277): Use default tuner_params if desired_type not available mchehab
2006-03-20 15:08 ` [PATCH 049/141] V4L/DVB (3278): Show debug for tuners trying to use unsupported video standards mchehab
2006-03-20 15:08 ` [PATCH 050/141] V4L/DVB (3280): Changed description of KWorld PVR TV 2800RF mchehab
2006-03-20 15:08 ` [PATCH 052/141] V4L/DVB (3294): Fix [Bug 5895] to correct snd_87x autodetect mchehab
2006-03-20 15:08 ` [PATCH 051/141] V4L/DVB (3281): Added signal detection support to tvp5150 mchehab
2006-03-20 15:08 ` [PATCH 056/141] V4L/DVB (3302): Added support for the LifeView FlyDVB-T LR301 card mchehab
2006-03-20 15:08 ` [PATCH 054/141] V4L/DVB (3299): Kconfig: DVB_USB_CXUSB depends on DVB_LGDT330X and DVB_MT352 mchehab
2006-03-20 15:08 ` [PATCH 055/141] V4L/DVB (3300): Add standard for South Korean NTSC-M using A2 audio mchehab
2006-03-20 15:08 ` [PATCH 058/141] V4L/DVB (3304): TDA10046 Driver update mchehab
2006-03-20 15:08 ` [PATCH 059/141] V4L/DVB (3305): Added support for the ADS Instant TV DUO Cardbus PTV331 mchehab
2006-03-20 15:08 ` [PATCH 057/141] V4L/DVB (3303): TDA8290 update mchehab
2006-03-20 15:08 ` [PATCH 063/141] V4L/DVB (3310): Use MT352 parallel transport function for all Bluebird FusionHDTV DVB-T boxes mchehab
2006-03-20 15:08 ` [PATCH 064/141] V4L/DVB (3312): FIX: Multiple usage of VP7045-based devices mchehab
2006-03-20 15:08 ` [PATCH 065/141] V4L/DVB (3313): FIX: Check if FW was downloaded or not + new firmware file mchehab
2006-03-20 15:08 ` [PATCH 061/141] V4L/DVB (3307): Support for Galaxis DVB-S rev1.3 mchehab
2006-03-20 15:08 ` [PATCH 060/141] V4L/DVB (3306): Fixed i2c return value, conversion mdelay to msleep mchehab
2006-03-20 15:08 ` [PATCH 062/141] V4L/DVB (3308): Use parallel transport for FusionHDTV Dual Digital USB mchehab
2006-03-20 15:08 ` [PATCH 067/141] V4L/DVB (3315): Added support for the Tevion DVB-T 220RF card mchehab
2006-03-20 15:08 ` [PATCH 068/141] V4L/DVB (3316): Add initial support for KWorld HardwareMpegTV XPert mchehab
2006-03-20 15:08 ` [PATCH 066/141] V4L/DVB (3314): Fixed em28xx based system lockup mchehab
2006-03-20 15:08 ` [PATCH 069/141] V4L/DVB (3318a): Makes Some symbols static mchehab
2006-03-20 15:08 ` [PATCH 071/141] V4L/DVB (3318c): fix saa7146 kobject register failure mchehab
2006-03-20 15:08 ` [PATCH 076/141] V4L/DVB (3300a): Removing personal email from DVB maintainers mchehab
2006-03-20 15:08 ` [PATCH 072/141] V4L/DVB (3318e): DVB: remove the at76c651/tda80xx frontends mchehab
2006-03-20 15:08 ` [PATCH 075/141] V4L/DVB (3326): Adding support for Terratec Prodigy XS mchehab
2006-03-20 15:08 ` [PATCH 073/141] V4L/DVB (3324): Fix Samsung tuner frequency ranges mchehab
2006-03-20 15:08 ` [PATCH 077/141] V4L/DVB (3300b): .gitignore should also ignore StGit generated dirs mchehab
2006-03-21 12:20   ` Andrew Morton
2006-03-20 15:08 ` [PATCH 074/141] V4L/DVB (3325): Disabled debug on by default in tvp5150 mchehab
2006-03-20 15:08 ` [PATCH 080/141] V4L/DVB (3293): Fixed amux hauppauge hvr900/terratec hybrid xs mchehab
2006-03-20 15:08 ` [PATCH 079/141] V4L/DVB (3292): Fixed xc3028 firmware extractor, added terratec fw support mchehab
2006-03-20 15:08 ` [PATCH 083/141] V4L/DVB (3335): Fix in-kernel build mchehab
2006-03-20 15:08 ` [PATCH 082/141] V4L/DVB (3334): Added ET61X251 fourcc type mchehab
2006-03-20 15:08 ` [PATCH 078/141] V4L/DVB (3291): Added support for xc3028 analogue tuner (Hauppauge HVR900, Terratec Hybrid XS) mchehab
2006-03-20 15:08 ` [PATCH 081/141] V4L/DVB (3332): XC3028 code marked with an special define option mchehab
2006-03-20 15:08 ` [PATCH 084/141] V4L/DVB (3336): Bt8xx documentation authors fix mchehab
2006-03-20 15:08 ` [PATCH 087/141] V4L/DVB (3341): Upstream sync - make 2 structs static mchehab
2006-03-20 15:08 ` [PATCH 089/141] V4L/DVB (3344): KWorld HardwareMpegTV XPert must set gpio2 mchehab
2006-03-20 15:08 ` [PATCH 088/141] V4L/DVB (3343): KWorld HardwareMpegTV XPert: Add radio support mchehab
2006-03-20 15:08 ` [PATCH 086/141] V4L/DVB (3340): Make a struct static mchehab
2006-03-20 15:08 ` [PATCH 085/141] V4L/DVB (3337): Drivers/media/dvb/frontends/mt312.c: cleanups mchehab
2006-03-20 15:08 ` [PATCH 091/141] V4L/DVB (3347): Pinnacle PCTV 40i: add filtered Composite2 input mchehab
2006-03-20 15:08 ` [PATCH 092/141] V4L/DVB (3348): Fixed saa7134 ALSA initialization with multiple cards mchehab
2006-03-20 15:08 ` [PATCH 090/141] V4L/DVB (3346): Add saa713x card: ELSA EX-VISION 700TV (saa7130) mchehab
2006-03-20 15:08 ` [PATCH 093/141] V4L/DVB (3349): Remote control codes for BTTV_BOARD_CONTVFMI mchehab
2006-03-20 15:08 ` [PATCH 095/141] V4L/DVB (3354): Fix maximum for the saturation and contrast controls mchehab
2006-03-20 15:08 ` [PATCH 094/141] V4L/DVB (3352): Cxusb: fix lgdt3303 naming mchehab
2006-03-20 15:08 ` [PATCH 098/141] V4L/DVB (3363): Kworld ATSC110: enable composite and svideo inputs mchehab
2006-03-20 15:08 ` [PATCH 096/141] V4L/DVB (3361): Add support for Kworld ATSC110 mchehab
2006-03-20 15:08 ` [PATCH 099/141] V4L/DVB (3365): Kworld ATSC110: cleanups mchehab
2006-03-20 15:08 ` [PATCH 101/141] V4L/DVB (3368): KWorld HardwareMpegTV XPert: update comments mchehab
2006-03-20 15:08 ` [PATCH 097/141] V4L/DVB (3362): KWorld ATSC110: implement set_pll_input mchehab
2006-03-20 15:08 ` [PATCH 100/141] V4L/DVB (3366): Kworld ATSC110: initialize the tuner for analog mode on module load mchehab
2006-03-20 15:08 ` [PATCH 105/141] V4L/DVB (3373): Debug messages for ioctl improved mchehab
2006-03-20 15:08 ` [PATCH 104/141] V4L/DVB (3372): Fix a small bug when constructing fps and line numbers mchehab
2006-03-20 15:08 ` [PATCH 102/141] V4L/DVB (3369): LifeView FlyDVB-T Duo: add support for remote control mchehab
2006-03-20 15:08 ` [PATCH 107/141] V4L/DVB (3375): Add AUDIO_GET_PTS and VIDEO_GET_PTS ioctls mchehab
2006-03-20 15:08 ` [PATCH 106/141] V4L/DVB (3374): Adds debuging v4l2_memory enum mchehab
2006-03-20 15:08 ` [PATCH 103/141] V4L/DVB (3371): Add debug to ioctl arguments mchehab
2006-03-20 15:08 ` [PATCH 110/141] V4L/DVB (3378): Restore power on defaults of tda9887 after tda8290 probe mchehab
2006-03-20 15:08 ` [PATCH 112/141] V4L/DVB (3382): Fix stv0297 for qam128 on tt c1500 (saa7146) mchehab
2006-03-20 15:08 ` [PATCH 111/141] V4L/DVB (3380): TUV1236d: declare buffer as static const mchehab
2006-03-20 15:08 ` [PATCH 109/141] V4L/DVB (3377): Support for Satelco EasyWatch DVB-S light mchehab
2006-03-20 15:08 ` [PATCH 115/141] V4L/DVB (3388): Ignore DiSEqC messages > 6 and < 3 mchehab
2006-03-20 15:08 ` [PATCH 117/141] V4L/DVB (3390): Fix module parameters mchehab
2006-03-20 15:56   ` Duncan Sands
2006-03-20 19:10     ` Edgar Toernig
2006-03-21 11:18       ` Duncan Sands
2006-03-20 15:08 ` [PATCH 118/141] V4L/DVB (3391): Documentation update mchehab
2006-03-20 15:08 ` [PATCH 113/141] V4L/DVB (3385): Dvb: fix __init/__exit section references in av7110 driver mchehab
2006-03-20 15:08 ` [PATCH 114/141] V4L/DVB (3386): Dvb-core: remove dead code mchehab
2006-03-20 15:08 ` [PATCH 116/141] V4L/DVB (3389): Fix broken IF-OUT Relay handling mchehab
2006-03-20 15:08 ` [PATCH 119/141] V4L/DVB (3392): Do a RESYNC for all cards mchehab
2006-03-20 15:08 ` [PATCH 121/141] V4L/DVB (3393): Cx88: reduce excessive logging mchehab
2006-03-20 15:08 ` [PATCH 123/141] V4L/DVB (3395): Fixed Pinnacle 300i DVB-T support mchehab
2006-03-20 15:08 ` [PATCH 120/141] V4L/DVB (3392a): XC3028 code removed from -git versions mchehab
2006-03-20 15:08 ` [PATCH 124/141] V4L/DVB (3396): Add DVB-T support for the LifeView DVB Trio PCI card mchehab
2006-03-20 15:08 ` [PATCH 122/141] V4L/DVB (3394): Bttv: correct bttv_risc_packed buffer size mchehab
2006-03-20 15:08 ` [PATCH 130/141] V4L/DVB (3401): Coding style fixes in saa7134-dvb.c mchehab
2006-03-20 15:08 ` [PATCH 129/141] V4L/DVB (3400): Fixes for Lifeview Trio non fatal bugs mchehab
2006-03-20 15:08 ` [PATCH 127/141] V4L/DVB (3197a): IR keymaps are exported by the ir-common module now mchehab
2006-03-20 15:08 ` [PATCH 126/141] V4L/DVB (3399): ELSA EX-VISION 500TV: fix incorrect PCI subsystem ID mchehab
2006-03-20 15:08 ` [PATCH 128/141] V4L/DVB (3399a): cpia2/cpia2_v4l.c cleanups mchehab
2006-03-20 15:08 ` [PATCH 125/141] V4L/DVB (3398): ELSA EX-VISION 700TV: fix incorrect PCI subsystem ID mchehab
2006-03-20 15:08 ` [PATCH 131/141] V4L/DVB (3403): Workaround to fix initialization for Nexus CA mchehab
2006-03-20 15:08 ` [PATCH 136/141] V4L/DVB (3409): Kconfig: fix in-kernel build for cx88-dvb: zl10353 frontend mchehab
2006-03-20 15:08 ` [PATCH 133/141] V4L/DVB (3405): TechnoTrend S-1500 card handling moved from budget.c to budget-ci.c mchehab
2006-03-20 15:08 ` [PATCH 135/141] V4L/DVB (3408): DViCO FusionHDTV DVB-T Hybrid and ZL10353-based FusionHDTV DVB-T Plus support mchehab
2006-03-20 15:08 ` [PATCH 137/141] V4L/DVB (3410): Move DViCO hybrid initialisation data from stack mchehab
2006-03-20 15:08 ` [PATCH 134/141] V4L/DVB (3406): Use refactored LNBP21 and BSBE1 code mchehab
2006-03-20 15:08 ` mchehab [this message]
2006-03-20 15:09 ` [PATCH 138/141] V4L/DVB (3411): FE6600 is a Thomson tuner mchehab
2006-03-20 15:09 ` [PATCH 139/141] V4L/DVB (3413): Typos grab bag of the month mchehab
2006-03-20 15:09 ` [PATCH 140/141] V4L/DVB (3414): Saa7134: document that there's also a 220RF from KWorld mchehab
2006-03-20 15:09 ` [PATCH 141/141] V4L/DVB (3415): Msp3400-kthreads.c: make 3 functions static mchehab
2006-03-20 15:49 ` [PATCH 000/141] V4L/DVB updates part 1 Kyle McMartin
2006-03-20 15:50 ` Arjan van de Ven
2006-03-20 17:51 ` Valdis.Kletnieks
2006-03-20 17:55   ` Mauro Carvalho Chehab
2006-03-21 15:47 ` Linus Torvalds
2006-03-21 16:26   ` Linus Torvalds
2006-03-21 17:43     ` Mauro Carvalho Chehab
2006-03-21 18:03       ` Linus Torvalds
2006-03-21 18:24         ` Mauro Carvalho Chehab
2006-03-21 18:42           ` Linus Torvalds
2006-03-21 19:15             ` Mauro Carvalho Chehab
2006-03-21 19:32               ` Linus Torvalds
2006-03-21 23:53                 ` Daniel Barkalow
2006-03-22  0:33                   ` Linus Torvalds
2006-03-22 21:32                     ` Junio C Hamano
2006-03-23  3:31                       ` Linus Torvalds
2006-03-22 12:05                   ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060320150859.PS034722000132@infradead.org \
    --to=mchehab@infradead.org \
    --cc=linux-dvb-maintainer@linuxtv.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=o.endriss@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox