On Wed, Dec 01, 2010 at 02:25:43PM +0100, Joachim Foerster wrote: >Hi all, > >currently I'm wondering what the preferred/recommend way of >_extending_ an existing "Platform support" option is? > >We are working with custom design/boards based on Virtex4/5. So we >are primarily using the CONFIG_XILINX_VIRTEX*_GENERIC_BOARD options. >In our case we have some special needs, like custom ppc_md.restart(), >ppc_md.power_off() or ppc_md.show_cpuinfo(). > >Till now, we just duplicated arch/powerpc/platforms/4?x/virtex.c and >added our special stuff. Properly renaming everything, etc ... > >An alternative could be to add a virtex_my.c which extends virtex.c, like this >(also like virtex_ml510.c extends virtex.c): > >static void virtex_my_show_cpuinfo(struct seq_file *m) >{ > seq_printf(m, something); >} > >static int __init virtex_mle_init(void) >{ > ppc_md.show_cpuinfo = virtex_my_show_cpuinfo; > return 0; >} >machine_core_initcall(virtex, virtex_my_init); > >Though, to me, it does not seem really OK to assign ppc_md members >that way. The original struct machdep for "virtex" (which is defined >in virtex.c with define_machine()) is not adjusted either. Ok, we >could modify that one, too. >Especially I'm not sure if it is OK to use machine_core_initcall() for such >modifications. > >So my question is: Is there any recommended way for doing such >"extensions"? Or is it OK to just duplicate virtex.c (which does not >seem really OK, too)?
Duplicate it as you have done, naming the file something unique. We try to prevent unnecessary duplication of code, but sometimes it's cleaner to just have a separate board file instead. josh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev