Пример #1
0
//-------------------------------------------------------------------------------------------------
// IOCtrl Driver functions
//-------------------------------------------------------------------------------------------------
int _MDrv_MBXIO_IOC_Init(struct file *filp, unsigned long arg)
{
    MS_MBX_INIT_INFO stInitInfo;

    if(copy_from_user(&stInitInfo, (MS_MBX_REGISTER_MSG __user *)arg, sizeof(MS_MBX_INIT_INFO)))
        return EFAULT;

    stInitInfo.mbxResult = MDrv_MBX_Init((MS_U32)filp, stInitInfo.eHKCPU, stInitInfo.eHostRole, stInitInfo.u32TimeoutMillSecs);

    return __put_user(stInitInfo.mbxResult, &(((MS_MBX_INIT_INFO __user *)arg)->mbxResult));
}
Пример #2
0
MS_BOOL MsApi_MBX_Init(void)
{
    MBX_CPU_ID eHKCPU;
    MS_U32 u32TimeoutMillSecs = 1500;

    eHKCPU = E_MBX_CPU_MIPS;
    if( E_MBX_SUCCESS != MDrv_MBX_Init(eHKCPU, E_MBX_ROLE_HK, u32TimeoutMillSecs))
    {
        printf("Error> MBX init failed !!\n");
        while(1);
    }
    else
    {
        MDrv_MBX_Enable(TRUE);
        return TRUE;
    }
}