dm9000: Support MAC address setting through platform data.
The dm9000 driver reads the chip's MAC address from the attached EEPROM. When no EEPROM is present, or when the MAC address is invalid, it falls back to reading the address from the chip. This patch lets platform code set the desired MAC address through platform data. Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
9a5d341420
commit
fe41424855
@ -1374,6 +1374,11 @@ dm9000_probe(struct platform_device *pdev)
|
||||
for (i = 0; i < 6; i += 2)
|
||||
dm9000_read_eeprom(db, i / 2, ndev->dev_addr+i);
|
||||
|
||||
if (!is_valid_ether_addr(ndev->dev_addr) && pdata != NULL) {
|
||||
mac_src = "platform data";
|
||||
memcpy(ndev->dev_addr, pdata->dev_addr, 6);
|
||||
}
|
||||
|
||||
if (!is_valid_ether_addr(ndev->dev_addr)) {
|
||||
/* try reading from mac */
|
||||
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
struct dm9000_plat_data {
|
||||
unsigned int flags;
|
||||
unsigned char dev_addr[6];
|
||||
|
||||
/* allow replacement IO routines */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user