xref: /openbsd/sys/dev/pci/drm/include/linux/rcupdate.h (revision 733a71f2)
17f4dd379Sjsg /* Public domain. */
27f4dd379Sjsg 
37f4dd379Sjsg #ifndef LINUX_RCUPDATE_H
47f4dd379Sjsg #define LINUX_RCUPDATE_H
57f4dd379Sjsg 
67f4dd379Sjsg #include <linux/cpumask.h>
77f4dd379Sjsg 
87f4dd379Sjsg struct rcu_head {
97f4dd379Sjsg };
107f4dd379Sjsg 
117f4dd379Sjsg #define __rcu
127f4dd379Sjsg #define rcu_dereference(p)	(p)
137f4dd379Sjsg #define rcu_dereference_raw(p)	(p)
147f4dd379Sjsg #define rcu_dereference_protected(p, c)	(p)
155ca02815Sjsg #define rcu_dereference_check(p, c)	(p)
167f4dd379Sjsg #define rcu_access_pointer(p)	(p)
177f4dd379Sjsg #define RCU_INIT_POINTER(p, v)		do { (p) = (v); } while(0)
187f4dd379Sjsg #define rcu_assign_pointer(p, v)	do { (p) = (v); } while(0)
197f4dd379Sjsg #define rcu_read_lock()
207f4dd379Sjsg #define rcu_read_unlock()
217f4dd379Sjsg #define rcu_pointer_handoff(p)	(p)
22c349dbc7Sjsg #define init_rcu_head(h)
23c349dbc7Sjsg #define destroy_rcu_head(h)
24c349dbc7Sjsg 
25c349dbc7Sjsg #define rcu_replace_pointer(rp, p, c)		\
26c349dbc7Sjsg ({						\
27c349dbc7Sjsg 	__typeof(rp) __r = rp;			\
28c349dbc7Sjsg 	rp = p;					\
29c349dbc7Sjsg 	__r;					\
30c349dbc7Sjsg })
317f4dd379Sjsg 
327f4dd379Sjsg #define kfree_rcu(objp, name)	do { free((void *)objp, M_DRM, 0); } while(0)
337f4dd379Sjsg 
34*733a71f2Sjsg #define rcu_barrier()		__asm volatile("" : : : "memory")
357f4dd379Sjsg 
367f4dd379Sjsg typedef void (*rcu_callback_t)(struct rcu_head *head);
377f4dd379Sjsg 
387f4dd379Sjsg static inline void
call_rcu(struct rcu_head * head,void (* fn)(struct rcu_head *))397f4dd379Sjsg call_rcu(struct rcu_head *head, void (*fn)(struct rcu_head *))
407f4dd379Sjsg {
417f4dd379Sjsg 	fn(head);
427f4dd379Sjsg }
437f4dd379Sjsg 
447f4dd379Sjsg #define synchronize_rcu()
45c349dbc7Sjsg #define synchronize_rcu_expedited()
46c349dbc7Sjsg #define cond_synchronize_rcu(x)
47c349dbc7Sjsg #define get_state_synchronize_rcu()	0
487f4dd379Sjsg 
497f4dd379Sjsg #endif
50