驱动学习4-注册设备和驱动

(在内核文件include/linux/platform_device.h中,定义了platform_device结构体)

注册设备的步骤:

1.在内核文件arch/arm/mach-exynos/mach-itop4412.c中注册平台设备结构体platform_device s3c_device_leds_ctl中

需要定义name、id等。在platform_device *smdk4×12_device[] __initdata中需要定义s3c_device_leds_ctl

2.保证.config中已经定义了宏定义

3.重新编译

(在内核文件include/linux/platform_device.h中,定义了int platform_driver_register(struct platform_driver *)函数和void platform_driver_unregister(struct platform_driver *)函数用于注册和卸载驱动)

定义了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;            
}
原文地址:https://www.cnblogs.com/yiyedada/p/5746640.html