diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/gadget/u_ether.c | 9 | ||||
-rw-r--r-- | drivers/usb/gadget/u_ether.h | 10 |
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/usb/gadget/u_ether.c b/drivers/usb/gadget/u_ether.c index 6d3ccdc09e1..2aae0d61bb1 100644 --- a/drivers/usb/gadget/u_ether.c +++ b/drivers/usb/gadget/u_ether.c @@ -963,6 +963,15 @@ int gether_get_host_addr_cdc(struct net_device *net, char *host_addr, int len) } EXPORT_SYMBOL(gether_get_host_addr_cdc); +void gether_get_host_addr_u8(struct net_device *net, u8 host_mac[ETH_ALEN]) +{ + struct eth_dev *dev; + + dev = netdev_priv(net); + memcpy(host_mac, dev->host_mac, ETH_ALEN); +} +EXPORT_SYMBOL(gether_get_host_addr_u8); + void gether_set_qmult(struct net_device *net, unsigned qmult) { struct eth_dev *dev; diff --git a/drivers/usb/gadget/u_ether.h b/drivers/usb/gadget/u_ether.h index 1671a7963d0..5efa657cf46 100644 --- a/drivers/usb/gadget/u_ether.h +++ b/drivers/usb/gadget/u_ether.h @@ -210,6 +210,16 @@ int gether_get_host_addr(struct net_device *net, char *host_addr, int len); int gether_get_host_addr_cdc(struct net_device *net, char *host_addr, int len); /** + * gether_get_host_addr_u8 - get an ethernet-over-usb link host address + * @net: device representing this link + * @host_mac: place to store the eth address of the host + * + * This gets the binary formatted host-side Ethernet address of this + * ethernet-over-usb link. + */ +void gether_get_host_addr_u8(struct net_device *net, u8 host_mac[ETH_ALEN]); + +/** * gether_set_qmult - initialize an ethernet-over-usb link with a multiplier * @net: device representing this link * @qmult: queue multiplier |