X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=cmd%2Fusb_mass_storage.c;h=570cf3aa508bd03828b1b654043d844feb237ab2;hb=ba742b839c524f7723799d750a540ad3fe70ca7f;hp=b05913ac34464903bbc285f52b7a129843bbf5cf;hpb=a238b0dacffd305f78fc23b2151521cce2384311;p=oweals%2Fu-boot.git diff --git a/cmd/usb_mass_storage.c b/cmd/usb_mass_storage.c index b05913ac34..570cf3aa50 100644 --- a/cmd/usb_mass_storage.c +++ b/cmd/usb_mass_storage.c @@ -1,10 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2011 Samsung Electronics * Lukasz Majewski * * Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. - * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -15,6 +14,7 @@ #include #include #include +#include static int ums_read_sector(struct ums *ums_dev, ulong start, lbaint_t blkcnt, void *buf) @@ -22,7 +22,7 @@ static int ums_read_sector(struct ums *ums_dev, struct blk_desc *block_dev = &ums_dev->block_dev; lbaint_t blkstart = start + ums_dev->start_sector; - return block_dev->block_read(block_dev, blkstart, blkcnt, buf); + return blk_dread(block_dev, blkstart, blkcnt, buf); } static int ums_write_sector(struct ums *ums_dev, @@ -31,7 +31,7 @@ static int ums_write_sector(struct ums *ums_dev, struct blk_desc *block_dev = &ums_dev->block_dev; lbaint_t blkstart = start + ums_dev->start_sector; - return block_dev->block_write(block_dev, blkstart, blkcnt, buf); + return blk_dwrite(block_dev, blkstart, blkcnt, buf); } static struct ums *ums; @@ -44,7 +44,7 @@ static void ums_fini(void) for (i = 0; i < ums_count; i++) free((void *)ums[i].name); free(ums); - ums = 0; + ums = NULL; ums_count = 0; } @@ -133,7 +133,7 @@ cleanup: return ret; } -int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, +static int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { const char *usb_controller; @@ -161,22 +161,22 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, controller_index = (unsigned int)(simple_strtoul( usb_controller, NULL, 0)); - if (board_usb_init(controller_index, USB_INIT_DEVICE)) { - error("Couldn't init USB controller."); + if (usb_gadget_initialize(controller_index)) { + pr_err("Couldn't init USB controller.\n"); rc = CMD_RET_FAILURE; goto cleanup_ums_init; } rc = fsg_init(ums, ums_count); if (rc) { - error("fsg_init failed"); + pr_err("fsg_init failed\n"); rc = CMD_RET_FAILURE; goto cleanup_board; } rc = g_dnl_register("usb_dnl_ums"); if (rc) { - error("g_dnl_register failed"); + pr_err("g_dnl_register failed\n"); rc = CMD_RET_FAILURE; goto cleanup_board; } @@ -227,12 +227,14 @@ int do_usb_mass_storage(cmd_tbl_t *cmdtp, int flag, rc = CMD_RET_SUCCESS; goto cleanup_register; } + + WATCHDOG_RESET(); } cleanup_register: g_dnl_unregister(); cleanup_board: - board_usb_cleanup(controller_index, USB_INIT_DEVICE); + usb_gadget_release(controller_index); cleanup_ums_init: ums_fini();