| .. | .. |
|---|
| 3014 | 3014 | struct usb_device *dev = interface_to_usbdev(intf); |
|---|
| 3015 | 3015 | struct sisusb_usb_data *sisusb; |
|---|
| 3016 | 3016 | int retval = 0, i; |
|---|
| 3017 | + static const u8 ep_addresses[] = { |
|---|
| 3018 | + SISUSB_EP_GFX_IN | USB_DIR_IN, |
|---|
| 3019 | + SISUSB_EP_GFX_OUT | USB_DIR_OUT, |
|---|
| 3020 | + SISUSB_EP_GFX_BULK_OUT | USB_DIR_OUT, |
|---|
| 3021 | + SISUSB_EP_GFX_LBULK_OUT | USB_DIR_OUT, |
|---|
| 3022 | + SISUSB_EP_BRIDGE_IN | USB_DIR_IN, |
|---|
| 3023 | + SISUSB_EP_BRIDGE_OUT | USB_DIR_OUT, |
|---|
| 3024 | + 0}; |
|---|
| 3025 | + |
|---|
| 3026 | + /* Are the expected endpoints present? */ |
|---|
| 3027 | + if (!usb_check_bulk_endpoints(intf, ep_addresses)) { |
|---|
| 3028 | + dev_err(&intf->dev, "Invalid USB2VGA device\n"); |
|---|
| 3029 | + return -EINVAL; |
|---|
| 3030 | + } |
|---|
| 3017 | 3031 | |
|---|
| 3018 | 3032 | dev_info(&dev->dev, "USB2VGA dongle found at address %d\n", |
|---|
| 3019 | 3033 | dev->devnum); |
|---|