mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 11:03:43 +02:00
workqueue: Split out workqueue_types.h
More sched.h dependency culling - this lets us kill a rhashtable-types.h dependency on workqueue.h. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
dff0fd233a
commit
b2fa8443db
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/sched.h>
|
||||
#include <linux/printk.h>
|
||||
#include <linux/rcupdate.h>
|
||||
#include <linux/timekeeping.h>
|
||||
|
||||
struct dma_fence;
|
||||
struct dma_fence_ops;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
#include <linux/atomic.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/workqueue_types.h>
|
||||
|
||||
struct rhash_head {
|
||||
struct rhash_head __rcu *next;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#include <linux/errno.h>
|
||||
#include <linux/clocksource_ids.h>
|
||||
#include <linux/ktime.h>
|
||||
|
||||
/* Included from linux/ktime.h */
|
||||
|
||||
|
|
|
|||
|
|
@ -14,12 +14,7 @@
|
|||
#include <linux/atomic.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/rcupdate.h>
|
||||
|
||||
struct workqueue_struct;
|
||||
|
||||
struct work_struct;
|
||||
typedef void (*work_func_t)(struct work_struct *work);
|
||||
void delayed_work_timer_fn(struct timer_list *t);
|
||||
#include <linux/workqueue_types.h>
|
||||
|
||||
/*
|
||||
* The first word is the work queue pointer and the flags rolled into
|
||||
|
|
@ -95,15 +90,6 @@ enum {
|
|||
#define WORK_STRUCT_FLAG_MASK ((1ul << WORK_STRUCT_FLAG_BITS) - 1)
|
||||
#define WORK_STRUCT_WQ_DATA_MASK (~WORK_STRUCT_FLAG_MASK)
|
||||
|
||||
struct work_struct {
|
||||
atomic_long_t data;
|
||||
struct list_head entry;
|
||||
work_func_t func;
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
struct lockdep_map lockdep_map;
|
||||
#endif
|
||||
};
|
||||
|
||||
#define WORK_DATA_INIT() ATOMIC_LONG_INIT((unsigned long)WORK_STRUCT_NO_POOL)
|
||||
#define WORK_DATA_STATIC_INIT() \
|
||||
ATOMIC_LONG_INIT((unsigned long)(WORK_STRUCT_NO_POOL | WORK_STRUCT_STATIC))
|
||||
|
|
|
|||
25
include/linux/workqueue_types.h
Normal file
25
include/linux/workqueue_types.h
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_WORKQUEUE_TYPES_H
|
||||
#define _LINUX_WORKQUEUE_TYPES_H
|
||||
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/lockdep_types.h>
|
||||
#include <linux/timer_types.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
struct workqueue_struct;
|
||||
|
||||
struct work_struct;
|
||||
typedef void (*work_func_t)(struct work_struct *work);
|
||||
void delayed_work_timer_fn(struct timer_list *t);
|
||||
|
||||
struct work_struct {
|
||||
atomic_long_t data;
|
||||
struct list_head entry;
|
||||
work_func_t func;
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
struct lockdep_map lockdep_map;
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif /* _LINUX_WORKQUEUE_TYPES_H */
|
||||
Loading…
Reference in New Issue
Block a user