Blame view
arch/sh/kernel/cpu/clock.c
1.13 KB
36ddf31b6
|
1 2 3 |
/* * arch/sh/kernel/cpu/clock.c - SuperH clock framework * |
b1f6cfe48
|
4 |
* Copyright (C) 2005 - 2009 Paul Mundt |
36ddf31b6
|
5 6 7 |
* * This clock framework is derived from the OMAP version by: * |
b1f6cfe48
|
8 |
* Copyright (C) 2004 - 2008 Nokia Corporation |
36ddf31b6
|
9 10 |
* Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com> * |
1d118562c
|
11 12 |
* Modified for omap shared clock framework by Tony Lindgren <tony@atomide.com> * |
36ddf31b6
|
13 14 15 16 17 18 |
* This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. */ #include <linux/kernel.h> #include <linux/init.h> |
51a5006af
|
19 |
#include <linux/clk.h> |
36ddf31b6
|
20 |
#include <asm/clock.h> |
253b0887b
|
21 |
#include <asm/machvec.h> |
36ddf31b6
|
22 |
|
36ddf31b6
|
23 24 |
int __init clk_init(void) { |
253b0887b
|
25 |
int ret; |
36ddf31b6
|
26 |
|
253b0887b
|
27 28 29 30 31 |
ret = arch_clk_init(); if (unlikely(ret)) { pr_err("%s: CPU clock registration failed. ", __func__); return ret; |
36ddf31b6
|
32 |
} |
253b0887b
|
33 34 35 36 37 38 39 40 41 |
if (sh_mv.mv_clk_init) { ret = sh_mv.mv_clk_init(); if (unlikely(ret)) { pr_err("%s: machvec clock initialization failed. ", __func__); return ret; } } |
dfbbbe929
|
42 |
|
36ddf31b6
|
43 |
/* Kick the child clocks.. */ |
b1f6cfe48
|
44 |
recalculate_root_clocks(); |
36ddf31b6
|
45 |
|
4ff29ff8e
|
46 47 |
/* Enable the necessary init clocks */ clk_enable_init_clocks(); |
36ddf31b6
|
48 49 |
return ret; } |
cedcf3366
|
50 |