/* SPDX-License-Identifier: GPL-2.0 */ /* * workqueue.h --- work queue handling for Linux. * * Stub definitions for Linux kernel workqueue support. * U-Boot doesn't use workqueues. */ #ifndef _LINUX_WORKQUEUE_H #define _LINUX_WORKQUEUE_H struct work_struct { void (*func)(struct work_struct *); }; struct delayed_work { struct work_struct work; }; struct workqueue_struct; /* Use macros for functions taking callback pointers to avoid requiring * the callback to be declared (some callers have them in #ifdef blocks) */ #define INIT_WORK(work, func) do { } while (0) #define INIT_DELAYED_WORK(work, func) do { } while (0) static inline void schedule_work(struct work_struct *work) { } static inline int schedule_delayed_work(struct delayed_work *work, unsigned long delay) { return 0; } static inline int cancel_work_sync(struct work_struct *work) { return 0; } static inline int cancel_delayed_work(struct delayed_work *work) { return 0; } static inline int cancel_delayed_work_sync(struct delayed_work *work) { return 0; } static inline int flush_work(struct work_struct *work) { return 0; } static inline int flush_delayed_work(struct delayed_work *work) { return 0; } static inline int queue_work(struct workqueue_struct *wq, struct work_struct *work) { return 0; } static inline int queue_delayed_work(struct workqueue_struct *wq, struct delayed_work *work, unsigned long delay) { return 0; } #define alloc_workqueue(fmt, flags, max, ...) ((struct workqueue_struct *)1) #define create_singlethread_workqueue(name) ((struct workqueue_struct *)1) static inline void destroy_workqueue(struct workqueue_struct *wq) { } /* System workqueues - all stubs in U-Boot */ #define system_dfl_wq ((struct workqueue_struct *)1) #define system_wq ((struct workqueue_struct *)1) #endif /* _LINUX_WORKQUEUE_H */