[PATCH 2/5] dm9000: allow to specify that no srom is present
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sun Aug 22 23:33:52 EDT 2010
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
arch/arm/boards/scb9328/scb9328.c | 1 +
drivers/net/dm9000.c | 3 ++-
include/dm9000.h | 1 +
3 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/arch/arm/boards/scb9328/scb9328.c b/arch/arm/boards/scb9328/scb9328.c
index e781393..3c04996 100644
--- a/arch/arm/boards/scb9328/scb9328.c
+++ b/arch/arm/boards/scb9328/scb9328.c
@@ -55,6 +55,7 @@ static struct dm9000_platform_data dm9000_data = {
.iobase = 0x16000000,
.iodata = 0x16000004,
.buswidth = DM9000_WIDTH_16,
+ .srom = 1;
};
static struct device_d dm9000_dev = {
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 2062c66..ab06735 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -498,8 +498,9 @@ static int dm9000_probe(struct device_d *dev)
edev->send = dm9000_eth_send;
edev->recv = dm9000_eth_rx;
edev->halt = dm9000_eth_halt;
- edev->get_ethaddr = dm9000_get_ethaddr;
edev->set_ethaddr = dm9000_set_ethaddr;
+ if (pdata->srom)
+ edev->get_ethaddr = dm9000_get_ethaddr;
/* RESET device */
dm9000_reset(priv);
diff --git a/include/dm9000.h b/include/dm9000.h
index 3cc5235..b4a04b1 100644
--- a/include/dm9000.h
+++ b/include/dm9000.h
@@ -10,6 +10,7 @@ struct dm9000_platform_data {
unsigned long iobase;
unsigned long iodata;
int buswidth;
+ int srom;
};
#endif /* __DM9000_H__ */
--
1.7.1
More information about the barebox
mailing list