伙计们,我为我的 i2c 设备编写了一个字符驱动程序。它正在使用 Linux 内核 3.0.8 在 Android 4.0.3 上运行。
当我尝试使用ioctl()
我的原生 Android 应用程序访问驱动程序时。我收到权限被拒绝错误。
如果我使用以下命令创建设备文件,我不会收到权限错误。
mknod /dev/barcodescan c 100 0
我不想一直手动发出这个命令,而是让模块在启动时执行它。我编写了以下代码,但出现权限被拒绝错误。如何在此代码中设置权限?
ret= register_chrdev(MAJOR_NUMBER,"barcode",&fops );
if(ret) {
pr_info(KERN_ERR "%s:register chrdev failed\n",__FILE__);
return ret;
}
i2c_dev_class = class_create(THIS_MODULE,"barcode");
if (IS_ERR(i2c_dev_class)) {
ret = PTR_ERR(i2c_dev_class);
class_destroy(i2c_dev_class);
}