linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/16] V4L/DVB updates
@ 2006-01-23 20:24 mchehab
  2006-01-23 20:24 ` [PATCH 01/16] Added credits for em28xx-video.c mchehab
                   ` (15 more replies)
  0 siblings, 16 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel, torvalds; +Cc: linux-dvb-maintainer, video4linux-list, akpm

        This patch series is also available under v4l-dvb.git tree at:
                kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb.git

        Linus, please pull these from master branch.

        The biggest change here is a removed module, whose features are now included
at a generic module.

        Also available at -git repository a devel branch with newer pending stuff for
2.6.17.

        This series contains the following stuff:

   - Added credits for em28xx-video.c
   - Add PCI ID for DigitalNow DVB-T Dual, rebranded DViCO FusionHDTV DVB-T Dual.
   - Add probe check for the tda9840.
   - VIDEO_CX88_ALSA must select SND_PCM
   - Fixes tvp5150a/am1 detection.
   - Mark Typhoon cards as Lifeview OEM's
   - Kill nxt2002 in favor of the nxt200x module
   - rename dvb_pll_tbmv30111in to dvb_pll_samsung_tbmv
   - Recognise Hauppauge card #34519
   - make VP-3054 Secondary I2C Bus Support a Kconfig option.
   - Cause tda9887 to use I2C_DRIVERID_TDA9887
   - drivers/media/dvb/ possible cleanups
   - Missing break statement on tuner-core
   - fixed spelling error, exectuted --> executed.
   - Fix printk type warning
   - changed comment in tuner-core.c

Cheers,
Mauro

---

 Documentation/video4linux/CARDLIST.cx88      |    2 
 Documentation/video4linux/CARDLIST.saa7134   |    6 
 drivers/media/dvb/b2c2/Kconfig               |    2 
 drivers/media/dvb/b2c2/flexcop-common.h      |    2 
 drivers/media/dvb/b2c2/flexcop-dma.c         |   35 
 drivers/media/dvb/b2c2/flexcop-fe-tuner.c    |   11 
 drivers/media/dvb/b2c2/flexcop-misc.c        |    6 
 drivers/media/dvb/b2c2/flexcop-pci.c         |    6 
 drivers/media/dvb/b2c2/flexcop-reg.h         |    4 
 drivers/media/dvb/dvb-usb/cxusb.c            |    8 
 drivers/media/dvb/dvb-usb/dvb-usb-firmware.c |    8 
 drivers/media/dvb/dvb-usb/dvb-usb.h          |    1 
 drivers/media/dvb/dvb-usb/vp702x.c           |    6 
 drivers/media/dvb/dvb-usb/vp702x.h           |    2 
 drivers/media/dvb/frontends/Kconfig          |   12 
 drivers/media/dvb/frontends/Makefile         |    1 
 drivers/media/dvb/frontends/dvb-pll.c        |    8 
 drivers/media/dvb/frontends/dvb-pll.h        |    2 
 drivers/media/dvb/frontends/nxt2002.c        |  706 -------------------
 drivers/media/dvb/frontends/nxt2002.h        |   23 
 drivers/media/dvb/frontends/nxt200x.c        |   58 +
 drivers/media/dvb/ttpci/av7110.h             |    2 
 drivers/media/dvb/ttpci/av7110_ir.c          |   26 
 drivers/media/video/cx88/Kconfig             |   12 
 drivers/media/video/cx88/Makefile            |    2 
 drivers/media/video/cx88/cx88-cards.c        |    6 
 drivers/media/video/em28xx/em28xx-core.c     |    2 
 drivers/media/video/em28xx/em28xx-video.c    |    3 
 drivers/media/video/saa7134/saa7134-cards.c  |   47 -
 drivers/media/video/saa7134/saa7134-dvb.c    |    2 
 drivers/media/video/saa7134/saa7134.h        |    2 
 drivers/media/video/tda9887.c                |    2 
 drivers/media/video/tuner-core.c             |    3 
 drivers/media/video/tvaudio.c                |    9 
 drivers/media/video/tvp5150.c                |   21 
 35 files changed, 171 insertions(+), 877 deletions(-)


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH 04/16] VIDEO_CX88_ALSA must select SND_PCM
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
  2006-01-23 20:24 ` [PATCH 01/16] Added credits for em28xx-video.c mchehab
  2006-01-23 20:24 ` [PATCH 03/16] Add probe check for the tda9840 mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 02/16] Add PCI ID for DigitalNow DVB-T Dual, rebranded DViCO FusionHDTV DVB-T Dual mchehab
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Adrian Bunk,
	Michael Krufky, Mauro Carvalho Chehab

From: Adrian Bunk <bunk@stusta.de>

- VIDEO_CX88_ALSA must select SND_PCM

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/cx88/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig
index 5330891..fdf45f7 100644
--- a/drivers/media/video/cx88/Kconfig
+++ b/drivers/media/video/cx88/Kconfig
@@ -32,6 +32,7 @@ config VIDEO_CX88_DVB
 config VIDEO_CX88_ALSA
 	tristate "ALSA DMA audio support"
 	depends on VIDEO_CX88 && SND && EXPERIMENTAL
+	select SND_PCM
 	---help---
 	  This is a video4linux driver for direct (DMA) audio on
 	  Conexant 2388x based TV cards.


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 02/16] Add PCI ID for DigitalNow DVB-T Dual, rebranded DViCO FusionHDTV DVB-T Dual.
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (2 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 04/16] VIDEO_CX88_ALSA must select SND_PCM mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 09/16] Recognise Hauppauge card #34519 mchehab
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Michael Krufky,
	Mauro Carvalho Chehab

From: Michael Krufky <mkrufky@m1k.net>

- Add PCI ID for DigitalNow DVB-T Dual,
rebranded DViCO FusionHDTV DVB-T Dual.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 Documentation/video4linux/CARDLIST.cx88 |    2 +-
 drivers/media/video/cx88/cx88-cards.c   |    5 +++++
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88
index 56e194f..8bea3fb 100644
--- a/Documentation/video4linux/CARDLIST.cx88
+++ b/Documentation/video4linux/CARDLIST.cx88
@@ -42,4 +42,4 @@
  41 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profile)  [0070:9800,0070:9802]
  42 -> digitalnow DNTV Live! DVB-T Pro                     [1822:0025]
  43 -> KWorld/VStream XPert DVB-T with cx22702             [17de:08a1]
- 44 -> DViCO FusionHDTV DVB-T Dual Digital                 [18ac:db50]
+ 44 -> DViCO FusionHDTV DVB-T Dual Digital                 [18ac:db50,18ac:db54]
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index ad2f565..517257b 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1246,6 +1246,11 @@ struct cx88_subid cx88_subids[] = {
 		.card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL,
 	},{
 		.subvendor = 0x18ac,
+		.subdevice = 0xdb54,
+		.card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL,
+		/* Re-branded DViCO: DigitalNow DVB-T Dual */
+	},{
+		.subvendor = 0x18ac,
 		.subdevice = 0xdb11,
 		.card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS,
 		/* Re-branded DViCO: UltraView DVB-T Plus */


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 01/16] Added credits for em28xx-video.c
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 03/16] Add probe check for the tda9840 mchehab
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Mauro Carvalho Chehab

From: Mauro Carvalho Chehab <mchehab@infradead.org>

- Added credits for sn9c102 kernel module and his author as
some parts of em28xx-video were based.

Acked-by: Luca Risolia <luca.risolia@studio.unibo.it>
Acked-by: Markus Rechberger <mrechberger@gmail.com>
Acked-by: Ludovico Cavedon <cavedon@sssup.it>
Acked-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/em28xx/em28xx-video.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
index eea304f..94a14a2 100644
--- a/drivers/media/video/em28xx/em28xx-video.c
+++ b/drivers/media/video/em28xx/em28xx-video.c
@@ -6,6 +6,9 @@
 		      Mauro Carvalho Chehab <mchehab@brturbo.com.br>
 		      Sascha Sommer <saschasommer@freenet.de>
 
+	Some parts based on SN9C10x PC Camera Controllers GPL driver made
+		by Luca Risolia <luca.risolia@studio.unibo.it>
+
    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


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 03/16] Add probe check for the tda9840.
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
  2006-01-23 20:24 ` [PATCH 01/16] Added credits for em28xx-video.c mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 04/16] VIDEO_CX88_ALSA must select SND_PCM mchehab
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Hans Verkuil,
	Mauro Carvalho Chehab

From: Hans Verkuil <hverkuil@xs4all.nl>

- Add probe check for the tda9840 to prevent misdetection of a Micronas
  dpl3518a as a tda9840.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/tvaudio.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c
index 6d03b9b..c8e5ad0 100644
--- a/drivers/media/video/tvaudio.c
+++ b/drivers/media/video/tvaudio.c
@@ -390,6 +390,14 @@ static void tda9840_setmode(struct CHIPS
 		chip_write(chip, TDA9840_SW, t);
 }
 
+static int tda9840_checkit(struct CHIPSTATE *chip)
+{
+	int rc;
+	rc = chip_read(chip);
+	/* lower 5 bits should be 0 */
+	return ((rc & 0x1f) == 0) ? 1 : 0;
+}
+
 /* ---------------------------------------------------------------------- */
 /* audio chip descriptions - defines+functions for tda985x                */
 
@@ -1264,6 +1272,7 @@ static struct CHIPDESC chiplist[] = {
 		.addr_hi    = I2C_TDA9840 >> 1,
 		.registers  = 5,
 
+		.checkit    = tda9840_checkit,
 		.getmode    = tda9840_getmode,
 		.setmode    = tda9840_setmode,
 		.checkmode  = generic_checkmode,


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 08/16] rename dvb_pll_tbmv30111in to dvb_pll_samsung_tbmv
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (5 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 07/16] Kill nxt2002 in favor of the nxt200x module mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 05/16] Fixes tvp5150a/am1 detection mchehab
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Michael Krufky,
	Mauro Carvalho Chehab

From: Michael Krufky <mkrufky@m1k.net>

- rename dvb_pll_tbmv30111in to dvb_pll_samsung_tbmv

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/dvb/b2c2/flexcop-fe-tuner.c |    2 +-
 drivers/media/dvb/frontends/dvb-pll.c     |    6 +++---
 drivers/media/dvb/frontends/dvb-pll.h     |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
index dbe6f6b..390cc3a 100644
--- a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
+++ b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
@@ -346,7 +346,7 @@ static struct lgdt330x_config air2pc_ats
 static struct nxt200x_config samsung_tbmv_config = {
 	.demod_address    = 0x0a,
 	.pll_address      = 0xc2,
-	.pll_desc         = &dvb_pll_tbmv30111in,
+	.pll_desc         = &dvb_pll_samsung_tbmv,
 };
 
 static struct bcm3510_config air2pc_atsc_first_gen_config = {
diff --git a/drivers/media/dvb/frontends/dvb-pll.c b/drivers/media/dvb/frontends/dvb-pll.c
index 9c9c12a..4dcb605 100644
--- a/drivers/media/dvb/frontends/dvb-pll.c
+++ b/drivers/media/dvb/frontends/dvb-pll.c
@@ -329,8 +329,8 @@ EXPORT_SYMBOL(dvb_pll_tuv1236d);
 /* Samsung TBMV30111IN / TBMV30712IN1
  * used in Air2PC ATSC - 2nd generation (nxt2002)
  */
-struct dvb_pll_desc dvb_pll_tbmv30111in = {
-	.name = "Samsung TBMV30111IN",
+struct dvb_pll_desc dvb_pll_samsung_tbmv = {
+	.name = "Samsung TBMV30111IN / TBMV30712IN1",
 	.min = 54000000,
 	.max = 860000000,
 	.count = 6,
@@ -343,7 +343,7 @@ struct dvb_pll_desc dvb_pll_tbmv30111in 
 		{ 999999999, 44000000, 166666, 0xfc, 0x02 },
 	}
 };
-EXPORT_SYMBOL(dvb_pll_tbmv30111in);
+EXPORT_SYMBOL(dvb_pll_samsung_tbmv);
 
 /*
  * Philips SD1878 Tuner.
diff --git a/drivers/media/dvb/frontends/dvb-pll.h b/drivers/media/dvb/frontends/dvb-pll.h
index f682c09..bb8d4b4 100644
--- a/drivers/media/dvb/frontends/dvb-pll.h
+++ b/drivers/media/dvb/frontends/dvb-pll.h
@@ -38,7 +38,7 @@ extern struct dvb_pll_desc dvb_pll_tded4
 
 extern struct dvb_pll_desc dvb_pll_tuv1236d;
 extern struct dvb_pll_desc dvb_pll_tdhu2;
-extern struct dvb_pll_desc dvb_pll_tbmv30111in;
+extern struct dvb_pll_desc dvb_pll_samsung_tbmv;
 extern struct dvb_pll_desc dvb_pll_philips_sd1878_tda8261;
 
 int dvb_pll_configure(struct dvb_pll_desc *desc, u8 *buf,


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 07/16] Kill nxt2002 in favor of the nxt200x module
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (4 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 09/16] Recognise Hauppauge card #34519 mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 08/16] rename dvb_pll_tbmv30111in to dvb_pll_samsung_tbmv mchehab
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Michael Krufky,
	Mauro Carvalho Chehab

From: Michael Krufky <mkrufky@m1k.net>

- Kill nxt2002 module in favor of nxt200x.
- Repair broken nxt2002 support in the nxt200x module.
- Make the flexcop driver use nxt200x instead of the nxt2002 module for the
  Air2PC 2nd generation PCI card.
- Remove the nxt2002 module from cvs and kernel build.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/dvb/b2c2/Kconfig            |    2 
 drivers/media/dvb/b2c2/flexcop-fe-tuner.c |    9 
 drivers/media/dvb/frontends/Kconfig       |   12 
 drivers/media/dvb/frontends/Makefile      |    1 
 drivers/media/dvb/frontends/dvb-pll.c     |    2 
 drivers/media/dvb/frontends/nxt2002.c     |  706 -----------------------------
 drivers/media/dvb/frontends/nxt2002.h     |   23 -
 drivers/media/dvb/frontends/nxt200x.c     |   58 ++
 8 files changed, 57 insertions(+), 756 deletions(-)

diff --git a/drivers/media/dvb/b2c2/Kconfig b/drivers/media/dvb/b2c2/Kconfig
index 2583a86..2963605 100644
--- a/drivers/media/dvb/b2c2/Kconfig
+++ b/drivers/media/dvb/b2c2/Kconfig
@@ -4,7 +4,7 @@ config DVB_B2C2_FLEXCOP
 	select DVB_STV0299
 	select DVB_MT352
 	select DVB_MT312
-	select DVB_NXT2002
+	select DVB_NXT200X
 	select DVB_STV0297
 	select DVB_BCM3510
 	select DVB_LGDT330X
diff --git a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
index 0b940e1..dbe6f6b 100644
--- a/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
+++ b/drivers/media/dvb/b2c2/flexcop-fe-tuner.c
@@ -9,7 +9,7 @@
 
 #include "stv0299.h"
 #include "mt352.h"
-#include "nxt2002.h"
+#include "nxt200x.h"
 #include "bcm3510.h"
 #include "stv0297.h"
 #include "mt312.h"
@@ -343,9 +343,10 @@ static struct lgdt330x_config air2pc_ats
 	.clock_polarity_flip = 1,
 };
 
-static struct nxt2002_config samsung_tbmv_config = {
+static struct nxt200x_config samsung_tbmv_config = {
 	.demod_address    = 0x0a,
-	.request_firmware = flexcop_fe_request_firmware,
+	.pll_address      = 0xc2,
+	.pll_desc         = &dvb_pll_tbmv30111in,
 };
 
 static struct bcm3510_config air2pc_atsc_first_gen_config = {
@@ -505,7 +506,7 @@ int flexcop_frontend_init(struct flexcop
 		info("found the mt352 at i2c address: 0x%02x",samsung_tdtc9251dh0_config.demod_address);
 	} else
 	/* try the air atsc 2nd generation (nxt2002) */
-	if ((fc->fe = nxt2002_attach(&samsung_tbmv_config, &fc->i2c_adap)) != NULL) {
+	if ((fc->fe = nxt200x_attach(&samsung_tbmv_config, &fc->i2c_adap)) != NULL) {
 		fc->dev_type          = FC_AIR_ATSC2;
 		info("found the nxt2002 at i2c address: 0x%02x",samsung_tbmv_config.demod_address);
 	} else
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index db3a8b4..f09e3da 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
@@ -166,18 +166,6 @@ config DVB_STV0297
 comment "ATSC (North American/Korean Terresterial DTV) frontends"
 	depends on DVB_CORE
 
-config DVB_NXT2002
-	tristate "Nxt2002 based"
-	depends on DVB_CORE
-	select FW_LOADER
-	help
-	  An ATSC 8VSB tuner module. Say Y when you want to support this frontend.
-
-	  This driver needs external firmware. Please use the command
-	  "<kerneldir>/Documentation/dvb/get_dvb_firmware nxt2002" to
-	  download/extract it, and then copy it to /usr/lib/hotplug/firmware
-	  or /lib/firmware (depending on configuration of firmware hotplug).
-
 config DVB_NXT200X
 	tristate "Nextwave NXT2002/NXT2004 based"
 	depends on DVB_CORE
diff --git a/drivers/media/dvb/frontends/Makefile b/drivers/media/dvb/frontends/Makefile
index 615ec83..8f30146 100644
--- a/drivers/media/dvb/frontends/Makefile
+++ b/drivers/media/dvb/frontends/Makefile
@@ -25,7 +25,6 @@ obj-$(CONFIG_DVB_CX22702) += cx22702.o
 obj-$(CONFIG_DVB_TDA80XX) += tda80xx.o
 obj-$(CONFIG_DVB_TDA10021) += tda10021.o
 obj-$(CONFIG_DVB_STV0297) += stv0297.o
-obj-$(CONFIG_DVB_NXT2002) += nxt2002.o
 obj-$(CONFIG_DVB_NXT200X) += nxt200x.o
 obj-$(CONFIG_DVB_OR51211) += or51211.o
 obj-$(CONFIG_DVB_OR51132) += or51132.o
diff --git a/drivers/media/dvb/frontends/dvb-pll.c b/drivers/media/dvb/frontends/dvb-pll.c
index 1b9934e..9c9c12a 100644
--- a/drivers/media/dvb/frontends/dvb-pll.c
+++ b/drivers/media/dvb/frontends/dvb-pll.c
@@ -326,7 +326,7 @@ struct dvb_pll_desc dvb_pll_tuv1236d = {
 };
 EXPORT_SYMBOL(dvb_pll_tuv1236d);
 
-/* Samsung TBMV30111IN
+/* Samsung TBMV30111IN / TBMV30712IN1
  * used in Air2PC ATSC - 2nd generation (nxt2002)
  */
 struct dvb_pll_desc dvb_pll_tbmv30111in = {
diff --git a/drivers/media/dvb/frontends/nxt2002.c b/drivers/media/dvb/frontends/nxt2002.c
deleted file mode 100644
index 4f263e6..0000000
--- a/drivers/media/dvb/frontends/nxt2002.c
+++ /dev/null
@@ -1,706 +0,0 @@
-/*
-    Support for B2C2/BBTI Technisat Air2PC - ATSC
-
-    Copyright (C) 2004 Taylor Jacob <rtjacob@earthlink.net>
-
-    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., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-*/
-
-/*
- * This driver needs external firmware. Please use the command
- * "<kerneldir>/Documentation/dvb/get_dvb_firmware nxt2002" to
- * download/extract it, and then copy it to /usr/lib/hotplug/firmware
- * or /lib/firmware (depending on configuration of firmware hotplug).
- */
-#define NXT2002_DEFAULT_FIRMWARE "dvb-fe-nxt2002.fw"
-#define CRC_CCIT_MASK 0x1021
-
-#include <linux/init.h>
-#include <linux/module.h>
-#include <linux/moduleparam.h>
-#include <linux/device.h>
-#include <linux/firmware.h>
-#include <linux/string.h>
-#include <linux/slab.h>
-
-#include "dvb_frontend.h"
-#include "nxt2002.h"
-
-struct nxt2002_state {
-
-	struct i2c_adapter* i2c;
-	struct dvb_frontend_ops ops;
-	const struct nxt2002_config* config;
-	struct dvb_frontend frontend;
-
-	/* demodulator private data */
-	u8 initialised:1;
-};
-
-static int debug;
-#define dprintk(args...) \
-	do { \
-		if (debug) printk(KERN_DEBUG "nxt2002: " args); \
-	} while (0)
-
-static int i2c_writebytes (struct nxt2002_state* state, u8 reg, u8 *buf, u8 len)
-{
-	/* probbably a much better way or doing this */
-	u8 buf2 [256],x;
-	int err;
-	struct i2c_msg msg = { .addr = state->config->demod_address, .flags = 0, .buf = buf2, .len = len + 1 };
-
-	buf2[0] = reg;
-	for (x = 0 ; x < len ; x++)
-		buf2[x+1] = buf[x];
-
-	if ((err = i2c_transfer (state->i2c, &msg, 1)) != 1) {
-		printk ("%s: i2c write error (addr %02x, err == %i)\n",
-			__FUNCTION__, state->config->demod_address, err);
-		return -EREMOTEIO;
-	}
-
-	return 0;
-}
-
-static u8 i2c_readbytes (struct nxt2002_state* state, u8 reg, u8* buf, u8 len)
-{
-	u8 reg2 [] = { reg };
-
-	struct i2c_msg msg [] = { { .addr = state->config->demod_address, .flags = 0, .buf = reg2, .len = 1 },
-			{ .addr = state->config->demod_address, .flags = I2C_M_RD, .buf = buf, .len = len } };
-
-	int err;
-
-	if ((err = i2c_transfer (state->i2c, msg, 2)) != 2) {
-		printk ("%s: i2c read error (addr %02x, err == %i)\n",
-			__FUNCTION__, state->config->demod_address, err);
-		return -EREMOTEIO;
-	}
-
-	return 0;
-}
-
-static u16 nxt2002_crc(u16 crc, u8 c)
-{
-
-	u8 i;
-	u16 input = (u16) c & 0xFF;
-
-	input<<=8;
-	for(i=0 ;i<8 ;i++) {
-		if((crc ^ input) & 0x8000)
-			crc=(crc<<1)^CRC_CCIT_MASK;
-		else
-			crc<<=1;
-	input<<=1;
-	}
-	return crc;
-}
-
-static int nxt2002_writereg_multibyte (struct nxt2002_state* state, u8 reg, u8* data, u8 len)
-{
-	u8 buf;
-	dprintk("%s\n", __FUNCTION__);
-
-	/* set multi register length */
-	i2c_writebytes(state,0x34,&len,1);
-
-	/* set mutli register register */
-	i2c_writebytes(state,0x35,&reg,1);
-
-	/* send the actual data */
-	i2c_writebytes(state,0x36,data,len);
-
-	/* toggle the multireg write bit*/
-	buf = 0x02;
-	i2c_writebytes(state,0x21,&buf,1);
-
-	i2c_readbytes(state,0x21,&buf,1);
-
-	if ((buf & 0x02) == 0)
-		return 0;
-
-	dprintk("Error writing multireg register %02X\n",reg);
-
-	return 0;
-}
-
-static int nxt2002_readreg_multibyte (struct nxt2002_state* state, u8 reg, u8* data, u8 len)
-{
-	u8 len2;
-	dprintk("%s\n", __FUNCTION__);
-
-	/* set multi register length */
-	len2 = len & 0x80;
-	i2c_writebytes(state,0x34,&len2,1);
-
-	/* set mutli register register */
-	i2c_writebytes(state,0x35,&reg,1);
-
-	/* send the actual data */
-	i2c_readbytes(state,reg,data,len);
-
-	return 0;
-}
-
-static void nxt2002_microcontroller_stop (struct nxt2002_state* state)
-{
-	u8 buf[2],counter = 0;
-	dprintk("%s\n", __FUNCTION__);
-
-	buf[0] = 0x80;
-	i2c_writebytes(state,0x22,buf,1);
-
-	while (counter < 20) {
-		i2c_readbytes(state,0x31,buf,1);
-		if (buf[0] & 0x40)
-			return;
-		msleep(10);
-		counter++;
-	}
-
-	dprintk("Timeout waiting for micro to stop.. This is ok after firmware upload\n");
-	return;
-}
-
-static void nxt2002_microcontroller_start (struct nxt2002_state* state)
-{
-	u8 buf;
-	dprintk("%s\n", __FUNCTION__);
-
-	buf = 0x00;
-	i2c_writebytes(state,0x22,&buf,1);
-}
-
-static int nxt2002_writetuner (struct nxt2002_state* state, u8* data)
-{
-	u8 buf,count = 0;
-
-	dprintk("Tuner Bytes: %02X %02X %02X %02X\n",data[0],data[1],data[2],data[3]);
-
-	dprintk("%s\n", __FUNCTION__);
-	/* stop the micro first */
-	nxt2002_microcontroller_stop(state);
-
-	/* set the i2c transfer speed to the tuner */
-	buf = 0x03;
-	i2c_writebytes(state,0x20,&buf,1);
-
-	/* setup to transfer 4 bytes via i2c */
-	buf = 0x04;
-	i2c_writebytes(state,0x34,&buf,1);
-
-	/* write actual tuner bytes */
-	i2c_writebytes(state,0x36,data,4);
-
-	/* set tuner i2c address */
-	buf = 0xC2;
-	i2c_writebytes(state,0x35,&buf,1);
-
-	/* write UC Opmode to begin transfer */
-	buf = 0x80;
-	i2c_writebytes(state,0x21,&buf,1);
-
-	while (count < 20) {
-		i2c_readbytes(state,0x21,&buf,1);
-		if ((buf & 0x80)== 0x00)
-			return 0;
-		msleep(100);
-		count++;
-	}
-
-	printk("nxt2002: timeout error writing tuner\n");
-	return 0;
-}
-
-static void nxt2002_agc_reset(struct nxt2002_state* state)
-{
-	u8 buf;
-	dprintk("%s\n", __FUNCTION__);
-
-	buf = 0x08;
-	i2c_writebytes(state,0x08,&buf,1);
-
-	buf = 0x00;
-	i2c_writebytes(state,0x08,&buf,1);
-
-	return;
-}
-
-static int nxt2002_load_firmware (struct dvb_frontend* fe, const struct firmware *fw)
-{
-
-	struct nxt2002_state* state = fe->demodulator_priv;
-	u8 buf[256],written = 0,chunkpos = 0;
-	u16 rambase,position,crc = 0;
-
-	dprintk("%s\n", __FUNCTION__);
-	dprintk("Firmware is %zu bytes\n",fw->size);
-
-	/* Get the RAM base for this nxt2002 */
-	i2c_readbytes(state,0x10,buf,1);
-
-	if (buf[0] & 0x10)
-		rambase = 0x1000;
-	else
-		rambase = 0x0000;
-
-	dprintk("rambase on this nxt2002 is %04X\n",rambase);
-
-	/* Hold the micro in reset while loading firmware */
-	buf[0] = 0x80;
-	i2c_writebytes(state,0x2B,buf,1);
-
-	for (position = 0; position < fw->size ; position++) {
-		if (written == 0) {
-			crc = 0;
-			chunkpos = 0x28;
-			buf[0] = ((rambase + position) >> 8);
-			buf[1] = (rambase + position) & 0xFF;
-			buf[2] = 0x81;
-			/* write starting address */
-			i2c_writebytes(state,0x29,buf,3);
-		}
-		written++;
-		chunkpos++;
-
-		if ((written % 4) == 0)
-			i2c_writebytes(state,chunkpos,&fw->data[position-3],4);
-
-		crc = nxt2002_crc(crc,fw->data[position]);
-
-		if ((written == 255) || (position+1 == fw->size)) {
-			/* write remaining bytes of firmware */
-			i2c_writebytes(state, chunkpos+4-(written %4),
-				&fw->data[position-(written %4) + 1],
-				written %4);
-			buf[0] = crc << 8;
-			buf[1] = crc & 0xFF;
-
-			/* write crc */
-			i2c_writebytes(state,0x2C,buf,2);
-
-			/* do a read to stop things */
-			i2c_readbytes(state,0x2A,buf,1);
-
-			/* set transfer mode to complete */
-			buf[0] = 0x80;
-			i2c_writebytes(state,0x2B,buf,1);
-
-			written = 0;
-		}
-	}
-
-	printk ("done.\n");
-	return 0;
-};
-
-static int nxt2002_setup_frontend_parameters (struct dvb_frontend* fe,
-					     struct dvb_frontend_parameters *p)
-{
-	struct nxt2002_state* state = fe->demodulator_priv;
-	u32 freq = 0;
-	u16 tunerfreq = 0;
-	u8 buf[4];
-
-	freq = 44000 + ( p->frequency / 1000 );
-
-	dprintk("freq = %d      p->frequency = %d\n",freq,p->frequency);
-
-	tunerfreq = freq * 24/4000;
-
-	buf[0] = (tunerfreq >> 8) & 0x7F;
-	buf[1] = (tunerfreq & 0xFF);
-
-	if (p->frequency <= 214000000) {
-		buf[2] = 0x84 + (0x06 << 3);
-		buf[3] = (p->frequency <= 172000000) ? 0x01 : 0x02;
-	} else if (p->frequency <= 721000000) {
-		buf[2] = 0x84 + (0x07 << 3);
-		buf[3] = (p->frequency <= 467000000) ? 0x02 : 0x08;
-	} else if (p->frequency <= 841000000) {
-		buf[2] = 0x84 + (0x0E << 3);
-		buf[3] = 0x08;
-	} else {
-		buf[2] = 0x84 + (0x0F << 3);
-		buf[3] = 0x02;
-	}
-
-	/* write frequency information */
-	nxt2002_writetuner(state,buf);
-
-	/* reset the agc now that tuning has been completed */
-	nxt2002_agc_reset(state);
-
-	/* set target power level */
-	switch (p->u.vsb.modulation) {
-		case QAM_64:
-		case QAM_256:
-				buf[0] = 0x74;
-				break;
-		case VSB_8:
-				buf[0] = 0x70;
-				break;
-		default:
-				return -EINVAL;
-				break;
-	}
-	i2c_writebytes(state,0x42,buf,1);
-
-	/* configure sdm */
-	buf[0] = 0x87;
-	i2c_writebytes(state,0x57,buf,1);
-
-	/* write sdm1 input */
-	buf[0] = 0x10;
-	buf[1] = 0x00;
-	nxt2002_writereg_multibyte(state,0x58,buf,2);
-
-	/* write sdmx input */
-	switch (p->u.vsb.modulation) {
-		case QAM_64:
-				buf[0] = 0x68;
-				break;
-		case QAM_256:
-				buf[0] = 0x64;
-				break;
-		case VSB_8:
-				buf[0] = 0x60;
-				break;
-		default:
-				return -EINVAL;
-				break;
-	}
-	buf[1] = 0x00;
-	nxt2002_writereg_multibyte(state,0x5C,buf,2);
-
-	/* write adc power lpf fc */
-	buf[0] = 0x05;
-	i2c_writebytes(state,0x43,buf,1);
-
-	/* write adc power lpf fc */
-	buf[0] = 0x05;
-	i2c_writebytes(state,0x43,buf,1);
-
-	/* write accumulator2 input */
-	buf[0] = 0x80;
-	buf[1] = 0x00;
-	nxt2002_writereg_multibyte(state,0x4B,buf,2);
-
-	/* write kg1 */
-	buf[0] = 0x00;
-	i2c_writebytes(state,0x4D,buf,1);
-
-	/* write sdm12 lpf fc */
-	buf[0] = 0x44;
-	i2c_writebytes(state,0x55,buf,1);
-
-	/* write agc control reg */
-	buf[0] = 0x04;
-	i2c_writebytes(state,0x41,buf,1);
-
-	/* write agc ucgp0 */
-	switch (p->u.vsb.modulation) {
-		case QAM_64:
-				buf[0] = 0x02;
-				break;
-		case QAM_256:
-				buf[0] = 0x03;
-				break;
-		case VSB_8:
-				buf[0] = 0x00;
-				break;
-		default:
-				return -EINVAL;
-				break;
-	}
-	i2c_writebytes(state,0x30,buf,1);
-
-	/* write agc control reg */
-	buf[0] = 0x00;
-	i2c_writebytes(state,0x41,buf,1);
-
-	/* write accumulator2 input */
-	buf[0] = 0x80;
-	buf[1] = 0x00;
-	nxt2002_writereg_multibyte(state,0x49,buf,2);
-	nxt2002_writereg_multibyte(state,0x4B,buf,2);
-
-	/* write agc control reg */
-	buf[0] = 0x04;
-	i2c_writebytes(state,0x41,buf,1);
-
-	nxt2002_microcontroller_start(state);
-
-	/* adjacent channel detection should be done here, but I don't
-	have any stations with this need so I cannot test it */
-
-	return 0;
-}
-
-static int nxt2002_read_status(struct dvb_frontend* fe, fe_status_t* status)
-{
-	struct nxt2002_state* state = fe->demodulator_priv;
-	u8 lock;
-	i2c_readbytes(state,0x31,&lock,1);
-
-	*status = 0;
-	if (lock & 0x20) {
-		*status |= FE_HAS_SIGNAL;
-		*status |= FE_HAS_CARRIER;
-		*status |= FE_HAS_VITERBI;
-		*status |= FE_HAS_SYNC;
-		*status |= FE_HAS_LOCK;
-	}
-	return 0;
-}
-
-static int nxt2002_read_ber(struct dvb_frontend* fe, u32* ber)
-{
-	struct nxt2002_state* state = fe->demodulator_priv;
-	u8 b[3];
-
-	nxt2002_readreg_multibyte(state,0xE6,b,3);
-
-	*ber = ((b[0] << 8) + b[1]) * 8;
-
-	return 0;
-}
-
-static int nxt2002_read_signal_strength(struct dvb_frontend* fe, u16* strength)
-{
-	struct nxt2002_state* state = fe->demodulator_priv;
-	u8 b[2];
-	u16 temp = 0;
-
-	/* setup to read cluster variance */
-	b[0] = 0x00;
-	i2c_writebytes(state,0xA1,b,1);
-
-	/* get multreg val */
-	nxt2002_readreg_multibyte(state,0xA6,b,2);
-
-	temp = (b[0] << 8) | b[1];
-	*strength = ((0x7FFF - temp) & 0x0FFF) * 16;
-
-	return 0;
-}
-
-static int nxt2002_read_snr(struct dvb_frontend* fe, u16* snr)
-{
-
-	struct nxt2002_state* state = fe->demodulator_priv;
-	u8 b[2];
-	u16 temp = 0, temp2;
-	u32 snrdb = 0;
-
-	/* setup to read cluster variance */
-	b[0] = 0x00;
-	i2c_writebytes(state,0xA1,b,1);
-
-	/* get multreg val from 0xA6 */
-	nxt2002_readreg_multibyte(state,0xA6,b,2);
-
-	temp = (b[0] << 8) | b[1];
-	temp2 = 0x7FFF - temp;
-
-	/* snr will be in db */
-	if (temp2 > 0x7F00)
-		snrdb = 1000*24 + ( 1000*(30-24) * ( temp2 - 0x7F00 ) / ( 0x7FFF - 0x7F00 ) );
-	else if (temp2 > 0x7EC0)
-		snrdb = 1000*18 + ( 1000*(24-18) * ( temp2 - 0x7EC0 ) / ( 0x7F00 - 0x7EC0 ) );
-	else if (temp2 > 0x7C00)
-		snrdb = 1000*12 + ( 1000*(18-12) * ( temp2 - 0x7C00 ) / ( 0x7EC0 - 0x7C00 ) );
-	else
-		snrdb = 1000*0 + ( 1000*(12-0) * ( temp2 - 0 ) / ( 0x7C00 - 0 ) );
-
-	/* the value reported back from the frontend will be FFFF=32db 0000=0db */
-
-	*snr = snrdb * (0xFFFF/32000);
-
-	return 0;
-}
-
-static int nxt2002_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks)
-{
-	struct nxt2002_state* state = fe->demodulator_priv;
-	u8 b[3];
-
-	nxt2002_readreg_multibyte(state,0xE6,b,3);
-	*ucblocks = b[2];
-
-	return 0;
-}
-
-static int nxt2002_sleep(struct dvb_frontend* fe)
-{
-	return 0;
-}
-
-static int nxt2002_init(struct dvb_frontend* fe)
-{
-	struct nxt2002_state* state = fe->demodulator_priv;
-	const struct firmware *fw;
-	int ret;
-	u8 buf[2];
-
-	if (!state->initialised) {
-		/* request the firmware, this will block until someone uploads it */
-		printk("nxt2002: Waiting for firmware upload (%s)...\n", NXT2002_DEFAULT_FIRMWARE);
-		ret = state->config->request_firmware(fe, &fw, NXT2002_DEFAULT_FIRMWARE);
-		printk("nxt2002: Waiting for firmware upload(2)...\n");
-		if (ret) {
-			printk("nxt2002: no firmware upload (timeout or file not found?)\n");
-			return ret;
-		}
-
-		ret = nxt2002_load_firmware(fe, fw);
-		if (ret) {
-			printk("nxt2002: writing firmware to device failed\n");
-			release_firmware(fw);
-			return ret;
-		}
-		printk("nxt2002: firmware upload complete\n");
-
-		/* Put the micro into reset */
-		nxt2002_microcontroller_stop(state);
-
-		/* ensure transfer is complete */
-		buf[0]=0;
-		i2c_writebytes(state,0x2B,buf,1);
-
-		/* Put the micro into reset for real this time */
-		nxt2002_microcontroller_stop(state);
-
-		/* soft reset everything (agc,frontend,eq,fec)*/
-		buf[0] = 0x0F;
-		i2c_writebytes(state,0x08,buf,1);
-		buf[0] = 0x00;
-		i2c_writebytes(state,0x08,buf,1);
-
-		/* write agc sdm configure */
-		buf[0] = 0xF1;
-		i2c_writebytes(state,0x57,buf,1);
-
-		/* write mod output format */
-		buf[0] = 0x20;
-		i2c_writebytes(state,0x09,buf,1);
-
-		/* write fec mpeg mode */
-		buf[0] = 0x7E;
-		buf[1] = 0x00;
-		i2c_writebytes(state,0xE9,buf,2);
-
-		/* write mux selection */
-		buf[0] = 0x00;
-		i2c_writebytes(state,0xCC,buf,1);
-
-		state->initialised = 1;
-	}
-
-	return 0;
-}
-
-static int nxt2002_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fesettings)
-{
-	fesettings->min_delay_ms = 500;
-	fesettings->step_size = 0;
-	fesettings->max_drift = 0;
-	return 0;
-}
-
-static void nxt2002_release(struct dvb_frontend* fe)
-{
-	struct nxt2002_state* state = fe->demodulator_priv;
-	kfree(state);
-}
-
-static struct dvb_frontend_ops nxt2002_ops;
-
-struct dvb_frontend* nxt2002_attach(const struct nxt2002_config* config,
-				   struct i2c_adapter* i2c)
-{
-	struct nxt2002_state* state = NULL;
-	u8 buf [] = {0,0,0,0,0};
-
-	/* allocate memory for the internal state */
-	state = kmalloc(sizeof(struct nxt2002_state), GFP_KERNEL);
-	if (state == NULL) goto error;
-
-	/* setup the state */
-	state->config = config;
-	state->i2c = i2c;
-	memcpy(&state->ops, &nxt2002_ops, sizeof(struct dvb_frontend_ops));
-	state->initialised = 0;
-
-	/* Check the first 5 registers to ensure this a revision we can handle */
-
-	i2c_readbytes(state, 0x00, buf, 5);
-	if (buf[0] != 0x04) goto error;		/* device id */
-	if (buf[1] != 0x02) goto error;		/* fab id */
-	if (buf[2] != 0x11) goto error;		/* month */
-	if (buf[3] != 0x20) goto error;		/* year msb */
-	if (buf[4] != 0x00) goto error;		/* year lsb */
-
-	/* create dvb_frontend */
-	state->frontend.ops = &state->ops;
-	state->frontend.demodulator_priv = state;
-	return &state->frontend;
-
-error:
-	kfree(state);
-	return NULL;
-}
-
-static struct dvb_frontend_ops nxt2002_ops = {
-
-	.info = {
-		.name = "Nextwave nxt2002 VSB/QAM frontend",
-		.type = FE_ATSC,
-		.frequency_min =  54000000,
-		.frequency_max = 860000000,
-		/* stepsize is just a guess */
-		.frequency_stepsize = 166666,
-		.caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 |
-			FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
-			FE_CAN_8VSB | FE_CAN_QAM_64 | FE_CAN_QAM_256
-	},
-
-	.release = nxt2002_release,
-
-	.init = nxt2002_init,
-	.sleep = nxt2002_sleep,
-
-	.set_frontend = nxt2002_setup_frontend_parameters,
-	.get_tune_settings = nxt2002_get_tune_settings,
-
-	.read_status = nxt2002_read_status,
-	.read_ber = nxt2002_read_ber,
-	.read_signal_strength = nxt2002_read_signal_strength,
-	.read_snr = nxt2002_read_snr,
-	.read_ucblocks = nxt2002_read_ucblocks,
-
-};
-
-module_param(debug, int, 0644);
-MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off).");
-
-MODULE_DESCRIPTION("NXT2002 ATSC (8VSB & ITU J83 AnnexB FEC QAM64/256) demodulator driver");
-MODULE_AUTHOR("Taylor Jacob");
-MODULE_LICENSE("GPL");
-
-EXPORT_SYMBOL(nxt2002_attach);
diff --git a/drivers/media/dvb/frontends/nxt2002.h b/drivers/media/dvb/frontends/nxt2002.h
deleted file mode 100644
index 462301f..0000000
--- a/drivers/media/dvb/frontends/nxt2002.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-   Driver for the Nxt2002 demodulator
-*/
-
-#ifndef NXT2002_H
-#define NXT2002_H
-
-#include <linux/dvb/frontend.h>
-#include <linux/firmware.h>
-
-struct nxt2002_config
-{
-	/* the demodulator's i2c address */
-	u8 demod_address;
-
-	/* request firmware for device */
-	int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name);
-};
-
-extern struct dvb_frontend* nxt2002_attach(const struct nxt2002_config* config,
-					   struct i2c_adapter* i2c);
-
-#endif // NXT2002_H
diff --git a/drivers/media/dvb/frontends/nxt200x.c b/drivers/media/dvb/frontends/nxt200x.c
index 78d2b93..9e35353 100644
--- a/drivers/media/dvb/frontends/nxt200x.c
+++ b/drivers/media/dvb/frontends/nxt200x.c
@@ -1,9 +1,10 @@
 /*
  *    Support for NXT2002 and NXT2004 - VSB/QAM
  *
- *    Copyright (C) 2005 Kirk Lapray (kirk.lapray@gmail.com)
+ *    Copyright (C) 2005 Kirk Lapray <kirk.lapray@gmail.com>
+ *    Copyright (C) 2006 Michael Krufky <mkrufky@m1k.net>
  *    based on nxt2002 by Taylor Jacob <rtjacob@earthlink.net>
- *    and nxt2004 by Jean-Francois Thibert (jeanfrancois@sagetv.com)
+ *    and nxt2004 by Jean-Francois Thibert <jeanfrancois@sagetv.com>
  *
  *    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
@@ -614,7 +615,17 @@ static int nxt200x_setup_frontend_parame
 	/* write sdm1 input */
 	buf[0] = 0x10;
 	buf[1] = 0x00;
-	nxt200x_writebytes(state, 0x58, buf, 2);
+	switch (state->demod_chip) {
+		case NXT2002:
+			nxt200x_writereg_multibyte(state, 0x58, buf, 2);
+			break;
+		case NXT2004:
+			nxt200x_writebytes(state, 0x58, buf, 2);
+			break;
+		default:
+			return -EINVAL;
+			break;
+	}
 
 	/* write sdmx input */
 	switch (p->u.vsb.modulation) {
@@ -632,7 +643,17 @@ static int nxt200x_setup_frontend_parame
 				break;
 	}
 	buf[1] = 0x00;
-	nxt200x_writebytes(state, 0x5C, buf, 2);
+	switch (state->demod_chip) {
+		case NXT2002:
+			nxt200x_writereg_multibyte(state, 0x5C, buf, 2);
+			break;
+		case NXT2004:
+			nxt200x_writebytes(state, 0x5C, buf, 2);
+			break;
+		default:
+			return -EINVAL;
+			break;
+	}
 
 	/* write adc power lpf fc */
 	buf[0] = 0x05;
@@ -648,7 +669,17 @@ static int nxt200x_setup_frontend_parame
 	/* write accumulator2 input */
 	buf[0] = 0x80;
 	buf[1] = 0x00;
-	nxt200x_writebytes(state, 0x4B, buf, 2);
+	switch (state->demod_chip) {
+		case NXT2002:
+			nxt200x_writereg_multibyte(state, 0x4B, buf, 2);
+			break;
+		case NXT2004:
+			nxt200x_writebytes(state, 0x4B, buf, 2);
+			break;
+		default:
+			return -EINVAL;
+			break;
+	}
 
 	/* write kg1 */
 	buf[0] = 0x00;
@@ -714,8 +745,19 @@ static int nxt200x_setup_frontend_parame
 	/* write accumulator2 input */
 	buf[0] = 0x80;
 	buf[1] = 0x00;
-	nxt200x_writebytes(state, 0x49, buf,2);
-	nxt200x_writebytes(state, 0x4B, buf,2);
+	switch (state->demod_chip) {
+		case NXT2002:
+			nxt200x_writereg_multibyte(state, 0x49, buf, 2);
+			nxt200x_writereg_multibyte(state, 0x4B, buf, 2);
+			break;
+		case NXT2004:
+			nxt200x_writebytes(state, 0x49, buf, 2);
+			nxt200x_writebytes(state, 0x4B, buf, 2);
+			break;
+		default:
+			return -EINVAL;
+			break;
+	}
 
 	/* write agc control reg */
 	buf[0] = 0x04;
@@ -1199,7 +1241,7 @@ module_param(debug, int, 0644);
 MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off).");
 
 MODULE_DESCRIPTION("NXT200X (ATSC 8VSB & ITU-T J.83 AnnexB 64/256 QAM) Demodulator Driver");
-MODULE_AUTHOR("Kirk Lapray, Jean-Francois Thibert, and Taylor Jacob");
+MODULE_AUTHOR("Kirk Lapray, Michael Krufky, Jean-Francois Thibert, and Taylor Jacob");
 MODULE_LICENSE("GPL");
 
 EXPORT_SYMBOL(nxt200x_attach);


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 05/16] Fixes tvp5150a/am1 detection.
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (6 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 08/16] rename dvb_pll_tbmv30111in to dvb_pll_samsung_tbmv mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option mchehab
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Mauro Carvalho Chehab

From: Mauro Carvalho Chehab <mchehab@infradead.org>

- Tvp5150 type were determined by a secondary register instead of
  using ROM code.
- tvp5150am1 have ROM=4.0, while tvp5150a have ROM=3.33 (decimal).
  All other ROM versions are reported as unknown tvp5150.
- Except for reporting, current code doesn't enable any special feature
  for tvp5150am1 or tvp5150a. Code should work for both models (but were
  tested only for tvp5150am1).

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/tvp5150.c |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/media/video/tvp5150.c b/drivers/media/video/tvp5150.c
index fad9ea0..a6330a3 100644
--- a/drivers/media/video/tvp5150.c
+++ b/drivers/media/video/tvp5150.c
@@ -746,24 +746,27 @@ static int tvp5150_set_std(struct i2c_cl
 
 static inline void tvp5150_reset(struct i2c_client *c)
 {
-	u8 type, ver_656, msb_id, lsb_id, msb_rom, lsb_rom;
+	u8 msb_id, lsb_id, msb_rom, lsb_rom;
 	struct tvp5150 *decoder = i2c_get_clientdata(c);
 
-	type=tvp5150_read(c,TVP5150_AUTOSW_MSK);
 	msb_id=tvp5150_read(c,TVP5150_MSB_DEV_ID);
 	lsb_id=tvp5150_read(c,TVP5150_LSB_DEV_ID);
 	msb_rom=tvp5150_read(c,TVP5150_ROM_MAJOR_VER);
 	lsb_rom=tvp5150_read(c,TVP5150_ROM_MINOR_VER);
 
-	if (type==0xdc) {
-		ver_656=tvp5150_read(c,TVP5150_REV_SELECT);
-		tvp5150_info("tvp%02x%02xam1 detected 656 version is %d.\n",msb_id, lsb_id,ver_656);
-	} else if (type==0xfc) {
-		tvp5150_info("tvp%02x%02xa detected.\n",msb_id, lsb_id);
+	if ((msb_rom==4)&&(lsb_rom==0)) { /* Is TVP5150AM1 */
+		tvp5150_info("tvp%02x%02xam1 detected.\n",msb_id, lsb_id);
+
+		/* ITU-T BT.656.4 timing */
+		tvp5150_write(c,TVP5150_REV_SELECT,0);
 	} else {
-		tvp5150_info("unknown tvp%02x%02x chip detected(%d).\n",msb_id,lsb_id,type);
+		if ((msb_rom==3)||(lsb_rom==0x21)) { /* Is TVP5150A */
+			tvp5150_info("tvp%02x%02xa detected.\n",msb_id, lsb_id);
+		} else {
+			tvp5150_info("*** unknown tvp%02x%02x chip detected.\n",msb_id,lsb_id);
+			tvp5150_info("*** Rom ver is %d.%d\n",msb_rom,lsb_rom);
+		}
 	}
-	tvp5150_info("Rom ver is %d.%d\n",msb_rom,lsb_rom);
 
 	/* Initializes TVP5150 to its default values */
 	tvp5150_write_inittab(c, tvp5150_init_default);


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 09/16] Recognise Hauppauge card #34519
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (3 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 02/16] Add PCI ID for DigitalNow DVB-T Dual, rebranded DViCO FusionHDTV DVB-T Dual mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 07/16] Kill nxt2002 in favor of the nxt200x module mchehab
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Ian Pickworth,
	Michael Krufky, Mauro Carvalho Chehab

From: Ian Pickworth <ian@pickworth.me.uk>

- Recognise Hauppauge card #34519

Signed-off-by: Ian Pickworth <ian@pickworth.me.uk>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/cx88/cx88-cards.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 517257b..1bc9992 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1298,6 +1298,7 @@ static void hauppauge_eeprom(struct cx88
 	switch (tv.model)
 	{
 	case 28552: /* WinTV-PVR 'Roslyn' (No IR) */
+	case 34519: /* WinTV-PCI-FM */
 	case 90002: /* Nova-T-PCI (9002) */
 	case 92001: /* Nova-S-Plus (Video and IR) */
 	case 92002: /* Nova-S-Plus (Video and IR) */


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option.
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (7 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 05/16] Fixes tvp5150a/am1 detection mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 22:16   ` Adrian Bunk
  2006-01-23 20:24 ` [PATCH 12/16] drivers/media/dvb/ possible cleanups mchehab
                   ` (6 subsequent siblings)
  15 siblings, 1 reply; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Michael Krufky,
	Mauro Carvalho Chehab

From: Michael Krufky <mkrufky@m1k.net>

- make VP-3054 Secondary I2C Bus Support a Kconfig option.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/cx88/Kconfig  |   11 +++++++++++
 drivers/media/video/cx88/Makefile |    2 +-
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig
index fdf45f7..e99dfbb 100644
--- a/drivers/media/video/cx88/Kconfig
+++ b/drivers/media/video/cx88/Kconfig
@@ -49,6 +49,7 @@ config VIDEO_CX88_DVB_ALL_FRONTENDS
 	default y
 	depends on VIDEO_CX88_DVB
 	select DVB_MT352
+	select VIDEO_CX88_VP3054
 	select DVB_OR51132
 	select DVB_CX22702
 	select DVB_LGDT330X
@@ -70,6 +71,16 @@ config VIDEO_CX88_DVB_MT352
 	  This adds DVB-T support for cards based on the
 	  Connexant 2388x chip and the MT352 demodulator.
 
+config VIDEO_CX88_VP3054
+	tristate "VP-3054 Secondary I2C Bus Support"
+	default m
+	depends on DVB_MT352
+	---help---
+	  This adds DVB-T support for cards based on the
+	  Connexant 2388x chip and the MT352 demodulator,
+	  which also require support for the VP-3054
+	  Secondary I2C bus, such at DNTV Live! DVB-T Pro.
+
 config VIDEO_CX88_DVB_OR51132
 	bool "OR51132 ATSC Support"
 	default y
diff --git a/drivers/media/video/cx88/Makefile b/drivers/media/video/cx88/Makefile
index 6e5eaa2..e78da88 100644
--- a/drivers/media/video/cx88/Makefile
+++ b/drivers/media/video/cx88/Makefile
@@ -18,6 +18,6 @@ extra-cflags-$(CONFIG_DVB_LGDT330X)  += 
 extra-cflags-$(CONFIG_DVB_MT352)     += -DHAVE_MT352=1
 extra-cflags-$(CONFIG_DVB_NXT200X)   += -DHAVE_NXT200X=1
 extra-cflags-$(CONFIG_DVB_CX24123)   += -DHAVE_CX24123=1
-extra-cflags-$(CONFIG_VIDEO_CX88_DVB)+= -DHAVE_VP3054_I2C=1
+extra-cflags-$(CONFIG_VIDEO_CX88_VP3054)+= -DHAVE_VP3054_I2C=1
 
 EXTRA_CFLAGS += $(extra-cflags-y) $(extra-cflags-m)


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 16/16] changed comment in tuner-core.c
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (12 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 13/16] Missing break statement on tuner-core mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 15/16] Fix printk type warning mchehab
       [not found] ` <200601232155.44036.peter.missel@onlinehome.de>
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Markus Rechberger,
	Mauro Carvalho Chehab

From: Markus Rechberger <mrechberger@gmail.com>

- changed comment in tuner-core.c

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/tuner-core.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index e6bcd4b..873bf3d 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -449,7 +449,7 @@ static int tuner_attach(struct i2c_adapt
 			printk("%02x ",buffer[i]);
 		printk("\n");
 	}
-	/* TEA5767 autodetection code - only for addr = 0xc0 */
+	/* autodetection code based on the i2c addr */
 	if (!no_autodetect) {
 		switch (addr) {
 		case 0x42:


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 12/16] drivers/media/dvb/ possible cleanups
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (8 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 11/16] Cause tda9887 to use I2C_DRIVERID_TDA9887 mchehab
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Adrian Bunk,
	Patrick Boettcher, Michael Krufky, Mauro Carvalho Chehab

From: Adrian Bunk <bunk@stusta.de>

- Make needlessly global code static
- #if 0 the following unused global functions:
- b2c2/flexcop-dma.c: flexcop_dma_control_packet_irq()
- b2c2/flexcop-dma.c: flexcop_dma_config_packet_count()

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/dvb/b2c2/flexcop-common.h      |    2 -
 drivers/media/dvb/b2c2/flexcop-dma.c         |   35 --------------------------
 drivers/media/dvb/b2c2/flexcop-misc.c        |    6 ++--
 drivers/media/dvb/b2c2/flexcop-reg.h         |    4 ---
 drivers/media/dvb/dvb-usb/cxusb.c            |    8 +++---
 drivers/media/dvb/dvb-usb/dvb-usb-firmware.c |    8 ++++--
 drivers/media/dvb/dvb-usb/dvb-usb.h          |    1 -
 drivers/media/dvb/dvb-usb/vp702x.c           |    6 +++-
 drivers/media/dvb/dvb-usb/vp702x.h           |    2 -
 drivers/media/dvb/ttpci/av7110.h             |    2 -
 drivers/media/dvb/ttpci/av7110_ir.c          |   26 ++++++++++---------
 11 files changed, 29 insertions(+), 71 deletions(-)

diff --git a/drivers/media/dvb/b2c2/flexcop-common.h b/drivers/media/dvb/b2c2/flexcop-common.h
index 344a3c8..7d7e161 100644
--- a/drivers/media/dvb/b2c2/flexcop-common.h
+++ b/drivers/media/dvb/b2c2/flexcop-common.h
@@ -116,11 +116,9 @@ void flexcop_dma_free(struct flexcop_dma
 
 int flexcop_dma_control_timer_irq(struct flexcop_device *fc, flexcop_dma_index_t no, int onoff);
 int flexcop_dma_control_size_irq(struct flexcop_device *fc, flexcop_dma_index_t no, int onoff);
-int flexcop_dma_control_packet_irq(struct flexcop_device *fc, flexcop_dma_index_t no, int onoff);
 int flexcop_dma_config(struct flexcop_device *fc, struct flexcop_dma *dma, flexcop_dma_index_t dma_idx);
 int flexcop_dma_xfer_control(struct flexcop_device *fc, flexcop_dma_index_t dma_idx, flexcop_dma_addr_index_t index, int onoff);
 int flexcop_dma_config_timer(struct flexcop_device *fc, flexcop_dma_index_t dma_idx, u8 cycles);
-int flexcop_dma_config_packet_count(struct flexcop_device *fc, flexcop_dma_index_t dma_idx, u8 packets);
 
 /* from flexcop-eeprom.c */
 /* the PCI part uses this call to get the MAC address, the USB part has its own */
diff --git a/drivers/media/dvb/b2c2/flexcop-dma.c b/drivers/media/dvb/b2c2/flexcop-dma.c
index cf4ed1d..6f592bc 100644
--- a/drivers/media/dvb/b2c2/flexcop-dma.c
+++ b/drivers/media/dvb/b2c2/flexcop-dma.c
@@ -169,38 +169,3 @@ int flexcop_dma_config_timer(struct flex
 }
 EXPORT_SYMBOL(flexcop_dma_config_timer);
 
-/* packet IRQ does not exist in FCII or FCIIb - according to data book and tests */
-int flexcop_dma_control_packet_irq(struct flexcop_device *fc,
-		flexcop_dma_index_t no,
-		int onoff)
-{
-	flexcop_ibi_value v = fc->read_ibi_reg(fc,ctrl_208);
-
-	deb_rdump("reg: %03x: %x\n",ctrl_208,v.raw);
-	if (no & FC_DMA_1)
-		v.ctrl_208.DMA1_Size_IRQ_Enable_sig = onoff;
-
-	if (no & FC_DMA_2)
-		v.ctrl_208.DMA2_Size_IRQ_Enable_sig = onoff;
-
-	fc->write_ibi_reg(fc,ctrl_208,v);
-	deb_rdump("reg: %03x: %x\n",ctrl_208,v.raw);
-
-	return 0;
-}
-EXPORT_SYMBOL(flexcop_dma_control_packet_irq);
-
-int flexcop_dma_config_packet_count(struct flexcop_device *fc,
-		flexcop_dma_index_t dma_idx,
-		u8 packets)
-{
-	flexcop_ibi_register r = (dma_idx & FC_DMA_1) ? dma1_004 : dma2_014;
-	flexcop_ibi_value v = fc->read_ibi_reg(fc,r);
-
-	flexcop_dma_remap(fc,dma_idx,1);
-
-	v.dma_0x4_remap.DMA_maxpackets = packets;
-	fc->write_ibi_reg(fc,r,v);
-	return 0;
-}
-EXPORT_SYMBOL(flexcop_dma_config_packet_count);
diff --git a/drivers/media/dvb/b2c2/flexcop-misc.c b/drivers/media/dvb/b2c2/flexcop-misc.c
index 62282d8..167583b 100644
--- a/drivers/media/dvb/b2c2/flexcop-misc.c
+++ b/drivers/media/dvb/b2c2/flexcop-misc.c
@@ -36,14 +36,14 @@ void flexcop_determine_revision(struct f
 	/* bus parts have to decide if hw pid filtering is used or not. */
 }
 
-const char *flexcop_revision_names[] = {
+static const char *flexcop_revision_names[] = {
 	"Unkown chip",
 	"FlexCopII",
 	"FlexCopIIb",
 	"FlexCopIII",
 };
 
-const char *flexcop_device_names[] = {
+static const char *flexcop_device_names[] = {
 	"Unkown device",
 	"Air2PC/AirStar 2 DVB-T",
 	"Air2PC/AirStar 2 ATSC 1st generation",
@@ -54,7 +54,7 @@ const char *flexcop_device_names[] = {
 	"Air2PC/AirStar 2 ATSC 3rd generation (HD5000)",
 };
 
-const char *flexcop_bus_names[] = {
+static const char *flexcop_bus_names[] = {
 	"USB",
 	"PCI",
 };
diff --git a/drivers/media/dvb/b2c2/flexcop-reg.h b/drivers/media/dvb/b2c2/flexcop-reg.h
index 3153f95..491f9bd 100644
--- a/drivers/media/dvb/b2c2/flexcop-reg.h
+++ b/drivers/media/dvb/b2c2/flexcop-reg.h
@@ -16,8 +16,6 @@ typedef enum {
 	FLEXCOP_III,
 } flexcop_revision_t;
 
-extern const char *flexcop_revision_names[];
-
 typedef enum {
 	FC_UNK = 0,
 	FC_AIR_DVB,
@@ -34,8 +32,6 @@ typedef enum {
 	FC_PCI,
 } flexcop_bus_t;
 
-extern const char *flexcop_device_names[];
-
 /* FlexCop IBI Registers */
 #if defined(__LITTLE_ENDIAN)
 	#include "flexcop_ibi_value_le.h"
diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
index a7fb06f..f140037 100644
--- a/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/drivers/media/dvb/dvb-usb/cxusb.c
@@ -184,7 +184,7 @@ static int cxusb_rc_query(struct dvb_usb
 	return 0;
 }
 
-struct dvb_usb_rc_key dvico_mce_rc_keys[] = {
+static struct dvb_usb_rc_key dvico_mce_rc_keys[] = {
 	{ 0xfe, 0x02, KEY_TV },
 	{ 0xfe, 0x0e, KEY_MP3 },
 	{ 0xfe, 0x1a, KEY_DVD },
@@ -273,7 +273,7 @@ static int cxusb_mt352_demod_init(struct
 	return 0;
 }
 
-struct cx22702_config cxusb_cx22702_config = {
+static struct cx22702_config cxusb_cx22702_config = {
 	.demod_address = 0x63,
 
 	.output_mode = CX22702_PARALLEL_OUTPUT,
@@ -282,13 +282,13 @@ struct cx22702_config cxusb_cx22702_conf
 	.pll_set  = dvb_usb_pll_set_i2c,
 };
 
-struct lgdt330x_config cxusb_lgdt330x_config = {
+static struct lgdt330x_config cxusb_lgdt330x_config = {
 	.demod_address = 0x0e,
 	.demod_chip    = LGDT3303,
 	.pll_set       = dvb_usb_pll_set_i2c,
 };
 
-struct mt352_config cxusb_dee1601_config = {
+static struct mt352_config cxusb_dee1601_config = {
 	.demod_address = 0x0f,
 	.demod_init    = cxusb_dee1601_demod_init,
 	.pll_set       = dvb_usb_pll_set,
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
index 8535895..9222b0a 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
@@ -24,6 +24,9 @@ static struct usb_cypress_controller cyp
 	{ .id = CYPRESS_FX2,     .name = "Cypress FX2",     .cpu_cs_register = 0xe600 },
 };
 
+static int dvb_usb_get_hexline(const struct firmware *fw, struct hexline *hx,
+			       int *pos);
+
 /*
  * load a firmware packet to the device
  */
@@ -112,7 +115,8 @@ int dvb_usb_download_firmware(struct usb
 	return ret;
 }
 
-int dvb_usb_get_hexline(const struct firmware *fw, struct hexline *hx, int *pos)
+static int dvb_usb_get_hexline(const struct firmware *fw, struct hexline *hx,
+			       int *pos)
 {
 	u8 *b = (u8 *) &fw->data[*pos];
 	int data_offs = 4;
@@ -142,5 +146,3 @@ int dvb_usb_get_hexline(const struct fir
 
 	return *pos;
 }
-EXPORT_SYMBOL(dvb_usb_get_hexline);
-
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb.h b/drivers/media/dvb/dvb-usb/dvb-usb.h
index dd56839..5e5d21a 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb.h
+++ b/drivers/media/dvb/dvb-usb/dvb-usb.h
@@ -341,7 +341,6 @@ struct hexline {
 	u8 data[255];
 	u8 chk;
 };
-extern int dvb_usb_get_hexline(const struct firmware *, struct hexline *, int *);
 extern int usb_cypress_load_firmware(struct usb_device *udev, const struct firmware *fw, int type);
 
 #endif
diff --git a/drivers/media/dvb/dvb-usb/vp702x.c b/drivers/media/dvb/dvb-usb/vp702x.c
index afa00fd..4a95eca 100644
--- a/drivers/media/dvb/dvb-usb/vp702x.c
+++ b/drivers/media/dvb/dvb-usb/vp702x.c
@@ -53,7 +53,8 @@ int vp702x_usb_in_op(struct dvb_usb_devi
 	return ret;
 }
 
-int vp702x_usb_out_op(struct dvb_usb_device *d, u8 req, u16 value, u16 index, u8 *b, int blen)
+static int vp702x_usb_out_op(struct dvb_usb_device *d, u8 req, u16 value,
+			     u16 index, u8 *b, int blen)
 {
 	deb_xfer("out: req. %x, val: %x, ind: %x, buffer: ",req,value,index);
 	debug_dump(b,blen,deb_xfer);
@@ -88,7 +89,8 @@ unlock:
 	return ret;
 }
 
-int vp702x_usb_inout_cmd(struct dvb_usb_device *d, u8 cmd, u8 *o, int olen, u8 *i, int ilen, int msec)
+static int vp702x_usb_inout_cmd(struct dvb_usb_device *d, u8 cmd, u8 *o,
+				int olen, u8 *i, int ilen, int msec)
 {
 	u8 bout[olen+2];
 	u8 bin[ilen+1];
diff --git a/drivers/media/dvb/dvb-usb/vp702x.h b/drivers/media/dvb/dvb-usb/vp702x.h
index a808d48..c2f97f9 100644
--- a/drivers/media/dvb/dvb-usb/vp702x.h
+++ b/drivers/media/dvb/dvb-usb/vp702x.h
@@ -101,8 +101,6 @@ extern int dvb_usb_vp702x_debug;
 extern struct dvb_frontend * vp702x_fe_attach(struct dvb_usb_device *d);
 
 extern int vp702x_usb_inout_op(struct dvb_usb_device *d, u8 *o, int olen, u8 *i, int ilen, int msec);
-extern int vp702x_usb_inout_cmd(struct dvb_usb_device *d, u8 cmd, u8 *o, int olen, u8 *i, int ilen, int msec);
 extern int vp702x_usb_in_op(struct dvb_usb_device *d, u8 req, u16 value, u16 index, u8 *b, int blen);
-extern int vp702x_usb_out_op(struct dvb_usb_device *d, u8 req, u16 value, u16 index, u8 *b, int blen);
 
 #endif
diff --git a/drivers/media/dvb/ttpci/av7110.h b/drivers/media/dvb/ttpci/av7110.h
index 6ea30df..fafd25f 100644
--- a/drivers/media/dvb/ttpci/av7110.h
+++ b/drivers/media/dvb/ttpci/av7110.h
@@ -273,8 +273,6 @@ struct av7110 {
 extern int ChangePIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
 		       u16 subpid, u16 pcrpid);
 
-extern int av7110_setup_irc_config (struct av7110 *av7110, u32 ir_config);
-
 extern int av7110_ir_init(struct av7110 *av7110);
 extern void av7110_ir_exit(struct av7110 *av7110);
 
diff --git a/drivers/media/dvb/ttpci/av7110_ir.c b/drivers/media/dvb/ttpci/av7110_ir.c
index 9138132..617e4f6 100644
--- a/drivers/media/dvb/ttpci/av7110_ir.c
+++ b/drivers/media/dvb/ttpci/av7110_ir.c
@@ -155,6 +155,19 @@ static void input_repeat_key(unsigned lo
 }
 
 
+static int av7110_setup_irc_config(struct av7110 *av7110, u32 ir_config)
+{
+	int ret = 0;
+
+	dprintk(4, "%p\n", av7110);
+	if (av7110) {
+		ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, SetIR, 1, ir_config);
+		av7110->ir_config = ir_config;
+	}
+	return ret;
+}
+
+
 static int av7110_ir_write_proc(struct file *file, const char __user *buffer,
 				unsigned long count, void *data)
 {
@@ -187,19 +200,6 @@ static int av7110_ir_write_proc(struct f
 }
 
 
-int av7110_setup_irc_config(struct av7110 *av7110, u32 ir_config)
-{
-	int ret = 0;
-
-	dprintk(4, "%p\n", av7110);
-	if (av7110) {
-		ret = av7110_fw_cmd(av7110, COMTYPE_PIDFILTER, SetIR, 1, ir_config);
-		av7110->ir_config = ir_config;
-	}
-	return ret;
-}
-
-
 static void ir_handler(struct av7110 *av7110, u32 ircom)
 {
 	dprintk(4, "ircommand = %08x\n", ircom);


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 13/16] Missing break statement on tuner-core
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (11 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 14/16] fixed spelling error, exectuted --> executed mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 16/16] changed comment in tuner-core.c mchehab
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Markus Rechberger,
	Mauro Carvalho Chehab

From: Markus Rechberger <mrechberger@gmail.com>

- default_tuner_init was called twice due to a missing break statement.

Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Acked-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/tuner-core.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index 2995b22..e6bcd4b 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -216,6 +216,7 @@ static void set_type(struct i2c_client *
 		buffer[3] = 0xa4;
 		i2c_master_send(c,buffer,4);
 		default_tuner_init(c);
+		break;
 	default:
 		default_tuner_init(c);
 		break;


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 11/16] Cause tda9887 to use I2C_DRIVERID_TDA9887
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (9 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 12/16] drivers/media/dvb/ possible cleanups mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 14/16] fixed spelling error, exectuted --> executed mchehab
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Mike Isely,
	Mauro Carvalho Chehab

From: Mike Isely <isely@pobox.com>

- The tda9887 has an I2C id reserved for it, but it hasn't been using
it.  Probably an oversight.  Fixed with this patch.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/tda9887.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/tda9887.c b/drivers/media/video/tda9887.c
index 5815649..7c71422 100644
--- a/drivers/media/video/tda9887.c
+++ b/drivers/media/video/tda9887.c
@@ -876,7 +876,7 @@ static int tda9887_resume(struct device 
 /* ----------------------------------------------------------------------- */
 
 static struct i2c_driver driver = {
-	.id             = -1, /* FIXME */
+	.id             = I2C_DRIVERID_TDA9887,
 	.attach_adapter = tda9887_probe,
 	.detach_client  = tda9887_detach,
 	.command        = tda9887_command,


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 15/16] Fix printk type warning
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (13 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 16/16] changed comment in tuner-core.c mchehab
@ 2006-01-23 20:24 ` mchehab
       [not found] ` <200601232155.44036.peter.missel@onlinehome.de>
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Randy Dunlap,
	Michael Krufky, Mauro Carvalho Chehab

From: Randy Dunlap <rdunlap@xenotime.net>

- Fix printk type warning:
drivers/media/dvb/b2c2/flexcop-pci.c:164: warning:
format '%08x' expects type 'unsigned int', but argument 4 has type 'dma_addr_t'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/dvb/b2c2/flexcop-pci.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb/b2c2/flexcop-pci.c b/drivers/media/dvb/b2c2/flexcop-pci.c
index 2f76eb3..9bc40bd 100644
--- a/drivers/media/dvb/b2c2/flexcop-pci.c
+++ b/drivers/media/dvb/b2c2/flexcop-pci.c
@@ -161,8 +161,10 @@ static irqreturn_t flexcop_pci_isr(int i
 			fc->read_ibi_reg(fc,dma1_008).dma_0x8.dma_cur_addr << 2;
 		u32 cur_pos = cur_addr - fc_pci->dma[0].dma_addr0;
 
-		deb_irq("%u irq: %08x cur_addr: %08x: cur_pos: %08x, last_cur_pos: %08x ",
-				jiffies_to_usecs(jiffies - fc_pci->last_irq),v.raw,cur_addr,cur_pos,fc_pci->last_dma1_cur_pos);
+		deb_irq("%u irq: %08x cur_addr: %llx: cur_pos: %08x, last_cur_pos: %08x ",
+				jiffies_to_usecs(jiffies - fc_pci->last_irq),
+				v.raw, (unsigned long long)cur_addr, cur_pos,
+				fc_pci->last_dma1_cur_pos);
 		fc_pci->last_irq = jiffies;
 
 		/* buffer end was reached, restarted from the beginning


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH 14/16] fixed spelling error, exectuted --> executed.
  2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
                   ` (10 preceding siblings ...)
  2006-01-23 20:24 ` [PATCH 11/16] Cause tda9887 to use I2C_DRIVERID_TDA9887 mchehab
@ 2006-01-23 20:24 ` mchehab
  2006-01-23 20:24 ` [PATCH 13/16] Missing break statement on tuner-core mchehab
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 22+ messages in thread
From: mchehab @ 2006-01-23 20:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-dvb-maintainer, video4linux-list, akpm, Michael Krufky,
	Mauro Carvalho Chehab

From: Michael Krufky <mkrufky@m1k.net>

- fixed spelling error, exectuted --> executed.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
---

 drivers/media/video/em28xx/em28xx-core.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c
index dff3893..82f0c5f 100644
--- a/drivers/media/video/em28xx/em28xx-core.c
+++ b/drivers/media/video/em28xx/em28xx-core.c
@@ -253,7 +253,7 @@ int em28xx_write_ac97(struct em28xx *dev
 	if ((ret = em28xx_read_reg(dev, AC97BUSY_REG)) < 0)
 		return ret;
 	else if (((u8) ret) & 0x01) {
-		em28xx_warn ("AC97 command still being exectuted: not handled properly!\n");
+		em28xx_warn ("AC97 command still being executed: not handled properly!\n");
 	}
 	return 0;
 }


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option.
  2006-01-23 20:24 ` [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option mchehab
@ 2006-01-23 22:16   ` Adrian Bunk
  2006-01-23 23:06     ` Mike Krufky
  0 siblings, 1 reply; 22+ messages in thread
From: Adrian Bunk @ 2006-01-23 22:16 UTC (permalink / raw)
  To: mchehab
  Cc: linux-kernel, linux-dvb-maintainer, video4linux-list, akpm,
	Michael Krufky

On Mon, Jan 23, 2006 at 06:24:44PM -0200, mchehab@infradead.org wrote:
> From: Michael Krufky <mkrufky@m1k.net>
> 
> - make VP-3054 Secondary I2C Bus Support a Kconfig option.
> 
> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
> ---
> 
>  drivers/media/video/cx88/Kconfig  |   11 +++++++++++
>  drivers/media/video/cx88/Makefile |    2 +-
>  2 files changed, 12 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig
> index fdf45f7..e99dfbb 100644
> --- a/drivers/media/video/cx88/Kconfig
> +++ b/drivers/media/video/cx88/Kconfig
> @@ -49,6 +49,7 @@ config VIDEO_CX88_DVB_ALL_FRONTENDS
>  	default y
>  	depends on VIDEO_CX88_DVB
>  	select DVB_MT352
> +	select VIDEO_CX88_VP3054
>  	select DVB_OR51132
>  	select DVB_CX22702
>  	select DVB_LGDT330X
> @@ -70,6 +71,16 @@ config VIDEO_CX88_DVB_MT352
>  	  This adds DVB-T support for cards based on the
>  	  Connexant 2388x chip and the MT352 demodulator.
>  
> +config VIDEO_CX88_VP3054
> +	tristate "VP-3054 Secondary I2C Bus Support"
> +	default m
>...

This option should be a bool since "m" doesn't make much sense (it's 
anyways interpreted the same as "y").

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option.
  2006-01-23 22:16   ` Adrian Bunk
@ 2006-01-23 23:06     ` Mike Krufky
  2006-01-24  0:12       ` Adrian Bunk
  0 siblings, 1 reply; 22+ messages in thread
From: Mike Krufky @ 2006-01-23 23:06 UTC (permalink / raw)
  To: Linux and Kernel Video
  Cc: mchehab, linux-dvb-maintainer, akpm, linux-kernel, Michael Krufky

Adrian Bunk wrote:

>On Mon, Jan 23, 2006 at 06:24:44PM -0200, mchehab@infradead.org wrote:
>  
>
>>From: Michael Krufky <mkrufky@m1k.net>
>>
>>- make VP-3054 Secondary I2C Bus Support a Kconfig option.
>>
>>Signed-off-by: Michael Krufky <mkrufky@m1k.net>
>>Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
>>---
>>
>> drivers/media/video/cx88/Kconfig  |   11 +++++++++++
>> drivers/media/video/cx88/Makefile |    2 +-
>> 2 files changed, 12 insertions(+), 1 deletions(-)
>>
>>diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig
>>index fdf45f7..e99dfbb 100644
>>--- a/drivers/media/video/cx88/Kconfig
>>+++ b/drivers/media/video/cx88/Kconfig
>>@@ -49,6 +49,7 @@ config VIDEO_CX88_DVB_ALL_FRONTENDS
>> 	default y
>> 	depends on VIDEO_CX88_DVB
>> 	select DVB_MT352
>>+	select VIDEO_CX88_VP3054
>> 	select DVB_OR51132
>> 	select DVB_CX22702
>> 	select DVB_LGDT330X
>>@@ -70,6 +71,16 @@ config VIDEO_CX88_DVB_MT352
>> 	  This adds DVB-T support for cards based on the
>> 	  Connexant 2388x chip and the MT352 demodulator.
>> 
>>+config VIDEO_CX88_VP3054
>>+	tristate "VP-3054 Secondary I2C Bus Support"
>>+	default m
>>...
>>    
>>
>This option should be a bool since "m" doesn't make much sense (it's 
>anyways interpreted the same as "y").
>  
>
Adrian,

You have a point - it is a boolean choice yes/no, about whether or not 
to compile support for this module, ... but it is in fact a module, and 
when M is chosen, cx88-vp3054-i2c.ko will build as a module.  When Y is 
chosen, it will be built in-kernel, just as all other tri-states..... 
The difference is that this module depends on DVB_MT352 ... if DVB_MT352 
is M, then this should be M/N ... if  VIDEO_CX88_DVB is Y, then this 
should be Y/N...

This particular menu item is NOT the same as the other submenu items of 
the VIDEO_CX88_DVB_FRONTEND_FOO

This may be why you thought this should be changed to a boolean, but it 
really should remain as a tristate....  Thank you though.

:-)

Regards,

-- 
Michael Krufky



^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option.
  2006-01-23 23:06     ` Mike Krufky
@ 2006-01-24  0:12       ` Adrian Bunk
  2006-01-24  2:55         ` [PATCH|BUG-FIX] V4L/DVB: allow tristate build for cx88-vp3054-i2c Michael Krufky
  0 siblings, 1 reply; 22+ messages in thread
From: Adrian Bunk @ 2006-01-24  0:12 UTC (permalink / raw)
  To: Mike Krufky
  Cc: Linux and Kernel Video, mchehab, linux-dvb-maintainer, akpm,
	linux-kernel, Michael Krufky

On Mon, Jan 23, 2006 at 06:06:28PM -0500, Mike Krufky wrote:
> Adrian Bunk wrote:
> 
> >On Mon, Jan 23, 2006 at 06:24:44PM -0200, mchehab@infradead.org wrote:
> >...
> >>@@ -70,6 +71,16 @@ config VIDEO_CX88_DVB_MT352
> >>	  This adds DVB-T support for cards based on the
> >>	  Connexant 2388x chip and the MT352 demodulator.
> >>
> >>+config VIDEO_CX88_VP3054
> >>+	tristate "VP-3054 Secondary I2C Bus Support"
> >>+	default m
> >>...
> >>   
> >>
> >This option should be a bool since "m" doesn't make much sense (it's 
> >anyways interpreted the same as "y").
> > 
> >
> Adrian,
> 
> You have a point - it is a boolean choice yes/no, about whether or not 
> to compile support for this module, ... but it is in fact a module, and 
> when M is chosen, cx88-vp3054-i2c.ko will build as a module.  When Y is 

I don't see this in your patches.

All your patches do is to define -DHAVE_VP3054_I2C=1 depending on 
CONFIG_VIDEO_CX88_VP3054.

> chosen, it will be built in-kernel, just as all other tri-states..... 
> The difference is that this module depends on DVB_MT352 ... if DVB_MT352 
> is M, then this should be M/N ... if  VIDEO_CX88_DVB is Y, then this 
> should be Y/N...
>...


If VIDEO_CX88_DVB (and modules support enabled in the kernel) this 
will be Y/M/N...


A more general question:
Why are you using the indirection through the defines in the Makefile?
You could diectly use the (boolean) CONFIG_* options in the drivers.


> :-)
> 
> Regards,
> Michael Krufky

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH|BUG-FIX] V4L/DVB: allow tristate build for cx88-vp3054-i2c
  2006-01-24  0:12       ` Adrian Bunk
@ 2006-01-24  2:55         ` Michael Krufky
  2006-01-26  6:51           ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 22+ messages in thread
From: Michael Krufky @ 2006-01-24  2:55 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Linux and Kernel Video, mchehab, linux-dvb-maintainer, akpm,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1281 bytes --]

Adrian Bunk wrote:

>On Mon, Jan 23, 2006 at 06:06:28PM -0500, Mike Krufky wrote:
>  
>
>>Adrian Bunk wrote:
>>
>>>On Mon, Jan 23, 2006 at 06:24:44PM -0200, mchehab@infradead.org wrote:
>>>
>>>>@@ -70,6 +71,16 @@ config VIDEO_CX88_DVB_MT352
>>>>	  This adds DVB-T support for cards based on the
>>>>	  Connexant 2388x chip and the MT352 demodulator.
>>>>
>>>>+config VIDEO_CX88_VP3054
>>>>+	tristate "VP-3054 Secondary I2C Bus Support"
>>>>+	default m
>>>>
>>>This option should be a bool since "m" doesn't make much sense (it's 
>>>anyways interpreted the same as "y").
>>>
>>You have a point - it is a boolean choice yes/no, about whether or not 
>>to compile support for this module, ... but it is in fact a module, and 
>>when M is chosen, cx88-vp3054-i2c.ko will build as a module.  When Y is
>>chosen, it will be built in-kernel.
>>    
>>
>I don't see this in your patches.
>
>All your patches do is to define -DHAVE_VP3054_I2C=1 depending on 
>CONFIG_VIDEO_CX88_VP3054.
>
Oops!  I made a mistake, but not the one you thought.  The attached 
patch fixes it.

Mauro, I just applied this to CVS, please apply on v4l-dvb.git

[PATCH] V4L/DVB: allow tristate build for cx88-vp3054-i2c

- allow tristate build for cx88-vp3054-i2c

Signed-off-by: Michael Krufky <mkrufky@m1k.net>

[-- Attachment #2: cx88-vp3054-i2c-kconfig-fix.patch --]
[-- Type: text/plain, Size: 840 bytes --]

Index: linux/drivers/media/video/cx88/Makefile
===================================================================
RCS file: /cvs/video4linux/v4l-dvb/linux/drivers/media/video/cx88/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- linux/drivers/media/video/cx88/Makefile	21 Jan 2006 17:52:32 -0000	1.8
+++ linux/drivers/media/video/cx88/Makefile	24 Jan 2006 02:41:07 -0000
@@ -4,8 +4,9 @@ cx8800-objs	:= cx88-video.o cx88-vbi.o
 cx8802-objs	:= cx88-mpeg.o
 
 obj-$(CONFIG_VIDEO_CX88) += cx88xx.o cx8800.o cx8802.o cx88-blackbird.o
-obj-$(CONFIG_VIDEO_CX88_DVB) += cx88-dvb.o cx88-vp3054-i2c.o
+obj-$(CONFIG_VIDEO_CX88_DVB) += cx88-dvb.o
 obj-$(CONFIG_VIDEO_CX88_ALSA) += cx88-alsa.o
+obj-$(CONFIG_VIDEO_CX88_VP3054) += cx88-vp3054-i2c.o
 
 EXTRA_CFLAGS += -I$(src)/..
 EXTRA_CFLAGS += -I$(srctree)/drivers/media/dvb/dvb-core

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH 06/16] Mark Typhoon cards as Lifeview OEM's
       [not found]     ` <200601242159.24747.peter.missel@onlinehome.de>
@ 2006-01-25 11:15       ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 22+ messages in thread
From: Mauro Carvalho Chehab @ 2006-01-25 11:15 UTC (permalink / raw)
  To: Peter Missel
  Cc: Nickolay V. Shmyrev, video4linux-list, Ricardo Cerqueira, LKML,
	Andrew Morton

Peter,

	This patch stayed for some time at CVS, the way it was commited to
-git. The changes did by nshm are trivial and generally we fold this
kind of change with the original patch, since:
	1) it is trivial;
	2) doesn't change technically;
	3) helps to keep Linux logs cleaner;
	4) it is susbystem maintainers task to make sure that patches are
correct and follows v4l and Linux CodingStyle.
	I think  the subject could be better. In fact, this patch subject
should be to add other Lifeview OEM PCI IDs. To use current naming
convention is a consequence of the patch.

Em Ter, 2006-01-24 às 21:59 +0100, Peter Missel escreveu:
> Hi Nickolay!
> 
> > 1. User should be able to find if his card is supported (no matter OEM
> > it or not) by searching his card name in CARDLIST
> 
> From my example, you should have a taster of where that would take us with the 
> popular OEM cards like LifeView's.
> You wouldn't believe just how many "brand" cards are actually made by them. 
> How many "brands" of LR50 cards does the BT878 driver record?
	We need to have just one convention. All patches should bound the
convention whatever it is. Of course, we can discuss the better
convention for board names at v4l mailing list, but, once defined, we
won't accept (or we should fix) newer patches that will not follow it.
> 
> > 2. We haven't invented better way to mark OEM cards yet.
> 
> I have made a suggestion on how to solve the naming problem - put the names 
> where they logically belong, into the PCI ID structure, not the card data 
> structure. That way, we get a 1:1 relation between each card incarnation 
> (original or OEM) and its name.
	This doesn't solve. There are several boards that don't have its own
PCI ID (They shares the original OEM vendor ID or chipset vendor ID).
Also, CARDLIST.foo are generated based on .name field at cards struct.
> 
> > But I understand your point, we can just remove that patch for now if
> > you are really against this change.
> 
> We need the patch I made because it solves an actual technical problem, and 
> I'd prefer to see it included the way I made it. Thank you.
	We have two options:

	1) Revert the patch from -git and start a discussion at V4L mailing
list about name convention. After archieving an agreement with this, you
can resubmit the patch, with the decided name;

	2) Keep this patch as is and start that discussion. After we archieve
an agreement, you can submit a patch just renaming it.

	As you said this patch solves a problem, I would prefer (2).
> 
> regards,
> Peter
Cheers, 
Mauro.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH|BUG-FIX] V4L/DVB: allow tristate build for cx88-vp3054-i2c
  2006-01-24  2:55         ` [PATCH|BUG-FIX] V4L/DVB: allow tristate build for cx88-vp3054-i2c Michael Krufky
@ 2006-01-26  6:51           ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 22+ messages in thread
From: Mauro Carvalho Chehab @ 2006-01-26  6:51 UTC (permalink / raw)
  To: Michael Krufky
  Cc: Adrian Bunk, Linux and Kernel Video, linux-dvb-maintainer, akpm,
	linux-kernel

Em Seg, 2006-01-23 às 21:55 -0500, Michael Krufky escreveu:
> Adrian Bunk wrote:

> Mauro, I just applied this to CVS, please apply on v4l-dvb.git
	Applied, thanks.

Cheers, 
Mauro.


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2006-01-26  6:52 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-23 20:24 [PATCH 00/16] V4L/DVB updates mchehab
2006-01-23 20:24 ` [PATCH 01/16] Added credits for em28xx-video.c mchehab
2006-01-23 20:24 ` [PATCH 03/16] Add probe check for the tda9840 mchehab
2006-01-23 20:24 ` [PATCH 04/16] VIDEO_CX88_ALSA must select SND_PCM mchehab
2006-01-23 20:24 ` [PATCH 02/16] Add PCI ID for DigitalNow DVB-T Dual, rebranded DViCO FusionHDTV DVB-T Dual mchehab
2006-01-23 20:24 ` [PATCH 09/16] Recognise Hauppauge card #34519 mchehab
2006-01-23 20:24 ` [PATCH 07/16] Kill nxt2002 in favor of the nxt200x module mchehab
2006-01-23 20:24 ` [PATCH 08/16] rename dvb_pll_tbmv30111in to dvb_pll_samsung_tbmv mchehab
2006-01-23 20:24 ` [PATCH 05/16] Fixes tvp5150a/am1 detection mchehab
2006-01-23 20:24 ` [PATCH 10/16] make VP-3054 Secondary I2C Bus Support a Kconfig option mchehab
2006-01-23 22:16   ` Adrian Bunk
2006-01-23 23:06     ` Mike Krufky
2006-01-24  0:12       ` Adrian Bunk
2006-01-24  2:55         ` [PATCH|BUG-FIX] V4L/DVB: allow tristate build for cx88-vp3054-i2c Michael Krufky
2006-01-26  6:51           ` Mauro Carvalho Chehab
2006-01-23 20:24 ` [PATCH 12/16] drivers/media/dvb/ possible cleanups mchehab
2006-01-23 20:24 ` [PATCH 11/16] Cause tda9887 to use I2C_DRIVERID_TDA9887 mchehab
2006-01-23 20:24 ` [PATCH 14/16] fixed spelling error, exectuted --> executed mchehab
2006-01-23 20:24 ` [PATCH 13/16] Missing break statement on tuner-core mchehab
2006-01-23 20:24 ` [PATCH 16/16] changed comment in tuner-core.c mchehab
2006-01-23 20:24 ` [PATCH 15/16] Fix printk type warning mchehab
     [not found] ` <200601232155.44036.peter.missel@onlinehome.de>
     [not found]   ` <1138135687.16005.6.camel@localhost.localdomain>
     [not found]     ` <200601242159.24747.peter.missel@onlinehome.de>
2006-01-25 11:15       ` [PATCH 06/16] Mark Typhoon cards as Lifeview OEM's Mauro Carvalho Chehab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).