From 9293ae2ae1a0de7312fc28fb3b77727d50248592 Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Wed, 12 Nov 2008 05:04:57 +0000
Subject: Add a EM28XX_NODECODER option to the list of available decoders

From: Devin Heitmueller <devin.heitmueller@gmail.com>

Add a EM28XX_NODECODER option to the list of available decoders


Add a EM28XX_NODECODER option to the list of available decoders.  This option
becomes important for devices that do not have analog support.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 linux/drivers/media/video/em28xx/em28xx.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'linux/drivers/media/video/em28xx/em28xx.h')

diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h
index d73b8c983..ce18c4e2b 100644
--- a/linux/drivers/media/video/em28xx/em28xx.h
+++ b/linux/drivers/media/video/em28xx/em28xx.h
@@ -269,6 +269,7 @@ struct em28xx_input {
 #define INPUT(nr) (&em28xx_boards[dev->model].input[nr])
 
 enum em28xx_decoder {
+	EM28XX_NODECODER,
 	EM28XX_TVP5150,
 	EM28XX_SAA7113,
 	EM28XX_SAA7114
-- 
cgit v1.2.3


From 5ac5a13ff2fd49780ebe8662765833c58a4bf669 Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Wed, 12 Nov 2008 05:05:02 +0000
Subject: Remember chip id of devices at initialization

From: Devin Heitmueller <devin.heitmueller@gmail.com>

Remember chip id of devices at initialization


When setting up the device, remember the chip id, so we can control behavior
in the future without having to read the register continuously.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 linux/drivers/media/video/em28xx/em28xx.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'linux/drivers/media/video/em28xx/em28xx.h')

diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h
index ce18c4e2b..5c1bdb295 100644
--- a/linux/drivers/media/video/em28xx/em28xx.h
+++ b/linux/drivers/media/video/em28xx/em28xx.h
@@ -376,6 +376,7 @@ struct em28xx {
 	char name[30];		/* name (including minor) of the device */
 	int model;		/* index in the device_data struct */
 	int devno;		/* marks the number of this device */
+	enum em28xx_chip_id chip_id;
 	unsigned int is_em2800:1;
 	unsigned int has_msp34xx:1;
 	unsigned int has_tda9887:1;
-- 
cgit v1.2.3


From 94a01f9a0f103d0960f2c005ed6c995982489054 Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Wed, 12 Nov 2008 05:05:06 +0000
Subject: Support different GPIO/GPO registers for newer devices

From: Devin Heitmueller <devin.heitmueller@gmail.com>

Support different GPIO/GPO registers for newer devices


Empia moved the location of the GPIO/GPO registers in newer devices.  Add the
ability to specify the relocated registers (including caching of register
contents).

Thanks for Ray Lu from Empia for providing the em2874 datasheet.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 linux/drivers/media/video/em28xx/em28xx.h | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'linux/drivers/media/video/em28xx/em28xx.h')

diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h
index 5c1bdb295..d752d9cac 100644
--- a/linux/drivers/media/video/em28xx/em28xx.h
+++ b/linux/drivers/media/video/em28xx/em28xx.h
@@ -474,6 +474,9 @@ struct em28xx {
 
 	enum em28xx_mode mode;
 
+	/* register numbers for GPO/GPIO registers */
+	u16 reg_gpo_num, reg_gpio_num;
+
 	/* Caches GPO and GPIO registers */
 	unsigned char	reg_gpo, reg_gpio;
 
-- 
cgit v1.2.3


From b4d980248bc67a682e8762f9471a3966503d0a42 Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Wed, 12 Nov 2008 05:05:19 +0000
Subject: Don't load em28xx audio module for digital-only devices

From: Devin Heitmueller <devin.heitmueller@gmail.com>

Don't load em28xx audio module for digital-only devices


Rework the logic so that the em28xx-alsa module does not get loaded for devices
that don't support analog audio (such as the em2874)

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 linux/drivers/media/video/em28xx/em28xx.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'linux/drivers/media/video/em28xx/em28xx.h')

diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h
index d752d9cac..12507422f 100644
--- a/linux/drivers/media/video/em28xx/em28xx.h
+++ b/linux/drivers/media/video/em28xx/em28xx.h
@@ -382,6 +382,7 @@ struct em28xx {
 	unsigned int has_tda9887:1;
 	unsigned int stream_on:1;	/* Locks streams */
 	unsigned int has_audio_class:1;
+	unsigned int has_alsa_audio:1;
 	unsigned int has_12mhz_i2s:1;
 	unsigned int max_range_640_480:1;
 	unsigned int has_dvb:1;
-- 
cgit v1.2.3


From 3fd0630b68e2110e8c61c0915242ba20231d4641 Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Date: Wed, 12 Nov 2008 05:05:28 +0000
Subject: Add registration for Pinnacle 80e ATSC tuner

From: Devin Heitmueller <devin.heitmueller@gmail.com>

Add registration for Pinnacle 80e ATSC tuner


Register the em2874 based Pinnacle 80e device.  Note that support for this
device also requires the new drx-j driver (which is not available yet)

Thanks for Ray Lu from Empia for providing the em2874 datasheet.
Thanks to Joerg Schindler from Pinnacle for providing sample hardware.
Thanks to Rainer Miethling from Pinnacle for providing engineering support.

Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 linux/drivers/media/video/em28xx/em28xx.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'linux/drivers/media/video/em28xx/em28xx.h')

diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h
index 12507422f..aa1588c22 100644
--- a/linux/drivers/media/video/em28xx/em28xx.h
+++ b/linux/drivers/media/video/em28xx/em28xx.h
@@ -98,6 +98,7 @@
 #define EM2882_BOARD_PINNACLE_HYBRID_PRO	  56
 #define EM2883_BOARD_KWORLD_HYBRID_A316		  57
 #define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU	  58
+#define EM2874_BOARD_PINNACLE_PCTV_80E		  59
 
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4
-- 
cgit v1.2.3