1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2010 - 2015, Intel Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 */ 15 16 #ifndef _IA_CSS_RMGR_H 17 #define _IA_CSS_RMGR_H 18 19 #include <ia_css_err.h> 20 21 #ifndef __INLINE_RMGR__ 22 #define STORAGE_CLASS_RMGR_H extern 23 #define STORAGE_CLASS_RMGR_C 24 #else /* __INLINE_RMGR__ */ 25 #define STORAGE_CLASS_RMGR_H static inline 26 #define STORAGE_CLASS_RMGR_C static inline 27 #endif /* __INLINE_RMGR__ */ 28 29 /** 30 * @brief Initialize resource manager (host/common) 31 */ 32 int ia_css_rmgr_init(void); 33 34 /** 35 * @brief Uninitialize resource manager (host/common) 36 */ 37 void ia_css_rmgr_uninit(void); 38 39 /***************************************************************** 40 * Interface definition - resource type (host/common) 41 ***************************************************************** 42 * 43 * struct ia_css_rmgr_<type>_pool; 44 * struct ia_css_rmgr_<type>_handle; 45 * 46 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_init_<type>( 47 * struct ia_css_rmgr_<type>_pool *pool); 48 * 49 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_uninit_<type>( 50 * struct ia_css_rmgr_<type>_pool *pool); 51 * 52 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_acq_<type>( 53 * struct ia_css_rmgr_<type>_pool *pool, 54 * struct ia_css_rmgr_<type>_handle **handle); 55 * 56 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_rel_<type>( 57 * struct ia_css_rmgr_<type>_pool *pool, 58 * struct ia_css_rmgr_<type>_handle **handle); 59 * 60 ***************************************************************** 61 * Interface definition - refcounting (host/common) 62 ***************************************************************** 63 * 64 * void ia_css_rmgr_refcount_retain_<type>( 65 * struct ia_css_rmgr_<type>_handle **handle); 66 * 67 * void ia_css_rmgr_refcount_release_<type>( 68 * struct ia_css_rmgr_<type>_handle **handle); 69 */ 70 71 #include "ia_css_rmgr_vbuf.h" 72 73 #endif /* _IA_CSS_RMGR_H */ 74