1/* SPDX-License-Identifier: MIT */
2#ifndef __NVKM_DEVICE_PRIV_H__
3#define __NVKM_DEVICE_PRIV_H__
4#include <core/device.h>
5
6#include <subdev/acr.h>
7#include <subdev/bar.h>
8#include <subdev/bios.h>
9#include <subdev/bus.h>
10#include <subdev/clk.h>
11#include <subdev/devinit.h>
12#include <subdev/fault.h>
13#include <subdev/fb.h>
14#include <subdev/fuse.h>
15#include <subdev/gpio.h>
16#include <subdev/gsp.h>
17#include <subdev/i2c.h>
18#include <subdev/iccsense.h>
19#include <subdev/instmem.h>
20#include <subdev/ltc.h>
21#include <subdev/mc.h>
22#include <subdev/mmu.h>
23#include <subdev/mxm.h>
24#include <subdev/pci.h>
25#include <subdev/pmu.h>
26#include <subdev/privring.h>
27#include <subdev/therm.h>
28#include <subdev/timer.h>
29#include <subdev/top.h>
30#include <subdev/vfn.h>
31#include <subdev/volt.h>
32
33#include <engine/bsp.h>
34#include <engine/ce.h>
35#include <engine/cipher.h>
36#include <engine/disp.h>
37#include <engine/dma.h>
38#include <engine/fifo.h>
39#include <engine/gr.h>
40#include <engine/mpeg.h>
41#include <engine/mspdec.h>
42#include <engine/msppp.h>
43#include <engine/msvld.h>
44#include <engine/nvenc.h>
45#include <engine/nvdec.h>
46#include <engine/nvjpg.h>
47#include <engine/ofa.h>
48#include <engine/pm.h>
49#include <engine/sec.h>
50#include <engine/sec2.h>
51#include <engine/sw.h>
52#include <engine/vic.h>
53#include <engine/vp.h>
54
55int  nvkm_device_ctor(const struct nvkm_device_func *,
56		      const struct nvkm_device_quirk *,
57		      struct device *, enum nvkm_device_type, u64 handle,
58		      const char *name, const char *cfg, const char *dbg,
59		      bool detect, bool mmio, u64 subdev_mask,
60		      struct nvkm_device *);
61int  nvkm_device_init(struct nvkm_device *);
62int  nvkm_device_fini(struct nvkm_device *, bool suspend);
63#endif
64