diff mbox series

[v2,1/1] platform/x86: intel: Add 'intel' prefix to the modules automatically

Message ID 20241016105950.785820-2-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted, archived
Headers show
Series [v2,1/1] platform/x86: intel: Add 'intel' prefix to the modules automatically | expand

Commit Message

Andy Shevchenko Oct. 16, 2024, 10:59 a.m. UTC
Rework Makefile to add 'intel' prefix to the modules automatically.
This removes a lot of boilerplate code in it and also makes robust
against mistypos in the prefix.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---

v2: fixed obvious typos (LKP), Cc'ed to Kbuild ML (Ilpo), dropped RFC marker

Note to Kbuild people: TBH I rather want to have something like this
to be available on the level of Kbuild for any of the subdirectories
in question.

 drivers/platform/x86/intel/Makefile           | 68 ++++++++-----------
 .../intel/{intel_plr_tpmi.c => plr_tpmi.c}    |  0
 .../x86/intel/{tpmi.c => vsec_tpmi.c}         |  2 +-
 3 files changed, 30 insertions(+), 40 deletions(-)
 rename drivers/platform/x86/intel/{intel_plr_tpmi.c => plr_tpmi.c} (100%)
 rename drivers/platform/x86/intel/{tpmi.c => vsec_tpmi.c} (99%)

Comments

Andy Shevchenko Oct. 28, 2024, 10:58 a.m. UTC | #1
On Wed, Oct 16, 2024 at 01:59:51PM +0300, Andy Shevchenko wrote:
> Rework Makefile to add 'intel' prefix to the modules automatically.
> This removes a lot of boilerplate code in it and also makes robust
> against mistypos in the prefix.

> ---
> 
> v2: fixed obvious typos (LKP), Cc'ed to Kbuild ML (Ilpo), dropped RFC marker
> 
> Note to Kbuild people: TBH I rather want to have something like this
> to be available on the level of Kbuild for any of the subdirectories
> in question.

Anyone, any comments on this?
This already passed a CI tests without failure so far. Perhaps it's good
to apply to show the demand of such a feature in Kbuild in the future?
Because I want to do the same for various */tests/ folders where we have
tons of test*, *kunit modules effectively duplicating the folder name.
Masahiro Yamada Oct. 28, 2024, 12:49 p.m. UTC | #2
On Mon, Oct 28, 2024 at 11:58 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Wed, Oct 16, 2024 at 01:59:51PM +0300, Andy Shevchenko wrote:
> > Rework Makefile to add 'intel' prefix to the modules automatically.
> > This removes a lot of boilerplate code in it and also makes robust
> > against mistypos in the prefix.
>
> > ---
> >
> > v2: fixed obvious typos (LKP), Cc'ed to Kbuild ML (Ilpo), dropped RFC marker
> >
> > Note to Kbuild people: TBH I rather want to have something like this
> > to be available on the level of Kbuild for any of the subdirectories
> > in question.
>
> Anyone, any comments on this?
> This already passed a CI tests without failure so far. Perhaps it's good
> to apply to show the demand of such a feature in Kbuild in the future?
> Because I want to do the same for various */tests/ folders where we have
> tons of test*, *kunit modules effectively duplicating the folder name.


I do not like what you are doing here, but
it is up to you whatever you do in Makefiles you maintain.
Andy Shevchenko Oct. 28, 2024, 1:05 p.m. UTC | #3
On Mon, Oct 28, 2024 at 01:49:52PM +0100, Masahiro Yamada wrote:
> On Mon, Oct 28, 2024 at 11:58 AM Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> > On Wed, Oct 16, 2024 at 01:59:51PM +0300, Andy Shevchenko wrote:
> > > Rework Makefile to add 'intel' prefix to the modules automatically.
> > > This removes a lot of boilerplate code in it and also makes robust
> > > against mistypos in the prefix.
> >
> > > ---
> > >
> > > v2: fixed obvious typos (LKP), Cc'ed to Kbuild ML (Ilpo), dropped RFC marker
> > >
> > > Note to Kbuild people: TBH I rather want to have something like this
> > > to be available on the level of Kbuild for any of the subdirectories
> > > in question.
> >
> > Anyone, any comments on this?
> > This already passed a CI tests without failure so far. Perhaps it's good
> > to apply to show the demand of such a feature in Kbuild in the future?
> > Because I want to do the same for various */tests/ folders where we have
> > tons of test*, *kunit modules effectively duplicating the folder name.
> 
> I do not like what you are doing here,

That's why the question is to Kbuild if it's possible to have this feature
available treewide for users in a form that you like?

> but it is up to you whatever you do in Makefiles you maintain.

Thanks! Ilpo, what do you think about applying this in its current form?
Ilpo Järvinen Oct. 31, 2024, 2:39 p.m. UTC | #4
On Mon, 28 Oct 2024, Andy Shevchenko wrote:

> On Mon, Oct 28, 2024 at 01:49:52PM +0100, Masahiro Yamada wrote:
> > On Mon, Oct 28, 2024 at 11:58 AM Andy Shevchenko
> > <andriy.shevchenko@linux.intel.com> wrote:
> > > On Wed, Oct 16, 2024 at 01:59:51PM +0300, Andy Shevchenko wrote:
> > > > Rework Makefile to add 'intel' prefix to the modules automatically.
> > > > This removes a lot of boilerplate code in it and also makes robust
> > > > against mistypos in the prefix.
> > >
> > > > ---
> > > >
> > > > v2: fixed obvious typos (LKP), Cc'ed to Kbuild ML (Ilpo), dropped RFC marker
> > > >
> > > > Note to Kbuild people: TBH I rather want to have something like this
> > > > to be available on the level of Kbuild for any of the subdirectories
> > > > in question.
> > >
> > > Anyone, any comments on this?
> > > This already passed a CI tests without failure so far. Perhaps it's good
> > > to apply to show the demand of such a feature in Kbuild in the future?
> > > Because I want to do the same for various */tests/ folders where we have
> > > tons of test*, *kunit modules effectively duplicating the folder name.
> > 
> > I do not like what you are doing here,
> 
> That's why the question is to Kbuild if it's possible to have this feature
> available treewide for users in a form that you like?
> 
> > but it is up to you whatever you do in Makefiles you maintain.
> 
> Thanks! Ilpo, what do you think about applying this in its current form?

I applied this patch now to review-ilpo branch. Hopefully we'll one day 
have a generic mechanism for this but until then this will have to do.
Andy Shevchenko Oct. 31, 2024, 3:19 p.m. UTC | #5
On Thu, Oct 31, 2024 at 04:39:53PM +0200, Ilpo Järvinen wrote:
> On Mon, 28 Oct 2024, Andy Shevchenko wrote:
> > On Mon, Oct 28, 2024 at 01:49:52PM +0100, Masahiro Yamada wrote:
> > > On Mon, Oct 28, 2024 at 11:58 AM Andy Shevchenko
> > > <andriy.shevchenko@linux.intel.com> wrote:
> > > > On Wed, Oct 16, 2024 at 01:59:51PM +0300, Andy Shevchenko wrote:
> > > > > Rework Makefile to add 'intel' prefix to the modules automatically.
> > > > > This removes a lot of boilerplate code in it and also makes robust
> > > > > against mistypos in the prefix.

...

> > > > > v2: fixed obvious typos (LKP), Cc'ed to Kbuild ML (Ilpo), dropped RFC marker
> > > > >
> > > > > Note to Kbuild people: TBH I rather want to have something like this
> > > > > to be available on the level of Kbuild for any of the subdirectories
> > > > > in question.
> > > >
> > > > Anyone, any comments on this?
> > > > This already passed a CI tests without failure so far. Perhaps it's good
> > > > to apply to show the demand of such a feature in Kbuild in the future?
> > > > Because I want to do the same for various */tests/ folders where we have
> > > > tons of test*, *kunit modules effectively duplicating the folder name.
> > > 
> > > I do not like what you are doing here,
> > 
> > That's why the question is to Kbuild if it's possible to have this feature
> > available treewide for users in a form that you like?
> > 
> > > but it is up to you whatever you do in Makefiles you maintain.
> > 
> > Thanks! Ilpo, what do you think about applying this in its current form?
> 
> I applied this patch now to review-ilpo branch. Hopefully we'll one day
> have a generic mechanism for this but until then this will have to do.

Yeah, that's what I want to have as well...

Thanks!
diff mbox series

Patch

diff --git a/drivers/platform/x86/intel/Makefile b/drivers/platform/x86/intel/Makefile
index 74db065c82d6..78acb414e154 100644
--- a/drivers/platform/x86/intel/Makefile
+++ b/drivers/platform/x86/intel/Makefile
@@ -17,50 +17,40 @@  obj-$(CONFIG_INTEL_UNCORE_FREQ_CONTROL)	+= uncore-frequency/
 
 
 # Intel input drivers
-intel-hid-y				:= hid.o
-obj-$(CONFIG_INTEL_HID_EVENT)		+= intel-hid.o
-intel-vbtn-y				:= vbtn.o
-obj-$(CONFIG_INTEL_VBTN)		+= intel-vbtn.o
+intel-target-$(CONFIG_INTEL_HID_EVENT)		+= hid.o
+intel-target-$(CONFIG_INTEL_VBTN)		+= vbtn.o
 
 # Intel miscellaneous drivers
-obj-$(CONFIG_INTEL_ISHTP_ECLITE)	+= ishtp_eclite.o
-intel_int0002_vgpio-y			:= int0002_vgpio.o
-obj-$(CONFIG_INTEL_INT0002_VGPIO)	+= intel_int0002_vgpio.o
-intel_oaktrail-y			:= oaktrail.o
-obj-$(CONFIG_INTEL_OAKTRAIL)		+= intel_oaktrail.o
-intel_sdsi-y				:= sdsi.o
-obj-$(CONFIG_INTEL_SDSI)		+= intel_sdsi.o
-intel_vsec-y				:= vsec.o
-obj-$(CONFIG_INTEL_VSEC)		+= intel_vsec.o
+intel-target-$(CONFIG_INTEL_INT0002_VGPIO)	+= int0002_vgpio.o
+intel-target-$(CONFIG_INTEL_ISHTP_ECLITE)	+= ishtp_eclite.o
+intel-target-$(CONFIG_INTEL_OAKTRAIL)		+= oaktrail.o
+intel-target-$(CONFIG_INTEL_SDSI)		+= sdsi.o
+intel-target-$(CONFIG_INTEL_VSEC)		+= vsec.o
 
 # Intel PMIC / PMC / P-Unit drivers
-intel_bxtwc_tmu-y			:= bxtwc_tmu.o
-obj-$(CONFIG_INTEL_BXTWC_PMIC_TMU)	+= intel_bxtwc_tmu.o
-intel_crystal_cove_charger-y		:= crystal_cove_charger.o
-obj-$(CONFIG_X86_ANDROID_TABLETS)	+= intel_crystal_cove_charger.o
-intel_bytcrc_pwrsrc-y			:= bytcrc_pwrsrc.o
-obj-$(CONFIG_INTEL_BYTCRC_PWRSRC)	+= intel_bytcrc_pwrsrc.o
-intel_chtdc_ti_pwrbtn-y			:= chtdc_ti_pwrbtn.o
-obj-$(CONFIG_INTEL_CHTDC_TI_PWRBTN)	+= intel_chtdc_ti_pwrbtn.o
-intel_chtwc_int33fe-y			:= chtwc_int33fe.o
-obj-$(CONFIG_INTEL_CHTWC_INT33FE)	+= intel_chtwc_int33fe.o
-intel_mrfld_pwrbtn-y			:= mrfld_pwrbtn.o
-obj-$(CONFIG_INTEL_MRFLD_PWRBTN)	+= intel_mrfld_pwrbtn.o
-intel_punit_ipc-y			:= punit_ipc.o
-obj-$(CONFIG_INTEL_PUNIT_IPC)		+= intel_punit_ipc.o
+intel-target-$(CONFIG_INTEL_BYTCRC_PWRSRC)	+= bytcrc_pwrsrc.o
+intel-target-$(CONFIG_INTEL_BXTWC_PMIC_TMU)	+= bxtwc_tmu.o
+intel-target-$(CONFIG_INTEL_CHTDC_TI_PWRBTN)	+= chtdc_ti_pwrbtn.o
+intel-target-$(CONFIG_INTEL_CHTWC_INT33FE)	+= chtwc_int33fe.o
+intel-target-$(CONFIG_X86_ANDROID_TABLETS)	+= crystal_cove_charger.o
+intel-target-$(CONFIG_INTEL_MRFLD_PWRBTN)	+= mrfld_pwrbtn.o
+intel-target-$(CONFIG_INTEL_PUNIT_IPC)		+= punit_ipc.o
 
 # TPMI drivers
-intel_vsec_tpmi-y			:= tpmi.o
-obj-$(CONFIG_INTEL_TPMI)		+= intel_vsec_tpmi.o
-obj-$(CONFIG_INTEL_PLR_TPMI)		+= intel_plr_tpmi.o
-
-intel_tpmi_power_domains-y		:= tpmi_power_domains.o
-obj-$(CONFIG_INTEL_TPMI_POWER_DOMAINS)	+= intel_tpmi_power_domains.o
+intel-target-$(CONFIG_INTEL_PLR_TPMI)		+= plr_tpmi.o
+intel-target-$(CONFIG_INTEL_TPMI_POWER_DOMAINS)	+= tpmi_power_domains.o
+intel-target-$(CONFIG_INTEL_TPMI)		+= vsec_tpmi.o
 
 # Intel Uncore drivers
-intel-rst-y				:= rst.o
-obj-$(CONFIG_INTEL_RST)			+= intel-rst.o
-intel-smartconnect-y			:= smartconnect.o
-obj-$(CONFIG_INTEL_SMARTCONNECT)	+= intel-smartconnect.o
-intel_turbo_max_3-y			:= turbo_max_3.o
-obj-$(CONFIG_INTEL_TURBO_MAX_3)		+= intel_turbo_max_3.o
+intel-target-$(CONFIG_INTEL_RST)		+= rst.o
+intel-target-$(CONFIG_INTEL_SMARTCONNECT)	+= smartconnect.o
+intel-target-$(CONFIG_INTEL_TURBO_MAX_3)	+= turbo_max_3.o
+
+# Add 'intel' prefix to each module listed in intel-target-*
+define INTEL_OBJ_TARGET
+intel-$(1)-y := $(1).o
+obj-$(2) += intel-$(1).o
+endef
+
+$(foreach target, $(basename $(intel-target-y)), $(eval $(call INTEL_OBJ_TARGET,$(target),y)))
+$(foreach target, $(basename $(intel-target-m)), $(eval $(call INTEL_OBJ_TARGET,$(target),m)))
diff --git a/drivers/platform/x86/intel/intel_plr_tpmi.c b/drivers/platform/x86/intel/plr_tpmi.c
similarity index 100%
rename from drivers/platform/x86/intel/intel_plr_tpmi.c
rename to drivers/platform/x86/intel/plr_tpmi.c
diff --git a/drivers/platform/x86/intel/tpmi.c b/drivers/platform/x86/intel/vsec_tpmi.c
similarity index 99%
rename from drivers/platform/x86/intel/tpmi.c
rename to drivers/platform/x86/intel/vsec_tpmi.c
index 486ddc9b3592..c637e32048a3 100644
--- a/drivers/platform/x86/intel/tpmi.c
+++ b/drivers/platform/x86/intel/vsec_tpmi.c
@@ -1,6 +1,6 @@ 
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * intel-tpmi : Driver to enumerate TPMI features and create devices
+ * Driver to enumerate TPMI features and create devices
  *
  * Copyright (c) 2023, Intel Corporation.
  * All Rights Reserved.