diff options
Diffstat (limited to 'include/linux/reservation.h')
| -rw-r--r-- | include/linux/reservation.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/include/linux/reservation.h b/include/linux/reservation.h new file mode 100644 index 000000000000..813dae960ebd --- /dev/null +++ b/include/linux/reservation.h | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | /* | ||
| 2 | * Header file for reservations for dma-buf and ttm | ||
| 3 | * | ||
| 4 | * Copyright(C) 2011 Linaro Limited. All rights reserved. | ||
| 5 | * Copyright (C) 2012-2013 Canonical Ltd | ||
| 6 | * Copyright (C) 2012 Texas Instruments | ||
| 7 | * | ||
| 8 | * Authors: | ||
| 9 | * Rob Clark <rob.clark@linaro.org> | ||
| 10 | * Maarten Lankhorst <maarten.lankhorst@canonical.com> | ||
| 11 | * Thomas Hellstrom <thellstrom-at-vmware-dot-com> | ||
| 12 | * | ||
| 13 | * Based on bo.c which bears the following copyright notice, | ||
| 14 | * but is dual licensed: | ||
| 15 | * | ||
| 16 | * Copyright (c) 2006-2009 VMware, Inc., Palo Alto, CA., USA | ||
| 17 | * All Rights Reserved. | ||
| 18 | * | ||
| 19 | * Permission is hereby granted, free of charge, to any person obtaining a | ||
| 20 | * copy of this software and associated documentation files (the | ||
| 21 | * "Software"), to deal in the Software without restriction, including | ||
| 22 | * without limitation the rights to use, copy, modify, merge, publish, | ||
| 23 | * distribute, sub license, and/or sell copies of the Software, and to | ||
| 24 | * permit persons to whom the Software is furnished to do so, subject to | ||
| 25 | * the following conditions: | ||
| 26 | * | ||
| 27 | * The above copyright notice and this permission notice (including the | ||
| 28 | * next paragraph) shall be included in all copies or substantial portions | ||
| 29 | * of the Software. | ||
| 30 | * | ||
| 31 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 32 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 33 | * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL | ||
| 34 | * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, | ||
| 35 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | ||
| 36 | * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
| 37 | * USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 38 | */ | ||
| 39 | #ifndef _LINUX_RESERVATION_H | ||
| 40 | #define _LINUX_RESERVATION_H | ||
| 41 | |||
| 42 | #include <linux/ww_mutex.h> | ||
| 43 | |||
| 44 | extern struct ww_class reservation_ww_class; | ||
| 45 | |||
| 46 | struct reservation_object { | ||
| 47 | struct ww_mutex lock; | ||
| 48 | }; | ||
| 49 | |||
| 50 | static inline void | ||
| 51 | reservation_object_init(struct reservation_object *obj) | ||
| 52 | { | ||
| 53 | ww_mutex_init(&obj->lock, &reservation_ww_class); | ||
| 54 | } | ||
| 55 | |||
| 56 | static inline void | ||
| 57 | reservation_object_fini(struct reservation_object *obj) | ||
| 58 | { | ||
| 59 | ww_mutex_destroy(&obj->lock); | ||
| 60 | } | ||
| 61 | |||
| 62 | #endif /* _LINUX_RESERVATION_H */ | ||
