zephyr/subsys/modem
Bjarki Arge Andreasen 5c24c79a90 modem: pipe: simplify synchronization
The design of the pipe is overly complicated compared to the
in-tree and planned future use of the pipe module.

The pipe is currently designed to protect against multiple
threads calling any API simultaineously. This is not neccesary
as only one thread ever calls open/close/transmit/receive at
once, while the notification APIs are potentially called by a
different thread.

This commit removes the synchronization of calls to the open/
close/receive/transmit APIs. It also uses a k_event for thread
safe event and state handling instead of a k_mutex and k_condvar.

The callback is proteced by a k_sem as it modified using the
attach/release APIs, which can be called simultaneously to a
thread invoking the callback.

Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me>
2024-06-13 16:43:49 -04:00
..
backends modem: backend: uart: async: Implement modem backend stat 2024-05-20 14:40:06 +03:00
CMakeLists.txt modem: add modem_pipelink module 2024-06-10 15:12:34 -05:00
Kconfig modem: pipe: simplify synchronization 2024-06-13 16:43:49 -04:00
modem_chat.c modem: chat: patch unintended behavior in modem_chat_run_script() 2024-06-13 17:49:23 +02:00
modem_cmux.c modem: cmux: Implement modem backend statistics 2024-05-20 14:40:06 +03:00
modem_pipe.c modem: pipe: simplify synchronization 2024-06-13 16:43:49 -04:00
modem_pipelink.c modem: add modem_pipelink module 2024-06-10 15:12:34 -05:00
modem_ppp.c modem: ppp: implement modem_statistics 2024-05-20 14:40:06 +03:00
modem_stats.c
modem_ubx.c