//------------------------------------------------------------------------------ tOplkError ctrlucal_init(void) { tHostifReturn hifRet; tHostifConfig hifConfig; OPLK_MEMSET(&instance_l, 0, sizeof(instance_l)); OPLK_MEMSET(&hifConfig, 0, sizeof(hifConfig)); hifConfig.instanceNum = 0; hifConfig.pBase = (UINT8*)HOSTIF_BASE; //FIXME: Get it from somewhere else? hifConfig.version.revision = HOSTIF_VERSION_REVISION; hifConfig.version.minor = HOSTIF_VERSION_MINOR; hifConfig.version.major = HOSTIF_VERSION_MAJOR; hifRet = hostif_create(&hifConfig, &instance_l.hifInstance); if (hifRet != kHostifSuccessful) { DEBUG_LVL_ERROR_TRACE("Could not initialize host interface (0x%X)\n", hifRet); return kErrorNoResource; } //disable master IRQ instance_l.fIrqMasterEnable = FALSE; hifRet = hostif_irqMasterEnable(instance_l.hifInstance, instance_l.fIrqMasterEnable); if (hifRet != kHostifSuccessful) { DEBUG_LVL_ERROR_TRACE("Could not disable master IRQ (0x%X)\n", hifRet); return kErrorNoResource; } return kErrorOk; }
//------------------------------------------------------------------------------ void ctrlucal_exit(void) { tHostifReturn hifRet; //disable master irq instance_l.fIrqMasterEnable = FALSE; hifRet = hostif_irqMasterEnable(instance_l.hifInstance, instance_l.fIrqMasterEnable); if (hifRet != kHostifSuccessful) DEBUG_LVL_ERROR_TRACE("Could not disable Master Irq (0x%X)\n", hifRet); hifRet = hostif_delete(instance_l.hifInstance); if (hifRet != kHostifSuccessful) DEBUG_LVL_ERROR_TRACE("Could not delete Host Inetrface (0x%X)\n", hifRet); }
//------------------------------------------------------------------------------ tOplkError ctrlucal_process(void) { tHostifReturn hifRet; if (instance_l.fIrqMasterEnable == FALSE) { //enable master IRQ instance_l.fIrqMasterEnable = TRUE; hifRet = hostif_irqMasterEnable(instance_l.hifInstance, instance_l.fIrqMasterEnable); if (hifRet != kHostifSuccessful) { DEBUG_LVL_ERROR_TRACE("Could not enable master IRQ (0x%X)\n", hifRet); return kErrorNoResource; } } return kErrorOk; }