Allow the vizzini module to be installed side-by-side with cdc-acm.
* Use a dynamically allocated major device number.
* Use the tty name of /dev/ttyVIZx so it doesn't conflict with other devices.
* Create a udev rule which makes sure the device is bound to the vizzini
module. This is needed if the vizzini module is loaded *after* the cdc-acm
module as drivers are checked in the order they have been loaded and the
cdc-acm registers for the device class exported by the device.
* Adding slightly better debug messages.
Fix speling.
Update use of termios object
The following commit changed the api:
commit
adc8d746caa67fff4b53ba3e5163a6cbacc3b523
Author: Alan Cox <alan@linux.intel.com>
Date: Sat Jul 14 15:31:47 2012 +0100
tty: move the termios object into the tty
This fixes the following build failure against 3.13:
xr21v141x-lnx-3.5-pak/vizzini.c: In function ‘xr21v141x_tty_set_termios’:
xr21v141x-lnx-3.5-pak/vizzini.c:1096:22:
error: invalid type argument of ‘->’ (have ‘struct ktermios’)
cflag = tty->termios->c_cflag;
Signed-off-by: Joel Stanley <joel@jms.id.au>
Update use of Linux tty api
The following commit changed the api:
commit
05c7cd39907184328f48d3e7899f9cdd653ad336
Author: Jiri Slaby <jslaby@suse.cz>
Date: Thu Jan 3 15:53:04 2013 +0100
TTY: switch tty_insert_flip_string
Fixes the following build failures against 3.13:
In file included from xr21v141x-lnx-3.5-pak/vizzini.c:39:0:
include/linux/tty_flip.h:29:19: note: expected ‘struct tty_port *’ but argument
is of type ‘struct tty_struct *’
static inline int tty_insert_flip_string(struct tty_port *port,
^
xr21v141x-lnx-3.5-pak/vizzini.c:364:2: warning: passing argument 1 of
‘tty_flip_buffer_push’ from incompatible pointer type [enabled by default]
tty_flip_buffer_push(tty);
^
In file included from xr21v141x-lnx-3.5-pak/vizzini.c:39:0:
include/linux/tty_flip.h:14:13: note: expected ‘struct tty_port *’ but argument
is of type ‘struct tty_struct *’
extern void tty_flip_buffer_push(struct tty_port *port);
^
Signed-off-by: Joel Stanley <joel@jms.id.au>