1 | // SPDX-License-Identifier: GPL-3.0-or-later |
---|---|
2 | |
3 | #pragma once |
4 | |
5 | #include "mos/misc/setup.h" |
6 | |
7 | #define _DO_SLAB_AUTOINIT(name, var, type, func) \ |
8 | static void func(void) \ |
9 | { \ |
10 | var = kmemcache_create(name, sizeof(type)); \ |
11 | } \ |
12 | MOS_INIT(SLAB_AUTOINIT, func) |
13 | |
14 | #define SLAB_AUTOINIT(name, var, type) _DO_SLAB_AUTOINIT(name, var, type, MOS_CONCAT(__slab_autoinit_, __COUNTER__)) |
15 |