diff mbox

clk: nomadik: fix multiplatform problem

Message ID 1390291581-5858-1-git-send-email-linus.walleij@linaro.org
State Accepted
Commit ec6deea1a147a10baf1672dc66025a13bc259680
Headers show

Commit Message

Linus Walleij Jan. 21, 2014, 8:06 a.m. UTC
The Nomadik debugfs screws up multiplatform boots if debugfs
is enabled on the multiplatform image, since it's a simple
initcall that is unconditionally executed and reads from certain
memory locations.

Fix this by checking that the driver has been properly
initialized, so a base offset to the Nomadik SRC controller
exists, before proceeding to register debugfs files.

Reported-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/clk/clk-nomadik.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Linus Walleij Jan. 29, 2014, 8:07 a.m. UTC | #1
On Tue, Jan 21, 2014 at 9:06 AM, Linus Walleij <linus.walleij@linaro.org> wrote:

> The Nomadik debugfs screws up multiplatform boots if debugfs
> is enabled on the multiplatform image, since it's a simple
> initcall that is unconditionally executed and reads from certain
> memory locations.
>
> Fix this by checking that the driver has been properly
> initialized, so a base offset to the Nomadik SRC controller
> exists, before proceeding to register debugfs files.
>
> Reported-by: Andrew Lunn <andrew@lunn.ch>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Ping Mike, pls pick this for fixes!

Yours,
Linus Walleij
Linus Walleij Feb. 25, 2014, 9:35 p.m. UTC | #2
On Wed, Jan 29, 2014 at 9:07 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Tue, Jan 21, 2014 at 9:06 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>
>> The Nomadik debugfs screws up multiplatform boots if debugfs
>> is enabled on the multiplatform image, since it's a simple
>> initcall that is unconditionally executed and reads from certain
>> memory locations.
>>
>> Fix this by checking that the driver has been properly
>> initialized, so a base offset to the Nomadik SRC controller
>> exists, before proceeding to register debugfs files.
>>
>> Reported-by: Andrew Lunn <andrew@lunn.ch>
>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>
> Ping Mike, pls pick this for fixes!

Ping Mike, this needs to go into fixes!

ARM SoC folks: Mike seems to be busy, maybe you can pick
this patch into the ARM SoC tree instead?

Yours,
Linus Walleij
diff mbox

Patch

diff --git a/drivers/clk/clk-nomadik.c b/drivers/clk/clk-nomadik.c
index 6a934a5296bd..05e04ce0f148 100644
--- a/drivers/clk/clk-nomadik.c
+++ b/drivers/clk/clk-nomadik.c
@@ -494,6 +494,9 @@  static const struct file_operations nomadik_src_clk_debugfs_ops = {
 
 static int __init nomadik_src_clk_init_debugfs(void)
 {
+	/* Vital for multiplatform */
+	if (!src_base)
+		return -ENODEV;
 	src_pcksr0_boot = readl(src_base + SRC_PCKSR0);
 	src_pcksr1_boot = readl(src_base + SRC_PCKSR1);
 	debugfs_create_file("nomadik-src-clk", S_IFREG | S_IRUGO,