mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
media: irtoy: Refactor endpoint lookup
Use the common USB helpers for looking up bulk and interrupt endpoints (and determining max packet size) instead of open coding. Note that the device has two bulk endpoints so there is no functional change here. Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Sean Young <sean@mess.org>
This commit is contained in:
parent
94637cc807
commit
5a6ec95b0b
|
|
@ -393,27 +393,15 @@ static int irtoy_probe(struct usb_interface *intf,
|
|||
{
|
||||
struct usb_host_interface *idesc = intf->cur_altsetting;
|
||||
struct usb_device *usbdev = interface_to_usbdev(intf);
|
||||
struct usb_endpoint_descriptor *ep_in = NULL;
|
||||
struct usb_endpoint_descriptor *ep_out = NULL;
|
||||
struct usb_endpoint_descriptor *ep = NULL;
|
||||
struct usb_endpoint_descriptor *ep_in, *ep_out;
|
||||
struct irtoy *irtoy;
|
||||
struct rc_dev *rc;
|
||||
struct urb *urb;
|
||||
int i, pipe, err = -ENOMEM;
|
||||
int pipe, err;
|
||||
|
||||
for (i = 0; i < idesc->desc.bNumEndpoints; i++) {
|
||||
ep = &idesc->endpoint[i].desc;
|
||||
|
||||
if (!ep_in && usb_endpoint_is_bulk_in(ep) &&
|
||||
usb_endpoint_maxp(ep) == MAX_PACKET)
|
||||
ep_in = ep;
|
||||
|
||||
if (!ep_out && usb_endpoint_is_bulk_out(ep) &&
|
||||
usb_endpoint_maxp(ep) == MAX_PACKET)
|
||||
ep_out = ep;
|
||||
}
|
||||
|
||||
if (!ep_in || !ep_out) {
|
||||
err = usb_find_common_endpoints(idesc, &ep_in, &ep_out, NULL, NULL);
|
||||
if (err || usb_endpoint_maxp(ep_in) != MAX_PACKET ||
|
||||
usb_endpoint_maxp(ep_out) != MAX_PACKET) {
|
||||
dev_err(&intf->dev, "required endpoints not found\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
|
@ -422,6 +410,7 @@ static int irtoy_probe(struct usb_interface *intf,
|
|||
if (!irtoy)
|
||||
return -ENOMEM;
|
||||
|
||||
err = -ENOMEM;
|
||||
irtoy->in = kmalloc(MAX_PACKET, GFP_KERNEL);
|
||||
if (!irtoy->in)
|
||||
goto free_irtoy;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user