blob: 172966a699bdc33af03194d4fb0875263229b11e [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002
3struct lm_device {
4 struct device dev;
5 struct resource resource;
6 unsigned int irq;
7 unsigned int id;
8};
9
10struct 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
18int lm_driver_register(struct lm_driver *drv);
19void lm_driver_unregister(struct lm_driver *drv);
20
21int 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)