[PATCH 00/15] firmware: arm_scmi: Add support for multiple device per protocol

From: Sudeep Holla
Date: Tue Dec 10 2019 - 09:55:03 EST


Currently only one scmi device is created for each protocol enumerated.
However, there is requirement to make use of some procotols by multiple
kernel subsystems/frameworks. One such example is SCMI PERFORMANCE
protocol which can be used by both cpufreq and devfreq drivers.
Similarly, SENSOR protocol may be used by hwmon and iio subsystems,
and POWER protocol may be used by genpd and regulator drivers.

This series adds support for multiple device per protocol using scmi device
name if one is available. It also updates existing drivers to add
scmi device names to driver id tables.

Regards,
Sudeep

Sudeep Holla (15):
firmware: arm_scmi: Add support for multiple device per protocol
firmware: arm_scmi: Skip scmi mbox channel setup for addtional devices
firmware: arm_scmi: Skip protocol initialisation for additional devices
firmware: arm_scmi: Add names to scmi devices created
firmware: arm_scmi: Add versions and identifier attributes using dev_groups
firmware: arm_scmi: Update scmi_prot_init_fn_t to use device instead of handle
firmware: arm_scmi: Stash version in protocol init functions
firmware: arm_scmi: Add and initialise protocol version to scmi_device structure
firmware: arm_scmi: Add scmi protocol version and id device attributes
firmware: arm_scmi: Drop logging individual scmi protocol version
firmware: arm_scmi: Match scmi device by both name and protocol id
clk: scmi: Match scmi device by both name and protocol id
cpufreq: scmi: Match scmi device by both name and protocol id
hwmon: (scmi-hwmon) Match scmi device by both name and protocol id
reset: reset-scmi: Match scmi device by both name and protocol id

drivers/clk/clk-scmi.c | 2 +-
drivers/cpufreq/scmi-cpufreq.c | 2 +-
drivers/firmware/arm_scmi/bus.c | 53 +++++++++++--
drivers/firmware/arm_scmi/clock.c | 15 +++-
drivers/firmware/arm_scmi/driver.c | 92 +++++++++++++++++++++-
drivers/firmware/arm_scmi/perf.c | 15 +++-
drivers/firmware/arm_scmi/power.c | 15 +++-
drivers/firmware/arm_scmi/reset.c | 15 +++-
drivers/firmware/arm_scmi/scmi_pm_domain.c | 2 +-
drivers/firmware/arm_scmi/sensors.c | 15 +++-
drivers/hwmon/scmi-hwmon.c | 2 +-
drivers/reset/reset-scmi.c | 2 +-
include/linux/scmi_protocol.h | 8 +-
13 files changed, 202 insertions(+), 36 deletions(-)

--
2.17.1