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;