zephyr/include/zephyr
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
..
acpi lib: acpi: fix for build error when acpi not enabled 2024-02-15 12:28:55 +01:00
app_memory headers: memory_domain: Drop extern attr from functions 2024-05-20 20:49:25 -04:00
arch kernel: mm: rename Z_VM_KERNEL to K_MEM_IS_VM_KERNEL 2024-06-12 21:13:26 -04:00
audio include/zephyr: Add 'version' and 'since' tag to groups 2024-03-19 13:13:45 +01:00
bluetooth Bluetooth: Host: Support concurrent initiating and scanning 2024-06-13 08:04:42 -04:00
canbus drivers: can: unify spelling of CAN Flexible Data-rate abbreviation 2023-11-01 11:17:17 +00:00
console doc: console_api group added to doxygen 2023-11-22 09:37:38 +00:00
crypto include/zephyr: Add 'version' and 'since' tag to groups 2024-03-19 13:13:45 +01:00
data json: add JSON_TOK_ENCODED_OBJ 2024-06-12 21:15:27 -04:00
debug arch: define struct arch_esf and deprecate z_arch_esf_t 2024-06-04 14:02:51 -05:00
devicetree arch: sw_isr: revamp multi-level interrupt architecture 2024-05-25 11:24:32 +03:00
dfu dox: doxygen: add third_party group 2023-06-05 20:21:09 -04:00
display include: drivers: mipi_dsi: split MIPI DCS values into separate header 2024-01-31 16:01:45 +00:00
drivers usbc: add setter function for sink and source control 2024-06-12 18:17:17 -04:00
dsp include/zephyr: Add 'version' and 'since' tag to groups 2024-03-19 13:13:45 +01:00
dt-bindings drivers: clock_control_mcux_syscon: Support ENET 2024-06-12 18:24:48 -04:00
fs fs: fcb: correct FCB_MAX_LEN boundary condition 2024-06-07 09:53:56 +02:00
input input: add a paw32xx driver 2024-04-23 22:13:51 +00:00
internal build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
ipc ipc: fix return code of icbmsg backend send operation. 2024-06-10 15:00:01 +03:00
kernel kernel: mm: rename z_page_frame_* to k_mem_page_frame_* 2024-06-12 21:13:26 -04:00
linker kernel: mm: rename z_page_frame_* to k_mem_page_frame_* 2024-06-12 21:13:26 -04:00
llext llext: disable EXPORT_SYMBOL() when CONFIG_LLEXT=n 2024-06-10 16:57:09 +03:00
logging build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
lorawan lorawan: add channels mask configuration. 2024-05-03 09:51:46 +02:00
math math: Update ilog2_compile_time_const_u32 to wrap n with () 2023-04-29 12:25:03 +02:00
mem_mgmt mem_mgmt: Add a memory attributes memory allocator 2023-11-27 19:56:48 +01:00
mgmt build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
modbus modbus: Document exception codes 2023-11-28 19:32:33 -05:00
modem modem: pipe: simplify synchronization 2024-06-13 16:43:49 -04:00
multi_heap dt: Make zephyr,memory-attr a capabilities bitmask 2023-09-15 12:46:54 +02:00
net net: ptp: Initial PTP library implementation 2024-06-13 05:40:41 -04:00
pm pm: Declare pm state constraints for a device 2024-06-07 19:06:23 -04:00
portability
posix posix: features: do not define _XOPEN_STREAMS if unconfigured 2024-06-13 05:35:31 -04:00
random build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
retention include/zephyr: Add 'version' and 'since' tag to groups 2024-03-19 13:13:45 +01:00
rtio rtio: Remove builtin iodev mpsc queue 2024-06-12 21:12:54 -04:00
sd sd: sdmmc: rework frequency and timing selection logic 2024-05-16 09:21:03 +02:00
sensing sensing: fix doxygen warnings 2024-04-30 14:32:24 -04:00
settings subsys/settings: add a function to save subtree 2024-05-01 22:56:19 +01:00
shell shell: shell_adsp_memory_window: fix invalid cast in struct init 2024-06-12 18:28:20 -04:00
sip_svc subsystem: sip_svc: Use atomic variable for locking in singly open system 2023-09-15 09:26:49 +02:00
stats
storage drivers: disk: add DISK_IOCTL_CTRL_DEINIT command to supported IOCTLs 2024-06-07 18:16:01 +01:00
sys kernel: mm: rename z_phys_un/map to k_mem_*_phys_bare 2024-06-12 21:13:26 -04:00
task_wdt include/zephyr: Add 'version' and 'since' tag to groups 2024-03-19 13:13:45 +01:00
timing arch: move arch_interface.h under zephyr/arch 2024-03-25 09:58:35 +00:00
toolchain toolchain/llvm: Fix integer macros implementation 2024-05-20 18:04:54 +02:00
tracing net: tracing: Add socket tracing support 2024-06-10 15:03:20 -05:00
usb usb: device_next: Clarify UAC2 send buffer requirements 2024-06-12 14:21:14 +03:00
usb_c include/zephyr: Add 'version' and 'since' tag to groups 2024-03-19 13:13:45 +01:00
xen xen: add helper functions for Xen domain memory management 2023-09-15 11:15:00 +01:00
zbus zbus: doxygen reference to kconfig 2024-04-30 12:00:58 +02:00
zvfs posix: eventfd: fix dependency cycle between net and posix 2024-06-04 16:27:12 -05:00
bindesc.h bindesc: Add include zephyr/sys/util_macro.h 2024-03-26 10:06:31 -04:00
cache.h build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
device.h kernel: add CONFIG_DEVICE_DT_METADATA and helpers 2024-06-12 18:49:54 +02:00
devicetree.h dts: devicetree.h: add DT_REG_HAS_NAME 2024-06-12 17:12:23 -05:00
fatal.h arch: define struct arch_esf and deprecate z_arch_esf_t 2024-06-04 14:02:51 -05:00
fatal_types.h
init.h init.h: restore designated initializers in SYS_INIT_NAMED() 2024-03-12 15:12:37 -05:00
irq.h irq: doc: fix misspelled reference to k_spinlock 2024-06-07 15:05:56 +02:00
irq_multilevel.h irq: multilevel: add APIs with level as argument 2024-05-25 11:24:32 +03:00
irq_nextlevel.h drivers: intc: manage multi-level interrupt configs 2023-12-11 18:23:23 -05:00
irq_offload.h
kernel.h doc: kernel: do not start doxygen comment with # 2024-06-12 12:47:46 -04:00
kernel_includes.h kernel: move priority queue handling to own file/header 2024-03-02 15:06:45 +01:00
kernel_structs.h kernel: Add CONFIG_IPI_OPTIMIZE 2024-06-04 22:35:54 -04:00
kernel_version.h headers: kernel_version: Drop extern attr from functions 2023-10-30 12:51:04 -04:00
shared_irq.h include: drivers: Add missing __subsystem tags 2024-05-03 14:44:41 +01:00
smf.h Lib: SMF Modify HSM operation for UML-Style transitions 2024-05-22 21:41:06 -04:00
spinlock.h include: zephyr: coding guidelines: add explicit cast to void 2024-06-07 16:46:32 +03:00
sw_isr_table.h arch: sw_isr: revamp multi-level interrupt architecture 2024-05-25 11:24:32 +03:00
sys_clock.h Revert "kernel: retrieve system timer clock frequency at runtime or static" 2024-05-06 14:52:29 +03:00
syscall.h build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
toolchain.h toolchain: Add flag indicating zero length array support 2023-09-12 17:23:31 +01:00
types.h kernel: Explicitly define the main prototype if C++ 2023-06-20 16:35:22 +02:00
zephyr.h