build_embed_linux_system

驱动并发接口

conclusion

thread

kthread_run

kthread_create

wake_up_process

timer

timer_setup

mod_timer

del_timer

del_timer_sync

semaphore

sema_init

down

up

down_interruptible

down_timeout

mutex

mutex_init

mutex_lock

mutex_lock_interruptible

mutex_unlock

spinlock

spin_lock_init

spin_lock

spin_unlock

spin_trylock

spin_lock_irq

spin_unlock_irq

spin_lock_irqsave

spin_lock_irqrestore

spin_lock_bh

spin_unlock_bh

rwlock

rwlock_init

read_lock

read_unlock

read_lock_irqsave

read_unlock_irqstore

read_lock_irq

read_unlock_irq

read_lock_bh

read_unlock_bh

write_lock

write_unlock

write_lock_irqsave

write_unlock_irqstore

write_lock_irq

write_unlock_irq

write_lock_bh

write_unlock_bh

write_trylock

atomic

ATOMIC_INIT

atomic_inc

atomic_dec

atomic_read

atomic_set

atomic_add

atomic_sub

atomic_inc_and_test

atomic_dec_and_test

atomic_sub_and_test

atomic_add_return

atomic_sub_return

atomic_inc_return

atomic_dec_return

atomic_bit

clear_bit

set_bit

change_bit

test_bit

test_and_clear_bit

test_and_set_bit

test_and_change_bit

irq_protect

disable_irq_nosync

disable_hardirq

disable_irq

disable_percpu_irq

enable_irq

enable_percpu_irq

irq_percpu_is_enabled

irq_wake_thread

local_irq_disable

local_irq_enable

local_irq_save

local_irq_restore

local_bh_disable

local_bh_enable

completion

init_completion

reinit_completion

wait_for_completion_timeout

complete

wait_for_completion_interruptible_timeout

task

tasklet_init

tasklet_setup

tasklet_schedule

tasklet_kill

waitqueue

add_wait_queue

init_waitqueue_head

//函数原型
#define init_waitqueue_head(wq_head)

//参数
wq_head: struct wait_queue_head, 管理事件队列

//例程
init_waitqueue_head(&workload->shadow_ctx_status_wq);

remove_wait_queue

poll_wait

wait_event_xx

//函数原型
#define wait_event(wq_head, condition)  
#define wait_event_timeout(wq_head, condition, timeout)   //支持超时
#define wait_event_interruptible(wq_head, condition)      //支持中断唤醒
#define wait_event_interruptible_timeout(wq_head, condition, timeout)
#define wait_event_killable(wq_head, condition)           //支持
#define wait_event_interruptible_exclusive(wq, condition)

//参数
wq_head: struct wait_queue_head, 管理事件队列
condition: int,条件必须为真,否则一直等待
timeout: int,等待超时时间

//例程
init_waitqueue_head(&workload->shadow_ctx_status_wq);
atomic_set(&workload->shadow_ctx_active, 0);
wait_event(workload->shadow_ctx_status_wq, !atomic_read(&workload->shadow_ctx_active)

wake_up_xx

//函数原型
#define wake_up(wq_head)
#define wake_up_interruptible(wq_head)

//参数
wq_head: struct wait_queue_head, 管理事件队列

//例程
wake_up(&workload->shadow_ctx_active)

next_chapter

返回目录

直接开始下一节说明: I.MX6ULL设备树分析