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
32