00450e6
[firefly-linux-kernel-4.4.55.git] /
1 /* USB defines for older kernels */
2
3 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19)
4
5 /**
6  * usb_endpoint_dir_out - check if the endpoint has OUT direction
7  * @epd: endpoint to be checked
8  *
9  * Returns true if the endpoint is of type OUT, otherwise it returns false.
10  */
11
12 static inline int usb_endpoint_dir_out(const struct usb_endpoint_descriptor *epd)
13 {
14        return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT);
15 }
16
17 static inline int usb_endpoint_dir_in(const struct usb_endpoint_descriptor *epd)
18 {
19        return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN);
20 }
21
22
23 /**
24  * usb_endpoint_xfer_int - check if the endpoint has interrupt transfer type
25  * @epd: endpoint to be checked
26  *
27  * Returns true if the endpoint is of type interrupt, otherwise it returns
28  * false.
29  */
30 static inline int usb_endpoint_xfer_int(const struct usb_endpoint_descriptor *epd)
31 {
32        return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
33                USB_ENDPOINT_XFER_INT);
34 }
35
36
37 /**
38  * usb_endpoint_is_int_in - check if the endpoint is interrupt IN
39  * @epd: endpoint to be checked
40  *
41  * Returns true if the endpoint has interrupt transfer type and IN direction,
42  * otherwise it returns false.
43  */
44
45 static inline int usb_endpoint_is_int_in(const struct usb_endpoint_descriptor *epd)
46 {
47        return (usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd));
48 }
49
50 /**
51  * usb_endpoint_is_int_out - check if the endpoint is interrupt OUT
52  * @epd: endpoint to be checked
53  *
54  * Returns true if the endpoint has interrupt transfer type and OUT direction,
55  * otherwise it returns false.
56  */
57
58 static inline int usb_endpoint_is_int_out(const struct usb_endpoint_descriptor *epd)
59 {
60        return (usb_endpoint_xfer_int(epd) && usb_endpoint_dir_out(epd));
61 }
62
63 #endif /* older kernel versions */