mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 11:19:37 +00:00
[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:
parent
e65fb0099f
commit
d1755e3592
3 changed files with 21 additions and 0 deletions
|
@ -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
|
||||
|
||||
/*
|
||||
|
|
7
arch/arm/plat-mxc/include/mach/clkdev.h
Normal file
7
arch/arm/plat-mxc/include/mach/clkdev.h
Normal 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
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue