io_uring: make io_uring_sqe_cmd() unconditionally available
authorJens Axboe <axboe@kernel.dk>
Mon, 8 May 2023 18:13:27 +0000 (12:13 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 9 May 2023 13:59:54 +0000 (07:59 -0600)
commit293007b033418c8c9d1b35d68dec49a500750fde
treec38fbdba67c576c1160ae187e52ebe84979da3d5
parentac9a78681b921877518763ba0e89202254349d1b
io_uring: make io_uring_sqe_cmd() unconditionally available

If CONFIG_IO_URING isn't set, then io_uring_sqe_cmd() is not defined.
As the nvme driver uses this helper, it causes a compilation issue:

 drivers/nvme/host/ioctl.c: In function 'nvme_uring_cmd_io':
 drivers/nvme/host/ioctl.c:555:44: error: implicit declaration of function 'io_uring_sqe_cmd'; did you mean 'io_uring_free'? [-Werror=implicit-function-declaration]
   555 |         const struct nvme_uring_cmd *cmd = io_uring_sqe_cmd(ioucmd->sqe);
       |                                            ^~~~~~~~~~~~~~~~
       |                                            io_uring_free

Fix it by just making io_uring_sqe_cmd() generally available - the types
are known, and there's no reason to hide it under CONFIG_IO_URING.

Fixes: fd9b8547bc5c ("io_uring: Pass whole sqe to commands")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring.h