mbox series

[v2,00/11] firmware: arm_scmi: Add support for multiple device per protocol

Message ID 20191218111742.29731-1-sudeep.holla@arm.com
Headers show
Series firmware: arm_scmi: Add support for multiple device per protocol | expand

Message

Sudeep Holla Dec. 18, 2019, 11:17 a.m. UTC
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 either hwmon or 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

v1[1]->v2:
	- Dropped all the changes that mixes up the device specific init
	  with the protocol
	- Used idr_replace to skip protocol initialisation as suggested
	- Added collected reviewed/acked-by
	- Reworded hwmon changes to reflect that hwmon/iio drivers will
	  be mutually exclusive and hwmon needs to be removed if IIO
	  support is added

[1] https://lore.kernel.org/lkml/20191210145345.11616-1-sudeep.holla@arm.com/

Sudeep Holla (11):
  firmware: arm_scmi: Add support for multiple device per protocol
  firmware: arm_scmi: Skip scmi mbox channel setup for addtional devices
  firmware: arm_scmi: Add names to scmi devices created
  firmware: arm_scmi: Add versions and identifier attributes using dev_groups
  firmware: arm_scmi: Match scmi device by both name and protocol id
  firmware: arm_scmi: Stash version in protocol init functions
  firmware: arm_scmi: Skip protocol initialisation for additional devices
  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            | 29 ++++++-
 drivers/firmware/arm_scmi/clock.c          |  2 +
 drivers/firmware/arm_scmi/driver.c         | 92 +++++++++++++++++++++-
 drivers/firmware/arm_scmi/perf.c           |  2 +
 drivers/firmware/arm_scmi/power.c          |  2 +
 drivers/firmware/arm_scmi/reset.c          |  2 +
 drivers/firmware/arm_scmi/scmi_pm_domain.c |  2 +-
 drivers/firmware/arm_scmi/sensors.c        |  2 +
 drivers/hwmon/scmi-hwmon.c                 |  2 +-
 drivers/reset/reset-scmi.c                 |  2 +-
 include/linux/scmi_protocol.h              |  5 +-
 13 files changed, 134 insertions(+), 12 deletions(-)

-- 
2.17.1