I'm trying to get the spca5xx driver functional on a Kuro Box running
HHL with kernel 2.4.17.

However, it's unacceptably risky for me to modify the installed kernel,
and I don't have a full build environment for the _specific_ kernel
installed on this box. So I'm kind of fighting it. I'm using gcc 2.95.3
(and can't change that).

I had trouble with an undefined reference to pte_offset_kernel. Looking
at the comments in spca5xx.c, and the headers for the installed kernel,
I changed this to just pte_offset. Now it loads the driver but crashes.

Has anyone got this driver working in a vaguely similar environment?
Excerpt from var/log/messages is below.

Oct 15 01:02:36 KURO-BOX kernel: hub.c: new USB device 00:0e.0-1,
assigned address 2
Oct 15 01:02:36 KURO-BOX kernel: usb.c: USB device 2 (vend/prod
0xac8/0x301b) is not claimed by any active driver.
Oct 15 01:02:36 KURO-BOX murasaki.usb[186]: beep is defined as "off"
Oct 15 01:02:36 KURO-BOX murasaki.usb[186]: usb device is added
Oct 15 01:02:36 KURO-BOX murasaki.usb[186]: vendor:0xac8 product:0x301b
Dclass:0xff Dsubclass:0x0 Dprotocol:0x0 Iclass:0x0 Isubclass:0x0
Iprotocol:0x0
Oct 15 01:02:36 KURO-BOX murasaki.usb[186]: MATCH(spca5xx) ->
match_flags:0x3 vendor:0xac8 product:0x301b Dclass:0x0 Dsubclass:0x0
Dprotocol:0x0 Iclass:0x0 Isubclass:0x0 Iprotocol:0x0
Oct 15 01:02:36 KURO-BOX murasaki.usb[186]: Loading spca5xx
Oct 15 01:02:36 KURO-BOX kernel: Linux video capture interface: v1.00
Oct 15 01:02:37 KURO-BOX kernel: usb.c: registered new driver
"!|^H^B"
Oct 15 01:02:37 KURO-BOX kernel: Oops: kernel access of bad area, sig:
11
Oct 15 01:02:37 KURO-BOX kernel: NIP: C5021EF4 XER: 00000000 LR:
C5022010 SP: C35F5DF0 REGS: c35f5d40 TRAP: 0300 Not tainted
Oct 15 01:02:37 KURO-BOX kernel: MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1
IR/DR: 11
Oct 15 01:02:37 KURO-BOX kernel: DAR: 01000213, DSISR: 20000000
Oct 15 01:02:37 KURO-BOX kernel: TASK = c35f4000[192] 'modprobe' Last
syscall: 128
Oct 15 01:02:37 KURO-BOX kernel: last math c3642000 last altivec
00000000
Oct 15 01:02:37 KURO-BOX kernel: GPR00: 00000008 C35F5DF0 C35F4000
C0339A00 C0BFEE80 01000211 C35F5E50 C01A0000
Oct 15 01:02:37 KURO-BOX kernel: GPR08: 00000000 C0BFEE00 00000380
C0B7E960 48042480 10039F8C 10030000 10030000
Oct 15 01:02:37 KURO-BOX kernel: GPR16: 00000000 00000001 00000000
00000000 C5030000 00000000 C0339A24 00000000
Oct 15 01:02:37 KURO-BOX kernel: GPR24: C5030CF8 C0339A00 00000000
00000000 C50B06B4 01000211 C0BFEE80 C5030A04
Oct 15 01:02:37 KURO-BOX kernel: Call backtrace:
Oct 15 01:02:37 KURO-BOX kernel: C096FA34 C5021D3C C5021D00 C5021190
C502111C C50987A0 C0016AB0
Oct 15 01:02:37 KURO-BOX kernel: C0003E9C 30056008 10003AB0 10004FA0
10008D14 1000D498 1000D8A4
Oct 15 01:02:37 KURO-BOX kernel: 1000DB98 1000E44C 10008F34 0FEDA3A8
00000000