1 #ifndef __NVIF_DRIVER_H__
2 #define __NVIF_DRIVER_H__
3 
4 struct nvif_driver {
5 	const char *name;
6 	int (*init)(const char *name, u64 device, const char *cfg,
7 		    const char *dbg, void **priv);
8 	void (*fini)(void *priv);
9 	int (*suspend)(void *priv);
10 	int (*resume)(void *priv);
11 	int (*ioctl)(void *priv, bool super, void *data, u32 size, void **hack);
12 	void __iomem *(*map)(void *priv, u64 handle, u32 size);
13 	void (*unmap)(void *priv, void __iomem *ptr, u32 size);
14 	bool keep;
15 };
16 
17 extern const struct nvif_driver nvif_driver_nvkm;
18 extern const struct nvif_driver nvif_driver_drm;
19 extern const struct nvif_driver nvif_driver_lib;
20 extern const struct nvif_driver nvif_driver_null;
21 
22 #endif
23