皆さん、i2c デバイス用の char ドライバーを書きました。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);
}