summaryrefslogtreecommitdiff
path: root/drivers/misc/reset-uclass.c
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2016-05-12 18:03:35 (GMT)
committerSimon Glass <sjg@chromium.org>2016-05-27 02:48:31 (GMT)
commit11636258981a083957c19f3979796fde5e7e8080 (patch)
tree5410060bbc3291d6f3cc8d456a39b1462dd2626b /drivers/misc/reset-uclass.c
parent6f82fac2f278173f5afe5b4b5dbc269646d11c0b (diff)
downloadu-boot-11636258981a083957c19f3979796fde5e7e8080.tar.xz
Rename reset to sysreset
The current reset API implements a method to reset the entire system. In the near future, I'd like to introduce code that implements the device tree reset bindings; i.e. the equivalent of the Linux kernel's reset API. This controls resets to individual HW blocks or external chips with reset signals. It doesn't make sense to merge the two APIs into one since they have different semantic purposes. Resolve the naming conflict by renaming the existing reset API to sysreset instead, so the new reset API can be called just reset. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/misc/reset-uclass.c')
-rw-r--r--drivers/misc/reset-uclass.c81
1 files changed, 0 insertions, 81 deletions
diff --git a/drivers/misc/reset-uclass.c b/drivers/misc/reset-uclass.c
deleted file mode 100644
index fdb5c6f..0000000
--- a/drivers/misc/reset-uclass.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2015 Google, Inc
- * Written by Simon Glass <sjg@chromium.org>
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-#include <common.h>
-#include <reset.h>
-#include <dm.h>
-#include <errno.h>
-#include <regmap.h>
-#include <dm/device-internal.h>
-#include <dm/lists.h>
-#include <dm/root.h>
-#include <linux/err.h>
-
-int reset_request(struct udevice *dev, enum reset_t type)
-{
- struct reset_ops *ops = reset_get_ops(dev);
-
- if (!ops->request)
- return -ENOSYS;
-
- return ops->request(dev, type);
-}
-
-int reset_walk(enum reset_t type)
-{
- struct udevice *dev;
- int ret = -ENOSYS;
-
- while (ret != -EINPROGRESS && type < RESET_COUNT) {
- for (uclass_first_device(UCLASS_RESET, &dev);
- dev;
- uclass_next_device(&dev)) {
- ret = reset_request(dev, type);
- if (ret == -EINPROGRESS)
- break;
- }
- type++;
- }
-
- return ret;
-}
-
-void reset_walk_halt(enum reset_t type)
-{
- int ret;
-
- ret = reset_walk(type);
-
- /* Wait for the reset to take effect */
- if (ret == -EINPROGRESS)
- mdelay(100);
-
- /* Still no reset? Give up */
- printf("Reset not supported on this platform\n");
- hang();
-}
-
-/**
- * reset_cpu() - calls reset_walk(RESET_WARM)
- */
-void reset_cpu(ulong addr)
-{
- reset_walk_halt(RESET_WARM);
-}
-
-
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
- reset_walk_halt(RESET_WARM);
-
- return 0;
-}
-
-UCLASS_DRIVER(reset) = {
- .id = UCLASS_RESET,
- .name = "reset",
-};