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)
commit25f1ca31e230598eaf3c38d387a355a64bd772a7
treedc2f0ccf77b7721b12117fefd9898b6c4dd7901a
parent0759a8730c7070299556af8dddeecce90955c8ae
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