driver.h revision 1.1 1 /* $NetBSD: driver.h,v 1.1 2018/08/27 01:34:55 riastradh Exp $ */
2
3 #ifndef __NVIF_DRIVER_H__
4 #define __NVIF_DRIVER_H__
5
6 struct nvif_driver {
7 const char *name;
8 int (*init)(const char *name, u64 device, const char *cfg,
9 const char *dbg, void **priv);
10 void (*fini)(void *priv);
11 int (*suspend)(void *priv);
12 int (*resume)(void *priv);
13 int (*ioctl)(void *priv, bool super, void *data, u32 size, void **hack);
14 void __iomem *(*map)(void *priv, u64 handle, u32 size);
15 void (*unmap)(void *priv, void __iomem *ptr, u32 size);
16 bool keep;
17 };
18
19 extern const struct nvif_driver nvif_driver_nvkm;
20 extern const struct nvif_driver nvif_driver_drm;
21 extern const struct nvif_driver nvif_driver_lib;
22 extern const struct nvif_driver nvif_driver_null;
23
24 #endif
25