关于驱动的一个问题。

#define DCMD_C429 __DIOTF(_DCMD_ALL, 29,Ctl_c429)
#define IOCTL_C429_READ_REGISTER_ULONG 0x31
#define IOCTL_C429_WRITE_REGISTER_ULONG 0x32
__DIOTF(_DCMD_ALL, 29,Ctl_cbmk)中的第二个参数( 29 ),详细的解释是什么。我觉得就是一个数字,不同于其他命令的,但是这个数字是不是随便给的,30,31。。,可以不?

/usr/include/devctl.h 有关于class和cmd的说明。

那我说的好像错了。不同的驱动最好不可以都用29,下面的0X31,0X32,最好也变变。
对不对,xtang.我想确定一下。

如果是你自己的DCMD,最好另起一个class,这样可以用任何cmd.

象你现在用了_DCMD_ALL class,那就要保证cmd跟现有的没有冲突。可以看看 sys/dcmd_all.h,只要29, 30, 31跟现有的没有冲突就可以了。

我懂了,谢谢你。xtang