Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Nov 2022 17:57:39 GMT
From:      =?utf-8?Q?Jean-S=C3=A9bastien=20P=C3=A9dron?= <dumbbell@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: f021c5c4a177 - main - linuxkpi: Update `struct irq_work`
Message-ID:  <202211111757.2ABHvdSi044665@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dumbbell (ports committer):

URL: https://cgit.FreeBSD.org/src/commit/?id=f021c5c4a1770987f01530fa59e5ccba3759c0ab

commit f021c5c4a1770987f01530fa59e5ccba3759c0ab
Author:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
AuthorDate: 2022-11-11 17:32:58 +0000
Commit:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
CommitDate: 2022-11-11 17:32:58 +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
---
 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 ec71a7ee094f..a263d730967b 100644
--- a/sys/compat/linuxkpi/common/include/linux/irq_work.h
+++ b/sys/compat/linuxkpi/common/include/linux/irq_work.h
@@ -51,7 +51,12 @@ typedef void (*irq_work_func_t)(struct irq_work *);
 
 struct irq_work {
 	struct task irq_task;
-	struct llist_node llnode;
+	union {
+		struct llist_node llnode;
+		struct {
+			struct llist_node llist;
+		} node;
+	};
 	irq_work_func_t func;
 };
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202211111757.2ABHvdSi044665>