Hi Andrew, On Wed, Aug 12, 2015 at 12:24 PM, Andrew Ruder <andrew.ru...@elecsyscorp.com> wrote: > Currently this argument is not used. To eventually support multiple > DM9000's these public-facing functions will need a new argument - the > ethernet device. Fix-up the one board using this part of the DM9000 > API. Compile-tested only. > > Signed-off-by: Andrew Ruder <andrew.ru...@elecsyscorp.com> > Cc: Joe Hershberger <joe.hershber...@gmail.com> > --- > board/trizepsiv/eeprom.c | 5 +++-- > drivers/net/dm9000x.c | 6 +++--- > include/dm9000.h | 6 ++++-- > 3 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/board/trizepsiv/eeprom.c b/board/trizepsiv/eeprom.c > index 1318edc..d9045dd 100644 > --- a/board/trizepsiv/eeprom.c > +++ b/board/trizepsiv/eeprom.c > @@ -8,6 +8,7 @@ > #include <common.h> > #include <command.h> > #include <dm9000.h> > +#include <net.h> > > static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, > char * const argv[]) { > unsigned int i; > @@ -16,7 +17,7 @@ static int do_read_dm9000_eeprom ( cmd_tbl_t *cmdtp, int > flag, int argc, char * > for (i=0; i < 0x40; i++) { > if (!(i % 0x10)) > printf("\n%08x:", i); > - dm9000_read_srom_word(i, data); > + dm9000_read_srom_word(eth_get_dev_by_index(0), i, data); > printf(" %02x%02x", data[1], data[0]); > } > printf ("\n"); > @@ -35,7 +36,7 @@ static int do_write_dm9000_eeprom ( cmd_tbl_t *cmdtp, int > flag, int argc, char * > printf("Wrong offset : 0x%x\n",offset); > return cmd_usage(cmdtp); > } > - dm9000_write_srom_word(offset, value); > + dm9000_write_srom_word(eth_get_dev_by_index(0), offset, value); > return (0); > } > > diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c > index 258c8a3..e1a10b5 100644 > --- a/drivers/net/dm9000x.c > +++ b/drivers/net/dm9000x.c > @@ -528,7 +528,7 @@ static int dm9000_rx(struct eth_device *netdev) > Read a word data from SROM > */ > #if !defined(CONFIG_DM9000_NO_SROM) > -void dm9000_read_srom_word(int offset, u8 *to) > +void dm9000_read_srom_word(struct eth_device *dev, int offset, u8 *to) > { > DM9000_iow(DM9000_EPAR, offset); > DM9000_iow(DM9000_EPCR, 0x4); > @@ -538,7 +538,7 @@ void dm9000_read_srom_word(int offset, u8 *to) > to[1] = DM9000_ior(DM9000_EPDRH); > } > > -void dm9000_write_srom_word(int offset, u16 val) > +void dm9000_write_srom_word(struct eth_device *dev, int offset, u16 val) > { > DM9000_iow(DM9000_EPAR, offset); > DM9000_iow(DM9000_EPDRH, ((val >> 8) & 0xff)); > @@ -554,7 +554,7 @@ static void dm9000_get_enetaddr(struct eth_device *dev) > #if !defined(CONFIG_DM9000_NO_SROM) > int i; > for (i = 0; i < 3; i++) > - dm9000_read_srom_word(i, dev->enetaddr + (2 * i)); > + dm9000_read_srom_word(dev, i, dev->enetaddr + (2 * i)); > #endif > } > > diff --git a/include/dm9000.h b/include/dm9000.h > index 42b04fa..7a7e629 100644 > --- a/include/dm9000.h > +++ b/include/dm9000.h > @@ -10,8 +10,10 @@ > > /****************** function prototypes **********************/ > #if !defined(CONFIG_DM9000_NO_SROM) > -void dm9000_write_srom_word(int offset, u16 val); > -void dm9000_read_srom_word(int offset, u8 *to); > +struct eth_device; > + > +void dm9000_write_srom_word(struct eth_device *dev, int offset, u16 val); > +void dm9000_read_srom_word(struct eth_device *dev, int offset, u8 *to);
It will be better to pass the dm9000_priv* instead. See patch 5 for details. > #endif > > #endif /* __DM9000_H__ */ > -- > 2.1.4 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot