Re: [U-Boot] [PATCH 1/4] usb:composite: USB Mass Storage - storage_common.c from Linux kernel

2013-01-29 Thread Piotr Wilczek

Dear Marek Vasut,

On 01/25/2013 12:16 PM, Marek Vasut wrote:

Dear Piotr Wilczek,


Dear Marek Vasut,


-Original Message-
From: Marek Vasut [mailto:ma...@denx.de]
Sent: Thursday, January 24, 2013 1:33 PM
To: Piotr Wilczek
Cc: u-boot@lists.denx.de; Minkyu Kang; Kyungmin Park; Lukasz Majewski;
Tom Rini; Andrzej Pietrasiewicz
Subject: Re: [PATCH 1/4] usb:composite: USB Mass Storage -
storage_common.c from Linux kernel

Dear Piotr Wilczek,


From: Lukasz Majewski l.majew...@samsung.com

The storage_common.c source file from v2.6.36 Linux kernel.


Is it not possibly to port anything more recent? If not, so be it.


The reason was to use the simplest and tested version.


Nevermind my dumb comment, I took a peek and figured as much as that we're stuck
with .36-ish gadget framework.

Now, completely unrelated question, but since you're the expert at these things,
I'll just fire it at you -- do you think porting serial gadget would be too
hard? Apparently the CONFIG_USB_TTY is a junk and with the new gadget drivers,
this won't work, thus we need new usb-serial-gadget driver.


Thank you for all your comments.
Regarding your question, I'm not sure at the moment how much effort it 
is required to port that driver.



Best regards,
Marek Vasut



Best regards,
Piotr Wilczek


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/4] usb:composite: USB Mass Storage - storage_common.c from Linux kernel

2013-01-25 Thread Piotr Wilczek
Dear Marek Vasut,

 -Original Message-
 From: Marek Vasut [mailto:ma...@denx.de]
 Sent: Thursday, January 24, 2013 1:33 PM
 To: Piotr Wilczek
 Cc: u-boot@lists.denx.de; Minkyu Kang; Kyungmin Park; Lukasz Majewski;
 Tom Rini; Andrzej Pietrasiewicz
 Subject: Re: [PATCH 1/4] usb:composite: USB Mass Storage -
 storage_common.c from Linux kernel
 
 Dear Piotr Wilczek,
 
  From: Lukasz Majewski l.majew...@samsung.com
 
  The storage_common.c source file from v2.6.36 Linux kernel.
 
 Is it not possibly to port anything more recent? If not, so be it.
 
The reason was to use the simplest and tested version.

 Best regards,
 Marek Vasut

Best regards,
Piotr Wilczek

---
Samsung RD Poland (SRPOL) | Linux Platform Group



___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/4] usb:composite: USB Mass Storage - storage_common.c from Linux kernel

2013-01-25 Thread Marek Vasut
Dear Piotr Wilczek,

 Dear Marek Vasut,
 
  -Original Message-
  From: Marek Vasut [mailto:ma...@denx.de]
  Sent: Thursday, January 24, 2013 1:33 PM
  To: Piotr Wilczek
  Cc: u-boot@lists.denx.de; Minkyu Kang; Kyungmin Park; Lukasz Majewski;
  Tom Rini; Andrzej Pietrasiewicz
  Subject: Re: [PATCH 1/4] usb:composite: USB Mass Storage -
  storage_common.c from Linux kernel
  
  Dear Piotr Wilczek,
  
   From: Lukasz Majewski l.majew...@samsung.com
   
   The storage_common.c source file from v2.6.36 Linux kernel.
  
  Is it not possibly to port anything more recent? If not, so be it.
 
 The reason was to use the simplest and tested version.

Nevermind my dumb comment, I took a peek and figured as much as that we're 
stuck 
with .36-ish gadget framework.

Now, completely unrelated question, but since you're the expert at these 
things, 
I'll just fire it at you -- do you think porting serial gadget would be too 
hard? Apparently the CONFIG_USB_TTY is a junk and with the new gadget drivers, 
this won't work, thus we need new usb-serial-gadget driver.

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/4] usb:composite: USB Mass Storage - storage_common.c from Linux kernel

2013-01-24 Thread Marek Vasut
Dear Piotr Wilczek,

 From: Lukasz Majewski l.majew...@samsung.com
 
 The storage_common.c source file from v2.6.36 Linux kernel.

Is it not possibly to port anything more recent? If not, so be it.

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/4] usb:composite: USB Mass Storage - storage_common.c from Linux kernel

2013-01-23 Thread Piotr Wilczek
From: Lukasz Majewski l.majew...@samsung.com

The storage_common.c source file from v2.6.36 Linux kernel.

commit d26a6aa08b9f12b44fb1ee65625e7480d3d5bb81
Author: Michal Nazarewicz m.nazarew...@samsung.com
Date:   Mon Nov 9 14:15:23 2009 +0100

USB: g_mass_storage: code cleaned up and comments updated

Signed-off-by: Lukasz Majewski l.majew...@samsung.com
Signed-off-by: Andrzej Pietrasiewicz andrze...@samsung.com
Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
---
 drivers/usb/gadget/storage_common.c |  654 +++
 1 file changed, 654 insertions(+)
 create mode 100644 drivers/usb/gadget/storage_common.c

diff --git a/drivers/usb/gadget/storage_common.c 
b/drivers/usb/gadget/storage_common.c
new file mode 100644
index 000..1dbc4b5
--- /dev/null
+++ b/drivers/usb/gadget/storage_common.c
@@ -0,0 +1,654 @@
+/*
+ * storage_common.c -- Common definitions for mass storage functionality
+ *
+ * Copyright (C) 2003-2008 Alan Stern
+ * Copyeight (C) 2009 Samsung Electronics
+ * Author: Michal Nazarewicz (m.nazarew...@samsung.com)
+ *
+ * Ported to u-boot:
+ * Andrzej Pietrasiewicz andrze...@samsung.com
+ *
+ * Code refactoring  cleanup:
+ * ??ukasz Majewski l.majew...@samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+
+/*
+ * This file requires the following identifiers used in USB strings to
+ * be defined (each of type pointer to char):
+ *  - fsg_string_manufacturer -- name of the manufacturer
+ *  - fsg_string_product  -- name of the product
+ *  - fsg_string_serial   -- product's serial
+ *  - fsg_string_config   -- name of the configuration
+ *  - fsg_string_interface-- name of the interface
+ * The first four are only needed when FSG_DESCRIPTORS_DEVICE_STRINGS
+ * macro is defined prior to including this file.
+ */
+
+/*
+ * When FSG_NO_INTR_EP is defined fsg_fs_intr_in_desc and
+ * fsg_hs_intr_in_desc objects as well as
+ * FSG_FS_FUNCTION_PRE_EP_ENTRIES and FSG_HS_FUNCTION_PRE_EP_ENTRIES
+ * macros are not defined.
+ *
+ * When FSG_NO_DEVICE_STRINGS is defined FSG_STRING_MANUFACTURER,
+ * FSG_STRING_PRODUCT, FSG_STRING_SERIAL and FSG_STRING_CONFIG are not
+ * defined (as well as corresponding entries in string tables are
+ * missing) and FSG_STRING_INTERFACE has value of zero.
+ *
+ * When FSG_NO_OTG is defined fsg_otg_desc won't be defined.
+ */
+
+/*
+ * When FSG_BUFFHD_STATIC_BUFFER is defined when this file is included
+ * the fsg_buffhd structure's buf field will be an array of FSG_BUFLEN
+ * characters rather then a pointer to void.
+ */
+
+
+/* #include asm/unaligned.h */
+
+
+/*
+ * Thanks to NetChip Technologies for donating this product ID.
+ *
+ * DO NOT REUSE THESE IDs with any other driver!!  Ever!!
+ * Instead:  allocate your own, using normal USB-IF procedures.
+ */
+#define FSG_VENDOR_ID  0x0525  /* NetChip */
+#define FSG_PRODUCT_ID 0xa4a5  /* Linux-USB File-backed Storage Gadget */
+
+/*-*/
+
+#ifndef DEBUG
+#undef VERBOSE_DEBUG
+#undef DUMP_MSGS
+#endif /* !DEBUG */
+
+#ifdef VERBOSE_DEBUG
+#define VLDBG  LDBG
+#else
+#define VLDBG(lun, fmt, args...) do { } while (0)
+#endif /* VERBOSE_DEBUG */
+
+/*
+#define LDBG(lun, fmt, args...)   dev_dbg ((lun)-dev, fmt, ## args)
+#define LERROR(lun, fmt, args...) dev_err ((lun)-dev, fmt, ## args)
+#define LWARN(lun, fmt, args...)  dev_warn((lun)-dev, fmt, ## args)
+#define LINFO(lun, fmt, args...)  dev_info((lun)-dev, fmt, ## args)
+*/
+
+#define LDBG(lun, fmt, args...) do { } while (0)
+#define LERROR(lun, fmt, args...) do { } while (0)
+#define LWARN(lun, fmt, args...) do { } while (0)
+#define LINFO(lun, fmt, args...) do { } while (0)
+
+/*
+ * Keep those macros in sync with those in
+ * include/linux/usb/composite.h or else GCC will complain.  If they
+ * are identical (the same names of arguments, white spaces in the
+ * same places) GCC will allow redefinition otherwise (even if some
+ * white space is removed or added) warning will be issued.
+ *
+ * Those macros are needed here because File Storage Gadget does not
+ * include the composite.h header.  For composite gadgets those macros
+ * are redundant since composite.h is included any way.
+ *
+ * One could check whether those macros are already defined (which
+ * would indicate