0001
0002 #ifndef __NVIF_CLIENT_H__
0003 #define __NVIF_CLIENT_H__
0004
0005 #include <nvif/object.h>
0006
0007 struct nvif_client {
0008 struct nvif_object object;
0009 const struct nvif_driver *driver;
0010 u64 version;
0011 u8 route;
0012 };
0013
0014 int nvif_client_ctor(struct nvif_client *parent, const char *name, u64 device,
0015 struct nvif_client *);
0016 void nvif_client_dtor(struct nvif_client *);
0017 int nvif_client_ioctl(struct nvif_client *, void *, u32);
0018 int nvif_client_suspend(struct nvif_client *);
0019 int nvif_client_resume(struct nvif_client *);
0020
0021
0022 #include <core/client.h>
0023 #define nvxx_client(a) ({ \
0024 struct nvif_client *_client = (a); \
0025 (struct nvkm_client *)_client->object.priv; \
0026 })
0027 #endif