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
7struct 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
14int nvkm_bus_new_(const struct nvkm_bus_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
15		  struct nvkm_bus **);
16
17void nv50_bus_init(struct nvkm_bus *);
18void nv50_bus_intr(struct nvkm_bus *);
19#endif
20