| /* SPDX-License-Identifier: GPL-2.0 */ |
| |
| struct lm_device { |
| struct device dev; |
| struct resource resource; |
| unsigned int irq; |
| unsigned int id; |
| }; |
| |
| struct lm_driver { |
| struct device_driver drv; |
| int (*probe)(struct lm_device *); |
| void (*remove)(struct lm_device *); |
| int (*suspend)(struct lm_device *, pm_message_t); |
| int (*resume)(struct lm_device *); |
| }; |
| |
| int lm_driver_register(struct lm_driver *drv); |
| void lm_driver_unregister(struct lm_driver *drv); |
| |
| int lm_device_register(struct lm_device *dev); |
| |
| #define lm_get_drvdata(lm) dev_get_drvdata(&(lm)->dev) |
| #define lm_set_drvdata(lm,d) dev_set_drvdata(&(lm)->dev, d) |