xref: /openbsd-src/sys/dev/pci/drm/include/linux/slab.h (revision a0747c9f67a4ae71ccb71e62a28d1ea19e06a63c)
1 /* Public domain. */
2 
3 #ifndef _LINUX_SLAB_H
4 #define _LINUX_SLAB_H
5 
6 #include <sys/types.h>
7 #include <sys/malloc.h>
8 
9 #include <linux/types.h>
10 #include <linux/workqueue.h>
11 #include <linux/gfp.h>
12 
13 #include <linux/processor.h>	/* for CACHELINESIZE */
14 
15 static inline void *
16 kmalloc(size_t size, int flags)
17 {
18 	return malloc(size, M_DRM, flags);
19 }
20 
21 static inline void *
22 kmalloc_array(size_t n, size_t size, int flags)
23 {
24 	if (n != 0 && SIZE_MAX / n < size)
25 		return NULL;
26 	return malloc(n * size, M_DRM, flags);
27 }
28 
29 static inline void *
30 kcalloc(size_t n, size_t size, int flags)
31 {
32 	if (n != 0 && SIZE_MAX / n < size)
33 		return NULL;
34 	return malloc(n * size, M_DRM, flags | M_ZERO);
35 }
36 
37 static inline void *
38 kzalloc(size_t size, int flags)
39 {
40 	return malloc(size, M_DRM, flags | M_ZERO);
41 }
42 
43 static inline void
44 kfree(const void *objp)
45 {
46 	free((void *)objp, M_DRM, 0);
47 }
48 
49 #endif
50