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, -- 1.7.2.1 _______________________________________________ Socketcan-core mailing list Socketcan-core@lists.berlios.de https://lists.berlios.de/mailman/listinfo/socketcan-core