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 --- |