diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2013-07-22 13:33:07 +0300 |
---|---|---|
committer | Zhang zhengguang <zhengguang.zhang@intel.com> | 2013-10-28 13:05:46 +0800 |
commit | d172723e26e6d87d6224181ae7251dd6a9d41a19 (patch) | |
tree | 95058008b9fcf24780624361a14506a64aabd2d4 | |
parent | 03a0244b88d4f86807aa8b1bb5c7b1a21b489c2a (diff) | |
download | connman-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.c | 39 |
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(ðernet_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(ðernet_driver); + + connman_device_driver_unregister(&gadget_driver); } CONNMAN_PLUGIN_DEFINE(ethernet, "Ethernet interface plugin", VERSION, |