1/* 2 * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include <stdio.h> 17 18#ifdef __cplusplus 19#if __cplusplus 20extern "C" { 21#endif 22#endif /* End of #ifdef __cplusplus */ 23 24static void BASE_exit(void) 25{ 26 extern void base_mod_exit(void); 27 base_mod_exit(); 28} 29 30static void MMZ_exit(void) 31{ 32 extern void media_mem_exit(void); 33 media_mem_exit(); 34} 35static void SYS_exit(void) 36{ 37 extern void sys_mod_exit(void); 38 sys_mod_exit(); 39} 40 41static void ISP_exit(void) 42{ 43 extern void isp_mod_exit(void); 44 isp_mod_exit(); 45} 46 47static void VI_exit(void) 48{ 49 extern void vi_mod_exit(void); 50 vi_mod_exit(); 51} 52 53static void RGN_exit(void) 54{ 55 extern void rgn_mod_exit(void); 56 rgn_mod_exit(); 57} 58 59static void GDC_exit(void) 60{ 61 extern void gdc_mod_exit(void); 62 gdc_mod_exit(); 63} 64 65static void DIS_exit(void) 66{ 67 extern void dis_mod_exit(void); 68 dis_mod_exit(); 69} 70 71static void VGS_exit(void) 72{ 73 extern void vgs_mod_exit(void); 74 vgs_mod_exit(); 75} 76 77static void VPSS_exit(void) 78{ 79 extern void vpss_mod_exit(void); 80 vpss_mod_exit(); 81} 82 83static void VO_exit(void) 84{ 85 extern void vou_module_exit(void); 86 vou_module_exit(); 87} 88 89static void TDE_exit(void) 90{ 91 extern void tde_mod_exit(void); 92 tde_mod_exit(); 93} 94 95static void HIFB_exit(void) 96{ 97 extern void hifb_cleanup(void); 98 99 hifb_cleanup(); 100} 101 102static void HDMI_exit(void) 103{ 104 extern hi_void HDMI_DRV_ModExit(void); 105 HDMI_DRV_ModExit(); 106} 107 108static void MIPIRX_exit(void) 109{ 110 extern void mipi_rx_mod_exit(void); 111 mipi_rx_mod_exit(); 112} 113 114static void MIPITX_exit(void) 115{ 116 extern void mipi_tx_module_exit(void); 117 mipi_tx_module_exit(); 118} 119 120static void RC_exit(void) 121{ 122 extern void rc_mod_exit(void); 123 rc_mod_exit(); 124} 125 126static void VENC_exit(void) 127{ 128 extern void venc_mod_exit(void); 129 venc_mod_exit(); 130} 131 132static void CHNL_exit(void) 133{ 134 extern void chnl_mod_exit(void); 135 chnl_mod_exit(); 136} 137 138static void VEDU_exit(void) 139{ 140 extern void vedu_mod_exit(void); 141 vedu_mod_exit(); 142} 143 144static void H264e_exit(void) 145{ 146 extern void h264e_mod_exit(void); 147 h264e_mod_exit(); 148} 149 150static void H265e_exit(void) 151{ 152 extern void h265e_mod_exit(void); 153 h265e_mod_exit(); 154} 155 156static void JPEGE_exit(void) 157{ 158 extern void jpege_mod_exit(void); 159 jpege_mod_exit(); 160} 161 162static void PWM_exit(void) 163{ 164 extern void pwm_exit(void); 165 pwm_exit(); 166} 167 168static void PIRIS_exit(void) 169{ 170 extern void piris_exit(void); 171 172 piris_exit(); 173} 174 175static void hi_sensor_spi_exit(void) 176{ 177 extern void sensor_spi_dev_exit(void); 178 sensor_spi_dev_exit(); 179} 180 181static void hi_sensor_i2c_exit(void) 182{ 183 extern void hi_dev_exit(void); 184 hi_dev_exit(); 185} 186 187static void JPEGD_exit(void) 188{ 189 extern void jpegd_mod_exit(void); 190 jpegd_mod_exit(); 191} 192 193static void VFMW_exit(void) 194{ 195 extern void vfmw_mod_exit(void); 196 vfmw_mod_exit(); 197} 198 199static void VDEC_exit(void) 200{ 201 extern void vdec_mod_exit(void); 202 vdec_mod_exit(); 203} 204 205static void IVE_exit(void) 206{ 207 extern void ive_mod_exit(void); 208 ive_mod_exit(); 209} 210 211static void NNIE_exit(void) 212{ 213 extern void nnie_mod_exit(void); 214 nnie_mod_exit(); 215} 216 217static void Cipher_exit(void) 218{ 219 extern void cipher_drv_mod_exit(void); 220 cipher_drv_mod_exit(); 221} 222 223static void HI_USER_exit(void) 224{ 225 extern void hi_user_exit(void); 226 hi_user_exit(); 227} 228 229static void AiaoMod_exit(void) 230{ 231 extern void aiao_mod_exit(void); 232 aiao_mod_exit(); 233} 234 235static void AiMod_exit(void) 236{ 237 extern void ai_mod_exit(void); 238 ai_mod_exit(); 239} 240 241static void AoMod_exit(void) 242{ 243 extern void ao_mod_exit(void); 244 ao_mod_exit(); 245} 246 247static void AencMod_exit(void) 248{ 249 extern void aenc_mod_exit(void); 250 aenc_mod_exit(); 251} 252 253static void AdecMod_exit(void) 254{ 255 extern void adec_mod_exit(void); 256 adec_mod_exit(); 257} 258 259static void AcodecMod_exit(void) 260{ 261 extern void acodec_mod_exit(void); 262 acodec_mod_exit(); 263} 264 265static void remove_audio(void) 266{ 267 AcodecMod_exit(); 268 AdecMod_exit(); 269 AencMod_exit(); 270 AoMod_exit(); 271 AiMod_exit(); 272 AiaoMod_exit(); 273} 274 275extern void osal_proc_exit(void); 276 277void SDK_exit(void) 278{ 279 HI_USER_exit(); 280 Cipher_exit(); 281 MIPITX_exit(); 282 MIPIRX_exit(); 283 HDMI_exit(); 284 hi_sensor_spi_exit(); 285 hi_sensor_i2c_exit(); 286 PIRIS_exit(); 287 PWM_exit(); 288 289 remove_audio(); 290 291 HIFB_exit(); 292 TDE_exit(); 293 NNIE_exit(); 294 IVE_exit(); 295 VDEC_exit(); 296 VFMW_exit(); 297 JPEGD_exit(); 298 JPEGE_exit(); 299 H265e_exit(); 300 H264e_exit(); 301 VENC_exit(); 302 RC_exit(); 303 VEDU_exit(); 304 CHNL_exit(); 305 306 VO_exit(); 307 VPSS_exit(); 308 ISP_exit(); 309 VI_exit(); 310 DIS_exit(); 311 VGS_exit(); 312 GDC_exit(); 313 RGN_exit(); 314 315 SYS_exit(); 316 BASE_exit(); 317 MMZ_exit(); 318 osal_proc_exit(); 319 320 printf("SDK exit ok...\n"); 321} 322 323 324#ifdef __cplusplus 325#if __cplusplus 326} 327#endif 328#endif /* End of #ifdef __cplusplus */ 329