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