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)?

Thanks,
 Joachim
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to