1/* SPDX-License-Identifier: MIT */
2#ifndef __NVKM_FUSE_H__
3#define __NVKM_FUSE_H__
4#include <core/subdev.h>
5
6struct nvkm_fuse {
7	const struct nvkm_fuse_func *func;
8	struct nvkm_subdev subdev;
9	spinlock_t lock;
10};
11
12u32 nvkm_fuse_read(struct nvkm_fuse *, u32 addr);
13
14int nv50_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **);
15int gf100_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **);
16int gm107_fuse_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fuse **);
17#endif
18