if (ir->polling) { if (ir->last_gpio == gpio) return 0; ir->last_gpio = gpio; } 
if (ir->polling) { if (ir->last_gpio == gpio) return 0; ir->last_gpio = gpio; } 
static int build_key(struct saa7134_dev *dev){	struct saa7134_ir *ir = dev->remote;	u32 gpio, data;	/* rising SAA7134_GPIO_GPRESCAN reads the status */	saa_clearb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN);	saa_setb(SAA7134_GPIO_GPMODE3,SAA7134_GPIO_GPRESCAN);	gpio = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2);        if (ir->polling) {                if (ir->last_gpio == gpio)                        return 0;                ir->last_gpio = gpio;        } 	data = ir_extract_bits(gpio, ir->mask_keycode);	dprintk("build_key gpio=0x%x mask=0x%x data=%d\n",		gpio, ir->mask_keycode, data);	if ((ir->mask_keydown  &&  (0 != (gpio & ir->mask_keydown))) ||	    (ir->mask_keyup    &&  (0 == (gpio & ir->mask_keyup)))) {		ir_input_keydown(ir->dev, &ir->ir, data, data);	} else {		ir_input_nokey(ir->dev, &ir->ir);	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4ac97914c6c35f6bf132071c718e034d0846b9f5/saa7134-input.c/clean/drivers/media/video/saa7134/saa7134-input.c