1
2
3 struct lm_device {
4 struct device dev;
5 struct resource resource;
6 unsigned int irq;
7 unsigned int id;
8 };
9
10 struct lm_driver {
11 struct device_driver drv;
12 int (*probe)(struct lm_device *);
13 void (*remove)(struct lm_device *);
14 int (*suspend)(struct lm_device *, pm_message_t);
15 int (*resume)(struct lm_device *);
16 };
17
18 int lm_driver_register(struct lm_driver *drv);
19 void lm_driver_unregister(struct lm_driver *drv);
20
21 int lm_device_register(struct lm_device *dev);
22
23 #define lm_get_drvdata(lm) dev_get_drvdata(&(lm)->dev)
24 #define lm_set_drvdata(lm,d) dev_set_drvdata(&(lm)->dev, d)