ums: move IO support code to common location
authorStephen Warren <swarren@nvidia.com>
Mon, 5 May 2014 16:40:15 +0000 (10:40 -0600)
committerChanho Park <chanho61.park@samsung.com>
Fri, 24 Jul 2015 07:29:59 +0000 (16:29 +0900)
There's nothing Samsung-/board-specfic about the implementation of
ums_init(). Move the code into cmd_usb_mass_storage.c, so that it can
be shared by any user of that command.

Cc: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Przemyslaw Marczak <p.marczak@samsung.com>
Conflicts:
board/samsung/common/Makefile
board/samsung/common/ums.c

board/samsung/common/ums.c [deleted file]
common/cmd_usb_mass_storage.c
include/usb_mass_storage.h

diff --git a/board/samsung/common/ums.c b/board/samsung/common/ums.c
deleted file mode 100644 (file)
index 1f7dda4..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2013 Samsung Electronics
- * Lukasz Majewski <l.majewski@samsung.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <usb_mass_storage.h>
-#include <mmc.h>
-#include <part.h>
-
-static int ums_read_sector(struct ums *ums_dev,
-                          ulong start, lbaint_t blkcnt, void *buf)
-{
-       block_dev_desc_t *block_dev = ums_dev->block_dev;
-       lbaint_t blkstart = start + ums_dev->start_sector;
-       int dev_num = block_dev->dev;
-
-       return block_dev->block_read(dev_num, blkstart, blkcnt, buf);
-}
-
-static int ums_write_sector(struct ums *ums_dev,
-                           ulong start, lbaint_t blkcnt, const void *buf)
-{
-       block_dev_desc_t *block_dev = ums_dev->block_dev;
-       lbaint_t blkstart = start + ums_dev->start_sector;
-       int dev_num = block_dev->dev;
-
-       return block_dev->block_write(dev_num, blkstart, blkcnt, buf);
-}
-
-static struct ums ums_dev = {
-       .read_sector = ums_read_sector,
-       .write_sector = ums_write_sector,
-       .name = "UMS disk",
-};
-
-static struct ums *ums_disk_init(struct mmc *mmc)
-{
-       uint64_t mmc_end_sector = mmc->capacity / SECTOR_SIZE;
-
-       if (!mmc_end_sector) {
-               error("MMC capacity is not valid");
-               return NULL;
-       }
-
-       ums_dev.block_dev = &mmc->block_dev;
-       ums_dev.start_sector = 0;
-       ums_dev.num_sectors = mmc_end_sector;
-
-       printf("UMS: disk start sector: %#x, count: %#x\n",
-              ums_dev.start_sector, ums_dev.num_sectors);
-
-       return &ums_dev;
-}
-
-struct ums *ums_init(unsigned int dev_num)
-{
-       struct mmc *mmc = find_mmc_device(dev_num);
-
-       if (!mmc || mmc_init(mmc))
-               return NULL;
-       return ums_disk_init(mmc);
-}
index 1cd497270629f85145cfc0acb0db15a14912ae71..91368e384442125bf796ab066949f8f88e04f96a 100644 (file)
 #include <common.h>
 #include <command.h>
 #include <g_dnl.h>
+#include <mmc.h>
+#include <part.h>
 #include <usb.h>
 #include <usb_mass_storage.h>
 
+static int ums_read_sector(struct ums *ums_dev,
+                          ulong start, lbaint_t blkcnt, void *buf)
+{
+       block_dev_desc_t *block_dev = ums_dev->block_dev;
+       lbaint_t blkstart = start + ums_dev->start_sector;
+       int dev_num = block_dev->dev;
+
+       return block_dev->block_read(dev_num, blkstart, blkcnt, buf);
+}
+
+static int ums_write_sector(struct ums *ums_dev,
+                           ulong start, lbaint_t blkcnt, const void *buf)
+{
+       block_dev_desc_t *block_dev = ums_dev->block_dev;
+       lbaint_t blkstart = start + ums_dev->start_sector;
+       int dev_num = block_dev->dev;
+
+       return block_dev->block_write(dev_num, blkstart, blkcnt, buf);
+}
+
+static struct ums ums_dev = {
+       .read_sector = ums_read_sector,
+       .write_sector = ums_write_sector,
+       .name = "UMS disk",
+};
+
+struct ums *ums_init(unsigned int dev_num)
+{
+       struct mmc *mmc = NULL;
+
+       mmc = find_mmc_device(dev_num);
+       if (!mmc || mmc_init(mmc))
+               return NULL;
+
+       ums_dev.block_dev = &mmc->block_dev;
+       ums_dev.start_sector = 0;
+       ums_dev.num_sectors = mmc->capacity / SECTOR_SIZE;
+
+       printf("UMS: disk start sector: %#x, count: %#x\n",
+              ums_dev.start_sector, ums_dev.num_sectors);
+
+       return &ums_dev;
+}
+
 int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag,
                               int argc, char * const argv[])
 {
index 11ff055603d9b3d8504fbe90e4ed8ef8efbfedc1..3553ecc02dd390df0c4fc5be034090fcd963d1b4 100644 (file)
@@ -43,7 +43,6 @@ extern struct ums *ums;
 
 int fsg_init(struct ums *);
 void fsg_cleanup(void);
-struct ums *ums_init(unsigned int);
 int fsg_main_thread(void *);
 int fsg_add(struct usb_configuration *c);
 #endif /* __USB_MASS_STORAGE_H__ */