| .. | .. |
|---|
| 677 | 677 | enable_irq(fhci_to_hcd(fhci)->irq); |
|---|
| 678 | 678 | } |
|---|
| 679 | 679 | |
|---|
| 680 | | -DECLARE_TASKLET(fhci_tasklet, process_done_list, 0); |
|---|
| 680 | +DECLARE_TASKLET_OLD(fhci_tasklet, process_done_list); |
|---|
| 681 | 681 | |
|---|
| 682 | 682 | /* transfer complted callback */ |
|---|
| 683 | 683 | u32 fhci_transfer_confirm_callback(struct fhci_hcd *fhci) |
|---|
| .. | .. |
|---|
| 701 | 701 | u32 data_len = urb->transfer_buffer_length; |
|---|
| 702 | 702 | int urb_state = 0; |
|---|
| 703 | 703 | int toggle = 0; |
|---|
| 704 | | - struct td *td; |
|---|
| 705 | 704 | u8 *data; |
|---|
| 706 | 705 | u16 cnt = 0; |
|---|
| 707 | 706 | |
|---|
| .. | .. |
|---|
| 727 | 726 | } |
|---|
| 728 | 727 | ed->speed = (urb->dev->speed == USB_SPEED_LOW) ? |
|---|
| 729 | 728 | FHCI_LOW_SPEED : FHCI_FULL_SPEED; |
|---|
| 730 | | - ed->max_pkt_size = usb_maxpacket(urb->dev, |
|---|
| 731 | | - urb->pipe, usb_pipeout(urb->pipe)); |
|---|
| 729 | + ed->max_pkt_size = usb_endpoint_maxp(&urb->ep->desc); |
|---|
| 732 | 730 | urb->ep->hcpriv = ed; |
|---|
| 733 | 731 | fhci_dbg(fhci, "new ep speed=%d max_pkt_size=%d\n", |
|---|
| 734 | 732 | ed->speed, ed->max_pkt_size); |
|---|
| .. | .. |
|---|
| 768 | 766 | if (urb->transfer_flags & URB_ZERO_PACKET && |
|---|
| 769 | 767 | urb->transfer_buffer_length > 0 && |
|---|
| 770 | 768 | ((urb->transfer_buffer_length % |
|---|
| 771 | | - usb_maxpacket(urb->dev, urb->pipe, |
|---|
| 772 | | - usb_pipeout(urb->pipe))) == 0)) |
|---|
| 769 | + usb_endpoint_maxp(&urb->ep->desc)) == 0)) |
|---|
| 773 | 770 | urb_state = US_BULK0; |
|---|
| 774 | 771 | while (data_len > 4096) { |
|---|
| 775 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 772 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 776 | 773 | usb_pipeout(urb->pipe) ? FHCI_TA_OUT : |
|---|
| 777 | 774 | FHCI_TA_IN, |
|---|
| 778 | 775 | cnt ? USB_TD_TOGGLE_CARRY : |
|---|
| .. | .. |
|---|
| 783 | 780 | cnt++; |
|---|
| 784 | 781 | } |
|---|
| 785 | 782 | |
|---|
| 786 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 783 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 787 | 784 | usb_pipeout(urb->pipe) ? FHCI_TA_OUT : FHCI_TA_IN, |
|---|
| 788 | 785 | cnt ? USB_TD_TOGGLE_CARRY : toggle, |
|---|
| 789 | 786 | data, data_len, 0, 0, true); |
|---|
| .. | .. |
|---|
| 791 | 788 | |
|---|
| 792 | 789 | if (urb->transfer_flags & URB_ZERO_PACKET && |
|---|
| 793 | 790 | cnt < urb_priv->num_of_tds) { |
|---|
| 794 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 791 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 795 | 792 | usb_pipeout(urb->pipe) ? FHCI_TA_OUT : |
|---|
| 796 | 793 | FHCI_TA_IN, |
|---|
| 797 | 794 | USB_TD_TOGGLE_CARRY, NULL, 0, 0, 0, true); |
|---|
| .. | .. |
|---|
| 800 | 797 | break; |
|---|
| 801 | 798 | case FHCI_TF_INTR: |
|---|
| 802 | 799 | urb->start_frame = get_frame_num(fhci) + 1; |
|---|
| 803 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 800 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 804 | 801 | usb_pipeout(urb->pipe) ? FHCI_TA_OUT : FHCI_TA_IN, |
|---|
| 805 | 802 | USB_TD_TOGGLE_DATA0, data, data_len, |
|---|
| 806 | 803 | urb->interval, urb->start_frame, true); |
|---|
| 807 | 804 | break; |
|---|
| 808 | 805 | case FHCI_TF_CTRL: |
|---|
| 809 | 806 | ed->dev_addr = usb_pipedevice(urb->pipe); |
|---|
| 810 | | - ed->max_pkt_size = usb_maxpacket(urb->dev, urb->pipe, |
|---|
| 811 | | - usb_pipeout(urb->pipe)); |
|---|
| 807 | + ed->max_pkt_size = usb_endpoint_maxp(&urb->ep->desc); |
|---|
| 808 | + |
|---|
| 812 | 809 | /* setup stage */ |
|---|
| 813 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, FHCI_TA_SETUP, |
|---|
| 810 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, FHCI_TA_SETUP, |
|---|
| 814 | 811 | USB_TD_TOGGLE_DATA0, urb->setup_packet, 8, 0, 0, true); |
|---|
| 815 | 812 | |
|---|
| 816 | 813 | /* data stage */ |
|---|
| 817 | 814 | if (data_len > 0) { |
|---|
| 818 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 815 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 819 | 816 | usb_pipeout(urb->pipe) ? FHCI_TA_OUT : |
|---|
| 820 | 817 | FHCI_TA_IN, |
|---|
| 821 | 818 | USB_TD_TOGGLE_DATA1, data, data_len, 0, 0, |
|---|
| .. | .. |
|---|
| 824 | 821 | |
|---|
| 825 | 822 | /* status stage */ |
|---|
| 826 | 823 | if (data_len > 0) |
|---|
| 827 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 824 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 828 | 825 | (usb_pipeout(urb->pipe) ? FHCI_TA_IN : |
|---|
| 829 | 826 | FHCI_TA_OUT), |
|---|
| 830 | 827 | USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true); |
|---|
| 831 | 828 | else |
|---|
| 832 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 829 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt++, |
|---|
| 833 | 830 | FHCI_TA_IN, |
|---|
| 834 | 831 | USB_TD_TOGGLE_DATA1, data, 0, 0, 0, true); |
|---|
| 835 | 832 | |
|---|
| .. | .. |
|---|
| 846 | 843 | */ |
|---|
| 847 | 844 | frame += cnt * urb->interval; |
|---|
| 848 | 845 | frame &= 0x07ff; |
|---|
| 849 | | - td = fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 846 | + fhci_td_fill(fhci, urb, urb_priv, ed, cnt, |
|---|
| 850 | 847 | usb_pipeout(urb->pipe) ? FHCI_TA_OUT : |
|---|
| 851 | 848 | FHCI_TA_IN, |
|---|
| 852 | 849 | USB_TD_TOGGLE_DATA0, |
|---|