Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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) |