summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Dibb <beandog@gentoo.org>2008-08-20 04:57:02 +0000
committerSteve Dibb <beandog@gentoo.org>2008-08-20 04:57:02 +0000
commitaab477aa491d4fb711176e005d1d1149f1eea177 (patch)
treefdb8e180e342759fe67e0a2d267f23dc2ac22638 /media-tv/wis-go7007
parentFixed ChangeLog typo (Bug number) (diff)
downloadhistorical-aab477aa491d4fb711176e005d1d1149f1eea177.tar.gz
historical-aab477aa491d4fb711176e005d1d1149f1eea177.tar.bz2
historical-aab477aa491d4fb711176e005d1d1149f1eea177.zip
Revision bump with new patches from bender647 to work with 2.6.26
Package-Manager: portage-2.2_rc8/cvs/Linux 2.6.26-tuxonice x86_64
Diffstat (limited to 'media-tv/wis-go7007')
-rw-r--r--media-tv/wis-go7007/ChangeLog12
-rw-r--r--media-tv/wis-go7007/Manifest7
-rw-r--r--media-tv/wis-go7007/files/wis-go7007-2.6.21-typdefs.diff20
-rw-r--r--media-tv/wis-go7007/files/wis-go7007-2.6.24-no_algo_control.diff54
-rw-r--r--media-tv/wis-go7007/files/wis-go7007-2.6.26-nopage.diff26
-rw-r--r--media-tv/wis-go7007/files/wis-go7007-updates.diff242
-rw-r--r--media-tv/wis-go7007/wis-go7007-0.9.8-r3.ebuild107
7 files changed, 465 insertions, 3 deletions
diff --git a/media-tv/wis-go7007/ChangeLog b/media-tv/wis-go7007/ChangeLog
index 8bca2e801532..dab4292b48ac 100644
--- a/media-tv/wis-go7007/ChangeLog
+++ b/media-tv/wis-go7007/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-tv/wis-go7007
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/wis-go7007/ChangeLog,v 1.5 2007/07/17 01:11:12 beandog Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/wis-go7007/ChangeLog,v 1.6 2008/08/20 04:57:01 beandog Exp $
+
+*wis-go7007-0.9.8-r3 (20 Aug 2008)
+
+ 20 Aug 2008; Steve Dibb <beandog@gentoo.org>
+ +files/wis-go7007-updates.diff, +files/wis-go7007-2.6.21-typdefs.diff,
+ +files/wis-go7007-2.6.24-no_algo_control.diff,
+ +files/wis-go7007-2.6.26-nopage.diff, +wis-go7007-0.9.8-r3.ebuild:
+ Revision bump with new patches from bender647 to work with 2.6.26
*wis-go7007-0.9.8-r2 (17 Jul 2007)
diff --git a/media-tv/wis-go7007/Manifest b/media-tv/wis-go7007/Manifest
index 036c925eeee1..86399287e192 100644
--- a/media-tv/wis-go7007/Manifest
+++ b/media-tv/wis-go7007/Manifest
@@ -1,9 +1,14 @@
AUX snd.patch 4014 RMD160 d8a07e4dd95d8b6ee744a96e17160f291fb6ba45 SHA1 92372edf1035476ebf1b3bba1fe684838ff02780 SHA256 caca819fb8b2f495150bcd3ae6765c4cb1320cec5c0d7dce74e15f1368f8cd28
AUX wis-go7007-0.9.8-fix-udev.diff 1467 RMD160 5e9790c33a64c8cb6dd3233e2d6f4544cfe3c690 SHA1 d8c9e26b61ae1a82f0f3fe6aa3f31fab4bd8ddab SHA256 81836ab84f092e60004ed69cf1094e8b016cda1f64814a87d3bfc07716a305a5
AUX wis-go7007-0.9.8-kernel-2.6.17.diff 7039 RMD160 c8497f43dc2345959dc25dead0f08a486f7779f9 SHA1 351a1446f4e214de967d4ee1040c6205582c8564 SHA256 cf1785c4525d9764a5a022b6e61b54ac0ba03031bdcdbba15f853627d05b3f32
+AUX wis-go7007-2.6.21-typdefs.diff 869 RMD160 98aa69bb74120ddb02713219f067378c548fc918 SHA1 af3ffd2862df6c8eca0b334b5eb315c3952ab2a3 SHA256 b49ab2c738c207760fd483471c5017b56faa8bfea3813e47146e7d6eef755cc4
+AUX wis-go7007-2.6.24-no_algo_control.diff 1615 RMD160 4ea97e31b95a99a1011feb0ffe93f7f63c8c4558 SHA1 d2b287da2af8898ffd1a150c2755ab87452900b9 SHA256 6eaf6fc9c3303d0cb4c195ca203056eef194b3bcc0487df9c8f1a96f359bf2a8
+AUX wis-go7007-2.6.26-nopage.diff 871 RMD160 fa892341d5d028a5f9c81c3255561f0923097148 SHA1 cc89f0ba5e57b6c04e00465b754aaa5ce89969e1 SHA256 a37afef9684d2d2d39d2d7af811e871b89c2a12dbd3f66d352915a9b6a337aa2
+AUX wis-go7007-updates.diff 8188 RMD160 4e80c6879a48c5aa5fbf207f0c2cff7d540ed25e SHA1 481acb9b93b9699437e4d9a979cbbc7e74fe7516 SHA256 acf2d47c03c03178fb75c59bd67222816803ddb46c337b1e3f8e518f95e0ca11
DIST wis-go7007-linux-0.9.8.tar.bz2 136517 RMD160 d3336efeac890848851506d6079df10d2ffd34a4 SHA1 6732d890f964a086ea5c3116a921a9eafce40c26 SHA256 efd7600d881fc57e0484ddd7f0820c18a3bd98dce8060418dfba1626c8a79b1a
EBUILD wis-go7007-0.9.8-r1.ebuild 2906 RMD160 e6caac034c54d2f83257fae41d83241ebbaa44dc SHA1 16fe71b098058c27eb3cb18cc5c7a0f62fe39de1 SHA256 f116d93c960736b4899992dc7c731b7b0de8ecd4060fe84bd32e8ae4ca7684b0
EBUILD wis-go7007-0.9.8-r2.ebuild 2974 RMD160 cc2f45953cd8f2612bb6c7d8ad956ef3db5671f6 SHA1 826f2b155304e91b1381a23c926a27f223ab6e1f SHA256 90d41bef3d61b1a7bbd77425be8ab8dceb4fa20c7e4766595a7636a876534978
+EBUILD wis-go7007-0.9.8-r3.ebuild 3113 RMD160 d929dd76afc320a97071b8c4d041f873ab796c4a SHA1 2407ca86db0e5199885d0529147572b8e8d1efe9 SHA256 3074e749e08aab34c25fd35a2bd10e9a1656beba8dbb9a87fb5e53d7c9fdc38a
EBUILD wis-go7007-0.9.8.ebuild 2731 RMD160 13ddd0a5f98139b66a6ec71ee891820208ccf8bc SHA1 cee8f0e50e1bdc38220b64e339e7df2b1b99b486 SHA256 7c8edc13ea5b1f5e37a6102b80e55fe6896f8c53358c52c4ef46f70b864b6fe3
-MISC ChangeLog 1294 RMD160 7cada65e4a2d74d37a50cf95ade742cfcc88c7c8 SHA1 4ec5d33eb804e225efc01d6d11de30ad10f6d30a SHA256 7a72acb655ed2407ea549ccccce728054d5ae578c53ce87e92fd52c1932a6941
+MISC ChangeLog 1637 RMD160 9d40335c1d9a8503affa0d083faf08aceb25ee10 SHA1 b53293c37e4d2662341b3a02be6ba75c902ce50e SHA256 4f72b1b7c32e82ed02ee74e890dc88a51b3626c0960a02cd7d03e03a6763fd9a
MISC metadata.xml 246 RMD160 0f200b959fe440bc003682c4a1dd9ee1d3779fe3 SHA1 308bc54fe4d0cf8ef74b640816059455b7cd8922 SHA256 976fea96fe7879e5ed46a894977803c4927461d0763bf2a08cc17c25bdffa731
diff --git a/media-tv/wis-go7007/files/wis-go7007-2.6.21-typdefs.diff b/media-tv/wis-go7007/files/wis-go7007-2.6.21-typdefs.diff
new file mode 100644
index 000000000000..e3a9bf0c9298
--- /dev/null
+++ b/media-tv/wis-go7007/files/wis-go7007-2.6.21-typdefs.diff
@@ -0,0 +1,20 @@
+diff -ru work/wis-go7007-linux-0.9.8/kernel/snd-go7007.c fixed/kernel/snd-go7007.c
+--- work/wis-go7007-linux-0.9.8/kernel/snd-go7007.c 2007-04-30 11:11:35.000000000 -0300
++++ fixed/kernel/snd-go7007.c 2007-04-30 11:09:14.000000000 -0300
+@@ -57,6 +57,16 @@
+ MODULE_PARM_DESC(index, "ID string for the go7007 audio driver");
+ MODULE_PARM_DESC(index, "Enable for the go7007 audio driver");
+
++typedef struct snd_card snd_card_t;
++typedef struct snd_pcm snd_pcm_t;
++typedef struct snd_pcm_substream snd_pcm_substream_t;
++typedef struct snd_pcm_hardware snd_pcm_hardware_t;
++typedef struct snd_pcm_runtime snd_pcm_runtime_t;
++typedef struct snd_pcm_hw_params snd_pcm_hw_params_t;
++typedef struct snd_pcm_ops snd_pcm_ops_t;
++typedef struct snd_device snd_device_t;
++typedef struct snd_device_ops snd_device_ops_t;
++
+ struct go7007_snd {
+ snd_card_t *card;
+ snd_pcm_t *pcm;
diff --git a/media-tv/wis-go7007/files/wis-go7007-2.6.24-no_algo_control.diff b/media-tv/wis-go7007/files/wis-go7007-2.6.24-no_algo_control.diff
new file mode 100644
index 000000000000..9de0552dce9f
--- /dev/null
+++ b/media-tv/wis-go7007/files/wis-go7007-2.6.24-no_algo_control.diff
@@ -0,0 +1,54 @@
+diff -urN wis-go7007-linux-0.9.8.orig/kernel/go7007-i2c.c wis-go7007-linux-0.9.8/kernel/go7007-i2c.c
+--- wis-go7007-linux-0.9.8.orig/kernel/go7007-i2c.c 2008-02-23 13:58:12.000000000 -0500
++++ wis-go7007-linux-0.9.8/kernel/go7007-i2c.c 2008-02-23 13:59:44.000000000 -0500
+@@ -278,11 +278,13 @@
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ static int go7007_algo_control(struct i2c_adapter *adapter,
+ unsigned int cmd, unsigned long arg)
+ {
+ return 0;
+ }
++#endif
+
+ static u32 go7007_functionality(struct i2c_adapter *adapter)
+ {
+@@ -296,7 +298,9 @@
+ #endif
+ .smbus_xfer = go7007_smbus_xfer,
+ .master_xfer = go7007_i2c_master_xfer,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ .algo_control = go7007_algo_control,
++#endif
+ .functionality = go7007_functionality,
+ };
+
+diff -urN wis-go7007-linux-0.9.8.orig/kernel/go7007-usb.c wis-go7007-linux-0.9.8/kernel/go7007-usb.c
+--- wis-go7007-linux-0.9.8.orig/kernel/go7007-usb.c 2008-02-23 13:58:12.000000000 -0500
++++ wis-go7007-linux-0.9.8/kernel/go7007-usb.c 2008-02-23 13:59:48.000000000 -0500
+@@ -918,11 +918,13 @@
+ return ret;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ static int go7007_usb_algo_control(struct i2c_adapter *adapter,
+ unsigned int cmd, unsigned long arg)
+ {
+ return 0;
+ }
++#endif
+
+ static u32 go7007_usb_functionality(struct i2c_adapter *adapter)
+ {
+@@ -937,7 +939,9 @@
+ .id = I2C_ALGO_GO7007,
+ #endif
+ .master_xfer = go7007_usb_i2c_master_xfer,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+ .algo_control = go7007_usb_algo_control,
++#endif
+ .functionality = go7007_usb_functionality,
+ };
+
diff --git a/media-tv/wis-go7007/files/wis-go7007-2.6.26-nopage.diff b/media-tv/wis-go7007/files/wis-go7007-2.6.26-nopage.diff
new file mode 100644
index 000000000000..2fd1cca4a636
--- /dev/null
+++ b/media-tv/wis-go7007/files/wis-go7007-2.6.26-nopage.diff
@@ -0,0 +1,26 @@
+diff -urN wis-go7007-linux-0.9.8.orig/kernel/go7007-v4l2.c wis-go7007-linux-0.9.8/kernel/go7007-v4l2.c
+--- wis-go7007-linux-0.9.8.orig/kernel/go7007-v4l2.c 2007-05-09 13:56:07.000000000 -0400
++++ wis-go7007-linux-0.9.8/kernel/go7007-v4l2.c 2008-08-03 16:01:35.000000000 -0400
+@@ -1375,6 +1375,7 @@
+ }
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
+ /* This is really only going to ever be called when we
+ * do get_user_pages() in VIDIOC_QBUF */
+ static struct page *go7007_vm_nopage(struct vm_area_struct *vma,
+@@ -1392,11 +1393,14 @@
+ *type = VM_FAULT_MINOR;
+ return page;
+ }
++#endif
+
+ static struct vm_operations_struct go7007_vm_ops = {
+ .open = go7007_vm_open,
+ .close = go7007_vm_close,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
+ .nopage = go7007_vm_nopage,
++#endif
+ };
+
+ static int go7007_mmap(struct file *file, struct vm_area_struct *vma)
diff --git a/media-tv/wis-go7007/files/wis-go7007-updates.diff b/media-tv/wis-go7007/files/wis-go7007-updates.diff
new file mode 100644
index 000000000000..83dfd015bd5d
--- /dev/null
+++ b/media-tv/wis-go7007/files/wis-go7007-updates.diff
@@ -0,0 +1,242 @@
+diff -ru wis-go7007-linux-0.9.8/kernel/go7007-driver.c wis-go7007-linux-0.9.8-new/kernel/go7007-driver.c
+--- wis-go7007-linux-0.9.8/kernel/go7007-driver.c 2006-04-02 00:35:48.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/go7007-driver.c 2006-08-19 10:55:47.000000000 +0200
+@@ -18,7 +18,9 @@
+ #include <linux/module.h>
+ #include <linux/version.h>
+ #include <linux/init.h>
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)
+ #include <linux/config.h>
++#endif
+ #include <linux/delay.h>
+ #include <linux/sched.h>
+ #include <linux/spinlock.h>
+diff -ru wis-go7007-linux-0.9.8/kernel/go7007-fw.c wis-go7007-linux-0.9.8-new/kernel/go7007-fw.c
+--- wis-go7007-linux-0.9.8/kernel/go7007-fw.c 2006-04-02 00:35:55.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/go7007-fw.c 2006-08-19 11:01:51.000000000 +0200
+@@ -26,7 +26,10 @@
+
+ #include <linux/module.h>
+ #include <linux/init.h>
++#include <linux/version.h>
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)
+ #include <linux/config.h>
++#endif
+ #include <linux/time.h>
+ #include <linux/mm.h>
+ #include <linux/device.h>
+diff -ru wis-go7007-linux-0.9.8/kernel/go7007-i2c.c wis-go7007-linux-0.9.8-new/kernel/go7007-i2c.c
+--- wis-go7007-linux-0.9.8/kernel/go7007-i2c.c 2006-04-02 00:36:00.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/go7007-i2c.c 2006-08-19 11:01:28.000000000 +0200
+@@ -15,9 +15,11 @@
+ * Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+ */
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)
+ #include <linux/config.h>
++#endif
+ #include <linux/module.h>
+-#include <linux/version.h>
+ #include <linux/init.h>
+ #include <linux/delay.h>
+ #include <linux/sched.h>
+diff -ru wis-go7007-linux-0.9.8/kernel/go7007-usb.c wis-go7007-linux-0.9.8-new/kernel/go7007-usb.c
+--- wis-go7007-linux-0.9.8/kernel/go7007-usb.c 2006-04-02 00:57:04.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/go7007-usb.c 2006-12-17 13:16:11.000000000 +0100
+@@ -27,7 +27,7 @@
+ #include <linux/usb.h>
+ #include <linux/i2c.h>
+ #include <asm/byteorder.h>
+-#include <media/audiochip.h>
++#include <media/tvaudio.h>
+
+ #include "go7007-priv.h"
+ #include "wis-i2c.h"
+@@ -225,17 +225,17 @@
+ .inputs = {
+ {
+ .video_input = 1,
+- .audio_input = AUDIO_EXTERN,
++ .audio_input = TVAUDIO_INPUT_EXTERN,
+ .name = "Composite",
+ },
+ {
+ .video_input = 8,
+- .audio_input = AUDIO_EXTERN,
++ .audio_input = TVAUDIO_INPUT_EXTERN,
+ .name = "S-Video",
+ },
+ {
+ .video_input = 3,
+- .audio_input = AUDIO_TUNER,
++ .audio_input = TVAUDIO_INPUT_TUNER,
+ .name = "Tuner",
+ },
+ },
+@@ -645,8 +645,12 @@
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18)
+ static void go7007_usb_readinterrupt_complete(struct urb *urb,
+- struct pt_regs *pt_regs)
++ struct pt_regs *pt_regs)
++#else
++static void go7007_usb_readinterrupt_complete(struct urb *urb)
++#endif
+ {
+ struct go7007 *go = (struct go7007 *)urb->context;
+ u16 *regs = (u16 *)urb->transfer_buffer;
+@@ -690,8 +694,12 @@
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18)
+ static void go7007_usb_read_video_pipe_complete(struct urb *urb,
+- struct pt_regs *pt_regs)
++ struct pt_regs *pt_regs)
++#else
++static void go7007_usb_read_video_pipe_complete(struct urb *urb)
++#endif
+ {
+ struct go7007 *go = (struct go7007 *)urb->context;
+ int r;
+@@ -715,8 +723,12 @@
+ printk(KERN_ERR "go7007-usb: error in video pipe: %d\n", r);
+ }
+
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18)
+ static void go7007_usb_read_audio_pipe_complete(struct urb *urb,
+- struct pt_regs *pt_regs)
++ struct pt_regs *pt_regs)
++#else
++static void go7007_usb_read_audio_pipe_complete(struct urb *urb)
++#endif
+ {
+ struct go7007 *go = (struct go7007 *)urb->context;
+ int r;
+diff -ru wis-go7007-linux-0.9.8/kernel/go7007-v4l2.c wis-go7007-linux-0.9.8-new/kernel/go7007-v4l2.c
+--- wis-go7007-linux-0.9.8/kernel/go7007-v4l2.c 2006-04-02 01:22:03.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/go7007-v4l2.c 2006-08-19 11:01:14.000000000 +0200
+@@ -17,8 +17,10 @@
+
+ #include <linux/module.h>
+ #include <linux/init.h>
+-#include <linux/config.h>
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)
++#include <linux/config.h>
++#endif
+ #include <linux/delay.h>
+ #include <linux/sched.h>
+ #include <linux/spinlock.h>
+@@ -939,7 +941,7 @@
+ if (go->i2c_adapter_online) {
+ i2c_clients_command(&go->i2c_adapter, DECODER_SET_INPUT,
+ &go->board_info->inputs[*input].video_input);
+- i2c_clients_command(&go->i2c_adapter, AUDC_SET_INPUT,
++ i2c_clients_command(&go->i2c_adapter, VIDIOC_S_AUDIO,
+ &go->board_info->inputs[*input].audio_input);
+ }
+ return 0;
+diff -ru wis-go7007-linux-0.9.8/kernel/snd-go7007.c wis-go7007-linux-0.9.8-new/kernel/snd-go7007.c
+--- wis-go7007-linux-0.9.8/kernel/snd-go7007.c 2006-04-02 00:36:38.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/snd-go7007.c 2006-12-17 12:20:54.000000000 +0100
+@@ -20,7 +20,9 @@
+ #include <linux/version.h>
+ #include <linux/moduleparam.h>
+ #include <linux/init.h>
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)
+ #include <linux/config.h>
++#endif
+ #include <linux/delay.h>
+ #include <linux/sched.h>
+ #include <linux/vmalloc.h>
+@@ -305,7 +307,11 @@
+ struct go7007_snd *gosnd = go->snd_context;
+
+ snd_card_disconnect(gosnd->card);
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18)
+ snd_card_free_in_thread(gosnd->card);
++#else
++ snd_card_free_when_closed(gosnd->card);
++#endif
+ return 0;
+ }
+ EXPORT_SYMBOL(go7007_snd_remove);
+diff -ru wis-go7007-linux-0.9.8/kernel/wis-saa7113.c wis-go7007-linux-0.9.8-new/kernel/wis-saa7113.c
+--- wis-go7007-linux-0.9.8/kernel/wis-saa7113.c 2006-04-02 00:37:06.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/wis-saa7113.c 2006-08-19 11:03:04.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include <linux/i2c.h>
+ #include <linux/videodev.h>
+ #include <linux/video_decoder.h>
++#include <linux/ioctl.h>
+
+ #include "wis-i2c.h"
+
+diff -ru wis-go7007-linux-0.9.8/kernel/wis-saa7115.c wis-go7007-linux-0.9.8-new/kernel/wis-saa7115.c
+--- wis-go7007-linux-0.9.8/kernel/wis-saa7115.c 2006-04-02 00:37:12.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/wis-saa7115.c 2006-08-19 11:02:28.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include <linux/i2c.h>
+ #include <linux/videodev.h>
+ #include <linux/video_decoder.h>
++#include <linux/ioctl.h>
+
+ #include "wis-i2c.h"
+
+diff -ru wis-go7007-linux-0.9.8/kernel/wis-tw2804.c wis-go7007-linux-0.9.8-new/kernel/wis-tw2804.c
+--- wis-go7007-linux-0.9.8/kernel/wis-tw2804.c 2006-04-02 00:37:22.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/wis-tw2804.c 2006-08-19 11:02:43.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include <linux/i2c.h>
+ #include <linux/videodev.h>
+ #include <linux/video_decoder.h>
++#include <linux/ioctl.h>
+
+ #include "wis-i2c.h"
+
+diff -ru wis-go7007-linux-0.9.8/kernel/wis-tw9903.c wis-go7007-linux-0.9.8-new/kernel/wis-tw9903.c
+--- wis-go7007-linux-0.9.8/kernel/wis-tw9903.c 2006-04-02 00:37:28.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/wis-tw9903.c 2006-08-19 11:02:47.000000000 +0200
+@@ -21,6 +21,7 @@
+ #include <linux/i2c.h>
+ #include <linux/videodev.h>
+ #include <linux/video_decoder.h>
++#include <linux/ioctl.h>
+
+ #include "wis-i2c.h"
+
+diff -ru wis-go7007-linux-0.9.8/kernel/wis-uda1342.c wis-go7007-linux-0.9.8-new/kernel/wis-uda1342.c
+--- wis-go7007-linux-0.9.8/kernel/wis-uda1342.c 2006-04-02 00:37:32.000000000 +0200
++++ wis-go7007-linux-0.9.8-new/kernel/wis-uda1342.c 2006-04-03 13:07:04.000000000 +0200
+@@ -20,7 +20,7 @@
+ #include <linux/version.h>
+ #include <linux/i2c.h>
+ #include <linux/videodev.h>
+-#include <media/audiochip.h>
++#include <media/tvaudio.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
+ #include <media/v4l2-common.h>
+ #endif
+@@ -38,15 +38,15 @@
+ unsigned int cmd, void *arg)
+ {
+ switch (cmd) {
+- case AUDC_SET_INPUT:
++ case VIDIOC_S_AUDIO:
+ {
+ int *inp = arg;
+
+ switch (*inp) {
+- case AUDIO_TUNER:
++ case TVAUDIO_INPUT_TUNER:
+ write_reg(client, 0x00, 0x1441); /* select input 2 */
+ break;
+- case AUDIO_EXTERN:
++ case TVAUDIO_INPUT_EXTERN:
+ write_reg(client, 0x00, 0x1241); /* select input 1 */
+ break;
+ default:
diff --git a/media-tv/wis-go7007/wis-go7007-0.9.8-r3.ebuild b/media-tv/wis-go7007/wis-go7007-0.9.8-r3.ebuild
new file mode 100644
index 000000000000..150280009d0d
--- /dev/null
+++ b/media-tv/wis-go7007/wis-go7007-0.9.8-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/wis-go7007/wis-go7007-0.9.8-r3.ebuild,v 1.1 2008/08/20 04:57:01 beandog Exp $
+
+inherit eutils linux-mod
+
+MY_PN=${PN}-linux
+DESCRIPTION="Linux drivers for go7007 chipsets (Plextor ConvertX PVR)"
+HOMEPAGE="http://oss.wischip.com/ http://home.comcast.net/~bender647/go7007/"
+SRC_URI="http://oss.wischip.com/${MY_PN}-${PV}.tar.bz2"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa"
+DEPEND="|| ( >=sys-fs/udev-103 sys-apps/hotplug )
+ sys-apps/hotplug-base
+ sys-apps/fxload"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+pkg_setup() {
+ BUILD_TARGETS="all"
+ BUILD_PARAMS="KERNELSRC=${KERNEL_DIR}"
+ CONFIG_CHECK="HOTPLUG MODULES KMOD FW_LOADER I2C VIDEO_DEV SOUND SND USB
+ USB_DEVICEFS USB_EHCI_HCD"
+
+ if use alsa; then
+ CONFIG_CHECK="${CONFIG_CHECK} SND_MIXER_OSS SND_PCM_OSS"
+ fi
+
+ if ! kernel_is ge 2 6 26; then
+ eerror "This ebuild version will only work with a 2.6.26 kernel"
+ die "Needs a different kernel"
+ fi
+
+ linux-mod_pkg_setup
+ MODULE_NAMES="go7007(extra:${S}:${S}/kernel)
+ go7007-usb(extra:${S}:${S}/kernel)
+ snd-go7007(extra:${S}:${S}/kernel)
+ wis-ov7640(extra:${S}:${S}/kernel)
+ wis-sony-tuner(extra:${S}:${S}/kernel)
+ wis-tw9903(extra:${S}:${S}/kernel)
+ wis-uda1342(extra:${S}:${S}/kernel)
+ wis-saa7113(extra:${S}:${S}/kernel)
+ wis-saa7115(extra:${S}:${S}/kernel)"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ if kernel_is ge 2 6 26; then
+ epatch "${FILESDIR}/wis-go7007-updates.diff"
+ epatch "${FILESDIR}/wis-go7007-2.6.21-typdefs.diff"
+ epatch "${FILESDIR}/wis-go7007-2.6.24-no_algo_control.diff"
+ epatch "${FILESDIR}/wis-go7007-2.6.26-nopage.diff"
+ fi
+}
+
+src_compile() {
+ linux-mod_src_compile || die "failed to build driver "
+}
+
+src_install() {
+ cd "${S}/apps"
+ make KERNELDIR="${KERNEL_DIR}" DESTDIR="${D}" PREFIX=/usr install || die "failed to install"
+ cd "${S}"
+ dodir "${ROOT}/lib/modules"
+ insinto "${ROOT}/lib/modules"
+ dodoc README README.saa7134 RELEASE-NOTES
+ cd "${S}/kernel"
+ linux-mod_src_install || die "failed to install modules"
+
+ insinto "${KERNEL_DIR}/include/linux"
+ doins "${S}/include/*.h"
+ insinto "${ROOT}/lib/firmware"
+ doins "${S}/firmware/*.bin"
+ insinto "${ROOT}/lib/firmware/ezusb"
+ doins "${S}/firmware/ezusb/*.hex"
+ insinto" ${ROOT}/etc/udev/rules.d"
+ doins "${S}/udev/wis-ezusb.rules"
+
+ exeinto "${ROOT}/usr/bin"
+ use alsa && doexe "${S}/apps/gorecord"
+ doexe "${S}/apps/modet"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ elog ""
+ elog "For more information on how to use the Plextor devices with Gentoo"
+ elog "you can follow this thread for tips and tricks:"
+ elog "http://forums.gentoo.org/viewtopic-t-306559-highlight-.html"
+ elog ""
+ elog "Also, the unofficial Gentoo wiki has a HOWTO page:"
+ elog "http://gentoo-wiki.com/HARDWARE_go7007"
+ elog ""
+ ewarn "Don't forget to add your modules to /etc/modules.autoload.d/kernel.2.6"
+ ewarn "so they will load on startup:"
+ ewarn ""
+ ewarn "snd_go7007"
+ ewarn "go7007"
+ ewarn "go7007_usb"
+ ewarn "wis_saa7115"
+ ewarn "wis_uda1342"
+ ewarn "wis_sony_tuner"
+}