본문 바로가기

Programming/Linux_Kernel

linux coding tip / guide

1. 상태 변수는 atomic 함수를 사용하라.

atomic_set(&hdmi_status, HDMI_ON);

if (atomic_read(&hdmi_status)) {
...
}




2. work 가 중복 실행되기를 원하지 않는다면 schedule_work 를 호출하기 전에 pending 검사를 하라.

       if (!work_pending(p_work)) {
               schedule_work(p_work);
       }


3. gpio_request 를 호출하였으면 gpio_free를 호출하라.
내부적으로 chip->state[chip_index].refcount 를 가지고 있어서 request 때 +1, free 때 -1 을 호출하며 관리합니다.
지금 내부 소스를 보면 크게 동작에 영향을 주진 않지만 해당 카운트를 관리하는 목적에서는 컨트롤 하는것이 좋습니다.

계속 업데이트...