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