1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NVKM_BUS_PRIV_H__
3 #define __NVKM_BUS_PRIV_H__
4 #define nvkm_bus(p) container_of((p), struct nvkm_bus, subdev)
5 #include <subdev/bus.h>
6 
7 struct nvkm_bus_func {
8 	void (*init)(struct nvkm_bus *);
9 	void (*intr)(struct nvkm_bus *);
10 	int (*hwsq_exec)(struct nvkm_bus *, u32 *, u32);
11 	u32 hwsq_size;
12 };
13 
14 int nvkm_bus_new_(const struct nvkm_bus_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
15 		  struct nvkm_bus **);
16 
17 void nv50_bus_init(struct nvkm_bus *);
18 void nv50_bus_intr(struct nvkm_bus *);
19 #endif
20