您的位置:首页 > 其它

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struct module table