object: add a macro to define object lock/unlock functions

This commit is contained in:
2026-02-08 12:55:13 +00:00
parent bcda479879
commit 6950850f5b

View File

@@ -11,6 +11,28 @@
extern "C" { extern "C" {
#endif #endif
#define DEFINE_OBJECT_LOCK_FUNCTION(object_name, base) \
static inline void object_name##_lock(struct object_name *p) \
{ \
object_lock(&p->base); \
} \
static inline void object_name##_unlock(struct object_name *p) \
{ \
object_unlock(&p->base); \
} \
static inline void object_name##_lock_irqsave( \
struct object_name *p, \
unsigned long *flags) \
{ \
object_lock_irqsave(&p->base, flags); \
} \
static inline void object_name##_unlock_irqrestore( \
struct object_name *p, \
unsigned long flags) \
{ \
object_unlock_irqrestore(&p->base, flags); \
}
#define OBJECT_MAGIC 0xBADDCAFE #define OBJECT_MAGIC 0xBADDCAFE
#define OBJECT_NAME_MAX 64 #define OBJECT_NAME_MAX 64
#define OBJECT_PATH_MAX 256 #define OBJECT_PATH_MAX 256