1/* 2 * linux/arch/arm/mach-nomadik/clock.c 3 * 4 * Copyright (C) 2009 Alessandro Rubini 5 */ 6#include <linux/kernel.h> 7#include <linux/module.h> 8#include <linux/errno.h> 9#include <linux/clk.h> 10#include <asm/clkdev.h> 11#include "clock.h" 12 13/* 14 * The nomadik board uses generic clocks, but the serial pl011 file 15 * calls clk_enable(), clk_disable(), clk_get_rate(), so we provide them 16 */ 17unsigned long clk_get_rate(struct clk *clk) 18{ 19 return clk->rate; 20} 21EXPORT_SYMBOL(clk_get_rate); 22 23/* enable and disable do nothing */ 24int clk_enable(struct clk *clk) 25{ 26 return 0; 27} 28EXPORT_SYMBOL(clk_enable); 29 30void clk_disable(struct clk *clk) 31{ 32} 33EXPORT_SYMBOL(clk_disable); 34 35/* Create a clock structure with the given name */ 36int nmdk_clk_create(struct clk *clk, const char *dev_id) 37{ 38 struct clk_lookup *clkdev; 39 40 clkdev = clkdev_alloc(clk, NULL, dev_id); 41 if (!clkdev) 42 return -ENOMEM; 43 clkdev_add(clkdev); 44 return 0; 45} 46