void bsp_usb_om_dump_init(void)
{
    /* reg the dump callback to om */
	if (bsp_dump_register_hook(DUMP_SAVE_MOD_USB,
	    (dump_save_hook)bsp_usb_adp_dump_hook)) {
	    goto err_ret;
	}

	if (bsp_dump_get_buffer(DUMP_SAVE_MOD_USB,
	    &usb_dump_ctx.dump_buffer, &usb_dump_ctx.buf_size)) {
	    goto err_ret;
	}

    return;

err_ret:
    usb_dump_ctx.dump_buffer = NULL;
    usb_dump_ctx.buf_size = 0;
    return;
}
void icc_dump_init(void)
{
    /* reg the dump callback to om */
	if(bsp_dump_register_hook(ICC_DUMP_SAVE_MOD,(dump_save_hook)icc_dump_hook))
	{
	    goto err_ret;
	}

	if(bsp_dump_get_buffer(ICC_DUMP_SAVE_MOD,&g_icc_dbg.dump_buf_addr, &g_icc_dbg.dump_buf_size))
	{
	    goto err_ret;
	}

    return;

err_ret:
    g_icc_dbg.dump_buf_addr = NULL;
    g_icc_dbg.dump_buf_size = 0;
	icc_print_error("try to use dump fail!\n");
    return;
}
/*****************************************************************************
 函 数 名 : dual_modem_dump_init
 功能描述 : dump 初始化
 输入参数 : 无
 输出参数 : 
 返 回 值 : 
*****************************************************************************/
s32 dual_modem_dump_init(void)
{
	u8 *dump_addr = NULL;

	if(-1 == bsp_dump_register_hook("dual_modem" , (dump_hook)dual_modem_dump_hook))
	{
		dm_print_err("dump hook fail");
		return ERROR;
	}
	
	dump_addr = bsp_dump_register_field((u32)DUMP_SAVE_MOD_DUAL_MODEM ,"dual_modem" ,0,0, DUMP_EXT_DUAL_MODEM_SIZE,0);
	if(dump_addr == NULL)
	{
		dm_print_err("dump no buffer\n");
		return ERROR;
	}
	dm_print_err("dump addr 0x%x\n",(u32)dump_addr);
    memset_s(dump_addr ,DUMP_EXT_DUAL_MODEM_SIZE ,0 ,DUMP_EXT_DUAL_MODEM_SIZE);
	g_dm_dump_info = (struct dm_dump_info *)dump_addr;
	g_dm_dump_info->rx_dump_addr = (u8 *)(dump_addr + DUAL_DUMP_COUNT_SIZE);
	g_dm_dump_info->tx_dump_addr = (u8 *)(g_dm_dump_info->rx_dump_addr + DUAL_DUMP_RX_BUFF_SIZE);
	return OK;
}
/* A核扩展数据 */
int dump_st_028(void)
{
    int ret;

    ret = bsp_dump_get_buffer(DUMP_SAVE_MOD_USB, &g_dump_st_buffer, &g_dump_st_len);
    if(BSP_OK != ret)
    {
        printk("get buffer failed.  test case 28 failed! \n");
        return BSP_ERROR;
    }
    printk("buffer=0x%x, len=0x%x\n", (s32)g_dump_st_buffer, (s32)g_dump_st_len);

    ret = bsp_dump_register_hook(DUMP_SAVE_MOD_USB, (dump_save_hook)dump_st_hook);
    if(BSP_OK != ret)
    {
        printk("register_hook failed.  test case 28 failed! \n");
        return BSP_ERROR;
    }

    msleep(3000);
    system_error(0,0,0,0,0);

    return 0;
}
/*********************************** V7R2 ÐÂÔö **********************************/
BSP_S32 DRV_DUMP_SAVE_REGISTER_HOOK(DUMP_SAVE_MOD_ENUM ModId, DUMP_SAVE_HOOK pFunc)
{
    return bsp_dump_register_hook(ModId, pFunc);
}
dump_handle mdrv_om_register_callback(char * name, dump_hook p_func)
{
    return bsp_dump_register_hook(name, p_func);
}