From patchwork Mon Aug 8 19:14:03 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: holt@sgi.com X-Patchwork-Id: 109077 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 6FE45B6F6B for ; Tue, 9 Aug 2011 05:14:32 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751906Ab1HHTOK (ORCPT ); Mon, 8 Aug 2011 15:14:10 -0400 Received: from relay1.sgi.com ([192.48.179.29]:43690 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751257Ab1HHTOI (ORCPT ); Mon, 8 Aug 2011 15:14:08 -0400 Received: from estes.americas.sgi.com (estes.americas.sgi.com [128.162.236.10]) by relay1.corp.sgi.com (Postfix) with ESMTP id 071B88F8071; Mon, 8 Aug 2011 12:14:03 -0700 (PDT) Received: from lnx-holt.americas.sgi.com (lnx-holt.americas.sgi.com [128.162.233.109]) by estes.americas.sgi.com (Postfix) with ESMTP id BFE1470006F5; Mon, 8 Aug 2011 14:14:03 -0500 (CDT) Received: from holt by lnx-holt.americas.sgi.com with local (Exim 4.71) (envelope-from ) id 1QqVH1-0002Z3-NW; Mon, 08 Aug 2011 14:14:03 -0500 Date: Mon, 8 Aug 2011 14:14:03 -0500 From: Robin Holt To: Wolfgang Grandegger Cc: Robin Holt , socketcan-core@lists.berlios.de, netdev@vger.kernel.org, U Bhaskar-B22300 , Marc Kleine-Budde Subject: Re: [RFC 5/5] [powerpc] Implement a p1010rdb clock source. Message-ID: <20110808191403.GG4926@sgi.com> References: <20110808142153.GW4926@sgi.com> <4E3FF4B8.2010603@grandegger.com> <20110808144424.GY4926@sgi.com> <4E3FF9EA.6030601@grandegger.com> <4E3FFD5B.7080000@pengutronix.de> <4E4001E1.3030508@grandegger.com> <20110808155540.GD4926@sgi.com> <4E4008BA.6030303@grandegger.com> <20110808160810.GF4926@sgi.com> <4E402CF1.1040300@grandegger.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4E402CF1.1040300@grandegger.com> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Mon, Aug 08, 2011 at 08:37:37PM +0200, Wolfgang Grandegger wrote: > On 08/08/2011 06:08 PM, Robin Holt wrote: > > On Mon, Aug 08, 2011 at 06:03:06PM +0200, Wolfgang Grandegger wrote: > ... > > So we would stay with the clk_* functions. I assume clk_get() would > > return NULL, clk_get_rate() would just return fsl_get_sys_freq() and > > the other functions would do nothing. Doesn't this really polute what > > clk_* functions are supposed to do? Aren't we making flexcan dictate > > a different behavior for powerpc than for the arm (and possibly other) > > architectures? > > Well, I see it as one way to provide compatibility with the ARM port. If > the PowerPC people don't like it, we can switch to something else, > whatever they suggest. I have spent the last few hours and I think I found the communication problem and I think it is me. I assumed long ago we would be better off implementing a Kconfig language which does "select PPC_CLOCK". This assumption was in part because I did not understand what I was doing when I started this (still don't honestly), but I did know the freescale patch series did a select PPC_CLOCK. Here is my patch for introducing the p1010 clock source. Am I finally starting to understand your guidance? Thanks, Robin ------------------------------------------------------------------------ diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig index 498534c..ed4cf92 100644 --- a/arch/powerpc/platforms/85xx/Kconfig +++ b/arch/powerpc/platforms/85xx/Kconfig @@ -26,6 +26,10 @@ config MPC8560_ADS help This option enables support for the MPC 8560 ADS board +config 85xx_HAVE_CAN_FLEXCAN + bool + select HAVE_CAN_FLEXCAN if NET && CAN + config MPC85xx_CDS bool "Freescale MPC85xx CDS" select DEFAULT_UIMAGE @@ -70,6 +74,8 @@ config MPC85xx_RDB config P1010_RDB bool "Freescale P1010RDB" select DEFAULT_UIMAGE + select 85xx_HAVE_CAN_FLEXCAN + select PPC_CLOCK if CAN_FLEXCAN help This option enables support for the MPC85xx RDB (P1010 RDB) board diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile index a971b32..64ad7a4 100644 --- a/arch/powerpc/platforms/85xx/Makefile +++ b/arch/powerpc/platforms/85xx/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_MPC85xx_DS) += mpc85xx_ds.o obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o obj-$(CONFIG_P1010_RDB) += p1010rdb.o +obj-$(CONFIG_PPC_CLOCK) += clock.o obj-$(CONFIG_P1022_DS) += p1022_ds.o obj-$(CONFIG_P1023_RDS) += p1023_rds.o obj-$(CONFIG_P2040_RDB) += p2040_rdb.o corenet_ds.o diff --git a/arch/powerpc/platforms/85xx/p1010rdb.c b/arch/powerpc/platforms/85xx/p1010rdb.c index d7387fa..29e04d6 100644 --- a/arch/powerpc/platforms/85xx/p1010rdb.c +++ b/arch/powerpc/platforms/85xx/p1010rdb.c @@ -81,6 +81,13 @@ static void __init p1010_rdb_setup_arch(void) printk(KERN_INFO "P1010 RDB board from Freescale Semiconductor\n"); } +static void __init p1010_rdb_init(void) +{ +#ifdef PPC_CLOCK + p1010_rdb_clk_init(); +#endif +} + static struct of_device_id __initdata p1010rdb_ids[] = { { .type = "soc", }, { .compatible = "soc", }, @@ -111,6 +118,7 @@ define_machine(p1010_rdb) { .name = "P1010 RDB", .probe = p1010_rdb_probe, .setup_arch = p1010_rdb_setup_arch, + .init = p1010_rdb_init, .init_IRQ = p1010_rdb_pic_init, #ifdef CONFIG_PCI .pcibios_fixup_bus = fsl_pcibios_fixup_bus,