Changeset e9bc927 in mainline for kernel/genarch/src
- Timestamp:
- 2025-04-18T08:22:19Z (3 months ago)
- Branches:
- master
- Children:
- 25fdb2d
- Parents:
- 51949d0
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2025-04-18 07:18:03)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2025-04-18 08:22:19)
- Location:
- kernel/genarch/src/drivers
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/drivers/dsrln/dsrlnout.c
r51949d0 re9bc927 49 49 } dsrlnout_instance_t; 50 50 51 static void dsrlnout_ putuchar(outdev_t *dev, const char32_t ch)51 static void dsrlnout_write(outdev_t *dev, const char *s, size_t n) 52 52 { 53 53 dsrlnout_instance_t *instance = (dsrlnout_instance_t *) dev->data; 54 54 55 if ((!instance->parea.mapped) || (console_override)) { 56 if (ascii_check(ch)) 57 pio_write_8(instance->base, ch); 58 else 59 pio_write_8(instance->base, U_SPECIAL); 55 if (instance->parea.mapped && !console_override) 56 return; 57 58 const char *top = s + n; 59 assert(top >= s); 60 61 for (; s < top; s++) { 62 if (*s == '\n') 63 pio_write_8(instance->base, '\r'); 64 65 pio_write_8(instance->base, (uint8_t) *s); 60 66 } 61 67 } 62 68 63 69 static outdev_operations_t dsrlndev_ops = { 64 .write = dsrlnout_ putuchar,70 .write = dsrlnout_write, 65 71 .redraw = NULL, 66 72 .scroll_up = NULL, -
kernel/genarch/src/drivers/omap/uart.c
r51949d0 re9bc927 49 49 } 50 50 51 static void omap_uart_ putuchar(outdev_t *dev, char32_t ch)51 static void omap_uart_write(outdev_t *dev, const char *s, size_t n) 52 52 { 53 53 omap_uart_t *uart = dev->data; 54 if (!ascii_check(ch)) { 55 omap_uart_txb(uart, U_SPECIAL); 56 } else { 57 if (ch == '\n') 54 55 const char *top = s + n; 56 assert(top >= s); 57 58 for (; s < top; s++) { 59 if (*s == '\n') 58 60 omap_uart_txb(uart, '\r'); 59 omap_uart_txb(uart, ch); 61 62 omap_uart_txb(uart, (uint8_t) *s); 60 63 } 61 64 } 62 65 63 66 static outdev_operations_t omap_uart_ops = { 64 .write = omap_uart_ putuchar,67 .write = omap_uart_write, 65 68 .redraw = NULL, 66 69 .scroll_up = NULL, -
kernel/genarch/src/drivers/s3c24xx/uart.c
r51949d0 re9bc927 49 49 #include <str.h> 50 50 51 static void s3c24xx_uart_sendb( outdev_t *dev, uint8_t byte)51 static void s3c24xx_uart_sendb(s3c24xx_uart_t *uart, uint8_t byte) 52 52 { 53 s3c24xx_uart_t *uart =54 (s3c24xx_uart_t *) dev->data;55 56 53 /* Wait for space becoming available in Tx FIFO. */ 57 54 while ((pio_read_32(&uart->io->ufstat) & S3C24XX_UFSTAT_TX_FULL) != 0) … … 61 58 } 62 59 63 static void s3c24xx_uart_ putuchar(outdev_t *dev, char32_t ch)60 static void s3c24xx_uart_write(outdev_t *dev, const char *s, size_t n) 64 61 { 65 s3c24xx_uart_t *uart = 66 (s3c24xx_uart_t *) dev->data; 62 s3c24xx_uart_t *uart = dev->data; 67 63 68 if ((!uart->parea.mapped) || (console_override)) { 69 if (!ascii_check(ch)) { 70 s3c24xx_uart_sendb(dev, U_SPECIAL); 71 } else { 72 if (ch == '\n') 73 s3c24xx_uart_sendb(dev, (uint8_t) '\r'); 74 s3c24xx_uart_sendb(dev, (uint8_t) ch); 75 } 64 /* If the userspace owns the console, do not output anything. */ 65 if (uart->parea.mapped && !console_override) 66 return; 67 68 const char *top = s + n; 69 assert(top >= s); 70 71 for (; s < top; s++) { 72 if (*s == '\n') 73 s3c24xx_uart_sendb(uart, '\r'); 74 75 s3c24xx_uart_sendb(uart, (uint8_t) *s); 76 76 } 77 77 } … … 94 94 95 95 static outdev_operations_t s3c24xx_uart_ops = { 96 .write = s3c24xx_uart_ putuchar,96 .write = s3c24xx_uart_write, 97 97 .redraw = NULL, 98 98 .scroll_up = NULL,
Note:
See TracChangeset
for help on using the changeset viewer.