From: Bjorn Andersson <bjorn.andersson@linaro.org> To: Ohad Ben-Cohen <ohad@wizery.com>, Bjorn Andersson <bjorn.andersson@linaro.org> Cc: linux-remoteproc@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 11/17] rpmsg: Split off generic tail of create_channel() Date: Thu, 1 Sep 2016 15:28:03 -0700 [thread overview] Message-ID: <1472768889-3906-12-git-send-email-bjorn.andersson@linaro.org> (raw) In-Reply-To: <1472768889-3906-1-git-send-email-bjorn.andersson@linaro.org> 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
WARNING: multiple messages have this Message-ID (diff)
From: bjorn.andersson@linaro.org (Bjorn Andersson) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 11/17] rpmsg: Split off generic tail of create_channel() Date: Thu, 1 Sep 2016 15:28:03 -0700 [thread overview] Message-ID: <1472768889-3906-12-git-send-email-bjorn.andersson@linaro.org> (raw) In-Reply-To: <1472768889-3906-1-git-send-email-bjorn.andersson@linaro.org> 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
next prev parent reply other threads:[~2016-09-01 22:28 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-09-01 22:27 [PATCH v2 00/17] Make rpmsg a framework Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` [PATCH v2 01/17] rpmsg: Enable matching devices with drivers based on DT Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-08 1:46 ` spjoshi 2016-09-08 1:46 ` spjoshi at codeaurora.org 2016-09-09 4:30 ` Bjorn Andersson 2016-09-09 4:30 ` Bjorn Andersson 2016-09-09 22:07 ` Sarangdhar Joshi 2016-09-09 22:07 ` Sarangdhar Joshi 2016-09-01 22:27 ` [PATCH v2 02/17] rpmsg: Name rpmsg devices based on channel id Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-08 1:46 ` spjoshi 2016-09-08 1:46 ` spjoshi at codeaurora.org 2016-09-01 22:27 ` [PATCH v2 03/17] rpmsg: rpmsg_send() operations takes rpmsg_endpoint Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` [PATCH v2 04/17] rpmsg: Make rpmsg_create_ept() take channel_info struct Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` [PATCH v2 05/17] rpmsg: Clean up rpmsg device vs channel naming Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` [PATCH v2 06/17] rpmsg: Introduce indirection table for rpmsg_device operations Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:27 ` [PATCH v2 07/17] rpmsg: Move rpmsg_device API to new file Bjorn Andersson 2016-09-01 22:27 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 08/17] rpmsg: Indirection table for rpmsg_endpoint operations Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 09/17] rpmsg: Move endpoint related interface to rpmsg core Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 10/17] rpmsg: Move helper for finding rpmsg devices to core Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson [this message] 2016-09-01 22:28 ` [PATCH v2 11/17] rpmsg: Split off generic tail of create_channel() Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 12/17] rpmsg: Split rpmsg core and virtio backend Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 13/17] rpmsg: Hide rpmsg indirection tables Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 14/17] rpmsg: virtio: Hide vrp pointer from the public API Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 15/17] rpmsg: Move virtio specifics from public header Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 16/17] rpmsg: Allow callback to return errors Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-01 22:28 ` [PATCH v2 17/17] rpmsg: Introduce Qualcomm SMD backend Bjorn Andersson 2016-09-01 22:28 ` Bjorn Andersson 2016-09-12 16:52 ` [PATCH v2 00/17] Make rpmsg a framework Lina Iyer 2016-09-12 16:52 ` Lina Iyer 2016-09-12 18:00 ` Bjorn Andersson 2016-09-12 18:00 ` Bjorn Andersson 2016-09-12 18:13 ` Jeffrey Hugo 2016-09-12 18:13 ` Jeffrey Hugo 2016-09-12 18:49 ` Bjorn Andersson 2016-09-12 18:49 ` Bjorn Andersson 2016-09-12 19:21 ` Jeffrey Hugo 2016-09-12 19:21 ` Jeffrey Hugo 2016-09-12 19:58 ` Bjorn Andersson 2016-09-12 19:58 ` Bjorn Andersson 2016-09-12 21:36 ` Karthikeyan Ramasubramanian 2016-09-12 21:36 ` Karthikeyan Ramasubramanian 2016-09-12 21:53 ` Bjorn Andersson 2016-09-12 21:53 ` Bjorn Andersson 2016-09-12 22:22 ` Lina Iyer 2016-09-12 22:22 ` Lina Iyer 2016-09-12 22:58 ` Bjorn Andersson 2016-09-12 22:58 ` Bjorn Andersson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1472768889-3906-12-git-send-email-bjorn.andersson@linaro.org \ --to=bjorn.andersson@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-remoteproc@vger.kernel.org \ --cc=ohad@wizery.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.