The patch number 9755 was added via Mauro Carvalho Chehab <[EMAIL PROTECTED]>
to http://linuxtv.org/hg/v4l-dvb master development tree.
Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel
If anyone has any objections, please let us know by sending a message to:
[EMAIL PROTECTED]
------
From: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
em28xx: cleanup: We need just one tuner callback
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
linux/drivers/media/video/em28xx/em28xx-cards.c | 29 +++-------------
linux/drivers/media/video/em28xx/em28xx.h | 2 -
2 files changed, 8 insertions(+), 23 deletions(-)
diff -r ce1e93e4e1c8 -r 8aabdabb517c
linux/drivers/media/video/em28xx/em28xx-cards.c
--- a/linux/drivers/media/video/em28xx/em28xx-cards.c Tue Nov 25 11:06:21
2008 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx-cards.c Tue Nov 25 14:10:14
2008 -0200
@@ -1211,15 +1211,6 @@ static struct em28xx_reg_seq default_cal
{ -1, -1, -1, -1},
};
-/* Callback for EM2882 TERRATEC HYBRID XS */
-static struct em28xx_reg_seq em2882_terratec_hybrid_xs_digital[] = {
- {EM28XX_R08_GPIO, 0x2e, 0xff, 6},
- {EM28XX_R08_GPIO, 0x3e, ~EM_GPIO_4, 6},
- {EM2880_R04_GPO, 0x04, 0xff, 10},
- {EM2880_R04_GPO, 0x0c, 0xff, 10},
- { -1, -1, -1, -1},
-};
-
/* Pinnacle PCTV HD Mini (80e) GPIOs
0-5: not used
6: demod reset, active low
@@ -1258,10 +1249,7 @@ int em28xx_tuner_callback(void *ptr, int
if (command != XC2028_TUNER_RESET)
return 0;
- if (dev->mode == EM28XX_ANALOG_MODE)
- rc = em28xx_gpio_set(dev, dev->tun_analog_gpio);
- else
- rc = em28xx_gpio_set(dev, dev->tun_digital_gpio);
+ rc = em28xx_gpio_set(dev, dev->tuner_gpio);
return rc;
}
@@ -1355,16 +1343,12 @@ void em28xx_pre_card_setup(struct em28xx
/* Sets GPO/GPIO sequences for this device */
dev->analog_gpio = hauppauge_wintv_hvr_900_analog;
dev->digital_gpio = hauppauge_wintv_hvr_900_digital;
- dev->tun_analog_gpio = default_callback;
- dev->tun_digital_gpio = default_callback;
break;
case EM2882_BOARD_TERRATEC_HYBRID_XS:
/* Sets GPO/GPIO sequences for this device */
dev->analog_gpio = hauppauge_wintv_hvr_900_analog;
dev->digital_gpio = hauppauge_wintv_hvr_900_digital;
- dev->tun_analog_gpio = default_callback;
- dev->tun_digital_gpio = em2882_terratec_hybrid_xs_digital;
break;
case EM2880_BOARD_TERRATEC_HYBRID_XS_FR:
@@ -1381,8 +1365,6 @@ void em28xx_pre_card_setup(struct em28xx
/* Sets GPO/GPIO sequences for this device */
dev->analog_gpio = default_analog;
dev->digital_gpio = default_digital;
- dev->tun_analog_gpio = default_callback;
- dev->tun_digital_gpio = default_callback;
break;
case EM2880_BOARD_MSI_DIGIVOX_AD:
@@ -1390,8 +1372,6 @@ void em28xx_pre_card_setup(struct em28xx
/* Sets GPO/GPIO sequences for this device */
dev->analog_gpio = em2880_msi_digivox_ad_analog;
dev->digital_gpio = em2880_msi_digivox_ad_digital;
- dev->tun_analog_gpio = default_callback;
- dev->tun_digital_gpio = default_callback;
break;
case EM2861_BOARD_PLEXTOR_PX_TV100U:
@@ -1463,7 +1443,11 @@ void em28xx_pre_card_setup(struct em28xx
break;
}
- em28xx_gpio_set(dev, dev->tun_analog_gpio);
+ /* Sets the default callback. Used only for certain tuners */
+ if (!dev->tuner_gpio)
+ dev->tuner_gpio = default_callback;
+
+ em28xx_gpio_set(dev, dev->tuner_gpio);
em28xx_set_mode(dev, EM28XX_ANALOG_MODE);
/* Unlock device */
@@ -1757,3 +1741,4 @@ void em28xx_card_setup(struct em28xx *de
em28xx_ir_init(dev);
}
+
diff -r ce1e93e4e1c8 -r 8aabdabb517c linux/drivers/media/video/em28xx/em28xx.h
--- a/linux/drivers/media/video/em28xx/em28xx.h Tue Nov 25 11:06:21 2008 -0200
+++ b/linux/drivers/media/video/em28xx/em28xx.h Tue Nov 25 14:10:14 2008 -0200
@@ -441,7 +441,7 @@ struct em28xx {
struct em28xx_reg_seq *analog_gpio, *digital_gpio;
/* GPIO sequences for tuner callbacks */
- struct em28xx_reg_seq *tun_analog_gpio, *tun_digital_gpio;
+ struct em28xx_reg_seq *tuner_gpio;
struct list_head devlist;
---
Patch is available at:
http://linuxtv.org/hg/v4l-dvb/rev/8aabdabb517ca42ba542bd8c4ff27664e82fb3d9
_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits