Changeset 7c5320c in mainline for kernel/generic/src/console/chardev.c


Ignore:
Timestamp:
2023-02-07T16:03:05Z (15 months ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1eaead4
Parents:
5110d0a
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-02-07 15:59:26)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2023-02-07 16:03:05)
Message:

Use the semaphore interface instead of waitq in some places

Since we already have an underused semaphore API in the kernel,
it would be worthwhile to use it in places where the baseline
semaphore semantics are needed. It makes the function of the
calls obvious even to people unfamiliar with the details of
waitq API.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/console/chardev.c

    r5110d0a r7c5320c  
    5252{
    5353        indev->name = name;
    54         waitq_initialize(&indev->wq);
     54        semaphore_initialize(&indev->wq, 0);
    5555        irq_spinlock_initialize(&indev->lock, "chardev.indev.lock");
    5656        indev->counter = 0;
     
    8181        /* Index modulo size of buffer */
    8282        indev->index = indev->index % INDEV_BUFLEN;
    83         waitq_wakeup(&indev->wq, WAKEUP_FIRST);
     83        semaphore_up(&indev->wq);
    8484        irq_spinlock_unlock(&indev->lock, true);
    8585}
     
    115115        }
    116116
    117         waitq_sleep(&indev->wq);
     117        semaphore_down(&indev->wq);
    118118        irq_spinlock_lock(&indev->lock, true);
    119119        char32_t ch = indev->buffer[(indev->index - indev->counter) %
Note: See TracChangeset for help on using the changeset viewer.