Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1474762
| From | Bjorn Andersson <bjorn.andersson@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 11/17] rpmsg: Split off generic tail of create_channel() |
| Date | 2016-09-02 00:40 +0200 |
| Message-ID | <scIOm-7Qu-27@gated-at.bofh.it> (permalink) |
| References | <scIEG-7Nd-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
The tail of create_channel() is common among all rpmsg backends, so
split it off from the virtio specific part to allow it to be extracted
to the rpmsg core.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
Changes since v1:
- None
drivers/rpmsg/virtio_rpmsg_bus.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/drivers/rpmsg/virtio_rpmsg_bus.c b/drivers/rpmsg/virtio_rpmsg_bus.c
index 488fd93a290c..e1052622c6a2 100644
--- a/drivers/rpmsg/virtio_rpmsg_bus.c
+++ b/drivers/rpmsg/virtio_rpmsg_bus.c
@@ -120,6 +120,7 @@ static int virtio_rpmsg_trysendto(struct rpmsg_endpoint *ept, void *data,
int len, u32 dst);
static int virtio_rpmsg_trysend_offchannel(struct rpmsg_endpoint *ept, u32 src,
u32 dst, void *data, int len);
+static int rpmsg_register_device(struct rpmsg_device *rpdev);
/* sysfs show configuration fields */
#define rpmsg_show_attr(field, path, format_string) \
@@ -499,10 +500,22 @@ static struct rpmsg_device *rpmsg_create_channel(struct virtproc_info *vrp,
strncpy(rpdev->id.name, chinfo->name, RPMSG_NAME_SIZE);
+ rpdev->dev.parent = &vrp->vdev->dev;
+ ret = rpmsg_register_device(rpdev);
+ if (ret)
+ return NULL;
+
+ return rpdev;
+}
+
+static int rpmsg_register_device(struct rpmsg_device *rpdev)
+{
+ struct device *dev = &rpdev->dev;
+ int ret;
+
dev_set_name(&rpdev->dev, "%s:%s",
dev_name(dev->parent), rpdev->id.name);
- rpdev->dev.parent = &vrp->vdev->dev;
rpdev->dev.bus = &rpmsg_bus;
rpdev->dev.release = rpmsg_release_device;
@@ -510,10 +523,9 @@ static struct rpmsg_device *rpmsg_create_channel(struct virtproc_info *vrp,
if (ret) {
dev_err(dev, "device_register failed: %d\n", ret);
put_device(&rpdev->dev);
- return NULL;
}
- return rpdev;
+ return ret;
}
/*
--
2.5.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 00/17] Make rpmsg a framework Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:30 +0200
[PATCH v2 12/17] rpmsg: Split rpmsg core and virtio backend Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:30 +0200
[PATCH v2 01/17] rpmsg: Enable matching devices with drivers based on DT Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
Re: [PATCH v2 01/17] rpmsg: Enable matching devices with drivers based on DT spjoshi@codeaurora.org - 2016-09-08 03:50 +0200
Re: [PATCH v2 01/17] rpmsg: Enable matching devices with drivers based on DT Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-09 06:40 +0200
[PATCH v2 05/17] rpmsg: Clean up rpmsg device vs channel naming Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
[PATCH v2 11/17] rpmsg: Split off generic tail of create_channel() Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
[PATCH v2 02/17] rpmsg: Name rpmsg devices based on channel id Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
Re: [PATCH v2 02/17] rpmsg: Name rpmsg devices based on channel id spjoshi@codeaurora.org - 2016-09-08 03:50 +0200
[PATCH v2 10/17] rpmsg: Move helper for finding rpmsg devices to core Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
[PATCH v2 06/17] rpmsg: Introduce indirection table for rpmsg_device operations Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
[PATCH v2 09/17] rpmsg: Move endpoint related interface to rpmsg core Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
[PATCH v2 13/17] rpmsg: Hide rpmsg indirection tables Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
[PATCH v2 04/17] rpmsg: Make rpmsg_create_ept() take channel_info struct Bjorn Andersson <bjorn.andersson@linaro.org> - 2016-09-02 00:40 +0200
csiph-web