gprr = read_scoop_reg(SCOOP_GPRR) & (CORGI_SCP_SWA | CORGI_SCP_SWB); 
gprr = read_scoop_reg(&corgiscoop_device.dev, SCOOP_GPRR) & (CORGI_SCP_SWA | CORGI_SCP_SWB); 
static void corgikbd_hinge_timer(unsigned long data){	struct corgikbd *corgikbd_data = (struct corgikbd *) data;	unsigned long gprr;	unsigned long flags;	gprr = read_scoop_reg(SCOOP_GPRR) & (CORGI_SCP_SWA | CORGI_SCP_SWB);	if (gprr != sharpsl_hinge_state) {		hinge_count = 0;		sharpsl_hinge_state = gprr;	} else if (hinge_count < HINGE_STABLE_COUNT) {		hinge_count++;		if (hinge_count >= HINGE_STABLE_COUNT) {			spin_lock_irqsave(&corgikbd_data->lock, flags);			handle_scancode((sharpsl_hinge_state == 0x00), 125, corgikbd_data); /* Keyboard with Landscape Screen */			handle_scancode((sharpsl_hinge_state == 0x08), 126, corgikbd_data); /* No Keyboard with Portrait Screen */			handle_scancode((sharpsl_hinge_state == 0x0c), 127, corgikbd_data); /* Keyboard and Screen Closed  */			input_sync(&corgikbd_data->input);			spin_unlock_irqrestore(&corgikbd_data->lock, flags);		}	}	mod_timer(&corgikbd_data->htimer, jiffies + HINGE_SCAN_INTERVAL);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/aba5a4c055dde13a3cece53e1b4b060294d631ed/corgikbd.c/buggy/drivers/input/keyboard/corgikbd.c