diff options
author | Stephen Warren <swarren@nvidia.com> | 2014-05-05 10:40:15 -0600 |
---|---|---|
committer | Lukasz Majewski <l.majewski@samsung.com> | 2014-05-08 10:38:29 +0200 |
commit | abfe8afe88d6d8219602659f44981411e1daeb1d (patch) | |
tree | 4d7a2b9854e83f171026dda4b3f041f08acd092a /board | |
parent | 36ff05c4f968bf71713644413d64850e48b34145 (diff) | |
download | u-boot-imx-abfe8afe88d6d8219602659f44981411e1daeb1d.zip u-boot-imx-abfe8afe88d6d8219602659f44981411e1daeb1d.tar.gz u-boot-imx-abfe8afe88d6d8219602659f44981411e1daeb1d.tar.bz2 |
ums: move IO support code to common location
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>
Diffstat (limited to 'board')
-rw-r--r-- | board/samsung/common/Makefile | 1 | ||||
-rw-r--r-- | board/samsung/common/ums.c | 55 |
2 files changed, 0 insertions, 56 deletions
diff --git a/board/samsung/common/Makefile b/board/samsung/common/Makefile index 7d2bb8c..41d0cc3 100644 --- a/board/samsung/common/Makefile +++ b/board/samsung/common/Makefile @@ -7,7 +7,6 @@ obj-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o obj-$(CONFIG_THOR_FUNCTION) += thor.o -obj-$(CONFIG_CMD_USB_MASS_STORAGE) += ums.o obj-$(CONFIG_MISC_COMMON) += misc.o ifndef CONFIG_SPL_BUILD diff --git a/board/samsung/common/ums.c b/board/samsung/common/ums.c deleted file mode 100644 index b35670d..0000000 --- a/board/samsung/common/ums.c +++ /dev/null @@ -1,55 +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", -}; - -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; -} |