xref: /linux-6.15/include/linux/bsg.h (revision 1991299e)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
217cb960fSChristoph Hellwig #ifndef _LINUX_BSG_H
317cb960fSChristoph Hellwig #define _LINUX_BSG_H
43d6392cfSJens Axboe 
5607ca46eSDavid Howells #include <uapi/linux/bsg.h>
64ab3b73fSDouglas Gilbert 
7ead09dd3SChristoph Hellwig struct bsg_device;
8ead09dd3SChristoph Hellwig struct device;
978011042SChristoph Hellwig struct request_queue;
1045977d0eSFUJITA Tomonori 
1175ca5640SChristoph Hellwig typedef int (bsg_sg_io_fn)(struct request_queue *, struct sg_io_v4 *hdr,
12*1991299eSChristoph Hellwig 		bool open_for_write, unsigned int timeout);
1317cb960fSChristoph Hellwig 
14ead09dd3SChristoph Hellwig struct bsg_device *bsg_register_queue(struct request_queue *q,
15ead09dd3SChristoph Hellwig 		struct device *parent, const char *name,
1675ca5640SChristoph Hellwig 		bsg_sg_io_fn *sg_io_fn);
17ead09dd3SChristoph Hellwig void bsg_unregister_queue(struct bsg_device *bcd);
183d6392cfSJens Axboe 
1917cb960fSChristoph Hellwig #endif /* _LINUX_BSG_H */
20