Skip to contentSkip to conversation

usb: eth: asix88179: add ability to modify MAC address

PATCH Superseded Rene Griessl 3 participants 5 messages Jan 12, 2015 USB

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 usb: eth: asix88179: add ability to modify MAC address

This patch enables U-Boot to modify the MAC address of the AX88179. Tested on RECS5250 (similar to Arndale5250)

---

Changes for v2:
- removed memcpy

 drivers/usb/eth/asix88179.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
drivers/usb/eth/asix88179.c +14 -0
index b8ca720..0ef85db 100644
@@ -271,6 +271,19 @@ static int asix_read_mac(struct eth_device *eth)
 	return 0;
 }
 
+static int asix_write_mac(struct eth_device *eth)
+{
+	struct ueth_data *dev = (struct ueth_data *)eth->priv;
+	int ret;
+
+	ret = asix_write_cmd(dev, AX_ACCESS_MAC, AX_NODE_ID, ETH_ALEN,
+				 ETH_ALEN, eth->enetaddr);
+	if (ret < 0)
+		debug("Failed to set MAC address: %02x\n", ret);
+
+	return ret;
+}
+
 static int asix_basic_reset(struct ueth_data *dev)
 {
 	struct asix_private *dev_priv = (struct asix_private *)dev->dev_priv;
@@ -686,6 +699,7 @@ int ax88179_eth_get_info(struct usb_device *dev, struct ueth_data *ss,
 	eth->send = asix_send;
 	eth->recv = asix_recv;
 	eth->halt = asix_halt;
+	eth->write_hwaddr = asix_write_mac;
 	eth->priv = ss;
 
 	if (asix_basic_reset(ss))
Signature · 1 line
1.9.1
#1 lore raw

PATCH v2 1/1 usb: eth: asix88179: add ability to modify MAC address

Quoted 8 lines · Rene Griessl

This patch enables U-Boot to modify the MAC address of the AX88179. Tested on RECS5250 (similar to Arndale5250)

---

Changes for v2:
- removed memcpy

Hi!

what was the reason for the memcpy() in the first place please ?

Otherwise,

Best regards,
Marek Vasut

#2 lore raw

PATCH v2 1/1 usb: eth: asix88179: add ability to modify MAC address

Am 12.01.2015 um 17:54 schrieb Marek Vasut:

Quoted 12 lines · Rene Griessl
Quoted 8 lines

This patch enables U-Boot to modify the MAC address of the AX88179. Tested on RECS5250 (similar to Arndale5250)

---

Changes for v2:
- removed memcpy

Hi!

what was the reason for the memcpy() in the first place please ?

I copied the function from the asix.c driver. There it is needed for the cache aligned buffer.
But in this case the alignment is already implemented in the write function. So you were right, it is not needed here!

Quoted 6 lines

Otherwise,

Best regards,
Marek Vasut

Signature · 13 lines
--------------------------------------------------------

Dipl.-Ing. Ren? Griessl
Universit?t Bielefeld
AG Kognitronik & Sensorik
Exzellenzcluster Cognitive Interaction Technology (CITEC)
Inspiration 1 (Zehlendorfer Damm 199)
33615 Bielefeld

Telefon : +49 521-106-67362
Fax     : +49 521-106-12348
eMail   : rgriessl at cit-ec.uni-bielefeld.de
Internet: http://www.ks.cit-ec.uni-bielefeld.de/
#3 lore raw

PATCH v2 1/1 usb: eth: asix88179: add ability to modify MAC address

Quoted 11 lines · Ren? Griessl

Am 12.01.2015 um 17:54 schrieb Marek Vasut:

Quoted 10 lines · Rene Griessl
Quoted 8 lines

This patch enables U-Boot to modify the MAC address of the AX88179. Tested on RECS5250 (similar to Arndale5250)

---

Changes for v2:
- removed memcpy

Quoted 8 lines
Quoted 3 lines

Hi!

what was the reason for the memcpy() in the first place please ?

I copied the function from the asix.c driver. There it is needed for the cache aligned buffer.
But in this case the alignment is already implemented in the write function. So you were right, it is not needed here!

OK, thanks!

Applied to u-boot-usb/next , thanks!

Best regards,
Marek Vasut

#4 lore raw

PATCH v2 1/1 usb: eth: asix88179: add ability to modify MAC address

Quoted 17 lines · Marek Vasut
Quoted 15 lines · Ren? Griessl

Am 12.01.2015 um 17:54 schrieb Marek Vasut:

Quoted 13 lines · Rene Griessl
Quoted 8 lines

This patch enables U-Boot to modify the MAC address of the AX88179. Tested on RECS5250 (similar to Arndale5250)

---

Changes for v2:
- removed memcpy

Hi!

what was the reason for the memcpy() in the first place please ?

Quoted 8 lines
Quoted 4 lines

I copied the function from the asix.c driver. There it is needed for the cache aligned buffer.
But in this case the alignment is already implemented in the write function. So you were right, it is not needed here!

OK, thanks!

Applied to u-boot-usb/next , thanks!

Looks good... Thanks, guys!

-Joe