summaryrefslogtreecommitdiff
path: root/drivers/media/rc/imon_raw.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/rc/imon_raw.c')
-rw-r--r--drivers/media/rc/imon_raw.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/media/rc/imon_raw.c b/drivers/media/rc/imon_raw.c
index 3a526dea6532..295acd6ba9e1 100644
--- a/drivers/media/rc/imon_raw.c
+++ b/drivers/media/rc/imon_raw.c
@@ -105,26 +105,16 @@ static void imon_ir_rx(struct urb *urb)
static int imon_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{
- struct usb_endpoint_descriptor *ir_ep = NULL;
- struct usb_host_interface *idesc;
+ struct usb_endpoint_descriptor *ir_ep;
struct usb_device *udev;
struct rc_dev *rcdev;
struct imon *imon;
- int i, ret;
+ int ret;
udev = interface_to_usbdev(intf);
- idesc = intf->cur_altsetting;
-
- for (i = 0; i < idesc->desc.bNumEndpoints; i++) {
- struct usb_endpoint_descriptor *ep = &idesc->endpoint[i].desc;
-
- if (usb_endpoint_is_int_in(ep)) {
- ir_ep = ep;
- break;
- }
- }
- if (!ir_ep) {
+ ret = usb_find_int_in_endpoint(intf->cur_altsetting, &ir_ep);
+ if (ret) {
dev_err(&intf->dev, "IR endpoint missing");
return -ENODEV;
}