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