@@ -16,6 +16,7 @@
#include <linux/spinlock.h>
#include <linux/list.h>
#include <linux/rculist.h>
+#include <linux/completion.h>
#include <linux/configfs.h>
#include <linux/ratelimit.h>
#include <scsi/scsi_proto.h>
@@ -4,7 +4,7 @@
#ifndef _DRM_AUDIO_COMPONENT_H_
#define _DRM_AUDIO_COMPONENT_H_
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/types.h>
struct drm_audio_component;
@@ -26,7 +26,7 @@
#include <drm/spsc_queue.h>
#include <linux/dma-fence.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/xarray.h>
#include <linux/wait_types.h>
#include <linux/workqueue_types.h>
@@ -3,7 +3,7 @@
#define _FS_CEPH_OSD_CLIENT_H
#include <linux/bitrev.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/kref_types.h>
#include <linux/mempool.h>
#include <linux/rbtree_types.h>
@@ -9,25 +9,9 @@
* See kernel/sched/completion.c for details.
*/
+#include <linux/completion_types.h>
#include <linux/swait.h>
-/*
- * struct completion - structure used to maintain state for a "completion"
- *
- * This is the opaque structure used to maintain the state for a "completion".
- * Completions currently use a FIFO to queue threads that have to wait for
- * the "completion" event.
- *
- * See also: complete(), wait_for_completion() (and friends _timeout,
- * _interruptible, _interruptible_timeout, and _killable), init_completion(),
- * reinit_completion(), and macros DECLARE_COMPLETION(),
- * DECLARE_COMPLETION_ONSTACK().
- */
-struct completion {
- unsigned int done;
- struct swait_queue_head wait;
-};
-
#define init_completion_map(x, m) init_completion(x)
static inline void complete_acquire(struct completion *x) {}
static inline void complete_release(struct completion *x) {}
new file mode 100644
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __LINUX_COMPLETION_TYPES_H
+#define __LINUX_COMPLETION_TYPES_H
+
+/*
+ * (C) Copyright 2001 Linus Torvalds
+ *
+ * Atomic wait-for-completion handler data structures.
+ * See kernel/sched/completion.c for details.
+ */
+
+#include <linux/swait_types.h>
+
+/*
+ * struct completion - structure used to maintain state for a "completion"
+ *
+ * This is the opaque structure used to maintain the state for a "completion".
+ * Completions currently use a FIFO to queue threads that have to wait for
+ * the "completion" event.
+ *
+ * See also: complete(), wait_for_completion() (and friends _timeout,
+ * _interruptible, _interruptible_timeout, and _killable), init_completion(),
+ * reinit_completion(), and macros DECLARE_COMPLETION(),
+ * DECLARE_COMPLETION_ONSTACK().
+ */
+struct completion {
+ unsigned int done;
+ struct swait_queue_head wait;
+};
+
+#endif
@@ -11,7 +11,7 @@
#include <linux/clk.h>
#include <linux/cpu.h>
#include <linux/cpumask.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/kobject_types.h>
#include <linux/notifier.h>
#include <linux/of.h>
@@ -14,7 +14,7 @@
#include <linux/atomic.h>
#include <linux/device.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/workqueue_types.h>
#include <linux/debugfs.h>
#include <linux/numa.h>
@@ -2,7 +2,7 @@
#ifndef _LINUX_FIREWIRE_H
#define _LINUX_FIREWIRE_H
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/kernel.h>
@@ -9,7 +9,7 @@
#ifndef __OPERATION_H
#define __OPERATION_H
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/kref_types.h>
#include <linux/timer_types.h>
#include <linux/types.h>
@@ -12,7 +12,7 @@
#ifndef LINUX_HWRANDOM_H_
#define LINUX_HWRANDOM_H_
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/types.h>
#include <linux/list.h>
#include <linux/kref_types.h>
@@ -18,7 +18,7 @@
#include <linux/types.h>
#include <linux/scatterlist.h>
#include <linux/list.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/device.h>
#include <linux/mod_devicetable.h>
#include <linux/interrupt.h>
@@ -11,7 +11,7 @@
#include <linux/module.h>
#include <linux/ftrace.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/list.h>
#include <linux/livepatch_sched.h>
@@ -6,7 +6,7 @@
#include <linux/of.h>
#include <linux/types.h>
#include <linux/hrtimer_types.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
struct device;
struct mbox_chan;
@@ -6,7 +6,7 @@
* Cirrus Logic International Semiconductor Ltd.
*/
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/device.h>
#include <linux/gpio/consumer.h>
#include <linux/mutex_types.h>
@@ -13,7 +13,7 @@
#include <linux/interrupt.h>
#include <linux/regmap.h>
#include <linux/slab.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/list.h>
#include <linux/mfd/core.h>
@@ -11,7 +11,7 @@
#include <linux/kernel.h>
#include <linux/mutex_types.h>
#include <linux/interrupt.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/regmap.h>
#include <linux/mfd/wm8350/audio.h>
@@ -36,7 +36,7 @@
#include <linux/auxiliary_bus.h>
#include <linux/if_ether.h>
#include <linux/pci.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/radix-tree.h>
#include <linux/cpu_rmap.h>
#include <linux/crash_dump.h>
@@ -35,6 +35,7 @@
#include <linux/mlx5/driver.h>
#include <linux/refcount.h>
+#include <linux/completion.h>
struct mlx5_core_cq {
u32 cqn;
@@ -34,7 +34,7 @@
#define MLX5_DRIVER_H
#include <linux/kernel.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/pci.h>
#include <linux/irq.h>
#include <linux/spinlock_types.h>
@@ -5,7 +5,7 @@
#ifndef LINUX_MMC_CORE_H
#define LINUX_MMC_CORE_H
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/types.h>
struct mmc_data;
@@ -10,7 +10,7 @@
#define __LINUX_MTD_ONENAND_H
#include <linux/spinlock_types.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/mtd/flashchip.h>
#include <linux/mtd/onenand_regs.h>
#include <linux/mtd/bbm.h>
@@ -8,7 +8,7 @@
#ifndef __SH_FLCTL_H__
#define __SH_FLCTL_H__
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/rawnand.h>
#include <linux/mtd/partitions.h>
@@ -56,7 +56,7 @@
#ifndef _NTB_H_
#define _NTB_H_
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/device.h>
#include <linux/interrupt.h>
@@ -14,7 +14,7 @@
#include <linux/spinlock_types.h>
#include <linux/wait_types.h>
#include <linux/hrtimer_types.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#ifdef CONFIG_PM_CLK
#include <linux/mutex_types.h>
@@ -7,7 +7,7 @@
*/
#include <linux/rcupdate.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/sched.h>
/*
@@ -8,6 +8,7 @@
#include <linux/sched.h>
#include <linux/sched/jobctl.h>
#include <linux/sched/task.h>
+#include <linux/completion_types.h>
#include <linux/cred.h>
#include <linux/refcount.h>
#include <linux/pid.h>
@@ -6,7 +6,7 @@
#ifndef __QMI_HELPERS_H__
#define __QMI_HELPERS_H__
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/idr.h>
#include <linux/list.h>
#include <linux/qrtr.h>
@@ -8,7 +8,7 @@
#include <linux/acpi.h>
#include <linux/bits.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/device.h>
#include <linux/gpio/consumer.h>
#include <linux/kthread.h>
@@ -12,7 +12,7 @@
#define _LINUX_SRCU_TREE_H
#include <linux/rcu_node_tree.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/mutex_types.h>
#include <linux/workqueue.h>
@@ -18,7 +18,7 @@
#include <linux/kref_types.h> /* for struct kref */
#include <linux/device.h> /* for struct device */
#include <linux/fs.h> /* for struct file_operations */
-#include <linux/completion.h> /* for struct completion */
+#include <linux/completion_types.h> /* for struct completion */
#include <linux/sched.h> /* for current && schedule_timeout */
#include <linux/mutex_types.h> /* for struct mutex */
#include <linux/pm_runtime.h> /* for runtime PM */
@@ -3,7 +3,7 @@
#define __NET_FRAG_H__
#include <linux/rhashtable-types.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/in6.h>
#include <linux/rbtree_types.h>
#include <linux/refcount.h>
@@ -8,7 +8,7 @@
#ifndef IB_SA_H
#define IB_SA_H
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/compiler.h>
#include <linux/atomic.h>
@@ -9,7 +9,7 @@
#include <linux/typecheck.h>
#include <linux/sched.h>
#include <linux/kref_types.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/sched/task.h>
#include <uapi/rdma/rdma_netlink.h>
@@ -7,7 +7,7 @@
#include <linux/sbitmap.h>
#include <linux/percpu-refcount.h>
#include <linux/semaphore.h> /* struct semaphore */
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#define TARGET_CORE_VERSION "v5.0"
@@ -38,7 +38,7 @@
#include <linux/notifier.h>
#include <linux/export.h>
#include <linux/fs.h>
-#include <linux/completion.h>
+#include <linux/completion_types.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/semaphore.h>