diff mbox series

[v6,1/5] platform/x86/intel: intel_pmc_core: Move intel_pmc_core* files to pmc subfolder

Message ID fa72dfad9282e2c24b99327d08cbe032d7034bbf.1627710766.git.gayatri.kammela@intel.com (mailing list archive)
State Changes Requested, archived
Headers show
Series Add Alder Lake PCH-S support to PMC core driver | expand

Commit Message

Kammela, Gayatri July 31, 2021, 6:07 a.m. UTC
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@intel.com>
Cc: Srinivas Pandruvada <srinivas.pandruvada@intel.com>
Cc: David Box <david.e.box@intel.com>
Cc: You-Sheng Yang <vicamo.yang@canonical.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Rajneesh Bhardwaj <irenic.rajneesh@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Gayatri Kammela <gayatri.kammela@intel.com>
---
 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/pltdrv.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/pltdrv.c} (100%)

Comments

Andy Shevchenko July 31, 2021, 8:41 a.m. UTC | #1
On Sat, Jul 31, 2021 at 9:10 AM Gayatri Kammela
<gayatri.kammela@intel.com> wrote:
>
> As part of collecting Intel x86 specific drivers in their own
> folder, move intel_pmc_core* files to its own subfolder there.

...

>  .../pmc/pltdrv.c}                             |  0

I would go further and spell it as platform.c.

...

> -F:     drivers/platform/x86/intel_pmc_core*
> +F:     drivers/platform/x86/intel/pmc/core*

This seems incorrect.

...

> +         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)

Perhaps you may use the opportunity to spell codenames in a better way, i.e.
Sunrise Point
Cannon Lake
Ice Lake
Tiger Lake

as it's done almost everywhere else in the kernel.

...

> +obj-$(CONFIG_INTEL_PMC_CORE)   += intel_pmc_core.o
> +intel_pmc_core-objs            += core.o

objs suffix is not for kernel modules.
Moreover, := has a difference to +=. Why is the latter in use?

> +obj-$(CONFIG_INTEL_PMC_CORE)   += pltdrv.o

This will have the very same issue as with the core module. On top of
that, do you need a separate module for it? If so, why?
Kammela, Gayatri Aug. 16, 2021, 4:59 p.m. UTC | #2
> -----Original Message-----
> From: Andy Shevchenko <andy.shevchenko@gmail.com>
> Sent: Saturday, July 31, 2021 1:42 AM
> To: Kammela, Gayatri <gayatri.kammela@intel.com>
> Cc: Platform Driver <platform-driver-x86@vger.kernel.org>; Mark Gross
> <mgross@linux.intel.com>; Hans de Goede <hdegoede@redhat.com>;
> Rajneesh Bhardwaj <irenic.rajneesh@gmail.com>; Andy Shevchenko
> <andriy.shevchenko@linux.intel.com>; You-Sheng Yang
> <vicamo.yang@canonical.com>; Pandruvada, Srinivas
> <srinivas.pandruvada@intel.com>; Box, David E <david.e.box@intel.com>;
> Qin, Chao <chao.qin@intel.com>; Linux Kernel Mailing List <linux-
> kernel@vger.kernel.org>; Mashiah, Tamar <tamar.mashiah@intel.com>;
> Greg Kroah-Hartman <gregkh@linuxfoundation.org>; Rajat Jain
> <rajatja@google.com>; Shyam Sundar S K <Shyam-sundar.S-k@amd.com>;
> Alex Deucher <Alexander.Deucher@amd.com>; mlimonci@amd.com
> Subject: Re: [PATCH v6 1/5] platform/x86/intel: intel_pmc_core: Move
> intel_pmc_core* files to pmc subfolder
> 
> On Sat, Jul 31, 2021 at 9:10 AM Gayatri Kammela
> <gayatri.kammela@intel.com> wrote:
> >
> > As part of collecting Intel x86 specific drivers in their own folder,
> > move intel_pmc_core* files to its own subfolder there.
> 
> ...
> 
> >  .../pmc/pltdrv.c}                             |  0
> 
> I would go further and spell it as platform.c.
Hi Andy, sure! I have renamed the file as core_platform.c in the next version , so that it is consistent with the rest of the file names under intel/pmc/ (core.c, core.h , core_platform.c)
> 
> ...
> 
> > -F:     drivers/platform/x86/intel_pmc_core*
> > +F:     drivers/platform/x86/intel/pmc/core*
> 
> This seems incorrect.
Yeah I agree. With the above change in the filename (core_platform.c), I think, this line in MAINTAINERS would make sense.
> 
> ...
> 
> > +         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)
> 
> Perhaps you may use the opportunity to spell codenames in a better way, i.e.
> Sunrise Point
> Cannon Lake
> Ice Lake
> Tiger Lake
> 
> as it's done almost everywhere else in the kernel.
Sure! I have made changes as per your suggestion. Thanks!
> 
> ...
> 
> > +obj-$(CONFIG_INTEL_PMC_CORE)   += intel_pmc_core.o
> > +intel_pmc_core-objs            += core.o
> 
> objs suffix is not for kernel modules.
> Moreover, := has a difference to +=. Why is the latter in use?
Yeah, it is not needed for kernel modules. I have made changes accordingly.
> 
> > +obj-$(CONFIG_INTEL_PMC_CORE)   += pltdrv.o
> 
> This will have the very same issue as with the core module. On top of that,
> do you need a separate module for it? If so, why?
I made changes, so that we won't have the same issue as with the core module. core_pltdrv has always been made as a separate module, Andy. Do you suggest that we don't need it as a separate module?
> 
> --
> With Best Regards,
> Andy Shevchenko
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index c9467d2839f5..0dcf765682fc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9477,7 +9477,7 @@  M:	David E Box <david.e.box@intel.com>
 L:	platform-driver-x86@vger.kernel.org
 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@kernel.org>
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 7d385c3b2239..cae72922f448 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1184,27 +1184,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
 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
diff --git a/drivers/platform/x86/intel/Kconfig b/drivers/platform/x86/intel/Kconfig
index f2eef337eb98..8ca021785f67 100644
--- a/drivers/platform/x86/intel/Kconfig
+++ b/drivers/platform/x86/intel/Kconfig
@@ -18,5 +18,6 @@  if X86_PLATFORM_DRIVERS_INTEL
 
 source "drivers/platform/x86/intel/int33fe/Kconfig"
 source "drivers/platform/x86/intel/int3472/Kconfig"
+source "drivers/platform/x86/intel/pmc/Kconfig"
 
 endif # X86_PLATFORM_DRIVERS_INTEL
diff --git a/drivers/platform/x86/intel/Makefile b/drivers/platform/x86/intel/Makefile
index 0653055942d5..49962f4dfdec 100644
--- a/drivers/platform/x86/intel/Makefile
+++ b/drivers/platform/x86/intel/Makefile
@@ -6,3 +6,4 @@ 
 
 obj-$(CONFIG_INTEL_CHT_INT33FE)		+= int33fe/
 obj-$(CONFIG_INTEL_SKL_INT3472)		+= int3472/
+obj-$(CONFIG_INTEL_PMC_CORE)		+= pmc/
diff --git a/drivers/platform/x86/intel/pmc/Kconfig b/drivers/platform/x86/intel/pmc/Kconfig
new file mode 100644
index 000000000000..b4c955a35674
--- /dev/null
+++ b/drivers/platform/x86/intel/pmc/Kconfig
@@ -0,0 +1,22 @@ 
+# SPDX-License-Identifier: GPL-2.0-only
+
+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
diff --git a/drivers/platform/x86/intel/pmc/Makefile b/drivers/platform/x86/intel/pmc/Makefile
new file mode 100644
index 000000000000..d819955543fe
--- /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
+obj-$(CONFIG_INTEL_PMC_CORE)	+= pltdrv.o
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/pltdrv.c
similarity index 100%
rename from drivers/platform/x86/intel_pmc_core_pltdrv.c
rename to drivers/platform/x86/intel/pmc/pltdrv.c