summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/ecm.h
diff options
context:
space:
mode:
authorMichael Brown2015-02-16 15:06:27 +0100
committerMichael Brown2015-02-17 02:21:54 +0100
commit5b9b5ced4e4b589af1d0077ef35f5c82e7d7d2e5 (patch)
treec7b5b95d5975aa13523fa089861eca265faf4148 /src/drivers/net/ecm.h
parent[usb] Add generic USB network device framework (diff)
downloadipxe-5b9b5ced4e4b589af1d0077ef35f5c82e7d7d2e5.tar.gz
ipxe-5b9b5ced4e4b589af1d0077ef35f5c82e7d7d2e5.tar.xz
ipxe-5b9b5ced4e4b589af1d0077ef35f5c82e7d7d2e5.zip
[ecm] Use generic USB network device framework
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/ecm.h')
-rw-r--r--src/drivers/net/ecm.h27
1 files changed, 3 insertions, 24 deletions
diff --git a/src/drivers/net/ecm.h b/src/drivers/net/ecm.h
index 9d9aad52..55593a79 100644
--- a/src/drivers/net/ecm.h
+++ b/src/drivers/net/ecm.h
@@ -10,23 +10,12 @@
FILE_LICENCE ( GPL2_OR_LATER );
#include <ipxe/usb.h>
+#include <ipxe/usbnet.h>
#include <ipxe/cdc.h>
/** CDC-ECM subclass */
#define USB_SUBCLASS_CDC_ECM 0x06
-/** CDC-ECM interfaces */
-enum ecm_interfaces {
- /** Communications interface */
- ECM_INTERFACE_COMMS = 0,
- /** Data interface */
- ECM_INTERFACE_DATA,
- ECM_INTERFACE_COUNT
-};
-
-/** Alternate setting for CDC-ECM data interface */
-#define ECM_DATA_ALTERNATE 1
-
/** Set Ethernet packet filter */
#define ECM_SET_ETHERNET_PACKET_FILTER \
( USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE | \
@@ -72,18 +61,8 @@ struct ecm_device {
struct usb_bus *bus;
/** Network device */
struct net_device *netdev;
-
- /** Communications interface */
- unsigned int comms;
- /** Data interface */
- unsigned int data;
-
- /** Interrupt endpoint */
- struct usb_endpoint intr;
- /** Bulk IN endpoint */
- struct usb_endpoint in;
- /** Bulk OUT endpoint */
- struct usb_endpoint out;
+ /** USB network device */
+ struct usbnet_device usbnet;
};
/** Interrupt maximum fill level