xref: /aosp_15_r20/external/pigweed/pw_sync_zephyr/Kconfig (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2021 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15menu "pw_sync"
16
17config PIGWEED_SYNC
18    bool
19    select PIGWEED_CHRONO_SYSTEM_CLOCK
20    select PIGWEED_PREPROCESSOR
21    select PIGWEED_INTERRUPT_CONTEXT
22
23config PIGWEED_SYNC_MUTEX
24    bool "Link pw_sync.mutex library"
25    select PIGWEED_SYNC
26    select PIGWEED_POLYFILL
27    help
28      See :ref:`module-pw_sync` for module details.
29
30config PIGWEED_SYNC_BINARY_SEMAPHORE
31    bool "Link pw_sync.binary_semaphore library"
32    select PIGWEED_SYNC
33    help
34      See :ref:`module-pw_sync` for module details.
35
36config PIGWEED_SYNC_INTERRUPT_SPIN_LOCK
37    bool "Link pw_sync.interrupt_spin_lock library"
38    help
39      See :ref:`module-pw_sync` for module details.
40
41config PIGWEED_SYNC_THREAD_NOTIFICATION
42    bool "Link pw_sync.thread_notification library"
43    select PIGWEED_SYNC_BINARY_SEMAPHORE
44    help
45      See :ref:`module-pw_sync` for module details.
46
47config PIGWEED_SYNC_TIMED_THREAD_NOTIFICATION
48    bool "Link pw_sync.timed_thread_notification library"
49    select PIGWEED_SYNC_BINARY_SEMAPHORE
50    help
51      See :ref:`module-pw_sync` for module details.
52
53endmenu
54