diff mbox

platform: intel_turbo_max_3: make it explicitly non-modular

Message ID 20170214003700.8978-1-paul.gortmaker@windriver.com (mailing list archive)
State Accepted, archived
Delegated to: Darren Hart
Headers show

Commit Message

Paul Gortmaker Feb. 14, 2017, 12:37 a.m. UTC
The Kconfig currently controlling compilation of this code is:

drivers/platform/x86/Kconfig:config INTEL_TURBO_MAX_3
drivers/platform/x86/Kconfig:   bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"

...meaning that it currently is not being built as a module by anyone.

Lets remove the couple traces of modular infrastructure use, so that
when reading the driver there is no doubt it is builtin-only.

Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

We also delete the MODULE_LICENSE tag etc. since all that information
was (or is now) contained at the top of the file in the comments.

We do uncover some implicit includes during build coverage that
were hidden behind the module.h which pulls in a lot of dependants.

Cc: Darren Hart <dvhart@infradead.org>
Cc: Andy Shevchenko <andy@infradead.org>
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: platform-driver-x86@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/platform/x86/intel_turbo_max_3.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

Comments

Darren Hart Feb. 17, 2017, 3:37 a.m. UTC | #1
On Mon, Feb 13, 2017 at 07:37:00PM -0500, Paul Gortmaker wrote:
> The Kconfig currently controlling compilation of this code is:
> 
> drivers/platform/x86/Kconfig:config INTEL_TURBO_MAX_3
> drivers/platform/x86/Kconfig:   bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
> 
> ...meaning that it currently is not being built as a module by anyone.
> 
> Lets remove the couple traces of modular infrastructure use, so that
> when reading the driver there is no doubt it is builtin-only.
> 
> Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
> 
> We also delete the MODULE_LICENSE tag etc. since all that information
> was (or is now) contained at the top of the file in the comments.
> 
> We do uncover some implicit includes during build coverage that
> were hidden behind the module.h which pulls in a lot of dependants.
> 

Paul, this all looks so very familiar... have we been through this before? Maybe
for another driver...

> Cc: Darren Hart <dvhart@infradead.org>
> Cc: Andy Shevchenko <andy@infradead.org>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

Srinivas, any objections?

> Cc: platform-driver-x86@vger.kernel.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
>  drivers/platform/x86/intel_turbo_max_3.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel_turbo_max_3.c b/drivers/platform/x86/intel_turbo_max_3.c
> index 0103f5b32e34..4f60d8e32a0a 100644
> --- a/drivers/platform/x86/intel_turbo_max_3.c
> +++ b/drivers/platform/x86/intel_turbo_max_3.c
> @@ -3,6 +3,8 @@
>   * Copyright (c) 2017, Intel Corporation.
>   * All rights reserved.
>   *
> + * Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> + *
>   * This program is free software; you can redistribute it and/or modify it
>   * under the terms and conditions of the GNU General Public License,
>   * version 2, as published by the Free Software Foundation.
> @@ -16,7 +18,9 @@
>  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>  
>  #include <linux/kernel.h>
> -#include <linux/module.h>
> +#include <linux/init.h>
> +#include <linux/topology.h>
> +#include <linux/workqueue.h>
>  #include <linux/cpuhotplug.h>
>  #include <linux/cpufeature.h>
>  #include <asm/cpu_device_id.h>
> @@ -123,7 +127,6 @@ static const struct x86_cpu_id itmt_legacy_cpu_ids[] = {
>  	ICPU(INTEL_FAM6_BROADWELL_X),
>  	{}
>  };
> -MODULE_DEVICE_TABLE(x86cpu, itmt_legacy_cpu_ids);
>  
>  static int __init itmt_legacy_init(void)
>  {
> @@ -146,7 +149,3 @@ static int __init itmt_legacy_init(void)
>  	return 0;
>  }
>  late_initcall(itmt_legacy_init)
> -
> -MODULE_DESCRIPTION("Intel Turbo Boost Max 3.0 enumeration driver");
> -MODULE_AUTHOR("Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>");
> -MODULE_LICENSE("GPL v2");
> -- 
> 2.11.0
> 
>
Paul Gortmaker Feb. 17, 2017, 3:42 p.m. UTC | #2
[Re: [PATCH] platform: intel_turbo_max_3: make it explicitly non-modular] On 16/02/2017 (Thu 19:37) Darren Hart wrote:

> On Mon, Feb 13, 2017 at 07:37:00PM -0500, Paul Gortmaker wrote:
> > The Kconfig currently controlling compilation of this code is:
> > 
> > drivers/platform/x86/Kconfig:config INTEL_TURBO_MAX_3
> > drivers/platform/x86/Kconfig:   bool "Intel Turbo Boost Max Technology 3.0 enumeration driver"
> > 
> > ...meaning that it currently is not being built as a module by anyone.
> > 
> > Lets remove the couple traces of modular infrastructure use, so that
> > when reading the driver there is no doubt it is builtin-only.
> > 
> > Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
> > 
> > We also delete the MODULE_LICENSE tag etc. since all that information
> > was (or is now) contained at the top of the file in the comments.
> > 
> > We do uncover some implicit includes during build coverage that
> > were hidden behind the module.h which pulls in a lot of dependants.
> > 
> 
> Paul, this all looks so very familiar... have we been through this before? Maybe
> for another driver...

Can't imagine why you'd say that....  :)

$ git log --oneline --author=Gortmaker drivers/platform
da43bf0c21e5 intel_pmic_gpio: Make explicitly non-modular
f48d1496b853 platform/olpc: Make ec explicitly non-modular
f52ab44fb748 platform/x86: Make intel_scu_ipc explicitly non-modular
1dda2b42db1b drivers/platform: Convert non-modular pdev_bus to use builtin_platform_driver

P.
--

> 
> > Cc: Darren Hart <dvhart@infradead.org>
> > Cc: Andy Shevchenko <andy@infradead.org>
> > Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> 
> Srinivas, any objections?
> 
> > Cc: platform-driver-x86@vger.kernel.org
> > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > ---
> >  drivers/platform/x86/intel_turbo_max_3.c | 11 +++++------
> >  1 file changed, 5 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/platform/x86/intel_turbo_max_3.c b/drivers/platform/x86/intel_turbo_max_3.c
> > index 0103f5b32e34..4f60d8e32a0a 100644
> > --- a/drivers/platform/x86/intel_turbo_max_3.c
> > +++ b/drivers/platform/x86/intel_turbo_max_3.c
> > @@ -3,6 +3,8 @@
> >   * Copyright (c) 2017, Intel Corporation.
> >   * All rights reserved.
> >   *
> > + * Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> > + *
> >   * This program is free software; you can redistribute it and/or modify it
> >   * under the terms and conditions of the GNU General Public License,
> >   * version 2, as published by the Free Software Foundation.
> > @@ -16,7 +18,9 @@
> >  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> >  
> >  #include <linux/kernel.h>
> > -#include <linux/module.h>
> > +#include <linux/init.h>
> > +#include <linux/topology.h>
> > +#include <linux/workqueue.h>
> >  #include <linux/cpuhotplug.h>
> >  #include <linux/cpufeature.h>
> >  #include <asm/cpu_device_id.h>
> > @@ -123,7 +127,6 @@ static const struct x86_cpu_id itmt_legacy_cpu_ids[] = {
> >  	ICPU(INTEL_FAM6_BROADWELL_X),
> >  	{}
> >  };
> > -MODULE_DEVICE_TABLE(x86cpu, itmt_legacy_cpu_ids);
> >  
> >  static int __init itmt_legacy_init(void)
> >  {
> > @@ -146,7 +149,3 @@ static int __init itmt_legacy_init(void)
> >  	return 0;
> >  }
> >  late_initcall(itmt_legacy_init)
> > -
> > -MODULE_DESCRIPTION("Intel Turbo Boost Max 3.0 enumeration driver");
> > -MODULE_AUTHOR("Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>");
> > -MODULE_LICENSE("GPL v2");
> > -- 
> > 2.11.0
> > 
> > 
> 
> -- 
> Darren Hart
> Intel Open Source Technology Center
Srinivas Pandruvada Feb. 20, 2017, 3:55 p.m. UTC | #3
On Thu, 2017-02-16 at 19:37 -0800, Darren Hart wrote:
> On Mon, Feb 13, 2017 at 07:37:00PM -0500, Paul Gortmaker wrote:
> > The Kconfig currently controlling compilation of this code is:
> > 
> > drivers/platform/x86/Kconfig:config INTEL_TURBO_MAX_3
> > drivers/platform/x86/Kconfig:   bool "Intel Turbo Boost Max
> > Technology 3.0 enumeration driver"
> > 
> > ...meaning that it currently is not being built as a module by
> > anyone.
> > 
> > Lets remove the couple traces of modular infrastructure use, so
> > that
> > when reading the driver there is no doubt it is builtin-only.
> > 
> > Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
> > 
> > We also delete the MODULE_LICENSE tag etc. since all that
> > information
> > was (or is now) contained at the top of the file in the comments.
> > 
> > We do uncover some implicit includes during build coverage that
> > were hidden behind the module.h which pulls in a lot of dependants.
> > 
> 
> Paul, this all looks so very familiar... have we been through this
> before? Maybe
> for another driver...
> 
> > Cc: Darren Hart <dvhart@infradead.org>
> > Cc: Andy Shevchenko <andy@infradead.org>
> > Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> 
> Srinivas, any objections?
This module can be loadable just by adding EXPORT_GPL to two scheduler
function. I was hoping that someone will require those functions to be
exported.
But any way I have no objections in this case as this driver doesn't
have to be loadable at all.

Thanks,
Srinivas


> 
> > Cc: platform-driver-x86@vger.kernel.org
> > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > ---
> >  drivers/platform/x86/intel_turbo_max_3.c | 11 +++++------
> >  1 file changed, 5 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/platform/x86/intel_turbo_max_3.c
> > b/drivers/platform/x86/intel_turbo_max_3.c
> > index 0103f5b32e34..4f60d8e32a0a 100644
> > --- a/drivers/platform/x86/intel_turbo_max_3.c
> > +++ b/drivers/platform/x86/intel_turbo_max_3.c
> > @@ -3,6 +3,8 @@
> >   * Copyright (c) 2017, Intel Corporation.
> >   * All rights reserved.
> >   *
> > + * Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.co
> > m>
> > + *
> >   * This program is free software; you can redistribute it and/or
> > modify it
> >   * under the terms and conditions of the GNU General Public
> > License,
> >   * version 2, as published by the Free Software Foundation.
> > @@ -16,7 +18,9 @@
> >  #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> >  
> >  #include <linux/kernel.h>
> > -#include <linux/module.h>
> > +#include <linux/init.h>
> > +#include <linux/topology.h>
> > +#include <linux/workqueue.h>
> >  #include <linux/cpuhotplug.h>
> >  #include <linux/cpufeature.h>
> >  #include <asm/cpu_device_id.h>
> > @@ -123,7 +127,6 @@ static const struct x86_cpu_id
> > itmt_legacy_cpu_ids[] = {
> >  	ICPU(INTEL_FAM6_BROADWELL_X),
> >  	{}
> >  };
> > -MODULE_DEVICE_TABLE(x86cpu, itmt_legacy_cpu_ids);
> >  
> >  static int __init itmt_legacy_init(void)
> >  {
> > @@ -146,7 +149,3 @@ static int __init itmt_legacy_init(void)
> >  	return 0;
> >  }
> >  late_initcall(itmt_legacy_init)
> > -
> > -MODULE_DESCRIPTION("Intel Turbo Boost Max 3.0 enumeration
> > driver");
> > -MODULE_AUTHOR("Srinivas Pandruvada <srinivas.pandruvada@linux.inte
> > l.com>");
> > -MODULE_LICENSE("GPL v2");
> > -- 
> > 2.11.0
> > 
> > 
> 
>
Darren Hart Feb. 21, 2017, 6:35 p.m. UTC | #4
On Mon, Feb 20, 2017 at 07:55:45AM -0800, Srinivas Pandruvada wrote:
> On Thu, 2017-02-16 at 19:37 -0800, Darren Hart wrote:
> > On Mon, Feb 13, 2017 at 07:37:00PM -0500, Paul Gortmaker wrote:
> > > The Kconfig currently controlling compilation of this code is:
> > > 
> > > drivers/platform/x86/Kconfig:config INTEL_TURBO_MAX_3
> > > drivers/platform/x86/Kconfig:   bool "Intel Turbo Boost Max
> > > Technology 3.0 enumeration driver"
> > > 
> > > ...meaning that it currently is not being built as a module by
> > > anyone.
> > > 
> > > Lets remove the couple traces of modular infrastructure use, so
> > > that
> > > when reading the driver there is no doubt it is builtin-only.
> > > 
> > > Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
> > > 
> > > We also delete the MODULE_LICENSE tag etc. since all that
> > > information
> > > was (or is now) contained at the top of the file in the comments.
> > > 
> > > We do uncover some implicit includes during build coverage that
> > > were hidden behind the module.h which pulls in a lot of dependants.
> > > 
> > 
> > Paul, this all looks so very familiar... have we been through this
> > before? Maybe
> > for another driver...
> > 
> > > Cc: Darren Hart <dvhart@infradead.org>
> > > Cc: Andy Shevchenko <andy@infradead.org>
> > > Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> > 
> > Srinivas, any objections?
> This module can be loadable just by adding EXPORT_GPL to two scheduler
> function. I was hoping that someone will require those functions to be
> exported.
> But any way I have no objections in this case as this driver doesn't
> have to be loadable at all.

OK, merged. We can always make it a module if that becomes an option.
diff mbox

Patch

diff --git a/drivers/platform/x86/intel_turbo_max_3.c b/drivers/platform/x86/intel_turbo_max_3.c
index 0103f5b32e34..4f60d8e32a0a 100644
--- a/drivers/platform/x86/intel_turbo_max_3.c
+++ b/drivers/platform/x86/intel_turbo_max_3.c
@@ -3,6 +3,8 @@ 
  * Copyright (c) 2017, Intel Corporation.
  * All rights reserved.
  *
+ * Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
+ *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
  * version 2, as published by the Free Software Foundation.
@@ -16,7 +18,9 @@ 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #include <linux/kernel.h>
-#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/topology.h>
+#include <linux/workqueue.h>
 #include <linux/cpuhotplug.h>
 #include <linux/cpufeature.h>
 #include <asm/cpu_device_id.h>
@@ -123,7 +127,6 @@  static const struct x86_cpu_id itmt_legacy_cpu_ids[] = {
 	ICPU(INTEL_FAM6_BROADWELL_X),
 	{}
 };
-MODULE_DEVICE_TABLE(x86cpu, itmt_legacy_cpu_ids);
 
 static int __init itmt_legacy_init(void)
 {
@@ -146,7 +149,3 @@  static int __init itmt_legacy_init(void)
 	return 0;
 }
 late_initcall(itmt_legacy_init)
-
-MODULE_DESCRIPTION("Intel Turbo Boost Max 3.0 enumeration driver");
-MODULE_AUTHOR("Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>");
-MODULE_LICENSE("GPL v2");