linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] clockevents: a couple of fixes 4.3
@ 2015-09-30 10:07 Daniel Lezcano
  2015-09-30 10:08 ` [PATCH 1/2] clocksource/drivers/rockchip: Fix bad NO_IRQ usage Daniel Lezcano
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Lezcano @ 2015-09-30 10:07 UTC (permalink / raw)
  To: linux-arm-kernel


Hi Thomas,

this pull request contains a couple of fixes removing the NO_IRQ usage:

  - Removed bad usage of the NO_IRQ macro which prevent to detect an 
error when calling irq_of_parse_and_map on the rockchip and keystone 
timers (Daniel Lezcano)

Thanks !

   -- Daniel


The following changes since commit eef7635a22f6b144206b5ca2f1398f637acffc4d:

   clockevents: Remove unused set_mode() callback (2015-09-14 11:00:55 
+0200)

are available in the git repository at:

   http://git.linaro.org/people/daniel.lezcano/clockevents.git 
clockevents/4.3-fixes

for you to fetch changes up to bdf7344e14d826d0df438a55fc51146d179e198d:

   clocksource/drivers/keystone: Fix bad NO_IRQ usage (2015-09-29 
14:33:51 +0200)

----------------------------------------------------------------
Daniel Lezcano (2):
       clocksource/drivers/rockchip: Fix bad NO_IRQ usage
       clocksource/drivers/keystone: Fix bad NO_IRQ usage

  drivers/clocksource/rockchip_timer.c | 2 +-
  drivers/clocksource/timer-keystone.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)

-- 
  <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] 5+ messages in thread

* [PATCH 1/2] clocksource/drivers/rockchip: Fix bad NO_IRQ usage
  2015-09-30 10:07 [GIT PULL] clockevents: a couple of fixes 4.3 Daniel Lezcano
@ 2015-09-30 10:08 ` Daniel Lezcano
  2015-09-30 10:08   ` [PATCH 2/2] clocksource/drivers/keystone: " Daniel Lezcano
  2015-09-30 10:17   ` [PATCH 1/2] clocksource/drivers/rockchip: " Caesar Wang
  0 siblings, 2 replies; 5+ messages in thread
From: Daniel Lezcano @ 2015-09-30 10:08 UTC (permalink / raw)
  To: linux-arm-kernel

The current code assumes the 'irq_of_parse_and_map' will return NO_IRQ in case
of failure. Unfortunately, the NO_IRQ is not consistent across the different
architectures and we must not rely on it.

NO_IRQ is equal to '-1' on ARM and 'irq_of_parse_and_map' returns '0' in case
of an error. Hence, the latter won't be detected and will lead to a crash.

Fix this by just checking 'irq' is different from zero.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/clocksource/rockchip_timer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clocksource/rockchip_timer.c b/drivers/clocksource/rockchip_timer.c
index bb2c2b0..d3c1742 100644
--- a/drivers/clocksource/rockchip_timer.c
+++ b/drivers/clocksource/rockchip_timer.c
@@ -148,7 +148,7 @@ static void __init rk_timer_init(struct device_node *np)
 	bc_timer.freq = clk_get_rate(timer_clk);
 
 	irq = irq_of_parse_and_map(np, 0);
-	if (irq == NO_IRQ) {
+	if (!irq) {
 		pr_err("Failed to map interrupts for '%s'\n", TIMER_NAME);
 		return;
 	}
-- 
1.9.1

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

* [PATCH 2/2] clocksource/drivers/keystone: Fix bad NO_IRQ usage
  2015-09-30 10:08 ` [PATCH 1/2] clocksource/drivers/rockchip: Fix bad NO_IRQ usage Daniel Lezcano
@ 2015-09-30 10:08   ` Daniel Lezcano
  2015-09-30 15:26     ` santosh shilimkar
  2015-09-30 10:17   ` [PATCH 1/2] clocksource/drivers/rockchip: " Caesar Wang
  1 sibling, 1 reply; 5+ messages in thread
From: Daniel Lezcano @ 2015-09-30 10:08 UTC (permalink / raw)
  To: linux-arm-kernel

The current code assumes the 'irq_of_parse_and_map' will return NO_IRQ in case
of failure. Unfortunately, the NO_IRQ is not consistent across the different
architectures and we must not rely on it.

NO_IRQ is equal to '-1' on ARM and 'irq_of_parse_and_map' returns '0' in case
of an error. Hence, the latter won't be detected and will lead to a crash.

Fix this by just checking 'irq' is different from zero.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/clocksource/timer-keystone.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clocksource/timer-keystone.c b/drivers/clocksource/timer-keystone.c
index edacf39..1cea08c 100644
--- a/drivers/clocksource/timer-keystone.c
+++ b/drivers/clocksource/timer-keystone.c
@@ -152,7 +152,7 @@ static void __init keystone_timer_init(struct device_node *np)
 	int irq, error;
 
 	irq  = irq_of_parse_and_map(np, 0);
-	if (irq == NO_IRQ) {
+	if (!irq) {
 		pr_err("%s: failed to map interrupts\n", __func__);
 		return;
 	}
-- 
1.9.1

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

* [PATCH 1/2] clocksource/drivers/rockchip: Fix bad NO_IRQ usage
  2015-09-30 10:08 ` [PATCH 1/2] clocksource/drivers/rockchip: Fix bad NO_IRQ usage Daniel Lezcano
  2015-09-30 10:08   ` [PATCH 2/2] clocksource/drivers/keystone: " Daniel Lezcano
@ 2015-09-30 10:17   ` Caesar Wang
  1 sibling, 0 replies; 5+ messages in thread
From: Caesar Wang @ 2015-09-30 10:17 UTC (permalink / raw)
  To: linux-arm-kernel



? 2015?09?30? 18:08, Daniel Lezcano ??:
> The current code assumes the 'irq_of_parse_and_map' will return NO_IRQ in case
> of failure. Unfortunately, the NO_IRQ is not consistent across the different
> architectures and we must not rely on it.
>
> NO_IRQ is equal to '-1' on ARM and 'irq_of_parse_and_map' returns '0' in case
> of an error. Hence, the latter won't be detected and will lead to a crash.
>
> Fix this by just checking 'irq' is different from zero.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>

As Per- discuss,  you can free add my test tag.

  Tested-by: Caesar Wang <wxt@rock-chips.com>

> ---
>   drivers/clocksource/rockchip_timer.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clocksource/rockchip_timer.c b/drivers/clocksource/rockchip_timer.c
> index bb2c2b0..d3c1742 100644
> --- a/drivers/clocksource/rockchip_timer.c
> +++ b/drivers/clocksource/rockchip_timer.c
> @@ -148,7 +148,7 @@ static void __init rk_timer_init(struct device_node *np)
>   	bc_timer.freq = clk_get_rate(timer_clk);
>   
>   	irq = irq_of_parse_and_map(np, 0);
> -	if (irq == NO_IRQ) {
> +	if (!irq) {
>   		pr_err("Failed to map interrupts for '%s'\n", TIMER_NAME);
>   		return;
>   	}


-- 
Thanks,
Caesar

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

* [PATCH 2/2] clocksource/drivers/keystone: Fix bad NO_IRQ usage
  2015-09-30 10:08   ` [PATCH 2/2] clocksource/drivers/keystone: " Daniel Lezcano
@ 2015-09-30 15:26     ` santosh shilimkar
  0 siblings, 0 replies; 5+ messages in thread
From: santosh shilimkar @ 2015-09-30 15:26 UTC (permalink / raw)
  To: linux-arm-kernel

On 9/30/2015 3:08 AM, Daniel Lezcano wrote:
> The current code assumes the 'irq_of_parse_and_map' will return NO_IRQ in case
> of failure. Unfortunately, the NO_IRQ is not consistent across the different
> architectures and we must not rely on it.
>
> NO_IRQ is equal to '-1' on ARM and 'irq_of_parse_and_map' returns '0' in case
> of an error. Hence, the latter won't be detected and will lead to a crash.
>
> Fix this by just checking 'irq' is different from zero.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>   drivers/clocksource/timer-keystone.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>

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

end of thread, other threads:[~2015-09-30 15:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-30 10:07 [GIT PULL] clockevents: a couple of fixes 4.3 Daniel Lezcano
2015-09-30 10:08 ` [PATCH 1/2] clocksource/drivers/rockchip: Fix bad NO_IRQ usage Daniel Lezcano
2015-09-30 10:08   ` [PATCH 2/2] clocksource/drivers/keystone: " Daniel Lezcano
2015-09-30 15:26     ` santosh shilimkar
2015-09-30 10:17   ` [PATCH 1/2] clocksource/drivers/rockchip: " Caesar Wang

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