[ARM] MXC: add clkdev support

This patch only adds general clkdev support without actually switching
any MXC architecture to clkdev.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2009-02-16 14:27:06 +01:00
parent e65fb0099f
commit d1755e3592
3 changed files with 21 additions and 0 deletions

View file

@ -47,6 +47,11 @@ static DEFINE_MUTEX(clocks_mutex);
* Standard clock functions defined in include/linux/clk.h
*-------------------------------------------------------------------------*/
/*
* All the code inside #ifndef CONFIG_COMMON_CLKDEV can be removed once all
* MXC architectures have switched to using clkdev.
*/
#ifndef CONFIG_COMMON_CLKDEV
/*
* Retrieve a clock by name.
*
@ -110,6 +115,7 @@ struct clk *clk_get(struct device *dev, const char *id)
return clk;
}
EXPORT_SYMBOL(clk_get);
#endif
static void __clk_disable(struct clk *clk)
{
@ -187,6 +193,7 @@ unsigned long clk_get_rate(struct clk *clk)
}
EXPORT_SYMBOL(clk_get_rate);
#ifndef CONFIG_COMMON_CLKDEV
/* Decrement the clock's module reference count */
void clk_put(struct clk *clk)
{
@ -194,6 +201,7 @@ void clk_put(struct clk *clk)
module_put(clk->owner);
}
EXPORT_SYMBOL(clk_put);
#endif
/* Round the requested clock rate to the nearest supported
* rate that is less than or equal to the requested rate.
@ -257,6 +265,7 @@ struct clk *clk_get_parent(struct clk *clk)
}
EXPORT_SYMBOL(clk_get_parent);
#ifndef CONFIG_COMMON_CLKDEV
/*
* Add a new clock to the clock tree.
*/
@ -327,6 +336,7 @@ static int __init mxc_setup_proc_entry(void)
}
late_initcall(mxc_setup_proc_entry);
#endif /* CONFIG_PROC_FS */
#endif
/*

View file

@ -0,0 +1,7 @@
#ifndef __ASM_MACH_CLKDEV_H
#define __ASM_MACH_CLKDEV_H
#define __clk_get(clk) ({ 1; })
#define __clk_put(clk) do { } while (0)
#endif

View file

@ -26,9 +26,13 @@
struct module;
struct clk {
#ifndef CONFIG_COMMON_CLKDEV
/* As soon as i.MX1 and i.MX31 switched to clkdev, this
* block can go away */
struct list_head node;
struct module *owner;
const char *name;
#endif
int id;
/* Source clock this clk depends on */
struct clk *parent;