usblp             168 drivers/usb/class/usblp.c static void usblp_dump(struct usblp *usblp)
usblp             170 drivers/usb/class/usblp.c 	struct device *dev = &usblp->intf->dev;
usblp             173 drivers/usb/class/usblp.c 	dev_dbg(dev, "usblp=0x%p\n", usblp);
usblp             174 drivers/usb/class/usblp.c 	dev_dbg(dev, "dev=0x%p\n", usblp->dev);
usblp             175 drivers/usb/class/usblp.c 	dev_dbg(dev, "present=%d\n", usblp->present);
usblp             176 drivers/usb/class/usblp.c 	dev_dbg(dev, "readbuf=0x%p\n", usblp->readbuf);
usblp             177 drivers/usb/class/usblp.c 	dev_dbg(dev, "readcount=%d\n", usblp->readcount);
usblp             178 drivers/usb/class/usblp.c 	dev_dbg(dev, "ifnum=%d\n", usblp->ifnum);
usblp             181 drivers/usb/class/usblp.c 			usblp->protocol[p].alt_setting);
usblp             183 drivers/usb/class/usblp.c 			usblp->protocol[p].epwrite);
usblp             185 drivers/usb/class/usblp.c 			usblp->protocol[p].epread);
usblp             187 drivers/usb/class/usblp.c 	dev_dbg(dev, "current_protocol=%d\n", usblp->current_protocol);
usblp             188 drivers/usb/class/usblp.c 	dev_dbg(dev, "minor=%d\n", usblp->minor);
usblp             189 drivers/usb/class/usblp.c 	dev_dbg(dev, "wstatus=%d\n", usblp->wstatus);
usblp             190 drivers/usb/class/usblp.c 	dev_dbg(dev, "rstatus=%d\n", usblp->rstatus);
usblp             191 drivers/usb/class/usblp.c 	dev_dbg(dev, "quirks=%d\n", usblp->quirks);
usblp             192 drivers/usb/class/usblp.c 	dev_dbg(dev, "used=%d\n", usblp->used);
usblp             193 drivers/usb/class/usblp.c 	dev_dbg(dev, "bidir=%d\n", usblp->bidir);
usblp             195 drivers/usb/class/usblp.c 		usblp->device_id_string ?
usblp             196 drivers/usb/class/usblp.c 			usblp->device_id_string + 2 :
usblp             233 drivers/usb/class/usblp.c static int usblp_wwait(struct usblp *usblp, int nonblock);
usblp             234 drivers/usb/class/usblp.c static int usblp_wtest(struct usblp *usblp, int nonblock);
usblp             235 drivers/usb/class/usblp.c static int usblp_rwait_and_lock(struct usblp *usblp, int nonblock);
usblp             236 drivers/usb/class/usblp.c static int usblp_rtest(struct usblp *usblp, int nonblock);
usblp             237 drivers/usb/class/usblp.c static int usblp_submit_read(struct usblp *usblp);
usblp             238 drivers/usb/class/usblp.c static int usblp_select_alts(struct usblp *usblp);
usblp             239 drivers/usb/class/usblp.c static int usblp_set_protocol(struct usblp *usblp, int protocol);
usblp             240 drivers/usb/class/usblp.c static int usblp_cache_device_id_string(struct usblp *usblp);
usblp             250 drivers/usb/class/usblp.c static int usblp_ctrl_msg(struct usblp *usblp, int request, int type, int dir, int recip, int value, void *buf, int len)
usblp             253 drivers/usb/class/usblp.c 	int index = usblp->ifnum;
usblp             259 drivers/usb/class/usblp.c 		index = (usblp->ifnum<<8)|usblp->protocol[usblp->current_protocol].alt_setting;
usblp             261 drivers/usb/class/usblp.c 	retval = usb_control_msg(usblp->dev,
usblp             262 drivers/usb/class/usblp.c 		dir ? usb_rcvctrlpipe(usblp->dev, 0) : usb_sndctrlpipe(usblp->dev, 0),
usblp             264 drivers/usb/class/usblp.c 	dev_dbg(&usblp->intf->dev,
usblp             270 drivers/usb/class/usblp.c #define usblp_read_status(usblp, status)\
usblp             271 drivers/usb/class/usblp.c 	usblp_ctrl_msg(usblp, USBLP_REQ_GET_STATUS, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, 0, status, 1)
usblp             272 drivers/usb/class/usblp.c #define usblp_get_id(usblp, config, id, maxlen)\
usblp             273 drivers/usb/class/usblp.c 	usblp_ctrl_msg(usblp, USBLP_REQ_GET_ID, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, config, id, maxlen)
usblp             274 drivers/usb/class/usblp.c #define usblp_reset(usblp)\
usblp             275 drivers/usb/class/usblp.c 	usblp_ctrl_msg(usblp, USBLP_REQ_RESET, USB_TYPE_CLASS, USB_DIR_OUT, USB_RECIP_OTHER, 0, NULL, 0)
usblp             277 drivers/usb/class/usblp.c #define usblp_hp_channel_change_request(usblp, channel, buffer) \
usblp             278 drivers/usb/class/usblp.c 	usblp_ctrl_msg(usblp, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, USB_TYPE_VENDOR, USB_DIR_IN, USB_RECIP_INTERFACE, channel, buffer, 1)
usblp             293 drivers/usb/class/usblp.c 	struct usblp *usblp = urb->context;
usblp             297 drivers/usb/class/usblp.c 	if (usblp->present && usblp->used) {
usblp             301 drivers/usb/class/usblp.c 			    usblp->minor, status);
usblp             303 drivers/usb/class/usblp.c 	spin_lock_irqsave(&usblp->lock, flags);
usblp             305 drivers/usb/class/usblp.c 		usblp->rstatus = status;
usblp             307 drivers/usb/class/usblp.c 		usblp->rstatus = urb->actual_length;
usblp             308 drivers/usb/class/usblp.c 	usblp->rcomplete = 1;
usblp             309 drivers/usb/class/usblp.c 	wake_up(&usblp->rwait);
usblp             310 drivers/usb/class/usblp.c 	spin_unlock_irqrestore(&usblp->lock, flags);
usblp             317 drivers/usb/class/usblp.c 	struct usblp *usblp = urb->context;
usblp             321 drivers/usb/class/usblp.c 	if (usblp->present && usblp->used) {
usblp             325 drivers/usb/class/usblp.c 			    usblp->minor, status);
usblp             327 drivers/usb/class/usblp.c 	spin_lock_irqsave(&usblp->lock, flags);
usblp             329 drivers/usb/class/usblp.c 		usblp->wstatus = status;
usblp             331 drivers/usb/class/usblp.c 		usblp->wstatus = urb->actual_length;
usblp             332 drivers/usb/class/usblp.c 	usblp->no_paper = 0;
usblp             333 drivers/usb/class/usblp.c 	usblp->wcomplete = 1;
usblp             334 drivers/usb/class/usblp.c 	wake_up(&usblp->wwait);
usblp             335 drivers/usb/class/usblp.c 	spin_unlock_irqrestore(&usblp->lock, flags);
usblp             346 drivers/usb/class/usblp.c static int usblp_check_status(struct usblp *usblp, int err)
usblp             351 drivers/usb/class/usblp.c 	mutex_lock(&usblp->mut);
usblp             352 drivers/usb/class/usblp.c 	if ((error = usblp_read_status(usblp, usblp->statusbuf)) < 0) {
usblp             353 drivers/usb/class/usblp.c 		mutex_unlock(&usblp->mut);
usblp             356 drivers/usb/class/usblp.c 				usblp->minor, error);
usblp             359 drivers/usb/class/usblp.c 	status = *usblp->statusbuf;
usblp             360 drivers/usb/class/usblp.c 	mutex_unlock(&usblp->mut);
usblp             371 drivers/usb/class/usblp.c 		   usblp->minor, usblp_messages[newerr]);
usblp             377 drivers/usb/class/usblp.c static int handle_bidir(struct usblp *usblp)
usblp             379 drivers/usb/class/usblp.c 	if (usblp->bidir && usblp->used) {
usblp             380 drivers/usb/class/usblp.c 		if (usblp_submit_read(usblp) < 0)
usblp             393 drivers/usb/class/usblp.c 	struct usblp *usblp;
usblp             406 drivers/usb/class/usblp.c 	usblp = usb_get_intfdata(intf);
usblp             407 drivers/usb/class/usblp.c 	if (!usblp || !usblp->dev || !usblp->present)
usblp             411 drivers/usb/class/usblp.c 	if (usblp->used)
usblp             423 drivers/usb/class/usblp.c 	usblp->used = 1;
usblp             424 drivers/usb/class/usblp.c 	file->private_data = usblp;
usblp             426 drivers/usb/class/usblp.c 	usblp->wcomplete = 1; /* we begin writeable */
usblp             427 drivers/usb/class/usblp.c 	usblp->wstatus = 0;
usblp             428 drivers/usb/class/usblp.c 	usblp->rcomplete = 0;
usblp             430 drivers/usb/class/usblp.c 	if (handle_bidir(usblp) < 0) {
usblp             432 drivers/usb/class/usblp.c 		usblp->used = 0;
usblp             441 drivers/usb/class/usblp.c static void usblp_cleanup(struct usblp *usblp)
usblp             443 drivers/usb/class/usblp.c 	printk(KERN_INFO "usblp%d: removed\n", usblp->minor);
usblp             445 drivers/usb/class/usblp.c 	kfree(usblp->readbuf);
usblp             446 drivers/usb/class/usblp.c 	kfree(usblp->device_id_string);
usblp             447 drivers/usb/class/usblp.c 	kfree(usblp->statusbuf);
usblp             448 drivers/usb/class/usblp.c 	usb_put_intf(usblp->intf);
usblp             449 drivers/usb/class/usblp.c 	kfree(usblp);
usblp             452 drivers/usb/class/usblp.c static void usblp_unlink_urbs(struct usblp *usblp)
usblp             454 drivers/usb/class/usblp.c 	usb_kill_anchored_urbs(&usblp->urbs);
usblp             459 drivers/usb/class/usblp.c 	struct usblp *usblp = file->private_data;
usblp             461 drivers/usb/class/usblp.c 	usblp->flags &= ~LP_ABORT;
usblp             464 drivers/usb/class/usblp.c 	usblp->used = 0;
usblp             465 drivers/usb/class/usblp.c 	if (usblp->present)
usblp             466 drivers/usb/class/usblp.c 		usblp_unlink_urbs(usblp);
usblp             468 drivers/usb/class/usblp.c 	usb_autopm_put_interface(usblp->intf);
usblp             470 drivers/usb/class/usblp.c 	if (!usblp->present)		/* finish cleanup from disconnect */
usblp             471 drivers/usb/class/usblp.c 		usblp_cleanup(usblp);
usblp             482 drivers/usb/class/usblp.c 	struct usblp *usblp = file->private_data;
usblp             484 drivers/usb/class/usblp.c 	poll_wait(file, &usblp->rwait, wait);
usblp             485 drivers/usb/class/usblp.c 	poll_wait(file, &usblp->wwait, wait);
usblp             486 drivers/usb/class/usblp.c 	spin_lock_irqsave(&usblp->lock, flags);
usblp             487 drivers/usb/class/usblp.c 	ret = ((usblp->bidir && usblp->rcomplete) ? EPOLLIN  | EPOLLRDNORM : 0) |
usblp             488 drivers/usb/class/usblp.c 	   ((usblp->no_paper || usblp->wcomplete) ? EPOLLOUT | EPOLLWRNORM : 0);
usblp             489 drivers/usb/class/usblp.c 	spin_unlock_irqrestore(&usblp->lock, flags);
usblp             495 drivers/usb/class/usblp.c 	struct usblp *usblp = file->private_data;
usblp             502 drivers/usb/class/usblp.c 	mutex_lock(&usblp->mut);
usblp             503 drivers/usb/class/usblp.c 	if (!usblp->present) {
usblp             508 drivers/usb/class/usblp.c 	dev_dbg(&usblp->intf->dev,
usblp             522 drivers/usb/class/usblp.c 			length = usblp_cache_device_id_string(usblp);
usblp             531 drivers/usb/class/usblp.c 					usblp->device_id_string,
usblp             546 drivers/usb/class/usblp.c 			twoints[0] = usblp->current_protocol;
usblp             550 drivers/usb/class/usblp.c 				if (usblp->protocol[i].alt_setting >= 0)
usblp             571 drivers/usb/class/usblp.c 				usblp_dump(usblp);
usblp             576 drivers/usb/class/usblp.c 			usblp_unlink_urbs(usblp);
usblp             577 drivers/usb/class/usblp.c 			retval = usblp_set_protocol(usblp, arg);
usblp             579 drivers/usb/class/usblp.c 				usblp_set_protocol(usblp,
usblp             580 drivers/usb/class/usblp.c 					usblp->current_protocol);
usblp             586 drivers/usb/class/usblp.c 			    le16_to_cpu(usblp->dev->descriptor.idVendor) != 0x03F0 ||
usblp             587 drivers/usb/class/usblp.c 			    usblp->quirks & USBLP_QUIRK_BIDIR) {
usblp             592 drivers/usb/class/usblp.c 			err = usblp_hp_channel_change_request(usblp,
usblp             595 drivers/usb/class/usblp.c 				dev_err(&usblp->dev->dev,
usblp             598 drivers/usb/class/usblp.c 					usblp->minor, err);
usblp             603 drivers/usb/class/usblp.c 			dev_dbg(&usblp->intf->dev,
usblp             605 drivers/usb/class/usblp.c 				usblp->minor, arg, newChannel);
usblp             615 drivers/usb/class/usblp.c 			twoints[0] = usblp->dev->bus->busnum;
usblp             616 drivers/usb/class/usblp.c 			twoints[1] = usblp->dev->devnum;
usblp             624 drivers/usb/class/usblp.c 			dev_dbg(&usblp->intf->dev,
usblp             626 drivers/usb/class/usblp.c 				usblp->minor, twoints[0], twoints[1]);
usblp             636 drivers/usb/class/usblp.c 			twoints[0] = le16_to_cpu(usblp->dev->descriptor.idVendor);
usblp             637 drivers/usb/class/usblp.c 			twoints[1] = le16_to_cpu(usblp->dev->descriptor.idProduct);
usblp             645 drivers/usb/class/usblp.c 			dev_dbg(&usblp->intf->dev,
usblp             647 drivers/usb/class/usblp.c 				usblp->minor, twoints[0], twoints[1]);
usblp             655 drivers/usb/class/usblp.c 			retval = usblp_reset(usblp);
usblp             664 drivers/usb/class/usblp.c 			retval = usblp_read_status(usblp, usblp->statusbuf);
usblp             668 drivers/usb/class/usblp.c 					    usblp->minor, retval);
usblp             672 drivers/usb/class/usblp.c 			status = *usblp->statusbuf;
usblp             679 drivers/usb/class/usblp.c 				usblp->flags |= LP_ABORT;
usblp             681 drivers/usb/class/usblp.c 				usblp->flags &= ~LP_ABORT;
usblp             689 drivers/usb/class/usblp.c 	mutex_unlock(&usblp->mut);
usblp             693 drivers/usb/class/usblp.c static struct urb *usblp_new_writeurb(struct usblp *usblp, int transfer_length)
usblp             707 drivers/usb/class/usblp.c 	usb_fill_bulk_urb(urb, usblp->dev,
usblp             708 drivers/usb/class/usblp.c 		usb_sndbulkpipe(usblp->dev,
usblp             709 drivers/usb/class/usblp.c 		 usblp->protocol[usblp->current_protocol].epwrite->bEndpointAddress),
usblp             710 drivers/usb/class/usblp.c 		writebuf, transfer_length, usblp_bulk_write, usblp);
usblp             718 drivers/usb/class/usblp.c 	struct usblp *usblp = file->private_data;
usblp             724 drivers/usb/class/usblp.c 	if (mutex_lock_interruptible(&usblp->wmut)) {
usblp             728 drivers/usb/class/usblp.c 	if ((rv = usblp_wwait(usblp, !!(file->f_flags & O_NONBLOCK))) < 0)
usblp             739 drivers/usb/class/usblp.c 		writeurb = usblp_new_writeurb(usblp, transfer_length);
usblp             742 drivers/usb/class/usblp.c 		usb_anchor_urb(writeurb, &usblp->urbs);
usblp             750 drivers/usb/class/usblp.c 		spin_lock_irq(&usblp->lock);
usblp             751 drivers/usb/class/usblp.c 		usblp->wcomplete = 0;
usblp             752 drivers/usb/class/usblp.c 		spin_unlock_irq(&usblp->lock);
usblp             754 drivers/usb/class/usblp.c 			usblp->wstatus = 0;
usblp             755 drivers/usb/class/usblp.c 			spin_lock_irq(&usblp->lock);
usblp             756 drivers/usb/class/usblp.c 			usblp->no_paper = 0;
usblp             757 drivers/usb/class/usblp.c 			usblp->wcomplete = 1;
usblp             758 drivers/usb/class/usblp.c 			wake_up(&usblp->wwait);
usblp             759 drivers/usb/class/usblp.c 			spin_unlock_irq(&usblp->lock);
usblp             768 drivers/usb/class/usblp.c 		rv = usblp_wwait(usblp, !!(file->f_flags&O_NONBLOCK));
usblp             775 drivers/usb/class/usblp.c 				spin_lock_irq(&usblp->lock);
usblp             776 drivers/usb/class/usblp.c 				usblp->no_paper = 1;	/* Mark for poll(2) */
usblp             777 drivers/usb/class/usblp.c 				spin_unlock_irq(&usblp->lock);
usblp             784 drivers/usb/class/usblp.c 		if (usblp->wstatus < 0) {
usblp             792 drivers/usb/class/usblp.c 		writecount += usblp->wstatus;
usblp             795 drivers/usb/class/usblp.c 	mutex_unlock(&usblp->wmut);
usblp             805 drivers/usb/class/usblp.c 	mutex_unlock(&usblp->wmut);
usblp             817 drivers/usb/class/usblp.c 	struct usblp *usblp = file->private_data;
usblp             822 drivers/usb/class/usblp.c 	if (!usblp->bidir)
usblp             825 drivers/usb/class/usblp.c 	rv = usblp_rwait_and_lock(usblp, !!(file->f_flags & O_NONBLOCK));
usblp             829 drivers/usb/class/usblp.c 	if ((avail = usblp->rstatus) < 0) {
usblp             831 drivers/usb/class/usblp.c 		    usblp->minor, (int)avail);
usblp             832 drivers/usb/class/usblp.c 		usblp_submit_read(usblp);
usblp             837 drivers/usb/class/usblp.c 	count = len < avail - usblp->readcount ? len : avail - usblp->readcount;
usblp             839 drivers/usb/class/usblp.c 	    copy_to_user(buffer, usblp->readbuf + usblp->readcount, count)) {
usblp             844 drivers/usb/class/usblp.c 	if ((usblp->readcount += count) == avail) {
usblp             845 drivers/usb/class/usblp.c 		if (usblp_submit_read(usblp) < 0) {
usblp             854 drivers/usb/class/usblp.c 	mutex_unlock(&usblp->mut);
usblp             869 drivers/usb/class/usblp.c static int usblp_wwait(struct usblp *usblp, int nonblock)
usblp             875 drivers/usb/class/usblp.c 	add_wait_queue(&usblp->wwait, &waita);
usblp             877 drivers/usb/class/usblp.c 		if (mutex_lock_interruptible(&usblp->mut)) {
usblp             882 drivers/usb/class/usblp.c 		rc = usblp_wtest(usblp, nonblock);
usblp             883 drivers/usb/class/usblp.c 		mutex_unlock(&usblp->mut);
usblp             888 drivers/usb/class/usblp.c 			if (usblp->flags & LP_ABORT) {
usblp             889 drivers/usb/class/usblp.c 				err = usblp_check_status(usblp, err);
usblp             896 drivers/usb/class/usblp.c 				mutex_lock(&usblp->mut);
usblp             897 drivers/usb/class/usblp.c 				usblp_read_status(usblp, usblp->statusbuf);
usblp             898 drivers/usb/class/usblp.c 				mutex_unlock(&usblp->mut);
usblp             903 drivers/usb/class/usblp.c 	remove_wait_queue(&usblp->wwait, &waita);
usblp             907 drivers/usb/class/usblp.c static int usblp_wtest(struct usblp *usblp, int nonblock)
usblp             911 drivers/usb/class/usblp.c 	if (!usblp->present)
usblp             915 drivers/usb/class/usblp.c 	spin_lock_irqsave(&usblp->lock, flags);
usblp             916 drivers/usb/class/usblp.c 	if (usblp->wcomplete) {
usblp             917 drivers/usb/class/usblp.c 		spin_unlock_irqrestore(&usblp->lock, flags);
usblp             920 drivers/usb/class/usblp.c 	spin_unlock_irqrestore(&usblp->lock, flags);
usblp             933 drivers/usb/class/usblp.c static int usblp_rwait_and_lock(struct usblp *usblp, int nonblock)
usblp             938 drivers/usb/class/usblp.c 	add_wait_queue(&usblp->rwait, &waita);
usblp             940 drivers/usb/class/usblp.c 		if (mutex_lock_interruptible(&usblp->mut)) {
usblp             945 drivers/usb/class/usblp.c 		if ((rc = usblp_rtest(usblp, nonblock)) < 0) {
usblp             946 drivers/usb/class/usblp.c 			mutex_unlock(&usblp->mut);
usblp             951 drivers/usb/class/usblp.c 		mutex_unlock(&usblp->mut);
usblp             955 drivers/usb/class/usblp.c 	remove_wait_queue(&usblp->rwait, &waita);
usblp             959 drivers/usb/class/usblp.c static int usblp_rtest(struct usblp *usblp, int nonblock)
usblp             963 drivers/usb/class/usblp.c 	if (!usblp->present)
usblp             967 drivers/usb/class/usblp.c 	spin_lock_irqsave(&usblp->lock, flags);
usblp             968 drivers/usb/class/usblp.c 	if (usblp->rcomplete) {
usblp             969 drivers/usb/class/usblp.c 		spin_unlock_irqrestore(&usblp->lock, flags);
usblp             972 drivers/usb/class/usblp.c 	spin_unlock_irqrestore(&usblp->lock, flags);
usblp             981 drivers/usb/class/usblp.c static int usblp_submit_read(struct usblp *usblp)
usblp             992 drivers/usb/class/usblp.c 	usb_fill_bulk_urb(urb, usblp->dev,
usblp             993 drivers/usb/class/usblp.c 		usb_rcvbulkpipe(usblp->dev,
usblp             994 drivers/usb/class/usblp.c 		  usblp->protocol[usblp->current_protocol].epread->bEndpointAddress),
usblp             995 drivers/usb/class/usblp.c 		usblp->readbuf, USBLP_BUF_SIZE_IN,
usblp             996 drivers/usb/class/usblp.c 		usblp_bulk_read, usblp);
usblp             997 drivers/usb/class/usblp.c 	usb_anchor_urb(urb, &usblp->urbs);
usblp             999 drivers/usb/class/usblp.c 	spin_lock_irqsave(&usblp->lock, flags);
usblp            1000 drivers/usb/class/usblp.c 	usblp->readcount = 0; /* XXX Why here? */
usblp            1001 drivers/usb/class/usblp.c 	usblp->rcomplete = 0;
usblp            1002 drivers/usb/class/usblp.c 	spin_unlock_irqrestore(&usblp->lock, flags);
usblp            1004 drivers/usb/class/usblp.c 		dev_dbg(&usblp->intf->dev, "error submitting urb (%d)\n", rc);
usblp            1005 drivers/usb/class/usblp.c 		spin_lock_irqsave(&usblp->lock, flags);
usblp            1006 drivers/usb/class/usblp.c 		usblp->rstatus = rc;
usblp            1007 drivers/usb/class/usblp.c 		usblp->rcomplete = 1;
usblp            1008 drivers/usb/class/usblp.c 		spin_unlock_irqrestore(&usblp->lock, flags);
usblp            1077 drivers/usb/class/usblp.c 	struct usblp *usblp = usb_get_intfdata(intf);
usblp            1079 drivers/usb/class/usblp.c 	if (usblp->device_id_string[0] == 0 &&
usblp            1080 drivers/usb/class/usblp.c 	    usblp->device_id_string[1] == 0)
usblp            1083 drivers/usb/class/usblp.c 	return sprintf(buf, "%s", usblp->device_id_string+2);
usblp            1092 drivers/usb/class/usblp.c ATTRIBUTE_GROUPS(usblp);
usblp            1098 drivers/usb/class/usblp.c 	struct usblp *usblp;
usblp            1104 drivers/usb/class/usblp.c 	usblp = kzalloc(sizeof(struct usblp), GFP_KERNEL);
usblp            1105 drivers/usb/class/usblp.c 	if (!usblp) {
usblp            1109 drivers/usb/class/usblp.c 	usblp->dev = dev;
usblp            1110 drivers/usb/class/usblp.c 	mutex_init(&usblp->wmut);
usblp            1111 drivers/usb/class/usblp.c 	mutex_init(&usblp->mut);
usblp            1112 drivers/usb/class/usblp.c 	spin_lock_init(&usblp->lock);
usblp            1113 drivers/usb/class/usblp.c 	init_waitqueue_head(&usblp->rwait);
usblp            1114 drivers/usb/class/usblp.c 	init_waitqueue_head(&usblp->wwait);
usblp            1115 drivers/usb/class/usblp.c 	init_usb_anchor(&usblp->urbs);
usblp            1116 drivers/usb/class/usblp.c 	usblp->ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
usblp            1117 drivers/usb/class/usblp.c 	usblp->intf = usb_get_intf(intf);
usblp            1122 drivers/usb/class/usblp.c 	if (!(usblp->device_id_string = kmalloc(USBLP_DEVICE_ID_SIZE, GFP_KERNEL))) {
usblp            1132 drivers/usb/class/usblp.c 	if (!(usblp->readbuf = kmalloc(USBLP_BUF_SIZE_IN, GFP_KERNEL))) {
usblp            1138 drivers/usb/class/usblp.c 	usblp->statusbuf = kmalloc(STATUS_BUF_SIZE, GFP_KERNEL);
usblp            1139 drivers/usb/class/usblp.c 	if (!usblp->statusbuf) {
usblp            1145 drivers/usb/class/usblp.c 	usblp->quirks = usblp_quirks(
usblp            1150 drivers/usb/class/usblp.c 	protocol = usblp_select_alts(usblp);
usblp            1161 drivers/usb/class/usblp.c 	if (usblp_set_protocol(usblp, protocol) < 0) {
usblp            1167 drivers/usb/class/usblp.c 	usblp_cache_device_id_string(usblp);
usblp            1170 drivers/usb/class/usblp.c 	usblp_check_status(usblp, 0);
usblp            1173 drivers/usb/class/usblp.c 	usb_set_intfdata(intf, usblp);
usblp            1175 drivers/usb/class/usblp.c 	usblp->present = 1;
usblp            1184 drivers/usb/class/usblp.c 	usblp->minor = intf->minor;
usblp            1187 drivers/usb/class/usblp.c 		usblp->minor, usblp->bidir ? "Bi" : "Uni", dev->devnum,
usblp            1188 drivers/usb/class/usblp.c 		usblp->ifnum,
usblp            1189 drivers/usb/class/usblp.c 		usblp->protocol[usblp->current_protocol].alt_setting,
usblp            1190 drivers/usb/class/usblp.c 		usblp->current_protocol,
usblp            1191 drivers/usb/class/usblp.c 		le16_to_cpu(usblp->dev->descriptor.idVendor),
usblp            1192 drivers/usb/class/usblp.c 		le16_to_cpu(usblp->dev->descriptor.idProduct));
usblp            1199 drivers/usb/class/usblp.c 	kfree(usblp->readbuf);
usblp            1200 drivers/usb/class/usblp.c 	kfree(usblp->statusbuf);
usblp            1201 drivers/usb/class/usblp.c 	kfree(usblp->device_id_string);
usblp            1202 drivers/usb/class/usblp.c 	usb_put_intf(usblp->intf);
usblp            1203 drivers/usb/class/usblp.c 	kfree(usblp);
usblp            1231 drivers/usb/class/usblp.c static int usblp_select_alts(struct usblp *usblp)
usblp            1239 drivers/usb/class/usblp.c 	if_alt = usblp->intf;
usblp            1242 drivers/usb/class/usblp.c 		usblp->protocol[p].alt_setting = -1;
usblp            1250 drivers/usb/class/usblp.c 			if (!(usblp->quirks & USBLP_QUIRK_BAD_CLASS))
usblp            1271 drivers/usb/class/usblp.c 		if (usblp->quirks & USBLP_QUIRK_BIDIR) {
usblp            1274 drivers/usb/class/usblp.c 			    usblp->minor);
usblp            1278 drivers/usb/class/usblp.c 		usblp->protocol[ifd->desc.bInterfaceProtocol].alt_setting =
usblp            1280 drivers/usb/class/usblp.c 		usblp->protocol[ifd->desc.bInterfaceProtocol].epwrite = epwrite;
usblp            1281 drivers/usb/class/usblp.c 		usblp->protocol[ifd->desc.bInterfaceProtocol].epread = epread;
usblp            1287 drivers/usb/class/usblp.c 	    usblp->protocol[proto_bias].alt_setting != -1)
usblp            1291 drivers/usb/class/usblp.c 	if (usblp->protocol[2].alt_setting != -1)
usblp            1293 drivers/usb/class/usblp.c 	if (usblp->protocol[1].alt_setting != -1)
usblp            1295 drivers/usb/class/usblp.c 	if (usblp->protocol[3].alt_setting != -1)
usblp            1302 drivers/usb/class/usblp.c static int usblp_set_protocol(struct usblp *usblp, int protocol)
usblp            1309 drivers/usb/class/usblp.c 	alts = usblp->protocol[protocol].alt_setting;
usblp            1312 drivers/usb/class/usblp.c 	r = usb_set_interface(usblp->dev, usblp->ifnum, alts);
usblp            1315 drivers/usb/class/usblp.c 			alts, usblp->ifnum);
usblp            1319 drivers/usb/class/usblp.c 	usblp->bidir = (usblp->protocol[protocol].epread != NULL);
usblp            1320 drivers/usb/class/usblp.c 	usblp->current_protocol = protocol;
usblp            1321 drivers/usb/class/usblp.c 	dev_dbg(&usblp->intf->dev, "usblp%d set protocol %d\n",
usblp            1322 drivers/usb/class/usblp.c 		usblp->minor, protocol);
usblp            1329 drivers/usb/class/usblp.c static int usblp_cache_device_id_string(struct usblp *usblp)
usblp            1333 drivers/usb/class/usblp.c 	err = usblp_get_id(usblp, 0, usblp->device_id_string, USBLP_DEVICE_ID_SIZE - 1);
usblp            1335 drivers/usb/class/usblp.c 		dev_dbg(&usblp->intf->dev,
usblp            1337 drivers/usb/class/usblp.c 			usblp->minor, err);
usblp            1338 drivers/usb/class/usblp.c 		usblp->device_id_string[0] = usblp->device_id_string[1] = '\0';
usblp            1345 drivers/usb/class/usblp.c 	length = be16_to_cpu(*((__be16 *)usblp->device_id_string));
usblp            1350 drivers/usb/class/usblp.c 	usblp->device_id_string[length] = '\0';
usblp            1352 drivers/usb/class/usblp.c 	dev_dbg(&usblp->intf->dev, "usblp%d Device ID string [len=%d]=\"%s\"\n",
usblp            1353 drivers/usb/class/usblp.c 		usblp->minor, length, &usblp->device_id_string[2]);
usblp            1360 drivers/usb/class/usblp.c 	struct usblp *usblp = usb_get_intfdata(intf);
usblp            1364 drivers/usb/class/usblp.c 	if (!usblp || !usblp->dev) {
usblp            1370 drivers/usb/class/usblp.c 	mutex_lock(&usblp->mut);
usblp            1371 drivers/usb/class/usblp.c 	usblp->present = 0;
usblp            1372 drivers/usb/class/usblp.c 	wake_up(&usblp->wwait);
usblp            1373 drivers/usb/class/usblp.c 	wake_up(&usblp->rwait);
usblp            1376 drivers/usb/class/usblp.c 	usblp_unlink_urbs(usblp);
usblp            1377 drivers/usb/class/usblp.c 	mutex_unlock(&usblp->mut);
usblp            1379 drivers/usb/class/usblp.c 	if (!usblp->used)
usblp            1380 drivers/usb/class/usblp.c 		usblp_cleanup(usblp);
usblp            1386 drivers/usb/class/usblp.c 	struct usblp *usblp = usb_get_intfdata(intf);
usblp            1388 drivers/usb/class/usblp.c 	usblp_unlink_urbs(usblp);
usblp            1391 drivers/usb/class/usblp.c 	wake_up(&usblp->wwait);
usblp            1392 drivers/usb/class/usblp.c 	wake_up(&usblp->rwait);
usblp            1400 drivers/usb/class/usblp.c 	struct usblp *usblp = usb_get_intfdata(intf);
usblp            1403 drivers/usb/class/usblp.c 	r = handle_bidir(usblp);