git: 04c127d58d05 - stable/13 - linuxkpi: Update `struct irq_work`
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Jan 2023 08:54:17 UTC
The branch stable/13 has been updated by manu:
URL: https://cgit.FreeBSD.org/src/commit/?id=04c127d58d055891657f13ef988ba3dd0ee657f4
commit 04c127d58d055891657f13ef988ba3dd0ee657f4
Author: Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
AuthorDate: 2022-11-11 17:32:58 +0000
Commit: Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2023-01-24 09:08:01 +0000
linuxkpi: Update `struct irq_work`
The previous `llnode` field is moved inside another field `node`.
This `node` field is a `struct __call_single_node` in Linux. Here, we
simply add an anonymous struct with the `llnode` field inside. That
field's new name is `llist` now.
V2: Use an anonymous union to keep the structure backward compatible
with drivers using the previous `llnode` field. This was suggested
by wufl@ and hselasky@. Thank you!
Reviewed by: manu
Approved by: manu
Differential Revision: https://reviews.freebsd.org/D36955
(cherry picked from commit f021c5c4a1770987f01530fa59e5ccba3759c0ab)
---
sys/compat/linuxkpi/common/include/linux/irq_work.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sys/compat/linuxkpi/common/include/linux/irq_work.h b/sys/compat/linuxkpi/common/include/linux/irq_work.h
index 9e2bd31ddb71..3fbc7690b798 100644
--- a/sys/compat/linuxkpi/common/include/linux/irq_work.h
+++ b/sys/compat/linuxkpi/common/include/linux/irq_work.h
@@ -52,7 +52,12 @@ typedef void (*irq_work_func_t)(struct irq_work *);
struct irq_work {
struct task irq_task;
irq_work_func_t func;
- struct llist_node llnode;
+ union {
+ struct llist_node llnode;
+ struct {
+ struct llist_node llist;
+ } node;
+ };
};
extern struct taskqueue *linux_irq_work_tq;