Module Name: src Committed By: riastradh Date: Sun Dec 19 12:21:56 UTC 2021
Modified Files: src/sys/external/bsd/drm2/include/linux: kfifo.h Log Message: linux: INIT_KFIFO To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/include/linux/kfifo.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/include/linux/kfifo.h diff -u src/sys/external/bsd/drm2/include/linux/kfifo.h:1.4 src/sys/external/bsd/drm2/include/linux/kfifo.h:1.5 --- src/sys/external/bsd/drm2/include/linux/kfifo.h:1.4 Sun Dec 19 10:57:34 2021 +++ src/sys/external/bsd/drm2/include/linux/kfifo.h Sun Dec 19 12:21:56 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: kfifo.h,v 1.4 2021/12/19 10:57:34 riastradh Exp $ */ +/* $NetBSD: kfifo.h,v 1.5 2021/12/19 12:21:56 riastradh Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -61,6 +61,21 @@ struct kfifo_meta { #define DECLARE_KFIFO_PTR(FIFO, TYPE) _KFIFO_PTR_TYPE(, TYPE) FIFO #define DECLARE_KFIFO(FIFO, TYPE, N) _KFIFO_TYPE(, TYPE, N) FIFO +#define INIT_KFIFO(FIFO) do \ +{ \ + _init_kfifo(&(FIFO).kf_meta, sizeof((FIFO).kf_buf)); \ +} while (0) + +static inline void +_init_kfifo(struct kfifo_meta *meta, size_t nbytes) +{ + + mutex_init(&meta->kfm_lock, MUTEX_DEFAULT, IPL_VM); + meta->kfm_head = 0; + meta->kfm_tail = 0; + meta->kfm_nbytes = nbytes; +} + _KFIFO_PTR_TYPE(kfifo, void); #define kfifo_alloc(FIFO, SIZE, GFP) \ @@ -78,10 +93,7 @@ _kfifo_alloc(struct kfifo_meta *meta, vo /* Type pun! Hope void * == struct whatever *. */ memcpy(bufp, &buf, sizeof(void *)); - mutex_init(&meta->kfm_lock, MUTEX_DEFAULT, IPL_VM); - meta->kfm_head = 0; - meta->kfm_tail = 0; - meta->kfm_nbytes = nbytes; + _init_kfifo(meta, nbytes); return 0; }