разумеется - моя вина
diff -Naur ./mxu11x0_orig//driver/mxu11x0.c ./mxu11x0/driver/mxu11x0.c
--- ./mxu11x0_orig//driver/mxu11x0.c 2012-09-12 07:18:52.000000000 +0400
+++ ./mxu11x0/driver/mxu11x0.c 2013-06-10 11:04:43.572601465 +0400
@@ -914,9 +914,12 @@
#if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
if (port->tty)
port->tty->low_latency = MXU1_DEFAULT_LOW_LATENCY;
-#else
+#elif(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
if (port->port.tty)
port->port.tty->low_latency = MXU1_DEFAULT_LOW_LATENCY;
+#else
+ if (port->port.tty)
+ port->port.tty->port->low_latency = MXU1_DEFAULT_LOW_LATENCY;
#endif
@@ -1428,13 +1431,22 @@
dbg("%s - port %d", __FUNCTION__, port->number);
- if (!tty || !tty->termios) {
+#if(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
+ if (!tty || tty->termios) {
+#else
+ if (!tty) {
+#endif
dbg("%s - no tty or termios", __FUNCTION__);
return;
}
+#if(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
cflag = tty->termios->c_cflag;
iflag = tty->termios->c_iflag;
+#else
+ cflag = tty->termios.c_cflag;
+ iflag = tty->termios.c_iflag;
+#endif
if (old_termios && cflag == old_termios->c_cflag
&& iflag == old_termios->c_iflag) {
@@ -1810,9 +1822,12 @@
#if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,9))
usb_serial_debug_data(dev->driver->name, __FUNCTION__,
urb->actual_length, urb->transfer_buffer);
-#else
+#elif(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
usb_serial_debug_data(debug, dev, __FUNCTION__,
urb->actual_length, urb->transfer_buffer);
+#else
+ usb_serial_debug_data(dev, __FUNCTION__,
+ urb->actual_length, urb->transfer_buffer);
#endif
if (!mxport->mxp_is_open)
@@ -1904,7 +1919,11 @@
break;
}
+#if(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
cnt = tty_buffer_request_room(tty, length);
+#else
+ cnt = tty_buffer_request_room(tty->port, length);
+#endif
if(cnt < length){
dbg("%s - [2] dropping data, %d bytes lost\n", __FUNCTION__, length);
@@ -1913,11 +1932,20 @@
cnt = length;
+#if(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
tty_insert_flip_string(tty, data, cnt);
+#else
+ tty_insert_flip_string(tty->port, data, cnt);
+#endif
length -= cnt;
+#if(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
tty_flip_buffer_push(tty);
+#else
+ tty_flip_buffer_push(tty->port);
+#endif
+
}while(length > 0);
@@ -2044,8 +2072,10 @@
spin_unlock_irqrestore(&mxport->mxp_lock, flags);
#if(LINUX_VERSION_CODE < KERNEL_VERSION(2,6,9))
usb_serial_debug_data(&port->number, __FUNCTION__, count, port->write_urb->transfer_buffer);
-#else
+#elif(LINUX_VERSION_CODE < KERNEL_VERSION(3,5,3))
usb_serial_debug_data(debug, &port->dev, __FUNCTION__, count, port->write_urb->transfer_buffer);
+#else
+ usb_serial_debug_data(&port->dev, __FUNCTION__, count, port->write_urb->transfer_buffer);
#endif
usb_fill_bulk_urb(port->write_urb, port->serial->dev,
только от вас о нём узнал - но он таки не собирается под 3.9.4