From: Lukasz Majewski <l.majewski@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 9/9] USB: gadget: added a saner gadget downloader registration API
Date: Mon, 13 Jan 2014 11:16:00 +0100 [thread overview]
Message-ID: <20140113111600.2c3d3c6d@amdc2363> (raw)
In-Reply-To: <1389277919-15279-9-git-send-email-m.zalega@samsung.com>
Hi Mateusz,
> Preprocessor definitions and hardcoded implementation selection in
> g_dnl core were replaced by a linker list made of {usb_function_name,
> bind_callback) pairs.
Tested-by: Lukasz Majewski <l.majewski@samsung.com>
Tested at: Exynos4210 - TRATS.
Acked-by: Lukasz Majewski <l.majewski@samsung.com>
>
> Change-Id: I4e0515e7fd61ff19793e9ac9a6c48b07c616c9dc
> Signed-off-by: Mateusz Zalega <m.zalega@samsung.com>
> Cc: Lukasz Majewski <l.majewski@samsung.com>
> Cc: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> common/cmd_dfu.c | 3 +-
> common/cmd_thordown.c | 3 +-
> common/cmd_usb_mass_storage.c | 2 +-
> drivers/usb/gadget/f_dfu.c | 11 ++++--
> drivers/usb/gadget/f_mass_storage.c | 6 +++
> drivers/usb/gadget/f_thor.c | 5 +++
> drivers/usb/gadget/g_dnl.c | 74
> +++++++++++++++++--------------------
> include/dfu.h | 7 ----
> include/g_dnl.h | 11 ++++++
> include/thor.h | 8 ----
> include/usb_mass_storage.h | 8 ---- 11 files changed, 66
> insertions(+), 72 deletions(-)
>
> diff --git a/common/cmd_dfu.c b/common/cmd_dfu.c
> index 5547678..a03538d 100644
> --- a/common/cmd_dfu.c
> +++ b/common/cmd_dfu.c
> @@ -22,7 +22,6 @@ static int do_dfu(cmd_tbl_t *cmdtp, int flag, int
> argc, char * const argv[]) char *interface = argv[2];
> char *devstring = argv[3];
>
> - char *s = "dfu";
> int ret, i = 0;
>
> ret = dfu_init_env_entities(interface,
> simple_strtoul(devstring, @@ -38,7 +37,7 @@ static int
> do_dfu(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) int
> controller_index = simple_strtoul(usb_controller, NULL, 0);
> board_usb_init(controller_index, USB_INIT_DEVICE);
> - g_dnl_register(s);
> + g_dnl_register("usb_dnl_dfu");
> while (1) {
> if (dfu_reset())
> /*
> diff --git a/common/cmd_thordown.c b/common/cmd_thordown.c
> index c4b3511..2dd7509 100644
> --- a/common/cmd_thordown.c
> +++ b/common/cmd_thordown.c
> @@ -22,7 +22,6 @@ int do_thor_down(cmd_tbl_t *cmdtp, int flag, int
> argc, char * const argv[]) char *interface = argv[2];
> char *devstring = argv[3];
>
> - const char *s = "thor";
> int ret;
>
> puts("TIZEN \"THOR\" Downloader\n");
> @@ -40,7 +39,7 @@ int do_thor_down(cmd_tbl_t *cmdtp, int flag, int
> argc, char * const argv[]) goto exit;
> }
>
> - g_dnl_register(s);
> + g_dnl_register("usb_dnl_thor");
>
> ret = thor_init();
> if (ret) {
> diff --git a/common/cmd_usb_mass_storage.c
> b/common/cmd_usb_mass_storage.c index 99487f4..c8e152c 100644
> --- a/common/cmd_usb_mass_storage.c
> +++ b/common/cmd_usb_mass_storage.c
> @@ -40,7 +40,7 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
> return CMD_RET_FAILURE;
> }
>
> - g_dnl_register("ums");
> + g_dnl_register("usb_dnl_ums");
>
> while (1) {
> usb_gadget_handle_interrupts();
> diff --git a/drivers/usb/gadget/f_dfu.c b/drivers/usb/gadget/f_dfu.c
> index a045864..cde1895 100644
> --- a/drivers/usb/gadget/f_dfu.c
> +++ b/drivers/usb/gadget/f_dfu.c
> @@ -18,12 +18,14 @@
> #include <errno.h>
> #include <common.h>
> #include <malloc.h>
> +#include <linker_lists.h>
>
> #include <linux/usb/ch9.h>
> #include <linux/usb/gadget.h>
> #include <linux/usb/composite.h>
>
> #include <dfu.h>
> +#include <g_dnl.h>
> #include "f_dfu.h"
>
> struct f_dfu {
> @@ -768,9 +770,7 @@ static int dfu_bind_config(struct
> usb_configuration *c)
> int dfu_add(struct usb_configuration *c)
> {
> - int id;
> -
> - id = usb_string_id(c->cdev);
> + int id = usb_string_id(c->cdev);
> if (id < 0)
> return id;
> strings_dfu_generic[0].id = id;
> @@ -781,3 +781,8 @@ int dfu_add(struct usb_configuration *c)
>
> return dfu_bind_config(c);
> }
> +
> +/* export dfu_add to g_dnl.o */
> +ll_entry_declare(struct g_dnl_bind_callback, dfu_bind_callback,
> + g_dnl_bind_callbacks) = { .usb_function_name =
> "usb_dnl_dfu",
> + .fptr = dfu_add };
> diff --git a/drivers/usb/gadget/f_mass_storage.c
> b/drivers/usb/gadget/f_mass_storage.c index b1fe8bd..b7d03f2 100644
> --- a/drivers/usb/gadget/f_mass_storage.c
> +++ b/drivers/usb/gadget/f_mass_storage.c
> @@ -243,6 +243,7 @@
> #include <config.h>
> #include <malloc.h>
> #include <common.h>
> +#include <linker_lists.h>
> #include <usb.h>
>
> #include <linux/err.h>
> @@ -255,6 +256,7 @@
> #include <linux/usb/gadget.h>
> #include <linux/usb/composite.h>
> #include <usb/lin_gadget_compat.h>
> +#include <g_dnl.h>
>
> /*------------------------------------------------------------------------*/
>
> @@ -2778,3 +2780,7 @@ int fsg_init(struct ums *ums_dev)
>
> return 0;
> }
> +
> +ll_entry_declare(struct g_dnl_bind_callback, fsg_bind_callback,
> + g_dnl_bind_callbacks) = { .usb_function_name =
> "usb_dnl_ums",
> + .fptr = fsg_add };
> diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c
> index c4c9909..3f428c8 100644
> --- a/drivers/usb/gadget/f_thor.c
> +++ b/drivers/usb/gadget/f_thor.c
> @@ -17,6 +17,7 @@
>
> #include <errno.h>
> #include <common.h>
> +#include <linker_lists.h>
> #include <malloc.h>
> #include <version.h>
> #include <linux/usb/ch9.h>
> @@ -1001,3 +1002,7 @@ int thor_add(struct usb_configuration *c)
> debug("%s:\n", __func__);
> return thor_func_init(c);
> }
> +
> +ll_entry_declare(struct g_dnl_bind_callback, thor_bind_callback,
> + g_dnl_bind_callbacks) = { .usb_function_name =
> "usb_dnl_thor",
> + .fptr = thor_add };
> diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
> index dd95afe..00ace2c 100644
> --- a/drivers/usb/gadget/g_dnl.c
> +++ b/drivers/usb/gadget/g_dnl.c
> @@ -41,7 +41,6 @@
>
> #define DRIVER_VERSION "usb_dnl 2.0"
>
> -static const char shortname[] = "usb_dnl_";
> static const char product[] = "USB download gadget";
> static char g_dnl_serial[MAX_STRING_SERIAL];
> static const char manufacturer[] = CONFIG_G_DNL_MANUFACTURER;
> @@ -95,30 +94,38 @@ static int g_dnl_unbind(struct usb_composite_dev
> *cdev)
> free(cdev->config);
> cdev->config = NULL;
> - debug("%s: calling usb_gadget_disconnect for "
> - "controller '%s'\n", shortname,
> gadget->name);
> + debug("%s: calling usb_gadget_disconnect for controller
> '%s'\n",
> + __func__, gadget->name);
> usb_gadget_disconnect(gadget);
>
> return 0;
> }
>
> +static inline struct g_dnl_bind_callback *
> g_dnl_first_bind_callback(void) +{
> + return ll_entry_start(struct g_dnl_bind_callback,
> + g_dnl_bind_callbacks);
> +}
> +
> +static inline struct g_dnl_bind_callback *
> g_dnl_last_bind_callback(void) +{
> + return ll_entry_end(struct g_dnl_bind_callback,
> + g_dnl_bind_callbacks);
> +}
> +
> static int g_dnl_do_config(struct usb_configuration *c)
> {
> const char *s = c->cdev->driver->name;
> - int ret = -1;
>
> debug("%s: configuration: 0x%p composite dev: 0x%p\n",
> - __func__, c, c->cdev);
> -
> + __func__, c, c->cdev);
> printf("GADGET DRIVER: %s\n", s);
> - if (!strcmp(s, "usb_dnl_dfu"))
> - ret = dfu_add(c);
> - else if (!strcmp(s, "usb_dnl_ums"))
> - ret = fsg_add(c);
> - else if (!strcmp(s, "usb_dnl_thor"))
> - ret = thor_add(c);
> -
> - return ret;
> +
> + struct g_dnl_bind_callback *callback =
> g_dnl_first_bind_callback();
> + for (; callback != g_dnl_last_bind_callback(); ++callback)
> + if (!strcmp(s, callback->usb_function_name))
> + return callback->fptr(c);
> + return -ENODEV;
> }
>
> static int g_dnl_config_register(struct usb_composite_dev *cdev)
> @@ -203,12 +210,12 @@ static int g_dnl_bind(struct usb_composite_dev
> *cdev) device_desc.bcdDevice = cpu_to_le16(gcnum);
> else {
> debug("%s: controller '%s' not recognized\n",
> - shortname, gadget->name);
> + __func__, gadget->name);
> device_desc.bcdDevice =
> __constant_cpu_to_le16(0x9999); }
>
> - debug("%s: calling usb_gadget_connect for "
> - "controller '%s'\n", shortname,
> gadget->name);
> + debug("%s: calling usb_gadget_connect for controller '%s'\n",
> + __func__, gadget->name);
> usb_gadget_connect(gadget);
>
> return 0;
> @@ -227,36 +234,21 @@ static struct usb_composite_driver g_dnl_driver
> = { .unbind = g_dnl_unbind,
> };
>
> -int g_dnl_register(const char *type)
> +/*
> + * NOTICE:
> + * Registering via USB function name won't be necessary after
> rewriting
> + * g_dnl to support multiple USB functions.
> + */
> +int g_dnl_register(const char *name)
> {
> - /* The largest function name is 4 */
> - static char name[sizeof(shortname) + 4];
> - int ret;
> -
> - if (!strcmp(type, "dfu")) {
> - strcpy(name, shortname);
> - strcat(name, type);
> - } else if (!strcmp(type, "ums")) {
> - strcpy(name, shortname);
> - strcat(name, type);
> - } else if (!strcmp(type, "thor")) {
> - strcpy(name, shortname);
> - strcat(name, type);
> - } else {
> - printf("%s: unknown command: %s\n", __func__, type);
> - return -EINVAL;
> - }
> -
> + debug("%s: g_dnl_driver.name = %s\n", __func__, name);
> g_dnl_driver.name = name;
>
> - debug("%s: g_dnl_driver.name: %s\n", __func__,
> g_dnl_driver.name);
> - ret = usb_composite_register(&g_dnl_driver);
> -
> + int ret = usb_composite_register(&g_dnl_driver);
> if (ret) {
> - printf("%s: failed!, error: %d\n", __func__, ret);
> + debug("%s: failed!, error: %d\n", __func__, ret);
> return ret;
> }
> -
> return 0;
> }
>
> diff --git a/include/dfu.h b/include/dfu.h
> index f2e83db..6fd75d0 100644
> --- a/include/dfu.h
> +++ b/include/dfu.h
> @@ -164,12 +164,5 @@ static inline int dfu_fill_entity_ram(struct
> dfu_entity *dfu, char *s) }
> #endif
>
> -#ifdef CONFIG_DFU_FUNCTION
> int dfu_add(struct usb_configuration *c);
> -#else
> -int dfu_add(struct usb_configuration *c)
> -{
> - return 0;
> -}
> -#endif
> #endif /* __DFU_ENTITY_H_ */
> diff --git a/include/g_dnl.h b/include/g_dnl.h
> index 8f813c2..4392f76 100644
> --- a/include/g_dnl.h
> +++ b/include/g_dnl.h
> @@ -10,6 +10,17 @@
>
> #include <linux/usb/ch9.h>
> #include <linux/usb/gadget.h>
> +#include <linux/usb/composite.h>
> +
> +typedef int (*g_dnl_bind_callback_f)(struct usb_configuration *);
> +
> +/* used in Gadget downloader callback linker list */
> +struct g_dnl_bind_callback
> +{
> + const char *usb_function_name;
> + g_dnl_bind_callback_f fptr;
> +};
> +
> int g_dnl_bind_fixup(struct usb_device_descriptor *, const char *);
> int g_dnl_register(const char *s);
> void g_dnl_unregister(void);
> diff --git a/include/thor.h b/include/thor.h
> index afeade4..5051be7 100644
> --- a/include/thor.h
> +++ b/include/thor.h
> @@ -15,13 +15,5 @@
>
> int thor_handle(void);
> int thor_init(void);
> -
> -#ifdef CONFIG_THOR_FUNCTION
> int thor_add(struct usb_configuration *c);
> -#else
> -int thor_add(struct usb_configuration *c)
> -{
> - return 0;
> -}
> -#endif
> #endif /* __THOR_H_ */
> diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h
> index 9df3adc..6ee4f34 100644
> --- a/include/usb_mass_storage.h
> +++ b/include/usb_mass_storage.h
> @@ -37,13 +37,5 @@ int fsg_init(struct ums *);
> void fsg_cleanup(void);
> struct ums *ums_init(unsigned int);
> int fsg_main_thread(void *);
> -
> -#ifdef CONFIG_USB_GADGET_MASS_STORAGE
> int fsg_add(struct usb_configuration *c);
> -#else
> -int fsg_add(struct usb_configuration *c)
> -{
> - return 0;
> -}
> -#endif
> #endif /* __USB_MASS_STORAGE_H__ */
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
next prev parent reply other threads:[~2014-01-13 10:16 UTC|newest]
Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-09 14:31 [U-Boot] [PATCH 1/9] mmc: mmc header fix Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH 2/9] part: " Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH v3 3/9] arm:goni: Update configuration for goni target Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH 4/9] arm:goni:dfu Add support for DFU to Goni target Mateusz Zalega
2014-01-10 4:55 ` Jaehoon Chung
2014-01-13 14:45 ` Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH 5/9] arm:goni: enable GPT command Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH 6/9] arm:goni: enable USB Mass Storage Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH v3 7/9] dfu:mmc: raw data write fix Mateusz Zalega
2014-01-10 5:03 ` Jaehoon Chung
2014-01-13 13:34 ` Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH 8/9] ums: always initialize mmc before ums_disk_init() Mateusz Zalega
2014-01-10 5:08 ` Jaehoon Chung
2014-01-13 14:39 ` Mateusz Zalega
2014-01-13 14:43 ` Michael Trimarchi
2014-01-13 15:00 ` Mateusz Zalega
2014-01-13 10:16 ` Lukasz Majewski
2014-01-14 0:49 ` Minkyu Kang
2014-01-14 10:55 ` Mateusz Zalega
2014-01-09 14:31 ` [U-Boot] [PATCH 9/9] USB: gadget: added a saner gadget downloader registration API Mateusz Zalega
2014-01-10 8:23 ` Lukasz Majewski
2014-01-13 7:07 ` Heiko Schocher
2014-01-13 10:16 ` Lukasz Majewski [this message]
2014-01-10 4:46 ` [U-Boot] [PATCH 1/9] mmc: mmc header fix Jaehoon Chung
2014-02-04 17:02 ` [U-Boot] [PATCH v2 00/12] Series v2 Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 01/12] mmc: mmc header fix Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 02/12] part: " Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 03/12] arm:goni: Update configuration for goni target Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 04/12] dfu: fix boards wo USB cable detection Mateusz Zalega
2014-02-22 5:06 ` Marek Vasut
2014-02-04 17:02 ` [U-Boot] [PATCH v2 05/12] am335x: dfu: disable DFU in am335x_evm SPL build Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 06/12] USB: gadget: added a saner gadget downloader registration API Mateusz Zalega
2014-02-05 7:13 ` Marek Vasut
2014-02-05 12:40 ` Mateusz Zalega
2014-02-05 18:00 ` Marek Vasut
2014-02-06 11:56 ` Mateusz Zalega
2014-02-06 19:59 ` Marek Vasut
2014-02-04 17:02 ` [U-Boot] [PATCH v2 07/12] arm:goni:dfu Add support for DFU to Goni target Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 08/12] arm:goni: enable GPT command Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 09/12] arm:goni: enable USB Mass Storage Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 10/12] dfu:mmc: raw data write fix Mateusz Zalega
2014-02-22 5:09 ` Marek Vasut
2014-02-04 17:02 ` [U-Boot] [PATCH v2 11/12] mmc: postponed needless timer initialization Mateusz Zalega
2014-02-04 17:02 ` [U-Boot] [PATCH v2 12/12] ums: always initialize mmc before ums_disk_init() Mateusz Zalega
2014-02-22 5:12 ` Marek Vasut
2014-03-31 15:48 ` [U-Boot] [PATCH v3 00/13] DFU, MMC, Gadget, Goni, misc Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 01/13] mmc: mmc header fix Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 02/13] part: " Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 03/13] arm:goni: Update configuration for goni target Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 04/13] dfu: fix boards wo USB cable detection Mateusz Zalega
2014-04-02 6:33 ` Lukasz Majewski
2014-03-31 15:49 ` [U-Boot] [PATCH v3 05/13] am335x: dfu: disable DFU in am335x_evm SPL build Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 06/13] USB: gadget: added a saner gadget downloader registration API Mateusz Zalega
2014-03-31 16:14 ` Marek Vasut
2014-04-02 6:35 ` Lukasz Majewski
2014-04-02 22:28 ` Marek Vasut
2014-04-03 7:46 ` Lukasz Majewski
2014-04-03 8:52 ` Marek Vasut
2014-04-11 11:43 ` Mateusz Zalega
2014-04-11 12:02 ` Marek Vasut
2014-04-15 11:04 ` Mateusz Zalega
2014-04-15 13:26 ` Marek Vasut
2014-03-31 15:49 ` [U-Boot] [PATCH v3 07/13] arm:goni:dfu Add support for DFU to Goni target Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 08/13] arm:goni: enable GPT command Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 09/13] arm:goni: enable USB Mass Storage Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 10/13] dfu:mmc: raw data write fix Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 11/13] mmc: postponed needless timer initialization Mateusz Zalega
2014-03-31 15:49 ` [U-Boot] [PATCH v3 12/13] ums: always initialize mmc before ums_disk_init() Mateusz Zalega
2014-04-02 6:36 ` Lukasz Majewski
2014-03-31 15:49 ` [U-Boot] [PATCH v3 13/13] common: fixed linker-list example Mateusz Zalega
2014-03-31 16:12 ` Marek Vasut
2014-04-01 7:42 ` Lukasz Majewski
2014-04-15 13:06 ` [U-Boot] [PATCH v4 00/13] DFU, MMC, Gadget, Goni, misc Mateusz Zalega
2014-04-15 13:06 ` [U-Boot] [PATCH v4 01/13] mmc: mmc header fix Mateusz Zalega
2014-04-15 13:06 ` [U-Boot] [PATCH v4 02/13] part: " Mateusz Zalega
2014-04-15 13:06 ` [U-Boot] [PATCH v4 03/13] common: fixed linker-list example Mateusz Zalega
2014-04-15 13:36 ` Marek Vasut
2014-04-15 13:06 ` [U-Boot] [PATCH v4 04/13] usb: dfu: fix boards wo USB cable detection Mateusz Zalega
2014-04-15 13:38 ` Marek Vasut
2014-04-15 14:23 ` Lukasz Majewski
2014-04-15 13:06 ` [U-Boot] [PATCH v4 05/13] mmc: postponed needless timer initialization Mateusz Zalega
2014-04-15 13:06 ` [U-Boot] [PATCH v4 06/13] dfu: mmc: raw data write fix Mateusz Zalega
2014-04-15 13:06 ` [U-Boot] [PATCH v4 07/13] ums: always initialize mmc before ums_disk_init() Mateusz Zalega
2014-04-15 14:24 ` Lukasz Majewski
2014-04-15 13:06 ` [U-Boot] [PATCH v4 08/13] am335x: dfu: disable DFU in am335x_evm SPL build Mateusz Zalega
2014-04-15 14:25 ` Lukasz Majewski
2014-04-15 13:06 ` [U-Boot] [PATCH v4 09/13] USB: gadget: added a saner gadget downloader registration API Mateusz Zalega
2014-04-15 13:39 ` Marek Vasut
2014-04-15 14:28 ` Lukasz Majewski
2014-04-16 4:23 ` Jaehoon Chung
2014-04-16 9:25 ` Mateusz Zalega
2014-04-15 13:06 ` [U-Boot] [PATCH v4 10/13] arm: goni: Update configuration for Goni target Mateusz Zalega
2014-04-15 13:06 ` [U-Boot] [PATCH v4 11/13] arm: goni: dfu: Add support for DFU to " Mateusz Zalega
2014-04-15 13:07 ` [U-Boot] [PATCH v4 12/13] arm: goni: enable GPT command Mateusz Zalega
2014-04-15 13:07 ` [U-Boot] [PATCH v4 13/13] arm: goni: enable USB Mass Storage Mateusz Zalega
2014-04-28 19:13 ` [U-Boot] [PATCH v5 00/12] DFU, MMC, Gadget, Goni, misc Mateusz Zalega
2014-04-28 19:13 ` [U-Boot] [PATCH v5 01/12] mmc: mmc header fix Mateusz Zalega
2014-04-30 8:35 ` Lukasz Majewski
2014-04-30 10:02 ` Pantelis Antoniou
2014-05-05 7:45 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 02/12] part: " Mateusz Zalega
2014-04-30 8:33 ` Lukasz Majewski
2014-05-05 7:48 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 03/12] usb: dfu: fix boards wo USB cable detection Mateusz Zalega
2014-04-30 8:18 ` Marek Vasut
2014-05-05 7:50 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 04/12] dfu: mmc: raw data write fix Mateusz Zalega
2014-05-05 8:00 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 05/12] dfu: mmc: change offset base handling Mateusz Zalega
2014-05-05 8:03 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 06/12] ums: always initialize mmc before ums_disk_init() Mateusz Zalega
2014-05-01 20:03 ` Stephen Warren
2014-05-05 8:05 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 07/12] am335x: dfu: disable DFU in am335x_evm SPL build Mateusz Zalega
2014-05-05 8:06 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 08/12] USB: gadget: added a saner gadget downloader registration API Mateusz Zalega
2014-05-05 8:07 ` Lukasz Majewski
2014-04-28 19:13 ` [U-Boot] [PATCH v5 09/12] arm: goni: Update configuration for Goni target Mateusz Zalega
2014-04-30 11:24 ` Lukasz Majewski
2014-04-30 11:55 ` Minkyu Kang
2014-05-16 6:53 ` Minkyu Kang
2014-04-28 19:13 ` [U-Boot] [PATCH v5 10/12] arm: goni: dfu: Add support for DFU to " Mateusz Zalega
2014-05-16 6:53 ` Minkyu Kang
2014-04-28 19:13 ` [U-Boot] [PATCH v5 11/12] arm: goni: enable GPT command Mateusz Zalega
2014-05-16 6:53 ` Minkyu Kang
2014-04-28 19:13 ` [U-Boot] [PATCH v5 12/12] arm: goni: enable USB Mass Storage Mateusz Zalega
2014-05-16 6:53 ` Minkyu Kang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140113111600.2c3d3c6d@amdc2363 \
--to=l.majewski@samsung.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox