# HG changeset patch # User Paul Boddie # Date 1709050803 -3600 # Node ID 537d9c4101b02cf8651c7248a60944fb067ff73a # Parent bde5d7799e655dcc836634f4f59a81e693703c26 Employed a convenience method from libsystypes for getting the current thread. diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/Control --- a/pkg/devices/Control Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/Control Tue Feb 27 17:20:03 2024 +0100 @@ -44,5 +44,5 @@ provides: libdrivers-rtc provides: libdrivers-spi provides: libdrivers-tcu -requires: libc libc_be_l4re libdl l4re_c libio libipc +requires: libc libc_be_l4re libdl l4re_c libio libipc libsystypes Maintainer: paul@boddie.org.uk diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/dma/src/Makefile --- a/pkg/devices/lib/dma/src/Makefile Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/dma/src/Makefile Tue Feb 27 17:20:03 2024 +0100 @@ -8,6 +8,6 @@ PRIVATE_INCDIR += $(PKGDIR)/lib/dma/include -REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common +REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common libsystypes include $(L4DIR)/mk/lib.mk diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/dma/src/jz4730.cc --- a/pkg/devices/lib/dma/src/jz4730.cc Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/dma/src/jz4730.cc Tue Feb 27 17:20:03 2024 +0100 @@ -27,8 +27,7 @@ #include #include -#include -#include +#include #include @@ -339,7 +338,7 @@ bool Dma_jz4730_channel::wait_for_irq() { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, L4_IPC_NEVER)) && _chip->have_interrupt(_channel); @@ -351,7 +350,7 @@ bool Dma_jz4730_channel::wait_for_irq(unsigned int timeout) { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, l4_timeout(L4_IPC_TIMEOUT_NEVER, l4util_micros2l4to(timeout)))) && _chip->have_interrupt(_channel); diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/dma/src/jz4780.cc --- a/pkg/devices/lib/dma/src/jz4780.cc Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/dma/src/jz4780.cc Tue Feb 27 17:20:03 2024 +0100 @@ -2,7 +2,7 @@ * DMA support for the JZ4780. * NOTE: This should be combined with the X1600 support. * - * Copyright (C) 2021, 2023 Paul Boddie + * Copyright (C) 2021, 2023, 2024 Paul Boddie * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -29,8 +29,7 @@ #include #include -#include -#include +#include #include @@ -398,7 +397,7 @@ { if (l4_is_valid_cap(_irq)) { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, L4_IPC_NEVER)) && _chip->have_interrupt(_channel); @@ -415,7 +414,7 @@ { if (l4_is_valid_cap(_irq)) { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, l4_timeout(L4_IPC_TIMEOUT_NEVER, l4util_micros2l4to(timeout)))) && _chip->have_interrupt(_channel); diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/dma/src/x1600.cc --- a/pkg/devices/lib/dma/src/x1600.cc Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/dma/src/x1600.cc Tue Feb 27 17:20:03 2024 +0100 @@ -27,8 +27,7 @@ #include #include -#include -#include +#include #include @@ -351,7 +350,7 @@ bool Dma_x1600_channel::wait_for_irq() { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, L4_IPC_NEVER)) && _chip->have_interrupt(_channel); @@ -363,7 +362,7 @@ bool Dma_x1600_channel::wait_for_irq(unsigned int timeout) { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, l4_timeout(L4_IPC_TIMEOUT_NEVER, l4util_micros2l4to(timeout)))) && _chip->have_interrupt(_channel); diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/hdmi/src/Makefile --- a/pkg/devices/lib/hdmi/src/Makefile Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/hdmi/src/Makefile Tue Feb 27 17:20:03 2024 +0100 @@ -8,6 +8,6 @@ PRIVATE_INCDIR += $(PKGDIR)/lib/hdmi/include -REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common +REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common libsystypes include $(L4DIR)/mk/lib.mk diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/hdmi/src/jz4780.cc --- a/pkg/devices/lib/hdmi/src/jz4780.cc Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/hdmi/src/jz4780.cc Tue Feb 27 17:20:03 2024 +0100 @@ -54,8 +54,7 @@ #include #include -#include -#include +#include /* I2C pins: @@ -763,7 +762,7 @@ uint8_t int_status; l4_msgtag_t tag; - err = l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0)); + err = l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0)); if (err) return err; diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/lcd/src/jz4740/Makefile --- a/pkg/devices/lib/lcd/src/jz4740/Makefile Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/lcd/src/jz4740/Makefile Tue Feb 27 17:20:03 2024 +0100 @@ -8,6 +8,6 @@ PRIVATE_INCDIR += $(PKGDIR)/lib/lcd/include -REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common +REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common libsystypes include $(L4DIR)/mk/lib.mk diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/lcd/src/jz4740/lcd-jz4740.cc --- a/pkg/devices/lib/lcd/src/jz4740/lcd-jz4740.cc Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/lcd/src/jz4740/lcd-jz4740.cc Tue Feb 27 17:20:03 2024 +0100 @@ -28,8 +28,7 @@ #include #include -#include -#include +#include #include "lcd-jz4740.h" #include "lcd-jz4740-config.h" @@ -630,7 +629,7 @@ _regs[Lcd_status] = _regs[Lcd_status] & ~(_status_irq()); - long err = l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0)); + long err = l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0)); if (err) return err; diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/msc/src/Makefile --- a/pkg/devices/lib/msc/src/Makefile Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/msc/src/Makefile Tue Feb 27 17:20:03 2024 +0100 @@ -8,6 +8,6 @@ PRIVATE_INCDIR += $(PKGDIR)/lib/msc/include -REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common +REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common libsystypes include $(L4DIR)/mk/lib.mk diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/msc/src/common.cc --- a/pkg/devices/lib/msc/src/common.cc Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/msc/src/common.cc Tue Feb 27 17:20:03 2024 +0100 @@ -24,8 +24,7 @@ #include #include -#include -#include +#include #include #include @@ -449,7 +448,7 @@ bool Msc_channel::wait_for_irq(uint32_t flags) { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, L4_IPC_NEVER)) && @@ -462,7 +461,7 @@ bool Msc_channel::wait_for_irq(uint32_t flags, unsigned int timeout) { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; return !l4_error(l4_irq_receive(_irq, l4_timeout(L4_IPC_TIMEOUT_NEVER, diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/tcu/src/Makefile --- a/pkg/devices/lib/tcu/src/Makefile Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/tcu/src/Makefile Tue Feb 27 17:20:03 2024 +0100 @@ -8,6 +8,6 @@ PRIVATE_INCDIR += $(PKGDIR)/lib/tcu/include -REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common +REQUIRES_LIBS := l4re_c l4re_c-util libdrivers-common libsystypes include $(L4DIR)/mk/lib.mk diff -r bde5d7799e65 -r 537d9c4101b0 pkg/devices/lib/tcu/src/common.cc --- a/pkg/devices/lib/tcu/src/common.cc Mon Feb 26 16:18:13 2024 +0100 +++ b/pkg/devices/lib/tcu/src/common.cc Tue Feb 27 17:20:03 2024 +0100 @@ -25,8 +25,7 @@ #include #include -#include -#include +#include #include // log2 @@ -273,7 +272,7 @@ bool Tcu_channel::wait_for_irq() { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; bool irq = !l4_error(l4_irq_receive(_irq, L4_IPC_NEVER)) && have_interrupt(); @@ -290,7 +289,7 @@ bool Tcu_channel::wait_for_irq(unsigned int timeout) { - if (l4_error(l4_rcv_ep_bind_thread(_irq, pthread_l4_cap(pthread_self()), 0))) + if (l4_error(l4_rcv_ep_bind_thread(_irq, get_current_thread(), 0))) return false; bool irq = !l4_error(l4_irq_receive(_irq, l4_timeout(L4_IPC_TIMEOUT_NEVER, l4util_micros2l4to(timeout)))) && have_interrupt();