I did some munching to the spcp8x5 code and managed to compile and load the module on 0704. If somebody feels like sending me a ZCU201...
Thanks for the patch, I got the module to compile for my kernel (2.6.21.5) and it loaded.
However, when I loaded the module with my ZCU201 plugged in, this is what I got in my kernel log:
Jan 24 18:17:55 kira kernel: usbcore: registered new interface driver usbserial
Jan 24 18:17:55 kira kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
Jan 24 18:17:55 kira kernel: usbcore: registered new interface driver usbserial_generic
Jan 24 18:17:55 kira kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core
Jan 24 18:17:55 kira kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for <NULL>
Jan 24 18:17:55 kira kernel: spcp8x5 2-2:1.0: <NULL> converter detected
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB0
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB1
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB2
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB3
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB4
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB5
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB6
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB7
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB8
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB9
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB10
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB11
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB12
Jan 24 18:17:55 kira kernel: usb 2-2: <NULL> converter now attached to ttyUSB13
Jan 24 18:17:55 kira kernel: usbcore: registered new interface driver spcp8x5
Jan 24 18:17:55 kira kernel: /usr/src/spcp8x5/spcp8x5.c: SPCP8x5 USB to serial adaptor driver v0.01
I didn't expect the driver to register 14 devices
I'm not much of a kernel hacker, so I have real idea how to debug this...
Worse things happened when I tried actually opening the device (ttyUSB0) in my test program...
Jan 24 20:15:10 kira kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
Jan 24 20:15:10 kira kernel: printing eip:
Jan 24 20:15:10 kira kernel: cf988866
Jan 24 20:15:10 kira kernel: *pde = 00000000
Jan 24 20:15:10 kira kernel: Oops: 0000 [#1]
Jan 24 20:15:10 kira kernel: Modules linked in: spcp8x5(F) usbserial(F) rfcomm(F) l2cap(F) wlan_tkip wlan_xauth ipt_MAS$
Jan 24 20:15:10 kira kernel: CPU: 0
Jan 24 20:15:10 kira kernel: EIP: 0060:[<cf988866>] Tainted: PF VLI
Jan 24 20:15:10 kira kernel: EFLAGS: 00010086 (2.6.21.5 #4)
Jan 24 20:15:10 kira kernel: EIP is at spcp8x5_close+0x56/0x190 [spcp8x5]
Jan 24 20:15:10 kira kernel: eax: c1ce6ad0 ebx: 00000246 ecx: c9dede80 edx: c9dede74
Jan 24 20:15:10 kira kernel: esi: 00000000 edi: 00000000 ebp: ca9b6a00 esp: c9dede60
Jan 24 20:15:10 kira kernel: ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
Jan 24 20:15:10 kira kernel: Process zw_serial (pid: 7459, ti=c9dec000 task=c1ce6ad0 task.ti=c9dec000)
Jan 24 20:15:10 kira kernel: Stack: c0102ab3 ca9b6a00 cf98a5c0 ca9b6a08 c2280ca0 00000000 c1ce6ad0 c010e870
Jan 24 20:15:10 kira kernel: c653911c c653911c ca9b6a00 c2280ca0 c6539000 ca9b6a08 cf9aa343 cd8027f8
Jan 24 20:15:10 kira kernel: c01d880f cf9aff40 c6f954e0 fffffe00 c6539000 0bc00000 c6f954e0 00000100
Jan 24 20:15:10 kira kernel: Call Trace:
Jan 24 20:15:10 kira kernel: [<c0102ab3>] common_interrupt+0x23/0x30
Jan 24 20:15:10 kira kernel: [<c010e870>] default_wake_function+0x0/0x10
Jan 24 20:15:10 kira kernel: [<cf9aa343>] serial_open+0x103/0x160 [usbserial]
Jan 24 20:15:10 kira kernel: [<c01d880f>] kobject_get+0xf/0x20
Jan 24 20:15:10 kira kernel: [<c01f58fd>] tty_open+0x14d/0x2c0
Jan 24 20:15:10 kira kernel: [<c0152c60>] chrdev_open+0x70/0x130
Jan 24 20:15:10 kira kernel: [<c0152bf0>] chrdev_open+0x0/0x130
Jan 24 20:15:10 kira kernel: [<c014ed7f>] __dentry_open+0xaf/0x1c0
Jan 24 20:15:10 kira kernel: [<c014ef45>] nameidata_to_filp+0x35/0x40
Jan 24 20:15:10 kira kernel: [<c014ef9b>] do_filp_open+0x4b/0x60
Jan 24 20:15:10 kira kernel: [<c014effa>] do_sys_open+0x4a/0xe0
Jan 24 20:15:10 kira kernel: [<c014f0cc>] sys_open+0x1c/0x20
Jan 24 20:15:10 kira kernel: [<c01027c6>] sysenter_past_esp+0x5f/0x89
Jan 24 20:15:10 kira kernel: =======================
Jan 24 20:15:10 kira kernel: Code: 18 b8 70 e8 10 c0 89 54 24 14 8d 54 24 14 89 44 24 1c 8b 45 04 05 1c 01 00 00 e8 36 $
Jan 24 20:15:10 kira kernel: EIP: [<cf988866>] spcp8x5_close+0x56/0x190 [spcp8x5] SS:ESP 0068:c9dede60
Jan 24 20:16:14 kira kernel: usb 2-2: USB disconnect, address 2
Jan 24 20:16:14 kira kernel: BUG: unable to handle kernel paging request at virtual address 0100012c
Jan 24 20:16:14 kira kernel: printing eip:
Jan 24 20:16:14 kira kernel: c011f1d3
Jan 24 20:16:14 kira kernel: *pde = 00000000
Jan 24 20:16:14 kira kernel: Oops: 0002 [#2]
Jan 24 20:16:14 kira kernel: Modules linked in: spcp8x5(F) usbserial(F) rfcomm(F) l2cap(F) wlan_tkip wlan_xauth ipt_MAS$
Jan 24 20:16:14 kira kernel: CPU: 0
Jan 24 20:16:14 kira kernel: EIP: 0060:[<c011f1d3>] Tainted: PF VLI
Jan 24 20:16:14 kira kernel: EFLAGS: 00010202 (2.6.21.5 #4)
Jan 24 20:16:14 kira kernel: EIP is at queue_work+0x3/0x30
Jan 24 20:16:14 kira kernel: eax: cefee8c0 ebx: cefee8c0 ecx: 00000000 edx: 0100012c
Jan 24 20:16:14 kira kernel: esi: 00000008 edi: c2280ca0 ebp: c475ac18 esp: ce049ea4
Jan 24 20:16:14 kira kernel: ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068
Jan 24 20:16:14 kira kernel: Process khubd (pid: 512, ti=ce048000 task=c1225af0 task.ti=ce048000)
Jan 24 20:16:14 kira kernel: Stack: c3646c01 cf9a99d4 c3647b68 ca8a69a0 cf852543 c475ac00 c475ac18 cf98a4e0
etc. etc.
I had to reboot the machine.