diff mbox

[U-Boot] USB: g_dnl: Change device class

Message ID 1460072943-77066-1-git-send-email-john.tobias.ph@gmail.com
State Accepted, archived
Commit 5b718407ed937fdcd1beeab9f62e42158dee9fa6
Delegated to: Łukasz Majewski
Headers show

Commit Message

John Tobias April 7, 2016, 11:49 p.m. UTC
The USB Mass Storage (ums) works in Windows, Linux and OS X (EL Capitan).
But, not in OS X (Yosemite). By applying the said patch, it extends
the ums support.

Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
---
 drivers/usb/gadget/g_dnl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Łukasz Majewski April 8, 2016, 9:19 a.m. UTC | #1
Hi John,

> The USB Mass Storage (ums) works in Windows, Linux and OS X (EL
> Capitan). But, not in OS X (Yosemite). By applying the said patch, it
> extends the ums support.
> 
> Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
> ---
>  drivers/usb/gadget/g_dnl.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
> index 2fa6da4..bd3aad9 100644
> --- a/drivers/usb/gadget/g_dnl.c
> +++ b/drivers/usb/gadget/g_dnl.c
> @@ -58,8 +58,8 @@ static struct usb_device_descriptor device_desc = {
>  	.bDescriptorType = USB_DT_DEVICE,
>  
>  	.bcdUSB = __constant_cpu_to_le16(0x0200),
> -	.bDeviceClass = USB_CLASS_COMM,
> -	.bDeviceSubClass = 0x02, /*0x02:CDC-modem , 0x00:CDC-serial*/
> +	.bDeviceClass = USB_CLASS_PER_INTERFACE,
> +	.bDeviceSubClass = 0, /*0x02:CDC-modem , 0x00:CDC-serial*/

Have you tested if this patch is not introducing any regression on
Linux and Windows?

>  
>  	.idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM),
>  	.idProduct =
> __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM),
John Tobias April 8, 2016, 3:41 p.m. UTC | #2
Hi Lukas,


On Fri, Apr 8, 2016 at 2:19 AM, Lukasz Majewski <l.majewski@samsung.com>
wrote:

> Hi John,
>
> > The USB Mass Storage (ums) works in Windows, Linux and OS X (EL
> > Capitan). But, not in OS X (Yosemite). By applying the said patch, it
> > extends the ums support.
> >
> > Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
> > ---
> >  drivers/usb/gadget/g_dnl.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
> > index 2fa6da4..bd3aad9 100644
> > --- a/drivers/usb/gadget/g_dnl.c
> > +++ b/drivers/usb/gadget/g_dnl.c
> > @@ -58,8 +58,8 @@ static struct usb_device_descriptor device_desc = {
> >       .bDescriptorType = USB_DT_DEVICE,
> >
> >       .bcdUSB = __constant_cpu_to_le16(0x0200),
> > -     .bDeviceClass = USB_CLASS_COMM,
> > -     .bDeviceSubClass = 0x02, /*0x02:CDC-modem , 0x00:CDC-serial*/
> > +     .bDeviceClass = USB_CLASS_PER_INTERFACE,
> > +     .bDeviceSubClass = 0, /*0x02:CDC-modem , 0x00:CDC-serial*/
>
> Have you tested if this patch is not introducing any regression on
> Linux and Windows?
>

The test what I did is like this:

Linux:
    - Run ums to expose all my eMMC partition - shows all correctly
    - Run ums to expose only 1 partition of my eMMC - show correctly

Windows:
    - Run ums to expose all my eMMC partition - it detects but it prompts,
if I want to format it (due to a non windows partition)
    - Run ums to expose only the FAT32 partition - it show the partition
correctly.


Note: I have a patch to expose only 1 partition:
e.g: ums 0 mmc 1:8


>
> >
> >       .idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM),
> >       .idProduct =
> > __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM),
>
>
>
> --
> Best regards,
>
> Lukasz Majewski
>
> Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
>

Regards,

John
Lukasz Majewski April 8, 2016, 8:12 p.m. UTC | #3
On Fri, 8 Apr 2016 08:41:14 -0700
John Tobias <john.tobias.ph@gmail.com> wrote:

> Hi Lukas,
> 
> 
> On Fri, Apr 8, 2016 at 2:19 AM, Lukasz Majewski
> <l.majewski@samsung.com> wrote:
> 
> > Hi John,
> >
> > > The USB Mass Storage (ums) works in Windows, Linux and OS X (EL
> > > Capitan). But, not in OS X (Yosemite). By applying the said
> > > patch, it extends the ums support.
> > >
> > > Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
> > > ---
> > >  drivers/usb/gadget/g_dnl.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/usb/gadget/g_dnl.c
> > > b/drivers/usb/gadget/g_dnl.c index 2fa6da4..bd3aad9 100644
> > > --- a/drivers/usb/gadget/g_dnl.c
> > > +++ b/drivers/usb/gadget/g_dnl.c
> > > @@ -58,8 +58,8 @@ static struct usb_device_descriptor device_desc
> > > = { .bDescriptorType = USB_DT_DEVICE,
> > >
> > >       .bcdUSB = __constant_cpu_to_le16(0x0200),
> > > -     .bDeviceClass = USB_CLASS_COMM,
> > > -     .bDeviceSubClass = 0x02, /*0x02:CDC-modem ,
> > > 0x00:CDC-serial*/
> > > +     .bDeviceClass = USB_CLASS_PER_INTERFACE,
> > > +     .bDeviceSubClass = 0, /*0x02:CDC-modem , 0x00:CDC-serial*/
> >
> > Have you tested if this patch is not introducing any regression on
> > Linux and Windows?
> >
> 
> The test what I did is like this:
> 
> Linux:
>     - Run ums to expose all my eMMC partition - shows all correctly
>     - Run ums to expose only 1 partition of my eMMC - show correctly
> 
> Windows:
>     - Run ums to expose all my eMMC partition - it detects but it
> prompts, if I want to format it (due to a non windows partition)
>     - Run ums to expose only the FAT32 partition - it show the
> partition correctly.
> 

Ok, I see. Thanks for your effort on testing. I do appreciate it.

> 
> Note: I have a patch to expose only 1 partition:
> e.g: ums 0 mmc 1:8

Yes, I've just received it. I will provide feedback shortly.

> 
> 
> >
> > >
> > >       .idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM),
> > >       .idProduct =
> > > __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM),
> >
> >
> >
> > --
> > Best regards,
> >
> > Lukasz Majewski
> >
> > Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
> >
> 
> Regards,
> 
> John
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Łukasz Majewski April 11, 2016, 11:21 a.m. UTC | #4
Hi John,

> The USB Mass Storage (ums) works in Windows, Linux and OS X (EL
> Capitan). But, not in OS X (Yosemite). By applying the said patch, it
> extends the ums support.
> 
> Signed-off-by: John Tobias <john.tobias.ph@gmail.com>

Acked-by: Lukasz Majewski <l.majewski@samsung.com>
Tested-by: Lukasz Majewski <l.majewski@samsung.com>

Test HW: Odroid XU3 with test/py for UMS, DFU

Applied to u-boot-dfu branch
diff mbox

Patch

diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
index 2fa6da4..bd3aad9 100644
--- a/drivers/usb/gadget/g_dnl.c
+++ b/drivers/usb/gadget/g_dnl.c
@@ -58,8 +58,8 @@  static struct usb_device_descriptor device_desc = {
 	.bDescriptorType = USB_DT_DEVICE,
 
 	.bcdUSB = __constant_cpu_to_le16(0x0200),
-	.bDeviceClass = USB_CLASS_COMM,
-	.bDeviceSubClass = 0x02, /*0x02:CDC-modem , 0x00:CDC-serial*/
+	.bDeviceClass = USB_CLASS_PER_INTERFACE,
+	.bDeviceSubClass = 0, /*0x02:CDC-modem , 0x00:CDC-serial*/
 
 	.idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM),
 	.idProduct = __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM),