__s32 DRV_DISP_MExit(void) { __u8 err; BSP_disp_close(); BSP_disp_exit(g_disp_drv.exit_mode); #if DRV_VCOM_TIMER #if KNOB_USE_HW_TIMER if(g_vcom_timer_hdl) { esTIME_StopTimer(g_vcom_timer_hdl); esTIME_ReleaseTimer(g_vcom_timer_hdl); g_vcom_timer_hdl = NULL; } #else if (esKRNL_TmrStateGet(g_vcom_timer_hdl) == OS_TMR_STATE_RUNNING) { esKRNL_TmrStop(g_vcom_timer_hdl, OS_TMR_OPT_NONE, NULL); esKRNL_TmrDel(g_vcom_timer_hdl); g_vcom_timer_hdl = NULL; } #endif esPINS_PinGrpRel(vcom_io, 0); #endif esKRNL_SemDel(g_disp_drv.scaler_finished_sem[0], 0, &err); esKRNL_SemDel(g_disp_drv.scaler_finished_sem[1], 0, &err); return EPDK_OK; }
__s32 DRV_DISP_Exit(void) { Fb_Exit(); BSP_disp_close(); BSP_disp_exit(g_disp_drv.exit_mode); return 0; }
__s32 DRV_DISP_Exit(void) { Fb_Exit(); BSP_disp_close(); BSP_disp_exit(g_disp_drv.exit_mode); kfree(g_disp_drv.scaler_finished_sem[0]); kfree(g_disp_drv.scaler_finished_sem[1]); return 0; }
/* **************************************************************************************************** * * DRV_DE_EXIT * * Description: 卸载驱动,通常把只会执行一次的操作放在这里 * 当驱动退出的时候会调用这个这个函数 * 卸载函数没有参数 * Parameters: * * Return value: * 0 * -1 **************************************************************************************************** */ __s32 DRV_DE_EXIT(void) { if(lcd_op_finished[0] && lcd_timer[0] != NULL) { wBoot_timer_release(lcd_timer[0]); lcd_timer[0] = NULL; } if(lcd_op_finished[1] && lcd_timer[1] != NULL) { wBoot_timer_release(lcd_timer[1]); lcd_timer[1] = NULL; } BSP_disp_exit(exit_mode); return 0; }