diff options
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/Kconfig | 1 | ||||
-rw-r--r-- | drivers/char/ipmi/ipmi_si_intf.c | 10 | ||||
-rw-r--r-- | drivers/char/serial167.c | 2 | ||||
-rw-r--r-- | drivers/char/sx.c | 9 | ||||
-rw-r--r-- | drivers/char/synclink_gt.c | 2 | ||||
-rw-r--r-- | drivers/char/tty_io.c | 7 | ||||
-rw-r--r-- | drivers/char/vt.c | 6 |
7 files changed, 28 insertions, 9 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index 5dce3877eee5..595a925c62a9 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig | |||
@@ -196,6 +196,7 @@ config ESPSERIAL | |||
196 | config MOXA_INTELLIO | 196 | config MOXA_INTELLIO |
197 | tristate "Moxa Intellio support" | 197 | tristate "Moxa Intellio support" |
198 | depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) | 198 | depends on SERIAL_NONSTANDARD && (ISA || EISA || PCI) |
199 | select FW_LOADER | ||
199 | help | 200 | help |
200 | Say Y here if you have a Moxa Intellio multiport serial card. | 201 | Say Y here if you have a Moxa Intellio multiport serial card. |
201 | 202 | ||
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 5a5455585c1d..192688344ed2 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -2352,10 +2352,16 @@ static int __devinit ipmi_of_probe(struct of_device *dev, | |||
2352 | 2352 | ||
2353 | info->si_type = (enum si_type) match->data; | 2353 | info->si_type = (enum si_type) match->data; |
2354 | info->addr_source = "device-tree"; | 2354 | info->addr_source = "device-tree"; |
2355 | info->io_setup = mem_setup; | ||
2356 | info->irq_setup = std_irq_setup; | 2355 | info->irq_setup = std_irq_setup; |
2357 | 2356 | ||
2358 | info->io.addr_type = IPMI_MEM_ADDR_SPACE; | 2357 | if (resource.flags & IORESOURCE_IO) { |
2358 | info->io_setup = port_setup; | ||
2359 | info->io.addr_type = IPMI_IO_ADDR_SPACE; | ||
2360 | } else { | ||
2361 | info->io_setup = mem_setup; | ||
2362 | info->io.addr_type = IPMI_MEM_ADDR_SPACE; | ||
2363 | } | ||
2364 | |||
2359 | info->io.addr_data = resource.start; | 2365 | info->io.addr_data = resource.start; |
2360 | 2366 | ||
2361 | info->io.regsize = regsize ? *regsize : DEFAULT_REGSIZE; | 2367 | info->io.regsize = regsize ? *regsize : DEFAULT_REGSIZE; |
diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c index fd2db07a50fc..3b23270eaa65 100644 --- a/drivers/char/serial167.c +++ b/drivers/char/serial167.c | |||
@@ -1073,7 +1073,7 @@ static int cy_put_char(struct tty_struct *tty, unsigned char ch) | |||
1073 | return 0; | 1073 | return 0; |
1074 | 1074 | ||
1075 | if (!info->xmit_buf) | 1075 | if (!info->xmit_buf) |
1076 | return; | 1076 | return 0; |
1077 | 1077 | ||
1078 | local_irq_save(flags); | 1078 | local_irq_save(flags); |
1079 | if (info->xmit_cnt >= PAGE_SIZE - 1) { | 1079 | if (info->xmit_cnt >= PAGE_SIZE - 1) { |
diff --git a/drivers/char/sx.c b/drivers/char/sx.c index f39f6fd89350..b1a7a8cb65ea 100644 --- a/drivers/char/sx.c +++ b/drivers/char/sx.c | |||
@@ -970,7 +970,8 @@ static int sx_set_real_termios(void *ptr) | |||
970 | sx_write_channel_byte(port, hi_mask, 0x1f); | 970 | sx_write_channel_byte(port, hi_mask, 0x1f); |
971 | break; | 971 | break; |
972 | default: | 972 | default: |
973 | printk(KERN_INFO "sx: Invalid wordsize: %u\n", CFLAG & CSIZE); | 973 | printk(KERN_INFO "sx: Invalid wordsize: %u\n", |
974 | (unsigned int)CFLAG & CSIZE); | ||
974 | break; | 975 | break; |
975 | } | 976 | } |
976 | 977 | ||
@@ -997,7 +998,8 @@ static int sx_set_real_termios(void *ptr) | |||
997 | set_bit(TTY_HW_COOK_IN, &port->gs.tty->flags); | 998 | set_bit(TTY_HW_COOK_IN, &port->gs.tty->flags); |
998 | } | 999 | } |
999 | sx_dprintk(SX_DEBUG_TERMIOS, "iflags: %x(%d) ", | 1000 | sx_dprintk(SX_DEBUG_TERMIOS, "iflags: %x(%d) ", |
1000 | port->gs.tty->termios->c_iflag, I_OTHER(port->gs.tty)); | 1001 | (unsigned int)port->gs.tty->termios->c_iflag, |
1002 | I_OTHER(port->gs.tty)); | ||
1001 | 1003 | ||
1002 | /* Tell line discipline whether we will do output cooking. | 1004 | /* Tell line discipline whether we will do output cooking. |
1003 | * If OPOST is set and no other output flags are set then we can do output | 1005 | * If OPOST is set and no other output flags are set then we can do output |
@@ -1010,7 +1012,8 @@ static int sx_set_real_termios(void *ptr) | |||
1010 | clear_bit(TTY_HW_COOK_OUT, &port->gs.tty->flags); | 1012 | clear_bit(TTY_HW_COOK_OUT, &port->gs.tty->flags); |
1011 | } | 1013 | } |
1012 | sx_dprintk(SX_DEBUG_TERMIOS, "oflags: %x(%d)\n", | 1014 | sx_dprintk(SX_DEBUG_TERMIOS, "oflags: %x(%d)\n", |
1013 | port->gs.tty->termios->c_oflag, O_OTHER(port->gs.tty)); | 1015 | (unsigned int)port->gs.tty->termios->c_oflag, |
1016 | O_OTHER(port->gs.tty)); | ||
1014 | /* port->c_dcd = sx_get_CD (port); */ | 1017 | /* port->c_dcd = sx_get_CD (port); */ |
1015 | func_exit(); | 1018 | func_exit(); |
1016 | return 0; | 1019 | return 0; |
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c index 2001b0e52dc6..55c1653be00c 100644 --- a/drivers/char/synclink_gt.c +++ b/drivers/char/synclink_gt.c | |||
@@ -916,7 +916,7 @@ static int put_char(struct tty_struct *tty, unsigned char ch) | |||
916 | { | 916 | { |
917 | struct slgt_info *info = tty->driver_data; | 917 | struct slgt_info *info = tty->driver_data; |
918 | unsigned long flags; | 918 | unsigned long flags; |
919 | int ret; | 919 | int ret = 0; |
920 | 920 | ||
921 | if (sanity_check(info, tty->name, "put_char")) | 921 | if (sanity_check(info, tty->name, "put_char")) |
922 | return 0; | 922 | return 0; |
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 49c1a2267a55..e94bee032314 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c | |||
@@ -1215,10 +1215,11 @@ int tty_check_change(struct tty_struct *tty) | |||
1215 | 1215 | ||
1216 | if (!tty->pgrp) { | 1216 | if (!tty->pgrp) { |
1217 | printk(KERN_WARNING "tty_check_change: tty->pgrp == NULL!\n"); | 1217 | printk(KERN_WARNING "tty_check_change: tty->pgrp == NULL!\n"); |
1218 | goto out; | 1218 | goto out_unlock; |
1219 | } | 1219 | } |
1220 | if (task_pgrp(current) == tty->pgrp) | 1220 | if (task_pgrp(current) == tty->pgrp) |
1221 | goto out; | 1221 | goto out_unlock; |
1222 | spin_unlock_irqrestore(&tty->ctrl_lock, flags); | ||
1222 | if (is_ignored(SIGTTOU)) | 1223 | if (is_ignored(SIGTTOU)) |
1223 | goto out; | 1224 | goto out; |
1224 | if (is_current_pgrp_orphaned()) { | 1225 | if (is_current_pgrp_orphaned()) { |
@@ -1229,6 +1230,8 @@ int tty_check_change(struct tty_struct *tty) | |||
1229 | set_thread_flag(TIF_SIGPENDING); | 1230 | set_thread_flag(TIF_SIGPENDING); |
1230 | ret = -ERESTARTSYS; | 1231 | ret = -ERESTARTSYS; |
1231 | out: | 1232 | out: |
1233 | return ret; | ||
1234 | out_unlock: | ||
1232 | spin_unlock_irqrestore(&tty->ctrl_lock, flags); | 1235 | spin_unlock_irqrestore(&tty->ctrl_lock, flags); |
1233 | return ret; | 1236 | return ret; |
1234 | } | 1237 | } |
diff --git a/drivers/char/vt.c b/drivers/char/vt.c index e458b08139af..fa1ffbf2c621 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c | |||
@@ -2742,6 +2742,10 @@ static int con_open(struct tty_struct *tty, struct file *filp) | |||
2742 | tty->winsize.ws_row = vc_cons[currcons].d->vc_rows; | 2742 | tty->winsize.ws_row = vc_cons[currcons].d->vc_rows; |
2743 | tty->winsize.ws_col = vc_cons[currcons].d->vc_cols; | 2743 | tty->winsize.ws_col = vc_cons[currcons].d->vc_cols; |
2744 | } | 2744 | } |
2745 | if (vc->vc_utf) | ||
2746 | tty->termios->c_iflag |= IUTF8; | ||
2747 | else | ||
2748 | tty->termios->c_iflag &= ~IUTF8; | ||
2745 | release_console_sem(); | 2749 | release_console_sem(); |
2746 | vcs_make_sysfs(tty); | 2750 | vcs_make_sysfs(tty); |
2747 | return ret; | 2751 | return ret; |
@@ -2918,6 +2922,8 @@ int __init vty_init(void) | |||
2918 | console_driver->minor_start = 1; | 2922 | console_driver->minor_start = 1; |
2919 | console_driver->type = TTY_DRIVER_TYPE_CONSOLE; | 2923 | console_driver->type = TTY_DRIVER_TYPE_CONSOLE; |
2920 | console_driver->init_termios = tty_std_termios; | 2924 | console_driver->init_termios = tty_std_termios; |
2925 | if (default_utf8) | ||
2926 | console_driver->init_termios.c_iflag |= IUTF8; | ||
2921 | console_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_RESET_TERMIOS; | 2927 | console_driver->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_RESET_TERMIOS; |
2922 | tty_set_operations(console_driver, &con_ops); | 2928 | tty_set_operations(console_driver, &con_ops); |
2923 | if (tty_register_driver(console_driver)) | 2929 | if (tty_register_driver(console_driver)) |