diff options
Diffstat (limited to 'include/linux/bsg.h')
| -rw-r--r-- | include/linux/bsg.h | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/include/linux/bsg.h b/include/linux/bsg.h index 7173f6e9d2dd..ee2df73edf83 100644 --- a/include/linux/bsg.h +++ b/include/linux/bsg.h @@ -1,33 +1,19 @@ -#ifndef BSG_H -#define BSG_H +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_BSG_H +#define _LINUX_BSG_H #include <uapi/linux/bsg.h> +struct bsg_device; +struct device; +struct request_queue; -#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 *); -}; +typedef int (bsg_sg_io_fn)(struct request_queue *, struct sg_io_v4 *hdr, + bool open_for_write, unsigned int timeout); -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 +struct bsg_device *bsg_register_queue(struct request_queue *q, + struct device *parent, const char *name, + bsg_sg_io_fn *sg_io_fn); +void bsg_unregister_queue(struct bsg_device *bcd); -#endif +#endif /* _LINUX_BSG_H */ |
