2015-06-20 23:03:14

by Paul Gortmaker

[permalink] [raw]
Subject: [PATCH] clocksource: increase dependencies of timer-stm32 to limit build wreckage

This driver leaks out into arch/parisc builds that don't have
CONFIG_GENERIC_CLOCKEVENTS, leading to the following (truncated)
wreckage:

CC drivers/clocksource/timer-stm32.o
drivers/clocksource/timer-stm32.c:38:28: error: field 'evtdev' has incomplete type
drivers/clocksource/timer-stm32.c:44:19: warning: 'enum clock_event_mode' declared inside parameter list
drivers/clocksource/timer-stm32.c:44:19: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/clocksource/timer-stm32.c:43:62: error: parameter 1 ('mode') has incomplete type
drivers/clocksource/timer-stm32.c:43:13: error: function declaration isn't a prototype
drivers/clocksource/timer-stm32.c: In function 'stm32_clock_event_set_mode':
drivers/clocksource/timer-stm32.c:47:3: error: type defaults to 'int' in declaration of '__mptr'
drivers/clocksource/timer-stm32.c:47:3: warning: initialization from incompatible pointer type
drivers/clocksource/timer-stm32.c:51:7: error: 'CLOCK_EVT_MODE_PERIODIC' undeclared (first use in this function)
drivers/clocksource/timer-stm32.c:51:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/clocksource/timer-stm32.c:56:7: error: 'CLOCK_EVT_MODE_ONESHOT' undeclared (first use in this function)

Tighten up the dependencies to limit where it gets built by copying
the style of the Kconfig line for CLKSRC_EFM32 a few lines above.

Cc: Linus Walleij <[email protected]>
Cc: Chanwoo Choi <[email protected]>
Cc: Maxime Coquelin <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Paul Gortmaker <[email protected]>
---

[linux-next fail: http://kisskb.ellerman.id.au/kisskb/buildresult/12444884/ ]

drivers/clocksource/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 60d7d3d204d3..0f1c77e491f8 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -112,8 +112,8 @@ config CLKSRC_LPC32XX
select CLKSRC_OF

config CLKSRC_STM32
- bool "Clocksource for STM32 SoCs" if COMPILE_TEST
- depends on OF
+ bool "Clocksource for STM32 SoCs" if !ARCH_STM32
+ depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
select CLKSRC_MMIO

config ARM_ARCH_TIMER
--
2.2.1


Subject: [tip:timers/core] clocksource: Increase dependencies of timer-stm32 to limit build wreckage

Commit-ID: 1cb6c2151850584ee805fdcf088af0bb81f4b086
Gitweb: http://git.kernel.org/tip/1cb6c2151850584ee805fdcf088af0bb81f4b086
Author: Paul Gortmaker <[email protected]>
AuthorDate: Sat, 20 Jun 2015 19:02:32 -0400
Committer: Thomas Gleixner <[email protected]>
CommitDate: Sun, 21 Jun 2015 20:01:48 +0200

clocksource: Increase dependencies of timer-stm32 to limit build wreckage

This driver leaks out into arch/parisc builds that don't have
CONFIG_GENERIC_CLOCKEVENTS, leading to the following (truncated)
wreckage:

CC drivers/clocksource/timer-stm32.o
drivers/clocksource/timer-stm32.c:38:28: error: field 'evtdev' has incomplete type
drivers/clocksource/timer-stm32.c:44:19: warning: 'enum clock_event_mode' declared inside parameter list
drivers/clocksource/timer-stm32.c:44:19: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/clocksource/timer-stm32.c:43:62: error: parameter 1 ('mode') has incomplete type
drivers/clocksource/timer-stm32.c:43:13: error: function declaration isn't a prototype
drivers/clocksource/timer-stm32.c: In function 'stm32_clock_event_set_mode':
drivers/clocksource/timer-stm32.c:47:3: error: type defaults to 'int' in declaration of '__mptr'
drivers/clocksource/timer-stm32.c:47:3: warning: initialization from incompatible pointer type
drivers/clocksource/timer-stm32.c:51:7: error: 'CLOCK_EVT_MODE_PERIODIC' undeclared (first use in this function)
drivers/clocksource/timer-stm32.c:51:7: note: each undeclared identifier is reported only once for each function it appears in
drivers/clocksource/timer-stm32.c:56:7: error: 'CLOCK_EVT_MODE_ONESHOT' undeclared (first use in this function)

Tighten up the dependencies to limit where it gets built by copying
the style of the Kconfig line for CLKSRC_EFM32 a few lines above.

Signed-off-by: Paul Gortmaker <[email protected]>
Cc: Linus Walleij <[email protected]>
Cc: Chanwoo Choi <[email protected]>
Cc: Maxime Coquelin <[email protected]>
Cc: Daniel Lezcano <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
---
drivers/clocksource/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index bec25b3..32164ba 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -112,8 +112,8 @@ config CLKSRC_LPC32XX
select CLKSRC_OF

config CLKSRC_STM32
- bool "Clocksource for STM32 SoCs" if COMPILE_TEST
- depends on OF
+ bool "Clocksource for STM32 SoCs" if !ARCH_STM32
+ depends on OF && ARM && (ARCH_STM32 || COMPILE_TEST)
select CLKSRC_MMIO

config ARM_ARCH_TIMER

2015-06-22 08:05:17

by Maxime Coquelin

[permalink] [raw]
Subject: Re: [tip:timers/core] clocksource: Increase dependencies of timer-stm32 to limit build wreckage

2015-06-21 20:03 GMT+02:00 tip-bot for Paul Gortmaker <[email protected]>:
> Commit-ID: 1cb6c2151850584ee805fdcf088af0bb81f4b086
> Gitweb: http://git.kernel.org/tip/1cb6c2151850584ee805fdcf088af0bb81f4b086
> Author: Paul Gortmaker <[email protected]>
> AuthorDate: Sat, 20 Jun 2015 19:02:32 -0400
> Committer: Thomas Gleixner <[email protected]>
> CommitDate: Sun, 21 Jun 2015 20:01:48 +0200
>
> clocksource: Increase dependencies of timer-stm32 to limit build wreckage
>
> This driver leaks out into arch/parisc builds that don't have
> CONFIG_GENERIC_CLOCKEVENTS, leading to the following (truncated)
> wreckage:
>
> CC drivers/clocksource/timer-stm32.o
> drivers/clocksource/timer-stm32.c:38:28: error: field 'evtdev' has incomplete type
> drivers/clocksource/timer-stm32.c:44:19: warning: 'enum clock_event_mode' declared inside parameter list
> drivers/clocksource/timer-stm32.c:44:19: warning: its scope is only this definition or declaration, which is probably not what you want
> drivers/clocksource/timer-stm32.c:43:62: error: parameter 1 ('mode') has incomplete type
> drivers/clocksource/timer-stm32.c:43:13: error: function declaration isn't a prototype
> drivers/clocksource/timer-stm32.c: In function 'stm32_clock_event_set_mode':
> drivers/clocksource/timer-stm32.c:47:3: error: type defaults to 'int' in declaration of '__mptr'
> drivers/clocksource/timer-stm32.c:47:3: warning: initialization from incompatible pointer type
> drivers/clocksource/timer-stm32.c:51:7: error: 'CLOCK_EVT_MODE_PERIODIC' undeclared (first use in this function)
> drivers/clocksource/timer-stm32.c:51:7: note: each undeclared identifier is reported only once for each function it appears in
> drivers/clocksource/timer-stm32.c:56:7: error: 'CLOCK_EVT_MODE_ONESHOT' undeclared (first use in this function)
>
> Tighten up the dependencies to limit where it gets built by copying
> the style of the Kconfig line for CLKSRC_EFM32 a few lines above.
>
> Signed-off-by: Paul Gortmaker <[email protected]>
> Cc: Linus Walleij <[email protected]>
> Cc: Chanwoo Choi <[email protected]>
> Cc: Maxime Coquelin <[email protected]>
> Cc: Daniel Lezcano <[email protected]>
> Link: http://lkml.kernel.org/r/[email protected]
> Signed-off-by: Thomas Gleixner <[email protected]>
> ---
> drivers/clocksource/Kconfig | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>

Thanks Paul for the patch.
Actually, I already had sent a patch to fix this dependency issue [0].
I thought Daniel had pick it, but don't find it in his tree.
My patch adds a build dependency on GENERIC_CLOCKEVENTS, which I think
is the best way to fix the problem.

Regards,
Maxime

[0]: https://lkml.org/lkml/2015/6/7/47

2015-06-29 09:09:20

by Daniel Lezcano

[permalink] [raw]
Subject: Re: [tip:timers/core] clocksource: Increase dependencies of timer-stm32 to limit build wreckage

On 06/22/2015 10:05 AM, Maxime Coquelin wrote:

[ ... ]

>> ---
>> drivers/clocksource/Kconfig | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>
> Thanks Paul for the patch.
> Actually, I already had sent a patch to fix this dependency issue [0].
> I thought Daniel had pick it, but don't find it in his tree.
> My patch adds a build dependency on GENERIC_CLOCKEVENTS, which I think
> is the best way to fix the problem.

Yes, I have it in my tree but I was expecting some more fixes to pick up
in order to send a PR to Thomas.

Is it possible you send your a fix on top of this patch ? So I can drop
your initial patch.

-- Daniel


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

2015-06-30 07:46:55

by Maxime Coquelin

[permalink] [raw]
Subject: Re: [tip:timers/core] clocksource: Increase dependencies of timer-stm32 to limit build wreckage

2015-06-29 11:09 GMT+02:00 Daniel Lezcano <[email protected]>:
> On 06/22/2015 10:05 AM, Maxime Coquelin wrote:
>
> [ ... ]
>
>>> ---
>>> drivers/clocksource/Kconfig | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>
>> Thanks Paul for the patch.
>> Actually, I already had sent a patch to fix this dependency issue [0].
>> I thought Daniel had pick it, but don't find it in his tree.
>> My patch adds a build dependency on GENERIC_CLOCKEVENTS, which I think
>> is the best way to fix the problem.
>
>
> Yes, I have it in my tree but I was expecting some more fixes to pick up in
> order to send a PR to Thomas.
>
> Is it possible you send your a fix on top of this patch ? So I can drop your
> initial patch.
>

Sure. I will rebase my patch on top of Paul's one.

Thanks,
Maxime