Linux-ARM-Kernel Archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] Introduce builtin_driver and use it for non-modular code
@ 2015-05-10 19:49 Paul Gortmaker
  2015-05-10 19:49 ` [PATCH 3/7] drivers/cpuidle: Convert non-modular drivers to use builtin_driver_register Paul Gortmaker
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Paul Gortmaker @ 2015-05-10 19:49 UTC (permalink / raw
  To: linux-arm-kernel

We see an increasing number of non-modular drivers using the
modular_driver() type register functions.  There are several
downsides to this (as listed in the 1st commit log), so here
we introduce similar non-modular macros for builtin drivers.

Then we convert builtin drivers (controlled by a bool Kconfig)
by making the following type of changes:

  module_platform_driver()       --->  builtin_platform_driver()
  module_platform_driver_probe() --->  builtin_platform_driver_probe().

The set of drivers that are converted here are just the ones that
showed up as relying on an implicit include of <module.h> during
a pending header cleanup.  So we convert them here vs. adding
an include of <module.h> to non-modular code to avoid compile fails.
Additonal conversions can be done asynchronously at any time.

These changes, and the pending header cleanup are a refactoring of
a larger series[1] into smaller, more easily reviewed chunks that
share a common theme.

Note to maintainers:  None of the conversion patches here can be
taken into subtrees individually, since they all rely on the 1st
patch to add the builtin macros.  But I'll add Acks as requested.

Thanks,
Paul.

[1] https://marc.info/?l=linux-kernel&m=139033951228828
---

Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Axel Lin <axel.lin@ingics.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-pm at vger.kernel.org
Cc: linux-tegra at vger.kernel.org

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 3/7] drivers/cpuidle: Convert non-modular drivers to use builtin_driver_register
  2015-05-10 19:49 [PATCH 0/7] Introduce builtin_driver and use it for non-modular code Paul Gortmaker
@ 2015-05-10 19:49 ` Paul Gortmaker
  2015-05-11 17:13   ` Daniel Lezcano
  2015-05-10 19:49 ` [PATCH 4/7] drivers/cpufreq: " Paul Gortmaker
  2015-06-03 19:09 ` [PATCH] drivers/clk: convert sunxi/clk-mod0.c " Paul Gortmaker
  2 siblings, 1 reply; 14+ messages in thread
From: Paul Gortmaker @ 2015-05-10 19:49 UTC (permalink / raw
  To: linux-arm-kernel

All these drivers are configured with Kconfig options that are
declared as bool.  Hence it is not possible for the code
to be built as modular.  However the code is currently using the
module_platform_driver() macro for driver registration.

While this currently works, we really don't want to be including
the module.h header in non-modular code, which we'll be forced
to do, pending some upcoming code relocation from init.h into
module.h.  So we fix it now by using the non-modular equivalent.

Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: linux-pm at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/cpuidle/cpuidle-at91.c    | 3 +--
 drivers/cpuidle/cpuidle-calxeda.c | 3 +--
 drivers/cpuidle/cpuidle-zynq.c    | 3 +--
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/cpuidle/cpuidle-at91.c b/drivers/cpuidle/cpuidle-at91.c
index f2446c78d87c..9c5853b6ca4a 100644
--- a/drivers/cpuidle/cpuidle-at91.c
+++ b/drivers/cpuidle/cpuidle-at91.c
@@ -62,5 +62,4 @@ static struct platform_driver at91_cpuidle_driver = {
 	},
 	.probe = at91_cpuidle_probe,
 };
-
-module_platform_driver(at91_cpuidle_driver);
+builtin_platform_driver(at91_cpuidle_driver);
diff --git a/drivers/cpuidle/cpuidle-calxeda.c b/drivers/cpuidle/cpuidle-calxeda.c
index 9445e6cc02be..c13feec89ea1 100644
--- a/drivers/cpuidle/cpuidle-calxeda.c
+++ b/drivers/cpuidle/cpuidle-calxeda.c
@@ -75,5 +75,4 @@ static struct platform_driver calxeda_cpuidle_plat_driver = {
         },
         .probe = calxeda_cpuidle_probe,
 };
-
-module_platform_driver(calxeda_cpuidle_plat_driver);
+builtin_platform_driver(calxeda_cpuidle_plat_driver);
diff --git a/drivers/cpuidle/cpuidle-zynq.c b/drivers/cpuidle/cpuidle-zynq.c
index 543292b1d38e..6f4257fc56e5 100644
--- a/drivers/cpuidle/cpuidle-zynq.c
+++ b/drivers/cpuidle/cpuidle-zynq.c
@@ -73,5 +73,4 @@ static struct platform_driver zynq_cpuidle_driver = {
 	},
 	.probe = zynq_cpuidle_probe,
 };
-
-module_platform_driver(zynq_cpuidle_driver);
+builtin_platform_driver(zynq_cpuidle_driver);
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 4/7] drivers/cpufreq: Convert non-modular drivers to use builtin_driver_register
  2015-05-10 19:49 [PATCH 0/7] Introduce builtin_driver and use it for non-modular code Paul Gortmaker
  2015-05-10 19:49 ` [PATCH 3/7] drivers/cpuidle: Convert non-modular drivers to use builtin_driver_register Paul Gortmaker
@ 2015-05-10 19:49 ` Paul Gortmaker
  2015-05-12  7:04   ` Viresh Kumar
  2015-06-03 19:09 ` [PATCH] drivers/clk: convert sunxi/clk-mod0.c " Paul Gortmaker
  2 siblings, 1 reply; 14+ messages in thread
From: Paul Gortmaker @ 2015-05-10 19:49 UTC (permalink / raw
  To: linux-arm-kernel

These files depend on Kconfig options all of which are a bool, so
we use the appropriate registration function, which avoids us
relying on an implicit inclusion of <module.h> which we are
doing currently.

While this currently works, we really don't want to be including
the module.h header in non-modular code, which we'd be forced
to do, pending some upcoming code relocation from init.h into
module.h.  So we fix it now by using the non-modular equivalent.

Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: linux-pm at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 drivers/cpufreq/exynos-cpufreq.c  | 2 +-
 drivers/cpufreq/s5pv210-cpufreq.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c
index 82d2fbb20f7e..2c2a19f035ee 100644
--- a/drivers/cpufreq/exynos-cpufreq.c
+++ b/drivers/cpufreq/exynos-cpufreq.c
@@ -236,4 +236,4 @@ static struct platform_driver exynos_cpufreq_platdrv = {
 	},
 	.probe = exynos_cpufreq_probe,
 };
-module_platform_driver(exynos_cpufreq_platdrv);
+builtin_platform_driver(exynos_cpufreq_platdrv);
diff --git a/drivers/cpufreq/s5pv210-cpufreq.c b/drivers/cpufreq/s5pv210-cpufreq.c
index b0dac7d6ba31..9e231f52150c 100644
--- a/drivers/cpufreq/s5pv210-cpufreq.c
+++ b/drivers/cpufreq/s5pv210-cpufreq.c
@@ -659,4 +659,4 @@ static struct platform_driver s5pv210_cpufreq_platdrv = {
 	},
 	.probe = s5pv210_cpufreq_probe,
 };
-module_platform_driver(s5pv210_cpufreq_platdrv);
+builtin_platform_driver(s5pv210_cpufreq_platdrv);
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 3/7] drivers/cpuidle: Convert non-modular drivers to use builtin_driver_register
  2015-05-10 19:49 ` [PATCH 3/7] drivers/cpuidle: Convert non-modular drivers to use builtin_driver_register Paul Gortmaker
@ 2015-05-11 17:13   ` Daniel Lezcano
  0 siblings, 0 replies; 14+ messages in thread
From: Daniel Lezcano @ 2015-05-11 17:13 UTC (permalink / raw
  To: linux-arm-kernel

On 05/10/2015 09:49 PM, Paul Gortmaker wrote:
> All these drivers are configured with Kconfig options that are
> declared as bool.  Hence it is not possible for the code
> to be built as modular.  However the code is currently using the
> module_platform_driver() macro for driver registration.
>
> While this currently works, we really don't want to be including
> the module.h header in non-modular code, which we'll be forced
> to do, pending some upcoming code relocation from init.h into
> module.h.  So we fix it now by using the non-modular equivalent.
>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Cc: linux-pm at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Sounds reasonable.

   -- Daniel

> ---
>   drivers/cpuidle/cpuidle-at91.c    | 3 +--
>   drivers/cpuidle/cpuidle-calxeda.c | 3 +--
>   drivers/cpuidle/cpuidle-zynq.c    | 3 +--
>   3 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle-at91.c b/drivers/cpuidle/cpuidle-at91.c
> index f2446c78d87c..9c5853b6ca4a 100644
> --- a/drivers/cpuidle/cpuidle-at91.c
> +++ b/drivers/cpuidle/cpuidle-at91.c
> @@ -62,5 +62,4 @@ static struct platform_driver at91_cpuidle_driver = {
>   	},
>   	.probe = at91_cpuidle_probe,
>   };
> -
> -module_platform_driver(at91_cpuidle_driver);
> +builtin_platform_driver(at91_cpuidle_driver);
> diff --git a/drivers/cpuidle/cpuidle-calxeda.c b/drivers/cpuidle/cpuidle-calxeda.c
> index 9445e6cc02be..c13feec89ea1 100644
> --- a/drivers/cpuidle/cpuidle-calxeda.c
> +++ b/drivers/cpuidle/cpuidle-calxeda.c
> @@ -75,5 +75,4 @@ static struct platform_driver calxeda_cpuidle_plat_driver = {
>           },
>           .probe = calxeda_cpuidle_probe,
>   };
> -
> -module_platform_driver(calxeda_cpuidle_plat_driver);
> +builtin_platform_driver(calxeda_cpuidle_plat_driver);
> diff --git a/drivers/cpuidle/cpuidle-zynq.c b/drivers/cpuidle/cpuidle-zynq.c
> index 543292b1d38e..6f4257fc56e5 100644
> --- a/drivers/cpuidle/cpuidle-zynq.c
> +++ b/drivers/cpuidle/cpuidle-zynq.c
> @@ -73,5 +73,4 @@ static struct platform_driver zynq_cpuidle_driver = {
>   	},
>   	.probe = zynq_cpuidle_probe,
>   };
> -
> -module_platform_driver(zynq_cpuidle_driver);
> +builtin_platform_driver(zynq_cpuidle_driver);
>


-- 
  <http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 4/7] drivers/cpufreq: Convert non-modular drivers to use builtin_driver_register
  2015-05-10 19:49 ` [PATCH 4/7] drivers/cpufreq: " Paul Gortmaker
@ 2015-05-12  7:04   ` Viresh Kumar
  2015-05-13  3:17     ` Paul Gortmaker
                       ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Viresh Kumar @ 2015-05-12  7:04 UTC (permalink / raw
  To: linux-arm-kernel

On 10-05-15, 15:49, Paul Gortmaker wrote:
> These files depend on Kconfig options all of which are a bool, so
> we use the appropriate registration function, which avoids us
> relying on an implicit inclusion of <module.h> which we are
> doing currently.
> 
> While this currently works, we really don't want to be including
> the module.h header in non-modular code, which we'd be forced
> to do, pending some upcoming code relocation from init.h into
> module.h.  So we fix it now by using the non-modular equivalent.
> 
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: Kukjin Kim <kgene@kernel.org>
> Cc: linux-pm at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
>  drivers/cpufreq/exynos-cpufreq.c  | 2 +-

Exynos can be compiled as a module:

drivers/cpufreq/Kconfig.arm:

config ARM_EXYNOS_CPUFREQ
	tristate "SAMSUNG EXYNOS CPUfreq Driver"
	depends on CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412 || SOC_EXYNOS5250

--
viresh

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 4/7] drivers/cpufreq: Convert non-modular drivers to use builtin_driver_register
  2015-05-12  7:04   ` Viresh Kumar
@ 2015-05-13  3:17     ` Paul Gortmaker
  2015-06-03 20:59     ` Paul Gortmaker
  2015-06-03 21:12     ` [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver Paul Gortmaker
  2 siblings, 0 replies; 14+ messages in thread
From: Paul Gortmaker @ 2015-05-13  3:17 UTC (permalink / raw
  To: linux-arm-kernel

On Tue, May 12, 2015 at 3:04 AM, Viresh Kumar <viresh.kumar@linaro.org> wrote:
> On 10-05-15, 15:49, Paul Gortmaker wrote:
>> These files depend on Kconfig options all of which are a bool, so
>> we use the appropriate registration function, which avoids us
>> relying on an implicit inclusion of <module.h> which we are
>> doing currently.
>>
>> While this currently works, we really don't want to be including
>> the module.h header in non-modular code, which we'd be forced
>> to do, pending some upcoming code relocation from init.h into
>> module.h.  So we fix it now by using the non-modular equivalent.
>>
>> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
>> Cc: Viresh Kumar <viresh.kumar@linaro.org>
>> Cc: Kukjin Kim <kgene@kernel.org>
>> Cc: linux-pm at vger.kernel.org
>> Cc: linux-arm-kernel at lists.infradead.org
>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
>> ---
>>  drivers/cpufreq/exynos-cpufreq.c  | 2 +-
>
> Exynos can be compiled as a module:
>
> drivers/cpufreq/Kconfig.arm:
>
> config ARM_EXYNOS_CPUFREQ
>         tristate "SAMSUNG EXYNOS CPUfreq Driver"
>         depends on CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412 || SOC_EXYNOS5250

Sounds like things have changed since I did the original compile
testing ; thanks for the heads-up and I will follow up with the details,
once I can re-test.

Thanks,
Paul.
--

>
> --
> viresh
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] drivers/clk: convert sunxi/clk-mod0.c to use builtin_platform_driver
  2015-05-10 19:49 [PATCH 0/7] Introduce builtin_driver and use it for non-modular code Paul Gortmaker
  2015-05-10 19:49 ` [PATCH 3/7] drivers/cpuidle: Convert non-modular drivers to use builtin_driver_register Paul Gortmaker
  2015-05-10 19:49 ` [PATCH 4/7] drivers/cpufreq: " Paul Gortmaker
@ 2015-06-03 19:09 ` Paul Gortmaker
  2015-06-04 16:21   ` Maxime Ripard
  2015-06-04 22:50   ` Stephen Boyd
  2 siblings, 2 replies; 14+ messages in thread
From: Paul Gortmaker @ 2015-06-03 19:09 UTC (permalink / raw
  To: linux-arm-kernel

This driver builds based on obj-y and hence will not ever be
modular.  Change it to use the non-modular registration so that it
won't suffer a compile fail once a header move places the modular
registration within the module.h file.

Cc: "Emilio L?pez" <emilio@elopez.com.ar>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: linux-clk at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---

[appending this to the builtin_platform_driver series of commits; see
 https://lkml.kernel.org/r/1431287385-1526-1-git-send-email-paul.gortmaker at windriver.com
 for original series posting.  The final header move can be found at:
 https://lkml.kernel.org/r/1433276168-21550-1-git-send-email-paul.gortmaker at windriver.com ]

 drivers/clk/sunxi/clk-mod0.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/sunxi/clk-mod0.c b/drivers/clk/sunxi/clk-mod0.c
index ec8f5a1fca09..9d028aec58e5 100644
--- a/drivers/clk/sunxi/clk-mod0.c
+++ b/drivers/clk/sunxi/clk-mod0.c
@@ -128,7 +128,7 @@ static struct platform_driver sun4i_a10_mod0_clk_driver = {
 	},
 	.probe = sun4i_a10_mod0_clk_probe,
 };
-module_platform_driver(sun4i_a10_mod0_clk_driver);
+builtin_platform_driver(sun4i_a10_mod0_clk_driver);
 
 static const struct factors_data sun9i_a80_mod0_data __initconst = {
 	.enable = 31,
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 4/7] drivers/cpufreq: Convert non-modular drivers to use builtin_driver_register
  2015-05-12  7:04   ` Viresh Kumar
  2015-05-13  3:17     ` Paul Gortmaker
@ 2015-06-03 20:59     ` Paul Gortmaker
  2015-06-03 21:12     ` [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver Paul Gortmaker
  2 siblings, 0 replies; 14+ messages in thread
From: Paul Gortmaker @ 2015-06-03 20:59 UTC (permalink / raw
  To: linux-arm-kernel

[Re: [PATCH 4/7] drivers/cpufreq: Convert non-modular drivers to use builtin_driver_register] On 12/05/2015 (Tue 12:34) Viresh Kumar wrote:

> On 10-05-15, 15:49, Paul Gortmaker wrote:
> > These files depend on Kconfig options all of which are a bool, so
> > we use the appropriate registration function, which avoids us
> > relying on an implicit inclusion of <module.h> which we are
> > doing currently.
> > 
> > While this currently works, we really don't want to be including
> > the module.h header in non-modular code, which we'd be forced
> > to do, pending some upcoming code relocation from init.h into
> > module.h.  So we fix it now by using the non-modular equivalent.
> > 
> > Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> > Cc: Viresh Kumar <viresh.kumar@linaro.org>
> > Cc: Kukjin Kim <kgene@kernel.org>
> > Cc: linux-pm at vger.kernel.org
> > Cc: linux-arm-kernel at lists.infradead.org
> > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > ---
> >  drivers/cpufreq/exynos-cpufreq.c  | 2 +-
> 
> Exynos can be compiled as a module:
> 
> drivers/cpufreq/Kconfig.arm:
> 
> config ARM_EXYNOS_CPUFREQ
> 	tristate "SAMSUNG EXYNOS CPUfreq Driver"
> 	depends on CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412 || SOC_EXYNOS5250

Thanks -- I think I managed to confuse myself into thinking it was
builtin always, courtesy of the "-y" in this Makefile line...

arm-exynos-cpufreq-y                    := exynos-cpufreq.o

I'll drop the exynos chunk from this patch and fix the implicit module.h
exynos usage in a new follow on patch, both to be sent shortly.

Paul.
--

> 
> --
> viresh

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver
  2015-05-12  7:04   ` Viresh Kumar
  2015-05-13  3:17     ` Paul Gortmaker
  2015-06-03 20:59     ` Paul Gortmaker
@ 2015-06-03 21:12     ` Paul Gortmaker
  2015-06-04  2:28       ` Viresh Kumar
  2015-06-15 23:50       ` Rafael J. Wysocki
  2 siblings, 2 replies; 14+ messages in thread
From: Paul Gortmaker @ 2015-06-03 21:12 UTC (permalink / raw
  To: linux-arm-kernel

This file depends on a Kconfig option which is a bool, so
we use the appropriate registration function, which avoids us
relying on an implicit inclusion of <module.h> which we are
doing currently.

While this currently works, we really don't want to be including
the module.h header in non-modular code, which we'd be forced
to do, pending some upcoming code relocation from init.h into
module.h.  So we fix it now by using the non-modular equivalent.

Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: linux-pm at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---

[v2: drop exnyos part from patch, since it really was modular and
 instead needs its implicit include fixed.]

 drivers/cpufreq/s5pv210-cpufreq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpufreq/s5pv210-cpufreq.c b/drivers/cpufreq/s5pv210-cpufreq.c
index b0dac7d6ba31..9e231f52150c 100644
--- a/drivers/cpufreq/s5pv210-cpufreq.c
+++ b/drivers/cpufreq/s5pv210-cpufreq.c
@@ -659,4 +659,4 @@ static struct platform_driver s5pv210_cpufreq_platdrv = {
 	},
 	.probe = s5pv210_cpufreq_probe,
 };
-module_platform_driver(s5pv210_cpufreq_platdrv);
+builtin_platform_driver(s5pv210_cpufreq_platdrv);
-- 
2.2.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver
  2015-06-03 21:12     ` [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver Paul Gortmaker
@ 2015-06-04  2:28       ` Viresh Kumar
  2015-06-15 23:50       ` Rafael J. Wysocki
  1 sibling, 0 replies; 14+ messages in thread
From: Viresh Kumar @ 2015-06-04  2:28 UTC (permalink / raw
  To: linux-arm-kernel

On 03-06-15, 17:12, Paul Gortmaker wrote:
> This file depends on a Kconfig option which is a bool, so
> we use the appropriate registration function, which avoids us
> relying on an implicit inclusion of <module.h> which we are
> doing currently.
> 
> While this currently works, we really don't want to be including
> the module.h header in non-modular code, which we'd be forced
> to do, pending some upcoming code relocation from init.h into
> module.h.  So we fix it now by using the non-modular equivalent.
> 
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: Kukjin Kim <kgene@kernel.org>
> Cc: linux-pm at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
> 
> [v2: drop exnyos part from patch, since it really was modular and
>  instead needs its implicit include fixed.]
> 
>  drivers/cpufreq/s5pv210-cpufreq.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/s5pv210-cpufreq.c b/drivers/cpufreq/s5pv210-cpufreq.c
> index b0dac7d6ba31..9e231f52150c 100644
> --- a/drivers/cpufreq/s5pv210-cpufreq.c
> +++ b/drivers/cpufreq/s5pv210-cpufreq.c
> @@ -659,4 +659,4 @@ static struct platform_driver s5pv210_cpufreq_platdrv = {
>  	},
>  	.probe = s5pv210_cpufreq_probe,
>  };
> -module_platform_driver(s5pv210_cpufreq_platdrv);
> +builtin_platform_driver(s5pv210_cpufreq_platdrv);

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

-- 
viresh

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] drivers/clk: convert sunxi/clk-mod0.c to use builtin_platform_driver
  2015-06-03 19:09 ` [PATCH] drivers/clk: convert sunxi/clk-mod0.c " Paul Gortmaker
@ 2015-06-04 16:21   ` Maxime Ripard
  2015-06-04 22:50   ` Stephen Boyd
  1 sibling, 0 replies; 14+ messages in thread
From: Maxime Ripard @ 2015-06-04 16:21 UTC (permalink / raw
  To: linux-arm-kernel

On Wed, Jun 03, 2015 at 03:09:38PM -0400, Paul Gortmaker wrote:
> This driver builds based on obj-y and hence will not ever be
> modular.  Change it to use the non-modular registration so that it
> won't suffer a compile fail once a header move places the modular
> registration within the module.h file.
> 
> Cc: "Emilio L?pez" <emilio@elopez.com.ar>
> Cc: Mike Turquette <mturquette@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: linux-clk at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150604/0ba0c04a/attachment.sig>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] drivers/clk: convert sunxi/clk-mod0.c to use builtin_platform_driver
  2015-06-03 19:09 ` [PATCH] drivers/clk: convert sunxi/clk-mod0.c " Paul Gortmaker
  2015-06-04 16:21   ` Maxime Ripard
@ 2015-06-04 22:50   ` Stephen Boyd
  1 sibling, 0 replies; 14+ messages in thread
From: Stephen Boyd @ 2015-06-04 22:50 UTC (permalink / raw
  To: linux-arm-kernel

On 06/03, Paul Gortmaker wrote:
> This driver builds based on obj-y and hence will not ever be
> modular.  Change it to use the non-modular registration so that it
> won't suffer a compile fail once a header move places the modular
> registration within the module.h file.
> 
> Cc: "Emilio L?pez" <emilio@elopez.com.ar>
> Cc: Mike Turquette <mturquette@linaro.org>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: linux-clk at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---

Acked-by: Stephen Boyd <sboyd@codeaurora.org>

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver
  2015-06-03 21:12     ` [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver Paul Gortmaker
  2015-06-04  2:28       ` Viresh Kumar
@ 2015-06-15 23:50       ` Rafael J. Wysocki
  2015-06-16 15:37         ` Paul Gortmaker
  1 sibling, 1 reply; 14+ messages in thread
From: Rafael J. Wysocki @ 2015-06-15 23:50 UTC (permalink / raw
  To: linux-arm-kernel

On Wednesday, June 03, 2015 05:12:46 PM Paul Gortmaker wrote:
> This file depends on a Kconfig option which is a bool, so
> we use the appropriate registration function, which avoids us
> relying on an implicit inclusion of <module.h> which we are
> doing currently.
> 
> While this currently works, we really don't want to be including
> the module.h header in non-modular code, which we'd be forced
> to do, pending some upcoming code relocation from init.h into
> module.h.  So we fix it now by using the non-modular equivalent.
> 
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: Kukjin Kim <kgene@kernel.org>
> Cc: linux-pm at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

I'm assuming that this will go in via the Samsung tree.


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver
  2015-06-15 23:50       ` Rafael J. Wysocki
@ 2015-06-16 15:37         ` Paul Gortmaker
  0 siblings, 0 replies; 14+ messages in thread
From: Paul Gortmaker @ 2015-06-16 15:37 UTC (permalink / raw
  To: linux-arm-kernel

On 15-06-15 07:50 PM, Rafael J. Wysocki wrote:
> On Wednesday, June 03, 2015 05:12:46 PM Paul Gortmaker wrote:
>> This file depends on a Kconfig option which is a bool, so
>> we use the appropriate registration function, which avoids us
>> relying on an implicit inclusion of <module.h> which we are
>> doing currently.
>>
>> While this currently works, we really don't want to be including
>> the module.h header in non-modular code, which we'd be forced
>> to do, pending some upcoming code relocation from init.h into
>> module.h.  So we fix it now by using the non-modular equivalent.
>>
>> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
>> Cc: Viresh Kumar <viresh.kumar@linaro.org>
>> Cc: Kukjin Kim <kgene@kernel.org>
>> Cc: linux-pm at vger.kernel.org
>> Cc: linux-arm-kernel at lists.infradead.org
>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> 
> I'm assuming that this will go in via the Samsung tree.

Per other patch, I'll have to keep a copy in my branch to
avoid introducing bisect compile fails into the git history.

Thanks,
Paul.


> 
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-06-16 15:37 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-10 19:49 [PATCH 0/7] Introduce builtin_driver and use it for non-modular code Paul Gortmaker
2015-05-10 19:49 ` [PATCH 3/7] drivers/cpuidle: Convert non-modular drivers to use builtin_driver_register Paul Gortmaker
2015-05-11 17:13   ` Daniel Lezcano
2015-05-10 19:49 ` [PATCH 4/7] drivers/cpufreq: " Paul Gortmaker
2015-05-12  7:04   ` Viresh Kumar
2015-05-13  3:17     ` Paul Gortmaker
2015-06-03 20:59     ` Paul Gortmaker
2015-06-03 21:12     ` [PATCH v2] drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver Paul Gortmaker
2015-06-04  2:28       ` Viresh Kumar
2015-06-15 23:50       ` Rafael J. Wysocki
2015-06-16 15:37         ` Paul Gortmaker
2015-06-03 19:09 ` [PATCH] drivers/clk: convert sunxi/clk-mod0.c " Paul Gortmaker
2015-06-04 16:21   ` Maxime Ripard
2015-06-04 22:50   ` Stephen Boyd

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).