firmware: scmi: use multi channel in mailbox, optee and smccc agents
authorEtienne Carriere <etienne.carriere@linaro.org>
Tue, 31 May 2022 16:09:29 +0000 (18:09 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 23 Jun 2022 17:12:56 +0000 (13:12 -0400)
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>
drivers/firmware/scmi/mailbox_agent.c
drivers/firmware/scmi/optee_agent.c
drivers/firmware/scmi/smccc_agent.c

index e63b67c..3efdab9 100644 (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;
index da5c2ec..2b2b8c1 100644 (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;
index 73a7e0a..bc2eb67 100644 (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;