static __inline void pp2106_send_ack(void)
{
	QWERTY_SDA_OUTPUT();
	QWERTY_SDA_LOW();

	QWERTY_SCL_LOW();
	gpio_configure(KEY_SDA_PIN,GPIOF_INPUT);  
	QWERTY_SCL_HIGH();
}
static __inline void pp2106_send_ack(void)
{
	QWERTY_SDA_OUTPUT();
	QWERTY_SDA_LOW();

	QWERTY_SCL_LOW();
	gpio_direction_input(KEY_SDA_PIN);
	QWERTY_SCL_HIGH();
}
static __inline int pp2106_send_ack(void)
{
  int ret;

	QWERTY_SDA_OUTPUT();
	QWERTY_SDA_LOW();

	gpio_configure(KEY_SDA_PIN,GPIOF_INPUT);  
	gpio_set_value(KEY_SCL_PIN,GPIO_LOW_VALUE);
  ret = QWERTY_SDA_READ();
  udelay(25);
	//QWERTY_SCL_LOW();
	//gpio_configure(KEY_SDA_PIN,GPIOF_INPUT);  
	QWERTY_SCL_HIGH();
  return ret;
}
static __inline int pp2106_send_ack(void)
{
  	int ret;

	QWERTY_SDA_OUTPUT();
	QWERTY_SDA_LOW();

	gpio_direction_input(KEY_SDA_PIN); 
	gpio_set_value(KEY_SCL_PIN,GPIO_LOW_VALUE);
  	ret = QWERTY_SDA_READ();

	udelay(25);
	
	//QWERTY_SCL_LOW();
	//gpio_request_one(KEY_SDA_PIN,GPIOF_INPUT,"QWERTY_SDA");  
	QWERTY_SCL_HIGH();

	return ret;
}