Kim Phillips wrote:
On Tue, 08 Jul 2008 16:35:00 +0200
Andre Schwarz <andre.schwarz@matrix-vision.de> wrote:

  
Kim,

I forgot to mention that both fpga.c are _not_ the same.
They are using different FPGA sizes _and_ different I/Os on different cpu.
    

the size is a one-line thing that can be easily and understandably
#ifdeffed.  The gpio struct difference can be fixed like this:

static u32 get_dvo()
{
#ifdef CONFIG_MPC83XX
       volatile immap_t *im = (volatile immap_t *)CFG_IMMR;
       volatile gpio83xx_t *gpio = (volatile gpio83xx_t *)&im->gpio[0];
       return gpio->dat;
#else
#ifdef CONFIG_MPC5XXX
       struct mpc5xxx_gpio *gpio = (struct mpc5xxx_gpio*)MPC5XXX_GPIO;
       return gpio->simple_dvo;
#endif
#endif
}

...and subsequently use get_dvo() later in the file.

  
ok - you're right.
Will fix it along with other out_* issues.

  
It's not possible for me to use a common file for the short term.
Maybe later when the FPGA interface got mature ...
    

I really think code maintenance will suffer if you don't do it now;
afaict, the file is functionally equal modulo the size one-liner.

Kim
  
yes - thanks for persuading :-)


MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner