Ignore:
Timestamp:
2025-04-18T15:14:10Z (2 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
e77c3ed
Parents:
800d188 (diff), 25fdb2d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'upstream/master' into helenraid

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/drivers/dsrln/dsrlnout.c

    r800d188 r29e7cc7  
    4949} dsrlnout_instance_t;
    5050
    51 static void dsrlnout_putuchar(outdev_t *dev, const char32_t ch)
     51static void dsrlnout_write(outdev_t *dev, const char *s, size_t n)
    5252{
    5353        dsrlnout_instance_t *instance = (dsrlnout_instance_t *) dev->data;
    5454
    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);
    6066        }
    6167}
    6268
    6369static outdev_operations_t dsrlndev_ops = {
    64         .write = dsrlnout_putuchar,
     70        .write = dsrlnout_write,
    6571        .redraw = NULL,
    6672        .scroll_up = NULL,
Note: See TracChangeset for help on using the changeset viewer.