Exemple #1
0
static BSP_S32 udiAcmAdpOpen(UDI_OPEN_PARAM *param, UDI_HANDLE handle)
{
	//BSP_U8* pstrName;
	BSP_U32 u32Type;
	BSP_S32 s32Fd;

	UDI_UNUSED_PARAM(handle);

	u32Type = UDI_GET_DEV_TYPE(param->devid);
	s32Fd = bsp_acm_open(u32Type);

	if (IS_ERR((void*)s32Fd))
	{
		return ERROR;
	}

	(BSP_VOID)BSP_UDI_SetPrivate(param->devid, (VOID*)s32Fd);
	return OK;
}
static BSP_S32 udiAcmAdpOpen(UDI_OPEN_PARAM *param, UDI_HANDLE handle)
{
	//BSP_U8* pstrName;
	BSP_U32 u32Type;
	BSP_PVOID filep;

	UDI_UNUSED_PARAM(handle);

	u32Type = UDI_GET_DEV_TYPE(param->devid);
	filep = bsp_acm_open(u32Type);

	if (filep == NULL)
	{
		return ERROR;
	}

	(BSP_VOID)BSP_UDI_SetPrivate(param->devid, filep);
	return OK;
}
static BSP_S32 udiNcmAdpCtrlOpen(UDI_OPEN_PARAM *param, UDI_HANDLE handle)
{
	BSP_U32 u32NcmDevId;
	BSP_U32 u32ChanId;
	void* pCtrl;

	UDI_UNUSED_PARAM(handle);

	u32ChanId = UDI_GET_DEV_TYPE(param->devid);
	u32NcmDevId = UDI2NCM_ID(u32ChanId);

	pCtrl = bsp_ncm_open(NCM_DEV_CTRL_TYPE, u32NcmDevId);
	if (!pCtrl) {
		(BSP_VOID)BSP_UDI_SetPrivate(param->devid, pCtrl);
		return 0;
	}

	return -EINVAL;
}
/*****************************************************************************
 函 数 名  : udi_acm_open
 功能描述  : acm设备注册到udi适配层open接口,用于AT、OM、AT Ctrl的open操作
 输入参数  : UDI_OPEN_PARAM *param  : 设备的打开配置参数
             UDI_HANDLE handle      : 设备节点handle
                UDI_USB_ACM_CTRL = 0,
                UDI_USB_ACM_AT,
                UDI_USB_ACM_SHELL,
                UDI_USB_ACM_LTE_DIAG,
                UDI_USB_ACM_OM,
                UDI_USB_ACM_MODEM,
                UDI_USB_ACM_GPS,
                UDI_USB_ACM_3G_GPS,
 输出参数  : 无
 返 回 值  : int 成功返回ADP_OK 失败返回ADP_ERROR
 调用函数  :
 被调函数  :

 修改历史      :
  1.日    期   : 2012年9月12日
    作    者   : 夏青 00195127
    修改内容   : 新生成函数

*****************************************************************************/
int udi_acm_open(UDI_OPEN_PARAM_S *param, UDI_HANDLE handle)
{
    void *ret = 0;
    unsigned int dev_id;

    /* 根据param->dev_id获得设备id */
    dev_id = UDI_GET_DEV_TYPE(param->devid);
    ACM_ADP_DBG("open acm[%d]\n", dev_id);

    ret = acm_open(dev_id);
    if (NULL == ret) {
        ACM_ADP_ERR("open device[%d] failed\n", dev_id);
        return ADP_ERROR;
    }

    BSP_UDI_SetPrivate(param->devid, ret);

    return ADP_OK;
}
static BSP_S32 udiNcmAdpOpen(UDI_OPEN_PARAM *param, UDI_HANDLE handle)
{
	BSP_U32 u32NcmDevId = 0;
	BSP_U32 u32ChanId;
	void* pCtrl;

	UDI_UNUSED_PARAM(handle);

	u32ChanId = UDI_GET_DEV_TYPE(param->devid);
	u32NcmDevId = UDI2NCM_ID(u32ChanId);

	pCtrl = bsp_ncm_open(NCM_DEV_DATA_TYPE, u32NcmDevId);
	if (!pCtrl) {
		BSP_UDI_SetPrivate(param->devid, pCtrl);
		sg_chnNcmDataHandleTbl[u32NcmDevId] = handle;    /*lint !e732*/
		return 0;
	}

	return -EINVAL;
}