On 16:55 Mon 05 Sep , Wu, Josh wrote: > > > On 09/03/2011 2:22 AM Jean-Christophe PLAGNIOL-VILLARD wrote: > > >> > >> #include <asm/setup.h> > >> #include <asm/mach-types.h> > >> @@ -194,6 +197,95 @@ static void __init ek_add_device_nand(void) > >> at91_add_device_nand(&ek_nand_data); > >> } > >> > >> +/* > >> + * ISI > >> + */ > >> +#if defined(CONFIG_VIDEO_ATMEL_ISI) || defined(CONFIG_VIDEO_ATMEL_ISI_MODULE) > >> +static struct isi_platform_data __initdata isi_data = { > >> + .frate = ISI_CFG1_FRATE_CAPTURE_ALL, > >> + .has_emb_sync = 0, > >> + .emb_crc_sync = 0, > >> + .hsync_act_low = 0, > >> + .vsync_act_low = 0, > >> + .pclk_act_falling = 0, > >> + /* to use codec and preview path simultaneously */ > >> + .isi_full_mode = 1, > >> + .data_width_flags = ISI_DATAWIDTH_8 | ISI_DATAWIDTH_10, > >> +}; > >> + > >> +static void __init isi_set_clk(void) > >> +{ > >> + struct clk *pck1; > >> + struct clk *plla; > >> + > >> + pck1 = clk_get(NULL, "pck1"); > >> + plla = clk_get(NULL, "plla"); > >> + > >> + clk_set_parent(pck1, plla); > >> + clk_set_rate(pck1, 25000000); > >> + clk_enable(pck1); > > > you must not enable the clock always > > > you must enable it just when you need it > > > and manage the clock at the board level really so so > > I see, I will move such clock code to atmel_isi.c driver and add clock name, clock frequence to isi_platform_data structure in next version. no you miss the idea bind the clkdev you manage the clock at soc level and then only if it's mandatory at board level for the clock rate you pass it to the driver and let the driver manage when it want to enable/disable the clock the driver need to have a abtraction of the clock constraint and just request it and use it Best Regards, J. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html