text: #ifndef __NVKM_DEVINIT_H__
  #define __NVKM_DEVINIT_H__
  #include <core/subdev.h>
  
  struct nvkm_devinit {
  	struct nvkm_subdev base;
  	bool post;
  	void (*meminit)(struct nvkm_devinit *);
  	int  (*pll_set)(struct nvkm_devinit *, u32 type, u32 freq);
  	u32  (*mmio)(struct nvkm_devinit *, u32 addr);
  };
  
  static inline struct nvkm_devinit *
  nvkm_devinit(void *obj)
  {
  	return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_DEVINIT);
  }
  
  extern struct nvkm_oclass *nv04_devinit_oclass;
  extern struct nvkm_oclass *nv05_devinit_oclass;
  extern struct nvkm_oclass *nv10_devinit_oclass;
  extern struct nvkm_oclass *nv1a_devinit_oclass;
  extern struct nvkm_oclass *nv20_devinit_oclass;
  extern struct nvkm_oclass *nv50_devinit_oclass;
  extern struct nvkm_oclass *g84_devinit_oclass;
  extern struct nvkm_oclass *g98_devinit_oclass;
  extern struct nvkm_oclass *gt215_devinit_oclass;
  extern struct nvkm_oclass *mcp89_devinit_oclass;
  extern struct nvkm_oclass *gf100_devinit_oclass;
  extern struct nvkm_oclass *gm107_devinit_oclass;
  extern struct nvkm_oclass *gm204_devinit_oclass;
  #endif
  