diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2014-01-21 12:06:21 +0400 |
---|---|---|
committer | Mike Turquette <mturquette@linaro.org> | 2014-02-26 23:14:44 +0400 |
commit | ec6deea1a147a10baf1672dc66025a13bc259680 (patch) | |
tree | 4ea10867339bbb006781c84a403602da865c20d1 | |
parent | 10b7cdc0084c27a312e59e80420c6aac70c64753 (diff) | |
download | linux-ec6deea1a147a10baf1672dc66025a13bc259680.tar.xz |
clk: nomadik: fix multiplatform problem
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>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
-rw-r--r-- | drivers/clk/clk-nomadik.c | 3 |
1 files changed, 3 insertions, 0 deletions
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, |