#else\r
#define DBG(x...)\r
#endif\r
-\r
-#if 0\r
#define DBGERR(x...) printk(KERN_INFO x)\r
-#else\r
-#define DBGERR(x...)\r
-#endif\r
+\r
\r
#define EXTPAND_GPIO_GET_BIT(a,num) (((a)>>(num))&0x01)\r
#define EXTPAND_GPIO_SET_BIT(a,num) ((a)|(0x01<<(num)))\r
\r
\r
static int expand_gpio_irq_en = -1;\r
-static int expand_gpio_irq_ctrflag = -1;\r
+static int expand_gpio_irq_ctrflag = 0;\r
static unsigned int expand_gpio_irq_num = 0;\r
\r
static struct workqueue_struct *irqworkqueue;\r
\r
DBG("******************%s*******************\n",__FUNCTION__);\r
expand_gpio_irq_ctr_dis(pchip->irq_chain,0);\r
- memcpy(&oldintputreg[0],&pchip->gvar->reg_input[0],pchip->expand_port_pinnum);\r
+ memcpy(&oldintputreg[0],&pchip->gvar->reg_input[0],pchip->expand_port_group);\r
if(pchip->irq_data.read_allinputreg(pchip->irq_data.data,&tempintputreg[0]))\r
{\r
expand_gpio_irq_ctr_dis(pchip->irq_chain,-1);\r
return IRQ_HANDLED;\r
}\r
\r
- memcpy(&pchip->gvar->reg_input[0],&tempintputreg[0],pchip->expand_port_pinnum);\r
+ memcpy(&pchip->gvar->reg_input[0],&tempintputreg[0],pchip->expand_port_group);\r
//DBG("**has run at %s**,input[0] = %x,input[1] = %x,input[2] = %x\n",__FUNCTION__,pchip->gvar.reg_input[0],pchip->gvar.reg_input[1],pchip->gvar.reg_input[2]);\r
\r
//Handle for different expand_port_group \r
int wait_untill_input_reg_flash(void)\r
{\r
unsigned int num = 0;\r
- unsigned int tempnum = expand_gpio_irq_num;\r
+ unsigned int tempnum = expand_gpio_irq_num;\r
\r
while(expand_gpio_irq_ctrflag&&(expand_gpio_irq_num==tempnum))\r
{\r
#include "../drivers/gpio/expand_gpio_soft_interrupt.h"
#if 0
-#define TCA6424DEB
#define DBG(x...) printk(KERN_INFO x)
#else
#define DBG(x...)
#endif
-
-#if 0
#define DBGERR(x...) printk(KERN_INFO x)
-#else
-#define DBGERR(x...)
-#endif
+
struct tca6424_chip {
#ifdef CONFIG_EXPAND_GPIO_SOFT_INTERRUPT
ret = wait_untill_input_reg_flash( );
if(ret<0)
+ {
return -1;
+ DBGERR("**********tca6424 get value error***************\n");
+ }
#endif
gpioPortNum = pin_num/8;