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