sr9800.c (e700ac213a0f793fb4f83098413303e3dd080892) | sr9800.c (2674e7ea22ba0e22a2d1603bd51e0b8f6442a267) |
---|---|
1/* CoreChip-sz SR9800 one chip USB 2.0 Ethernet Devices 2 * 3 * Author : Liu Junliang <liujunliang_ljl@163.com> 4 * 5 * Based on asix_common.c, asix_devices.c 6 * 7 * This file is licensed under the terms of the GNU General Public License 8 * version 2. This program is licensed "as is" without any warranty of any --- 489 unchanged lines hidden (view full) --- 498 struct sr_data *data = (struct sr_data *)&dev->data; 499 struct sockaddr *addr = p; 500 501 if (netif_running(net)) 502 return -EBUSY; 503 if (!is_valid_ether_addr(addr->sa_data)) 504 return -EADDRNOTAVAIL; 505 | 1/* CoreChip-sz SR9800 one chip USB 2.0 Ethernet Devices 2 * 3 * Author : Liu Junliang <liujunliang_ljl@163.com> 4 * 5 * Based on asix_common.c, asix_devices.c 6 * 7 * This file is licensed under the terms of the GNU General Public License 8 * version 2. This program is licensed "as is" without any warranty of any --- 489 unchanged lines hidden (view full) --- 498 struct sr_data *data = (struct sr_data *)&dev->data; 499 struct sockaddr *addr = p; 500 501 if (netif_running(net)) 502 return -EBUSY; 503 if (!is_valid_ether_addr(addr->sa_data)) 504 return -EADDRNOTAVAIL; 505 |
506 memcpy(net->dev_addr, addr->sa_data, ETH_ALEN); | 506 eth_hw_addr_set(net, addr->sa_data); |
507 508 /* We use the 20 byte dev->data 509 * for our 6 byte mac buffer 510 * to avoid allocating memory that 511 * is tricky to free later 512 */ 513 memcpy(data->mac_addr, addr->sa_data, ETH_ALEN); 514 sr_write_cmd_async(dev, SR_CMD_WRITE_NODE_ID, 0, 0, ETH_ALEN, --- 211 unchanged lines hidden (view full) --- 726 return 0; 727} 728 729static int sr9800_bind(struct usbnet *dev, struct usb_interface *intf) 730{ 731 struct sr_data *data = (struct sr_data *)&dev->data; 732 u16 led01_mux, led23_mux; 733 int ret, embd_phy; | 507 508 /* We use the 20 byte dev->data 509 * for our 6 byte mac buffer 510 * to avoid allocating memory that 511 * is tricky to free later 512 */ 513 memcpy(data->mac_addr, addr->sa_data, ETH_ALEN); 514 sr_write_cmd_async(dev, SR_CMD_WRITE_NODE_ID, 0, 0, ETH_ALEN, --- 211 unchanged lines hidden (view full) --- 726 return 0; 727} 728 729static int sr9800_bind(struct usbnet *dev, struct usb_interface *intf) 730{ 731 struct sr_data *data = (struct sr_data *)&dev->data; 732 u16 led01_mux, led23_mux; 733 int ret, embd_phy; |
734 u8 addr[ETH_ALEN]; |
|
734 u32 phyid; 735 u16 rx_ctl; 736 737 data->eeprom_len = SR9800_EEPROM_LEN; 738 739 usbnet_get_endpoints(dev, intf); 740 741 /* LED Setting Rule : --- 7 unchanged lines hidden (view full) --- 749 led23_mux = (SR_LED_MUX_LINK_ACTIVE << 8) | SR_LED_MUX_TX_ACTIVE; 750 ret = sr_write_cmd(dev, SR_CMD_LED_MUX, led01_mux, led23_mux, 0, NULL); 751 if (ret < 0) { 752 netdev_err(dev->net, "set LINK LED failed : %d\n", ret); 753 goto out; 754 } 755 756 /* Get the MAC address */ | 735 u32 phyid; 736 u16 rx_ctl; 737 738 data->eeprom_len = SR9800_EEPROM_LEN; 739 740 usbnet_get_endpoints(dev, intf); 741 742 /* LED Setting Rule : --- 7 unchanged lines hidden (view full) --- 750 led23_mux = (SR_LED_MUX_LINK_ACTIVE << 8) | SR_LED_MUX_TX_ACTIVE; 751 ret = sr_write_cmd(dev, SR_CMD_LED_MUX, led01_mux, led23_mux, 0, NULL); 752 if (ret < 0) { 753 netdev_err(dev->net, "set LINK LED failed : %d\n", ret); 754 goto out; 755 } 756 757 /* Get the MAC address */ |
757 ret = sr_read_cmd(dev, SR_CMD_READ_NODE_ID, 0, 0, ETH_ALEN, 758 dev->net->dev_addr); | 758 ret = sr_read_cmd(dev, SR_CMD_READ_NODE_ID, 0, 0, ETH_ALEN, addr); |
759 if (ret < 0) { 760 netdev_dbg(dev->net, "Failed to read MAC address: %d\n", ret); 761 return ret; 762 } | 759 if (ret < 0) { 760 netdev_dbg(dev->net, "Failed to read MAC address: %d\n", ret); 761 return ret; 762 } |
763 eth_hw_addr_set(dev->net, addr); |
|
763 netdev_dbg(dev->net, "mac addr : %pM\n", dev->net->dev_addr); 764 765 /* Initialize MII structure */ 766 dev->mii.dev = dev->net; 767 dev->mii.mdio_read = sr_mdio_read; 768 dev->mii.mdio_write = sr_mdio_write; 769 dev->mii.phy_id_mask = 0x1f; 770 dev->mii.reg_num_mask = 0x1f; --- 104 unchanged lines hidden --- | 764 netdev_dbg(dev->net, "mac addr : %pM\n", dev->net->dev_addr); 765 766 /* Initialize MII structure */ 767 dev->mii.dev = dev->net; 768 dev->mii.mdio_read = sr_mdio_read; 769 dev->mii.mdio_write = sr_mdio_write; 770 dev->mii.phy_id_mask = 0x1f; 771 dev->mii.reg_num_mask = 0x1f; --- 104 unchanged lines hidden --- |