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