aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/media/pwc/pwc-if.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2005-05-27 08:40:53 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-27 10:45:21 -0400
commit88c1834633341bbb94e315433067496338bff4ad (patch)
tree4ec40e39b38d768866fabc0dec7f9c4cfdc4b02d /drivers/usb/media/pwc/pwc-if.c
parent5d9e4ea55ae19f9083b9c2c97cc912b823ee7ab4 (diff)
[PATCH] remove non-cleanroom pwc driver compression
The original pwc author raised some questions about the reverse engineering of the decompressor algorithms used in the pwc driver. Having done some detailed investigation it appears those concerns that clean room policy was not followed are reasonable. I've also had a friendly discussion with Philips to ask their view on this. This removes the problem items of code which reduces the pwc functionality in the kernel a little but leaves all the framework for setup that will be needed for decompressors in user space (where they eventually belong). This change set is designed to be the minimal risk change set given that 2.6.12 is hopefully close to hand, with a view to merging the much updated pwc code in 2.6.13 series kernels. Someone else can then redo the decompressors properly (clean room) in user space. Note that while its easy to say that it should have been caught earlier, but the violation was really only obvious to someone who had access to both the proprietary source and the 'GPL' source.
Diffstat (limited to 'drivers/usb/media/pwc/pwc-if.c')
-rw-r--r--drivers/usb/media/pwc/pwc-if.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/media/pwc/pwc-if.c b/drivers/usb/media/pwc/pwc-if.c
index cca47f480a8..5429ff3b975 100644
--- a/drivers/usb/media/pwc/pwc-if.c
+++ b/drivers/usb/media/pwc/pwc-if.c
@@ -68,8 +68,6 @@
68#include "pwc-ioctl.h" 68#include "pwc-ioctl.h"
69#include "pwc-kiara.h" 69#include "pwc-kiara.h"
70#include "pwc-timon.h" 70#include "pwc-timon.h"
71#include "pwc-dec23.h"
72#include "pwc-dec1.h"
73#include "pwc-uncompress.h" 71#include "pwc-uncompress.h"
74 72
75/* Function prototypes and driver templates */ 73/* Function prototypes and driver templates */
@@ -322,6 +320,7 @@ static int pwc_allocate_buffers(struct pwc_device *pdev)
322 case 730: 320 case 730:
323 case 740: 321 case 740:
324 case 750: 322 case 750:
323#if 0
325 Trace(TRACE_MEMORY,"private_data(%zu)\n",sizeof(struct pwc_dec23_private)); 324 Trace(TRACE_MEMORY,"private_data(%zu)\n",sizeof(struct pwc_dec23_private));
326 kbuf = kmalloc(sizeof(struct pwc_dec23_private), GFP_KERNEL); /* Timon & Kiara */ 325 kbuf = kmalloc(sizeof(struct pwc_dec23_private), GFP_KERNEL); /* Timon & Kiara */
327 break; 326 break;
@@ -330,6 +329,8 @@ static int pwc_allocate_buffers(struct pwc_device *pdev)
330 /* TODO & FIXME */ 329 /* TODO & FIXME */
331 kbuf = kmalloc(sizeof(struct pwc_dec23_private), GFP_KERNEL); 330 kbuf = kmalloc(sizeof(struct pwc_dec23_private), GFP_KERNEL);
332 break; 331 break;
332#endif
333 ;
333 } 334 }
334 if (kbuf == NULL) { 335 if (kbuf == NULL) {
335 Err("Failed to allocate decompress table.\n"); 336 Err("Failed to allocate decompress table.\n");
@@ -1131,11 +1132,11 @@ static int pwc_video_close(struct inode *inode, struct file *file)
1131 case 730: 1132 case 730:
1132 case 740: 1133 case 740:
1133 case 750: 1134 case 750:
1134 pwc_dec23_exit(); /* Timon & Kiara */ 1135/* pwc_dec23_exit(); *//* Timon & Kiara */
1135 break; 1136 break;
1136 case 645: 1137 case 645:
1137 case 646: 1138 case 646:
1138 pwc_dec1_exit(); 1139/* pwc_dec1_exit(); */
1139 break; 1140 break;
1140 } 1141 }
1141 1142