firmware: scmi: use multi channel in mailbox, optee and smccc agents

Updates .process_msg operators of the SCMI transport drivers that
supports multi-channel to use it now that drivers do provide
the reference through channel argument. These are the mailbox
agent, the optee agent and the smccc agent.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
This commit is contained in:
Etienne Carriere 2022-05-31 18:09:29 +02:00 committed by Tom Rini
parent db59fef0f8
commit c08decd29e
3 changed files with 3 additions and 14 deletions

View File

@ -43,13 +43,9 @@ static int scmi_mbox_process_msg(struct udevice *dev,
struct scmi_channel *channel,
struct scmi_msg *msg)
{
struct scmi_mbox_channel *chan = dev_get_plat(dev);
struct scmi_mbox_channel *chan = &channel->ref;
int ret;
/* Support SCMI drivers upgraded to of_get_channel operator */
if (channel)
chan = &channel->ref;
ret = scmi_write_msg_to_smt(dev, &chan->smt, msg);
if (ret)
return ret;

View File

@ -278,13 +278,10 @@ static int scmi_optee_process_msg(struct udevice *dev,
struct scmi_channel *channel,
struct scmi_msg *msg)
{
struct scmi_optee_channel *chan = &channel->ref;
struct channel_session sess = { };
int ret;
/* Support SCMI drivers upgraded to of_get_channel operator */
if (channel)
chan = &channel->ref;
ret = open_channel(dev, chan, &sess);
if (ret)
return ret;

View File

@ -42,14 +42,10 @@ static int scmi_smccc_process_msg(struct udevice *dev,
struct scmi_channel *channel,
struct scmi_msg *msg)
{
struct scmi_smccc_channel *chan = dev_get_plat(dev);
struct scmi_smccc_channel *chan = &channel->ref;
struct arm_smccc_res res;
int ret;
/* Support SCMI drivers upgraded to of_get_channel operator */
if (channel)
chan = &channel->ref;
ret = scmi_write_msg_to_smt(dev, &chan->smt, msg);
if (ret)
return ret;