remoteproc_cdev.c (8f454f950dbb663180f596db18c3dc7ec26497f0) remoteproc_cdev.c (5e6a0e05270e3a4bb9289a0415d062966c27d192)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Character device interface driver for Remoteproc framework.
4 *
5 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
6 */
7
8#include <linux/cdev.h>

--- 20 unchanged lines hidden (view full) ---

29
30 ret = copy_from_user(cmd, buf, len);
31 if (ret)
32 return -EFAULT;
33
34 if (!strncmp(cmd, "start", len)) {
35 ret = rproc_boot(rproc);
36 } else if (!strncmp(cmd, "stop", len)) {
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Character device interface driver for Remoteproc framework.
4 *
5 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
6 */
7
8#include <linux/cdev.h>

--- 20 unchanged lines hidden (view full) ---

29
30 ret = copy_from_user(cmd, buf, len);
31 if (ret)
32 return -EFAULT;
33
34 if (!strncmp(cmd, "start", len)) {
35 ret = rproc_boot(rproc);
36 } else if (!strncmp(cmd, "stop", len)) {
37 if (rproc->state != RPROC_RUNNING &&
38 rproc->state != RPROC_ATTACHED)
39 return -EINVAL;
40
41 ret = rproc_shutdown(rproc);
42 } else if (!strncmp(cmd, "detach", len)) {
37 ret = rproc_shutdown(rproc);
38 } else if (!strncmp(cmd, "detach", len)) {
43 if (rproc->state != RPROC_ATTACHED)
44 return -EINVAL;
45
46 ret = rproc_detach(rproc);
47 } else {
48 dev_err(&rproc->dev, "Unrecognized option\n");
49 ret = -EINVAL;
50 }
51
52 return ret ? ret : len;
53}

--- 80 unchanged lines hidden ---
39 ret = rproc_detach(rproc);
40 } else {
41 dev_err(&rproc->dev, "Unrecognized option\n");
42 ret = -EINVAL;
43 }
44
45 return ret ? ret : len;
46}

--- 80 unchanged lines hidden ---