嵌入式linux之按键驱动(platform)

这篇博客详细介绍了嵌入式Linux系统中,如何在platform总线下进行按键驱动的开发。从platform总线结构开始,包括device和driver的定义,然后深入到按键驱动的程序目录,展示了设备注册和driver匹配的过程。特别强调了driver_match_device函数在匹配过程中的关键作用,以及platform_device的注册流程,最后解释了当device和driver匹配成功后,如何在probe函数中完成硬件的具体配置。
摘要由CSDN通过智能技术生成

1、platform总线结构:
device:挂接在platform总线下的设备, platform_device结构体类型
driver:挂接在platform总线下,是个与某种设备相对于的驱动, platform_driver结构体类型是个全局变量
platform_bus_type:属于虚拟设备总线,通过这个总线将设备和驱动联系起来,属于Linux中bus的一种
struct bus_type platform_bus_type = {
.name = “platform”, //设备名称
.dev_attrs = platform_dev_attrs, //设备属性、含获取sys文件名,该总线会放在/sys/bus下
.match = platform_match, //匹配设备和驱动,匹配成功就调用driver的.probe函数
.uevent = platform_uevent, //消息传递,比如热插拔操作
.suspend = platform_suspend, //电源管理的低功耗挂起
.suspend_late = platform_suspend_late,
.resume_early = platform_resume_early,
.resume = platform_resume,   //恢复
};

2、linux按键驱动,程序目录:/drivers/input/keybard/gpio_keys.c

注册和注销一个platform的driver:
在这里插入图片描述
设备结构体gpio_keys_device_driver定义ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值