All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] qmi_wwan, cdc-ether: add ADU960S
@ 2013-02-06 18:05 Dan Williams
  2013-02-06 19:51 ` Bjørn Mork
  0 siblings, 1 reply; 5+ messages in thread
From: Dan Williams @ 2013-02-06 18:05 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: linux-usb, netdev

It advertises a standard CDC-ETHER interface, which actually should be
driven by qmi_wwan.

Signed-off-by: Dan Williams <dcbw@redhat.com>
---
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index 3f3d12d..cc6d0c1 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -615,6 +615,13 @@ static const struct usb_device_id	products [] = {
 	.driver_info = 0,
 },
 
+/* AnyDATA ADU960S - handled by qmi_wwan */
+{
+	USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a, USB_CLASS_COMM,
+			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+	.driver_info = 0,
+},
+
 /*
  * WHITELIST!!!
  *
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 6a1ca50..2b5ea32 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -459,6 +459,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x1199, 0x68a2, 19)},	/* Sierra Wireless MC7710 in QMI mode */
 	{QMI_FIXED_INTF(0x1199, 0x901c, 8)},    /* Sierra Wireless EM7700 */
 	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
+	{QMI_FIXED_INTF(0x16d5, 0x650a, 8)},	/* AnyDATA ADU960S */
 
 	/* 4. Gobi 1000 devices */
 	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */

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

* Re: [PATCH] qmi_wwan, cdc-ether: add ADU960S
  2013-02-06 18:05 [PATCH] qmi_wwan, cdc-ether: add ADU960S Dan Williams
@ 2013-02-06 19:51 ` Bjørn Mork
  2013-02-07 16:53   ` Dan Williams
  0 siblings, 1 reply; 5+ messages in thread
From: Bjørn Mork @ 2013-02-06 19:51 UTC (permalink / raw)
  To: Dan Williams; +Cc: linux-usb, netdev

Dan Williams <dcbw@redhat.com> writes:

> It advertises a standard CDC-ETHER interface, which actually should be
> driven by qmi_wwan.
>
> Signed-off-by: Dan Williams <dcbw@redhat.com>
> ---
> diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
> index 3f3d12d..cc6d0c1 100644
> --- a/drivers/net/usb/cdc_ether.c
> +++ b/drivers/net/usb/cdc_ether.c
> @@ -615,6 +615,13 @@ static const struct usb_device_id	products [] = {
>  	.driver_info = 0,
>  },
>  
> +/* AnyDATA ADU960S - handled by qmi_wwan */
> +{
> +	USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a, USB_CLASS_COMM,
> +			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
> +	.driver_info = 0,
> +},
> +
>  /*
>   * WHITELIST!!!
>   *
> diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> index 6a1ca50..2b5ea32 100644
> --- a/drivers/net/usb/qmi_wwan.c
> +++ b/drivers/net/usb/qmi_wwan.c
> @@ -459,6 +459,7 @@ static const struct usb_device_id products[] = {
>  	{QMI_FIXED_INTF(0x1199, 0x68a2, 19)},	/* Sierra Wireless MC7710 in QMI mode */
>  	{QMI_FIXED_INTF(0x1199, 0x901c, 8)},    /* Sierra Wireless EM7700 */
>  	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
> +	{QMI_FIXED_INTF(0x16d5, 0x650a, 8)},	/* AnyDATA ADU960S */
>  
>  	/* 4. Gobi 1000 devices */
>  	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */


Just thinking....

Maybe we should use USB_DEVICE_AND_INTERFACE_INFO() in qmi_wwan as well
for these devices?  The only reason we match on interface number for
most devices in that driver is because those devices use ff/ff/ff for
multiple different functions.  When the function is uniquely identified
using class/subclass/protocol as here, then I believe it makes more
sense to use those values. And it creates a symmetry between the
cdc_ether and the qmi_wwan entries, making the connection between them
clearer.

Not to mention that such symmetry prevents us from ending up with no
driver supporting the device if some firmware upgrade happened to change
the interface number..


Bjørn

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

* Re: [PATCH] qmi_wwan, cdc-ether: add ADU960S
  2013-02-06 19:51 ` Bjørn Mork
@ 2013-02-07 16:53   ` Dan Williams
  2013-02-19  3:25     ` [PATCH v2] " Dan Williams
  0 siblings, 1 reply; 5+ messages in thread
From: Dan Williams @ 2013-02-07 16:53 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: linux-usb, netdev

On Wed, 2013-02-06 at 20:51 +0100, Bjørn Mork wrote:
> Dan Williams <dcbw@redhat.com> writes:
> 
> > It advertises a standard CDC-ETHER interface, which actually should be
> > driven by qmi_wwan.
> >
> > Signed-off-by: Dan Williams <dcbw@redhat.com>
> > ---
> > diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
> > index 3f3d12d..cc6d0c1 100644
> > --- a/drivers/net/usb/cdc_ether.c
> > +++ b/drivers/net/usb/cdc_ether.c
> > @@ -615,6 +615,13 @@ static const struct usb_device_id	products [] = {
> >  	.driver_info = 0,
> >  },
> >  
> > +/* AnyDATA ADU960S - handled by qmi_wwan */
> > +{
> > +	USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a, USB_CLASS_COMM,
> > +			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
> > +	.driver_info = 0,
> > +},
> > +
> >  /*
> >   * WHITELIST!!!
> >   *
> > diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> > index 6a1ca50..2b5ea32 100644
> > --- a/drivers/net/usb/qmi_wwan.c
> > +++ b/drivers/net/usb/qmi_wwan.c
> > @@ -459,6 +459,7 @@ static const struct usb_device_id products[] = {
> >  	{QMI_FIXED_INTF(0x1199, 0x68a2, 19)},	/* Sierra Wireless MC7710 in QMI mode */
> >  	{QMI_FIXED_INTF(0x1199, 0x901c, 8)},    /* Sierra Wireless EM7700 */
> >  	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */
> > +	{QMI_FIXED_INTF(0x16d5, 0x650a, 8)},	/* AnyDATA ADU960S */
> >  
> >  	/* 4. Gobi 1000 devices */
> >  	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */
> 
> 
> Just thinking....
> 
> Maybe we should use USB_DEVICE_AND_INTERFACE_INFO() in qmi_wwan as well
> for these devices?  The only reason we match on interface number for
> most devices in that driver is because those devices use ff/ff/ff for
> multiple different functions.  When the function is uniquely identified
> using class/subclass/protocol as here, then I believe it makes more
> sense to use those values. And it creates a symmetry between the
> cdc_ether and the qmi_wwan entries, making the connection between them
> clearer.

Ok, I'll resubmit with DEVICE_AND_INTERFACE_INFO in qmi_wwan.

Dan

> Not to mention that such symmetry prevents us from ending up with no
> driver supporting the device if some firmware upgrade happened to change
> the interface number..
> 
> 
> Bjørn
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v2] qmi_wwan, cdc-ether: add ADU960S
  2013-02-07 16:53   ` Dan Williams
@ 2013-02-19  3:25     ` Dan Williams
       [not found]       ` <1361244309.29695.12.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Dan Williams @ 2013-02-19  3:25 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: linux-usb, netdev

It advertises a standard CDC-ETHER interface, which actually should be
driven by qmi_wwan.

Signed-off-by: Dan Williams <dcbw@redhat.com>
---
index 3f3d12d..57136dc 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -615,6 +615,13 @@ static const struct usb_device_id	products [] = {
 	.driver_info = 0,
 },
 
+/* AnyDATA ADU960S - handled by qmi_wwan */
+{
+	USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a, USB_CLASS_COMM,
+			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+	.driver_info = 0,
+},
+
 /*
  * WHITELIST!!!
  *
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 19d9035..efb5c7c 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -409,6 +409,13 @@ static const struct usb_device_id products[] = {
 					      USB_CDC_PROTO_NONE),
 		.driver_info        = (unsigned long)&qmi_wwan_info,
 	},
+	{	/* ADU960S */
+		USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a,
+					      USB_CLASS_COMM,
+					      USB_CDC_SUBCLASS_ETHERNET,
+					      USB_CDC_PROTO_NONE),
+		.driver_info        = (unsigned long)&qmi_wwan_info,
+	},
 
 	/* 3. Combined interface devices matching on interface number */
 	{QMI_FIXED_INTF(0x0408, 0xea42, 4)},	/* Yota / Megafon M100-1 */

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

* Re: [PATCH v2] qmi_wwan, cdc-ether: add ADU960S
       [not found]       ` <1361244309.29695.12.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org>
@ 2013-02-19  5:54         ` David Miller
  0 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2013-02-19  5:54 UTC (permalink / raw)
  To: dcbw-H+wXaHxf7aLQT0dZR+AlfA
  Cc: bjorn-yOkvZcmFvRU, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

From: Dan Williams <dcbw-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Date: Mon, 18 Feb 2013 21:25:09 -0600

> It advertises a standard CDC-ETHER interface, which actually should be
> driven by qmi_wwan.
> 
> Signed-off-by: Dan Williams <dcbw-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2013-02-19  5:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-06 18:05 [PATCH] qmi_wwan, cdc-ether: add ADU960S Dan Williams
2013-02-06 19:51 ` Bjørn Mork
2013-02-07 16:53   ` Dan Williams
2013-02-19  3:25     ` [PATCH v2] " Dan Williams
     [not found]       ` <1361244309.29695.12.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org>
2013-02-19  5:54         ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.