Hi, On 8/17/21 8:47 PM, Hans de Goede wrote: > 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. Kate's big intel driver rename series also had a rename patch for the pmc_core code in there. Since that did not have this issue I've applied that one instead (otherwise I also would have trouble applying the rest of Kate's patch-series). With the rename issue resolved I can apply the rest of the series on top of Kate's rename. I will go and do that right away, so there is no need to send a new version. ### Thank you for your patch-series, I've applied the series to my review-hans branch: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans Note it will show up in my review-hans branch once I've pushed my local branch there, which might take a while. Once I've run some tests on this branch the patches there will be added to the platform-drivers-x86/for-next branch and eventually will be included in the pdx86 pull-request to Linus for the next merge-window. Regards, Hans