1 /* SPDX-License-Identifier: GPL-2.0 */ 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) 25