From 5d04dbb15a7f385ec79eda5307d59350953d6178 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sat, 14 Mar 2026 22:32:59 +0000 Subject: [PATCH] kerne: object: add lock_pair() functions to object lock template macro --- include/kernel/object.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/kernel/object.h b/include/kernel/object.h index 6672d8b..a20e7c4 100644 --- a/include/kernel/object.h +++ b/include/kernel/object.h @@ -33,6 +33,18 @@ extern "C" { { \ object_unlock_irqrestore(&p->base, flags); \ } \ + static inline void object_name##_lock_pair( \ + struct object_name *a, \ + struct object_name *b) \ + { \ + object_lock_pair(&a->base, &b->base); \ + } \ + static inline void object_name##_unlock_pair( \ + struct object_name *a, \ + struct object_name *b) \ + { \ + object_unlock_pair(&a->base, &b->base); \ + } \ static inline void object_name##_lock_pair_irqsave( \ struct object_name *a, \ struct object_name *b, \ @@ -109,6 +121,9 @@ extern void object_unlock(struct object *obj); extern void object_lock_irqsave(struct object *obj, unsigned long *flags); extern void object_unlock_irqrestore(struct object *obj, unsigned long flags); +extern void object_lock_pair(struct object *a, struct object *b); +extern void object_unlock_pair(struct object *a, struct object *b); + extern void object_lock_pair_irqsave( struct object *a, struct object *b,