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