summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2009-10-21 16:30:38 +0200
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2010-08-23 11:20:21 +0800
commit54d6627f02456234299068b4391406023eca5a56 (patch)
treebb3a0b783b68f7cfeb4e93e0f1b36ac84fdd2b64
parent8a902870f7dd5b48101261ba4c935ba3b30fa31b (diff)
downloadbarebox-54d6627f02456234299068b4391406023eca5a56.tar.gz
barebox-54d6627f02456234299068b4391406023eca5a56.tar.xz
dm9000: allow to specify that no srom is present
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
-rw-r--r--arch/arm/boards/scb9328/scb9328.c1
-rw-r--r--drivers/net/dm9000.c3
-rw-r--r--include/dm9000.h1
3 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/boards/scb9328/scb9328.c b/arch/arm/boards/scb9328/scb9328.c
index e781393eae..3c04996254 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 2062c6669c..ab0673569e 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 3cc52356b2..b4a04b1e63 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__ */