static void eamp_powerdown(void)
{
    EAMP_PRINTK("");
    eamp_closeheadPhone();
    eamp_closespeaker();
    return;
}
 int eamp_command( unsigned int  type)
{
	switch(type)
	{
		case EAMP_SPEAKER_CLOSE:
		{
			eamp_closespeaker();
			break;
		}
		case EAMP_SPEAKER_OPEN:
		{
			eamp_openspeaker();
			break;
		}
		case EAMP_HEADPHONE_CLOSE:
		{
			eamp_closeheadPhone();
			break;
		}
		case EAMP_HEADPHONE_OPEN:
		{
			eamp_openheadPhone();
			break;
		}	
		default:
			EAMP_PRINTK("eamp_command TYPE = %d",type);
			return 0;
	}	
	return 0;
}
// mute device when INIT_DL1_STREAM
void AudioAMPDevice_mute(void)
{
	if(ghp_on)
		eamp_closeheadPhone();	
	if(gsk_on)
		eamp_closespeaker();
	// now not control earpiece.
}
// mute device when INIT_DL1_STREAM
void AudioAMPDevice_mute(void)
{
	EAMP_PRINTK("AudioAMPDevice_mute");

	if(ghp_on)
		eamp_closeheadPhone();
	if(gsk_on)
/*                                                                     */
		eamp_closespeaker(0);
/*                                                                     */		
	// now not control earpiece.
}
// for AEE beep sound
void AudioAMPDevice_SpeakerLouderOpen(void)
{
	EAMP_PRINTK("AudioAMPDevice_SpeakerLouderOpen");
	if(gsk_on && gMode != 2) //speaker on and not incall mode
		return;
	gsk_forceon = true;
	gPreMode = gMode;
	gsk_preon = gsk_on;
	gep_preon = gep_on;
	if(gsk_on)
	{
/*                                                                     */
		eamp_closespeaker(0);
/*                                                                     */
	}
	gMode = 0;
	eamp_openspeaker(3);
	return ;
}
// for AEE beep sound
void AudioAMPDevice_SpeakerLouderClose(void)
{
	EAMP_PRINTK("AudioAMPDevice_SpeakerLouderClose");
	if(gsk_forceon)
	{
/*                                                                     */
		eamp_closespeaker(0);
/*                                                                     */		
		gMode = gPreMode;
		if(gep_preon)
		{
			eamp_openEarpiece();
		}
		else if(gsk_preon)
		{
			eamp_openspeaker(3);
		}
	}
	gsk_forceon = false;
}
static int eamp_command( unsigned int  type, unsigned long args,unsigned int count)
{
    EAMP_PRINTK("type(%u) test22",type);
    switch(type)
    {
        case EAMP_SPEAKER_CLOSE:
        {
            eamp_closespeaker();
            break;
        }
        case EAMP_SPEAKER_OPEN:
        {
            eamp_openspeaker();
            break;
        }
        case EAMP_HEADPHONE_CLOSE:
        {
            eamp_closeheadPhone();
            break;
        }
        case EAMP_HEADPHONE_OPEN:
        {
            eamp_openheadPhone();
            break;
        }
        case EAMP_EARPIECE_OPEN:
        {
            eamp_openEarpiece();
            break;
        }
        case EAMP_EARPIECE_CLOSE:
        {
            eamp_closeEarpiece();
            break;
        }
        case EAMP_GETREGISTER_VALUE:
        {
            return eamp_getRegister(args);
            break;
        }
        case EAMP_GETAMP_GAIN:
        {
            return eamp_getGainVolume();
            break;
        }
        case EAMP_SETAMP_GAIN:
        {
            eamp_changeGainVolume(args);
            break;
        }
        case EAMP_SETREGISTER_VALUE:
        {
            eamp_setRegister(args);
            break;
        }
//                                                                                     
        case EAMP_SETMODE:
        {
            eamp_setMode(args);
            break;
        }
//                                                                                   
//                                                                                                         
        case EAMP_SETDEVICE:
		{
			eamp_setDevice(args);
			break;
		}
//                                                                                                       
        default:
        {
        	EAMP_PRINTK("Not support command=%d", type);
        	return 0;
        }
    }
    return 0;
}
static int eamp_command( unsigned int  type, unsigned long args,unsigned int count)
{
	EAMP_PRINTK("eamp_command type(%u)",type);
	switch(type)
	{
		case EAMP_SPEAKER_CLOSE:
		{
/*                                                                     */
			eamp_closespeaker(args);
/*                                                                     */			
			break;
		}
		case EAMP_SPEAKER_OPEN:
		{
/*                                                                                        */
			eamp_openspeaker(args);
/*                                                                                        */
			break;
		}
		case EAMP_HEADPHONE_CLOSE:
		{
			eamp_closeheadPhone();
			break;
		}
		case EAMP_HEADPHONE_OPEN:
		{
			eamp_openheadPhone();
			break;
		}
		case EAMP_EARPIECE_OPEN:
		{
			eamp_openEarpiece();
			break;
		}
		case EAMP_EARPIECE_CLOSE:
		{
			eamp_closeEarpiece();
			break;
		}
		case EAMP_GETREGISTER_VALUE:
		{
			return eamp_getRegister(args);
			break;
		}
		case EAMP_GETAMP_GAIN:
		{
			return eamp_getGainVolume();
			break;
		}
		case EAMP_SETAMP_GAIN:
		{
			eamp_changeGainVolume(args);
			break;
		}
		case EAMP_SETREGISTER_VALUE:
		{
			eamp_setRegister(args);
			break;
		}
		case EAMP_GET_CTRP_NUM:
		{
			return eamp_getCtrlPointNum();
			break;
		}
		case EAMP_GET_CTRP_BITS:
		{
			return eamp_getCtrPointBits(args);
			break;
		}
		case EAMP_GET_CTRP_TABLE:
		{
			eamp_getCtrlPointTable(args);
			break;
		}
		case EAMP_SETMODE:
		{
			eamp_setMode(args);
		}
		default:
		return 0;
	}
	return 0;
}