static ssize_t gameport_rebind_driver(struct device *dev, const char *buf, size_t count) 
static ssize_t gameport_rebind_driver(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) 
static ssize_t gameport_rebind_driver(struct device *dev, const char *buf, size_t count){	struct gameport *gameport = to_gameport_port(dev);	struct device_driver *drv;	int retval;	retval = down_interruptible(&gameport_sem);	if (retval)		return retval;	retval = count;	if (!strncmp(buf, "none", count)) {		gameport_disconnect_port(gameport);	} else if (!strncmp(buf, "reconnect", count)) {		gameport_reconnect_port(gameport);	} else if (!strncmp(buf, "rescan", count)) {		gameport_disconnect_port(gameport);		gameport_find_driver(gameport);	} else if ((drv = driver_find(buf, &gameport_bus)) != NULL) {		gameport_disconnect_port(gameport);		gameport_bind_driver(gameport, to_gameport_driver(drv));		put_driver(drv);	} else {		retval = -EINVAL;	}	up(&gameport_sem);	return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e404e274f62665f3333d6a539d0d3701f678a598/gameport.c/buggy/drivers/input/gameport/gameport.c