Commit b7133d6f authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Jassi Brar

mailbox: Make startup and shutdown ops optional

Some mailbox hardware doesn't have to perform any additional operations
on startup of shutdown, so make these optional.
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarJassi Brar <jaswinder.singh@linaro.org>
parent 63f700aa
...@@ -355,12 +355,15 @@ struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index) ...@@ -355,12 +355,15 @@ struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index)
spin_unlock_irqrestore(&chan->lock, flags); spin_unlock_irqrestore(&chan->lock, flags);
if (chan->mbox->ops->startup) {
ret = chan->mbox->ops->startup(chan); ret = chan->mbox->ops->startup(chan);
if (ret) { if (ret) {
dev_err(dev, "Unable to startup the chan (%d)\n", ret); dev_err(dev, "Unable to startup the chan (%d)\n", ret);
mbox_free_channel(chan); mbox_free_channel(chan);
chan = ERR_PTR(ret); chan = ERR_PTR(ret);
} }
}
mutex_unlock(&con_mutex); mutex_unlock(&con_mutex);
return chan; return chan;
...@@ -408,6 +411,7 @@ void mbox_free_channel(struct mbox_chan *chan) ...@@ -408,6 +411,7 @@ void mbox_free_channel(struct mbox_chan *chan)
if (!chan || !chan->cl) if (!chan || !chan->cl)
return; return;
if (chan->mbox->ops->shutdown)
chan->mbox->ops->shutdown(chan); chan->mbox->ops->shutdown(chan);
/* The queued TX requests are simply aborted, no callbacks are made */ /* The queued TX requests are simply aborted, no callbacks are made */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment