]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/usb/gadget/u_ether.h
e1000: Add support for the CE4100 reference platform
[karo-tx-linux.git] / drivers / usb / gadget / u_ether.h
index fd55f450bc0e02e88afb55980c12008a073aacb4..b56e1e7d423c0ff531b3f1a594312a293f1db18a 100644 (file)
@@ -62,6 +62,10 @@ struct gether {
 
        /* hooks for added framing, as needed for RNDIS and EEM. */
        u32                             header_len;
+       /* NCM requires fixed size bundles */
+       bool                            is_fixed;
+       u32                             fixed_out_len;
+       u32                             fixed_in_len;
        struct sk_buff                  *(*wrap)(struct gether *port,
                                                struct sk_buff *skb);
        int                             (*unwrap)(struct gether *port,
@@ -93,13 +97,6 @@ static inline bool can_support_ecm(struct usb_gadget *gadget)
        if (!gadget_supports_altsettings(gadget))
                return false;
 
-       /* SA1100 can do ECM, *without* status endpoint ... but we'll
-        * only use it in non-ECM mode for backwards compatibility
-        * (and since we currently require a status endpoint)
-        */
-       if (gadget_is_sa1100(gadget))
-               return false;
-
        /* Everything else is *presumably* fine ... but this is a bit
         * chancy, so be **CERTAIN** there are no hardware issues with
         * your controller.  Add it above if it can't handle CDC.
@@ -110,6 +107,7 @@ static inline bool can_support_ecm(struct usb_gadget *gadget)
 /* each configuration may bind one instance of an ethernet link */
 int geth_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]);
 int ecm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]);
+int ncm_bind_config(struct usb_configuration *c, u8 ethaddr[ETH_ALEN]);
 int eem_bind_config(struct usb_configuration *c);
 
 #ifdef USB_ETH_RNDIS