Hi, On 8/16/21 6:58 PM, Gayatri Kammela wrote: > As part of collecting Intel x86 specific drivers in their own > folder, move intel_pmc_core* files to its own subfolder there. > > Cc: Chao Qin <chao.qin@xxxxxxxxx> > Cc: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxx> > Cc: David Box <david.e.box@xxxxxxxxx> > Cc: You-Sheng Yang <vicamo.yang@xxxxxxxxxxxxx> > Cc: Hans de Goede <hdegoede@xxxxxxxxxx> > Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Acked-by: Rajneesh Bhardwaj <irenic.rajneesh@xxxxxxxxx> > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > Signed-off-by: Gayatri Kammela <gayatri.kammela@xxxxxxxxx> > --- > MAINTAINERS | 2 +- > drivers/platform/x86/Kconfig | 21 ------------------ > drivers/platform/x86/Makefile | 1 - > drivers/platform/x86/intel/Kconfig | 1 + > drivers/platform/x86/intel/Makefile | 1 + > drivers/platform/x86/intel/pmc/Kconfig | 22 +++++++++++++++++++ > drivers/platform/x86/intel/pmc/Makefile | 6 +++++ > .../{intel_pmc_core.c => intel/pmc/core.c} | 2 +- > .../{intel_pmc_core.h => intel/pmc/core.h} | 0 > .../pmc/core_platform.c} | 0 > 10 files changed, 32 insertions(+), 24 deletions(-) > create mode 100644 drivers/platform/x86/intel/pmc/Kconfig > create mode 100644 drivers/platform/x86/intel/pmc/Makefile > rename drivers/platform/x86/{intel_pmc_core.c => intel/pmc/core.c} (99%) > rename drivers/platform/x86/{intel_pmc_core.h => intel/pmc/core.h} (100%) > rename drivers/platform/x86/{intel_pmc_core_pltdrv.c => intel/pmc/core_platform.c} (100%) > > diff --git a/MAINTAINERS b/MAINTAINERS > index fd25e4ecf0b9..5e118faf8018 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -9477,7 +9477,7 @@ M: David E Box <david.e.box@xxxxxxxxx> > L: platform-driver-x86@xxxxxxxxxxxxxxx > S: Maintained > F: Documentation/ABI/testing/sysfs-platform-intel-pmc > -F: drivers/platform/x86/intel_pmc_core* > +F: drivers/platform/x86/intel/pmc/core* > > INTEL PMIC GPIO DRIVERS > M: Andy Shevchenko <andy@xxxxxxxxxx> > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > index d12db6c316ea..c4ee38eba44b 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -1187,27 +1187,6 @@ config INTEL_MRFLD_PWRBTN > To compile this driver as a module, choose M here: the module > will be called intel_mrfld_pwrbtn. > > -config INTEL_PMC_CORE > - tristate "Intel PMC Core driver" > - depends on PCI > - depends on ACPI > - help > - The Intel Platform Controller Hub for Intel Core SoCs provides access > - to Power Management Controller registers via various interfaces. This > - driver can utilize debugging capabilities and supported features as > - exposed by the Power Management Controller. It also may perform some > - tasks in the PMC in order to enable transition into the SLPS0 state. > - It should be selected on all Intel platforms supported by the driver. > - > - Supported features: > - - SLP_S0_RESIDENCY counter > - - PCH IP Power Gating status > - - LTR Ignore / LTR Show > - - MPHY/PLL gating status (Sunrisepoint PCH only) > - - SLPS0 Debug registers (Cannonlake/Icelake PCH) > - - Low Power Mode registers (Tigerlake and beyond) > - - PMC quirks as needed to enable SLPS0/S0ix > - > config INTEL_PMT_CLASS > tristate > help > diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile > index 7ee369aab10d..43d36f8c36f1 100644 > --- a/drivers/platform/x86/Makefile > +++ b/drivers/platform/x86/Makefile > @@ -128,7 +128,6 @@ obj-$(CONFIG_INTEL_UNCORE_FREQ_CONTROL) += intel-uncore-frequency.o > obj-$(CONFIG_INTEL_BXTWC_PMIC_TMU) += intel_bxtwc_tmu.o > obj-$(CONFIG_INTEL_CHTDC_TI_PWRBTN) += intel_chtdc_ti_pwrbtn.o > obj-$(CONFIG_INTEL_MRFLD_PWRBTN) += intel_mrfld_pwrbtn.o > -obj-$(CONFIG_INTEL_PMC_CORE) += intel_pmc_core.o intel_pmc_core_pltdrv.o This Makefile line will build 2 separate .ko files: intel_pmc_core.ko and intel_pmc_core_pltdrv.ko when CONFIG_INTEL_PMC_CORE=m > obj-$(CONFIG_INTEL_PMT_CLASS) += intel_pmt_class.o > obj-$(CONFIG_INTEL_PMT_TELEMETRY) += intel_pmt_telemetry.o > obj-$(CONFIG_INTEL_PMT_CRASHLOG) += intel_pmt_crashlog.o <snip> > diff --git a/drivers/platform/x86/intel/pmc/Makefile b/drivers/platform/x86/intel/pmc/Makefile > new file mode 100644 > index 000000000000..c92e66846a4a > --- /dev/null > +++ b/drivers/platform/x86/intel/pmc/Makefile > @@ -0,0 +1,6 @@ > +# SPDX-License-Identifier: GPL-2.0 > +# > + > +obj-$(CONFIG_INTEL_PMC_CORE) += intel_pmc_core.o > +intel_pmc_core-objs := core.o \ > + core_platform.o Whereas this will now build a single intel_pmc_core.ko containing both object files, but the 2 .c files have: module_platform_driver(pmc_core_driver); (which is a macro expanding to a module_init + module_exit function) resp. module_init(pmc_core_platform_init); module_exit(pmc_core_platform_exit); So now we have 2 module_init (and _exit) functions in a single .ko file and the build will fail, not good. Also instead of "intel_pmc_core-objs :=" you should use "intel_pmc_core-y :=" And this series is based on 5.14-rc6, causing it to not apply because the pmt driver has already been moved to drivers/platform/x86 and this patch is using a base which is missing that move. pdx86 patches should be based on: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans Please make sure the next version is based on my review-hans branch, there are some other intel driver renames in flight (and e.g. the pmt one has already landed) and I would like to be able to apply this without needing to manually resolve conflicts. Regards, Hans > diff --git a/drivers/platform/x86/intel_pmc_core.c b/drivers/platform/x86/intel/pmc/core.c > similarity index 99% > rename from drivers/platform/x86/intel_pmc_core.c > rename to drivers/platform/x86/intel/pmc/core.c > index b0e486a6bdfb..f9de78b08e5d 100644 > --- a/drivers/platform/x86/intel_pmc_core.c > +++ b/drivers/platform/x86/intel/pmc/core.c > @@ -31,7 +31,7 @@ > #include <asm/msr.h> > #include <asm/tsc.h> > > -#include "intel_pmc_core.h" > +#include "core.h" > > #define ACPI_S0IX_DSM_UUID "57a6512e-3979-4e9d-9708-ff13b2508972" > #define ACPI_GET_LOW_MODE_REGISTERS 1 > diff --git a/drivers/platform/x86/intel_pmc_core.h b/drivers/platform/x86/intel/pmc/core.h > similarity index 100% > rename from drivers/platform/x86/intel_pmc_core.h > rename to drivers/platform/x86/intel/pmc/core.h > diff --git a/drivers/platform/x86/intel_pmc_core_pltdrv.c b/drivers/platform/x86/intel/pmc/core_platform.c > similarity index 100% > rename from drivers/platform/x86/intel_pmc_core_pltdrv.c > rename to drivers/platform/x86/intel/pmc/core_platform.c >