From: Akshay Gupta <akshay.gupta@xxxxxxx> At present, sbrmi under hwmon subsystem is probed as an i2c driver and reports power. However, APML interface defines few other protocols to support OOB system management functionality. This patchset the following 1. Based on hwmon maintainers feedback, move the i2c client probe and sbrmi core functionality to drivers/mfd/ 2. Add an MFD cell, which probes the hwmon/sbrmi and continues to report power using the symbol exported by the mfd/sbrmi-core. 3. Convert i2c to regmap which provides multiple benefits over direct smbus APIs. 4. Register a misc device which provides a. An ioctl interface through node /dev/sbrmiX b. Open-sourced and widely used https://github.com/amd/esmi_oob_library will continue to provide user-space programmable API for the following - Mailbox xfer (already defined in sbrmi_mailbox_xfer()) - CPUID access - MCAMSR access Akshay Gupta (5): hwmon/mfd sbrmi: Move core sbrmi from hwmon to MFD mfd: sbrmi: Add mfd cell to I2C probe to be used by hwmon mfd/hwmon sbrmi: Use regmap subsystem mfd: sbrmi: Clear sbrmi status register bit SwAlertSts mfd/hwmon: sbrmi: Add support for APML protocols drivers/hwmon/Kconfig | 1 + drivers/hwmon/sbrmi.c | 284 +++----------------- drivers/mfd/Kconfig | 9 +- drivers/mfd/Makefile | 2 + drivers/mfd/sbrmi-core.c | 490 ++++++++++++++++++++++++++++++++++ drivers/mfd/sbrmi-core.h | 37 +++ drivers/mfd/sbrmi-i2c.c | 165 ++++++++++++ include/linux/mfd/amd-sb.h | 55 ++++ include/uapi/linux/amd-apml.h | 74 +++++ 9 files changed, 871 insertions(+), 246 deletions(-) create mode 100644 drivers/mfd/sbrmi-core.c create mode 100644 drivers/mfd/sbrmi-core.h create mode 100644 drivers/mfd/sbrmi-i2c.c create mode 100644 include/linux/mfd/amd-sb.h create mode 100644 include/uapi/linux/amd-apml.h -- 2.25.1