SUMMARY: This is a backport of 2.11 and 2.12, along with some bugfixes and cleanups from later versions. PER-FILE CHANGES: (+: New, -: Removed, *: Cleanup, @: Bugfix, =: Sync with kernel) [Makefile] = Update 2.4rh install to reflect that it only works with < 2.4.18 (2.12) - Remove ov511_mmx_decomp support (2.12) [ov511.c] + Use new V4L interfaces for 2.4.19+ kernels @ Fix a warning when compiling without /proc support (2.19) * Don't need to check if CONFIG_PROC_FS is defined if already checking for CONFIG_VIDEO_PROC_FS (2.19) + Support usb_make_path for 2.4.20+ kernels (2.19) * Use dummy inline functions when /proc support is off. This eliminates a ton of #ifdefs (2.19) * Un-inline most functions. Inlining them just wastes icache. (2.19) @ Replace all sleep_on() calls with wait_event(). This should improve SMP stability. (2.19) * Remove some unnecessary waitqueue_active() calls (2.11, 2.12) * Don't do automagic URB resubmit; resubmit from completion handler. (2.11) = Support 2.5.51 USB API changes (struct pt_regs in completion handler) (2.18) = USB_ISO_ASAP => URB_ISO_ASAP for 2.5.45+ (2.17) * Eliminate remaining bits of buf_timeout code (2.11) @ Fix memory leak in open() error path (2.12) * More OV6630 register settings cleanup (2.11+) = Support 2.5.36 device model changes (2.12) = Update for 2.5.45 descriptor changes (2.17) [ov511.h] + Support usb_make_path for 2.4.20+ kernels (2.19) [ov511_decomp.c] * Remove some dead code (2.13) * Make license less verbose (2.13) [ov518_decomp.c] * Remove gratuitous typedefs (2.11) * Make license less verbose (2.13) [ov511.txt] @ force_palette is not Boolean (2.12) @ Update the install instructions (2.13)