This change introduces the `lwp_pid_for_each` function, which provides a
convenient and thread-safe method for iterating over PIDs with a user-
defined callback. This addition is necessary to support cases where
operations must be performed on each PID in the balanced tree, enhancing
flexibility and modularity for PID management.
Changes:
- Added `lwp_pid_for_each` function in `lwp_pid.c` to allow iteration
over PIDs using a callback function and optional data parameter.
- Defined a new internal `pid_foreach_param` structure to encapsulate
the callback and data for the iteration.
- Added `_before_cb` helper function for executing the callback on each
PID node during AVL traversal.
- Ensured thread safety by acquiring and releasing the PID lock around
the AVL traversal within `lwp_pid_for_each`.
- Updated `lwp_pid.h` with the `lwp_pid_for_each` function prototype and
included `rtthread.h` for necessary types.
Signed-off-by: Shell <smokewood@qq.com>
smp_call.h defines SMP-related structures and declares
SMP-related functions. These codes are only valid when
RT_USING_SMP is defined in the bsp, which means we have
to use RT_USING_SMP for judgment in every place where
this file is included, such as following:
```c
```
Now move the judgment of RT_USING_SMP directly into
smp_call.h, so that it's simpler to include the header
file as:
```c
```
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
- `dbg_log` is a “NOT RECOMMENDED API”, convert the calling of this
API to LOG_x and remove this API.
- `dbg_here`/`dbg_enter`/`dbg_exit`: no one use these APIs, remove
them directly.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
1. Add PCI include in rtdevice.h
2. Fixup `RT_KEY_ENABLED` loss.
3. remove waring type of `dw_pcie_ep_get_func_from_ep` return.
Signed-off-by: GuEe-GUI <2991707448@qq.com>
Thermal drivers offer a generic mechanism for thermal management.
Usually it's made up of one or more thermal zones and cooling devices.
Each thermal zone contains its own temperature, trip points, and cooling devices.
All platforms with ACPI or OFW thermal support can use this driver.
Signed-off-by: GuEe-GUI <2991707448@qq.com>
1. There is only one GPIO device in System.
2. For Pin API input is pin number
3. Add sets pin debounce time API.
So we need a virtual pin for multi gpio chip.
Signed-off-by: GuEe-GUI <2991707448@qq.com>