linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH resend 1/2] usb: serial: xsens_mt: add author and description
@ 2014-09-01  9:39 Frans Klaver
  2014-09-01  9:39 ` [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1 Frans Klaver
  0 siblings, 1 reply; 8+ messages in thread
From: Frans Klaver @ 2014-09-01  9:39 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Frans Klaver, Frans Klaver, linux-usb, linux-kernel

Signed-off-by: Frans Klaver <frans.klaver@xsens.com>
---
 drivers/usb/serial/xsens_mt.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/serial/xsens_mt.c b/drivers/usb/serial/xsens_mt.c
index 4841fb5..d500ccd 100644
--- a/drivers/usb/serial/xsens_mt.c
+++ b/drivers/usb/serial/xsens_mt.c
@@ -82,4 +82,6 @@ static struct usb_serial_driver * const serial_drivers[] = {
 
 module_usb_serial_driver(serial_drivers, id_table);
 
+MODULE_AUTHOR("Frans Klaver <frans.klaver@xsens.com>");
+MODULE_DESCRIPTION("USB-serial driver for Xsens motion trackers");
 MODULE_LICENSE("GPL");
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1
  2014-09-01  9:39 [PATCH resend 1/2] usb: serial: xsens_mt: add author and description Frans Klaver
@ 2014-09-01  9:39 ` Frans Klaver
  2014-09-04  7:12   ` Frans Klaver
  0 siblings, 1 reply; 8+ messages in thread
From: Frans Klaver @ 2014-09-01  9:39 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Frans Klaver, Frans Klaver, linux-usb, linux-kernel

Probe is testing if the current interface provides two bulk endpoints.
While this achieves the goal of only binding to the correct interface,
we already know we can find the device on interface number 1. Stop
checking the endpoints and just return successfully when interface
number 1 is probed.

Signed-off-by: Frans Klaver <frans.klaver@xsens.com>
---
 drivers/usb/serial/xsens_mt.c | 23 ++++-------------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/drivers/usb/serial/xsens_mt.c b/drivers/usb/serial/xsens_mt.c
index d500ccd..ea67ed9 100644
--- a/drivers/usb/serial/xsens_mt.c
+++ b/drivers/usb/serial/xsens_mt.c
@@ -41,28 +41,13 @@ static const struct usb_device_id id_table[] = {
 };
 MODULE_DEVICE_TABLE(usb, id_table);
 
-static int has_required_endpoints(const struct usb_host_interface *interface)
-{
-	__u8 i;
-	int has_bulk_in = 0;
-	int has_bulk_out = 0;
-
-	for (i = 0; i < interface->desc.bNumEndpoints; ++i) {
-		if (usb_endpoint_is_bulk_in(&interface->endpoint[i].desc))
-			has_bulk_in = 1;
-		else if (usb_endpoint_is_bulk_out(&interface->endpoint[i].desc))
-			has_bulk_out = 1;
-	}
-
-	return has_bulk_in && has_bulk_out;
-}
-
 static int xsens_mt_probe(struct usb_serial *serial,
 					const struct usb_device_id *id)
 {
-	if (!has_required_endpoints(serial->interface->cur_altsetting))
-		return -ENODEV;
-	return 0;
+	if (serial->interface->cur_altsetting.desc.bInterfaceNumber == 1)
+		return 0;
+
+	return -ENODEV;
 }
 
 static struct usb_serial_driver xsens_mt_device = {
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1
  2014-09-01  9:39 ` [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1 Frans Klaver
@ 2014-09-04  7:12   ` Frans Klaver
  2014-09-04  7:25     ` [PATCH " Frans Klaver
  2014-09-04  8:15     ` [PATCH resend " Johan Hovold
  0 siblings, 2 replies; 8+ messages in thread
From: Frans Klaver @ 2014-09-04  7:12 UTC (permalink / raw)
  To: Frans Klaver; +Cc: Johan Hovold, linux-usb, linux-kernel

Johan,

I noticed I submitted an error here. Will resend later today.

On Mon, Sep 1, 2014 at 11:39 AM, Frans Klaver <frans.klaver@xsens.com> wrote:
> Probe is testing if the current interface provides two bulk endpoints.
> While this achieves the goal of only binding to the correct interface,
> we already know we can find the device on interface number 1. Stop
> checking the endpoints and just return successfully when interface
> number 1 is probed.
>
> Signed-off-by: Frans Klaver <frans.klaver@xsens.com>
> ---
>  drivers/usb/serial/xsens_mt.c | 23 ++++-------------------
>  1 file changed, 4 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/usb/serial/xsens_mt.c b/drivers/usb/serial/xsens_mt.c
> index d500ccd..ea67ed9 100644
> --- a/drivers/usb/serial/xsens_mt.c
> +++ b/drivers/usb/serial/xsens_mt.c
> @@ -41,28 +41,13 @@ static const struct usb_device_id id_table[] = {
>  };
>  MODULE_DEVICE_TABLE(usb, id_table);
>
> -static int has_required_endpoints(const struct usb_host_interface *interface)
> -{
> -       __u8 i;
> -       int has_bulk_in = 0;
> -       int has_bulk_out = 0;
> -
> -       for (i = 0; i < interface->desc.bNumEndpoints; ++i) {
> -               if (usb_endpoint_is_bulk_in(&interface->endpoint[i].desc))
> -                       has_bulk_in = 1;
> -               else if (usb_endpoint_is_bulk_out(&interface->endpoint[i].desc))
> -                       has_bulk_out = 1;
> -       }
> -
> -       return has_bulk_in && has_bulk_out;
> -}
> -
>  static int xsens_mt_probe(struct usb_serial *serial,
>                                         const struct usb_device_id *id)
>  {
> -       if (!has_required_endpoints(serial->interface->cur_altsetting))
> -               return -ENODEV;
> -       return 0;
> +       if (serial->interface->cur_altsetting.desc.bInterfaceNumber == 1)

This should be

if (serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)


> +               return 0;
> +
> +       return -ENODEV;
>  }
>
>  static struct usb_serial_driver xsens_mt_device = {
> --
> 2.1.0
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/2] usb: serial: xsens_mt: always bind to interface number 1
  2014-09-04  7:12   ` Frans Klaver
@ 2014-09-04  7:25     ` Frans Klaver
  2014-09-04  8:15     ` [PATCH resend " Johan Hovold
  1 sibling, 0 replies; 8+ messages in thread
From: Frans Klaver @ 2014-09-04  7:25 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Frans Klaver, Frans Klaver, linux-usb, linux-kernel

Probe is testing if the current interface provides two bulk endpoints.
While this achieves the goal of only binding to the correct interface,
we already know we can find the device on interface number 1. Stop
checking the endpoints and just return successfully when interface
number 1 is probed.

Signed-off-by: Frans Klaver <frans.klaver@xsens.com>
---
 drivers/usb/serial/xsens_mt.c | 23 ++++-------------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/drivers/usb/serial/xsens_mt.c b/drivers/usb/serial/xsens_mt.c
index d500ccd..3837d51 100644
--- a/drivers/usb/serial/xsens_mt.c
+++ b/drivers/usb/serial/xsens_mt.c
@@ -41,28 +41,13 @@ static const struct usb_device_id id_table[] = {
 };
 MODULE_DEVICE_TABLE(usb, id_table);
 
-static int has_required_endpoints(const struct usb_host_interface *interface)
-{
-	__u8 i;
-	int has_bulk_in = 0;
-	int has_bulk_out = 0;
-
-	for (i = 0; i < interface->desc.bNumEndpoints; ++i) {
-		if (usb_endpoint_is_bulk_in(&interface->endpoint[i].desc))
-			has_bulk_in = 1;
-		else if (usb_endpoint_is_bulk_out(&interface->endpoint[i].desc))
-			has_bulk_out = 1;
-	}
-
-	return has_bulk_in && has_bulk_out;
-}
-
 static int xsens_mt_probe(struct usb_serial *serial,
 					const struct usb_device_id *id)
 {
-	if (!has_required_endpoints(serial->interface->cur_altsetting))
-		return -ENODEV;
-	return 0;
+	if (serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)
+		return 0;
+
+	return -ENODEV;
 }
 
 static struct usb_serial_driver xsens_mt_device = {
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1
  2014-09-04  7:12   ` Frans Klaver
  2014-09-04  7:25     ` [PATCH " Frans Klaver
@ 2014-09-04  8:15     ` Johan Hovold
  2014-09-04  9:05       ` Frans Klaver
  1 sibling, 1 reply; 8+ messages in thread
From: Johan Hovold @ 2014-09-04  8:15 UTC (permalink / raw)
  To: Frans Klaver; +Cc: Frans Klaver, Johan Hovold, linux-usb, linux-kernel

On Thu, Sep 04, 2014 at 09:12:05AM +0200, Frans Klaver wrote:

> >  static int xsens_mt_probe(struct usb_serial *serial,
> >                                         const struct usb_device_id *id)
> >  {
> > -       if (!has_required_endpoints(serial->interface->cur_altsetting))
> > -               return -ENODEV;
> > -       return 0;
> > +       if (serial->interface->cur_altsetting.desc.bInterfaceNumber == 1)
> 
> This should be
> 
> if (serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)

So this wasn't even compile tested. Always test your patches before
submission, including trivial ones.

Is the new version tested on actual hardware?

Johan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1
  2014-09-04  8:15     ` [PATCH resend " Johan Hovold
@ 2014-09-04  9:05       ` Frans Klaver
  2014-09-04  9:22         ` Johan Hovold
  0 siblings, 1 reply; 8+ messages in thread
From: Frans Klaver @ 2014-09-04  9:05 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Frans Klaver, linux-usb, linux-kernel

On Thu, Sep 04, 2014 at 10:15:22AM +0200, Johan Hovold wrote:
> On Thu, Sep 04, 2014 at 09:12:05AM +0200, Frans Klaver wrote:
> 
> > >  static int xsens_mt_probe(struct usb_serial *serial,
> > >                                         const struct usb_device_id *id)
> > >  {
> > > -       if (!has_required_endpoints(serial->interface->cur_altsetting))
> > > -               return -ENODEV;
> > > -       return 0;
> > > +       if (serial->interface->cur_altsetting.desc.bInterfaceNumber == 1)
> > 
> > This should be
> > 
> > if (serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)
> 
> So this wasn't even compile tested. Always test your patches before
> submission, including trivial ones.
> 
> Is the new version tested on actual hardware?

The implementation was tested (also fixed) before the first submission.
Not the patches. Looks like I've got a step to add.

The new version is applied, built and tested with some actual hardware
on 3.17-rc3.

Frans

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1
  2014-09-04  9:05       ` Frans Klaver
@ 2014-09-04  9:22         ` Johan Hovold
  2014-09-04  9:26           ` Frans Klaver
  0 siblings, 1 reply; 8+ messages in thread
From: Johan Hovold @ 2014-09-04  9:22 UTC (permalink / raw)
  To: Frans Klaver; +Cc: Johan Hovold, Frans Klaver, linux-usb, linux-kernel

On Thu, Sep 04, 2014 at 11:05:47AM +0200, Frans Klaver wrote:
> On Thu, Sep 04, 2014 at 10:15:22AM +0200, Johan Hovold wrote:
> > On Thu, Sep 04, 2014 at 09:12:05AM +0200, Frans Klaver wrote:
> > 
> > > >  static int xsens_mt_probe(struct usb_serial *serial,
> > > >                                         const struct usb_device_id *id)
> > > >  {
> > > > -       if (!has_required_endpoints(serial->interface->cur_altsetting))
> > > > -               return -ENODEV;
> > > > -       return 0;
> > > > +       if (serial->interface->cur_altsetting.desc.bInterfaceNumber == 1)
> > > 
> > > This should be
> > > 
> > > if (serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)
> > 
> > So this wasn't even compile tested. Always test your patches before
> > submission, including trivial ones.
> > 
> > Is the new version tested on actual hardware?
> 
> The implementation was tested (also fixed) before the first submission.
> Not the patches. Looks like I've got a step to add.
> 
> The new version is applied, built and tested with some actual hardware
> on 3.17-rc3.

Good. Both patches applied now.

Thanks,
Johan

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1
  2014-09-04  9:22         ` Johan Hovold
@ 2014-09-04  9:26           ` Frans Klaver
  0 siblings, 0 replies; 8+ messages in thread
From: Frans Klaver @ 2014-09-04  9:26 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Frans Klaver, linux-usb, linux-kernel

On Thu, Sep 04, 2014 at 11:22:26AM +0200, Johan Hovold wrote:
> On Thu, Sep 04, 2014 at 11:05:47AM +0200, Frans Klaver wrote:
> > 
> > The new version is applied, built and tested with some actual hardware
> > on 3.17-rc3.
> 
> Good. Both patches applied now.

Thanks again,
Frans

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-09-04  9:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-01  9:39 [PATCH resend 1/2] usb: serial: xsens_mt: add author and description Frans Klaver
2014-09-01  9:39 ` [PATCH resend 2/2] usb: serial: xsens_mt: always bind to interface number 1 Frans Klaver
2014-09-04  7:12   ` Frans Klaver
2014-09-04  7:25     ` [PATCH " Frans Klaver
2014-09-04  8:15     ` [PATCH resend " Johan Hovold
2014-09-04  9:05       ` Frans Klaver
2014-09-04  9:22         ` Johan Hovold
2014-09-04  9:26           ` Frans Klaver

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).