Re: [PATCH v8 18/19] platform/x86: intel_pmc_ipc: Convert to MFD

From: Lee Jones
Date: Tue Mar 24 2020 - 07:26:35 EST


On Tue, 24 Mar 2020, Andy Shevchenko wrote:

> On Tue, Mar 3, 2020 at 3:43 PM Mika Westerberg
> <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> >
> > 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.
> >
>
> Lee, are you fine with this?
> I can push it all via my tree and prepare IB for you.

Funny you should ask - it's next on my list.

> > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > ---
> > .../ABI/obsolete/sysfs-driver-intel_pmc_bxt | 22 +
> > arch/x86/include/asm/intel_pmc_ipc.h | 47 --
> > arch/x86/include/asm/intel_telemetry.h | 1 +
> > drivers/mfd/Kconfig | 16 +-
> > drivers/mfd/Makefile | 1 +
> > drivers/mfd/intel_pmc_bxt.c | 504 ++++++++++++++
> > drivers/platform/x86/Kconfig | 16 +-
> > drivers/platform/x86/Makefile | 1 -
> > drivers/platform/x86/intel_pmc_ipc.c | 645 ------------------
> > .../platform/x86/intel_telemetry_debugfs.c | 12 +-
> > drivers/platform/x86/intel_telemetry_pltdrv.c | 2 +
> > drivers/usb/typec/tcpm/Kconfig | 2 +-
> > include/linux/mfd/intel_pmc_bxt.h | 43 ++
> > 13 files changed, 602 insertions(+), 710 deletions(-)
> > create mode 100644 Documentation/ABI/obsolete/sysfs-driver-intel_pmc_bxt
> > delete mode 100644 arch/x86/include/asm/intel_pmc_ipc.h
> > create mode 100644 drivers/mfd/intel_pmc_bxt.c
> > delete mode 100644 drivers/platform/x86/intel_pmc_ipc.c
> > create mode 100644 include/linux/mfd/intel_pmc_bxt.h

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog