Loading arch/arm/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ config ARCH_EP93XX select ARM_VIC select GENERIC_GPIO select HAVE_CLK select COMMON_CLKDEV select ARCH_REQUIRE_GPIOLIB help This enables support for the Cirrus EP93xx series of CPUs. Loading arch/arm/mach-aaec2000/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ # # Common support (must be linked before board specific support) obj-y += core.o clock.o obj-y += core.o # Specific board support obj-$(CONFIG_MACH_AAED2000) += aaed2000.o arch/arm/mach-aaec2000/clock.cdeleted 100644 → 0 +0 −99 Original line number Diff line number Diff line /* * linux/arch/arm/mach-aaec2000/clock.c * * Copyright (C) 2005 Nicolas Bellido Y Ortega * * Based on linux/arch/arm/mach-integrator/clock.c * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include <linux/module.h> #include <linux/kernel.h> #include <linux/list.h> #include <linux/errno.h> #include <linux/err.h> #include <linux/string.h> #include <linux/clk.h> #include <linux/mutex.h> #include "clock.h" static LIST_HEAD(clocks); static DEFINE_MUTEX(clocks_mutex); struct clk *clk_get(struct device *dev, const char *id) { struct clk *p, *clk = ERR_PTR(-ENOENT); mutex_lock(&clocks_mutex); list_for_each_entry(p, &clocks, node) { if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { clk = p; break; } } mutex_unlock(&clocks_mutex); return clk; } EXPORT_SYMBOL(clk_get); void clk_put(struct clk *clk) { module_put(clk->owner); } EXPORT_SYMBOL(clk_put); int clk_enable(struct clk *clk) { return 0; } EXPORT_SYMBOL(clk_enable); void clk_disable(struct clk *clk) { } EXPORT_SYMBOL(clk_disable); unsigned long clk_get_rate(struct clk *clk) { return clk->rate; } EXPORT_SYMBOL(clk_get_rate); long clk_round_rate(struct clk *clk, unsigned long rate) { return rate; } EXPORT_SYMBOL(clk_round_rate); int clk_set_rate(struct clk *clk, unsigned long rate) { return 0; } EXPORT_SYMBOL(clk_set_rate); int clk_register(struct clk *clk) { mutex_lock(&clocks_mutex); list_add(&clk->node, &clocks); mutex_unlock(&clocks_mutex); return 0; } EXPORT_SYMBOL(clk_register); void clk_unregister(struct clk *clk) { mutex_lock(&clocks_mutex); list_del(&clk->node); mutex_unlock(&clocks_mutex); } EXPORT_SYMBOL(clk_unregister); static int __init clk_init(void) { return 0; } arch_initcall(clk_init); arch/arm/mach-aaec2000/clock.hdeleted 100644 → 0 +0 −23 Original line number Diff line number Diff line /* * linux/arch/arm/mach-aaec2000/clock.h * * Copyright (C) 2005 Nicolas Bellido Y Ortega * * Based on linux/arch/arm/mach-integrator/clock.h * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ struct module; struct clk { struct list_head node; unsigned long rate; struct module *owner; const char *name; void *data; }; int clk_register(struct clk *clk); void clk_unregister(struct clk *clk); arch/arm/mach-aaec2000/core.c +23 −6 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <linux/interrupt.h> #include <linux/timex.h> #include <linux/signal.h> #include <linux/clk.h> #include <mach/hardware.h> #include <asm/irq.h> Loading @@ -30,7 +31,6 @@ #include <asm/mach/map.h> #include "core.h" #include "clock.h" /* * Common I/O mapping: Loading Loading @@ -229,9 +229,28 @@ static struct amba_device *amba_devs[] __initdata = { &clcd_device, }; static struct clk aaec2000_clcd_clk = { .name = "CLCDCLK", }; void clk_disable(struct clk *clk) { } int clk_set_rate(struct clk *clk, unsigned long rate) { return 0; } int clk_enable(struct clk *clk) { return 0; } struct clk *clk_get(struct device *dev, const char *id) { return dev && strcmp(dev_name(dev), "mb:16") == 0 ? NULL : ERR_PTR(-ENOENT); } void clk_put(struct clk *clk) { } void __init aaec2000_set_clcd_plat_data(struct aaec2000_clcd_info *clcd) { Loading Loading @@ -265,8 +284,6 @@ static int __init aaec2000_init(void) { int i; clk_register(&aaec2000_clcd_clk); for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); Loading Loading
arch/arm/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ config ARCH_EP93XX select ARM_VIC select GENERIC_GPIO select HAVE_CLK select COMMON_CLKDEV select ARCH_REQUIRE_GPIOLIB help This enables support for the Cirrus EP93xx series of CPUs. Loading
arch/arm/mach-aaec2000/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,7 @@ # # Common support (must be linked before board specific support) obj-y += core.o clock.o obj-y += core.o # Specific board support obj-$(CONFIG_MACH_AAED2000) += aaed2000.o
arch/arm/mach-aaec2000/clock.cdeleted 100644 → 0 +0 −99 Original line number Diff line number Diff line /* * linux/arch/arm/mach-aaec2000/clock.c * * Copyright (C) 2005 Nicolas Bellido Y Ortega * * Based on linux/arch/arm/mach-integrator/clock.c * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include <linux/module.h> #include <linux/kernel.h> #include <linux/list.h> #include <linux/errno.h> #include <linux/err.h> #include <linux/string.h> #include <linux/clk.h> #include <linux/mutex.h> #include "clock.h" static LIST_HEAD(clocks); static DEFINE_MUTEX(clocks_mutex); struct clk *clk_get(struct device *dev, const char *id) { struct clk *p, *clk = ERR_PTR(-ENOENT); mutex_lock(&clocks_mutex); list_for_each_entry(p, &clocks, node) { if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) { clk = p; break; } } mutex_unlock(&clocks_mutex); return clk; } EXPORT_SYMBOL(clk_get); void clk_put(struct clk *clk) { module_put(clk->owner); } EXPORT_SYMBOL(clk_put); int clk_enable(struct clk *clk) { return 0; } EXPORT_SYMBOL(clk_enable); void clk_disable(struct clk *clk) { } EXPORT_SYMBOL(clk_disable); unsigned long clk_get_rate(struct clk *clk) { return clk->rate; } EXPORT_SYMBOL(clk_get_rate); long clk_round_rate(struct clk *clk, unsigned long rate) { return rate; } EXPORT_SYMBOL(clk_round_rate); int clk_set_rate(struct clk *clk, unsigned long rate) { return 0; } EXPORT_SYMBOL(clk_set_rate); int clk_register(struct clk *clk) { mutex_lock(&clocks_mutex); list_add(&clk->node, &clocks); mutex_unlock(&clocks_mutex); return 0; } EXPORT_SYMBOL(clk_register); void clk_unregister(struct clk *clk) { mutex_lock(&clocks_mutex); list_del(&clk->node); mutex_unlock(&clocks_mutex); } EXPORT_SYMBOL(clk_unregister); static int __init clk_init(void) { return 0; } arch_initcall(clk_init);
arch/arm/mach-aaec2000/clock.hdeleted 100644 → 0 +0 −23 Original line number Diff line number Diff line /* * linux/arch/arm/mach-aaec2000/clock.h * * Copyright (C) 2005 Nicolas Bellido Y Ortega * * Based on linux/arch/arm/mach-integrator/clock.h * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ struct module; struct clk { struct list_head node; unsigned long rate; struct module *owner; const char *name; void *data; }; int clk_register(struct clk *clk); void clk_unregister(struct clk *clk);
arch/arm/mach-aaec2000/core.c +23 −6 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <linux/interrupt.h> #include <linux/timex.h> #include <linux/signal.h> #include <linux/clk.h> #include <mach/hardware.h> #include <asm/irq.h> Loading @@ -30,7 +31,6 @@ #include <asm/mach/map.h> #include "core.h" #include "clock.h" /* * Common I/O mapping: Loading Loading @@ -229,9 +229,28 @@ static struct amba_device *amba_devs[] __initdata = { &clcd_device, }; static struct clk aaec2000_clcd_clk = { .name = "CLCDCLK", }; void clk_disable(struct clk *clk) { } int clk_set_rate(struct clk *clk, unsigned long rate) { return 0; } int clk_enable(struct clk *clk) { return 0; } struct clk *clk_get(struct device *dev, const char *id) { return dev && strcmp(dev_name(dev), "mb:16") == 0 ? NULL : ERR_PTR(-ENOENT); } void clk_put(struct clk *clk) { } void __init aaec2000_set_clcd_plat_data(struct aaec2000_clcd_info *clcd) { Loading Loading @@ -265,8 +284,6 @@ static int __init aaec2000_init(void) { int i; clk_register(&aaec2000_clcd_clk); for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { struct amba_device *d = amba_devs[i]; amba_device_register(d, &iomem_resource); Loading