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 */ 32int ia_css_rmgr_init(void); 33 34/** 35 * @brief Uninitialize resource manager (host/common) 36 */ 37void 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