| .. | .. |
|---|
| 12 | 12 | * Serial driver for TX3927/TX4927/TX4925/TX4938 internal SIO controller |
|---|
| 13 | 13 | */ |
|---|
| 14 | 14 | |
|---|
| 15 | | -#if defined(CONFIG_SERIAL_TXX9_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) |
|---|
| 16 | | -#define SUPPORT_SYSRQ |
|---|
| 17 | | -#endif |
|---|
| 18 | | - |
|---|
| 19 | 15 | #include <linux/module.h> |
|---|
| 20 | 16 | #include <linux/ioport.h> |
|---|
| 21 | 17 | #include <linux/init.h> |
|---|
| .. | .. |
|---|
| 248 | 244 | sio_out(up, TXX9_SIFCR, TXX9_SIFCR_SWRST); |
|---|
| 249 | 245 | /* TX4925 BUG WORKAROUND. Accessing SIOC register |
|---|
| 250 | 246 | * immediately after soft reset causes bus error. */ |
|---|
| 251 | | - mmiowb(); |
|---|
| 252 | 247 | udelay(1); |
|---|
| 253 | 248 | while ((sio_in(up, TXX9_SIFCR) & TXX9_SIFCR_SWRST) && --tmout) |
|---|
| 254 | 249 | udelay(1); |
|---|
| .. | .. |
|---|
| 649 | 644 | case CS6: /* not supported */ |
|---|
| 650 | 645 | case CS8: |
|---|
| 651 | 646 | cval |= TXX9_SILCR_UMODE_8BIT; |
|---|
| 647 | + termios->c_cflag &= ~CSIZE; |
|---|
| 648 | + termios->c_cflag |= CS8; |
|---|
| 652 | 649 | break; |
|---|
| 653 | 650 | } |
|---|
| 654 | 651 | |
|---|
| .. | .. |
|---|
| 1096 | 1093 | port.flags = p->flags; |
|---|
| 1097 | 1094 | port.mapbase = p->mapbase; |
|---|
| 1098 | 1095 | port.dev = &dev->dev; |
|---|
| 1096 | + port.has_sysrq = IS_ENABLED(CONFIG_SERIAL_TXX9_CONSOLE); |
|---|
| 1099 | 1097 | ret = serial_txx9_register_port(&port); |
|---|
| 1100 | 1098 | if (ret < 0) { |
|---|
| 1101 | 1099 | dev_err(&dev->dev, "unable to register port at index %d " |
|---|