summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2013-07-22 13:33:07 +0300
committerZhang zhengguang <zhengguang.zhang@intel.com>2013-10-28 13:05:46 +0800
commitd172723e26e6d87d6224181ae7251dd6a9d41a19 (patch)
tree95058008b9fcf24780624361a14506a64aabd2d4
parent03a0244b88d4f86807aa8b1bb5c7b1a21b489c2a (diff)
downloadconnman-d172723e26e6d87d6224181ae7251dd6a9d41a19.tar.gz
connman-d172723e26e6d87d6224181ae7251dd6a9d41a19.tar.bz2
connman-d172723e26e6d87d6224181ae7251dd6a9d41a19.zip
Tethering/Upstream: ethernet: Create USB gadget device driver
We need to create the device driver for USB gadget device, otherwise the Gadget technology will not be created correctly. Upstream commit Id: be294f9dd48b896d0e404a4a203252f088ff452b Change-Id: Ifa21d2bc9641e6eb24f2417a78d35f8b68d26bcb
-rw-r--r--plugins/ethernet.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/plugins/ethernet.c b/plugins/ethernet.c
index eb242cac..4f23e752 100644
--- a/plugins/ethernet.c
+++ b/plugins/ethernet.c
@@ -226,6 +226,35 @@ static struct connman_device_driver ethernet_driver = {
.disable = ethernet_disable,
};
+static int gadget_probe(struct connman_device *device)
+{
+ DBG("device %p", device);
+ return 0;
+}
+static void gadget_remove(struct connman_device *device)
+{
+ DBG("device %p", device);
+}
+static int gadget_enable(struct connman_device *device)
+{
+ DBG("device %p", device);
+ return 0;
+}
+static int gadget_disable(struct connman_device *device)
+{
+ DBG("device %p", device);
+ return 0;
+}
+
+static struct connman_device_driver gadget_driver = {
+ .name = "gadget",
+ .type = CONNMAN_DEVICE_TYPE_GADGET,
+ .probe = gadget_probe,
+ .remove = gadget_remove,
+ .enable = gadget_enable,
+ .disable = gadget_disable,
+};
+
static GList *cdc_interface_list = NULL;
static void tech_add_interface(struct connman_technology *technology,
@@ -453,6 +482,14 @@ static int ethernet_init(void)
return err;
}
+ err = connman_device_driver_register(&gadget_driver);
+ if (err < 0) {
+ connman_technology_driver_unregister(&tech_driver);
+ connman_device_driver_unregister(&ethernet_driver);
+ connman_network_driver_unregister(&cable_driver);
+ return err;
+ }
+
return 0;
}
@@ -465,6 +502,8 @@ static void ethernet_exit(void)
connman_network_driver_unregister(&cable_driver);
connman_device_driver_unregister(&ethernet_driver);
+
+ connman_device_driver_unregister(&gadget_driver);
}
CONNMAN_PLUGIN_DEFINE(ethernet, "Ethernet interface plugin", VERSION,