]> git.baikalelectronics.ru Git - kernel.git/commit
platform/x86: intel_pmc_ipc: Convert to MFD
authorMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 16 Apr 2020 08:15:51 +0000 (11:15 +0300)
committerLee Jones <lee.jones@linaro.org>
Fri, 24 Apr 2020 10:18:44 +0000 (11:18 +0100)
commita62f1bb179c514e30a62602b2a6b74ed42e55dbd
treedc2f0ccf77b7721b12117fefd9898b6c4dd7901a
parent3461fd2b0882bc788bd8496905b36d1d3532244b
platform/x86: intel_pmc_ipc: Convert to MFD

This driver only creates a bunch of platform devices sharing resources
belonging to the PMC device. This is pretty much what MFD subsystem is
for so move the driver there, renaming it to intel_pmc_bxt.c which
should be more clear what it is.

MFD subsystem provides nice helper APIs for subdevice creation so
convert the driver to use those. Unfortunately the ACPI device includes
separate resources for most of the subdevices so we cannot simply call
mfd_add_devices() to create all of them but instead we need to call it
separately for each device.

The new MFD driver continues to expose two sysfs attributes that allow
userspace to send IPC commands to the PMC/SCU to avoid breaking any
existing applications that may use these. Generally this is bad idea so
document this in the ABI documentation.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
15 files changed:
Documentation/ABI/obsolete/sysfs-driver-intel_pmc_bxt [new file with mode: 0644]
arch/x86/include/asm/intel_pmc_ipc.h [deleted file]
arch/x86/include/asm/intel_telemetry.h
drivers/mfd/Kconfig
drivers/mfd/Makefile
drivers/mfd/intel_pmc_bxt.c [new file with mode: 0644]
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile
drivers/platform/x86/intel_pmc_ipc.c [deleted file]
drivers/platform/x86/intel_telemetry_debugfs.c
drivers/platform/x86/intel_telemetry_pltdrv.c
drivers/usb/typec/tcpm/Kconfig
drivers/watchdog/iTCO_wdt.c
include/linux/mfd/intel_pmc_bxt.h [new file with mode: 0644]
include/linux/platform_data/itco_wdt.h