26 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVKM_CHID_H__3#define __NVKM_CHID_H__4#include <core/event.h>5 6struct nvkm_chid {7 struct kref kref;8 int nr;9 u32 mask;10 11 struct nvkm_event event;12 13 void **data;14 15 spinlock_t lock;16 unsigned long used[];17};18 19int nvkm_chid_new(const struct nvkm_event_func *, struct nvkm_subdev *,20 int nr, int first, int count, struct nvkm_chid **pchid);21struct nvkm_chid *nvkm_chid_ref(struct nvkm_chid *);22void nvkm_chid_unref(struct nvkm_chid **);23int nvkm_chid_get(struct nvkm_chid *, void *data);24void nvkm_chid_put(struct nvkm_chid *, int id, spinlock_t *data_lock);25#endif26