Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754063AbdDDNoS (ORCPT ); Tue, 4 Apr 2017 09:44:18 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:43820 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753943AbdDDNoQ (ORCPT ); Tue, 4 Apr 2017 09:44:16 -0400 Date: Tue, 4 Apr 2017 09:44:15 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: "Gustavo A. R. Silva" cc: Greg Kroah-Hartman , Felipe Balbi , Peter Chen , Chunfeng Yun , Mathias Nyman , , , Peter Senna Tschudin Subject: Re: [PATCH v2 2/2] usb: misc: refactor code In-Reply-To: <20170404035154.GA15284@embeddedgus> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2675 Lines: 100 On Mon, 3 Apr 2017, Gustavo A. R. Silva wrote: > Code refactoring to make the flow easier to follow. > > Cc: Alan Stern > Cc: Greg Kroah-Hartman > Signed-off-by: Gustavo A. R. Silva > --- > Changes in v2: > Remove unfruitful changes in previous patch. > Revert change to comment. For both patches: Acked-by: Alan Stern > drivers/usb/misc/usbtest.c | 49 ++++++++++++++++++++-------------------------- > 1 file changed, 21 insertions(+), 28 deletions(-) > > diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c > index 7bfb6b78..88f627e 100644 > --- a/drivers/usb/misc/usbtest.c > +++ b/drivers/usb/misc/usbtest.c > @@ -124,6 +124,20 @@ static struct usb_device *testdev_to_usbdev(struct usbtest_dev *test) > > /*-------------------------------------------------------------------------*/ > > +static inline void endpoint_update(int edi, > + struct usb_host_endpoint **in, > + struct usb_host_endpoint **out, > + struct usb_host_endpoint *e) > +{ > + if (edi) { > + if (!*in) > + *in = e; > + } else { > + if (!*out) > + *out = e; > + } > +} > + > static int > get_endpoints(struct usbtest_dev *dev, struct usb_interface *intf) > { > @@ -151,47 +165,26 @@ get_endpoints(struct usbtest_dev *dev, struct usb_interface *intf) > */ > for (ep = 0; ep < alt->desc.bNumEndpoints; ep++) { > struct usb_host_endpoint *e; > + int edi; > > e = alt->endpoint + ep; > + edi = usb_endpoint_dir_in(&e->desc); > + > switch (usb_endpoint_type(&e->desc)) { > case USB_ENDPOINT_XFER_BULK: > - break; > + endpoint_update(edi, &in, &out, e); > + continue; > case USB_ENDPOINT_XFER_INT: > if (dev->info->intr) > - goto try_intr; > + endpoint_update(edi, &int_in, &int_out, e); > continue; > case USB_ENDPOINT_XFER_ISOC: > if (dev->info->iso) > - goto try_iso; > + endpoint_update(edi, &iso_in, &iso_out, e); > /* FALLTHROUGH */ > default: > continue; > } > - if (usb_endpoint_dir_in(&e->desc)) { > - if (!in) > - in = e; > - } else { > - if (!out) > - out = e; > - } > - continue; > -try_intr: > - if (usb_endpoint_dir_in(&e->desc)) { > - if (!int_in) > - int_in = e; > - } else { > - if (!int_out) > - int_out = e; > - } > - continue; > -try_iso: > - if (usb_endpoint_dir_in(&e->desc)) { > - if (!iso_in) > - iso_in = e; > - } else { > - if (!iso_out) > - iso_out = e; > - } > } > if ((in && out) || iso_in || iso_out || int_in || int_out) > goto found; >