24 lines
		
	
	
	
		
			590 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
	
		
			590 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | 
 | ||
|  | 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)
 |