[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