io_uring: Add missing inline to io_uring_cmd_import_fixed() dummy
[platform/kernel/linux-starfive.git] / include / linux / io_uring.h
index 4a2f6cc..43bc8a2 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <linux/sched.h>
 #include <linux/xarray.h>
+#include <uapi/linux/io_uring.h>
 
 enum io_uring_cmd_flags {
        IO_URING_F_COMPLETE_DEFER       = 1,
@@ -20,14 +21,20 @@ enum io_uring_cmd_flags {
 struct io_uring_cmd {
        struct file     *file;
        const void      *cmd;
-       /* callback to defer completions to task context */
-       void (*task_work_cb)(struct io_uring_cmd *cmd);
+       union {
+               /* callback to defer completions to task context */
+               void (*task_work_cb)(struct io_uring_cmd *cmd);
+               /* used for polled completion */
+               void *cookie;
+       };
        u32             cmd_op;
-       u32             pad;
+       u32             flags;
        u8              pdu[32]; /* available inline for free use */
 };
 
 #if defined(CONFIG_IO_URING)
+int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
+                             struct iov_iter *iter, void *ioucmd);
 void io_uring_cmd_done(struct io_uring_cmd *cmd, ssize_t ret, ssize_t res2);
 void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd,
                        void (*task_work_cb)(struct io_uring_cmd *));
@@ -55,6 +62,11 @@ static inline void io_uring_free(struct task_struct *tsk)
                __io_uring_free(tsk);
 }
 #else
+static inline int io_uring_cmd_import_fixed(u64 ubuf, unsigned long len, int rw,
+                             struct iov_iter *iter, void *ioucmd)
+{
+       return -EOPNOTSUPP;
+}
 static inline void io_uring_cmd_done(struct io_uring_cmd *cmd, ssize_t ret,
                ssize_t ret2)
 {