UMS init was implemented in trats board file but mostly it comprises
common code. Due to that it has been moved to common/ums.c to avoid
code duplication in the future.

Changes:
- move ums initialization code from trats to common/ums.c
- remove unused CONFIG_USB_GADGET_MASS_STORAGE from trats.h

Signed-off-by: Przemyslaw Marczak <p.marc...@samsung.com>
Cc: Marek Vasut <ma...@denx.de>
Cc: Minkyu Kang <mk7.k...@samsung.com>
Cc: Lukasz Majewski <l.majew...@samsung.com>
---
 board/samsung/common/Makefile |    1 +
 board/samsung/common/ums.c    |   66 +++++++++++++++++++++++++++++++++++++++++
 board/samsung/trats/trats.c   |   62 --------------------------------------
 include/configs/trats.h       |    2 --
 4 files changed, 67 insertions(+), 64 deletions(-)
 create mode 100644 board/samsung/common/ums.c

diff --git a/board/samsung/common/Makefile b/board/samsung/common/Makefile
index ad7564c..d122169 100644
--- a/board/samsung/common/Makefile
+++ b/board/samsung/common/Makefile
@@ -11,6 +11,7 @@ LIB   = $(obj)libsamsung.o
 
 COBJS-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o
 COBJS-$(CONFIG_THOR_FUNCTION) += thor.o
+COBJS-$(CONFIG_CMD_USB_MASS_STORAGE) += ums.o
 
 SRCS    := $(COBJS-y:.o=.c)
 OBJS   := $(addprefix $(obj),$(COBJS-y))
diff --git a/board/samsung/common/ums.c b/board/samsung/common/ums.c
new file mode 100644
index 0000000..506f4b5
--- /dev/null
+++ b/board/samsung/common/ums.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2013 Samsung Electronics
+ * Lukasz Majewski <l.majew...@samsung.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <usb_mass_storage.h>
+#include <part.h>
+
+static int ums_read_sector(struct ums_device *ums_dev,
+                          ulong start, lbaint_t blkcnt, void *buf)
+{
+       if (ums_dev->mmc->block_dev.block_read(ums_dev->dev_num,
+                                              start + ums_dev->offset, blkcnt,
+                                              buf) != blkcnt)
+               return -1;
+
+       return 0;
+}
+
+static int ums_write_sector(struct ums_device *ums_dev,
+                           ulong start, lbaint_t blkcnt, const void *buf)
+{
+       if (ums_dev->mmc->block_dev.block_write(ums_dev->dev_num,
+                                               start + ums_dev->offset, blkcnt,
+                                               buf) != blkcnt)
+               return -1;
+
+       return 0;
+}
+
+static void ums_get_capacity(struct ums_device *ums_dev,
+                            long long int *capacity)
+{
+       long long int tmp_capacity;
+
+       tmp_capacity = (long long int)((ums_dev->offset + ums_dev->part_size)
+                                      * SECTOR_SIZE);
+       *capacity = ums_dev->mmc->capacity - tmp_capacity;
+}
+
+static struct ums_board_info ums_board = {
+       .read_sector = ums_read_sector,
+       .write_sector = ums_write_sector,
+       .get_capacity = ums_get_capacity,
+       .name = "UMS disk",
+};
+
+struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned int 
offset,
+                                     unsigned int part_size)
+{
+       struct mmc *mmc = NULL;
+
+       mmc = find_mmc_device(dev_num);
+       if (!mmc)
+               return NULL;
+
+       ums_board.ums_dev.mmc = mmc;
+       ums_board.ums_dev.dev_num = dev_num;
+       ums_board.ums_dev.offset = offset;
+       ums_board.ums_dev.part_size = part_size;
+
+       return &ums_board;
+}
diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c
index 58d925f..db5828d 100644
--- a/board/samsung/trats/trats.c
+++ b/board/samsung/trats/trats.c
@@ -772,65 +772,3 @@ void init_panel_info(vidinfo_t *vid)
 
        setenv("lcdinfo", "lcd=s6e8ax0");
 }
-
-#ifdef CONFIG_USB_GADGET_MASS_STORAGE
-static int ums_read_sector(struct ums_device *ums_dev,
-                          ulong start, lbaint_t blkcnt, void *buf)
-{
-       if (ums_dev->mmc->block_dev.block_read(ums_dev->dev_num,
-                       start + ums_dev->offset, blkcnt, buf) != blkcnt)
-               return -1;
-
-       return 0;
-}
-
-static int ums_write_sector(struct ums_device *ums_dev,
-                           ulong start, lbaint_t blkcnt, const void *buf)
-{
-       if (ums_dev->mmc->block_dev.block_write(ums_dev->dev_num,
-                       start + ums_dev->offset, blkcnt, buf) != blkcnt)
-               return -1;
-
-       return 0;
-}
-
-static void ums_get_capacity(struct ums_device *ums_dev,
-                            long long int *capacity)
-{
-       long long int tmp_capacity;
-
-       tmp_capacity = (long long int) ((ums_dev->offset + ums_dev->part_size)
-                                       * SECTOR_SIZE);
-       *capacity = ums_dev->mmc->capacity - tmp_capacity;
-}
-
-static struct ums_board_info ums_board = {
-       .read_sector = ums_read_sector,
-       .write_sector = ums_write_sector,
-       .get_capacity = ums_get_capacity,
-       .name = "TRATS UMS disk",
-       .ums_dev = {
-               .mmc = NULL,
-               .dev_num = 0,
-               .offset = 0,
-               .part_size = 0.
-       },
-};
-
-struct ums_board_info *board_ums_init(unsigned int dev_num, unsigned int 
offset,
-                                     unsigned int part_size)
-{
-       struct mmc *mmc;
-
-       mmc = find_mmc_device(dev_num);
-       if (!mmc)
-               return NULL;
-
-       ums_board.ums_dev.mmc = mmc;
-       ums_board.ums_dev.dev_num = dev_num;
-       ums_board.ums_dev.offset = offset;
-       ums_board.ums_dev.part_size = part_size;
-
-       return &ums_board;
-}
-#endif
diff --git a/include/configs/trats.h b/include/configs/trats.h
index f5bb6aa..3e67229 100644
--- a/include/configs/trats.h
+++ b/include/configs/trats.h
@@ -323,9 +323,7 @@
 #define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE ((500 * 120 * 4) + (1 << 12))
 
 #define CONFIG_CMD_USB_MASS_STORAGE
-#if defined(CONFIG_CMD_USB_MASS_STORAGE)
 #define CONFIG_USB_GADGET_MASS_STORAGE
-#endif
 
 /* Pass open firmware flat tree */
 #define CONFIG_OF_LIBFDT    1
-- 
1.7.9.5

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

Reply via email to