spinlock_t refs_lock;
rwlock_t list_lock; int *refs;
struct list_head ntfy;
};
struct nvkm_event_func { void (*init)(struct nvkm_event *, int type, int index); void (*fini)(struct nvkm_event *, int type, int index);
};
int __nvkm_event_init(conststruct nvkm_event_func *func, struct nvkm_subdev *, int types_nr, int index_nr, struct nvkm_event *);
/* Each nvkm_event needs its own lockdep class due to inter-dependencies, to * prevent lockdep false-positives. * * Inlining the spinlock initialisation ensures each is unique.
*/ static __always_inline int
nvkm_event_init(conststruct nvkm_event_func *func, struct nvkm_subdev *subdev, int types_nr, int index_nr, struct nvkm_event *event)
{
spin_lock_init(&event->refs_lock);
rwlock_init(&event->list_lock); return __nvkm_event_init(func, subdev, types_nr, index_nr, event);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.