[U-Boot] [PATCH 1/3] usb:g_dnl:ums: Conditional compilation for mass storage function (f_mass_storage)
Lukasz Majewski
l.majewski at samsung.com
Tue Sep 24 10:11:08 CEST 2013
Hi Marek,
> The mass storage composite function is now compiled in only when
> CONFIG_USB_GADGET_MASS_STORAGE is defined.
> Such change provides binary size reduction for boards which use USB
> download gadget (like am335x_evm) with DFU, but don't use UMS.
>
> For example at am335x_evm board reduction is more than 2KiB for
> text and around 120B for data.
>
Any comments on those patches (from patch 1 to 3)?
> Signed-off-by: Lukasz Majewski <l.majewski at samsung.com>
> Cc: Marek Vasut <marex at denx.de>
> ---
> drivers/usb/gadget/Makefile | 1 +
> drivers/usb/gadget/g_dnl.c | 2 +-
> include/usb_mass_storage.h | 9 +++++++++
> 3 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
> index 4d51f59..1590c4a 100644
> --- a/drivers/usb/gadget/Makefile
> +++ b/drivers/usb/gadget/Makefile
> @@ -23,6 +23,7 @@ COBJS-$(CONFIG_USB_GADGET_S3C_UDC_OTG) +=
> s3c_udc_otg.o COBJS-$(CONFIG_USB_GADGET_FOTG210) += fotg210.o
> COBJS-$(CONFIG_USBDOWNLOAD_GADGET) += g_dnl.o
> COBJS-$(CONFIG_DFU_FUNCTION) += f_dfu.o
> +COBJS-$(CONFIG_USB_GADGET_MASS_STORAGE) += f_mass_storage.o
> endif
> ifdef CONFIG_USB_ETHER
> COBJS-y += ether.o
> diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
> index a3e05a8..19011bf 100644
> --- a/drivers/usb/gadget/g_dnl.c
> +++ b/drivers/usb/gadget/g_dnl.c
> @@ -15,11 +15,11 @@
> #include <part.h>
>
> #include <g_dnl.h>
> +#include <usb_mass_storage.h>
> #include "f_dfu.h"
>
> #include "gadget_chips.h"
> #include "composite.c"
> -#include "f_mass_storage.c"
>
> /*
> * One needs to define the following:
> diff --git a/include/usb_mass_storage.h b/include/usb_mass_storage.h
> index 35cdcc3..e08deb4 100644
> --- a/include/usb_mass_storage.h
> +++ b/include/usb_mass_storage.h
> @@ -11,6 +11,7 @@
> #define SECTOR_SIZE 0x200
>
> #include <mmc.h>
> +#include <linux/usb/composite.h>
>
> struct ums_device {
> struct mmc *mmc;
> @@ -39,4 +40,12 @@ extern struct ums_board_info
> *board_ums_init(unsigned int, extern int
> usb_gadget_handle_interrupts(void); extern 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
More information about the U-Boot
mailing list