rendered paste bodydiff -Naur saa7134/Makefile saa7134.2/Makefile
--- saa7134/Makefile 2007-07-09 01:32:17.000000000 +0200
+++ saa7134.2/Makefile 2007-07-21 16:51:58.000000000 +0200
@@ -9,7 +9,7 @@
obj-$(CONFIG_VIDEO_SAA7134_ALSA) += saa7134-alsa.o
obj-$(CONFIG_VIDEO_SAA7134_OSS) += saa7134-oss.o
-obj-$(CONFIG_VIDEO_SAA7134_DVB) += saa7134-dvb.o
+#obj-$(CONFIG_VIDEO_SAA7134_DVB) += saa7134-dvb.o
EXTRA_CFLAGS += -Idrivers/media/video
EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core
diff -Naur saa7134/saa7134-cards.c saa7134.2/saa7134-cards.c
--- saa7134/saa7134-cards.c 2007-07-09 01:32:17.000000000 +0200
+++ saa7134.2/saa7134-cards.c 2007-07-21 16:51:58.000000000 +0200
@@ -3502,6 +3502,39 @@
.amux = TV,
},
},
+ [SAA7134_BOARD_AVERMEDIA_CARDBUS_PLUS] = {
+ /* hayova@gmail.com */
+ .name = "AVerMedia Cardbus Plus",
+ .audio_clock = 0x187de7,
+ .tuner_type = TUNER_ALPS_TSBE5_PAL,
+ .radio_type = TUNER_TEA5767,
+ .tuner_addr = 0x61,
+ .radio_addr = 0x60,
+ .tda9887_conf = TDA9887_PRESENT,
+ .gpiomask = 0x0C400003,
+ .inputs = {{
+ .name = name_tv,
+ .vmux = 1,
+ .amux = TV,
+ .tv = 1,
+ .gpio = 0x0C400001,
+ },{
+ .name = name_comp1,
+ .vmux = 3,
+ .amux = LINE1,
+ .gpio = 0x0C400002,
+ },{
+ .name = name_svideo,
+ .vmux = 6,
+ .amux = LINE1,
+ .gpio = 0x0C400002,
+ }},
+ .radio = {
+ .name = name_radio,
+ .amux = LINE2,
+ .gpio = 0x04400001,
+ },
+ },
};
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -4257,6 +4290,13 @@
.subdevice = PCI_ANY_ID,
.driver_data = SAA7134_BOARD_UNKNOWN,
},{
+ /* AVerMedia CardBus Plus */
+ .vendor = PCI_VENDOR_ID_PHILIPS,
+ .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
+ .subvendor = 0x1461, /* Avermedia Technologies Inc */
+ .subdevice = 0xb7e9,
+ .driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS_PLUS,
+ },{
/* --- end of list --- */
}
};
@@ -4404,6 +4444,13 @@
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x8c040007, 0x8c040007);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
break;
+ case SAA7134_BOARD_AVERMEDIA_CARDBUS_PLUS:
+ /* power-up tuner chip */
+ saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x0C440003, 0x0C440003);
+ saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0C400000, 0x0C400000);
+ dev->has_remote = SAA7134_REMOTE_GPIO;
+ msleep(1);
+ break;
}
return 0;
}
diff -Naur saa7134/saa7134.h saa7134.2/saa7134.h
--- saa7134/saa7134.h 2007-07-09 01:32:17.000000000 +0200
+++ saa7134.2/saa7134.h 2007-07-21 16:52:52.000000000 +0200
@@ -42,7 +42,7 @@
#include <sound/core.h>
#include <sound/pcm.h>
#if defined(CONFIG_VIDEO_BUF_DVB) || defined(CONFIG_VIDEO_BUF_DVB_MODULE)
-#include <media/video-buf-dvb.h>
+//#include <media/video-buf-dvb.h>
#endif
#define UNSET (-1U)
@@ -238,6 +238,7 @@
#define SAA7134_BOARD_ECS_TVP3XP_4CB6 113
#define SAA7134_BOARD_KWORLD_DVBT_210 114
#define SAA7134_BOARD_SABRENT_TV_PCB05 115
+#define SAA7134_BOARD_AVERMEDIA_CARDBUS_PLUS 116
#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
@@ -540,8 +541,8 @@
#if defined(CONFIG_VIDEO_BUF_DVB) || defined(CONFIG_VIDEO_BUF_DVB_MODULE)
/* SAA7134_MPEG_DVB only */
- struct videobuf_dvb dvb;
- int (*original_demod_sleep)(struct dvb_frontend* fe);
+// struct videobuf_dvb dvb;
+// int (*original_demod_sleep)(struct dvb_frontend* fe);
#endif
};
diff -Naur saa7134/saa7134-input.c saa7134.2/saa7134-input.c
--- saa7134/saa7134-input.c 2007-07-09 01:32:17.000000000 +0200
+++ saa7134.2/saa7134-input.c 2007-07-21 16:51:58.000000000 +0200
@@ -333,6 +333,15 @@
mask_keyup = 0x040000;
polling = 50; // ms
break;
+ case SAA7134_BOARD_AVERMEDIA_CARDBUS_PLUS:
+ ir_codes = ir_codes_gotview7135;
+ mask_keycode = 0x0007C8;
+ mask_keydown = 0x000010;
+ polling = 50; // ms
+ /* Set GPIO pin2 to high to enable the IR controller */
+ saa_setb(SAA7134_GPIO_GPMODE0, 0x4);
+ saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4);
+ break;
}
if (NULL == ir_codes) {
printk("%s: Oops: IR config error [card=%d]\n",