firmware: arm_scmi: add scmi protocol bus to enumerate protocol devices
authorSudeep Holla <sudeep.holla@arm.com>
Mon, 30 Oct 2017 18:33:30 +0000 (18:33 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Wed, 28 Feb 2018 16:37:57 +0000 (16:37 +0000)
commit933c504424a2bc784fdb4cd5c318049d55da20e0
treec3c92b9123d7eca9941720b4c368928febae4292
parentb6f20ff8bd94ad34032804a60bab5ee56752007e
firmware: arm_scmi: add scmi protocol bus to enumerate protocol devices

The SCMI specification encompasses various protocols. However, not every
protocol has to be present on a given platform/implementation as not
every protocol is relevant for it.

Furthermore, the platform chooses which protocols it exposes to a given
agent. The only protocol that must be implemented is the base protocol.
The base protocol is used by an agent to discover which protocols are
available to it.

In order to enumerate the discovered implemented protocols, this patch
adds support for a separate scmi protocol bus. It also adds mechanism to
register support for different protocols.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/Makefile
drivers/firmware/arm_scmi/bus.c [new file with mode: 0644]
drivers/firmware/arm_scmi/common.h
include/linux/scmi_protocol.h