linux driver 常用宏定义

MODULE_DEVICE_TABLE

static const struct i2c_device_id ov2643_id[] = {
	{ "ov2643", 0 },
	{ },
};

MODULE_DEVICE_TABLE(i2c, ov2643_id);
宏MODULE_DEVICE_TABLE() 把 ov2643_id 这个结构体导出到用户空间,使模块装载系统在装载模块时知道什么模块对应什么硬件设备。

第一个参数是设备的类型,如果是USB设备,那自然是usb(如果是PCI设备,那将是pci,这两个子系统用同一个宏来注册所支持的设备)。后面一个参数是设备表,这个设备表的最后一个元素是空的,用于标识结束。

详见:http://linux.chinaunix.net/techdoc/develop/2008/09/13/1032304.shtml

          http://hi.baidu.com/gbk128/blog/item/e2b61bfb959966374f4aea97.html

你可能感兴趣的:(c,linux,struct,Module,table)