From patchwork Wed May 12 14:21:24 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Magnus Damm X-Patchwork-Id: 99010 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o4CEK5F3007519 for ; Wed, 12 May 2010 14:20:16 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753307Ab0ELOUP (ORCPT ); Wed, 12 May 2010 10:20:15 -0400 Received: from mail-ew0-f216.google.com ([209.85.219.216]:32829 "EHLO mail-ew0-f216.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753218Ab0ELOUO (ORCPT ); Wed, 12 May 2010 10:20:14 -0400 Received: by mail-ew0-f216.google.com with SMTP id 8so38839ewy.28 for ; Wed, 12 May 2010 07:20:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:date:message-id :in-reply-to:references:subject; bh=7zQ5ip8Q+5Hi48RJS/qZb7E9XvKxl14KzGOut665pzs=; b=X53su2qg785YlYrqvkq2yViRy+dwtp9FTcUASJrhBj75SN6UNTljkhPwWrPF3G07/g YApuq7QhDha8LqzOwSq/1bCD7DSBWeMtVy4Ktdqc1QCYJcO0bxExo1UoEfyRm4M6ariY UY5AqXHuQSSQz6fYvCMAUJD1+kL2m+RoR3ALY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:date:message-id:in-reply-to:references:subject; b=H0cY0qUZ/lneobYS1HlSZpow4ZEYeSrRJ6h8X0nwvaxqeVOK2a4/l2wkZNeyz+5Dj6 DCxUTTEdA+7joUqNT8NPmMyWE2BGyu1nboeT2F1kdUt0arKB4ImwSOzQRefmbGQwaFzM 7LKYpskrUUfQO5XSAnP0lJ2GnZe9SkHhkV12U= Received: by 10.213.41.3 with SMTP id m3mr3199225ebe.40.1273674013773; Wed, 12 May 2010 07:20:13 -0700 (PDT) Received: from [127.0.0.1] (49.14.32.202.bf.2iij.net [202.32.14.49]) by mx.google.com with ESMTPS id 16sm112802ewy.15.2010.05.12.07.20.11 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 12 May 2010 07:20:13 -0700 (PDT) From: Magnus Damm To: linux-sh@vger.kernel.org Cc: Magnus Damm , lethal@linux-sh.org Date: Wed, 12 May 2010 23:21:24 +0900 Message-Id: <20100512142124.28459.11232.sendpatchset@t400s> In-Reply-To: <20100512142114.28459.16246.sendpatchset@t400s> References: <20100512142114.28459.16246.sendpatchset@t400s> Subject: [PATCH 01/02] ARM: mach-shmobile: Use shared clock framework Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 12 May 2010 14:20:16 +0000 (UTC) --- 0010/arch/arm/mach-shmobile/Kconfig +++ work/arch/arm/mach-shmobile/Kconfig 2010-05-12 19:44:46.000000000 +0900 @@ -102,4 +102,7 @@ config SH_TIMER_TMU endmenu +config SH_CLK_CPG + bool + endif --- 0005/arch/arm/mach-shmobile/Makefile +++ work/arch/arm/mach-shmobile/Makefile 2010-05-12 19:21:36.000000000 +0900 @@ -3,7 +3,7 @@ # # Common objects -obj-y := timer.o console.o memory.o +obj-y := timer.o console.o memory.o clock.o # CPU objects obj-$(CONFIG_ARCH_SH7367) += setup-sh7367.o clock-sh7367.o intc-sh7367.o --- 0001/arch/arm/mach-shmobile/clock-sh7367.c +++ work/arch/arm/mach-shmobile/clock-sh7367.c 2010-05-12 19:21:36.000000000 +0900 @@ -21,43 +21,9 @@ #include #include #include - -struct clk { - const char *name; - unsigned long rate; -}; - +#include #include -int __clk_get(struct clk *clk) -{ - return 1; -} -EXPORT_SYMBOL(__clk_get); - -void __clk_put(struct clk *clk) -{ -} -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 ? clk->rate : 0; -} -EXPORT_SYMBOL(clk_get_rate); - /* a static peripheral clock for now - enough to get sh-sci working */ static struct clk peripheral_clk = { .name = "peripheral_clk", --- /dev/null +++ work/arch/arm/mach-shmobile/clock.c 2010-05-12 19:21:37.000000000 +0900 @@ -0,0 +1,44 @@ +/* + * SH-Mobile Timer + * + * Copyright (C) 2010 Magnus Damm + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ +#include +#include +#include + +int __init clk_init(void) +{ + /* Kick the child clocks.. */ + recalculate_root_clocks(); + + /* Enable the necessary init clocks */ + clk_enable_init_clocks(); + + return 0; +} + +int __clk_get(struct clk *clk) +{ + return 1; +} +EXPORT_SYMBOL(__clk_get); + +void __clk_put(struct clk *clk) +{ +} +EXPORT_SYMBOL(__clk_put); --- 0005/arch/arm/mach-shmobile/include/mach/common.h +++ work/arch/arm/mach-shmobile/include/mach/common.h 2010-05-12 19:21:36.000000000 +0900 @@ -4,6 +4,8 @@ extern struct sys_timer shmobile_timer; extern void shmobile_setup_console(void); +extern int clk_init(void); + /* allocate contiguous memory chunk and fill in struct resource */ extern int platform_resource_setup_memory(struct platform_device *pdev, char *name, unsigned long memsize); --- 0011/drivers/sh/Makefile +++ work/drivers/sh/Makefile 2010-05-12 19:21:36.000000000 +0900 @@ -4,6 +4,6 @@ obj-$(CONFIG_SUPERHYWAY) += superhyway/ obj-$(CONFIG_MAPLE) += maple/ obj-$(CONFIG_GENERIC_GPIO) += pfc.o -obj-$(CONFIG_SUPERH) += clk.o obj-$(CONFIG_SH_CLK_CPG) += clk-cpg.o +obj-y += clk.o obj-y += intc.o