OSDN Git Service

firmware: arm_scmi: Make scmi core independent of the transport type
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 31 Jan 2020 05:28:13 +0000 (10:58 +0530)
committerSudeep Holla <sudeep.holla@arm.com>
Mon, 10 Feb 2020 11:50:51 +0000 (11:50 +0000)
commit5c8a47a5a91d4d6e185f758d61997613d9c5d6ac
treea7f7541c801e584a1bcb378757d84df8750ca255
parentc4eb83660aef549a6a50965ec5f0af9c8306d2e9
firmware: arm_scmi: Make scmi core independent of the transport type

The SCMI specification is fairly independent of the transport protocol,
which can be a simple mailbox (already implemented) or anything else.
The current Linux implementation however is very much dependent on the
mailbox transport layer.

This patch makes the SCMI core code (driver.c) independent of the
mailbox transport layer and moves all mailbox related code to a new
file: mailbox.c and all struct shared_mem related code to a new file:
shmem.c.

We can now implement more transport protocols to transport SCMI
messages.

The transport protocols just need to provide struct scmi_transport_ops,
with its version of the callbacks to enable exchange of SCMI messages.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/8698a3cec199b8feab35c2339f02dc232bfd773b.1580448239.git.viresh.kumar@linaro.org
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/Makefile
drivers/firmware/arm_scmi/common.h
drivers/firmware/arm_scmi/driver.c
drivers/firmware/arm_scmi/mailbox.c [new file with mode: 0644]
drivers/firmware/arm_scmi/shmem.c [new file with mode: 0644]