static int PVRSRVDRMOpen(struct drm_device *dev, struct drm_file *file) { while (!bInitComplete) { DEFINE_WAIT(sWait); prepare_to_wait(&sWaitForInit, &sWait, TASK_INTERRUPTIBLE); if (!bInitComplete) { PVR_TRACE(("%s: Waiting for module initialisation to complete", __FUNCTION__)); schedule(); } finish_wait(&sWaitForInit, &sWait); if (signal_pending(current)) { return -ERESTARTSYS; } } if (bInitFailed) { PVR_DPF((PVR_DBG_ERROR, "%s: Module initialisation failed", __FUNCTION__)); return -EINVAL; } return PVRSRVOpen(dev, file); }
IMG_INT PVRSRVDrmOpen(struct drm_device *dev, struct drm_file *file) { return PVRSRVOpen(dev, file); }
static int PVRSRVDrmOpen(struct drm_device *dev, struct drm_file *file) { return PVRSRVOpen(dev, file); }