void s3c_displayclass_deinit(void) { destropyVsyncWorkQueue(g_psLCDInfo); DeInitDev(g_psLCDInfo); g_psLCDInfo->sPVRJTable.pfnPVRSRVRemoveCmdProcList ((IMG_UINT32)g_psLCDInfo->ui32DisplayID, DC_S3C_LCD_COMMAND_COUNT); g_psLCDInfo->sPVRJTable.pfnPVRSRVRemoveDCDevice(g_psLCDInfo->ui32DisplayID); if (g_psLCDInfo) kfree(g_psLCDInfo); g_psLCDInfo = NULL; }
void s3c_displayclass_deinit(void) { destropyVsyncWorkQueue(g_psLCDInfo); DeInitDev(g_psLCDInfo); #if defined(S3C_DC_IS_PHYS_DISCONTIG) if (g_psLCDInfo->pbufferPAddrs) kfree(g_psLCDInfo->pbufferPAddrs); #endif g_psLCDInfo->sPVRJTable.pfnPVRSRVRemoveCmdProcList ((IMG_UINT32)g_psLCDInfo->ui32DisplayID, DC_S3C_LCD_COMMAND_COUNT); g_psLCDInfo->sPVRJTable.pfnPVRSRVRemoveDCDevice(g_psLCDInfo->ui32DisplayID); if (g_psLCDInfo) kfree(g_psLCDInfo); g_psLCDInfo = NULL; }
OMAP_ERROR OMAPLFBDeinit(void) { OMAPLFB_DEVINFO *psDevInfo, *psDevFirst; psDevFirst = GetAnchorPtr(); psDevInfo = psDevFirst; if (psDevInfo == NULL) { return (OMAP_ERROR_GENERIC); } psDevInfo->ulRefCount--; if (psDevInfo->ulRefCount == 0) { PVRSRV_DC_DISP2SRV_KMJTABLE *psJTable = &psDevInfo->sPVRJTable; if (psDevInfo->sPVRJTable.pfnPVRSRVRemoveCmdProcList (psDevInfo->ulDeviceID, OMAPLFB_COMMAND_COUNT) != PVRSRV_OK) { return (OMAP_ERROR_GENERIC); } if (psJTable->pfnPVRSRVRemoveDCDevice(psDevInfo->ulDeviceID) != PVRSRV_OK) { return (OMAP_ERROR_GENERIC); } DeInitDev(psDevInfo); OMAPLFBFreeKernelMem(psDevInfo); } SetAnchorPtr(NULL); return (OMAP_OK); }