设为首页 加入收藏

TOP

DM355上按键程序(三)
2014-11-24 08:20:26 来源: 作者: 【 】 浏览:5
Tags:DM355 按键 程序
rr) {
printk("Error : Error in Adding Davinci buttons");
unregister_chrdev_region(dev, BUTTON_NR_DEVS);
return -err;
}
af_class = class_simple_create(THIS_MODULE, DEVICE_NAME);


if (!af_class) {
printk("Error : Error in creating device class");
unregister_chrdev_region(dev, BUTTON_NR_DEVS);
class_simple_device_remove(dev);
class_simple_destroy(af_class);
cdev_del(&c_dev);
return -EIO;
}


result =devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR,DEVICE_NAME);
if (result < 0) {
printk("Error : Error in devfs_mk_cdev");
unregister_chrdev_region(dev, BUTTON_NR_DEVS);
class_simple_device_remove(dev);
class_simple_destroy(af_class);
cdev_del(&c_dev);
return result;
}


/* register simple device class */
class_simple_device_add(af_class, dev, NULL, DEVICE_NAME);


printk("Button register Successfully\n");
return 0;
}


/*
*
*/
static void __exit davinci_buttons_exit(void)
{
/* 卸载驱动程序 */
unregister_chrdev_region(dev, BUTTON_NR_DEVS);
/* remove simple class device */
class_simple_device_remove(dev);

devfs_remove(DEVICE_NAME);


/* destroy simple class */
class_simple_destroy(af_class);

cdev_del(&c_dev);
printk("Button register release\n");
}


/* 这两行指定驱动程序的初始化函数和卸载函数 */
module_init(davinci_buttons_init);
module_exit(davinci_buttons_exit);


/* 描述驱动程序的一些信息,不是必须的 */
MODULE_AUTHOR("jiaxinxu"); // 驱动程序的作者
MODULE_DESCRIPTION("JC_IR BUTTON Driver"); // 一些描述信息
MODULE_LICENSE("GPL"); // 遵循的协议


insmod驱动后


输入cat /dev/buttons 显示按键的输出


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java堆内存Heap与非堆内存Non-Heap 下一篇Python之os模块的进程管理介绍

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)
·关于 MySQL 数据库学 (2025-12-26 23:20:16)
·SOLVED: Ubuntu 24.0 (2025-12-26 22:51:53)
·Linux 常用命令最全 (2025-12-26 22:51:50)