if (get_1284_register(pp, 6, NULL)) 
if (get_1284_register(pp, 6, &reg, GFP_KERNEL)) 
static int change_mode(struct parport *pp, int m){	struct parport_uss720_private *priv = pp->private_data;	int mode;	if (get_1284_register(pp, 6, NULL))		return -EIO;	/* Bits <7:5> contain the mode. */	mode = (priv->reg[2] >> 5) & 0x7;	if (mode == m)		return 0;	/* We have to go through mode 000 or 001 */	if (mode > ECR_PS2 && m > ECR_PS2)		if (change_mode(pp, ECR_PS2))			return -EIO;	if (m <= ECR_PS2 && !(priv->reg[1] & 0x20)) {		/* This mode resets the FIFO, so we may		 * have to wait for it to drain first. */		unsigned long expire = jiffies + pp->physport->cad->timeout;		switch (mode) {		case ECR_PPF: /* Parallel Port FIFO mode */		case ECR_ECP: /* ECP Parallel Port mode */			/* Poll slowly. */			for (;;) {				if (get_1284_register(pp, 6, NULL))					return -EIO;				if (priv->reg[2] & 0x01)					break;				if (time_after_eq (jiffies, expire))					/* The FIFO is stuck. */					return -EBUSY;				msleep_interruptible(10);				if (signal_pending (current))					break;			}		}	}	/* Set the mode. */	if (set_1284_register(pp, 6, m << 5))		return -EIO;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0f36163d3abefbda1b21a330b3fdf3c2dc076d94/uss720.c/clean/drivers/usb/misc/uss720.c