1 /* SPDX-License-Identifier: MIT */ 2 #ifndef __NVIF_DRIVER_H__ 3 #define __NVIF_DRIVER_H__ 4 #include <nvif/os.h> 5 struct nvif_client; 6 7 struct nvif_driver { 8 const char *name; 9 int (*init)(const char *name, u64 device, const char *cfg, 10 const char *dbg, void **priv); 11 int (*suspend)(void *priv); 12 int (*resume)(void *priv); 13 int (*ioctl)(void *priv, 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 }; 17 18 int nvif_driver_init(const char *drv, const char *cfg, const char *dbg, 19 const char *name, u64 device, struct nvif_client *); 20 21 extern const struct nvif_driver nvif_driver_nvkm; 22 #endif 23