#ifndef __NVKM_DEVICE_H__
#define __NVKM_DEVICE_H__
#include <core/oclass.h>
#include <core/intr.h>
enum nvkm_subdev_type;
enum nvkm_device_type { … };
struct nvkm_device { … };
struct nvkm_subdev *nvkm_device_subdev(struct nvkm_device *, int type, int inst);
struct nvkm_engine *nvkm_device_engine(struct nvkm_device *, int type, int inst);
struct nvkm_device_func { … };
struct nvkm_device_quirk { … };
struct nvkm_device_chip { … };
struct nvkm_device *nvkm_device_find(u64 name);
int nvkm_device_list(u64 *name, int size);
#define nvkm_rd08(d,a) …
#define nvkm_rd16(d,a) …
#define nvkm_rd32(d,a) …
#define nvkm_wr08(d,a,v) …
#define nvkm_wr16(d,a,v) …
#define nvkm_wr32(d,a,v) …
#define nvkm_mask(d,a,m,v) …
void nvkm_device_del(struct nvkm_device **);
struct nvkm_device_oclass { … };
extern const struct nvkm_sclass nvkm_udevice_sclass;
#define nvdev_printk_(d,l,p,f,a...) …
#define nvdev_printk(d,l,p,f,a...) …
#define nvdev_fatal(d,f,a...) …
#define nvdev_error(d,f,a...) …
#define nvdev_warn(d,f,a...) …
#define nvdev_info(d,f,a...) …
#define nvdev_debug(d,f,a...) …
#define nvdev_trace(d,f,a...) …
#define nvdev_spam(d,f,a...) …
#endif