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驅動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM