| #ifndef BSG_H | 
 | #define BSG_H | 
 |  | 
 | #include <uapi/linux/bsg.h> | 
 |  | 
 |  | 
 | #if defined(CONFIG_BLK_DEV_BSG) | 
 | struct bsg_class_device { | 
 | 	struct device *class_dev; | 
 | 	struct device *parent; | 
 | 	int minor; | 
 | 	struct request_queue *queue; | 
 | 	struct kref ref; | 
 | 	void (*release)(struct device *); | 
 | }; | 
 |  | 
 | extern int bsg_register_queue(struct request_queue *q, | 
 | 			      struct device *parent, const char *name, | 
 | 			      void (*release)(struct device *)); | 
 | extern void bsg_unregister_queue(struct request_queue *); | 
 | #else | 
 | static inline int bsg_register_queue(struct request_queue *q, | 
 | 				     struct device *parent, const char *name, | 
 | 				     void (*release)(struct device *)) | 
 | { | 
 | 	return 0; | 
 | } | 
 | static inline void bsg_unregister_queue(struct request_queue *q) | 
 | { | 
 | } | 
 | #endif | 
 |  | 
 | #endif |