Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1470762 > unrolled thread

[PATCH 1/3] clocksource/drivers/timer-atmel-pit: Enable mck clock

Started byDaniel Lezcano <daniel.lezcano@linaro.org>
First post2016-08-26 16:30 +0200
Last post2016-08-30 12:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 1/3] clocksource/drivers/timer-atmel-pit: Enable mck clock Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-08-26 16:30 +0200
    Re: [PATCH 1/3] clocksource/drivers/timer-atmel-pit: Enable mck clock Mark Rutland <mark.rutland@arm.com> - 2016-08-30 12:00 +0200
      Re: [PATCH 1/3] clocksource/drivers/timer-atmel-pit: Enable mck clock Daniel Lezcano <daniel.lezcano@linaro.org> - 2016-08-30 12:20 +0200

#1470762 — [PATCH 1/3] clocksource/drivers/timer-atmel-pit: Enable mck clock

FromDaniel Lezcano <daniel.lezcano@linaro.org>
Date2016-08-26 16:30 +0200
Subject[PATCH 1/3] clocksource/drivers/timer-atmel-pit: Enable mck clock
Message-ID<saqiR-8az-5@gated-at.bofh.it>
From: Alexandre Belloni <alexandre.belloni@free-electrons.com>

mck is needed to get the PIT working. Explicitly prepare_enable it instead
of assuming it is enabled.

This solves an issue where the system is freezing when the ETM/ETB drivers
are enabled.

Reported-by: Olivier Schonken <olivier.schonken@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
 drivers/clocksource/timer-atmel-pit.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/clocksource/timer-atmel-pit.c b/drivers/clocksource/timer-atmel-pit.c
index 1ffac0c..3494bc5 100644
--- a/drivers/clocksource/timer-atmel-pit.c
+++ b/drivers/clocksource/timer-atmel-pit.c
@@ -261,6 +261,12 @@ static int __init at91sam926x_pit_dt_init(struct device_node *node)
 		return PTR_ERR(data->mck);
 	}
 
+	ret = clk_prepare_enable(data->mck);
+	if (ret) {
+		pr_err("Unable to enable mck\n");
+		return ret;
+	}
+
 	/* Get the interrupts property */
 	data->irq = irq_of_parse_and_map(node, 0);
 	if (!data->irq) {
-- 
1.9.1

[toc] | [next] | [standalone]


#1472377

FromMark Rutland <mark.rutland@arm.com>
Date2016-08-30 12:00 +0200
Message-ID<sbNZM-35O-13@gated-at.bofh.it>
In reply to#1470762
Hi,

On Fri, Aug 26, 2016 at 04:20:43PM +0200, Daniel Lezcano wrote:
> From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> 
> mck is needed to get the PIT working. Explicitly prepare_enable it instead
> of assuming it is enabled.
> 
> This solves an issue where the system is freezing when the ETM/ETB drivers
> are enabled.
> 
> Reported-by: Olivier Schonken <olivier.schonken@gmail.com>
> Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
> ---
>  drivers/clocksource/timer-atmel-pit.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/clocksource/timer-atmel-pit.c b/drivers/clocksource/timer-atmel-pit.c
> index 1ffac0c..3494bc5 100644
> --- a/drivers/clocksource/timer-atmel-pit.c
> +++ b/drivers/clocksource/timer-atmel-pit.c
> @@ -261,6 +261,12 @@ static int __init at91sam926x_pit_dt_init(struct device_node *node)
>  		return PTR_ERR(data->mck);
>  	}
>  
> +	ret = clk_prepare_enable(data->mck);
> +	if (ret) {
> +		pr_err("Unable to enable mck\n");
> +		return ret;
> +	}
> +

Apologies if the below is a duplicate report.

When building v4.8-rc4 multi_v7_defconfig, I get:

[mark@leverpostej:~/src/linux]% uselinaro 15.08 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j10 -s
drivers/clocksource/timer-atmel-pit.c: In function 'at91sam926x_pit_dt_init':
drivers/clocksource/timer-atmel-pit.c:264:2: error: 'ret' undeclared (first use in this function)
  ret = clk_prepare_enable(data->mck);
  ^
drivers/clocksource/timer-atmel-pit.c:264:2: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [drivers/clocksource/timer-atmel-pit.o] Error 1
make[1]: *** [drivers/clocksource] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [drivers] Error 2

As far as I can see, there's no local 'ret' variable. Locally I've fixed this
up with:

----8----
diff --git a/drivers/clocksource/timer-atmel-pit.c b/drivers/clocksource/timer-atmel-pit.c
index 3494bc5..7f0f5b2 100644
--- a/drivers/clocksource/timer-atmel-pit.c
+++ b/drivers/clocksource/timer-atmel-pit.c
@@ -240,6 +240,7 @@ static int __init at91sam926x_pit_common_init(struct pit_data *data)
 static int __init at91sam926x_pit_dt_init(struct device_node *node)
 {
        struct pit_data *data;
+       int ret;
 
        data = kzalloc(sizeof(*data), GFP_KERNEL);
        if (!data)
---->8----

Thanks,
Mark.

[toc] | [prev] | [next] | [standalone]


#1472391

FromDaniel Lezcano <daniel.lezcano@linaro.org>
Date2016-08-30 12:20 +0200
Message-ID<sbOj8-3sC-9@gated-at.bofh.it>
In reply to#1472377
On 08/30/2016 11:55 AM, Mark Rutland wrote:
> Hi,
> 
> On Fri, Aug 26, 2016 at 04:20:43PM +0200, Daniel Lezcano wrote:
>> From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
>>
>> mck is needed to get the PIT working. Explicitly prepare_enable it instead
>> of assuming it is enabled.
>>
>> This solves an issue where the system is freezing when the ETM/ETB drivers
>> are enabled.
>>
>> Reported-by: Olivier Schonken <olivier.schonken@gmail.com>
>> Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
>> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
>> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
>> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>> ---

Hi Mark,

It is fixed.

https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?h=timers/urgent&id=98744b408c757901df57fa50cbd5826245dc3a1f

Thanks for reporting the issue and for the fix.

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web