linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 1/5] mailbox: Make startup and shutdown ops optional
@ 2017-05-04 20:05 Bjorn Andersson
  2017-05-04 20:05 ` [PATCH v4 2/5] dt-bindings: mailbox: Introduce Qualcomm APCS global binding Bjorn Andersson
                   ` (5 more replies)
  0 siblings, 6 replies; 28+ messages in thread
From: Bjorn Andersson @ 2017-05-04 20:05 UTC (permalink / raw)
  To: Andy Gross, Rob Herring, Mark Rutland, Ohad Ben-Cohen, Jassi Brar
  Cc: linux-arm-msm, linux-soc, devicetree, linux-kernel, linux-remoteproc

Some mailbox hardware doesn't have to perform any additional operations
on startup of shutdown, so make these optional.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---

Changes since v3:
- New patch

 drivers/mailbox/mailbox.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/drivers/mailbox/mailbox.c b/drivers/mailbox/mailbox.c
index 4671f8a12872..c88de953394a 100644
--- a/drivers/mailbox/mailbox.c
+++ b/drivers/mailbox/mailbox.c
@@ -137,6 +137,20 @@ static enum hrtimer_restart txdone_hrtimer(struct hrtimer *hrtimer)
 	return HRTIMER_NORESTART;
 }
 
+static int mbox_startup(struct mbox_chan *chan)
+{
+	if (chan->mbox->ops->startup)
+		return chan->mbox->ops->startup(chan);
+
+	return 0;
+}
+
+static void mbox_shutdown(struct mbox_chan *chan)
+{
+	if (chan->mbox->ops->shutdown)
+		chan->mbox->ops->shutdown(chan);
+}
+
 /**
  * mbox_chan_received_data - A way for controller driver to push data
  *				received from remote to the upper layer.
@@ -352,7 +366,7 @@ struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index)
 
 	spin_unlock_irqrestore(&chan->lock, flags);
 
-	ret = chan->mbox->ops->startup(chan);
+	ret = mbox_startup(chan);
 	if (ret) {
 		dev_err(dev, "Unable to startup the chan (%d)\n", ret);
 		mbox_free_channel(chan);
@@ -405,7 +419,7 @@ void mbox_free_channel(struct mbox_chan *chan)
 	if (!chan || !chan->cl)
 		return;
 
-	chan->mbox->ops->shutdown(chan);
+	mbox_shutdown(chan);
 
 	/* The queued TX requests are simply aborted, no callbacks are made */
 	spin_lock_irqsave(&chan->lock, flags);
-- 
2.12.0

^ permalink raw reply related	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-05-16 11:25 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-04 20:05 [PATCH v4 1/5] mailbox: Make startup and shutdown ops optional Bjorn Andersson
2017-05-04 20:05 ` [PATCH v4 2/5] dt-bindings: mailbox: Introduce Qualcomm APCS global binding Bjorn Andersson
2017-05-04 20:05 ` [PATCH v4 3/5] soc: qcom: Introduce APCS IPC driver Bjorn Andersson
2017-05-05 10:26   ` Jassi Brar
2017-05-05 18:37     ` Bjorn Andersson
2017-05-05 19:22       ` Jassi Brar
2017-05-05 19:53         ` Jeffrey Hugo
2017-05-05 20:22           ` Jassi Brar
2017-05-05 20:39             ` Jeffrey Hugo
2017-05-06  1:19             ` Bjorn Andersson
2017-05-06  4:48               ` Jassi Brar
2017-05-08  5:54                 ` Bjorn Andersson
2017-05-08  6:47                   ` Jassi Brar
2017-05-08 19:11                     ` Bjorn Andersson
2017-05-09 16:41                       ` Jassi Brar
2017-05-09 19:11                         ` Bjorn Andersson
2017-05-10  2:33                           ` Jassi Brar
2017-05-10 19:00                             ` Bjorn Andersson
2017-05-11  2:07                               ` Jassi Brar
2017-05-12 22:48                                 ` Bjorn Andersson
2017-05-16 11:25                                   ` Jassi Brar
2017-05-04 20:05 ` [PATCH v4 4/5] soc: qcom: Add device tree binding for GLINK RPM Bjorn Andersson
2017-05-08 17:06   ` Rob Herring
2017-05-08 17:53     ` Bjorn Andersson
2017-05-04 20:05 ` [PATCH v4 5/5] rpmsg: Introduce Qualcomm RPM glink driver Bjorn Andersson
2017-05-05  9:35 ` [PATCH v4 1/5] mailbox: Make startup and shutdown ops optional Sudeep Holla
2017-05-05 10:33 ` Jassi Brar
2017-05-05 18:21   ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).