/*1* arch/sh/kernel/cpu/clock.c - SuperH clock framework2*3* Copyright (C) 2005 - 2009 Paul Mundt4*5* This clock framework is derived from the OMAP version by:6*7* Copyright (C) 2004 - 2008 Nokia Corporation8* Written by Tuukka Tikkanen <[email protected]>9*10* Modified for omap shared clock framework by Tony Lindgren <[email protected]>11*12* This file is subject to the terms and conditions of the GNU General Public13* License. See the file "COPYING" in the main directory of this archive14* for more details.15*/16#include <linux/kernel.h>17#include <linux/init.h>18#include <linux/clk.h>19#include <asm/clock.h>20#include <asm/machvec.h>2122int __init clk_init(void)23{24int ret;2526ret = arch_clk_init();27if (unlikely(ret)) {28pr_err("%s: CPU clock registration failed.\n", __func__);29return ret;30}3132if (sh_mv.mv_clk_init) {33ret = sh_mv.mv_clk_init();34if (unlikely(ret)) {35pr_err("%s: machvec clock initialization failed.\n",36__func__);37return ret;38}39}4041/* Kick the child clocks.. */42recalculate_root_clocks();4344/* Enable the necessary init clocks */45clk_enable_init_clocks();4647return ret;48}4950515253