简单的驱动注册(platform)
设备注册讲完了,该驱动注册了.
老规矩,直接上代码:
extern int platform_driver_register(struct platform_driver *);
extern void platform_driver_unregister(struct platform_driver *);
经过上次的操作,咱们知道这两句就是驱动的注册和卸载函数.还是老样子,参数搞里头:
struct platform_driver {
int (*probe)(struct platform_device *);
int (*remove)(struct platform_device *);
void (*shutdown)(struct platform_device *);
int (*suspend)(struct platform_device *, pm_message_t state);
int (*resume)(struct platform_device *);
struct device_driver driver;
const struct platform_device_id *id_table;
};
.probe函数:platform_match函数匹配之后,驱动调用的初始化函数
.remove函数:移除驱动函数
.shutdown函数:关闭
.suspend函数:悬挂(休眠)驱动函数
.resume函数:休眠后恢复驱动.
device_driver数据结构:– name和注册的设备name要一致
– owner一般赋值THIS_MODULE
##还还还读完是不是豁然开朗?qwq