--- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c @@ -27,6 +27,7 @@ static char *serial_version = "$Revision #include <linux/kernel.h> #include <linux/mutex.h> #include <linux/bitops.h> +#include <linux/device.h> #include <asm/io.h> #include <asm/irq.h> @@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op .tiocmset = rs_tiocmset }; +static struct class *rs_class; static int __init rs_init(void) { @@ -4518,6 +4520,24 @@ rs_init(void) #endif #endif /* CONFIG_SVINTO_SIM */ + rs_class = class_create(THIS_MODULE, "rs_tty"); +#ifdef CONFIG_ETRAX_SERIAL_PORT0 + class_device_create(rs_class, NULL, + MKDEV(TTY_MAJOR, 64), NULL, "ttyS0"); +#endif +#ifdef CONFIG_ETRAX_SERIAL_PORT1 + class_device_create(rs_class, NULL, + MKDEV(TTY_MAJOR, 65), NULL, "ttyS1"); +#endif +#ifdef CONFIG_ETRAX_SERIAL_PORT2 + class_device_create(rs_class, NULL, + MKDEV(TTY_MAJOR, 66), NULL, "ttyS2"); +#endif +#ifdef CONFIG_ETRAX_SERIAL_PORT3 + class_device_create(rs_class, NULL, + MKDEV(TTY_MAJOR, 67), NULL, "ttyS3"); +#endif + return 0; }