···271271 select ARM_VIC272272 select GENERIC_GPIO273273 select HAVE_CLK274274+ select COMMON_CLKDEV274275 select ARCH_REQUIRE_GPIOLIB275276 help276277 This enables support for the Cirrus EP93xx series of CPUs.
+1-1
arch/arm/mach-aaec2000/Makefile
···33#4455# Common support (must be linked before board specific support)66-obj-y += core.o clock.o66+obj-y += core.o7788# Specific board support99obj-$(CONFIG_MACH_AAED2000) += aaed2000.o
-99
arch/arm/mach-aaec2000/clock.c
···11-/*22- * linux/arch/arm/mach-aaec2000/clock.c33- *44- * Copyright (C) 2005 Nicolas Bellido Y Ortega55- *66- * Based on linux/arch/arm/mach-integrator/clock.c77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111- */1212-#include <linux/module.h>1313-#include <linux/kernel.h>1414-#include <linux/list.h>1515-#include <linux/errno.h>1616-#include <linux/err.h>1717-#include <linux/string.h>1818-#include <linux/clk.h>1919-#include <linux/mutex.h>2020-2121-#include "clock.h"2222-2323-static LIST_HEAD(clocks);2424-static DEFINE_MUTEX(clocks_mutex);2525-2626-struct clk *clk_get(struct device *dev, const char *id)2727-{2828- struct clk *p, *clk = ERR_PTR(-ENOENT);2929-3030- mutex_lock(&clocks_mutex);3131- list_for_each_entry(p, &clocks, node) {3232- if (strcmp(id, p->name) == 0 && try_module_get(p->owner)) {3333- clk = p;3434- break;3535- }3636- }3737- mutex_unlock(&clocks_mutex);3838-3939- return clk;4040-}4141-EXPORT_SYMBOL(clk_get);4242-4343-void clk_put(struct clk *clk)4444-{4545- module_put(clk->owner);4646-}4747-EXPORT_SYMBOL(clk_put);4848-4949-int clk_enable(struct clk *clk)5050-{5151- return 0;5252-}5353-EXPORT_SYMBOL(clk_enable);5454-5555-void clk_disable(struct clk *clk)5656-{5757-}5858-EXPORT_SYMBOL(clk_disable);5959-6060-unsigned long clk_get_rate(struct clk *clk)6161-{6262- return clk->rate;6363-}6464-EXPORT_SYMBOL(clk_get_rate);6565-6666-long clk_round_rate(struct clk *clk, unsigned long rate)6767-{6868- return rate;6969-}7070-EXPORT_SYMBOL(clk_round_rate);7171-7272-int clk_set_rate(struct clk *clk, unsigned long rate)7373-{7474- return 0;7575-}7676-EXPORT_SYMBOL(clk_set_rate);7777-7878-int clk_register(struct clk *clk)7979-{8080- mutex_lock(&clocks_mutex);8181- list_add(&clk->node, &clocks);8282- mutex_unlock(&clocks_mutex);8383- return 0;8484-}8585-EXPORT_SYMBOL(clk_register);8686-8787-void clk_unregister(struct clk *clk)8888-{8989- mutex_lock(&clocks_mutex);9090- list_del(&clk->node);9191- mutex_unlock(&clocks_mutex);9292-}9393-EXPORT_SYMBOL(clk_unregister);9494-9595-static int __init clk_init(void)9696-{9797- return 0;9898-}9999-arch_initcall(clk_init);
-23
arch/arm/mach-aaec2000/clock.h
···11-/*22- * linux/arch/arm/mach-aaec2000/clock.h33- *44- * Copyright (C) 2005 Nicolas Bellido Y Ortega55- *66- * Based on linux/arch/arm/mach-integrator/clock.h77- *88- * This program is free software; you can redistribute it and/or modify99- * it under the terms of the GNU General Public License version 2 as1010- * published by the Free Software Foundation.1111- */1212-struct module;1313-1414-struct clk {1515- struct list_head node;1616- unsigned long rate;1717- struct module *owner;1818- const char *name;1919- void *data;2020-};2121-2222-int clk_register(struct clk *clk);2323-void clk_unregister(struct clk *clk);