forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-02-19 1c055e55a242a33e574e48be530e06770a210dcd
kernel/drivers/tty/serial/serial_txx9.c
....@@ -12,10 +12,6 @@
1212 * Serial driver for TX3927/TX4927/TX4925/TX4938 internal SIO controller
1313 */
1414
15
-#if defined(CONFIG_SERIAL_TXX9_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
16
-#define SUPPORT_SYSRQ
17
-#endif
18
-
1915 #include <linux/module.h>
2016 #include <linux/ioport.h>
2117 #include <linux/init.h>
....@@ -248,7 +244,6 @@
248244 sio_out(up, TXX9_SIFCR, TXX9_SIFCR_SWRST);
249245 /* TX4925 BUG WORKAROUND. Accessing SIOC register
250246 * immediately after soft reset causes bus error. */
251
- mmiowb();
252247 udelay(1);
253248 while ((sio_in(up, TXX9_SIFCR) & TXX9_SIFCR_SWRST) && --tmout)
254249 udelay(1);
....@@ -649,6 +644,8 @@
649644 case CS6: /* not supported */
650645 case CS8:
651646 cval |= TXX9_SILCR_UMODE_8BIT;
647
+ termios->c_cflag &= ~CSIZE;
648
+ termios->c_cflag |= CS8;
652649 break;
653650 }
654651
....@@ -1096,6 +1093,7 @@
10961093 port.flags = p->flags;
10971094 port.mapbase = p->mapbase;
10981095 port.dev = &dev->dev;
1096
+ port.has_sysrq = IS_ENABLED(CONFIG_SERIAL_TXX9_CONSOLE);
10991097 ret = serial_txx9_register_port(&port);
11001098 if (ret < 0) {
11011099 dev_err(&dev->dev, "unable to register port at index %d "