platform_driver, platform_device
2012-07-17 11:31
246 查看
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;
};
struct device_driver {
const char
*name; // 此处驱动的命名应和相应设备命名一致
struct bus_type
*bus;
struct module
*owner;
const char
*mod_name; /* used for built-in modules */
bool suppress_bind_attrs;
/* disables bind/unbind via sysfs */
const struct of_device_id
*of_match_table;
int (*probe) (struct device *dev);
int (*remove) (struct device *dev);
void (*shutdown) (struct device *dev);
int (*suspend) (struct device *dev, pm_message_t state);
int (*resume) (struct device *dev);
const struct attribute_group **groups;
const struct dev_pm_ops *pm;
struct driver_private *p;
};
int platform_driver_register(struct platform_driver *drv);
说明:向内核注册platform_driver。
struct platform_device {
const char
* name; // 此处设备的命名应和相应驱动命名一致
int id;
struct device
dev;
u32 num_resources;
struct resource
* resource;
const struct platform_device_id
*id_entry;
/* MFD cell pointer */
struct mfd_cell *mfd_cell;
/* arch specific additions */
struct pdev_archdata
archdata;
};
int platform_device_register(struct platform_device *pdev);
说明:向内核注册platform_device。
struct platform_device *platform_device_alloc(const char *name, int id);
说明:create a platform device。
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;
};
struct device_driver {
const char
*name; // 此处驱动的命名应和相应设备命名一致
struct bus_type
*bus;
struct module
*owner;
const char
*mod_name; /* used for built-in modules */
bool suppress_bind_attrs;
/* disables bind/unbind via sysfs */
const struct of_device_id
*of_match_table;
int (*probe) (struct device *dev);
int (*remove) (struct device *dev);
void (*shutdown) (struct device *dev);
int (*suspend) (struct device *dev, pm_message_t state);
int (*resume) (struct device *dev);
const struct attribute_group **groups;
const struct dev_pm_ops *pm;
struct driver_private *p;
};
int platform_driver_register(struct platform_driver *drv);
说明:向内核注册platform_driver。
struct platform_device {
const char
* name; // 此处设备的命名应和相应驱动命名一致
int id;
struct device
dev;
u32 num_resources;
struct resource
* resource;
const struct platform_device_id
*id_entry;
/* MFD cell pointer */
struct mfd_cell *mfd_cell;
/* arch specific additions */
struct pdev_archdata
archdata;
};
int platform_device_register(struct platform_device *pdev);
说明:向内核注册platform_device。
struct platform_device *platform_device_alloc(const char *name, int id);
说明:create a platform device。
相关文章推荐
- platform_device和platform_driver(二)
- platform_device与platform_driver
- smmu学习笔记之device的platform_data和driver_data
- platform_device和platform_driver的注册过程,及probe函数何时调用的分析
- platform总线注册过程及platform_driver与platform_device的匹配
- platform_device与platform_driver
- platform_device与platform_driver
- Driver: to_platform_device 分析
- Linux Platform Device and Driver
- platform device driver
- Linux Platform Device and Driver
- Linux Platform Device and Driver [转]
- platform_device与platform_driver
- Linux Platform Device and Driver,platform_add_devices()->platform_driver_register()
- platform_driver_register(),platform_device_register()区别
- Linux Platform Device and Driver
- Linux Platform Device and Driver
- 关于platform_driver 是如何匹配 platform_device的和如何调用到platform_driver中的probe函数的研究
- linux平台设备驱动架构详解 Linux Platform Device and Driver
- Linux Platform Device and Driver