原创 基於MTK 的 TP 驅動分析

1. 克隆服務器工程源碼並切換分支  git clone [email protected]: mt658292_kk v9  git checkout -b submit_v9_dongxf_tp_modify_v1.0_2014

原创 static char __setup_str_##unique_id[] __initdata __aligned(1) = str

__setup這條宏在Linux Kernel中使用最多的地方就是定義處理Kernel的啓動參數的函數及數據結構,宏定義如下: #define __setup(str, fn) \ __setup_param(str, fn, fn,

原创 Linux Input子系統之第一篇(input_dev/input_handle/input_handler)

Input子系統是linux kernel中與部分外圍器件驅動聯繫比較緊密的模塊,常用於Sensor,TP(touch panel),power key等器件的驅動。這類模塊有個共同特點:字符設備,且數據量都不大,比如sensor一般最

原创 android5.0充電驅動學習

驅動流程分析(battery_common.c): /* Integrate with NVRAM */ret = alloc_chrdev_region(&adc_cali_devno, 0, 1, ADC_CALI_DEVNAME)

原创 device_create詳解

在驅動程序中初始化入口函數中,向內核註冊一個設備後,往往要註冊一個類 例如static int __init mydriver_init(void) //驅動程序的初始化 {      ……     MYDRIVER_Major =

原创 MTK手機皮套驅動實現驅動代碼分析

平臺:MTK6592,KK 修改文件路徑: alps\bird\custom\1481G\kernel\touchpanel\GT9158\gt9xx_driver.c 代碼分析: kpd.c: flip代碼分析 1. #if KPD_

原创 什麼是sys文件系統

1. 什麼是sysfs sysfs是Linux 內核中設計較新的一種虛擬的基於內存的文件系統,它的作用與 proc 有些類似,但除了與 proc 相同的具有查看和設定內核參數功能之外,還有爲 Linux 統一設備模型作爲管理之用。相比於 

原创 Linux內核 kthread_run函數 理解學習

Linux內核 kthread_run函數 理解學習 [日期:2011-12-04] 來源:Linux社區  作者:Linux [字體:大 中 小] 最近發現在內核創建線程的時候經常會用到kthread_run()這樣的一個調用。

原创 通過NFS啓動自制的網絡文件系統遇到的問題總結

在此要特別感謝技術上的發燒友們提供的帖子給我的幫助,搞了整整一天終於搞定了。     搭建好開發環境後,內核鏡像燒寫,flash的分區全部都弄好了,ubi文件系統備好了,準備通過NFS方式啓動,它妹的出現瞭如下的問題。      

原创 字符設備 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()

1. 字符設備結構體   內核中所有已分配的字符設備編號都記錄在一個名爲 chrdevs 散列表裏。該散列表中的每一個元素是一個 char_device_struct 結構,它的定義如下:   static struct char_d

原创 Ubuntu10.04升級到12.04

原來是使用Ubuntu10.04版本,由於工作要求,因爲剛剛花了九牛二虎之力下載了android的源代碼和編譯,所以又不想換系統,就在原系統下升級。由於是用校園網升級速度好慢,又是在虛擬機下,斷斷續續的更新下載竟然花了幾天時間。呵呵~其

原创 高精度定時器hrtimer使用示例

平臺:MTK_android_KK_1483M_W503_mt6582 touch_panel_gt9158_hotknot驅動裏面添加部分如下: #include <linux/time.h> #define GT9158_kthre

原创 linux2.6內核,如何指定內核啓動參數

前兩天調試加載文件系統時,由於cfe中參數寫不進去,直接在內核中寫死參數,碰到一個問題:static int __init init_setup(char *str) { unsigned int i; execute_comman

原创 makefile中的patsubst

1、wildcard : 擴展通配符 2、notdir : 去除路徑 3、patsubst :替換通配符 例子: 建立一個測試目錄,在測試目錄下建立一個名爲sub的子目錄 $ mkdir test $ cd test $ mkd

原创 一些shell命令

select 表達式是一種bash的擴展應用,動作包括:   (1)、自動用1,2,3,4列出菜單 (沒有echo指令,自動顯示菜單)   (2)、自動read輸入選擇 (沒有 read指令,自動輸入)   (3)、賦值給變量  (沒有