This commit is contained in:
zhujiale
2024-09-24 09:56:30 +08:00
committed by Rbb666
parent 4953a92528
commit 6783d8fdec
2 changed files with 12 additions and 12 deletions
+5 -5
View File
@@ -61,7 +61,7 @@ void rt_smp_call_ipi_handler(int vector, void *param)
* else it will call function on specified CPU and return immediately
* @param cond the condition function pointer,if you set it then it will call function only when cond return true
*/
void rt_smp_call_func_cond(int cpu_mask, smp_call_func_back func, void *data, rt_uint8_t flag, smp_cond cond)
void rt_smp_call_func_cond(int cpu_mask, rt_smp_call_func_back func, void *data, rt_uint8_t flag, rt_smp_cond cond)
{
RT_DEBUG_NOT_IN_INTERRUPT;
struct rt_smp_event event;
@@ -116,21 +116,21 @@ void rt_smp_call_func_cond(int cpu_mask, smp_call_func_back func, void *data, rt
}
}
void rt_smp_call_each_cpu(smp_call_func_back func, void *data, rt_uint8_t flag)
void rt_smp_call_each_cpu(rt_smp_call_func_back func, void *data, rt_uint8_t flag)
{
rt_smp_call_func_cond(RT_ALL_CPU, func, data, flag, RT_NULL);
}
void rt_smp_call_each_cpu_cond(smp_call_func_back func, void *data, rt_uint8_t flag, smp_cond cond_func)
void rt_smp_call_each_cpu_cond(rt_smp_call_func_back func, void *data, rt_uint8_t flag, rt_smp_cond cond_func)
{
rt_smp_call_func_cond(RT_ALL_CPU, func, data, flag, cond_func);
}
void rt_smp_call_any_cpu(int cpu_mask, smp_call_func_back func, void *data, rt_uint8_t flag)
void rt_smp_call_any_cpu(int cpu_mask, rt_smp_call_func_back func, void *data, rt_uint8_t flag)
{
rt_smp_call_func_cond(cpu_mask, func, data, flag, RT_NULL);
}
void rt_smp_call_any_cpu_cond(int cpu_mask, smp_call_func_back func, void *data, rt_uint8_t flag, smp_cond cond_func)
void rt_smp_call_any_cpu_cond(int cpu_mask, rt_smp_call_func_back func, void *data, rt_uint8_t flag, rt_smp_cond cond_func)
{
rt_smp_call_func_cond(cpu_mask, func, data, flag, cond_func);
}
+7 -7
View File
@@ -1,8 +1,8 @@
#ifndef __SMP_IPI_H__
#define __SMP_IPI_H__
#include <rtthread.h>
typedef void (*smp_call_func_back)(void *data);
typedef rt_bool_t (*smp_cond)(int cpu, void *info);
typedef void (*rt_smp_call_func_back)(void *data);
typedef rt_bool_t (*rt_smp_cond)(int cpu, void *info);
#define SMP_CALL_EVENT_FUNC 0x1
@@ -15,7 +15,7 @@ struct rt_smp_event
int cpu_mask;
int event_id;
void *data;
smp_call_func_back func;
rt_smp_call_func_back func;
};
struct rt_smp_call
{
@@ -25,10 +25,10 @@ struct rt_smp_call
void rt_smp_call_ipi_handler(int vector, void *param);
void rt_smp_call_each_cpu(smp_call_func_back func, void *data,rt_uint8_t flag);
void rt_smp_call_each_cpu_cond(smp_call_func_back func, void *data,rt_uint8_t flag,smp_cond cond_func);
void rt_smp_call_any_cpu(int cpu_mask,smp_call_func_back func, void *data,rt_uint8_t flag);
void rt_smp_call_any_cpu_cond(int cpu_mask,smp_call_func_back func, void *data,rt_uint8_t flag,smp_cond cond_func);
void rt_smp_call_each_cpu(rt_smp_call_func_back func, void *data,rt_uint8_t flag);
void rt_smp_call_each_cpu_cond(rt_smp_call_func_back func, void *data,rt_uint8_t flag,rt_smp_cond cond_func);
void rt_smp_call_any_cpu(int cpu_mask,rt_smp_call_func_back func, void *data,rt_uint8_t flag);
void rt_smp_call_any_cpu_cond(int cpu_mask,rt_smp_call_func_back func, void *data,rt_uint8_t flag,rt_smp_cond cond_func);
void rt_smp_init(void);
#endif