1 #ifndef __NVKM_OCLASS_H__
2 #define __NVKM_OCLASS_H__
3 #include <core/os.h>
4 #include <core/debug.h>
5 struct nvkm_oclass;
6 struct nvkm_object;
7
8 struct nvkm_sclass {
9 int minver;
10 int maxver;
11 s32 oclass;
12 const struct nvkm_object_func *func;
13 int (*ctor)(const struct nvkm_oclass *, void *data, u32 size,
14 struct nvkm_object **);
15 };
16
17 struct nvkm_oclass {
18 int (*ctor)(const struct nvkm_oclass *, void *data, u32 size,
19 struct nvkm_object **);
20 struct nvkm_sclass base;
21 const void *priv;
22 const void *engn;
23 u32 handle;
24 u8 route;
25 u64 token;
26 u64 object;
27 struct nvkm_client *client;
28 struct nvkm_object *parent;
29 struct nvkm_engine *engine;
30 };
31 #endif