[U-Boot-Users] soft_i2c

Christian Hohnstaedt chohnstaedt at innominate.com
Fri Apr 23 16:05:43 CEST 2004


On Fri, Apr 23, 2004 at 04:07:28PM +0200, Wolfgang Denk wrote:
> In message <20040423153814.B8298 at gateway.bln.innominate.local> you wrote:
> > 
> > +#ifdef	CONFIG_MPC8260
	> > +  #define DECLARE_I2C_PORT volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
	> > +#endif
> > +#ifdef	CONFIG_8xx
> > +  #define DECLARE_I2C_PORT volatile immap_t *immr = (immap_t *)CFG_IMMR;
> > +#endif
> > +
> >  /* #define	DEBUG_I2C	*/
> >  
> >  
> > @@ -75,12 +83,8 @@
> >   */
> >  static void send_reset(void)
> >  {
> > -#ifdef	CONFIG_MPC8260
> > -	volatile ioport_t *iop = ioport_addr((immap_t *)CFG_IMMR, I2C_PORT);
> > -#endif
> > -#ifdef	CONFIG_8xx
> > -	volatile immap_t *immr = (immap_t *)CFG_IMMR;
> > -#endif
> > +	DECLARE_I2C_PORT
> > +		
> 
> Do you really think this is more readable and more general?


Yes, absoluteley - and if _MPC8260 and _8xx declare their port
  #define DECLARE_I2C_PORT ........
in their board-configuration file the soft_i2c.c is board independend
and other boards can easily use it .....

In the old version he has to add 6 times the same #ifdef s
This is ugly copy&paste programming in my eyes.

Your mileage my vary...

(the hardware.h is really obsolete....)

> 
> To me this is not worth the change.
> 
> Best regards,
> 
> Wolfgang Denk
> 
> -- 
> Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
> Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
> Beware of the Turing Tar-pit in  which  everything  is  possible  but
> nothing of interest is easy.

-- 
Christian Hohnstaedt                   Innominate Security Technologies AG
software engineer                      networking people
tel: +49.30.6392-3308                  http://www.innominate.com




More information about the U-Boot mailing list