/************************************************************************************                      Linux driver 板级文件跟踪一般方法*  声明:*      1. 这是本人使用vim+ctags最常用的跟踪方法,也是唯一的方法;  :)*      2. 本人已经在跟踪线上标注了跟踪序号,也就是先后循序;*      3. 就目前而言,这种方法貌似是通用的;*      4. 这个例子仅仅是简单的演示,并没有全部展开,如果想要进一步跟踪,*          继续跟就行了。*      5. 源代码来自:myzr_android4_2_2_1_1_0.tar.bz2**                                    2015-6-12 晴 深圳 南山平山村 曾剑锋**********************************************************************************/cat arch/arm/mach-mx6/board-mx6q_sabresd.c......
#define SABRESD_POWER_OFF   IMX_GPIO_NR(3, 29)          <--------------------------+
......                                                                             ||
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)          |
#define GPIO_BUTTON(gpio_num, ev_code, act_low, descr, wake, debounce)  \ <------+ |
{                               \                                                | |.gpio       = gpio_num,             \                                        | |.type       = EV_KEY,               \                                        | |.code       = ev_code,              \                                        | |.active_low = act_low,              \                                        | |.desc       = "btn " descr,             \                                    | |.wakeup     = wake,                 \                                        ^ |.debounce_interval = debounce,              \                                | |
}                                                                                | || |
static struct gpio_keys_button new_sabresd_buttons[] = {        <-----<-------+  | |//GPIO_BUTTON(SABRESD_VOLUME_UP, KEY_VOLUMEUP, 1, "volume-up", 0, 1),     |  | |//GPIO_BUTTON(SABRESD_VOLUME_DN, KEY_VOLUMEDOWN, 1, "volume-down", 0, 1), |  | |GPIO_BUTTON(SABRESD_POWER_OFF, KEY_POWER, 1, "power-key", 1, 1), --6->----*--+ |
};                    ^-----------------------7-------------------------------*----+|
static struct gpio_keys_platform_data new_sabresd_button_data = {  <-------+  |.buttons    = new_sabresd_buttons,       >-------5----->---------------*--+.nbuttons   = ARRAY_SIZE(new_sabresd_buttons),                         |
};                                                                         ||
static struct platform_device sabresd_button_device = { <--+               |.name           = "gpio-keys",                         |               |.id             = -1,                                  |               ^.num_resources  = 0,                                   |               |
};                                                         |               ||               |
static void __init imx6q_add_device_buttons(void)    <-----*-------+       |
{                                                          |       |       |platform_device_add_data(&sabresd_button_device,  >--3-+       |       |&new_sabresd_button_data,                          |       |sizeof(new_sabresd_button_data));   >---4----------*-------+|platform_device_register(&sabresd_button_device);              |
}                                                                  |||
......                                                             ^
/*!                                                                |* Board specific initialization.                                  |*/                                                                |
static void __init mx6_sabresd_board_init(void)   <------------<---*--------<-----+
{                                                                  |              |......                                                         |              |imx6q_add_device_buttons(); ------>-------2------>-------------+              |......                                                                        |
}                                                                                 ||
......                                                                            |
/*                                                                                ^* initialize __mach_desc_MX6Q_SABRESD data structure.                            |*/                                                                               |
MACHINE_START(MX6Q_SABRESD, "Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board")  |/* Maintainer: Freescale Semiconductor, Inc. */                               |.boot_params = MX6_PHYS_OFFSET + 0x100,                                       |.fixup = fixup_mxc_board,                                                     |.map_io = mx6_map_io,                                                         |.init_irq = mx6_init_irq,                                                     |.init_machine = mx6_sabresd_board_init,  ----->-------1------>------->--------+.timer = &mx6_sabresd_timer,.reserve = mx6q_sabresd_reserve,
MACHINE_END

Linux driver 板级文件跟踪一般方法相关推荐

  1. linux x86板级文件,Linux driver 板级文件跟踪一般方法

    /*********************************************************************************** * Linux driver ...

  2. linux 为开发板添加板级文件config.h

    新的板子  需要在之前的板子基础上 做一些改动  首先就是要配置自己的板级文件 参考陈富林博客 这个写的很详细 https://www.cnblogs.com/chenfulin5/p/6393415 ...

  3. Linux内核中读写文件数据的方法

    Linux内核中读写文件数据的方法     有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数, ...

  4. 【转】 Linux内核中读写文件数据的方法--不错

    原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法     有时候需要在Linuxkernel ...

  5. kernel 3.2.0 上加入自己的板级文件

    第一步.复制自己的参考的板级文件 cp arch/arm/mach-omap2/board-am335xevm.c arch/arm/mach-omap2/board-aplex_ECM_5412.c ...

  6. ( 杰理 AC695x ) 板级文件的配置

    最近使用了杰理695x系列芯片来做项目,这里分享下经验给小伙伴哈~具体的还需要自己看sdk啦~~ 一. AC695X 音箱sdk板级文件的配置 这里一般使用demo,然后在board_ac695x_d ...

  7. IMX6Q,fsl,mxc_sdc_fb显示屏驱动移植,板级文件到设备树

    使用的是飞凌OKMX6Q/DL-C板子,和它对应的FIT-LVDS 10.1吋液晶显示模块.由3.0.35的板级文件移植到飞思卡尔官方IMX6Q的4.1.15内核的设备树使用,设备树关于显示部分也是参 ...

  8. linux 开发板传文件,linux下使用minicom传送文件到开发板

    下载tar zxvf lrzsz-0.12.20.tar.gz 得到我们想要的解压包 进入到那个文件夹下.输入./configure –prefix=/usr/local/lrzsz 执行完之后,键入 ...

  9. ubuntu linux下下打开iso文件两种方法,linux Ubuntu的ISO镜像怎么安装啊?解压出来后运行那个文件?...

    匿名用户 1级 2008-09-29 回答 WUBI安装方式(推荐给第一次接触ubuntu,担心安装会出问题的朋友使用) 在8.04的live 光盘支持WUBI安装方式,在光盘的根目录,有一个wubi ...

  10. Linux下打开ISO文件两种方法

    方法一.Linux下用mount挂载命令 在网上下载的软件盘是iso格式的,不刻成光盘就可以读取里面的文件.不用解压. 在终端用mount -o loop /mnt/*/1.iso /mnt/cdro ...

最新文章

  1. 使用Python,OpenCV进行平滑和模糊
  2. thinkcmf5调用指定分类的二级_Tengine快速上手系列教程amp;视频:基于Python API的图片分类应用入门丨附彩蛋...
  3. Handler造成Activity泄漏,用弱引用真的有用么?
  4. 类的笔记整理__7-10__
  5. 使用idea创建gradle的springboot工程
  6. stm32 led屏控制卡_室内LED显示屏如何安装?
  7. jvm 错误_JVM因“ OutOfMemory”错误而关闭-我该怎么办?
  8. 日志log4cxx 封装、实例讲解、配置文件log4cxx.properties
  9. python中的@property(get与set作用
  10. 通过手机物理返回键实现弹出层的隐藏
  11. QQ消息支持HTML吗,WebQQ全面升级支持IE9 HTML5无处不在
  12. Oracle中的函数(详细!!!)
  13. 华为员工晒百万收入,网友:看来我对华为也有误解
  14. 转载 | 自动驾驶中的9种传感器融合算法
  15. STM32F103C8T6个人学习之路01-芯片介绍
  16. 呼叫中心客服人员的秘密生活:同理心永远不会让你遭殃
  17. java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar
  18. STM32F4XX的DFU功能
  19. 紫外线探测器SG01D-C18应用于紫外光刻机
  20. python进行数据分析时excel表格的导入(Anaconda)

热门文章

  1. js中Array数组基本方法
  2. java_函数的内存加载过程
  3. Python原理 -- 深浅拷贝
  4. 要想成功必须具备的九种手段
  5. Effective C# Item47:选择安全代码
  6. Java线程之生命周期
  7. Spring MVC使用@RestController生成JSON示例
  8. 内联元素与内联块状元素
  9. 只让类访问, 而不让类的实例来访问某个成员变量
  10. Windows Server 2012 克隆修改SID