openwrt 实现hotplug-button

来源:互联网 发布:剑指offer java版 编辑:程序博客网 时间:2024/05/21 05:43

openwrt 实现hotplug-button

<*> kmod-gpio-button-hotplug…………….Simple GPIO Button Hotplug driver

gpio-button-hotplug是gpio-button  platform总线的driver,负责与name为gpio-button-hotplug的platform总线 device匹配

源代码:./build_dir/linux-ralink_mt7620/gpio-button-hotplug/gpio-button-hotplug.c

 

<*> kmod-input-polldev……………………… Polled Input device support

是input system的input_dev,采用采取轮询方式,不断通过input_gpio_button查询GPIO状态,然后发送input event。

源代码: ./build_dir/linux-ralink_mt7620/linux-3.3.8/drivers/input/input-polldev.c

 

<*> kmod-button-hotplug………………………….. Button Hotplug driver

button-hotplug是面向应用层接口的,把input_event转换成hotplug消息。这个主要是内核的hotplug机制(通过内核netlink技术广播对象消息,从而支持热插拔之类的)。OpenWRT用的是hotplug2,具体配置在/etc/hotplug.d下。如果要在应用层处理按键事件,就新建/etc/hotplug.d/button目录,写个测试脚本;

源代码:./build_dir/linux-ralink_mt7620/button-hotplug/button-hotplug.c

 

源代码:

build_dir/linux-ralink_mt7620/linux-3.3.8/arch/mips/ralink/dev-gpio-buttons.c

build_dir/linux-ralink_mt7620/linux-3.3.8/arch/mips/ralink/boards/wr8305rt-board.c

上面dev-gpio-buttons.c是gpio button platform driver注册;boards/wr8305rt-board.c是特定的board板platform 总线的button device驱动

原创粉丝点击