linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Lost fixes?
@ 2012-03-15 10:28 Russell King - ARM Linux
  2012-03-15 10:30 ` [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations Russell King
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Russell King - ARM Linux @ 2012-03-15 10:28 UTC (permalink / raw)
  To: linux-arm-kernel

These fixes are a collection from other people which resolve various
issues found with the new kautobuilder.  They're now a month old, and
as far as I can see, have not been merged into Linus' tree.

What's the status of them, and when are they going to be merged?

Thanks.

 arch/arm/mach-omap2/Makefile                 |    5 +----
 arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c |    2 +-
 arch/arm/mach-omap2/clock.c                  |    2 +-
 arch/arm/mach-omap2/clock.h                  |    2 +-
 arch/arm/mach-omap2/smartreflex.c            |    2 +-
 arch/arm/plat-omap/clock.c                   |    2 +-
 arch/arm/plat-omap/dma.c                     |    2 +-
 arch/arm/plat-omap/include/plat/clock.h      |    4 ++--
 drivers/cpufreq/Kconfig.arm                  |    6 ++++++
 drivers/cpufreq/Makefile                     |    2 +-
 drivers/mfd/da9052-spi.c                     |    4 ++--
 kernel/irq/chip.c                            |    3 +--
 12 files changed, 19 insertions(+), 17 deletions(-)

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

* [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations
  2012-03-15 10:28 Lost fixes? Russell King - ARM Linux
@ 2012-03-15 10:30 ` Russell King
  2012-03-15 11:06   ` Jean Pihet
  2012-03-15 10:30 ` [PATCH 5/6] ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built Paul Walmsley
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Russell King @ 2012-03-15 10:30 UTC (permalink / raw)
  To: linux-arm-kernel

Missing __devexit_p() annotations in driver structures for remove functions
marked with __devexit is waiting for build errors to happen, such as:

`omap_system_dma_remove' referenced in section `.data' of arch/arm/plat-omap/bui
lt-in.o: defined in discarded section `.devexit.text' of arch/arm/plat-omap/buil
t-in.o

Add the necessary annotation, and as a result of audit, fix others which
are also missing in arch/arm/*omap*.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/smartreflex.c |    2 +-
 arch/arm/plat-omap/dma.c          |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
index 7e755bb..47c77a1 100644
--- a/arch/arm/mach-omap2/smartreflex.c
+++ b/arch/arm/mach-omap2/smartreflex.c
@@ -1012,7 +1012,7 @@ static int __devexit omap_sr_remove(struct platform_device *pdev)
 }
 
 static struct platform_driver smartreflex_driver = {
-	.remove         = omap_sr_remove,
+	.remove         = __devexit_p(omap_sr_remove),
 	.driver		= {
 		.name	= "smartreflex",
 	},
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 002fb4d..cb856fe 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -2125,7 +2125,7 @@ static int __devexit omap_system_dma_remove(struct platform_device *pdev)
 
 static struct platform_driver omap_system_dma_driver = {
 	.probe		= omap_system_dma_probe,
-	.remove		= omap_system_dma_remove,
+	.remove		= __devexit_p(omap_system_dma_remove),
 	.driver		= {
 		.name	= "omap_dma_system"
 	},
-- 
1.7.4.4

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

* [PATCH 5/6] ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built
  2012-03-15 10:28 Lost fixes? Russell King - ARM Linux
  2012-03-15 10:30 ` [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations Russell King
@ 2012-03-15 10:30 ` Paul Walmsley
  2012-03-15 16:56   ` Tony Lindgren
  2012-03-15 10:31 ` [PATCH 6/6] ARM: OMAP: fix cpufreq build Russell King
  2012-03-15 10:44 ` Lost fixes? Samuel Ortiz
  3 siblings, 1 reply; 12+ messages in thread
From: Paul Walmsley @ 2012-03-15 10:30 UTC (permalink / raw)
  To: linux-arm-kernel

During kernel init, we reset all IP blocks on the OMAP that we can,
even if there is no driver compiled for that IP block.  Unlike most IP
blocks, the I2C block requires some extra programming for this to
work.  This reset code is incorrectly omitted when the I2C driver is
deselected.  In this circumstance, the build breaks.  Fix by compiling
the I2C reset code unconditionally.

Problem reported by Russell King <linux@arm.linux.org.uk>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/mach-omap2/Makefile |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index bd76394..56a6e98 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -4,7 +4,7 @@
 
 # Common support
 obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer.o pm.o \
-	 common.o gpio.o dma.o wd_timer.o display.o
+	 common.o gpio.o dma.o wd_timer.o display.o i2c.o
 
 omap-2-3-common				= irq.o sdrc.o
 hwmod-common				= omap_hwmod.o \
@@ -182,9 +182,6 @@ obj-$(CONFIG_OMAP_IOMMU)		+= iommu2.o
 iommu-$(CONFIG_OMAP_IOMMU)		:= omap-iommu.o
 obj-y					+= $(iommu-m) $(iommu-y)
 
-i2c-omap-$(CONFIG_I2C_OMAP)		:= i2c.o
-obj-y					+= $(i2c-omap-m) $(i2c-omap-y)
-
 ifneq ($(CONFIG_TIDSPBRIDGE),)
 obj-y					+= dsp.o
 endif
-- 
1.7.4.4

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

* [PATCH 6/6] ARM: OMAP: fix cpufreq build
  2012-03-15 10:28 Lost fixes? Russell King - ARM Linux
  2012-03-15 10:30 ` [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations Russell King
  2012-03-15 10:30 ` [PATCH 5/6] ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built Paul Walmsley
@ 2012-03-15 10:31 ` Russell King
  2012-03-15 17:10   ` Kevin Hilman
  2012-03-26  8:32   ` Russell King - ARM Linux
  2012-03-15 10:44 ` Lost fixes? Samuel Ortiz
  3 siblings, 2 replies; 12+ messages in thread
From: Russell King @ 2012-03-15 10:31 UTC (permalink / raw)
  To: linux-arm-kernel

OMAPs cpufreq requires the frequency table support, but nothing ensures
that this is selected.  This can result in configurations which fail to
build:

drivers/built-in.o:(.data+0x5238): undefined reference to `cpufreq_freq_attr_scaling_available_freqs'
drivers/cpufreq/omap-cpufreq.c:88: undefined reference to `cpufreq_frequency_table_target'
drivers/cpufreq/omap-cpufreq.c:60: undefined reference to `cpufreq_frequency_table_verify'
drivers/cpufreq/omap-cpufreq.c:186: undefined reference to `cpufreq_frequency_table_cpuinfo'
drivers/cpufreq/omap-cpufreq.c:190: undefined reference to `cpufreq_frequency_table_get_attr'

Fix this by introducing a new configuration variable and having that
select CPU_FREQ_TABLE.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c |    2 +-
 arch/arm/mach-omap2/clock.c                  |    2 +-
 arch/arm/mach-omap2/clock.h                  |    2 +-
 arch/arm/plat-omap/clock.c                   |    2 +-
 arch/arm/plat-omap/include/plat/clock.h      |    4 ++--
 drivers/cpufreq/Kconfig.arm                  |    5 +++++
 drivers/cpufreq/Makefile                     |    2 +-
 7 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
index 39f9d5a..4705b50 100644
--- a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
+++ b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
@@ -165,7 +165,7 @@ int omap2_select_table_rate(struct clk *clk, unsigned long rate)
 	return 0;
 }
 
-#ifdef CONFIG_CPU_FREQ
+#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
 /*
  * Walk PRCM rate table and fillout cpufreq freq_table
  * XXX This should be replaced by an OPP layer in the near future
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
index f57ed5b..450feb0 100644
--- a/arch/arm/mach-omap2/clock.c
+++ b/arch/arm/mach-omap2/clock.c
@@ -536,7 +536,7 @@ struct clk_functions omap2_clk_functions = {
 	.clk_set_rate		= omap2_clk_set_rate,
 	.clk_set_parent		= omap2_clk_set_parent,
 	.clk_disable_unused	= omap2_clk_disable_unused,
-#ifdef CONFIG_CPU_FREQ
+#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
 	/* These will be removed when the OPP code is integrated */
 	.clk_init_cpufreq_table	= omap2_clk_init_cpufreq_table,
 	.clk_exit_cpufreq_table	= omap2_clk_exit_cpufreq_table,
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
index b8c2a68..f331cfc 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -146,7 +146,7 @@ extern const struct clksel_rate gpt_sys_rates[];
 extern const struct clksel_rate gfx_l3_rates[];
 extern const struct clksel_rate dsp_ick_rates[];
 
-#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_CPU_FREQ)
+#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_ARM_OMAP2PLUS_CPUFREQ)
 extern void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
 extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
 #else
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
index 567e4b5..2e2efb6 100644
--- a/arch/arm/plat-omap/clock.c
+++ b/arch/arm/plat-omap/clock.c
@@ -399,7 +399,7 @@ struct clk dummy_ck = {
 	.ops	= &clkops_null,
 };
 
-#ifdef CONFIG_CPU_FREQ
+#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
 void clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
 {
 	unsigned long flags;
diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h
index 240a7b9..879ba27 100644
--- a/arch/arm/plat-omap/include/plat/clock.h
+++ b/arch/arm/plat-omap/include/plat/clock.h
@@ -283,7 +283,7 @@ struct clk_functions {
 	void		(*clk_allow_idle)(struct clk *clk);
 	void		(*clk_deny_idle)(struct clk *clk);
 	void		(*clk_disable_unused)(struct clk *clk);
-#ifdef CONFIG_CPU_FREQ
+#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
 	void		(*clk_init_cpufreq_table)(struct cpufreq_frequency_table **);
 	void		(*clk_exit_cpufreq_table)(struct cpufreq_frequency_table **);
 #endif
@@ -301,7 +301,7 @@ extern void recalculate_root_clocks(void);
 extern unsigned long followparent_recalc(struct clk *clk);
 extern void clk_enable_init_clocks(void);
 unsigned long omap_fixed_divisor_recalc(struct clk *clk);
-#ifdef CONFIG_CPU_FREQ
+#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
 extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
 extern void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
 #endif
diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index c8bde43..74e8b55 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -2,6 +2,11 @@
 # ARM CPU Frequency scaling drivers
 #
 
+config ARM_OMAP2PLUS_CPUFREQ
+	bool
+	depends on ARCH_OMAP2PLUS
+	select CPU_FREQ_TABLE
+
 config ARM_S3C64XX_CPUFREQ
 	bool "Samsung S3C64XX"
 	depends on CPU_S3C6410
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index ac000fa..fda94c7 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -44,7 +44,7 @@ obj-$(CONFIG_ARM_S3C64XX_CPUFREQ)	+= s3c64xx-cpufreq.o
 obj-$(CONFIG_ARM_S5PV210_CPUFREQ)	+= s5pv210-cpufreq.o
 obj-$(CONFIG_ARM_EXYNOS_CPUFREQ)	+= exynos-cpufreq.o
 obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ)	+= exynos4210-cpufreq.o
-obj-$(CONFIG_ARCH_OMAP2PLUS)            += omap-cpufreq.o
+obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ)     += omap-cpufreq.o
 
 ##################################################################################
 # PowerPC platform drivers
-- 
1.7.4.4

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

* Lost fixes?
  2012-03-15 10:28 Lost fixes? Russell King - ARM Linux
                   ` (2 preceding siblings ...)
  2012-03-15 10:31 ` [PATCH 6/6] ARM: OMAP: fix cpufreq build Russell King
@ 2012-03-15 10:44 ` Samuel Ortiz
  3 siblings, 0 replies; 12+ messages in thread
From: Samuel Ortiz @ 2012-03-15 10:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Mar 15, 2012 at 10:28:45AM +0000, Russell King - ARM Linux wrote:
> These fixes are a collection from other people which resolve various
> issues found with the new kautobuilder.  They're now a month old, and
> as far as I can see, have not been merged into Linus' tree.
> 
> What's the status of them, and when are they going to be merged?
For the drivers/mfd/da9052-spi.c part: A patch from Axel Lin has been living
in my for-next branch for a while now. It's a section mismatch warning fix, so
not something I consider worth sending to Linus after the merge window is
closed. So it's queued for the next one.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

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

* [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations
  2012-03-15 10:30 ` [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations Russell King
@ 2012-03-15 11:06   ` Jean Pihet
  2012-03-15 16:59     ` Tony Lindgren
  0 siblings, 1 reply; 12+ messages in thread
From: Jean Pihet @ 2012-03-15 11:06 UTC (permalink / raw)
  To: linux-arm-kernel

Russell,

On Thu, Mar 15, 2012 at 11:30 AM, Russell King
<rmk+kernel@arm.linux.org.uk> wrote:
> Missing __devexit_p() annotations in driver structures for remove functions
> marked with __devexit is waiting for build errors to happen, such as:
>
> `omap_system_dma_remove' referenced in section `.data' of arch/arm/plat-omap/bui
> lt-in.o: defined in discarded section `.devexit.text' of arch/arm/plat-omap/buil
> t-in.o
>
> Add the necessary annotation, and as a result of audit, fix others which
> are also missing in arch/arm/*omap*.
>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Acked-by: Tony Lindgren <tony@atomide.com>
> ---
> ?arch/arm/mach-omap2/smartreflex.c | ? ?2 +-
> ?arch/arm/plat-omap/dma.c ? ? ? ? ?| ? ?2 +-
> ?2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
> index 7e755bb..47c77a1 100644
> --- a/arch/arm/mach-omap2/smartreflex.c
> +++ b/arch/arm/mach-omap2/smartreflex.c
> @@ -1012,7 +1012,7 @@ static int __devexit omap_sr_remove(struct platform_device *pdev)
> ?}
>
> ?static struct platform_driver smartreflex_driver = {
> - ? ? ? .remove ? ? ? ? = omap_sr_remove,
> + ? ? ? .remove ? ? ? ? = __devexit_p(omap_sr_remove),
> ? ? ? ?.driver ? ? ? ? = {
> ? ? ? ? ? ? ? ?.name ? = "smartreflex",
> ? ? ? ?},
Tony already has this change in his master branch, commit
149f1d5c8d2fd6879cdf93ca70f1cb745e698a1e ('ARM: OMAP2+: Fix devexit
for smartreflex when CONFIG_HOTPLUG is not set').

Jean

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

* [PATCH 5/6] ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built
  2012-03-15 10:30 ` [PATCH 5/6] ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built Paul Walmsley
@ 2012-03-15 16:56   ` Tony Lindgren
  0 siblings, 0 replies; 12+ messages in thread
From: Tony Lindgren @ 2012-03-15 16:56 UTC (permalink / raw)
  To: linux-arm-kernel

* Paul Walmsley <paul@pwsan.com> [120315 03:33]:
> During kernel init, we reset all IP blocks on the OMAP that we can,
> even if there is no driver compiled for that IP block.  Unlike most IP
> blocks, the I2C block requires some extra programming for this to
> work.  This reset code is incorrectly omitted when the I2C driver is
> deselected.  In this circumstance, the build breaks.  Fix by compiling
> the I2C reset code unconditionally.

This one is commit ed8dfd22ea2533a1b169881c3de94be8daa0e297 in
arm-soc/for-next.

Regards,

Tony

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

* [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations
  2012-03-15 11:06   ` Jean Pihet
@ 2012-03-15 16:59     ` Tony Lindgren
  0 siblings, 0 replies; 12+ messages in thread
From: Tony Lindgren @ 2012-03-15 16:59 UTC (permalink / raw)
  To: linux-arm-kernel

* Jean Pihet <jean.pihet@newoldbits.com> [120315 04:09]:
> Russell,
> 
> On Thu, Mar 15, 2012 at 11:30 AM, Russell King
> <rmk+kernel@arm.linux.org.uk> wrote:
> > Missing __devexit_p() annotations in driver structures for remove functions
> > marked with __devexit is waiting for build errors to happen, such as:
> >
> > `omap_system_dma_remove' referenced in section `.data' of arch/arm/plat-omap/bui
> > lt-in.o: defined in discarded section `.devexit.text' of arch/arm/plat-omap/buil
> > t-in.o
> >
> > Add the necessary annotation, and as a result of audit, fix others which
> > are also missing in arch/arm/*omap*.
> >
> > Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> > Acked-by: Tony Lindgren <tony@atomide.com>
> > ---
> > ?arch/arm/mach-omap2/smartreflex.c | ? ?2 +-
> > ?arch/arm/plat-omap/dma.c ? ? ? ? ?| ? ?2 +-
> > ?2 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
> > index 7e755bb..47c77a1 100644
> > --- a/arch/arm/mach-omap2/smartreflex.c
> > +++ b/arch/arm/mach-omap2/smartreflex.c
> > @@ -1012,7 +1012,7 @@ static int __devexit omap_sr_remove(struct platform_device *pdev)
> > ?}
> >
> > ?static struct platform_driver smartreflex_driver = {
> > - ? ? ? .remove ? ? ? ? = omap_sr_remove,
> > + ? ? ? .remove ? ? ? ? = __devexit_p(omap_sr_remove),
> > ? ? ? ?.driver ? ? ? ? = {
> > ? ? ? ? ? ? ? ?.name ? = "smartreflex",
> > ? ? ? ?},
> Tony already has this change in his master branch, commit
> 149f1d5c8d2fd6879cdf93ca70f1cb745e698a1e ('ARM: OMAP2+: Fix devexit
> for smartreflex when CONFIG_HOTPLUG is not set').

Also same commit in arm-soc/for-next.

Regards,

Tony

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

* [PATCH 6/6] ARM: OMAP: fix cpufreq build
  2012-03-15 10:31 ` [PATCH 6/6] ARM: OMAP: fix cpufreq build Russell King
@ 2012-03-15 17:10   ` Kevin Hilman
  2012-03-15 18:47     ` Paul Walmsley
  2012-03-26  8:32   ` Russell King - ARM Linux
  1 sibling, 1 reply; 12+ messages in thread
From: Kevin Hilman @ 2012-03-15 17:10 UTC (permalink / raw)
  To: linux-arm-kernel

Russell King <rmk+kernel@arm.linux.org.uk> writes:

> OMAPs cpufreq requires the frequency table support, but nothing ensures
> that this is selected.  This can result in configurations which fail to
> build:
>
> drivers/built-in.o:(.data+0x5238): undefined reference to `cpufreq_freq_attr_scaling_available_freqs'
> drivers/cpufreq/omap-cpufreq.c:88: undefined reference to `cpufreq_frequency_table_target'
> drivers/cpufreq/omap-cpufreq.c:60: undefined reference to `cpufreq_frequency_table_verify'
> drivers/cpufreq/omap-cpufreq.c:186: undefined reference to `cpufreq_frequency_table_cpuinfo'
> drivers/cpufreq/omap-cpufreq.c:190: undefined reference to `cpufreq_frequency_table_get_attr'
>
> Fix this by introducing a new configuration variable and having that
> select CPU_FREQ_TABLE.
>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> ---
>  arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c |    2 +-
>  arch/arm/mach-omap2/clock.c                  |    2 +-
>  arch/arm/mach-omap2/clock.h                  |    2 +-
>  arch/arm/plat-omap/clock.c                   |    2 +-
>  arch/arm/plat-omap/include/plat/clock.h      |    4 ++--

The arch/arm/* stuff is all code that has been removed, but the pull
request didn't make it in time for v3.4:

   http://www.spinics.net/lists/arm-kernel/msg164545.html

Initially, this was intended as a cleanup because it was just dead code
removal, but since we missed v3.4, maybe we should pull out 
"ARM: OMAP: clock: cleanup CPUfreq leftovers" and submit for 3.4-rc.

>  drivers/cpufreq/Kconfig.arm                  |    5 +++++
>  drivers/cpufreq/Makefile                     |    2 +-

This change was included in my CPUfreq pull request to Dave Jones.  He
has pulled it into his fixes branch[1], but I don't see it upstream.
I've just sent a mail to Dave asking about it.

Kevin

[1] git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git fixes

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

* [PATCH 6/6] ARM: OMAP: fix cpufreq build
  2012-03-15 17:10   ` Kevin Hilman
@ 2012-03-15 18:47     ` Paul Walmsley
  0 siblings, 0 replies; 12+ messages in thread
From: Paul Walmsley @ 2012-03-15 18:47 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, 15 Mar 2012, Kevin Hilman wrote:

> Initially, this was intended as a cleanup because it was just dead code
> removal, but since we missed v3.4, maybe we should pull out 
> "ARM: OMAP: clock: cleanup CPUfreq leftovers" and submit for 3.4-rc.

If it doesn't go upstream for the 3.4 merge window, I'll submit it for 
3.4-rc.


- Paul

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

* [PATCH 6/6] ARM: OMAP: fix cpufreq build
  2012-03-15 10:31 ` [PATCH 6/6] ARM: OMAP: fix cpufreq build Russell King
  2012-03-15 17:10   ` Kevin Hilman
@ 2012-03-26  8:32   ` Russell King - ARM Linux
  2012-03-26 22:07     ` Kevin Hilman
  1 sibling, 1 reply; 12+ messages in thread
From: Russell King - ARM Linux @ 2012-03-26  8:32 UTC (permalink / raw)
  To: linux-arm-kernel

Kevin,

I only just found this via the arm-soc tree, while trying to merge the
kautobuildv2 build tree.

You changed my patch and broke it:

config ARM_OMAP2PLUS_CPUFREQ
        bool "TI OMAP2+"
        default ARCH_OMAP2PLUS
        select CPU_FREQ_TABLE

So now, OMAP2 CPUFREQ is selectable on ANYTHING but it will only build
successfully on OMAP.

If you're going to change someone elses patch, do them the favour of
re-posting it back to them for comment *BEFORE* you commit it and send
it upstream, rather than making it look like they're a total tosser for
authoring a patch which fucks up other architecture builds.

Many thanks for that.

On Thu, Mar 15, 2012 at 10:31:00AM +0000, Russell King wrote:
> OMAPs cpufreq requires the frequency table support, but nothing ensures
> that this is selected.  This can result in configurations which fail to
> build:
> 
> drivers/built-in.o:(.data+0x5238): undefined reference to `cpufreq_freq_attr_scaling_available_freqs'
> drivers/cpufreq/omap-cpufreq.c:88: undefined reference to `cpufreq_frequency_table_target'
> drivers/cpufreq/omap-cpufreq.c:60: undefined reference to `cpufreq_frequency_table_verify'
> drivers/cpufreq/omap-cpufreq.c:186: undefined reference to `cpufreq_frequency_table_cpuinfo'
> drivers/cpufreq/omap-cpufreq.c:190: undefined reference to `cpufreq_frequency_table_get_attr'
> 
> Fix this by introducing a new configuration variable and having that
> select CPU_FREQ_TABLE.
> 
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> ---
>  arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c |    2 +-
>  arch/arm/mach-omap2/clock.c                  |    2 +-
>  arch/arm/mach-omap2/clock.h                  |    2 +-
>  arch/arm/plat-omap/clock.c                   |    2 +-
>  arch/arm/plat-omap/include/plat/clock.h      |    4 ++--
>  drivers/cpufreq/Kconfig.arm                  |    5 +++++
>  drivers/cpufreq/Makefile                     |    2 +-
>  7 files changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
> index 39f9d5a..4705b50 100644
> --- a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
> +++ b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
> @@ -165,7 +165,7 @@ int omap2_select_table_rate(struct clk *clk, unsigned long rate)
>  	return 0;
>  }
>  
> -#ifdef CONFIG_CPU_FREQ
> +#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
>  /*
>   * Walk PRCM rate table and fillout cpufreq freq_table
>   * XXX This should be replaced by an OPP layer in the near future
> diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
> index f57ed5b..450feb0 100644
> --- a/arch/arm/mach-omap2/clock.c
> +++ b/arch/arm/mach-omap2/clock.c
> @@ -536,7 +536,7 @@ struct clk_functions omap2_clk_functions = {
>  	.clk_set_rate		= omap2_clk_set_rate,
>  	.clk_set_parent		= omap2_clk_set_parent,
>  	.clk_disable_unused	= omap2_clk_disable_unused,
> -#ifdef CONFIG_CPU_FREQ
> +#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
>  	/* These will be removed when the OPP code is integrated */
>  	.clk_init_cpufreq_table	= omap2_clk_init_cpufreq_table,
>  	.clk_exit_cpufreq_table	= omap2_clk_exit_cpufreq_table,
> diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
> index b8c2a68..f331cfc 100644
> --- a/arch/arm/mach-omap2/clock.h
> +++ b/arch/arm/mach-omap2/clock.h
> @@ -146,7 +146,7 @@ extern const struct clksel_rate gpt_sys_rates[];
>  extern const struct clksel_rate gfx_l3_rates[];
>  extern const struct clksel_rate dsp_ick_rates[];
>  
> -#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_CPU_FREQ)
> +#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_ARM_OMAP2PLUS_CPUFREQ)
>  extern void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
>  extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
>  #else
> diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
> index 567e4b5..2e2efb6 100644
> --- a/arch/arm/plat-omap/clock.c
> +++ b/arch/arm/plat-omap/clock.c
> @@ -399,7 +399,7 @@ struct clk dummy_ck = {
>  	.ops	= &clkops_null,
>  };
>  
> -#ifdef CONFIG_CPU_FREQ
> +#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
>  void clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
>  {
>  	unsigned long flags;
> diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h
> index 240a7b9..879ba27 100644
> --- a/arch/arm/plat-omap/include/plat/clock.h
> +++ b/arch/arm/plat-omap/include/plat/clock.h
> @@ -283,7 +283,7 @@ struct clk_functions {
>  	void		(*clk_allow_idle)(struct clk *clk);
>  	void		(*clk_deny_idle)(struct clk *clk);
>  	void		(*clk_disable_unused)(struct clk *clk);
> -#ifdef CONFIG_CPU_FREQ
> +#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
>  	void		(*clk_init_cpufreq_table)(struct cpufreq_frequency_table **);
>  	void		(*clk_exit_cpufreq_table)(struct cpufreq_frequency_table **);
>  #endif
> @@ -301,7 +301,7 @@ extern void recalculate_root_clocks(void);
>  extern unsigned long followparent_recalc(struct clk *clk);
>  extern void clk_enable_init_clocks(void);
>  unsigned long omap_fixed_divisor_recalc(struct clk *clk);
> -#ifdef CONFIG_CPU_FREQ
> +#ifdef CONFIG_ARM_OMAP2PLUS_CPUFREQ
>  extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
>  extern void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
>  #endif
> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
> index c8bde43..74e8b55 100644
> --- a/drivers/cpufreq/Kconfig.arm
> +++ b/drivers/cpufreq/Kconfig.arm
> @@ -2,6 +2,11 @@
>  # ARM CPU Frequency scaling drivers
>  #
>  
> +config ARM_OMAP2PLUS_CPUFREQ
> +	bool
> +	depends on ARCH_OMAP2PLUS
> +	select CPU_FREQ_TABLE
> +
>  config ARM_S3C64XX_CPUFREQ
>  	bool "Samsung S3C64XX"
>  	depends on CPU_S3C6410
> diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
> index ac000fa..fda94c7 100644
> --- a/drivers/cpufreq/Makefile
> +++ b/drivers/cpufreq/Makefile
> @@ -44,7 +44,7 @@ obj-$(CONFIG_ARM_S3C64XX_CPUFREQ)	+= s3c64xx-cpufreq.o
>  obj-$(CONFIG_ARM_S5PV210_CPUFREQ)	+= s5pv210-cpufreq.o
>  obj-$(CONFIG_ARM_EXYNOS_CPUFREQ)	+= exynos-cpufreq.o
>  obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ)	+= exynos4210-cpufreq.o
> -obj-$(CONFIG_ARCH_OMAP2PLUS)            += omap-cpufreq.o
> +obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ)     += omap-cpufreq.o
>  
>  ##################################################################################
>  # PowerPC platform drivers
> -- 
> 1.7.4.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 6/6] ARM: OMAP: fix cpufreq build
  2012-03-26  8:32   ` Russell King - ARM Linux
@ 2012-03-26 22:07     ` Kevin Hilman
  0 siblings, 0 replies; 12+ messages in thread
From: Kevin Hilman @ 2012-03-26 22:07 UTC (permalink / raw)
  To: linux-arm-kernel

Russell King - ARM Linux <linux@arm.linux.org.uk> writes:

> Kevin,
>
> I only just found this via the arm-soc tree, while trying to merge the
> kautobuildv2 build tree.
>
> You changed my patch and broke it:
>
> config ARM_OMAP2PLUS_CPUFREQ
>         bool "TI OMAP2+"
>         default ARCH_OMAP2PLUS
>         select CPU_FREQ_TABLE
>
> So now, OMAP2 CPUFREQ is selectable on ANYTHING but it will only build
> successfully on OMAP.

Yes, I screwed it up.

I wanted it to be selectable, but majorly screwed it up and it is
certainly not randconfig friendly.

This was also pointed out by Grazvydas soon after merging[1], and I was
expecting a patch from him to remedy that, but I will take care of it
and submit a patch for v3.4-rc right away.
 
> If you're going to change someone elses patch, do them the favour of
> re-posting it back to them for comment *BEFORE* you commit it and send
> it upstream, 

I did.  On Feb 16th, I posted my modified version with you and
linux-arm-kernel Cc'd:

   http://lists.infradead.org/pipermail/linux-arm-kernel/2012-February/085053.html

and then I didn't send the pull request for this for another 3 weeks.

> rather than making it look like they're a total tosser for
> authoring a patch which fucks up other architecture builds.

/me has cache miss on tosser in American jargon cache
/me looks up in urban dictionary.

> Many thanks for that.

Many apologies.

Kevin

[1] http://marc.info/?l=linux-omap&m=133174677506294&w=2

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

end of thread, other threads:[~2012-03-26 22:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-15 10:28 Lost fixes? Russell King - ARM Linux
2012-03-15 10:30 ` [PATCH 4/6] ARM: OMAP: fix missing __devexit_p() annotations Russell King
2012-03-15 11:06   ` Jean Pihet
2012-03-15 16:59     ` Tony Lindgren
2012-03-15 10:30 ` [PATCH 5/6] ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built Paul Walmsley
2012-03-15 16:56   ` Tony Lindgren
2012-03-15 10:31 ` [PATCH 6/6] ARM: OMAP: fix cpufreq build Russell King
2012-03-15 17:10   ` Kevin Hilman
2012-03-15 18:47     ` Paul Walmsley
2012-03-26  8:32   ` Russell King - ARM Linux
2012-03-26 22:07     ` Kevin Hilman
2012-03-15 10:44 ` Lost fixes? Samuel Ortiz

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 NNTP newsgroup(s).