uss720.c (0cce284537fb42d9c28b9b31038ffc9b464555f5) uss720.c (5b5e0928f742cfa853b2411400a1b19fa379d758)
1/*****************************************************************************/
2
3/*
4 * uss720.c -- USS720 USB Parport Cable.
5 *
6 * Copyright (C) 1999, 2005, 2010
7 * Thomas Sailer (t.sailer@alumni.ethz.ch)
8 *

--- 512 unchanged lines hidden (view full) ---

521 int i;
522
523 if (!usbdev)
524 return 0;
525 if (change_mode(pp, ECR_EPP))
526 return 0;
527 i = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 1), (void *)buf, length, &rlen, 20000);
528 if (i)
1/*****************************************************************************/
2
3/*
4 * uss720.c -- USS720 USB Parport Cable.
5 *
6 * Copyright (C) 1999, 2005, 2010
7 * Thomas Sailer (t.sailer@alumni.ethz.ch)
8 *

--- 512 unchanged lines hidden (view full) ---

521 int i;
522
523 if (!usbdev)
524 return 0;
525 if (change_mode(pp, ECR_EPP))
526 return 0;
527 i = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 1), (void *)buf, length, &rlen, 20000);
528 if (i)
529 printk(KERN_ERR "uss720: sendbulk ep 1 buf %p len %Zu rlen %u\n", buf, length, rlen);
529 printk(KERN_ERR "uss720: sendbulk ep 1 buf %p len %zu rlen %u\n", buf, length, rlen);
530 change_mode(pp, ECR_PS2);
531 return rlen;
532#endif
533}
534
535static size_t parport_uss720_epp_read_addr(struct parport *pp, void *buf, size_t length, int flags)
536{
537 struct parport_uss720_private *priv = pp->private_data;

--- 44 unchanged lines hidden (view full) ---

582 int i;
583
584 if (!usbdev)
585 return 0;
586 if (change_mode(pp, ECR_ECP))
587 return 0;
588 i = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 1), (void *)buffer, len, &rlen, 20000);
589 if (i)
530 change_mode(pp, ECR_PS2);
531 return rlen;
532#endif
533}
534
535static size_t parport_uss720_epp_read_addr(struct parport *pp, void *buf, size_t length, int flags)
536{
537 struct parport_uss720_private *priv = pp->private_data;

--- 44 unchanged lines hidden (view full) ---

582 int i;
583
584 if (!usbdev)
585 return 0;
586 if (change_mode(pp, ECR_ECP))
587 return 0;
588 i = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 1), (void *)buffer, len, &rlen, 20000);
589 if (i)
590 printk(KERN_ERR "uss720: sendbulk ep 1 buf %p len %Zu rlen %u\n", buffer, len, rlen);
590 printk(KERN_ERR "uss720: sendbulk ep 1 buf %p len %zu rlen %u\n", buffer, len, rlen);
591 change_mode(pp, ECR_PS2);
592 return rlen;
593}
594
595static size_t parport_uss720_ecp_read_data(struct parport *pp, void *buffer, size_t len, int flags)
596{
597 struct parport_uss720_private *priv = pp->private_data;
598 struct usb_device *usbdev = priv->usbdev;
599 int rlen;
600 int i;
601
602 if (!usbdev)
603 return 0;
604 if (change_mode(pp, ECR_ECP))
605 return 0;
606 i = usb_bulk_msg(usbdev, usb_rcvbulkpipe(usbdev, 2), buffer, len, &rlen, 20000);
607 if (i)
591 change_mode(pp, ECR_PS2);
592 return rlen;
593}
594
595static size_t parport_uss720_ecp_read_data(struct parport *pp, void *buffer, size_t len, int flags)
596{
597 struct parport_uss720_private *priv = pp->private_data;
598 struct usb_device *usbdev = priv->usbdev;
599 int rlen;
600 int i;
601
602 if (!usbdev)
603 return 0;
604 if (change_mode(pp, ECR_ECP))
605 return 0;
606 i = usb_bulk_msg(usbdev, usb_rcvbulkpipe(usbdev, 2), buffer, len, &rlen, 20000);
607 if (i)
608 printk(KERN_ERR "uss720: recvbulk ep 2 buf %p len %Zu rlen %u\n", buffer, len, rlen);
608 printk(KERN_ERR "uss720: recvbulk ep 2 buf %p len %zu rlen %u\n", buffer, len, rlen);
609 change_mode(pp, ECR_PS2);
610 return rlen;
611}
612
613static size_t parport_uss720_ecp_write_addr(struct parport *pp, const void *buffer, size_t len, int flags)
614{
615 size_t written = 0;
616

--- 16 unchanged lines hidden (view full) ---

633 int i;
634
635 if (!usbdev)
636 return 0;
637 if (change_mode(pp, ECR_PPF))
638 return 0;
639 i = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 1), (void *)buffer, len, &rlen, 20000);
640 if (i)
609 change_mode(pp, ECR_PS2);
610 return rlen;
611}
612
613static size_t parport_uss720_ecp_write_addr(struct parport *pp, const void *buffer, size_t len, int flags)
614{
615 size_t written = 0;
616

--- 16 unchanged lines hidden (view full) ---

633 int i;
634
635 if (!usbdev)
636 return 0;
637 if (change_mode(pp, ECR_PPF))
638 return 0;
639 i = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 1), (void *)buffer, len, &rlen, 20000);
640 if (i)
641 printk(KERN_ERR "uss720: sendbulk ep 1 buf %p len %Zu rlen %u\n", buffer, len, rlen);
641 printk(KERN_ERR "uss720: sendbulk ep 1 buf %p len %zu rlen %u\n", buffer, len, rlen);
642 change_mode(pp, ECR_PS2);
643 return rlen;
644}
645
646/* --------------------------------------------------------------------- */
647
648static struct parport_operations parport_uss720_ops =
649{

--- 182 unchanged lines hidden ---
642 change_mode(pp, ECR_PS2);
643 return rlen;
644}
645
646/* --------------------------------------------------------------------- */
647
648static struct parport_operations parport_uss720_ops =
649{

--- 182 unchanged lines hidden ---