I am trying to compile a third-party USB Modem Driver ZTE AC8710 Ubuntu 9.10 (linux-headers-2.6.31-14-generic) from the source code provided inside their windows installation cd. As directed in Redame file, I have changed the makefile to point to the correct linux source header files.

However I am geting the following compilation errors:

abhijit@LENOVO:~$ cd linux
abhijit@LENOVO:~/linux$ make
make -C /usr/src/linux-headers-2.6.31-14-generic M=/home/abhijit/linux modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.31-14-generic'
CC [M] /home/abhijit/linux/usb-serial.o
/home/abhijit/linux/usb-serial.c: In function ‘destroy_serial’:
/home/abhijit/linux/usb-serial.c:159: error: ‘struct usb_serial_driver’ has no member named ‘shutdown’
/home/abhijit/linux/usb-serial.c:165: error: ‘struct usb_serial_port’ has no member named ‘open_count’
/home/abhijit/linux/usb-serial.c: In function ‘serial_open’:
/home/abhijit/linux/usb-serial.c:246: error: ‘struct usb_serial_port’ has no member named ‘open_count’
/home/abhijit/linux/usb-serial.c:251: error: ‘struct usb_serial_port’ has no member named ‘tty’
/home/abhijit/linux/usb-serial.c:253: error: ‘struct usb_serial_port’ has no member named ‘open_count’
/home/abhijit/linux/usb-serial.c:265: warning: passing argument 1 of ‘serial->type->open’ from incompatible pointer type
/home/abhijit/linux/usb-serial.c:265: note: expected ‘struct tty_struct *’ but argument is of type ‘struct usb_serial_port *’
/home/abhijit/linux/usb-serial.c:265: warning: passing argument 2 of ‘serial->type->open’ from incompatible pointer type
/home/abhijit/linux/usb-serial.c:265: note: expected ‘struct usb_serial_port *’ but argument is of type ‘struct file *’
/home/abhijit/linux/usb-serial.c:265: error: too few arguments to function ‘serial->type->open’
/home/abhijit/linux/usb-serial.c:276: error: ‘struct usb_serial_port’ has no member named ‘open_count’
/home/abhijit/linux/usb-serial.c:278: error: ‘struct usb_serial_port’ has no member named ‘tty’
/home/abhijit/linux/usb-serial.c: In function ‘serial_close’:
/home/abhijit/linux/usb-serial.c:357: error: ‘struct usb_serial_port’ has no member named ‘open_count’
/home/abhijit/linux/usb-serial.c:371: error: ‘struct usb_serial_port’ has no member named ‘open_count’
/home/abhijit/linux/usb-serial.c:372: error: ‘struct usb_serial_port’ has no member named ‘open_count’
/home/abhijit/linux/usb-serial.c:375: error: too many arguments to function ‘port->serial->type->close’
/home/abhijit/linux/usb-serial.c:377: error: ‘struct usb_serial_port’ has no member named ‘tty’

I am searching the net for the solution but to no avail. Am I missing a patch or some other package that needs to be present for the compilation to be successful? Please help