原创 LINUX設備驅動之設備模型二--kset
我們已經知道了kset內嵌了kobject來表示自身的節點,創建kset就要完成其內嵌kobject,註冊kset時會產生一個事件,事件而最終會調用uevent_ops字段指向結構中的函數,這個事件是通過用戶空間的hotplug程序
原创 camera learnning
drivers/media/video/msm/msm_io_7x27a.c msm_io_csi_irq()--> app: packages/apps/Camera/
原创 LINUX設備驅動之設備模型五--device&driver&bus(三)
接上一篇文章,繼續device_add()中的代碼: error = bus_add_device(dev); if (error) goto BusError; 在對應總線目錄下的d
原创 高級字符驅動學習--阻塞型I/0
提出問題:若驅動程序無法立即滿足請求,該如何響應? 比如:當數據不可用時調用read,或是在緩衝區已滿時,調用write 解決問題:驅動程序應該(默認)該阻塞進程,將其置入休眠狀態直到請求可繼續。 休眠: 當一個進程被置入休
原创 ubuntu 12.04下中文亂碼解決辦法
1. gedit查看txt中文亂碼 打開終端輸入: gsettings set org.gnome.gedit.preferences.encodings auto-detected"['GB18030', 'GB2312', 'GBK
原创 LINUX設備驅動之設備模型一--kobject
LINUX設備驅動驅動程序模型的核心數據結構是kobject,kobject數據結構在\linux\kobject.h中定義: struct kobject { const char *name;
原创 LINUX設備驅動之設備模型四--device&driver&bus(二)
接上一篇文章,在往總線註冊註冊設備前要先創建device,我們可以靜態的定義device結構變量,然後調用device_register()將其註冊,或者通過內核提供的device_create()接口函數創建和註冊device。先看看d
原创 LINUX設備驅動之輸入子系統(三)
三.input_event事件的處理 事件的處理處理的接口函數爲input_event,在\linux\input.h中還定義了、input_report_key、input_report_rel、input_report_abs、
原创 LINUX設備驅動之設備模型三--device&driver&bus(一)
在清楚了kobject之後,就可以繼續分析device、driver、bus了,這三者是設備驅動程序的基本數據結構。 我們可以這樣理解,內核用device來表示各種設備,然後用driver來表示它的驅動,而設備有很多種,也
原创 shell scritp---mail to myself
#!/bin/bash svn_info() { cd /home/andy/Project/svn svn upd
原创 LINUX設備驅動之輸入子系統(一)
在前面鍵盤驅動的分析中已經接觸到了輸入子系統,本文將結合鍵盤驅動,系統分析輸入子系統。 回想一下,在設備驅動匹配成功時,創建了一個input_dev並註冊到輸入子系統;在鍵盤中斷處理例程中向輸入子系統上報事件。 輸入子系統是所有I
原创 LINUX設備驅動之輸入子系統(二)
二.Input handler的註冊 在Input device的註冊中存在下列疑問: 1, 匹配dev和handler時,input_handler_list上的handler是什麼時候掛上去的呢? 2, 匹配成功後會調用相應han
原创 Linux mail
sudo apt-get install mailunitl 選擇 internet smarthost 點贊 收藏 分享 文章舉報 GangsterPan 發佈了18 篇原創
原创 LINUX設備驅動之serio總線(一)
serio總線也是kernel中的一種虛擬的串行輸入輸出總線,源碼\drivers\input\serio目錄下有很多與之相關的驅動程序。 一.serio初始化 和之前分析platform總線一樣,在系統啓動時初始化時也創建了serio_
原创 find
find ./ ".svn" -type d|grep ".svn"|xargs rm -rf